org.kodein.di.Kodein $ NotFoundException: No binding found for bindApixuWeatherApiService () with? {? }

0

I'm doing an Android project using Android Studion 3.3 Canary that uses Kodein and when I run it I get the following error:

Caused by: org.kodein.di.Kodein$NotFoundException: No binding found for bind<ApixuWeatherApiService>() with ? { ? }
Registered in this Kodein container:
    bind<ElTiempoRepository>() with singleton { ElTiempoRepositoryImpl }
    bind<TiempoNetworkDataSource>() with singleton { TiempoNetworkDataSourceImpl }
    bind<TiempoActualDao>() with singleton { TiempoActualDao }
    bind<ConnectivityInterceptor>() with singleton { ConnectivityInterceptorImpl }
    bind<TiempoAcutalViewModelFactory>() with provider { TiempoAcutalViewModelFactory }
    bind<ApixuWeatherApiService.Companion>() with singleton { ApixuWeatherApiService.Companion }
    bind<ElTiempoDatabase>() with singleton { ElTiempoDatabase }
    module ⁣androidModule {
        bind<ConsumerIrManager>() with provider { ConsumerIrManager }
        bind<PowerManager>() with provider { PowerManager }
        bind<UsageStatsManager>() with provider { UsageStatsManager }
        bind<String>(tag = "packageCodePath") with provider { String } 
        E/AndroidRuntime: 
        bind<File>(tag = "cache") with provider { File }
        bind<AudioManager>() with provider { AudioManager }
        bind<NotificationManager>() with provider { NotificationManager }
        bind<AppWidgetManager>() with provider { AppWidgetManager }
        bind<MediaSessionManager>() with provider { MediaSessionManager }
        bind<ApplicationInfo>() with provider { ApplicationInfo }
        bind<Resources.Theme>() with provider { Resources.Theme }
        bind<File>(tag = "externalCache") with provider { File }
        bind<HardwarePropertiesManager>() with provider { HardwarePropertiesManager }
        bind<TvInputManager>() with provider { TvInputManager }
        bind<UiModeManager>() with provider { UiModeManager }
        bind<CameraManager>() with provider { CameraManager }
        bind<File>(tag = "obb") with provider { File }
        bind<BatteryManager>() with provider { BatteryManager }
        bind<ContentResolver>() with provider { ContentResolver }
        bind<KeyguardManager>() with provider { KeyguardManager }
        bind<UserManager>() with provider { UserManager }
        bind<DevicePolicyManager>() with provider { DevicePolicyManager }
        bind<SharedPreferences>() with provider { SharedPreferences }
        bind<SharedPreferences>() with factory { String -> SharedPreferences }
        bind<TelephonyManager>() with provider { TelephonyManager }
        bind<DropBoxManager>() with provider { DropBoxManager }
        bind<WifiManager>() with provider { WifiManager }
        bind<AppOpsManager>() with provider { AppOpsManager }
        bind<ClipboardManager>() with provider { ClipboardManager }
        bind<ConnectivityManager>() with provider { ConnectivityManager }
        bind<SensorManager>() with provider { SensorManager }
        bind<AccountManager>() with provider { AccountManager }
        bind<CarrierConfigManager>() with provider { CarrierConfigManager }
        bind<SearchManager>() with provider { SearchManager }
        bind<AccessibilityManager>() with provider { AccessibilityManager }
        bind<String>(tag = "packageName") with provider { String }
        bind<InputManager>() with provider { InputManager }
        bind<String>(tag = "packageResourcePath") with provider { String }
        bind<TelecomManager>() with provider { TelecomManager }
        bind<ActivityManager>() with provider { ActivityManager }
        bind<LauncherApps>() with provider { LauncherApps }
        bind<Vibrator>() with provider { Vibrator }
        bind<AssetManager>() with provider { AssetManager }
        bind<AlarmManager>() with provider { AlarmManager }
        bind<JobScheduler>() with provider { JobScheduler }
        bind<SystemHealthManager>() with provider { SystemHealthManager }
        bind<NsdManager>() with provider { NsdManager }
        bind<Set<AndroidContextGetter>>() with bindingSet { Set<AndroidContextGetter> }
        bind<DisplayManager>() with provider { DisplayManager }
        bind<PackageManager>() with provider { PackageManager }
        bind<ShortcutManager>() with provider { ShortcutManager }
        bind<MidiManager>() with provider { MidiManager }
        bind<WallpaperManager>() with provider { WallpaperManager }
        bind<Resources>() with provider { Resources }
        bind<CaptioningManager>() with provider { CaptioningManager }
        bind<NfcManager>() with provider { NfcManager }
        bind<InputMethodManager>() with provider { InputMethodManager }
        bind<LayoutInflater>() with provider { LayoutInflater }
        bind<StorageManager>() with provider { StorageManager }
        bind<RestrictionsManager>() with provider { RestrictionsManager }
        bind<PrintManager>() with provider { PrintManager }
        E/AndroidRuntime:
        bind<MediaProjectionManager>() with provider { MediaProjectionManager }
        bind<SubscriptionManager>() with provider { SubscriptionManager }
        bind<UsbManager>() with provider { UsbManager }
        bind<LocationManager>() with provider { LocationManager }
        bind<NetworkStatsManager>() with provider { NetworkStatsManager }
        bind<Looper>() with provider { Looper }
        bind<WifiP2pManager>() with provider { WifiP2pManager }
        bind<MediaRouter>() with provider { MediaRouter }
        bind<BluetoothManager>() with provider { BluetoothManager }
        bind<FingerprintManager>() with provider { FingerprintManager }
        bind<DownloadManager>() with provider { DownloadManager }
        bind<TextServicesManager>() with provider { TextServicesManager }
        bind<File>(tag = "files") with provider { File }
        bind<WindowManager>() with provider { WindowManager }
        bind<Application>() with provider { Application }
    }

    at org.kodein.di.internal.KodeinContainerImpl.factory(KodeinContainerImpl.kt:174)
    at org.kodein.di.KodeinContainer$DefaultImpls.factory$default(KodeinContainer.kt:33)
    at org.kodein.di.KodeinContainer$DefaultImpls.provider(KodeinContainer.kt:80)
    at org.kodein.di.internal.KodeinContainerImpl.provider(KodeinContainerImpl.kt:7)
    at org.kodein.di.KodeinContainer$DefaultImpls.provider$default(KodeinContainer.kt:79)
    at org.kodein.di.internal.DKodeinBaseImpl.Instance(DKodeinImpl.kt:33)
    at com.novadev.eltiempomvvm.ElTiempoApplication$kodein$1$5.invoke(ElTiempoApplication.kt:42)
    at com.novadev.eltiempomvvm.ElTiempoApplication$kodein$1$5.invoke(ElTiempoApplication.kt:19)
    at org.kodein.di.bindings.Singleton$getFactory$1$1$1.invoke(standardBindings.kt:134)
    at org.kodein.di.bindings.SingletonReference.make(references.kt:34)
    at org.kodein.di.bindings.Singleton$getFactory$1$1.invoke(standardBindings.kt:134)
    at org.kodein.di.bindings.Singleton$getFactory$1$1.invoke(standardBindings.kt:99)
    at org.kodein.di.bindings.MultiItemScopeRegistry.getOrCreate(scopes.kt:62)
    at org.kodein.di.bindings.Singleton$getFactory$1.invoke(standardBindings.kt:134)
    at org.kodein.di.bindings.Singleton$getFactory$1.invoke(standardBindings.kt:99)
    at org.kodein.di.KodeinContainer$provider$$inlined$toProvider$1.invoke(curry.kt:14)
    at org.kodein.di.internal.DKodeinBaseImpl.Instance(DKodeinImpl.kt:33)
    at com.novadev.eltiempomvvm.ElTiempoApplication$kodein$1$6.invoke(ElTiempoApplication.kt:45)
    at com.novadev.eltiempomvvm.ElTiempoApplication$kodein$1$6.invoke(ElTiempoApplication.kt:19)
    at org.kodein.di.bindings.Singleton$getFactory$1$1$1.invoke(standardBindings.kt:134)
    at org.kodein.di.bindings.SingletonReference.make(references.kt:34)
    at org.kodein.di.bindings.Singleton$getFactory$1$1.invoke(standardBindings.kt:134)
    at org.kodein.di.bindings.Singleton$getFactory$1$1.invoke(standardBindings.kt:99)
    at org.kodein.di.bindings.MultiItemScopeRegistry.getOrCreate(scopes.kt:62)
    at org.kodein.di.bindings.Singleton$getFactory$1.invoke(standardBindings.kt:134)
    at org.kodein.di.bindings.Singleton$getFactory$1.invoke(standardBindings.kt:99)
    at org.kodein.di.KodeinContainer$provider$$inlined$toProvider$1.invoke(curry.kt:14)
    at org.kodein.di.internal.DKodeinBaseImpl.Instance(DKodeinImpl.kt:33)
    at com.novadev.eltiempomvvm.ElTiempoApplication$kodein$1$7.invoke(ElTiempoApplication.kt:42)
    at com.novadev.eltiempomvvm.ElTiempoApplication$kodein$1$7.invoke(ElTiempoApplication.kt:19)
    at org.kodein.di.bindings.Provider$getFactory$1.invoke(standardBindings.kt:89)
    at org.kodein.di.bindings.Provider$getFactory$1.invoke(standardBindings.kt:83)
    at org.kodein.di.KodeinContainer$provider$$inlined$toProvider$1.invoke(curry.kt:14)
    at org.kodein.di.KodeinAwareKt$Instance$1.invoke(KodeinAware.kt:152)
    at org.kodein.di.KodeinProperty$provideDelegate$1.invoke(properties.kt:39)
    at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
    E/AndroidRuntime:
    at com.novadev.eltiempomvvm.ui.tiempo.actual.TiempoActualFragment.getViewModelFactory(Unknown Source:25)
    at com.novadev.eltiempomvvm.ui.tiempo.actual.TiempoActualFragment.onActivityCreated(TiempoActualFragment.kt:39)
    at androidx.fragment.app.Fragment.performActivityCreated(Fragment.java:2460)
    at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1483)
    at androidx.fragment.app.FragmentManagerImpl.addAddedFragments(FragmentManager.java:2646)
    at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2416)
    at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2372)
    at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2273)
    at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3273)
    at androidx.fragment.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3229)
    at androidx.fragment.app.Fragment.performActivityCreated(Fragment.java:2466)
    at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1483)
    at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
    at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
    at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3269)
    at androidx.fragment.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3229)
    at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:201)
    at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:620)
    at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:178)
    at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1335)
    at android.app.Activity.performStart(Activity.java:7043)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2755)
    ... 9 more

