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()) }
                })
            

Ответы (0 шт):