am 7371b040: Maybe fix #2127747: IllegalStateException from window manager when resuming from sleep
Merge commit '7371b040bc00a92f371bb8755878261add2e55c6' * commit '7371b040bc00a92f371bb8755878261add2e55c6': Maybe fix #2127747: IllegalStateException from window manager when resuming from sleep
This commit is contained in:
@@ -1532,9 +1532,11 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
|
||||
PanelFeatureState st;
|
||||
for (int i = panels.length - 1; i >= 0; i--) {
|
||||
st = panels[i];
|
||||
if ((st != null) && st.isOpen) {
|
||||
// Clear st.isOpen (openPanel will not open if it's already open)
|
||||
st.isOpen = false;
|
||||
// We restore the panel if it was last open; we skip it if it
|
||||
// now is open, to avoid a race condition if the user immediately
|
||||
// opens it when we are resuming.
|
||||
if ((st != null) && !st.isOpen && st.wasLastOpen) {
|
||||
st.isInExpandedMode = st.wasLastExpanded;
|
||||
openPanel(st, null);
|
||||
}
|
||||
}
|
||||
@@ -2572,6 +2574,10 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
|
||||
|
||||
boolean refreshDecorView;
|
||||
|
||||
boolean wasLastOpen;
|
||||
|
||||
boolean wasLastExpanded;
|
||||
|
||||
/**
|
||||
* Contains the state of the menu when told to freeze.
|
||||
*/
|
||||
@@ -2620,8 +2626,8 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
|
||||
void onRestoreInstanceState(Parcelable state) {
|
||||
SavedState savedState = (SavedState) state;
|
||||
featureId = savedState.featureId;
|
||||
isOpen = savedState.isOpen;
|
||||
isInExpandedMode = savedState.isInExpandedMode;
|
||||
wasLastOpen = savedState.isOpen;
|
||||
wasLastExpanded = savedState.isInExpandedMode;
|
||||
frozenMenuState = savedState.menuState;
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user