Yaqoob Bhatti
Yaqoob Bhatti

Reputation: 1535

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

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)

Upvotes: 0

Views: 246

Answers (2)

Nguyễn Trung Hiếu
Nguyễn Trung Hiếu

Reputation: 2032

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()
 }

Upvotes: 0

badoualy
badoualy

Reputation: 386

Disabling state save/restoration seems to do the trick:

view.isSaveEnabled = false
view.isSaveFromParentEnabled = false

Upvotes: 0

Related Questions