The code where the error is given is this (line 39):

class TiempoActualFragment : Fragment(), KodeinAware {

override val kodein by closestKodein()

private val viewModelFactory: TiempoAcutalViewModelFactory by instance()

private lateinit var viewModel: TiempoActualViewModel

override fun onCreateView(
    inflater: LayoutInflater, container: ViewGroup?,
    savedInstanceState: Bundle?
): View? {
    return inflater.inflate(R.layout.tiempo_actual_fragment, container, false)
}


 override fun onActivityCreated(savedInstanceState: Bundle?) {
     super.onActivityCreated(savedInstanceState)

     viewModel = ViewModelProviders.of(this, viewModelFactory).get(TiempoActualViewModel::class.java)

     bindUI()
 }

private fun bindUI() = GlobalScope.launch {
    val tiempoAct = viewModel.tiempo.await()
    tiempoAct.observe(this@TiempoActualFragment, Observer{
        // comprobacion si el observer devuelve null
        if(it == null) return@Observer
        textView.text = it.toString()
    })

}

}

My implementation of Koedeis dependency is this:

  // Kodein

implementation "org.kodein.di:kodein-di-generic-jvm:$kodein_version"
implementation "org.kodein.di:kodein-di-framework-android-x:$kodein_version"

And the Kodein version is:

 ext.kodein_version = '5.2.0'

Did something similar happen to someone? Thanks.

    
asked by AnnaPS 09.12.2018 в 21:26
source

0 answers