diff options
author | Tony Wickham <twickham@google.com> | 2016-09-29 01:36:18 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2016-09-29 01:36:18 +0000 |
commit | 9b80528d4420868a2093570c7063ee0b134fa0f8 (patch) | |
tree | 167dcc927c5b55f86a30482a0e689092e3bc234a /src/com/android/launcher3/Launcher.java | |
parent | 31d75d2e13fd26e3a339641215df8e60f6ad3bd9 (diff) | |
parent | 345bff3ce671c62094a8afb5958a361db645f3cf (diff) | |
download | android_packages_apps_Trebuchet-9b80528d4420868a2093570c7063ee0b134fa0f8.tar.gz android_packages_apps_Trebuchet-9b80528d4420868a2093570c7063ee0b134fa0f8.tar.bz2 android_packages_apps_Trebuchet-9b80528d4420868a2093570c7063ee0b134fa0f8.zip |
Some minor fixes for extracted status bar.
am: 345bff3ce6
Change-Id: I3a9e57fb93124b1d462b0fb8173419b887e85a84
Diffstat (limited to 'src/com/android/launcher3/Launcher.java')
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 3bd4d403e..0a14c421d 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -279,7 +279,6 @@ public class Launcher extends Activity private boolean mVisible; private boolean mHasFocus; private boolean mAttached; - private boolean mIsLightStatusBar; /** Maps launcher activity components to their list of shortcut ids. */ private MultiHashMap<ComponentKey, String> mDeepShortcutMap = new MultiHashMap<>(); @@ -496,33 +495,34 @@ public class Launcher extends Activity private void loadExtractedColorsAndColorItems() { // TODO: do this in pre-N as well, once the extraction part is complete. - if (mExtractedColors != null && Utilities.isNycOrAbove()) { + if (Utilities.isNycOrAbove()) { mExtractedColors.load(this); mHotseat.updateColor(mExtractedColors, !mPaused); mWorkspace.getPageIndicator().updateColor(mExtractedColors); - setLightStatusBar(shouldBeLightStatusBar()); + // It's possible that All Apps is visible when this is run, + // so always use light status bar in that case. + activateLightStatusBar(isAllAppsVisible()); } } - /** Returns whether a light status bar (dark icons) should be used based on the wallpaper. */ - public boolean shouldBeLightStatusBar() { - return mExtractedColors.getColor(ExtractedColors.STATUS_BAR_INDEX, - ExtractedColors.DEFAULT_LIGHT) == ExtractedColors.DEFAULT_LIGHT; - } - - public void setLightStatusBar(boolean lightStatusBar) { - // Already set correctly - if (mIsLightStatusBar == lightStatusBar) { - return; - } - mIsLightStatusBar = lightStatusBar; - int systemUiFlags = getWindow().getDecorView().getSystemUiVisibility(); + /** + * Sets the status bar to be light or not. Light status bar means dark icons. + * @param activate if true, make sure the status bar is light, otherwise base on wallpaper. + */ + public void activateLightStatusBar(boolean activate) { + boolean lightStatusBar = activate + || mExtractedColors.getColor(ExtractedColors.STATUS_BAR_INDEX, + ExtractedColors.DEFAULT_DARK) == ExtractedColors.DEFAULT_LIGHT; + int oldSystemUiFlags = getWindow().getDecorView().getSystemUiVisibility(); + int newSystemUiFlags = oldSystemUiFlags; if (lightStatusBar) { - systemUiFlags |= View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR; + newSystemUiFlags |= View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR; } else { - systemUiFlags &= ~(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); + newSystemUiFlags &= ~(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); + } + if (newSystemUiFlags != oldSystemUiFlags) { + getWindow().getDecorView().setSystemUiVisibility(newSystemUiFlags); } - getWindow().getDecorView().setSystemUiVisibility(systemUiFlags); } private LauncherCallbacks mLauncherCallbacks; |