2

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();
    }
}
Ephraim Schmitt
  • 227
  • 2
  • 16
  • possible [duplicate](http://stackoverflow.com/questions/21844945/how-to-fix-unmarshalling-unknown-type-code-xxx-at-offset-yyy-in-android) – aiqency Oct 19 '16 at 15:35
  • Not a duplicate as the accepted solution in that question has in fact been implemented in my app and it did not resolve the issue. – Ephraim Schmitt Oct 19 '16 at 15:43

0 Answers0