Loading packages/SystemUI/src/com/android/keyguard/LockIconViewController.java +7 −1 Original line number Original line Diff line number Diff line Loading @@ -650,7 +650,7 @@ public class LockIconViewController extends ViewController<LockIconView> impleme Process.myUid(), Process.myUid(), getContext().getOpPackageName(), getContext().getOpPackageName(), UdfpsController.EFFECT_CLICK, UdfpsController.EFFECT_CLICK, "lock-icon-device-entry", "lock-screen-lock-icon-longpress", TOUCH_VIBRATION_ATTRIBUTES); TOUCH_VIBRATION_ATTRIBUTES); mKeyguardViewController.showBouncer(/* scrim */ true); mKeyguardViewController.showBouncer(/* scrim */ true); Loading @@ -675,6 +675,12 @@ public class LockIconViewController extends ViewController<LockIconView> impleme } } private boolean isActionable() { private boolean isActionable() { if (mIsBouncerShowing) { Log.v(TAG, "lock icon long-press ignored, bouncer already showing."); // a long press gestures from AOD may have already triggered the bouncer to show, // so this touch is no longer actionable return false; } return mUdfpsSupported || mShowUnlockIcon; return mUdfpsSupported || mShowUnlockIcon; } } Loading packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java +20 −2 Original line number Original line Diff line number Diff line Loading @@ -20,6 +20,7 @@ import static android.hardware.biometrics.BiometricFingerprintConstants.FINGERPR import static android.hardware.biometrics.BiometricOverlayConstants.REASON_AUTH_KEYGUARD; import static android.hardware.biometrics.BiometricOverlayConstants.REASON_AUTH_KEYGUARD; import static com.android.internal.util.Preconditions.checkNotNull; import static com.android.internal.util.Preconditions.checkNotNull; import static com.android.systemui.classifier.Classifier.LOCK_ICON; import static com.android.systemui.classifier.Classifier.UDFPS_AUTHENTICATION; import static com.android.systemui.classifier.Classifier.UDFPS_AUTHENTICATION; import android.annotation.NonNull; import android.annotation.NonNull; Loading Loading @@ -167,11 +168,16 @@ public class UdfpsController implements DozeReceiver { private final Set<Callback> mCallbacks = new HashSet<>(); private final Set<Callback> mCallbacks = new HashSet<>(); @VisibleForTesting @VisibleForTesting public static final VibrationAttributes VIBRATION_ATTRIBUTES = public static final VibrationAttributes UDFPS_VIBRATION_ATTRIBUTES = new VibrationAttributes.Builder() new VibrationAttributes.Builder() // vibration will bypass battery saver mode: // vibration will bypass battery saver mode: .setUsage(VibrationAttributes.USAGE_COMMUNICATION_REQUEST) .setUsage(VibrationAttributes.USAGE_COMMUNICATION_REQUEST) .build(); .build(); @VisibleForTesting public static final VibrationAttributes LOCK_ICON_VIBRATION_ATTRIBUTES = new VibrationAttributes.Builder() .setUsage(VibrationAttributes.USAGE_TOUCH) .build(); // haptic to use for successful device entry // haptic to use for successful device entry public static final VibrationEffect EFFECT_CLICK = public static final VibrationEffect EFFECT_CLICK = Loading Loading @@ -671,7 +677,7 @@ public class UdfpsController implements DozeReceiver { mContext.getOpPackageName(), mContext.getOpPackageName(), EFFECT_CLICK, EFFECT_CLICK, "udfps-onStart-click", "udfps-onStart-click", VIBRATION_ATTRIBUTES); UDFPS_VIBRATION_ATTRIBUTES); } } } } Loading Loading @@ -748,7 +754,19 @@ public class UdfpsController implements DozeReceiver { } } if (!mKeyguardUpdateMonitor.isFingerprintDetectionRunning()) { if (!mKeyguardUpdateMonitor.isFingerprintDetectionRunning()) { if (mFalsingManager.isFalseTouch(LOCK_ICON)) { Log.v(TAG, "aod lock icon long-press rejected by the falsing manager."); return; } mKeyguardViewManager.showBouncer(true); mKeyguardViewManager.showBouncer(true); // play the same haptic as the LockIconViewController longpress mVibrator.vibrate( Process.myUid(), mContext.getOpPackageName(), UdfpsController.EFFECT_CLICK, "aod-lock-icon-longpress", LOCK_ICON_VIBRATION_ATTRIBUTES); return; return; } } Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfaces.java +0 −2 Original line number Original line Diff line number Diff line Loading @@ -560,8 +560,6 @@ public interface CentralSurfaces extends Dumpable, ActivityStarter, LifecycleOwn void setLaunchEmergencyActionOnFinishedWaking(boolean launch); void setLaunchEmergencyActionOnFinishedWaking(boolean launch); void setTopHidesStatusBar(boolean hides); QSPanelController getQSPanelController(); QSPanelController getQSPanelController(); boolean areNotificationAlertsDisabled(); boolean areNotificationAlertsDisabled(); Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java +11 −36 Original line number Original line Diff line number Diff line Loading @@ -148,7 +148,6 @@ import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.dagger.qualifiers.UiBackground; import com.android.systemui.dagger.qualifiers.UiBackground; import com.android.systemui.demomode.DemoMode; import com.android.systemui.demomode.DemoMode; import com.android.systemui.demomode.DemoModeController; import com.android.systemui.demomode.DemoModeController; import com.android.systemui.dreams.DreamOverlayStateController; import com.android.systemui.emergency.EmergencyGesture; import com.android.systemui.emergency.EmergencyGesture; import com.android.systemui.flags.FeatureFlags; import com.android.systemui.flags.FeatureFlags; import com.android.systemui.flags.Flags; import com.android.systemui.flags.Flags; Loading Loading @@ -198,7 +197,6 @@ import com.android.systemui.statusbar.PowerButtonReveal; import com.android.systemui.statusbar.PulseExpansionHandler; import com.android.systemui.statusbar.PulseExpansionHandler; import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.SysuiStatusBarStateController; import com.android.systemui.statusbar.SysuiStatusBarStateController; import com.android.systemui.statusbar.connectivity.NetworkController; import com.android.systemui.statusbar.core.StatusBarInitializer; import com.android.systemui.statusbar.core.StatusBarInitializer; import com.android.systemui.statusbar.notification.DynamicPrivacyController; import com.android.systemui.statusbar.notification.DynamicPrivacyController; import com.android.systemui.statusbar.notification.NotifPipelineFlags; import com.android.systemui.statusbar.notification.NotifPipelineFlags; Loading @@ -207,7 +205,6 @@ import com.android.systemui.statusbar.notification.NotificationEntryManager; import com.android.systemui.statusbar.notification.NotificationLaunchAnimatorControllerProvider; import com.android.systemui.statusbar.notification.NotificationLaunchAnimatorControllerProvider; import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator; import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator; import com.android.systemui.statusbar.notification.collection.legacy.VisualStabilityManager; import com.android.systemui.statusbar.notification.collection.legacy.VisualStabilityManager; import com.android.systemui.statusbar.notification.collection.render.NotifShadeEventSource; import com.android.systemui.statusbar.notification.init.NotificationsController; import com.android.systemui.statusbar.notification.init.NotificationsController; import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider; import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider; import com.android.systemui.statusbar.notification.logging.NotificationLogger; import com.android.systemui.statusbar.notification.logging.NotificationLogger; Loading Loading @@ -238,7 +235,6 @@ import com.android.systemui.util.WallpaperController; import com.android.systemui.util.concurrency.DelayableExecutor; import com.android.systemui.util.concurrency.DelayableExecutor; import com.android.systemui.util.concurrency.MessageRouter; import com.android.systemui.util.concurrency.MessageRouter; import com.android.systemui.volume.VolumeComponent; import com.android.systemui.volume.VolumeComponent; import com.android.systemui.wmshell.BubblesManager; import com.android.wm.shell.bubbles.Bubbles; import com.android.wm.shell.bubbles.Bubbles; import com.android.wm.shell.startingsurface.SplashscreenContentDrawer; import com.android.wm.shell.startingsurface.SplashscreenContentDrawer; import com.android.wm.shell.startingsurface.StartingSurface; import com.android.wm.shell.startingsurface.StartingSurface; Loading Loading @@ -307,7 +303,6 @@ public class CentralSurfacesImpl extends CoreStartable implements } } private final LockscreenShadeTransitionController mLockscreenShadeTransitionController; private final LockscreenShadeTransitionController mLockscreenShadeTransitionController; private final DreamOverlayStateController mDreamOverlayStateController; private CentralSurfacesCommandQueueCallbacks mCommandQueueCallbacks; private CentralSurfacesCommandQueueCallbacks mCommandQueueCallbacks; private float mTransitionToFullShadeProgress = 0f; private float mTransitionToFullShadeProgress = 0f; private NotificationListContainer mNotifListContainer; private NotificationListContainer mNotifListContainer; Loading Loading @@ -404,11 +399,6 @@ public class CentralSurfacesImpl extends CoreStartable implements mLaunchEmergencyActionWhenFinishedWaking = launch; mLaunchEmergencyActionWhenFinishedWaking = launch; } } @Override public void setTopHidesStatusBar(boolean hides) { mTopHidesStatusBar = hides; } @Override @Override public QSPanelController getQSPanelController() { public QSPanelController getQSPanelController() { return mQSPanelController; return mQSPanelController; Loading Loading @@ -452,7 +442,6 @@ public class CentralSurfacesImpl extends CoreStartable implements private BiometricUnlockController mBiometricUnlockController; private BiometricUnlockController mBiometricUnlockController; private final LightBarController mLightBarController; private final LightBarController mLightBarController; private final Lazy<LockscreenWallpaper> mLockscreenWallpaperLazy; private final Lazy<LockscreenWallpaper> mLockscreenWallpaperLazy; private final LockscreenGestureLogger mLockscreenGestureLogger; @Nullable @Nullable protected LockscreenWallpaper mLockscreenWallpaper; protected LockscreenWallpaper mLockscreenWallpaper; private final AutoHideController mAutoHideController; private final AutoHideController mAutoHideController; Loading Loading @@ -519,9 +508,6 @@ public class CentralSurfacesImpl extends CoreStartable implements private boolean mExpandedVisible; private boolean mExpandedVisible; private final int[] mAbsPos = new int[2]; private final NotifShadeEventSource mNotifShadeEventSource; protected final NotificationEntryManager mEntryManager; protected final NotificationEntryManager mEntryManager; private final NotificationGutsManager mGutsManager; private final NotificationGutsManager mGutsManager; private final NotificationLogger mNotificationLogger; private final NotificationLogger mNotificationLogger; Loading Loading @@ -603,7 +589,6 @@ public class CentralSurfacesImpl extends CoreStartable implements } } } } private Handler mMainHandler; private final DelayableExecutor mMainExecutor; private final DelayableExecutor mMainExecutor; private int mInteractingWindows; private int mInteractingWindows; Loading Loading @@ -637,12 +622,9 @@ public class CentralSurfacesImpl extends CoreStartable implements // Fingerprint (as computed by getLoggingFingerprint() of the last logged state. // Fingerprint (as computed by getLoggingFingerprint() of the last logged state. private int mLastLoggedStateFingerprint; private int mLastLoggedStateFingerprint; private boolean mTopHidesStatusBar; private boolean mStatusBarWindowHidden; private boolean mIsLaunchingActivityOverLockscreen; private boolean mIsLaunchingActivityOverLockscreen; private final UserSwitcherController mUserSwitcherController; private final UserSwitcherController mUserSwitcherController; private final NetworkController mNetworkController; private final LifecycleRegistry mLifecycle = new LifecycleRegistry(this); private final LifecycleRegistry mLifecycle = new LifecycleRegistry(this); protected final BatteryController mBatteryController; protected final BatteryController mBatteryController; protected boolean mPanelExpanded; protected boolean mPanelExpanded; Loading @@ -662,7 +644,6 @@ public class CentralSurfacesImpl extends CoreStartable implements protected NotificationPresenter mPresenter; protected NotificationPresenter mPresenter; private NotificationActivityStarter mNotificationActivityStarter; private NotificationActivityStarter mNotificationActivityStarter; private final Lazy<NotificationShadeDepthController> mNotificationShadeDepthControllerLazy; private final Lazy<NotificationShadeDepthController> mNotificationShadeDepthControllerLazy; private final Optional<BubblesManager> mBubblesManagerOptional; private final Optional<Bubbles> mBubblesOptional; private final Optional<Bubbles> mBubblesOptional; private final Bubbles.BubbleExpandListener mBubbleExpandListener; private final Bubbles.BubbleExpandListener mBubbleExpandListener; private final Optional<StartingSurface> mStartingSurfaceOptional; private final Optional<StartingSurface> mStartingSurfaceOptional; Loading Loading @@ -704,7 +685,6 @@ public class CentralSurfacesImpl extends CoreStartable implements FalsingManager falsingManager, FalsingManager falsingManager, FalsingCollector falsingCollector, FalsingCollector falsingCollector, BroadcastDispatcher broadcastDispatcher, BroadcastDispatcher broadcastDispatcher, NotifShadeEventSource notifShadeEventSource, NotificationEntryManager notificationEntryManager, NotificationEntryManager notificationEntryManager, NotificationGutsManager notificationGutsManager, NotificationGutsManager notificationGutsManager, NotificationLogger notificationLogger, NotificationLogger notificationLogger, Loading @@ -719,13 +699,11 @@ public class CentralSurfacesImpl extends CoreStartable implements NotificationLockscreenUserManager lockScreenUserManager, NotificationLockscreenUserManager lockScreenUserManager, NotificationRemoteInputManager remoteInputManager, NotificationRemoteInputManager remoteInputManager, UserSwitcherController userSwitcherController, UserSwitcherController userSwitcherController, NetworkController networkController, BatteryController batteryController, BatteryController batteryController, SysuiColorExtractor colorExtractor, SysuiColorExtractor colorExtractor, ScreenLifecycle screenLifecycle, ScreenLifecycle screenLifecycle, WakefulnessLifecycle wakefulnessLifecycle, WakefulnessLifecycle wakefulnessLifecycle, SysuiStatusBarStateController statusBarStateController, SysuiStatusBarStateController statusBarStateController, Optional<BubblesManager> bubblesManagerOptional, Optional<Bubbles> bubblesOptional, Optional<Bubbles> bubblesOptional, VisualStabilityManager visualStabilityManager, VisualStabilityManager visualStabilityManager, DeviceProvisionedController deviceProvisionedController, DeviceProvisionedController deviceProvisionedController, Loading @@ -737,7 +715,6 @@ public class CentralSurfacesImpl extends CoreStartable implements DozeParameters dozeParameters, DozeParameters dozeParameters, ScrimController scrimController, ScrimController scrimController, Lazy<LockscreenWallpaper> lockscreenWallpaperLazy, Lazy<LockscreenWallpaper> lockscreenWallpaperLazy, LockscreenGestureLogger lockscreenGestureLogger, Lazy<BiometricUnlockController> biometricUnlockControllerLazy, Lazy<BiometricUnlockController> biometricUnlockControllerLazy, DozeServiceHost dozeServiceHost, DozeServiceHost dozeServiceHost, PowerManager powerManager, PowerManager powerManager, Loading Loading @@ -770,7 +747,6 @@ public class CentralSurfacesImpl extends CoreStartable implements LockscreenShadeTransitionController lockscreenShadeTransitionController, LockscreenShadeTransitionController lockscreenShadeTransitionController, FeatureFlags featureFlags, FeatureFlags featureFlags, KeyguardUnlockAnimationController keyguardUnlockAnimationController, KeyguardUnlockAnimationController keyguardUnlockAnimationController, @Main Handler mainHandler, @Main DelayableExecutor delayableExecutor, @Main DelayableExecutor delayableExecutor, @Main MessageRouter messageRouter, @Main MessageRouter messageRouter, WallpaperManager wallpaperManager, WallpaperManager wallpaperManager, Loading @@ -779,7 +755,6 @@ public class CentralSurfacesImpl extends CoreStartable implements NotifPipelineFlags notifPipelineFlags, NotifPipelineFlags notifPipelineFlags, InteractionJankMonitor jankMonitor, InteractionJankMonitor jankMonitor, DeviceStateManager deviceStateManager, DeviceStateManager deviceStateManager, DreamOverlayStateController dreamOverlayStateController, WiredChargingRippleController wiredChargingRippleController, WiredChargingRippleController wiredChargingRippleController, IDreamManager dreamManager) { IDreamManager dreamManager) { super(context); super(context); Loading @@ -800,7 +775,6 @@ public class CentralSurfacesImpl extends CoreStartable implements mFalsingCollector = falsingCollector; mFalsingCollector = falsingCollector; mFalsingManager = falsingManager; mFalsingManager = falsingManager; mBroadcastDispatcher = broadcastDispatcher; mBroadcastDispatcher = broadcastDispatcher; mNotifShadeEventSource = notifShadeEventSource; mEntryManager = notificationEntryManager; mEntryManager = notificationEntryManager; mGutsManager = notificationGutsManager; mGutsManager = notificationGutsManager; mNotificationLogger = notificationLogger; mNotificationLogger = notificationLogger; Loading @@ -815,13 +789,11 @@ public class CentralSurfacesImpl extends CoreStartable implements mLockscreenUserManager = lockScreenUserManager; mLockscreenUserManager = lockScreenUserManager; mRemoteInputManager = remoteInputManager; mRemoteInputManager = remoteInputManager; mUserSwitcherController = userSwitcherController; mUserSwitcherController = userSwitcherController; mNetworkController = networkController; mBatteryController = batteryController; mBatteryController = batteryController; mColorExtractor = colorExtractor; mColorExtractor = colorExtractor; mScreenLifecycle = screenLifecycle; mScreenLifecycle = screenLifecycle; mWakefulnessLifecycle = wakefulnessLifecycle; mWakefulnessLifecycle = wakefulnessLifecycle; mStatusBarStateController = statusBarStateController; mStatusBarStateController = statusBarStateController; mBubblesManagerOptional = bubblesManagerOptional; mBubblesOptional = bubblesOptional; mBubblesOptional = bubblesOptional; mVisualStabilityManager = visualStabilityManager; mVisualStabilityManager = visualStabilityManager; mDeviceProvisionedController = deviceProvisionedController; mDeviceProvisionedController = deviceProvisionedController; Loading @@ -835,7 +807,6 @@ public class CentralSurfacesImpl extends CoreStartable implements mDozeParameters = dozeParameters; mDozeParameters = dozeParameters; mScrimController = scrimController; mScrimController = scrimController; mLockscreenWallpaperLazy = lockscreenWallpaperLazy; mLockscreenWallpaperLazy = lockscreenWallpaperLazy; mLockscreenGestureLogger = lockscreenGestureLogger; mScreenPinningRequest = screenPinningRequest; mScreenPinningRequest = screenPinningRequest; mDozeScrimController = dozeScrimController; mDozeScrimController = dozeScrimController; mBiometricUnlockControllerLazy = biometricUnlockControllerLazy; mBiometricUnlockControllerLazy = biometricUnlockControllerLazy; Loading @@ -862,12 +833,10 @@ public class CentralSurfacesImpl extends CoreStartable implements mStatusBarHideIconsForBouncerManager = statusBarHideIconsForBouncerManager; mStatusBarHideIconsForBouncerManager = statusBarHideIconsForBouncerManager; mFeatureFlags = featureFlags; mFeatureFlags = featureFlags; mKeyguardUnlockAnimationController = keyguardUnlockAnimationController; mKeyguardUnlockAnimationController = keyguardUnlockAnimationController; mMainHandler = mainHandler; mMainExecutor = delayableExecutor; mMainExecutor = delayableExecutor; mMessageRouter = messageRouter; mMessageRouter = messageRouter; mWallpaperManager = wallpaperManager; mWallpaperManager = wallpaperManager; mJankMonitor = jankMonitor; mJankMonitor = jankMonitor; mDreamOverlayStateController = dreamOverlayStateController; mLockscreenShadeTransitionController = lockscreenShadeTransitionController; mLockscreenShadeTransitionController = lockscreenShadeTransitionController; mStartingSurfaceOptional = startingSurfaceOptional; mStartingSurfaceOptional = startingSurfaceOptional; Loading Loading @@ -1484,12 +1453,16 @@ public class CentralSurfacesImpl extends CoreStartable implements mPowerManager.wakeUp( mPowerManager.wakeUp( time, PowerManager.WAKE_REASON_GESTURE, "com.android.systemui:" + why); time, PowerManager.WAKE_REASON_GESTURE, "com.android.systemui:" + why); mWakeUpComingFromTouch = true; mWakeUpComingFromTouch = true; where.getLocationInWindow(mTmpInt2); // NOTE, the incoming view can sometimes be the entire container... unsure if // NOTE, the incoming view can sometimes be the entire container... unsure if // this location is valuable enough // this location is valuable enough if (where != null) { where.getLocationInWindow(mTmpInt2); mWakeUpTouchLocation = new PointF(mTmpInt2[0] + where.getWidth() / 2, mWakeUpTouchLocation = new PointF(mTmpInt2[0] + where.getWidth() / 2, mTmpInt2[1] + where.getHeight() / 2); mTmpInt2[1] + where.getHeight() / 2); } else { mWakeUpTouchLocation = new PointF(-1, -1); } mFalsingCollector.onScreenOnFromTouch(); mFalsingCollector.onScreenOnFromTouch(); } } } } Loading Loading @@ -2273,8 +2246,7 @@ public class CentralSurfacesImpl extends CoreStartable implements public void updateBubblesVisibility() { public void updateBubblesVisibility() { mBubblesOptional.ifPresent(bubbles -> bubbles.onStatusBarVisibilityChanged( mBubblesOptional.ifPresent(bubbles -> bubbles.onStatusBarVisibilityChanged( mStatusBarMode != MODE_LIGHTS_OUT mStatusBarMode != MODE_LIGHTS_OUT && mStatusBarMode != MODE_LIGHTS_OUT_TRANSPARENT && mStatusBarMode != MODE_LIGHTS_OUT_TRANSPARENT)); && !mStatusBarWindowHidden)); } } void checkBarMode(@TransitionMode int mode, @WindowVisibleState int windowState, void checkBarMode(@TransitionMode int mode, @WindowVisibleState int windowState, Loading Loading @@ -3537,6 +3509,9 @@ public class CentralSurfacesImpl extends CoreStartable implements setBouncerShowingForStatusBarComponents(bouncerShowing); setBouncerShowingForStatusBarComponents(bouncerShowing); mStatusBarHideIconsForBouncerManager.setBouncerShowingAndTriggerUpdate(bouncerShowing); mStatusBarHideIconsForBouncerManager.setBouncerShowingAndTriggerUpdate(bouncerShowing); mCommandQueue.recomputeDisableFlags(mDisplayId, true /* animate */); mCommandQueue.recomputeDisableFlags(mDisplayId, true /* animate */); if (mBouncerShowing) { wakeUpIfDozing(SystemClock.uptimeMillis(), null, "BOUNCER_VISIBLE"); } updateScrimController(); updateScrimController(); if (!mBouncerShowing) { if (!mBouncerShowing) { updatePanelExpansionForKeyguard(); updatePanelExpansionForKeyguard(); Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java +4 −0 Original line number Original line Diff line number Diff line Loading @@ -644,6 +644,10 @@ public class KeyguardBouncer { public interface BouncerExpansionCallback { public interface BouncerExpansionCallback { /** /** * Invoked when the bouncer expansion reaches {@link KeyguardBouncer#EXPANSION_VISIBLE}. * Invoked when the bouncer expansion reaches {@link KeyguardBouncer#EXPANSION_VISIBLE}. * This is NOT called each time the bouncer is shown, but rather only when the fully * shown amount has changed based on the panel expansion. The bouncer is visibility * can still change when the expansion amount hasn't changed. * See {@link KeyguardBouncer#isShowing()} for the checks for the bouncer showing state. */ */ default void onFullyShown() { default void onFullyShown() { } } Loading Loading
packages/SystemUI/src/com/android/keyguard/LockIconViewController.java +7 −1 Original line number Original line Diff line number Diff line Loading @@ -650,7 +650,7 @@ public class LockIconViewController extends ViewController<LockIconView> impleme Process.myUid(), Process.myUid(), getContext().getOpPackageName(), getContext().getOpPackageName(), UdfpsController.EFFECT_CLICK, UdfpsController.EFFECT_CLICK, "lock-icon-device-entry", "lock-screen-lock-icon-longpress", TOUCH_VIBRATION_ATTRIBUTES); TOUCH_VIBRATION_ATTRIBUTES); mKeyguardViewController.showBouncer(/* scrim */ true); mKeyguardViewController.showBouncer(/* scrim */ true); Loading @@ -675,6 +675,12 @@ public class LockIconViewController extends ViewController<LockIconView> impleme } } private boolean isActionable() { private boolean isActionable() { if (mIsBouncerShowing) { Log.v(TAG, "lock icon long-press ignored, bouncer already showing."); // a long press gestures from AOD may have already triggered the bouncer to show, // so this touch is no longer actionable return false; } return mUdfpsSupported || mShowUnlockIcon; return mUdfpsSupported || mShowUnlockIcon; } } Loading
packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java +20 −2 Original line number Original line Diff line number Diff line Loading @@ -20,6 +20,7 @@ import static android.hardware.biometrics.BiometricFingerprintConstants.FINGERPR import static android.hardware.biometrics.BiometricOverlayConstants.REASON_AUTH_KEYGUARD; import static android.hardware.biometrics.BiometricOverlayConstants.REASON_AUTH_KEYGUARD; import static com.android.internal.util.Preconditions.checkNotNull; import static com.android.internal.util.Preconditions.checkNotNull; import static com.android.systemui.classifier.Classifier.LOCK_ICON; import static com.android.systemui.classifier.Classifier.UDFPS_AUTHENTICATION; import static com.android.systemui.classifier.Classifier.UDFPS_AUTHENTICATION; import android.annotation.NonNull; import android.annotation.NonNull; Loading Loading @@ -167,11 +168,16 @@ public class UdfpsController implements DozeReceiver { private final Set<Callback> mCallbacks = new HashSet<>(); private final Set<Callback> mCallbacks = new HashSet<>(); @VisibleForTesting @VisibleForTesting public static final VibrationAttributes VIBRATION_ATTRIBUTES = public static final VibrationAttributes UDFPS_VIBRATION_ATTRIBUTES = new VibrationAttributes.Builder() new VibrationAttributes.Builder() // vibration will bypass battery saver mode: // vibration will bypass battery saver mode: .setUsage(VibrationAttributes.USAGE_COMMUNICATION_REQUEST) .setUsage(VibrationAttributes.USAGE_COMMUNICATION_REQUEST) .build(); .build(); @VisibleForTesting public static final VibrationAttributes LOCK_ICON_VIBRATION_ATTRIBUTES = new VibrationAttributes.Builder() .setUsage(VibrationAttributes.USAGE_TOUCH) .build(); // haptic to use for successful device entry // haptic to use for successful device entry public static final VibrationEffect EFFECT_CLICK = public static final VibrationEffect EFFECT_CLICK = Loading Loading @@ -671,7 +677,7 @@ public class UdfpsController implements DozeReceiver { mContext.getOpPackageName(), mContext.getOpPackageName(), EFFECT_CLICK, EFFECT_CLICK, "udfps-onStart-click", "udfps-onStart-click", VIBRATION_ATTRIBUTES); UDFPS_VIBRATION_ATTRIBUTES); } } } } Loading Loading @@ -748,7 +754,19 @@ public class UdfpsController implements DozeReceiver { } } if (!mKeyguardUpdateMonitor.isFingerprintDetectionRunning()) { if (!mKeyguardUpdateMonitor.isFingerprintDetectionRunning()) { if (mFalsingManager.isFalseTouch(LOCK_ICON)) { Log.v(TAG, "aod lock icon long-press rejected by the falsing manager."); return; } mKeyguardViewManager.showBouncer(true); mKeyguardViewManager.showBouncer(true); // play the same haptic as the LockIconViewController longpress mVibrator.vibrate( Process.myUid(), mContext.getOpPackageName(), UdfpsController.EFFECT_CLICK, "aod-lock-icon-longpress", LOCK_ICON_VIBRATION_ATTRIBUTES); return; return; } } Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfaces.java +0 −2 Original line number Original line Diff line number Diff line Loading @@ -560,8 +560,6 @@ public interface CentralSurfaces extends Dumpable, ActivityStarter, LifecycleOwn void setLaunchEmergencyActionOnFinishedWaking(boolean launch); void setLaunchEmergencyActionOnFinishedWaking(boolean launch); void setTopHidesStatusBar(boolean hides); QSPanelController getQSPanelController(); QSPanelController getQSPanelController(); boolean areNotificationAlertsDisabled(); boolean areNotificationAlertsDisabled(); Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java +11 −36 Original line number Original line Diff line number Diff line Loading @@ -148,7 +148,6 @@ import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.dagger.qualifiers.UiBackground; import com.android.systemui.dagger.qualifiers.UiBackground; import com.android.systemui.demomode.DemoMode; import com.android.systemui.demomode.DemoMode; import com.android.systemui.demomode.DemoModeController; import com.android.systemui.demomode.DemoModeController; import com.android.systemui.dreams.DreamOverlayStateController; import com.android.systemui.emergency.EmergencyGesture; import com.android.systemui.emergency.EmergencyGesture; import com.android.systemui.flags.FeatureFlags; import com.android.systemui.flags.FeatureFlags; import com.android.systemui.flags.Flags; import com.android.systemui.flags.Flags; Loading Loading @@ -198,7 +197,6 @@ import com.android.systemui.statusbar.PowerButtonReveal; import com.android.systemui.statusbar.PulseExpansionHandler; import com.android.systemui.statusbar.PulseExpansionHandler; import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.SysuiStatusBarStateController; import com.android.systemui.statusbar.SysuiStatusBarStateController; import com.android.systemui.statusbar.connectivity.NetworkController; import com.android.systemui.statusbar.core.StatusBarInitializer; import com.android.systemui.statusbar.core.StatusBarInitializer; import com.android.systemui.statusbar.notification.DynamicPrivacyController; import com.android.systemui.statusbar.notification.DynamicPrivacyController; import com.android.systemui.statusbar.notification.NotifPipelineFlags; import com.android.systemui.statusbar.notification.NotifPipelineFlags; Loading @@ -207,7 +205,6 @@ import com.android.systemui.statusbar.notification.NotificationEntryManager; import com.android.systemui.statusbar.notification.NotificationLaunchAnimatorControllerProvider; import com.android.systemui.statusbar.notification.NotificationLaunchAnimatorControllerProvider; import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator; import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator; import com.android.systemui.statusbar.notification.collection.legacy.VisualStabilityManager; import com.android.systemui.statusbar.notification.collection.legacy.VisualStabilityManager; import com.android.systemui.statusbar.notification.collection.render.NotifShadeEventSource; import com.android.systemui.statusbar.notification.init.NotificationsController; import com.android.systemui.statusbar.notification.init.NotificationsController; import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider; import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider; import com.android.systemui.statusbar.notification.logging.NotificationLogger; import com.android.systemui.statusbar.notification.logging.NotificationLogger; Loading Loading @@ -238,7 +235,6 @@ import com.android.systemui.util.WallpaperController; import com.android.systemui.util.concurrency.DelayableExecutor; import com.android.systemui.util.concurrency.DelayableExecutor; import com.android.systemui.util.concurrency.MessageRouter; import com.android.systemui.util.concurrency.MessageRouter; import com.android.systemui.volume.VolumeComponent; import com.android.systemui.volume.VolumeComponent; import com.android.systemui.wmshell.BubblesManager; import com.android.wm.shell.bubbles.Bubbles; import com.android.wm.shell.bubbles.Bubbles; import com.android.wm.shell.startingsurface.SplashscreenContentDrawer; import com.android.wm.shell.startingsurface.SplashscreenContentDrawer; import com.android.wm.shell.startingsurface.StartingSurface; import com.android.wm.shell.startingsurface.StartingSurface; Loading Loading @@ -307,7 +303,6 @@ public class CentralSurfacesImpl extends CoreStartable implements } } private final LockscreenShadeTransitionController mLockscreenShadeTransitionController; private final LockscreenShadeTransitionController mLockscreenShadeTransitionController; private final DreamOverlayStateController mDreamOverlayStateController; private CentralSurfacesCommandQueueCallbacks mCommandQueueCallbacks; private CentralSurfacesCommandQueueCallbacks mCommandQueueCallbacks; private float mTransitionToFullShadeProgress = 0f; private float mTransitionToFullShadeProgress = 0f; private NotificationListContainer mNotifListContainer; private NotificationListContainer mNotifListContainer; Loading Loading @@ -404,11 +399,6 @@ public class CentralSurfacesImpl extends CoreStartable implements mLaunchEmergencyActionWhenFinishedWaking = launch; mLaunchEmergencyActionWhenFinishedWaking = launch; } } @Override public void setTopHidesStatusBar(boolean hides) { mTopHidesStatusBar = hides; } @Override @Override public QSPanelController getQSPanelController() { public QSPanelController getQSPanelController() { return mQSPanelController; return mQSPanelController; Loading Loading @@ -452,7 +442,6 @@ public class CentralSurfacesImpl extends CoreStartable implements private BiometricUnlockController mBiometricUnlockController; private BiometricUnlockController mBiometricUnlockController; private final LightBarController mLightBarController; private final LightBarController mLightBarController; private final Lazy<LockscreenWallpaper> mLockscreenWallpaperLazy; private final Lazy<LockscreenWallpaper> mLockscreenWallpaperLazy; private final LockscreenGestureLogger mLockscreenGestureLogger; @Nullable @Nullable protected LockscreenWallpaper mLockscreenWallpaper; protected LockscreenWallpaper mLockscreenWallpaper; private final AutoHideController mAutoHideController; private final AutoHideController mAutoHideController; Loading Loading @@ -519,9 +508,6 @@ public class CentralSurfacesImpl extends CoreStartable implements private boolean mExpandedVisible; private boolean mExpandedVisible; private final int[] mAbsPos = new int[2]; private final NotifShadeEventSource mNotifShadeEventSource; protected final NotificationEntryManager mEntryManager; protected final NotificationEntryManager mEntryManager; private final NotificationGutsManager mGutsManager; private final NotificationGutsManager mGutsManager; private final NotificationLogger mNotificationLogger; private final NotificationLogger mNotificationLogger; Loading Loading @@ -603,7 +589,6 @@ public class CentralSurfacesImpl extends CoreStartable implements } } } } private Handler mMainHandler; private final DelayableExecutor mMainExecutor; private final DelayableExecutor mMainExecutor; private int mInteractingWindows; private int mInteractingWindows; Loading Loading @@ -637,12 +622,9 @@ public class CentralSurfacesImpl extends CoreStartable implements // Fingerprint (as computed by getLoggingFingerprint() of the last logged state. // Fingerprint (as computed by getLoggingFingerprint() of the last logged state. private int mLastLoggedStateFingerprint; private int mLastLoggedStateFingerprint; private boolean mTopHidesStatusBar; private boolean mStatusBarWindowHidden; private boolean mIsLaunchingActivityOverLockscreen; private boolean mIsLaunchingActivityOverLockscreen; private final UserSwitcherController mUserSwitcherController; private final UserSwitcherController mUserSwitcherController; private final NetworkController mNetworkController; private final LifecycleRegistry mLifecycle = new LifecycleRegistry(this); private final LifecycleRegistry mLifecycle = new LifecycleRegistry(this); protected final BatteryController mBatteryController; protected final BatteryController mBatteryController; protected boolean mPanelExpanded; protected boolean mPanelExpanded; Loading @@ -662,7 +644,6 @@ public class CentralSurfacesImpl extends CoreStartable implements protected NotificationPresenter mPresenter; protected NotificationPresenter mPresenter; private NotificationActivityStarter mNotificationActivityStarter; private NotificationActivityStarter mNotificationActivityStarter; private final Lazy<NotificationShadeDepthController> mNotificationShadeDepthControllerLazy; private final Lazy<NotificationShadeDepthController> mNotificationShadeDepthControllerLazy; private final Optional<BubblesManager> mBubblesManagerOptional; private final Optional<Bubbles> mBubblesOptional; private final Optional<Bubbles> mBubblesOptional; private final Bubbles.BubbleExpandListener mBubbleExpandListener; private final Bubbles.BubbleExpandListener mBubbleExpandListener; private final Optional<StartingSurface> mStartingSurfaceOptional; private final Optional<StartingSurface> mStartingSurfaceOptional; Loading Loading @@ -704,7 +685,6 @@ public class CentralSurfacesImpl extends CoreStartable implements FalsingManager falsingManager, FalsingManager falsingManager, FalsingCollector falsingCollector, FalsingCollector falsingCollector, BroadcastDispatcher broadcastDispatcher, BroadcastDispatcher broadcastDispatcher, NotifShadeEventSource notifShadeEventSource, NotificationEntryManager notificationEntryManager, NotificationEntryManager notificationEntryManager, NotificationGutsManager notificationGutsManager, NotificationGutsManager notificationGutsManager, NotificationLogger notificationLogger, NotificationLogger notificationLogger, Loading @@ -719,13 +699,11 @@ public class CentralSurfacesImpl extends CoreStartable implements NotificationLockscreenUserManager lockScreenUserManager, NotificationLockscreenUserManager lockScreenUserManager, NotificationRemoteInputManager remoteInputManager, NotificationRemoteInputManager remoteInputManager, UserSwitcherController userSwitcherController, UserSwitcherController userSwitcherController, NetworkController networkController, BatteryController batteryController, BatteryController batteryController, SysuiColorExtractor colorExtractor, SysuiColorExtractor colorExtractor, ScreenLifecycle screenLifecycle, ScreenLifecycle screenLifecycle, WakefulnessLifecycle wakefulnessLifecycle, WakefulnessLifecycle wakefulnessLifecycle, SysuiStatusBarStateController statusBarStateController, SysuiStatusBarStateController statusBarStateController, Optional<BubblesManager> bubblesManagerOptional, Optional<Bubbles> bubblesOptional, Optional<Bubbles> bubblesOptional, VisualStabilityManager visualStabilityManager, VisualStabilityManager visualStabilityManager, DeviceProvisionedController deviceProvisionedController, DeviceProvisionedController deviceProvisionedController, Loading @@ -737,7 +715,6 @@ public class CentralSurfacesImpl extends CoreStartable implements DozeParameters dozeParameters, DozeParameters dozeParameters, ScrimController scrimController, ScrimController scrimController, Lazy<LockscreenWallpaper> lockscreenWallpaperLazy, Lazy<LockscreenWallpaper> lockscreenWallpaperLazy, LockscreenGestureLogger lockscreenGestureLogger, Lazy<BiometricUnlockController> biometricUnlockControllerLazy, Lazy<BiometricUnlockController> biometricUnlockControllerLazy, DozeServiceHost dozeServiceHost, DozeServiceHost dozeServiceHost, PowerManager powerManager, PowerManager powerManager, Loading Loading @@ -770,7 +747,6 @@ public class CentralSurfacesImpl extends CoreStartable implements LockscreenShadeTransitionController lockscreenShadeTransitionController, LockscreenShadeTransitionController lockscreenShadeTransitionController, FeatureFlags featureFlags, FeatureFlags featureFlags, KeyguardUnlockAnimationController keyguardUnlockAnimationController, KeyguardUnlockAnimationController keyguardUnlockAnimationController, @Main Handler mainHandler, @Main DelayableExecutor delayableExecutor, @Main DelayableExecutor delayableExecutor, @Main MessageRouter messageRouter, @Main MessageRouter messageRouter, WallpaperManager wallpaperManager, WallpaperManager wallpaperManager, Loading @@ -779,7 +755,6 @@ public class CentralSurfacesImpl extends CoreStartable implements NotifPipelineFlags notifPipelineFlags, NotifPipelineFlags notifPipelineFlags, InteractionJankMonitor jankMonitor, InteractionJankMonitor jankMonitor, DeviceStateManager deviceStateManager, DeviceStateManager deviceStateManager, DreamOverlayStateController dreamOverlayStateController, WiredChargingRippleController wiredChargingRippleController, WiredChargingRippleController wiredChargingRippleController, IDreamManager dreamManager) { IDreamManager dreamManager) { super(context); super(context); Loading @@ -800,7 +775,6 @@ public class CentralSurfacesImpl extends CoreStartable implements mFalsingCollector = falsingCollector; mFalsingCollector = falsingCollector; mFalsingManager = falsingManager; mFalsingManager = falsingManager; mBroadcastDispatcher = broadcastDispatcher; mBroadcastDispatcher = broadcastDispatcher; mNotifShadeEventSource = notifShadeEventSource; mEntryManager = notificationEntryManager; mEntryManager = notificationEntryManager; mGutsManager = notificationGutsManager; mGutsManager = notificationGutsManager; mNotificationLogger = notificationLogger; mNotificationLogger = notificationLogger; Loading @@ -815,13 +789,11 @@ public class CentralSurfacesImpl extends CoreStartable implements mLockscreenUserManager = lockScreenUserManager; mLockscreenUserManager = lockScreenUserManager; mRemoteInputManager = remoteInputManager; mRemoteInputManager = remoteInputManager; mUserSwitcherController = userSwitcherController; mUserSwitcherController = userSwitcherController; mNetworkController = networkController; mBatteryController = batteryController; mBatteryController = batteryController; mColorExtractor = colorExtractor; mColorExtractor = colorExtractor; mScreenLifecycle = screenLifecycle; mScreenLifecycle = screenLifecycle; mWakefulnessLifecycle = wakefulnessLifecycle; mWakefulnessLifecycle = wakefulnessLifecycle; mStatusBarStateController = statusBarStateController; mStatusBarStateController = statusBarStateController; mBubblesManagerOptional = bubblesManagerOptional; mBubblesOptional = bubblesOptional; mBubblesOptional = bubblesOptional; mVisualStabilityManager = visualStabilityManager; mVisualStabilityManager = visualStabilityManager; mDeviceProvisionedController = deviceProvisionedController; mDeviceProvisionedController = deviceProvisionedController; Loading @@ -835,7 +807,6 @@ public class CentralSurfacesImpl extends CoreStartable implements mDozeParameters = dozeParameters; mDozeParameters = dozeParameters; mScrimController = scrimController; mScrimController = scrimController; mLockscreenWallpaperLazy = lockscreenWallpaperLazy; mLockscreenWallpaperLazy = lockscreenWallpaperLazy; mLockscreenGestureLogger = lockscreenGestureLogger; mScreenPinningRequest = screenPinningRequest; mScreenPinningRequest = screenPinningRequest; mDozeScrimController = dozeScrimController; mDozeScrimController = dozeScrimController; mBiometricUnlockControllerLazy = biometricUnlockControllerLazy; mBiometricUnlockControllerLazy = biometricUnlockControllerLazy; Loading @@ -862,12 +833,10 @@ public class CentralSurfacesImpl extends CoreStartable implements mStatusBarHideIconsForBouncerManager = statusBarHideIconsForBouncerManager; mStatusBarHideIconsForBouncerManager = statusBarHideIconsForBouncerManager; mFeatureFlags = featureFlags; mFeatureFlags = featureFlags; mKeyguardUnlockAnimationController = keyguardUnlockAnimationController; mKeyguardUnlockAnimationController = keyguardUnlockAnimationController; mMainHandler = mainHandler; mMainExecutor = delayableExecutor; mMainExecutor = delayableExecutor; mMessageRouter = messageRouter; mMessageRouter = messageRouter; mWallpaperManager = wallpaperManager; mWallpaperManager = wallpaperManager; mJankMonitor = jankMonitor; mJankMonitor = jankMonitor; mDreamOverlayStateController = dreamOverlayStateController; mLockscreenShadeTransitionController = lockscreenShadeTransitionController; mLockscreenShadeTransitionController = lockscreenShadeTransitionController; mStartingSurfaceOptional = startingSurfaceOptional; mStartingSurfaceOptional = startingSurfaceOptional; Loading Loading @@ -1484,12 +1453,16 @@ public class CentralSurfacesImpl extends CoreStartable implements mPowerManager.wakeUp( mPowerManager.wakeUp( time, PowerManager.WAKE_REASON_GESTURE, "com.android.systemui:" + why); time, PowerManager.WAKE_REASON_GESTURE, "com.android.systemui:" + why); mWakeUpComingFromTouch = true; mWakeUpComingFromTouch = true; where.getLocationInWindow(mTmpInt2); // NOTE, the incoming view can sometimes be the entire container... unsure if // NOTE, the incoming view can sometimes be the entire container... unsure if // this location is valuable enough // this location is valuable enough if (where != null) { where.getLocationInWindow(mTmpInt2); mWakeUpTouchLocation = new PointF(mTmpInt2[0] + where.getWidth() / 2, mWakeUpTouchLocation = new PointF(mTmpInt2[0] + where.getWidth() / 2, mTmpInt2[1] + where.getHeight() / 2); mTmpInt2[1] + where.getHeight() / 2); } else { mWakeUpTouchLocation = new PointF(-1, -1); } mFalsingCollector.onScreenOnFromTouch(); mFalsingCollector.onScreenOnFromTouch(); } } } } Loading Loading @@ -2273,8 +2246,7 @@ public class CentralSurfacesImpl extends CoreStartable implements public void updateBubblesVisibility() { public void updateBubblesVisibility() { mBubblesOptional.ifPresent(bubbles -> bubbles.onStatusBarVisibilityChanged( mBubblesOptional.ifPresent(bubbles -> bubbles.onStatusBarVisibilityChanged( mStatusBarMode != MODE_LIGHTS_OUT mStatusBarMode != MODE_LIGHTS_OUT && mStatusBarMode != MODE_LIGHTS_OUT_TRANSPARENT && mStatusBarMode != MODE_LIGHTS_OUT_TRANSPARENT)); && !mStatusBarWindowHidden)); } } void checkBarMode(@TransitionMode int mode, @WindowVisibleState int windowState, void checkBarMode(@TransitionMode int mode, @WindowVisibleState int windowState, Loading Loading @@ -3537,6 +3509,9 @@ public class CentralSurfacesImpl extends CoreStartable implements setBouncerShowingForStatusBarComponents(bouncerShowing); setBouncerShowingForStatusBarComponents(bouncerShowing); mStatusBarHideIconsForBouncerManager.setBouncerShowingAndTriggerUpdate(bouncerShowing); mStatusBarHideIconsForBouncerManager.setBouncerShowingAndTriggerUpdate(bouncerShowing); mCommandQueue.recomputeDisableFlags(mDisplayId, true /* animate */); mCommandQueue.recomputeDisableFlags(mDisplayId, true /* animate */); if (mBouncerShowing) { wakeUpIfDozing(SystemClock.uptimeMillis(), null, "BOUNCER_VISIBLE"); } updateScrimController(); updateScrimController(); if (!mBouncerShowing) { if (!mBouncerShowing) { updatePanelExpansionForKeyguard(); updatePanelExpansionForKeyguard(); Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java +4 −0 Original line number Original line Diff line number Diff line Loading @@ -644,6 +644,10 @@ public class KeyguardBouncer { public interface BouncerExpansionCallback { public interface BouncerExpansionCallback { /** /** * Invoked when the bouncer expansion reaches {@link KeyguardBouncer#EXPANSION_VISIBLE}. * Invoked when the bouncer expansion reaches {@link KeyguardBouncer#EXPANSION_VISIBLE}. * This is NOT called each time the bouncer is shown, but rather only when the fully * shown amount has changed based on the panel expansion. The bouncer is visibility * can still change when the expansion amount hasn't changed. * See {@link KeyguardBouncer#isShowing()} for the checks for the bouncer showing state. */ */ default void onFullyShown() { default void onFullyShown() { } } Loading