Retrofit observe обратится к response
1я часть кода отправляет 10 изображений через цикл и получает 10 response.isSuccessful . А 2я часть кода начинает выполнятся сразу не дожидаясь response.isSuccessful. Как мне выполнить 2ю часть кода именно после 10 response.isSuccessful не запихивая ее в цикл, обратиться к response.isSuccessful вне observer я не могу
for (i in 0..countUri - 1) {
var imageUri: Uri = data.clipData!!.getItemAt(i).uri
val imageStream: InputStream? = getContentResolver().openInputStream(imageUri)
val selectedImage = BitmapFactory.decodeStream(imageStream)
val baos = ByteArrayOutputStream()
selectedImage.compress(Bitmap.CompressFormat.JPEG, 100, baos)
val b = baos.toByteArray()
val encodedString: String = Base64.encodeToString(b,Base64.DEFAULT)
val repository = Repository()
val vieModelFactory = MainViewModelFactory(repository)
val myPostSF = send_photo(encodedString, name)
viewModel = ViewModelProvider(this, vieModelFactory).get(MainViewModel::class.java)
viewModel.pushPostSF(myPostSF)
viewModel.myResponseSF.observe(this, Observer { response ->
if(response.isSuccessful){
Log.d("image: ", response.code().toString())
}
} else{
Log.d("Image send ERR", response.toString())
}})
}
// 2я часть кода
val repository = Repository()
val vieModelFactory = MainViewModelFactory(repository)
val myPostPreproc = preprocess(
1, "images/$name", "images/$name/out", 512, 512, "ignore", false, false, true
)
viewModel = ViewModelProvider(this, vieModelFactory).get(MainViewModel::class.java)
viewModel.pushPostPreproc(myPostPreproc)
viewModel.myResponsePreproc.observe(this, Observer { response ->
if (response.isSuccessful) {
Log.d("Preprocess successful ", response.code().toString())
viewModel.myResponsePreproc.removeObservers(this)
} else {
Log.d("Preprocess ERR", response.toString()) }
})