Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e169a31d authored by emancebo's avatar emancebo Committed by Gerrit Code Review
Browse files

Fix potential NPE handling TransitionEffectsFragment

Instead of holding a reference to transition effects fragment and
attempting to keep it in sync with what the fragment manager holds,
just get the fragment from the manager each time.

Change-Id: Ifd92725c1731cc6677d6d2a06226e070fbc093e3
parent dc8bfe74
Loading
Loading
Loading
Loading
+17 −15
Original line number Diff line number Diff line
@@ -275,7 +275,6 @@ public class Launcher extends Activity
    private DragLayer mDragLayer;
    private DragController mDragController;
    private View mWeightWatcher;
    private TransitionEffectsFragment mTransitionEffectsFragment;
    private DynamicGridSizeFragment mDynamicGridSizeFragment;
    private LauncherClings mLauncherClings;
    protected HiddenFolderFragment mHiddenFolderFragment;
@@ -1156,12 +1155,13 @@ public class Launcher extends Activity
        PackageInstallerCompat.getInstance(this).onResume();

        //Close out Fragments
        Fragment f = getFragmentManager().findFragmentByTag(
        TransitionEffectsFragment tef =
                (TransitionEffectsFragment)getFragmentManager().findFragmentByTag(
                        TransitionEffectsFragment.TRANSITION_EFFECTS_FRAGMENT);
        if (f != null) {
            mTransitionEffectsFragment.setEffect();
        if (tef != null) {
            tef.setEffect();
        }
        f = getFragmentManager().findFragmentByTag(
        Fragment f = getFragmentManager().findFragmentByTag(
                DynamicGridSizeFragment.DYNAMIC_GRID_SIZE_FRAGMENT);
        if (f != null) {
            mDynamicGridSizeFragment.setSize();
@@ -1325,10 +1325,10 @@ public class Launcher extends Activity
        FragmentManager fragmentManager = getFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();

        mTransitionEffectsFragment = new TransitionEffectsFragment();
        mTransitionEffectsFragment.setArguments(bundle);
        TransitionEffectsFragment tef = new TransitionEffectsFragment();
        tef.setArguments(bundle);
        fragmentTransaction.setCustomAnimations(0, 0);
        fragmentTransaction.replace(R.id.launcher, mTransitionEffectsFragment,
        fragmentTransaction.replace(R.id.launcher, tef,
                TransitionEffectsFragment.TRANSITION_EFFECTS_FRAGMENT);
        fragmentTransaction.commit();
    }
@@ -1357,9 +1357,10 @@ public class Launcher extends Activity
            fragmentTransaction
                    .setCustomAnimations(0, R.anim.exit_out_right);
        }
        Fragment f = getFragmentManager().findFragmentByTag(
                TransitionEffectsFragment.TRANSITION_EFFECTS_FRAGMENT);
        fragmentTransaction
                .remove(mTransitionEffectsFragment).commit();
        mTransitionEffectsFragment = null;
                .remove(f).commit();

        mDarkPanel.setVisibility(View.VISIBLE);
        ObjectAnimator anim = ObjectAnimator.ofFloat(
@@ -2716,12 +2717,13 @@ public class Launcher extends Activity
                showOverviewMode(true);
            }
        } else if (mWorkspace.isInOverviewMode()) {
            Fragment f = getFragmentManager().findFragmentByTag(
            TransitionEffectsFragment tef =
                    (TransitionEffectsFragment)getFragmentManager().findFragmentByTag(
                            TransitionEffectsFragment.TRANSITION_EFFECTS_FRAGMENT);
            Fragment f2 = getFragmentManager().findFragmentByTag(
                    DynamicGridSizeFragment.DYNAMIC_GRID_SIZE_FRAGMENT);
            if (f != null) {
                mTransitionEffectsFragment.setEffect();
            if (tef != null) {
                tef.setEffect();
            } else if (f2 != null) {
                mDynamicGridSizeFragment.setSize();
            } else {