Wrong state class error after updating FB audience-network-sdk:6.11.0

187 views Asked by At

After updating FAN from 'com.facebook.android:audience-network-sdk:6.5.0' to 'com.facebook.android:audience-network-sdk:6.11.0' got following crash. I have already checked in my hierarchy there is no same id exist and still got this crash

Fatal Exception: java.lang.IllegalArgumentException: Wrong state class, expecting View State but received class com.facebook.ads.internal.util.parcelable.WrappedParcelable instead. This usually happens when two views of different type have the same id in the same hierarchy. This view's id is id/0x3. Make sure other views do not use the same id. at android.view.View.onRestoreInstanceState(View.java:21256) at android.view.View.dispatchRestoreInstanceState(View.java:21228) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:4118) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:4124) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:4124) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:4124) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:4124) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:4124) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:4124) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:4124) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:4124) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:4124) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:4124) at android.view.View.restoreHierarchyState(View.java:21206) at androidx.fragment.app.Fragment.restoreViewState(Fragment.java:689) at androidx.fragment.app.Fragment.restoreViewState(Fragment.java:3151) at androidx.fragment.app.Fragment.performActivityCreated(Fragment.java:3142) at androidx.fragment.app.FragmentStateManager.activityCreated(FragmentStateManager.java:579) at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:264) at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1881) at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1814) at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1751) at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:538) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:233) at android.os.Looper.loop(Looper.java:344) at android.app.ActivityThread.main(ActivityThread.java:8227) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:589) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1071)

2

There are 2 answers

1
badoualy On

Disabling state save/restoration seems to do the trick:

view.isSaveEnabled = false
view.isSaveFromParentEnabled = false
0
Nguyễn Trung Hiếu On

My application encountered this error.

If your application does not need to restore data when activity recreates.

Let's do this in Activity and Fragment

override fun onSaveInstanceState(savedInstanceState: Bundle) {
     super.onSaveInstanceState(savedInstanceState)
     savedInstanceState.clear()
 }