Merge "Prevent orphaned fragment on the settings stack." into ics-mr1
diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java
index 6096029..21e8caa 100644
--- a/src/com/android/settings/DataUsageSummary.java
+++ b/src/com/android/settings/DataUsageSummary.java
@@ -49,6 +49,7 @@
import android.app.Dialog;
import android.app.DialogFragment;
import android.app.Fragment;
+import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.app.LoaderManager.LoaderCallbacks;
import android.content.ContentResolver;
@@ -518,6 +519,15 @@
mUidDetailProvider = null;
}
+ @Override
+ public void onDestroy() {
+ if (this.isRemoving()) {
+ getFragmentManager()
+ .popBackStack(TAG_APP_DETAILS, FragmentManager.POP_BACK_STACK_INCLUSIVE);
+ }
+ super.onDestroy();
+ }
+
/**
* Listener to setup {@link LayoutTransition} after first layout pass.
*/
@@ -1502,7 +1512,6 @@
final AppDetailsFragment fragment = new AppDetailsFragment();
fragment.setArguments(args);
fragment.setTargetFragment(parent, 0);
-
final FragmentTransaction ft = parent.getFragmentManager().beginTransaction();
ft.add(fragment, TAG_APP_DETAILS);
ft.addToBackStack(TAG_APP_DETAILS);