Loading packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java +1 −0 Original line number Diff line number Diff line Loading @@ -781,6 +781,7 @@ public class UdfpsController implements DozeReceiver { mKeyguardViewMediator, mLockscreenShadeTransitionController, mConfigurationController, mKeyguardStateController, this ); case IUdfpsOverlayController.REASON_AUTH_BP: Loading packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.java +42 −2 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import com.android.systemui.statusbar.phone.KeyguardBouncer; import com.android.systemui.statusbar.phone.StatusBar; import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.util.concurrency.DelayableExecutor; import java.io.FileDescriptor; Loading @@ -50,6 +51,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud @NonNull private final KeyguardViewMediator mKeyguardViewMediator; @NonNull private final LockscreenShadeTransitionController mLockScreenShadeTransitionController; @NonNull private final ConfigurationController mConfigurationController; @NonNull private final KeyguardStateController mKeyguardStateController; @NonNull private final UdfpsController mUdfpsController; private boolean mShowingUdfpsBouncer; Loading @@ -60,6 +62,9 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud private float mTransitionToFullShadeProgress; private float mLastDozeAmount; private float mStatusBarExpansion; private boolean mLaunchTransitionFadingAway; /** * hidden amount of pin/pattern/password bouncer * {@link KeyguardBouncer#EXPANSION_VISIBLE} (0f) to Loading @@ -79,6 +84,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud @NonNull KeyguardViewMediator keyguardViewMediator, @NonNull LockscreenShadeTransitionController transitionController, @NonNull ConfigurationController configurationController, @NonNull KeyguardStateController keyguardStateController, @NonNull UdfpsController udfpsController) { super(view, statusBarStateController, statusBar, dumpManager); mKeyguardViewManager = statusBarKeyguardViewManager; Loading @@ -87,6 +93,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud mKeyguardViewMediator = keyguardViewMediator; mLockScreenShadeTransitionController = transitionController; mConfigurationController = configurationController; mKeyguardStateController = keyguardStateController; mUdfpsController = udfpsController; } Loading @@ -105,11 +112,14 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud mUdfpsRequested = false; mLaunchTransitionFadingAway = mKeyguardStateController.isLaunchTransitionFadingAway(); mKeyguardStateController.addCallback(mKeyguardStateControllerCallback); mStatusBarState = mStatusBarStateController.getState(); mQsExpanded = mKeyguardViewManager.isQsExpanded(); mInputBouncerHiddenAmount = KeyguardBouncer.EXPANSION_HIDDEN; mIsBouncerVisible = mKeyguardViewManager.bouncerIsOrWillBeShowing(); mConfigurationController.addCallback(mConfigurationListener); mStatusBar.addExpansionChangedListener(mStatusBarExpansionChangedListener); updateAlpha(); updatePauseAuth(); Loading @@ -122,10 +132,12 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud super.onViewDetached(); mFaceDetectRunning = false; mKeyguardStateController.removeCallback(mKeyguardStateControllerCallback); mStatusBarStateController.removeCallback(mStateListener); mKeyguardViewManager.removeAlternateAuthInterceptor(mAlternateAuthInterceptor); mKeyguardUpdateMonitor.requestFaceAuthOnOccludingApp(false); mConfigurationController.removeCallback(mConfigurationListener); mStatusBar.removeExpansionChangedListener(mStatusBarExpansionChangedListener); if (mLockScreenShadeTransitionController.getUdfpsKeyguardViewController() == this) { mLockScreenShadeTransitionController.setUdfpsKeyguardViewController(null); } Loading @@ -140,9 +152,11 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud pw.println("mQsExpanded=" + mQsExpanded); pw.println("mIsBouncerVisible=" + mIsBouncerVisible); pw.println("mInputBouncerHiddenAmount=" + mInputBouncerHiddenAmount); pw.println("mStatusBarExpansion=" + mStatusBarExpansion); pw.println("mAlpha=" + mView.getAlpha()); pw.println("mUdfpsRequested=" + mUdfpsRequested); pw.println("mView.mUdfpsRequested=" + mView.mUdfpsRequested); pw.println("mLaunchTransitionFadingAway=" + mLaunchTransitionFadingAway); } /** Loading Loading @@ -189,6 +203,10 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud return false; } if (mLaunchTransitionFadingAway) { return true; } if (mStatusBarState != KEYGUARD) { return true; } Loading Loading @@ -237,10 +255,13 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud } private void updateAlpha() { // fade icon on transition to showing bouncer // fade icon on transitions to showing the status bar, but if mUdfpsRequested, then // the keyguard is occluded by some application - so instead use the input bouncer // hidden amount to determine the fade float expansion = mUdfpsRequested ? mInputBouncerHiddenAmount : mStatusBarExpansion; int alpha = mShowingUdfpsBouncer ? 255 : (int) MathUtils.constrain( MathUtils.map(.5f, .9f, 0f, 255f, mInputBouncerHiddenAmount), MathUtils.map(.5f, .9f, 0f, 255f, expansion), 0f, 255f); alpha *= (1.0f - mTransitionToFullShadeProgress); mView.setUnpausedAlpha(alpha); Loading Loading @@ -356,4 +377,23 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud mView.updateColor(); } }; private final StatusBar.ExpansionChangedListener mStatusBarExpansionChangedListener = new StatusBar.ExpansionChangedListener() { @Override public void onExpansionChanged(float expansion, boolean expanded) { mStatusBarExpansion = expansion; updateAlpha(); } }; private final KeyguardStateController.Callback mKeyguardStateControllerCallback = new KeyguardStateController.Callback() { @Override public void onLaunchTransitionFadingAwayChanged() { mLaunchTransitionFadingAway = mKeyguardStateController.isLaunchTransitionFadingAway(); updatePauseAuth(); } }; } packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +11 −0 Original line number Diff line number Diff line Loading @@ -1148,6 +1148,9 @@ public class StatusBar extends SystemUI implements DemoMode, mStatusBarView.setPanel(mNotificationPanelViewController); mStatusBarView.setScrimController(mScrimController); mStatusBarView.setExpansionChangedListeners(mExpansionChangedListeners); for (ExpansionChangedListener listener : mExpansionChangedListeners) { sendInitialExpansionAmount(listener); } // CollapsedStatusBarFragment re-inflated PhoneStatusBarView and both of // mStatusBarView.mExpanded and mStatusBarView.mBouncerShowing are false. Loading Loading @@ -4932,6 +4935,14 @@ public class StatusBar extends SystemUI implements DemoMode, public void addExpansionChangedListener(@NonNull ExpansionChangedListener listener) { mExpansionChangedListeners.add(listener); sendInitialExpansionAmount(listener); } private void sendInitialExpansionAmount(ExpansionChangedListener expansionChangedListener) { if (mStatusBarView != null) { expansionChangedListener.onExpansionChanged(mStatusBarView.getExpansionFraction(), mStatusBarView.isExpanded()); } } public void removeExpansionChangedListener(@NonNull ExpansionChangedListener listener) { Loading packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardStateController.java +6 −0 Original line number Diff line number Diff line Loading @@ -245,5 +245,11 @@ public interface KeyguardStateController extends CallbackController<Callback> { * animation. */ default void onKeyguardDismissAmountChanged() {} /** * Triggered when the notification panel is starting or has finished * fading away on transition to an app. */ default void onLaunchTransitionFadingAwayChanged() {} } } packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardStateControllerImpl.java +1 −0 Original line number Diff line number Diff line Loading @@ -343,6 +343,7 @@ public class KeyguardStateControllerImpl implements KeyguardStateController, Dum @Override public void setLaunchTransitionFadingAway(boolean fadingAway) { mLaunchTransitionFadingAway = fadingAway; new ArrayList<>(mCallbacks).forEach(Callback::onLaunchTransitionFadingAwayChanged); } @Override Loading Loading
packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java +1 −0 Original line number Diff line number Diff line Loading @@ -781,6 +781,7 @@ public class UdfpsController implements DozeReceiver { mKeyguardViewMediator, mLockscreenShadeTransitionController, mConfigurationController, mKeyguardStateController, this ); case IUdfpsOverlayController.REASON_AUTH_BP: Loading
packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.java +42 −2 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import com.android.systemui.statusbar.phone.KeyguardBouncer; import com.android.systemui.statusbar.phone.StatusBar; import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.util.concurrency.DelayableExecutor; import java.io.FileDescriptor; Loading @@ -50,6 +51,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud @NonNull private final KeyguardViewMediator mKeyguardViewMediator; @NonNull private final LockscreenShadeTransitionController mLockScreenShadeTransitionController; @NonNull private final ConfigurationController mConfigurationController; @NonNull private final KeyguardStateController mKeyguardStateController; @NonNull private final UdfpsController mUdfpsController; private boolean mShowingUdfpsBouncer; Loading @@ -60,6 +62,9 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud private float mTransitionToFullShadeProgress; private float mLastDozeAmount; private float mStatusBarExpansion; private boolean mLaunchTransitionFadingAway; /** * hidden amount of pin/pattern/password bouncer * {@link KeyguardBouncer#EXPANSION_VISIBLE} (0f) to Loading @@ -79,6 +84,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud @NonNull KeyguardViewMediator keyguardViewMediator, @NonNull LockscreenShadeTransitionController transitionController, @NonNull ConfigurationController configurationController, @NonNull KeyguardStateController keyguardStateController, @NonNull UdfpsController udfpsController) { super(view, statusBarStateController, statusBar, dumpManager); mKeyguardViewManager = statusBarKeyguardViewManager; Loading @@ -87,6 +93,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud mKeyguardViewMediator = keyguardViewMediator; mLockScreenShadeTransitionController = transitionController; mConfigurationController = configurationController; mKeyguardStateController = keyguardStateController; mUdfpsController = udfpsController; } Loading @@ -105,11 +112,14 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud mUdfpsRequested = false; mLaunchTransitionFadingAway = mKeyguardStateController.isLaunchTransitionFadingAway(); mKeyguardStateController.addCallback(mKeyguardStateControllerCallback); mStatusBarState = mStatusBarStateController.getState(); mQsExpanded = mKeyguardViewManager.isQsExpanded(); mInputBouncerHiddenAmount = KeyguardBouncer.EXPANSION_HIDDEN; mIsBouncerVisible = mKeyguardViewManager.bouncerIsOrWillBeShowing(); mConfigurationController.addCallback(mConfigurationListener); mStatusBar.addExpansionChangedListener(mStatusBarExpansionChangedListener); updateAlpha(); updatePauseAuth(); Loading @@ -122,10 +132,12 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud super.onViewDetached(); mFaceDetectRunning = false; mKeyguardStateController.removeCallback(mKeyguardStateControllerCallback); mStatusBarStateController.removeCallback(mStateListener); mKeyguardViewManager.removeAlternateAuthInterceptor(mAlternateAuthInterceptor); mKeyguardUpdateMonitor.requestFaceAuthOnOccludingApp(false); mConfigurationController.removeCallback(mConfigurationListener); mStatusBar.removeExpansionChangedListener(mStatusBarExpansionChangedListener); if (mLockScreenShadeTransitionController.getUdfpsKeyguardViewController() == this) { mLockScreenShadeTransitionController.setUdfpsKeyguardViewController(null); } Loading @@ -140,9 +152,11 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud pw.println("mQsExpanded=" + mQsExpanded); pw.println("mIsBouncerVisible=" + mIsBouncerVisible); pw.println("mInputBouncerHiddenAmount=" + mInputBouncerHiddenAmount); pw.println("mStatusBarExpansion=" + mStatusBarExpansion); pw.println("mAlpha=" + mView.getAlpha()); pw.println("mUdfpsRequested=" + mUdfpsRequested); pw.println("mView.mUdfpsRequested=" + mView.mUdfpsRequested); pw.println("mLaunchTransitionFadingAway=" + mLaunchTransitionFadingAway); } /** Loading Loading @@ -189,6 +203,10 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud return false; } if (mLaunchTransitionFadingAway) { return true; } if (mStatusBarState != KEYGUARD) { return true; } Loading Loading @@ -237,10 +255,13 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud } private void updateAlpha() { // fade icon on transition to showing bouncer // fade icon on transitions to showing the status bar, but if mUdfpsRequested, then // the keyguard is occluded by some application - so instead use the input bouncer // hidden amount to determine the fade float expansion = mUdfpsRequested ? mInputBouncerHiddenAmount : mStatusBarExpansion; int alpha = mShowingUdfpsBouncer ? 255 : (int) MathUtils.constrain( MathUtils.map(.5f, .9f, 0f, 255f, mInputBouncerHiddenAmount), MathUtils.map(.5f, .9f, 0f, 255f, expansion), 0f, 255f); alpha *= (1.0f - mTransitionToFullShadeProgress); mView.setUnpausedAlpha(alpha); Loading Loading @@ -356,4 +377,23 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud mView.updateColor(); } }; private final StatusBar.ExpansionChangedListener mStatusBarExpansionChangedListener = new StatusBar.ExpansionChangedListener() { @Override public void onExpansionChanged(float expansion, boolean expanded) { mStatusBarExpansion = expansion; updateAlpha(); } }; private final KeyguardStateController.Callback mKeyguardStateControllerCallback = new KeyguardStateController.Callback() { @Override public void onLaunchTransitionFadingAwayChanged() { mLaunchTransitionFadingAway = mKeyguardStateController.isLaunchTransitionFadingAway(); updatePauseAuth(); } }; }
packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +11 −0 Original line number Diff line number Diff line Loading @@ -1148,6 +1148,9 @@ public class StatusBar extends SystemUI implements DemoMode, mStatusBarView.setPanel(mNotificationPanelViewController); mStatusBarView.setScrimController(mScrimController); mStatusBarView.setExpansionChangedListeners(mExpansionChangedListeners); for (ExpansionChangedListener listener : mExpansionChangedListeners) { sendInitialExpansionAmount(listener); } // CollapsedStatusBarFragment re-inflated PhoneStatusBarView and both of // mStatusBarView.mExpanded and mStatusBarView.mBouncerShowing are false. Loading Loading @@ -4932,6 +4935,14 @@ public class StatusBar extends SystemUI implements DemoMode, public void addExpansionChangedListener(@NonNull ExpansionChangedListener listener) { mExpansionChangedListeners.add(listener); sendInitialExpansionAmount(listener); } private void sendInitialExpansionAmount(ExpansionChangedListener expansionChangedListener) { if (mStatusBarView != null) { expansionChangedListener.onExpansionChanged(mStatusBarView.getExpansionFraction(), mStatusBarView.isExpanded()); } } public void removeExpansionChangedListener(@NonNull ExpansionChangedListener listener) { Loading
packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardStateController.java +6 −0 Original line number Diff line number Diff line Loading @@ -245,5 +245,11 @@ public interface KeyguardStateController extends CallbackController<Callback> { * animation. */ default void onKeyguardDismissAmountChanged() {} /** * Triggered when the notification panel is starting or has finished * fading away on transition to an app. */ default void onLaunchTransitionFadingAwayChanged() {} } }
packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardStateControllerImpl.java +1 −0 Original line number Diff line number Diff line Loading @@ -343,6 +343,7 @@ public class KeyguardStateControllerImpl implements KeyguardStateController, Dum @Override public void setLaunchTransitionFadingAway(boolean fadingAway) { mLaunchTransitionFadingAway = fadingAway; new ArrayList<>(mCallbacks).forEach(Callback::onLaunchTransitionFadingAwayChanged); } @Override Loading