0

I am having a problem when using moshi on android 2.3.3:

D/PassAndroid( 1649): java.lang.IllegalArgumentException: cannot construct instances of org.ligi.passandroid.model.pass.PassImpl
D/PassAndroid( 1649):   at com.squareup.moshi.ClassFactory.get(ClassFactory.java:110)
D/PassAndroid( 1649):   at com.squareup.moshi.ClassJsonAdapter$1.create(ClassJsonAdapter.java:61)
D/PassAndroid( 1649):   at com.squareup.moshi.Moshi.adapter(Moshi.java:92)
D/PassAndroid( 1649):   at com.squareup.moshi.Moshi.adapter(Moshi.java:61)
D/PassAndroid( 1649):   at org.ligi.passandroid.model.AndroidFileSystemPassStore.save(AndroidFileSystemPassStore.kt:33)
D/PassAndroid( 1649):   at org.ligi.passandroid.ui.PassListActivity.onFABClick(PassListActivity.java:82)
D/PassAndroid( 1649):   at org.ligi.passandroid.ui.PassListActivity$$ViewBinder$2.doClick(PassListActivity$$ViewBinder.java:39)
D/PassAndroid( 1649):   at butterknife.internal.DebouncingOnClickListener.onClick(DebouncingOnClickListener.java:22)
D/PassAndroid( 1649):   at android.view.View.performClick(View.java:2485)
D/PassAndroid( 1649):   at android.view.View$PerformClick.run(View.java:9080)
D/PassAndroid( 1649):   at android.os.Handler.handleCallback(Handler.java:587)
D/PassAndroid( 1649):   at android.os.Handler.dispatchMessage(Handler.java:92)
D/PassAndroid( 1649):   at android.os.Looper.loop(Looper.java:130)
D/PassAndroid( 1649):   at android.app.ActivityThread.main(ActivityThread.java:3683)
D/PassAndroid( 1649):   at java.lang.reflect.Method.invokeNative(Native Method)
D/PassAndroid( 1649):   at java.lang.reflect.Method.invoke(Method.java:507)
D/PassAndroid( 1649):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
D/PassAndroid( 1649):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
D/PassAndroid( 1649):   at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 1649): FATAL EXCEPTION: main
E/AndroidRuntime( 1649): java.lang.IllegalArgumentException: cannot construct instances of org.ligi.passandroid.model.pass.PassImpl
E/AndroidRuntime( 1649):    at com.squareup.moshi.ClassFactory.get(ClassFactory.java:110)
E/AndroidRuntime( 1649):    at com.squareup.moshi.ClassJsonAdapter$1.create(ClassJsonAdapter.java:61)
E/AndroidRuntime( 1649):    at com.squareup.moshi.Moshi.adapter(Moshi.java:92)
E/AndroidRuntime( 1649):    at com.squareup.moshi.Moshi.adapter(Moshi.java:61)
E/AndroidRuntime( 1649):    at org.ligi.passandroid.model.AndroidFileSystemPassStore.save(AndroidFileSystemPassStore.kt:33)
E/AndroidRuntime( 1649):    at org.ligi.passandroid.ui.PassListActivity.onFABClick(PassListActivity.java:82)
E/AndroidRuntime( 1649):    at org.ligi.passandroid.ui.PassListActivity$$ViewBinder$2.doClick(PassListActivity$$ViewBinder.java:39)
E/AndroidRuntime( 1649):    at butterknife.internal.DebouncingOnClickListener.onClick(DebouncingOnClickListener.java:22)
E/AndroidRuntime( 1649):    at android.view.View.performClick(View.java:2485)
E/AndroidRuntime( 1649):    at android.view.View$PerformClick.run(View.java:9080)
E/AndroidRuntime( 1649):    at android.os.Handler.handleCallback(Handler.java:587)
E/AndroidRuntime( 1649):    at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime( 1649):    at android.os.Looper.loop(Looper.java:130)
E/AndroidRuntime( 1649):    at android.app.ActivityThread.main(ActivityThread.java:3683)
E/AndroidRuntime( 1649):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 1649):    at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime( 1649):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
E/AndroidRuntime( 1649):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
E/AndroidRuntime( 1649):    at dalvik.system.NativeStart.main(Native Method)

It works with later versions of android. PassImpl is a kotlin class - but moshi is usually able to create them as it works on later versions. Anyone knows a workaround to that?

ligi
  • 39,001
  • 44
  • 144
  • 244

1 Answers1

0

This was a moshi bug which is now solved: https://github.com/square/moshi/issues/117

ligi
  • 39,001
  • 44
  • 144
  • 244