KODI v1.2.8 Release Notes

Release Date: 2019-11-06 // over 4 years ago
  • The major changes are:

    keyword for binding with now is inline infix fun <reified T : KodiHolder> KodiTagWrapper.with(instance: T) and you need to reimport your modules or bindings

    ๐Ÿš€ infix fun IKodiModule.withScope(scopeWrapper: KodiScopeWrapper) Deprecate and will be removed in future releases, please use IKodiModule.withScope(scopeName: String)

    ๐Ÿš€ fun IKodi.unbindScope(scopeTagWrapper: KodiScopeWrapper): Boolean Deprecated and will be removed in future releases, please use fun IKodi.unbindScope(scopeName: String): Boolean

    You can check if any tag or instance of the class is in your module by calling inline <reified T : Any> IKodiModule.hasInstance(tag: String? = null): Boolean

    โœ‚ Remove all instances from module and graph by calling kodiModuleInstance.remove()

    Dynamically add or get an instance to/from dependency graph by
    instanceWith(clazz: Class<T>, initKodiHolder: KodiHolder? = null)
    instanceWith(tag: String, initKodiHolder: KodiHolder? = null)
    Example:
    val dynamicInstance = instanceWith(MyInstanceClass::class.java, single { MyInstanceClass() })

    ๐Ÿ†• New features:
    getScope(tag: String? = null): String? - get scope of class or tag
    hasScope(tag: String? = null): Boolean - does class or tag in the scope?
    hasModule(tag: String? = null): Boolean - does class or tag in the module?
    isKodiInstance(tag: String? = null): Boolean - does class or tag in the dependency graph?

    ๐Ÿ”จ Code Refactoring

    โšก๏ธ Updated KodiAndroidX modules to 1.0.2. It now has separated modules for every android version

    Many more will come. Stay Tuned