diff options
author | emancebo <emancebo@cyngn.com> | 2015-02-09 13:16:17 -0800 |
---|---|---|
committer | niks255 <niks255@mail.ru> | 2017-01-07 04:39:45 +0600 |
commit | 98bfe7c638ccc15b9064a062000b813768276e80 (patch) | |
tree | 4d405d5973189f9e579ec268ae87b2b8d141e5c4 | |
parent | d2cc2b20bc60b39bf251ed853009b552868dfc79 (diff) | |
download | android_packages_apps_Trebuchet-98bfe7c638ccc15b9064a062000b813768276e80.tar.gz android_packages_apps_Trebuchet-98bfe7c638ccc15b9064a062000b813768276e80.tar.bz2 android_packages_apps_Trebuchet-98bfe7c638ccc15b9064a062000b813768276e80.zip |
Trebuchet: 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
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 1aa096c4a..1eb21593c 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -256,7 +256,6 @@ public class Launcher extends Activity private DragController mDragController; private View mWeightWatcher; - private TransitionEffectsFragment mTransitionEffectsFragment; private DynamicGridSizeFragment mDynamicGridSizeFragment; private LauncherClings mLauncherClings; protected HiddenFolderFragment mHiddenFolderFragment; @@ -1258,12 +1257,13 @@ public class Launcher extends Activity mAppsCustomizeContent.onResume(); //Close out Fragments - Fragment f = getFragmentManager().findFragmentByTag( - TransitionEffectsFragment.TRANSITION_EFFECTS_FRAGMENT); - if (f != null) { - mTransitionEffectsFragment.setEffect(); + TransitionEffectsFragment tef = + (TransitionEffectsFragment)getFragmentManager().findFragmentByTag( + TransitionEffectsFragment.TRANSITION_EFFECTS_FRAGMENT); + if (tef != null) { + tef.setEffect(); } - f = getFragmentManager().findFragmentByTag( + Fragment f = getFragmentManager().findFragmentByTag( DynamicGridSizeFragment.DYNAMIC_GRID_SIZE_FRAGMENT); if (f != null) { mDynamicGridSizeFragment.setSize(); @@ -1454,10 +1454,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(); } @@ -1486,9 +1486,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( @@ -2808,12 +2809,13 @@ public class Launcher extends Activity } } } else if (mWorkspace.isInOverviewMode()) { - Fragment f = getFragmentManager().findFragmentByTag( - TransitionEffectsFragment.TRANSITION_EFFECTS_FRAGMENT); + 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 { @@ -5124,4 +5126,4 @@ interface LauncherTransitionable { interface DebugIntents { static final String DELETE_DATABASE = "com.android.launcher3.action.DELETE_DATABASE"; static final String MIGRATE_DATABASE = "com.android.launcher3.action.MIGRATE_DATABASE"; -} +}
\ No newline at end of file |