summaryrefslogtreecommitdiffstats
path: root/core/java/com
diff options
context:
space:
mode:
authorJorim Jaggi <jjaggi@google.com>2015-06-01 16:55:05 -0700
committerJorim Jaggi <jjaggi@google.com>2015-06-02 18:35:56 +0000
commita16cc15f6cf24b3ab30636476c4fa632265e44f1 (patch)
tree2c457c735c8af78659a1664ef10e3c5add9f2ab1 /core/java/com
parent1fad138f820e23de050f16f22b5ad757dc41eb10 (diff)
downloadframeworks_base-a16cc15f6cf24b3ab30636476c4fa632265e44f1.zip
frameworks_base-a16cc15f6cf24b3ab30636476c4fa632265e44f1.tar.gz
frameworks_base-a16cc15f6cf24b3ab30636476c4fa632265e44f1.tar.bz2
Make sure starting windows only draw once
The panel menu was invalidated, and thus a runnable was posted for the next frame, to update the panel menu, and invalidate the view. We avoid this by not invalidating the panel menu for starting windows. Bug: 20949632 Change-Id: I67ca47e3a7ce3ba1d685c2313efa66fb1cdee312
Diffstat (limited to 'core/java/com')
-rw-r--r--core/java/com/android/internal/policy/PhoneWindow.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/core/java/com/android/internal/policy/PhoneWindow.java b/core/java/com/android/internal/policy/PhoneWindow.java
index 22c0680..14065b1 100644
--- a/core/java/com/android/internal/policy/PhoneWindow.java
+++ b/core/java/com/android/internal/policy/PhoneWindow.java
@@ -289,6 +289,8 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
private Rect mTempRect;
private Rect mOutsets = new Rect();
+ private boolean mIsStartingWindow;
+
static class WindowManagerHolder {
static final IWindowManager sWindowManager = IWindowManager.Stub.asInterface(
ServiceManager.getService("window"));
@@ -3891,7 +3893,7 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
// A pending invalidation will typically be resolved before the posted message
// would run normally in order to satisfy instance state restoration.
PanelFeatureState st = getPanelState(FEATURE_OPTIONS_PANEL, false);
- if (!isDestroyed() && (st == null || st.menu == null)) {
+ if (!isDestroyed() && (st == null || st.menu == null) && !mIsStartingWindow) {
invalidatePanelMenu(FEATURE_ACTION_BAR);
}
} else {
@@ -4966,4 +4968,8 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
mDecor.updateColorViews(null, false /* animate */);
}
}
+
+ public void setIsStartingWindow(boolean isStartingWindow) {
+ mIsStartingWindow = isStartingWindow;
+ }
}