Anko doAsync не был запущен при первом запуске приложения - PullRequest
0 голосов
/ 28 апреля 2019

Я загружаю некоторую информацию в асинхронном режиме следующим образом:

    doAsync {
        val car = initCar()
        onComplete {
            Log.e("async", "fired")
            loadedCar = car
            loadCarView()
        }
    }

loadedCar - это простая CarModel и функция initCar() возвращает уже инициализированную CarModel.

private fun initCar(): Car {
    fromVoid = intent.extras == null || intent.extras!!.isEmpty || !intent.hasExtra("car_id")
    val car = Car()
    if (fromVoid) {
        car.name = ""
        car.model = ""
        dbManager.add(car)
        car.id = dbManager.latestInsertId
    } else {
        car.id = intent.getLongExtra("car_id", -1)
        car.name = intent.getStringExtra("car_name")
        car.model = intent.getStringExtra("car_model")
    }
    return car
}

и loadCarView() просто вставляет textViews и EditTexts ...

Проблема заключается в том, что после установки приложения и открытия этого действия оно не запускается doAsync функция, но как только я перезапускаю приложение, оно работает ... Я имею в виду, что я тестировал несколько раз, и это обычно так.

PS также хочу отметить, что приложение изначально не было написано на kotlin ибыл преобразован, если что-то дает ...

...