From ffbe315d43da0506437be06ed20038bb84b006b6 Mon Sep 17 00:00:00 2001 From: Robert Snoeberger Date: Thu, 8 Nov 2018 15:53:27 -0500 Subject: [PATCH] Add dozeTimeTick method to ClockPlugin interface. dozeTimeTick implementations provided by clock plugins should update the time of the clock while the device is dozing and deal with burn-in related issues. Bug: 119035943 Test: KeyguardClockSwitchTest passes locally. Test: Custom clock updates with time on AOD screen. Change-Id: I5c31e6d856c5a80dc3e501831dda5a62c0be5ba0 --- .../src/com/android/systemui/plugins/ClockPlugin.java | 9 +++++++-- .../src/com/android/keyguard/KeyguardClockSwitch.java | 9 +++++++++ .../src/com/android/keyguard/KeyguardStatusView.java | 2 +- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/ClockPlugin.java b/packages/SystemUI/plugin/src/com/android/systemui/plugins/ClockPlugin.java index b4fc82018303e..887ea59a0b81c 100644 --- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/ClockPlugin.java +++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/ClockPlugin.java @@ -13,11 +13,11 @@ */ package com.android.systemui.plugins; -import com.android.systemui.plugins.annotations.ProvidesInterface; - import android.graphics.Paint.Style; import android.view.View; +import com.android.systemui.plugins.annotations.ProvidesInterface; + /** * This plugin is used to replace main clock in keyguard. */ @@ -44,4 +44,9 @@ public interface ClockPlugin extends Plugin { * @param color A color value. */ void setTextColor(int color); + + /** + * Notifies that time tick alarm from doze service fired. + */ + default void dozeTimeTick() { } } diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java index 013745aea409e..8881f8a696076 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java @@ -142,6 +142,15 @@ public class KeyguardClockSwitch extends FrameLayout { mClockView.refresh(); } + /** + * Notifies that time tick alarm from doze service fired. + */ + public void dozeTimeTick() { + if (mClockPlugin != null) { + mClockPlugin.dozeTimeTick(); + } + } + /** * When plugin changes, set all kept parameters into newer plugin. */ diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java index a403b751b5489..f701e229295e0 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java @@ -47,7 +47,6 @@ import com.android.internal.widget.ViewClippingUtil; import com.android.systemui.Dependency; import com.android.systemui.Interpolators; import com.android.systemui.statusbar.policy.ConfigurationController; -import com.android.systemui.util.wakelock.KeepAwakeAnimationListener; import com.google.android.collect.Sets; @@ -276,6 +275,7 @@ public class KeyguardStatusView extends GridLayout implements public void dozeTimeTick() { refreshTime(); mKeyguardSlice.refresh(); + mClockView.dozeTimeTick(); } private void refreshTime() {