Kodein
Kodein copied to clipboard
Kodein 7 typeToken TypeNotPresentException for Android D8 desugared ZonedDateTime
Android's D8 desugars java.time classes on devices running lower than API 26 and this seems to be tripping up typeToken. Using the erased version in previous versions of Kodein worked fine, as does Kodein 7 when using a device with an API >= 26 (because it doesn't get desugared).
I am going to test Bind(erased<ZonedDateTime>()) (I will update when I get the results of that).
java.lang.TypeNotPresentException: Type java.time.ZonedDateTime not present
at libcore.reflect.ParameterizedTypeImpl.getRawType(ParameterizedTypeImpl.java:67)
at libcore.reflect.ParameterizedTypeImpl.getResolvedType(ParameterizedTypeImpl.java:76)
at libcore.reflect.ListOfTypes.resolveTypes(ListOfTypes.java:70)
at libcore.reflect.ListOfTypes.getResolvedTypes(ListOfTypes.java:55)
at libcore.reflect.ParameterizedTypeImpl.getResolvedType(ParameterizedTypeImpl.java:75)
at libcore.reflect.Types.getType(Types.java:56)
at java.lang.Class.getGenericSuperclass(Class.java:828)
at org.kodein.type.TypeReference.<init>(typeTokensJVM.kt:54)
at co.myapp.common.Time_moduleKt$timeModule$1$$special$$inlined$bind$1.<init>(typeTokensJVM.kt:64)
Using Bind(erased<ZonedDateTime>()) results in the same crash.
https://github.com/kosi-libs/Kodein/issues/307 refers this as fixed