summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoremancebo <emancebo@cyngn.com>2015-02-09 13:16:17 -0800
committerniks255 <niks255@mail.ru>2017-01-07 04:39:45 +0600
commit98bfe7c638ccc15b9064a062000b813768276e80 (patch)
tree4d405d5973189f9e579ec268ae87b2b8d141e5c4
parentd2cc2b20bc60b39bf251ed853009b552868dfc79 (diff)
downloadandroid_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.java34
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