I am getting a RuntimeException for Unmarshalling unknown type. The stacktrace is below. Line 44, which is what seems to be the error, is my super.onCreate(savedInstanceState). I am not overriding onSavedInstanceState
or any of those methods, so I am not sure what could be causing this.
This comes up from the play store crashes. It is not happening that often and I have been unable to duplicate the error. So I am completely lost as to what could be causing this.
I have searched through many questions on stackoverflow and none of their answers have fixed my problem, or they do not apply.
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.clashtoolkit.clashtoolkit/com.clashtoolkit.clashtoolkit.calculator.activities.CalculatorMainActivity}: java.lang.RuntimeException: Parcel android.os.Parcel@41baa2f0: Unmarshalling unknown type code 51 at offset 484
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(NativeStart.java)
Caused by: java.lang.RuntimeException: Parcel android.os.Parcel@41baa2f0: Unmarshalling unknown type code 51 at offset 484
at android.os.Parcel.readValue(Parcel.java:2032)
at android.os.Parcel.readListInternal(Parcel.java:2235)
at android.os.Parcel.readArrayList(Parcel.java:1655)
at android.os.Parcel.readValue(Parcel.java:1986)
at android.os.Parcel.readMapInternal(Parcel.java:2226)
at android.os.Bundle.unparcel(Bundle.java:223)
at android.os.Bundle.getSparseParcelableArray(Bundle.java:1240)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1017)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1286)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1268)
at android.support.v4.app.FragmentManagerImpl.dispatchCreate(FragmentManagerImpl.java:2138)
at android.support.v4.app.FragmentController.dispatchCreate(FragmentController.java:190)
at android.support.v4.app.FragmentActivity.onCreate(FragmentActivity.java:349)
at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:85)
at com.clashtoolkit.clashtoolkit.calculator.activities.CalculatorMainActivity.onCreate(CalculatorMainActivity.java:44)
at android.app.Activity.performCreate(Activity.java:5104)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
CalculatorMainActivity.java
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_calculator_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setTitle(R.string.army_calc_title);
}
if (getResources().getBoolean(R.bool.portrait_only)) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
FirebaseAnalytics mFirebaseAnalytics = FirebaseAnalytics.getInstance(CalculatorMainActivity.this);
if (savedInstanceState == null) {
Bundle bundle = new Bundle();
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, "calculator_main_page");
mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.VIEW_ITEM, bundle);
}
QueueFactory factory = new QueueFactory();
mQueue = factory.getQueue(this);
Intent intent = getIntent();
int armyId = intent.getIntExtra(ARMY_ID_INTENT, 0);
if (savedInstanceState == null) {
mTroopFragment = CalculatorItemListFragment.newInstance(ClashItemFactoryFactory.TROOPS, mQueue.getCampCapacity(), armyId);
mSpellFragment = CalculatorItemListFragment.newInstance(ClashItemFactoryFactory.SPELLS, mQueue.getSpellFactoryCapacity(), armyId);
} else {
mTroopFragment = (CalculatorItemListFragment) getSupportFragmentManager().findFragmentByTag("android:switcher:2131624064:0");
mSpellFragment = (CalculatorItemListFragment) getSupportFragmentManager().findFragmentByTag("android:switcher:2131624064:1");
}
ViewPager viewPager = (ViewPager) findViewById(R.id.calculator_viewpager);
mAdapter = new ViewPagerAdapter(getSupportFragmentManager());
mAdapter.addFrag(mTroopFragment, "Troops");
mAdapter.addFrag(mSpellFragment, "Spells");
if (viewPager != null) {
viewPager.setAdapter(mAdapter);
}
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
if (tabLayout != null) {
tabLayout.setupWithViewPager(viewPager);
}
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
if (fab != null) {
fab.setOnClickListener(this);
}
mAdView = (AdView) findViewById(R.id.adView);
Utilities.startAdView(mAdView);
if (findViewById(R.id.display_fragment) != null) {
mTwoPane = true;
ArmyQueueFragment fragment = new ArmyQueueFragment();
getSupportFragmentManager().beginTransaction().replace(R.id.display_fragment, fragment, DISPLAY_FRAGMENT_TAG).commit();
}
}