diff options
Diffstat (limited to 'packages')
-rw-r--r-- | packages/SystemUI/res/values/colors.xml | 1 | ||||
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java | 15 |
2 files changed, 16 insertions, 0 deletions
diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml index 5cb956f..4c0cea8 100644 --- a/packages/SystemUI/res/values/colors.xml +++ b/packages/SystemUI/res/values/colors.xml @@ -129,4 +129,5 @@ <color name="segmented_button_selected">#FFFFFFFF</color> <color name="segmented_button_unselected">#B3B0BEC5</color><!-- 70% blue grey 200 --> <color name="volume_panel_divider">#1FFFFFFF</color><!-- 12% white --> + <color name="light_mode_icon_color">#FF616161</color><!-- grey 700 --> </resources> diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index 4ffe9b1..f3ad46e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -49,6 +49,7 @@ import android.content.res.Resources; import android.database.ContentObserver; import android.graphics.Bitmap; import android.graphics.Canvas; +import android.graphics.Color; import android.graphics.ColorFilter; import android.graphics.PixelFormat; import android.graphics.Point; @@ -225,6 +226,8 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, /** Allow some time inbetween the long press for back and recents. */ private static final int LOCK_TO_APP_GESTURE_TOLERENCE = 200; + private int mLightModeIconColor; + PhoneStatusBarPolicy mIconPolicy; // These are no longer handled by the policy, because we need custom strategies for them @@ -531,6 +534,9 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, updateDisplaySize(); mScrimSrcModeEnabled = mContext.getResources().getBoolean( R.bool.config_status_bar_scrim_behind_use_src); + mLightModeIconColor = mContext.getResources().getColor(R.color.light_mode_icon_color, + mContext.getTheme()); + super.start(); // calls createAndAddWindows() mMediaSessionManager @@ -2223,6 +2229,15 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, mSystemUiVisibility &= ~View.NAVIGATION_BAR_UNHIDE; } + if ((diff & View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR) != 0 || sbModeChanged) { + boolean allowLight = (sbMode == MODE_TRANSPARENT + || sbMode == MODE_LIGHTS_OUT_TRANSPARENT); + boolean light = (vis & View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR) != 0; + + mIconController.setIconTint( + (allowLight && light) ? mLightModeIconColor : Color.WHITE); + + } // restore the recents bit if (wasRecentsVisible) { mSystemUiVisibility |= View.RECENT_APPS_VISIBLE; |