diff options
author | Jorim Jaggi <jjaggi@google.com> | 2015-06-01 16:55:05 -0700 |
---|---|---|
committer | Jorim Jaggi <jjaggi@google.com> | 2015-06-02 18:35:56 +0000 |
commit | a16cc15f6cf24b3ab30636476c4fa632265e44f1 (patch) | |
tree | 2c457c735c8af78659a1664ef10e3c5add9f2ab1 /core/java/com | |
parent | 1fad138f820e23de050f16f22b5ad757dc41eb10 (diff) | |
download | frameworks_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.java | 8 |
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; + } } |