Merge "AOD: Fix wakeup transition jank" into oc-dr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
6efe486397
@@ -100,7 +100,6 @@ public class DozeUi implements DozeMachine.Part {
|
|||||||
|
|
||||||
private boolean shouldAnimateWakeup(DozeMachine.State state) {
|
private boolean shouldAnimateWakeup(DozeMachine.State state) {
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case DOZE_AOD:
|
|
||||||
case DOZE_REQUEST_PULSE:
|
case DOZE_REQUEST_PULSE:
|
||||||
case DOZE_PULSING:
|
case DOZE_PULSING:
|
||||||
case DOZE_PULSE_DONE:
|
case DOZE_PULSE_DONE:
|
||||||
|
|||||||
@@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
package com.android.systemui.keyguard;
|
package com.android.systemui.keyguard;
|
||||||
|
|
||||||
|
import android.os.Trace;
|
||||||
|
|
||||||
import com.android.systemui.Dumpable;
|
import com.android.systemui.Dumpable;
|
||||||
|
|
||||||
import java.io.FileDescriptor;
|
import java.io.FileDescriptor;
|
||||||
@@ -38,22 +40,22 @@ public class ScreenLifecycle extends Lifecycle<ScreenLifecycle.Observer> impleme
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void dispatchScreenTurningOn() {
|
public void dispatchScreenTurningOn() {
|
||||||
mScreenState = SCREEN_TURNING_ON;
|
setScreenState(SCREEN_TURNING_ON);
|
||||||
dispatch(Observer::onScreenTurningOn);
|
dispatch(Observer::onScreenTurningOn);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void dispatchScreenTurnedOn() {
|
public void dispatchScreenTurnedOn() {
|
||||||
mScreenState = SCREEN_ON;
|
setScreenState(SCREEN_ON);
|
||||||
dispatch(Observer::onScreenTurnedOn);
|
dispatch(Observer::onScreenTurnedOn);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void dispatchScreenTurningOff() {
|
public void dispatchScreenTurningOff() {
|
||||||
mScreenState = SCREEN_TURNING_OFF;
|
setScreenState(SCREEN_TURNING_OFF);
|
||||||
dispatch(Observer::onScreenTurningOff);
|
dispatch(Observer::onScreenTurningOff);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void dispatchScreenTurnedOff() {
|
public void dispatchScreenTurnedOff() {
|
||||||
mScreenState = SCREEN_OFF;
|
setScreenState(SCREEN_OFF);
|
||||||
dispatch(Observer::onScreenTurnedOff);
|
dispatch(Observer::onScreenTurnedOff);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -63,6 +65,11 @@ public class ScreenLifecycle extends Lifecycle<ScreenLifecycle.Observer> impleme
|
|||||||
pw.println(" mScreenState=" + mScreenState);
|
pw.println(" mScreenState=" + mScreenState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void setScreenState(int screenState) {
|
||||||
|
mScreenState = screenState;
|
||||||
|
Trace.traceCounter(Trace.TRACE_TAG_APP, "screenState", screenState);
|
||||||
|
}
|
||||||
|
|
||||||
public interface Observer {
|
public interface Observer {
|
||||||
default void onScreenTurningOn() {}
|
default void onScreenTurningOn() {}
|
||||||
default void onScreenTurnedOn() {}
|
default void onScreenTurnedOn() {}
|
||||||
|
|||||||
@@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
package com.android.systemui.keyguard;
|
package com.android.systemui.keyguard;
|
||||||
|
|
||||||
|
import android.os.Trace;
|
||||||
|
|
||||||
import com.android.systemui.Dumpable;
|
import com.android.systemui.Dumpable;
|
||||||
|
|
||||||
import java.io.FileDescriptor;
|
import java.io.FileDescriptor;
|
||||||
@@ -39,22 +41,22 @@ public class WakefulnessLifecycle extends Lifecycle<WakefulnessLifecycle.Observe
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void dispatchStartedWakingUp() {
|
public void dispatchStartedWakingUp() {
|
||||||
mWakefulness = WAKEFULNESS_WAKING;
|
setWakefulness(WAKEFULNESS_WAKING);
|
||||||
dispatch(Observer::onStartedWakingUp);
|
dispatch(Observer::onStartedWakingUp);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void dispatchFinishedWakingUp() {
|
public void dispatchFinishedWakingUp() {
|
||||||
mWakefulness = WAKEFULNESS_AWAKE;
|
setWakefulness(WAKEFULNESS_AWAKE);
|
||||||
dispatch(Observer::onFinishedWakingUp);
|
dispatch(Observer::onFinishedWakingUp);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void dispatchStartedGoingToSleep() {
|
public void dispatchStartedGoingToSleep() {
|
||||||
mWakefulness = WAKEFULNESS_GOING_TO_SLEEP;
|
setWakefulness(WAKEFULNESS_GOING_TO_SLEEP);
|
||||||
dispatch(Observer::onStartedGoingToSleep);
|
dispatch(Observer::onStartedGoingToSleep);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void dispatchFinishedGoingToSleep() {
|
public void dispatchFinishedGoingToSleep() {
|
||||||
mWakefulness = WAKEFULNESS_ASLEEP;
|
setWakefulness(WAKEFULNESS_ASLEEP);
|
||||||
dispatch(Observer::onFinishedGoingToSleep);
|
dispatch(Observer::onFinishedGoingToSleep);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -64,6 +66,11 @@ public class WakefulnessLifecycle extends Lifecycle<WakefulnessLifecycle.Observe
|
|||||||
pw.println(" mWakefulness=" + mWakefulness);
|
pw.println(" mWakefulness=" + mWakefulness);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void setWakefulness(int wakefulness) {
|
||||||
|
mWakefulness = wakefulness;
|
||||||
|
Trace.traceCounter(Trace.TRACE_TAG_APP, "wakefulness", wakefulness);
|
||||||
|
}
|
||||||
|
|
||||||
public interface Observer {
|
public interface Observer {
|
||||||
default void onStartedWakingUp() {}
|
default void onStartedWakingUp() {}
|
||||||
default void onFinishedWakingUp() {}
|
default void onFinishedWakingUp() {}
|
||||||
|
|||||||
@@ -232,6 +232,7 @@ public class NotificationPanelView extends PanelView implements
|
|||||||
private int mAmbientIndicationBottomPadding;
|
private int mAmbientIndicationBottomPadding;
|
||||||
private boolean mIsFullWidth;
|
private boolean mIsFullWidth;
|
||||||
private float mDarkAmount;
|
private float mDarkAmount;
|
||||||
|
private float mDarkAmountTarget;
|
||||||
private LockscreenGestureLogger mLockscreenGestureLogger = new LockscreenGestureLogger();
|
private LockscreenGestureLogger mLockscreenGestureLogger = new LockscreenGestureLogger();
|
||||||
private boolean mNoVisibleNotifications = true;
|
private boolean mNoVisibleNotifications = true;
|
||||||
private ValueAnimator mDarkAnimator;
|
private ValueAnimator mDarkAnimator;
|
||||||
@@ -2590,8 +2591,13 @@ public class NotificationPanelView extends PanelView implements
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (mDarkAnimator != null && mDarkAnimator.isRunning()) {
|
if (mDarkAnimator != null && mDarkAnimator.isRunning()) {
|
||||||
|
if (animate && mDarkAmountTarget == darkAmount) {
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
mDarkAnimator.cancel();
|
mDarkAnimator.cancel();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
mDarkAmountTarget = darkAmount;
|
||||||
if (animate) {
|
if (animate) {
|
||||||
mDarkAnimator = ObjectAnimator.ofFloat(this, SET_DARK_AMOUNT_PROPERTY, darkAmount);
|
mDarkAnimator = ObjectAnimator.ofFloat(this, SET_DARK_AMOUNT_PROPERTY, darkAmount);
|
||||||
mDarkAnimator.setInterpolator(Interpolators.LINEAR_OUT_SLOW_IN);
|
mDarkAnimator.setInterpolator(Interpolators.LINEAR_OUT_SLOW_IN);
|
||||||
|
|||||||
@@ -4620,6 +4620,7 @@ public class StatusBar extends SystemUI implements DemoMode,
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void updateDozingState() {
|
private void updateDozingState() {
|
||||||
|
Trace.traceCounter(Trace.TRACE_TAG_APP, "dozing", mDozing ? 1 : 0);
|
||||||
Trace.beginSection("StatusBar#updateDozingState");
|
Trace.beginSection("StatusBar#updateDozingState");
|
||||||
boolean animate = !mDozing && mDozeServiceHost.shouldAnimateWakeup();
|
boolean animate = !mDozing && mDozeServiceHost.shouldAnimateWakeup();
|
||||||
mNotificationPanel.setDozing(mDozing, animate);
|
mNotificationPanel.setDozing(mDozing, animate);
|
||||||
@@ -5502,6 +5503,11 @@ public class StatusBar extends SystemUI implements DemoMode,
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setAnimateWakeup(boolean animateWakeup) {
|
public void setAnimateWakeup(boolean animateWakeup) {
|
||||||
|
if (mWakefulnessLifecycle.getWakefulness() == WAKEFULNESS_AWAKE
|
||||||
|
|| mWakefulnessLifecycle.getWakefulness() == WAKEFULNESS_WAKING) {
|
||||||
|
// Too late to change the wakeup animation.
|
||||||
|
return;
|
||||||
|
}
|
||||||
mAnimateWakeup = animateWakeup;
|
mAnimateWakeup = animateWakeup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user