Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +18 −1 Original line number Diff line number Diff line Loading @@ -55,6 +55,7 @@ import android.app.NotificationManager; import android.app.PendingIntent; import android.app.StatusBarManager; import android.app.TaskStackBuilder; import android.app.UiModeManager; import android.app.WallpaperColors; import android.app.WallpaperInfo; import android.app.WallpaperManager; Loading Loading @@ -329,6 +330,12 @@ public class StatusBar extends SystemUI implements DemoMode, /** If true, the lockscreen will show a distinct wallpaper */ private static final boolean ENABLE_LOCKSCREEN_WALLPAPER = true; /** Whether to force dark theme if Configuration.UI_MODE_NIGHT_YES. */ private static final boolean DARK_THEME_IN_NIGHT_MODE = true; /** Whether to switch the device into night mode in battery saver. */ private static final boolean NIGHT_MODE_IN_BATTERY_SAVER = true; /** * Never let the alpha become zero for surfaces that draw with SRC - otherwise the RenderNode * won't draw anything and uninitialized memory will show through Loading Loading @@ -941,6 +948,10 @@ public class StatusBar extends SystemUI implements DemoMode, if (mDozeServiceHost != null) { mDozeServiceHost.firePowerSaveChanged(isPowerSave); } if (NIGHT_MODE_IN_BATTERY_SAVER) { mContext.getSystemService(UiModeManager.class).setNightMode( isPowerSave ? UiModeManager.MODE_NIGHT_YES : UiModeManager.MODE_NIGHT_NO); } } @Override Loading Loading @@ -3138,6 +3149,7 @@ public class StatusBar extends SystemUI implements DemoMode, public void onConfigChanged(Configuration newConfig) { updateResources(); updateDisplaySize(); // populates mDisplayMetrics updateTheme(); if (DEBUG) { Log.v(TAG, "configuration changed: " + mContext.getResources().getConfiguration()); Loading Loading @@ -3878,8 +3890,13 @@ public class StatusBar extends SystemUI implements DemoMode, // The system wallpaper defines if QS should be light or dark. WallpaperColors systemColors = mColorExtractor .getWallpaperColors(WallpaperManager.FLAG_SYSTEM); final boolean useDarkTheme = systemColors != null final boolean wallpaperWantsDarkTheme = systemColors != null && (systemColors.getColorHints() & WallpaperColors.HINT_SUPPORTS_DARK_THEME) != 0; final Configuration config = mContext.getResources().getConfiguration(); final boolean nightModeWantsDarkTheme = DARK_THEME_IN_NIGHT_MODE && (config.uiMode & Configuration.UI_MODE_NIGHT_MASK) == Configuration.UI_MODE_NIGHT_YES; final boolean useDarkTheme = wallpaperWantsDarkTheme || nightModeWantsDarkTheme; if (isUsingDarkTheme() != useDarkTheme) { mUiOffloadThread.submit(() -> { try { Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +18 −1 Original line number Diff line number Diff line Loading @@ -55,6 +55,7 @@ import android.app.NotificationManager; import android.app.PendingIntent; import android.app.StatusBarManager; import android.app.TaskStackBuilder; import android.app.UiModeManager; import android.app.WallpaperColors; import android.app.WallpaperInfo; import android.app.WallpaperManager; Loading Loading @@ -329,6 +330,12 @@ public class StatusBar extends SystemUI implements DemoMode, /** If true, the lockscreen will show a distinct wallpaper */ private static final boolean ENABLE_LOCKSCREEN_WALLPAPER = true; /** Whether to force dark theme if Configuration.UI_MODE_NIGHT_YES. */ private static final boolean DARK_THEME_IN_NIGHT_MODE = true; /** Whether to switch the device into night mode in battery saver. */ private static final boolean NIGHT_MODE_IN_BATTERY_SAVER = true; /** * Never let the alpha become zero for surfaces that draw with SRC - otherwise the RenderNode * won't draw anything and uninitialized memory will show through Loading Loading @@ -941,6 +948,10 @@ public class StatusBar extends SystemUI implements DemoMode, if (mDozeServiceHost != null) { mDozeServiceHost.firePowerSaveChanged(isPowerSave); } if (NIGHT_MODE_IN_BATTERY_SAVER) { mContext.getSystemService(UiModeManager.class).setNightMode( isPowerSave ? UiModeManager.MODE_NIGHT_YES : UiModeManager.MODE_NIGHT_NO); } } @Override Loading Loading @@ -3138,6 +3149,7 @@ public class StatusBar extends SystemUI implements DemoMode, public void onConfigChanged(Configuration newConfig) { updateResources(); updateDisplaySize(); // populates mDisplayMetrics updateTheme(); if (DEBUG) { Log.v(TAG, "configuration changed: " + mContext.getResources().getConfiguration()); Loading Loading @@ -3878,8 +3890,13 @@ public class StatusBar extends SystemUI implements DemoMode, // The system wallpaper defines if QS should be light or dark. WallpaperColors systemColors = mColorExtractor .getWallpaperColors(WallpaperManager.FLAG_SYSTEM); final boolean useDarkTheme = systemColors != null final boolean wallpaperWantsDarkTheme = systemColors != null && (systemColors.getColorHints() & WallpaperColors.HINT_SUPPORTS_DARK_THEME) != 0; final Configuration config = mContext.getResources().getConfiguration(); final boolean nightModeWantsDarkTheme = DARK_THEME_IN_NIGHT_MODE && (config.uiMode & Configuration.UI_MODE_NIGHT_MASK) == Configuration.UI_MODE_NIGHT_YES; final boolean useDarkTheme = wallpaperWantsDarkTheme || nightModeWantsDarkTheme; if (isUsingDarkTheme() != useDarkTheme) { mUiOffloadThread.submit(() -> { try { Loading