From 7f91072c435e9231553ee1c3c1c7526edf7986b2 Mon Sep 17 00:00:00 2001 From: Adrian Roos Date: Wed, 12 Jul 2017 19:15:59 +0200 Subject: [PATCH] AOD: Show date on always-on display Test: Turn off display. Make sure date shows on AOD. Also make sure it works with a white wallpaper. Fixes: 63528250 Change-Id: I82e0e579f351c5f145021d0b3759f79c11a1270e --- .../drawable/ic_access_alarms_big.xml | 2 +- .../layout/keyguard_status_area.xml | 2 ++ packages/SystemUI/res/values/dimens.xml | 3 +++ .../android/keyguard/KeyguardStatusView.java | 19 +++++++++++++++---- .../phone/KeyguardClockPositionAlgorithm.java | 4 +++- 5 files changed, 24 insertions(+), 6 deletions(-) diff --git a/packages/SystemUI/res-keyguard/drawable/ic_access_alarms_big.xml b/packages/SystemUI/res-keyguard/drawable/ic_access_alarms_big.xml index fd385fcc71fa4..fffa0bd621e5e 100644 --- a/packages/SystemUI/res-keyguard/drawable/ic_access_alarms_big.xml +++ b/packages/SystemUI/res-keyguard/drawable/ic_access_alarms_big.xml @@ -19,6 +19,6 @@ Copyright (C) 2017 The Android Open Source Project android:viewportWidth="24.0" android:viewportHeight="24.0"> diff --git a/packages/SystemUI/res-keyguard/layout/keyguard_status_area.xml b/packages/SystemUI/res-keyguard/layout/keyguard_status_area.xml index a0850f4925319..7d12504604c8b 100644 --- a/packages/SystemUI/res-keyguard/layout/keyguard_status_area.xml +++ b/packages/SystemUI/res-keyguard/layout/keyguard_status_area.xml @@ -39,6 +39,8 @@ android:layout_height="wrap_content" android:drawablePadding="6dp" android:drawableStart="@drawable/ic_access_alarms_big" + android:drawableTint="?attr/bgProtectSecondaryTextColor" + android:drawableTintMode="src_in" android:textColor="?attr/bgProtectSecondaryTextColor" android:letterSpacing="0.15" style="@style/widget_label" diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index 4a1d953c3bfe7..95d7bfda1f5a9 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -814,6 +814,9 @@ burn-in on AOD --> 50dp + + 10dp + 16dp 0dp 48dp diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java index 2262869603cd9..5005f9dd7db2f 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java @@ -19,9 +19,11 @@ package com.android.keyguard; import android.app.ActivityManager; import android.app.AlarmManager; import android.content.Context; +import android.content.res.ColorStateList; import android.content.res.Configuration; import android.content.res.Resources; import android.graphics.Color; +import android.graphics.PorterDuff; import android.os.UserHandle; import android.support.v4.graphics.ColorUtils; import android.text.TextUtils; @@ -56,11 +58,14 @@ public class KeyguardStatusView extends GridLayout { private TextView mOwnerInfo; private ViewGroup mClockContainer; private ChargingView mBatteryDoze; + private View mKeyguardStatusArea; private View[] mVisibleInDoze; private boolean mPulsing; - private float mDarkAmount; + private float mDarkAmount = 0; private int mTextColor; + private int mDateTextColor; + private int mAlarmTextColor; private KeyguardUpdateMonitorCallback mInfoCallback = new KeyguardUpdateMonitorCallback() { @@ -126,8 +131,11 @@ public class KeyguardStatusView extends GridLayout { mClockView.setAccessibilityDelegate(new KeyguardClockAccessibilityDelegate(mContext)); mOwnerInfo = findViewById(R.id.owner_info); mBatteryDoze = findViewById(R.id.battery_doze); - mVisibleInDoze = new View[]{mBatteryDoze, mClockView}; + mKeyguardStatusArea = findViewById(R.id.keyguard_status_area); + mVisibleInDoze = new View[]{mBatteryDoze, mClockView, mKeyguardStatusArea}; mTextColor = mClockView.getCurrentTextColor(); + mDateTextColor = mDateView.getCurrentTextColor(); + mAlarmTextColor = mAlarmStatusView.getCurrentTextColor(); boolean shouldMarquee = KeyguardUpdateMonitor.getInstance(mContext).isDeviceInteractive(); setEnableMarquee(shouldMarquee); @@ -186,8 +194,7 @@ public class KeyguardStatusView extends GridLayout { } public int getClockBottom() { - return mClockView.getBottom() + - ((MarginLayoutParams) mClockView.getLayoutParams()).bottomMargin; + return mKeyguardStatusArea.getBottom(); } public float getClockTextSize() { @@ -304,6 +311,10 @@ public class KeyguardStatusView extends GridLayout { updateDozeVisibleViews(); mBatteryDoze.setDark(dark); mClockView.setTextColor(ColorUtils.blendARGB(mTextColor, Color.WHITE, darkAmount)); + mDateView.setTextColor(ColorUtils.blendARGB(mDateTextColor, Color.WHITE, darkAmount)); + int blendedAlarmColor = ColorUtils.blendARGB(mAlarmTextColor, Color.WHITE, darkAmount); + mAlarmStatusView.setTextColor(blendedAlarmColor); + mAlarmStatusView.setCompoundDrawableTintList(ColorStateList.valueOf(blendedAlarmColor)); } public void setPulsing(boolean pulsing) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java index 652288d57fe30..e65bab6b40326 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java @@ -78,6 +78,7 @@ public class KeyguardClockPositionAlgorithm { private AccelerateInterpolator mAccelerateInterpolator = new AccelerateInterpolator(); private int mClockBottom; private float mDarkAmount; + private int mDozingStackPadding; /** * Refreshes the dimension values. @@ -97,6 +98,7 @@ public class KeyguardClockPositionAlgorithm { R.dimen.burn_in_prevention_offset_x); mBurnInPreventionOffsetY = res.getDimensionPixelSize( R.dimen.burn_in_prevention_offset_y); + mDozingStackPadding = res.getDimensionPixelSize(R.dimen.dozing_stack_padding); } public void setup(int maxKeyguardNotifications, int maxPanelHeight, float expandedHeight, @@ -135,7 +137,7 @@ public class KeyguardClockPositionAlgorithm { result.stackScrollerPadding = (int) interpolate( result.stackScrollerPadding, - mClockBottom + y, + mClockBottom + y + mDozingStackPadding, mDarkAmount); result.clockX = (int) interpolate(0, burnInPreventionOffsetX(), mDarkAmount);