Add setDarkAmount method to ClockPlugin interface.

setDarmAmount implementations provided by clock plugins
should use the dark amount to transition into and out
of the doze state on AOD. For example, the size of the
clock could shrink in the Y direction when leaving doze
to make room for the notification stack scroller.

Bug: 119035943
Test: KeyguardClockSwitchTest passes locally.
Change-Id: I9968dc2cc5ab8000ff525f3d1d06ffbf73359086
This commit is contained in:
Robert Snoeberger
2018-11-12 08:38:34 -05:00
parent 56b5a1fbe4
commit e32efd76af
3 changed files with 17 additions and 0 deletions

View File

@@ -49,4 +49,10 @@ public interface ClockPlugin extends Plugin {
* Notifies that time tick alarm from doze service fired.
*/
default void dozeTimeTick() { }
/**
* Set the amount (ratio) that the device has transitioned to doze.
* @param darkAmount Amount of transition to doze: 1f for doze and 0f for awake.
*/
default void setDarkAmount(float darkAmount) {}
}

View File

@@ -126,6 +126,16 @@ public class KeyguardClockSwitch extends FrameLayout {
mClockView.setFormat24Hour(format);
}
/**
* Set the amount (ratio) that the device has transitioned to doze.
* @param darkAmount Amount of transition to doze: 1f for doze and 0f for awake.
*/
public void setDarkAmount(float darkAmount) {
if (mClockPlugin != null) {
mClockPlugin.setDarkAmount(darkAmount);
}
}
public Paint getPaint() {
return mClockView.getPaint();
}

View File

@@ -385,6 +385,7 @@ public class KeyguardStatusView extends GridLayout implements
return;
}
mDarkAmount = darkAmount;
mClockView.setDarkAmount(darkAmount);
updateDark();
}