Disallow fragment transactions after onSaveInstanceState is called
Let's see if this takes care of the monkey bugs.
BUG:3156612
Change-Id: Ib941d947d034364f4d13f8e2aeb2b4c25655f100
diff --git a/src/com/android/calendar/AllInOneActivity.java b/src/com/android/calendar/AllInOneActivity.java
index b8221e8..57f5dff 100644
--- a/src/com/android/calendar/AllInOneActivity.java
+++ b/src/com/android/calendar/AllInOneActivity.java
@@ -69,6 +69,7 @@
private static final int HANDLER_KEY = 0;
private static CalendarController mController;
private static boolean mIsMultipane;
+ private boolean mOnSaveInstanceStateCalled = false;
private ContentResolver mContentResolver;
private int mPreviousView;
private int mCurrentView;
@@ -191,6 +192,7 @@
}
updateHomeClock();
mPaused = false;
+ mOnSaveInstanceStateCalled = false;
}
@Override
@@ -218,6 +220,7 @@
@Override
public void onSaveInstanceState(Bundle outState) {
+ mOnSaveInstanceStateCalled = true;
super.onSaveInstanceState(outState);
outState.putLong(BUNDLE_KEY_RESTORE_TIME, mController.getTime());
@@ -367,6 +370,9 @@
private void setMainPane(FragmentTransaction ft, int viewId, int viewType, long timeMillis,
boolean force, EventInfo e) {
+ if (mOnSaveInstanceStateCalled) {
+ return;
+ }
if (!force && mCurrentView == viewType) {
return;
}