Merge "Revert "Extract camera launch code from NPVC into CentralSurfaces"" into tm-qpr-dev am: 8726760ff9
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20429032 Change-Id: Ib320da24a64364da5ef9d2bfe0b6275f0a95a3d7 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -1,73 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2022 The Android Open Source Project
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.android.systemui.shade;
|
|
||||||
|
|
||||||
import com.android.systemui.camera.CameraGestureHelper;
|
|
||||||
import com.android.systemui.dagger.SysUISingleton;
|
|
||||||
import com.android.systemui.statusbar.phone.KeyguardBypassController;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
|
|
||||||
/** Handles launching camera from Shade. */
|
|
||||||
@SysUISingleton
|
|
||||||
public class CameraLauncher {
|
|
||||||
private final CameraGestureHelper mCameraGestureHelper;
|
|
||||||
private final KeyguardBypassController mKeyguardBypassController;
|
|
||||||
|
|
||||||
private boolean mLaunchingAffordance;
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
public CameraLauncher(
|
|
||||||
CameraGestureHelper cameraGestureHelper,
|
|
||||||
KeyguardBypassController keyguardBypassController
|
|
||||||
) {
|
|
||||||
mCameraGestureHelper = cameraGestureHelper;
|
|
||||||
mKeyguardBypassController = keyguardBypassController;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Launches the camera. */
|
|
||||||
public void launchCamera(int source, boolean isShadeFullyCollapsed) {
|
|
||||||
if (!isShadeFullyCollapsed) {
|
|
||||||
setLaunchingAffordance(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
mCameraGestureHelper.launchCamera(source);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set whether we are currently launching an affordance. This is currently only set when
|
|
||||||
* launched via a camera gesture.
|
|
||||||
*/
|
|
||||||
public void setLaunchingAffordance(boolean launchingAffordance) {
|
|
||||||
mLaunchingAffordance = launchingAffordance;
|
|
||||||
mKeyguardBypassController.setLaunchingAffordance(launchingAffordance);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return true when a bottom affordance is launching an occluded activity with a splash screen.
|
|
||||||
*/
|
|
||||||
public boolean isLaunchingAffordance() {
|
|
||||||
return mLaunchingAffordance;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Whether the camera application can be launched for the camera launch gesture.
|
|
||||||
*/
|
|
||||||
public boolean canCameraGestureBeLaunched(int barState) {
|
|
||||||
return mCameraGestureHelper.canCameraGestureBeLaunched(barState);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -124,6 +124,7 @@ import com.android.systemui.animation.ActivityLaunchAnimator;
|
|||||||
import com.android.systemui.animation.Interpolators;
|
import com.android.systemui.animation.Interpolators;
|
||||||
import com.android.systemui.animation.LaunchAnimator;
|
import com.android.systemui.animation.LaunchAnimator;
|
||||||
import com.android.systemui.biometrics.AuthController;
|
import com.android.systemui.biometrics.AuthController;
|
||||||
|
import com.android.systemui.camera.CameraGestureHelper;
|
||||||
import com.android.systemui.classifier.Classifier;
|
import com.android.systemui.classifier.Classifier;
|
||||||
import com.android.systemui.classifier.FalsingCollector;
|
import com.android.systemui.classifier.FalsingCollector;
|
||||||
import com.android.systemui.dagger.qualifiers.DisplayId;
|
import com.android.systemui.dagger.qualifiers.DisplayId;
|
||||||
@@ -463,6 +464,7 @@ public final class NotificationPanelViewController implements Dumpable {
|
|||||||
private boolean mCollapsedOnDown;
|
private boolean mCollapsedOnDown;
|
||||||
private boolean mClosingWithAlphaFadeOut;
|
private boolean mClosingWithAlphaFadeOut;
|
||||||
private boolean mHeadsUpAnimatingAway;
|
private boolean mHeadsUpAnimatingAway;
|
||||||
|
private boolean mLaunchingAffordance;
|
||||||
private final FalsingManager mFalsingManager;
|
private final FalsingManager mFalsingManager;
|
||||||
private final FalsingCollector mFalsingCollector;
|
private final FalsingCollector mFalsingCollector;
|
||||||
|
|
||||||
@@ -613,6 +615,7 @@ public final class NotificationPanelViewController implements Dumpable {
|
|||||||
private final NotificationListContainer mNotificationListContainer;
|
private final NotificationListContainer mNotificationListContainer;
|
||||||
private final NotificationStackSizeCalculator mNotificationStackSizeCalculator;
|
private final NotificationStackSizeCalculator mNotificationStackSizeCalculator;
|
||||||
private final NPVCDownEventState.Buffer mLastDownEvents;
|
private final NPVCDownEventState.Buffer mLastDownEvents;
|
||||||
|
private final CameraGestureHelper mCameraGestureHelper;
|
||||||
private final KeyguardBottomAreaViewModel mKeyguardBottomAreaViewModel;
|
private final KeyguardBottomAreaViewModel mKeyguardBottomAreaViewModel;
|
||||||
private final KeyguardBottomAreaInteractor mKeyguardBottomAreaInteractor;
|
private final KeyguardBottomAreaInteractor mKeyguardBottomAreaInteractor;
|
||||||
private float mMinExpandHeight;
|
private float mMinExpandHeight;
|
||||||
@@ -740,6 +743,7 @@ public final class NotificationPanelViewController implements Dumpable {
|
|||||||
UnlockedScreenOffAnimationController unlockedScreenOffAnimationController,
|
UnlockedScreenOffAnimationController unlockedScreenOffAnimationController,
|
||||||
ShadeTransitionController shadeTransitionController,
|
ShadeTransitionController shadeTransitionController,
|
||||||
SystemClock systemClock,
|
SystemClock systemClock,
|
||||||
|
CameraGestureHelper cameraGestureHelper,
|
||||||
KeyguardBottomAreaViewModel keyguardBottomAreaViewModel,
|
KeyguardBottomAreaViewModel keyguardBottomAreaViewModel,
|
||||||
KeyguardBottomAreaInteractor keyguardBottomAreaInteractor,
|
KeyguardBottomAreaInteractor keyguardBottomAreaInteractor,
|
||||||
DumpManager dumpManager) {
|
DumpManager dumpManager) {
|
||||||
@@ -920,6 +924,7 @@ public final class NotificationPanelViewController implements Dumpable {
|
|||||||
unlockAnimationStarted(playingCannedAnimation, isWakeAndUnlock, startDelay);
|
unlockAnimationStarted(playingCannedAnimation, isWakeAndUnlock, startDelay);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
mCameraGestureHelper = cameraGestureHelper;
|
||||||
mKeyguardBottomAreaInteractor = keyguardBottomAreaInteractor;
|
mKeyguardBottomAreaInteractor = keyguardBottomAreaInteractor;
|
||||||
dumpManager.registerDumpable(this);
|
dumpManager.registerDumpable(this);
|
||||||
}
|
}
|
||||||
@@ -3947,10 +3952,6 @@ public final class NotificationPanelViewController implements Dumpable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getBarState() {
|
|
||||||
return mBarState;
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean isOnKeyguard() {
|
private boolean isOnKeyguard() {
|
||||||
return mBarState == KEYGUARD;
|
return mBarState == KEYGUARD;
|
||||||
}
|
}
|
||||||
@@ -3996,6 +3997,35 @@ public final class NotificationPanelViewController implements Dumpable {
|
|||||||
&& mBarState == StatusBarState.SHADE;
|
&& mBarState == StatusBarState.SHADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Launches the camera. */
|
||||||
|
public void launchCamera(int source) {
|
||||||
|
if (!isFullyCollapsed()) {
|
||||||
|
setLaunchingAffordance(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
mCameraGestureHelper.launchCamera(source);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onAffordanceLaunchEnded() {
|
||||||
|
setLaunchingAffordance(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Set whether we are currently launching an affordance (i.e. camera gesture). */
|
||||||
|
private void setLaunchingAffordance(boolean launchingAffordance) {
|
||||||
|
mLaunchingAffordance = launchingAffordance;
|
||||||
|
mKeyguardBypassController.setLaunchingAffordance(launchingAffordance);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Returns whether a bottom affordance is launching an occluded activity with splash screen. */
|
||||||
|
public boolean isLaunchingAffordanceWithPreview() {
|
||||||
|
return mLaunchingAffordance;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Whether the camera application can be launched by the camera launch gesture. */
|
||||||
|
public boolean canCameraGestureBeLaunched() {
|
||||||
|
return mCameraGestureHelper.canCameraGestureBeLaunched(mBarState);
|
||||||
|
}
|
||||||
|
|
||||||
public boolean hideStatusBarIconsWhenExpanded() {
|
public boolean hideStatusBarIconsWhenExpanded() {
|
||||||
if (mIsLaunchAnimationRunning) {
|
if (mIsLaunchAnimationRunning) {
|
||||||
return mHideIconsDuringLaunchAnimation;
|
return mHideIconsDuringLaunchAnimation;
|
||||||
|
|||||||
@@ -55,7 +55,6 @@ import com.android.systemui.dagger.qualifiers.DisplayId;
|
|||||||
import com.android.systemui.dagger.qualifiers.Main;
|
import com.android.systemui.dagger.qualifiers.Main;
|
||||||
import com.android.systemui.keyguard.WakefulnessLifecycle;
|
import com.android.systemui.keyguard.WakefulnessLifecycle;
|
||||||
import com.android.systemui.qs.QSPanelController;
|
import com.android.systemui.qs.QSPanelController;
|
||||||
import com.android.systemui.shade.CameraLauncher;
|
|
||||||
import com.android.systemui.shade.NotificationPanelViewController;
|
import com.android.systemui.shade.NotificationPanelViewController;
|
||||||
import com.android.systemui.shade.ShadeController;
|
import com.android.systemui.shade.ShadeController;
|
||||||
import com.android.systemui.statusbar.CommandQueue;
|
import com.android.systemui.statusbar.CommandQueue;
|
||||||
@@ -72,8 +71,6 @@ import java.util.Optional;
|
|||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import dagger.Lazy;
|
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
@CentralSurfacesComponent.CentralSurfacesScope
|
@CentralSurfacesComponent.CentralSurfacesScope
|
||||||
public class CentralSurfacesCommandQueueCallbacks implements CommandQueue.Callbacks {
|
public class CentralSurfacesCommandQueueCallbacks implements CommandQueue.Callbacks {
|
||||||
@@ -102,7 +99,6 @@ public class CentralSurfacesCommandQueueCallbacks implements CommandQueue.Callba
|
|||||||
private final boolean mVibrateOnOpening;
|
private final boolean mVibrateOnOpening;
|
||||||
private final VibrationEffect mCameraLaunchGestureVibrationEffect;
|
private final VibrationEffect mCameraLaunchGestureVibrationEffect;
|
||||||
private final SystemBarAttributesListener mSystemBarAttributesListener;
|
private final SystemBarAttributesListener mSystemBarAttributesListener;
|
||||||
private final Lazy<CameraLauncher> mCameraLauncherLazy;
|
|
||||||
|
|
||||||
private static final VibrationAttributes HARDWARE_FEEDBACK_VIBRATION_ATTRIBUTES =
|
private static final VibrationAttributes HARDWARE_FEEDBACK_VIBRATION_ATTRIBUTES =
|
||||||
VibrationAttributes.createForUsage(VibrationAttributes.USAGE_HARDWARE_FEEDBACK);
|
VibrationAttributes.createForUsage(VibrationAttributes.USAGE_HARDWARE_FEEDBACK);
|
||||||
@@ -132,8 +128,8 @@ public class CentralSurfacesCommandQueueCallbacks implements CommandQueue.Callba
|
|||||||
Optional<Vibrator> vibratorOptional,
|
Optional<Vibrator> vibratorOptional,
|
||||||
DisableFlagsLogger disableFlagsLogger,
|
DisableFlagsLogger disableFlagsLogger,
|
||||||
@DisplayId int displayId,
|
@DisplayId int displayId,
|
||||||
SystemBarAttributesListener systemBarAttributesListener,
|
SystemBarAttributesListener systemBarAttributesListener) {
|
||||||
Lazy<CameraLauncher> cameraLauncherLazy) {
|
|
||||||
mCentralSurfaces = centralSurfaces;
|
mCentralSurfaces = centralSurfaces;
|
||||||
mContext = context;
|
mContext = context;
|
||||||
mShadeController = shadeController;
|
mShadeController = shadeController;
|
||||||
@@ -156,7 +152,6 @@ public class CentralSurfacesCommandQueueCallbacks implements CommandQueue.Callba
|
|||||||
mVibratorOptional = vibratorOptional;
|
mVibratorOptional = vibratorOptional;
|
||||||
mDisableFlagsLogger = disableFlagsLogger;
|
mDisableFlagsLogger = disableFlagsLogger;
|
||||||
mDisplayId = displayId;
|
mDisplayId = displayId;
|
||||||
mCameraLauncherLazy = cameraLauncherLazy;
|
|
||||||
|
|
||||||
mVibrateOnOpening = resources.getBoolean(R.bool.config_vibrateOnIconAnimation);
|
mVibrateOnOpening = resources.getBoolean(R.bool.config_vibrateOnIconAnimation);
|
||||||
mCameraLaunchGestureVibrationEffect = getCameraGestureVibrationEffect(
|
mCameraLaunchGestureVibrationEffect = getCameraGestureVibrationEffect(
|
||||||
@@ -351,8 +346,7 @@ public class CentralSurfacesCommandQueueCallbacks implements CommandQueue.Callba
|
|||||||
mCentralSurfaces.setLaunchCameraOnFinishedGoingToSleep(true);
|
mCentralSurfaces.setLaunchCameraOnFinishedGoingToSleep(true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!mCameraLauncherLazy.get().canCameraGestureBeLaunched(
|
if (!mNotificationPanelViewController.canCameraGestureBeLaunched()) {
|
||||||
mNotificationPanelViewController.getBarState())) {
|
|
||||||
if (CentralSurfaces.DEBUG_CAMERA_LIFT) {
|
if (CentralSurfaces.DEBUG_CAMERA_LIFT) {
|
||||||
Slog.d(CentralSurfaces.TAG, "Can't launch camera right now");
|
Slog.d(CentralSurfaces.TAG, "Can't launch camera right now");
|
||||||
}
|
}
|
||||||
@@ -389,8 +383,7 @@ public class CentralSurfacesCommandQueueCallbacks implements CommandQueue.Callba
|
|||||||
if (mStatusBarKeyguardViewManager.isBouncerShowing()) {
|
if (mStatusBarKeyguardViewManager.isBouncerShowing()) {
|
||||||
mStatusBarKeyguardViewManager.reset(true /* hide */);
|
mStatusBarKeyguardViewManager.reset(true /* hide */);
|
||||||
}
|
}
|
||||||
mCameraLauncherLazy.get().launchCamera(source,
|
mNotificationPanelViewController.launchCamera(source);
|
||||||
mNotificationPanelViewController.isFullyCollapsed());
|
|
||||||
mCentralSurfaces.updateScrimController();
|
mCentralSurfaces.updateScrimController();
|
||||||
} else {
|
} else {
|
||||||
// We need to defer the camera launch until the screen comes on, since otherwise
|
// We need to defer the camera launch until the screen comes on, since otherwise
|
||||||
|
|||||||
@@ -177,7 +177,6 @@ import com.android.systemui.recents.ScreenPinningRequest;
|
|||||||
import com.android.systemui.ripple.RippleShader.RippleShape;
|
import com.android.systemui.ripple.RippleShader.RippleShape;
|
||||||
import com.android.systemui.scrim.ScrimView;
|
import com.android.systemui.scrim.ScrimView;
|
||||||
import com.android.systemui.settings.brightness.BrightnessSliderController;
|
import com.android.systemui.settings.brightness.BrightnessSliderController;
|
||||||
import com.android.systemui.shade.CameraLauncher;
|
|
||||||
import com.android.systemui.shade.NotificationPanelViewController;
|
import com.android.systemui.shade.NotificationPanelViewController;
|
||||||
import com.android.systemui.shade.NotificationShadeWindowView;
|
import com.android.systemui.shade.NotificationShadeWindowView;
|
||||||
import com.android.systemui.shade.NotificationShadeWindowViewController;
|
import com.android.systemui.shade.NotificationShadeWindowViewController;
|
||||||
@@ -486,7 +485,6 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
|
|||||||
private final PluginManager mPluginManager;
|
private final PluginManager mPluginManager;
|
||||||
private final ShadeController mShadeController;
|
private final ShadeController mShadeController;
|
||||||
private final InitController mInitController;
|
private final InitController mInitController;
|
||||||
private final Lazy<CameraLauncher> mCameraLauncherLazy;
|
|
||||||
|
|
||||||
private final PluginDependencyProvider mPluginDependencyProvider;
|
private final PluginDependencyProvider mPluginDependencyProvider;
|
||||||
private final KeyguardDismissUtil mKeyguardDismissUtil;
|
private final KeyguardDismissUtil mKeyguardDismissUtil;
|
||||||
@@ -619,7 +617,6 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
|
|||||||
|
|
||||||
private Runnable mLaunchTransitionEndRunnable;
|
private Runnable mLaunchTransitionEndRunnable;
|
||||||
private Runnable mLaunchTransitionCancelRunnable;
|
private Runnable mLaunchTransitionCancelRunnable;
|
||||||
private boolean mLaunchingAffordance;
|
|
||||||
private boolean mLaunchCameraWhenFinishedWaking;
|
private boolean mLaunchCameraWhenFinishedWaking;
|
||||||
private boolean mLaunchCameraOnFinishedGoingToSleep;
|
private boolean mLaunchCameraOnFinishedGoingToSleep;
|
||||||
private boolean mLaunchEmergencyActionWhenFinishedWaking;
|
private boolean mLaunchEmergencyActionWhenFinishedWaking;
|
||||||
@@ -764,8 +761,7 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
|
|||||||
InteractionJankMonitor jankMonitor,
|
InteractionJankMonitor jankMonitor,
|
||||||
DeviceStateManager deviceStateManager,
|
DeviceStateManager deviceStateManager,
|
||||||
WiredChargingRippleController wiredChargingRippleController,
|
WiredChargingRippleController wiredChargingRippleController,
|
||||||
IDreamManager dreamManager,
|
IDreamManager dreamManager) {
|
||||||
Lazy<CameraLauncher> cameraLauncherLazy) {
|
|
||||||
mContext = context;
|
mContext = context;
|
||||||
mNotificationsController = notificationsController;
|
mNotificationsController = notificationsController;
|
||||||
mFragmentService = fragmentService;
|
mFragmentService = fragmentService;
|
||||||
@@ -842,7 +838,6 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
|
|||||||
mMessageRouter = messageRouter;
|
mMessageRouter = messageRouter;
|
||||||
mWallpaperManager = wallpaperManager;
|
mWallpaperManager = wallpaperManager;
|
||||||
mJankMonitor = jankMonitor;
|
mJankMonitor = jankMonitor;
|
||||||
mCameraLauncherLazy = cameraLauncherLazy;
|
|
||||||
|
|
||||||
mLockscreenShadeTransitionController = lockscreenShadeTransitionController;
|
mLockscreenShadeTransitionController = lockscreenShadeTransitionController;
|
||||||
mStartingSurfaceOptional = startingSurfaceOptional;
|
mStartingSurfaceOptional = startingSurfaceOptional;
|
||||||
@@ -2976,7 +2971,7 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
|
|||||||
|
|
||||||
private void onLaunchTransitionFadingEnded() {
|
private void onLaunchTransitionFadingEnded() {
|
||||||
mNotificationPanelViewController.resetAlpha();
|
mNotificationPanelViewController.resetAlpha();
|
||||||
mCameraLauncherLazy.get().setLaunchingAffordance(false);
|
mNotificationPanelViewController.onAffordanceLaunchEnded();
|
||||||
releaseGestureWakeLock();
|
releaseGestureWakeLock();
|
||||||
runLaunchTransitionEndRunnable();
|
runLaunchTransitionEndRunnable();
|
||||||
mKeyguardStateController.setLaunchTransitionFadingAway(false);
|
mKeyguardStateController.setLaunchTransitionFadingAway(false);
|
||||||
@@ -3046,7 +3041,7 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
|
|||||||
|
|
||||||
private void onLaunchTransitionTimeout() {
|
private void onLaunchTransitionTimeout() {
|
||||||
Log.w(TAG, "Launch transition: Timeout!");
|
Log.w(TAG, "Launch transition: Timeout!");
|
||||||
mCameraLauncherLazy.get().setLaunchingAffordance(false);
|
mNotificationPanelViewController.onAffordanceLaunchEnded();
|
||||||
releaseGestureWakeLock();
|
releaseGestureWakeLock();
|
||||||
mNotificationPanelViewController.resetViews(false /* animate */);
|
mNotificationPanelViewController.resetViews(false /* animate */);
|
||||||
}
|
}
|
||||||
@@ -3099,7 +3094,7 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
|
|||||||
}
|
}
|
||||||
mMessageRouter.cancelMessages(MSG_LAUNCH_TRANSITION_TIMEOUT);
|
mMessageRouter.cancelMessages(MSG_LAUNCH_TRANSITION_TIMEOUT);
|
||||||
releaseGestureWakeLock();
|
releaseGestureWakeLock();
|
||||||
mCameraLauncherLazy.get().setLaunchingAffordance(false);
|
mNotificationPanelViewController.onAffordanceLaunchEnded();
|
||||||
mNotificationPanelViewController.resetAlpha();
|
mNotificationPanelViewController.resetAlpha();
|
||||||
mNotificationPanelViewController.resetTranslation();
|
mNotificationPanelViewController.resetTranslation();
|
||||||
mNotificationPanelViewController.resetViewGroupFade();
|
mNotificationPanelViewController.resetViewGroupFade();
|
||||||
@@ -3257,7 +3252,7 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
|
|||||||
@Override
|
@Override
|
||||||
public void endAffordanceLaunch() {
|
public void endAffordanceLaunch() {
|
||||||
releaseGestureWakeLock();
|
releaseGestureWakeLock();
|
||||||
mCameraLauncherLazy.get().setLaunchingAffordance(false);
|
mNotificationPanelViewController.onAffordanceLaunchEnded();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -3530,7 +3525,7 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
|
|||||||
final WakefulnessLifecycle.Observer mWakefulnessObserver = new WakefulnessLifecycle.Observer() {
|
final WakefulnessLifecycle.Observer mWakefulnessObserver = new WakefulnessLifecycle.Observer() {
|
||||||
@Override
|
@Override
|
||||||
public void onFinishedGoingToSleep() {
|
public void onFinishedGoingToSleep() {
|
||||||
mCameraLauncherLazy.get().setLaunchingAffordance(false);
|
mNotificationPanelViewController.onAffordanceLaunchEnded();
|
||||||
releaseGestureWakeLock();
|
releaseGestureWakeLock();
|
||||||
mLaunchCameraWhenFinishedWaking = false;
|
mLaunchCameraWhenFinishedWaking = false;
|
||||||
mDeviceInteractive = false;
|
mDeviceInteractive = false;
|
||||||
@@ -3631,8 +3626,7 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
|
|||||||
.updateSensitivenessForOccludedWakeup();
|
.updateSensitivenessForOccludedWakeup();
|
||||||
}
|
}
|
||||||
if (mLaunchCameraWhenFinishedWaking) {
|
if (mLaunchCameraWhenFinishedWaking) {
|
||||||
mCameraLauncherLazy.get().launchCamera(mLastCameraLaunchSource,
|
mNotificationPanelViewController.launchCamera(mLastCameraLaunchSource);
|
||||||
mNotificationPanelViewController.isFullyCollapsed());
|
|
||||||
mLaunchCameraWhenFinishedWaking = false;
|
mLaunchCameraWhenFinishedWaking = false;
|
||||||
}
|
}
|
||||||
if (mLaunchEmergencyActionWhenFinishedWaking) {
|
if (mLaunchEmergencyActionWhenFinishedWaking) {
|
||||||
@@ -3823,7 +3817,8 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
|
|||||||
|
|
||||||
mScrimController.setExpansionAffectsAlpha(!unlocking);
|
mScrimController.setExpansionAffectsAlpha(!unlocking);
|
||||||
|
|
||||||
boolean launchingAffordanceWithPreview = mLaunchingAffordance;
|
boolean launchingAffordanceWithPreview =
|
||||||
|
mNotificationPanelViewController.isLaunchingAffordanceWithPreview();
|
||||||
mScrimController.setLaunchingAffordanceWithPreview(launchingAffordanceWithPreview);
|
mScrimController.setLaunchingAffordanceWithPreview(launchingAffordanceWithPreview);
|
||||||
|
|
||||||
if (mStatusBarKeyguardViewManager.isShowingAlternateBouncer()) {
|
if (mStatusBarKeyguardViewManager.isShowingAlternateBouncer()) {
|
||||||
|
|||||||
@@ -94,6 +94,7 @@ import com.android.systemui.DejankUtils;
|
|||||||
import com.android.systemui.R;
|
import com.android.systemui.R;
|
||||||
import com.android.systemui.SysuiTestCase;
|
import com.android.systemui.SysuiTestCase;
|
||||||
import com.android.systemui.biometrics.AuthController;
|
import com.android.systemui.biometrics.AuthController;
|
||||||
|
import com.android.systemui.camera.CameraGestureHelper;
|
||||||
import com.android.systemui.classifier.FalsingCollectorFake;
|
import com.android.systemui.classifier.FalsingCollectorFake;
|
||||||
import com.android.systemui.classifier.FalsingManagerFake;
|
import com.android.systemui.classifier.FalsingManagerFake;
|
||||||
import com.android.systemui.doze.DozeLog;
|
import com.android.systemui.doze.DozeLog;
|
||||||
@@ -491,6 +492,7 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase {
|
|||||||
mUnlockedScreenOffAnimationController,
|
mUnlockedScreenOffAnimationController,
|
||||||
mShadeTransitionController,
|
mShadeTransitionController,
|
||||||
systemClock,
|
systemClock,
|
||||||
|
mock(CameraGestureHelper.class),
|
||||||
mKeyguardBottomAreaViewModel,
|
mKeyguardBottomAreaViewModel,
|
||||||
mKeyguardBottomAreaInteractor,
|
mKeyguardBottomAreaInteractor,
|
||||||
mDumpManager);
|
mDumpManager);
|
||||||
|
|||||||
@@ -41,7 +41,6 @@ import com.android.keyguard.KeyguardUpdateMonitor;
|
|||||||
import com.android.systemui.SysuiTestCase;
|
import com.android.systemui.SysuiTestCase;
|
||||||
import com.android.systemui.assist.AssistManager;
|
import com.android.systemui.assist.AssistManager;
|
||||||
import com.android.systemui.keyguard.WakefulnessLifecycle;
|
import com.android.systemui.keyguard.WakefulnessLifecycle;
|
||||||
import com.android.systemui.shade.CameraLauncher;
|
|
||||||
import com.android.systemui.shade.NotificationPanelViewController;
|
import com.android.systemui.shade.NotificationPanelViewController;
|
||||||
import com.android.systemui.shade.ShadeController;
|
import com.android.systemui.shade.ShadeController;
|
||||||
import com.android.systemui.statusbar.CommandQueue;
|
import com.android.systemui.statusbar.CommandQueue;
|
||||||
@@ -61,8 +60,6 @@ import org.mockito.stubbing.Answer;
|
|||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
import dagger.Lazy;
|
|
||||||
|
|
||||||
@SmallTest
|
@SmallTest
|
||||||
@RunWith(AndroidTestingRunner.class)
|
@RunWith(AndroidTestingRunner.class)
|
||||||
public class CentralSurfacesCommandQueueCallbacksTest extends SysuiTestCase {
|
public class CentralSurfacesCommandQueueCallbacksTest extends SysuiTestCase {
|
||||||
@@ -87,7 +84,6 @@ public class CentralSurfacesCommandQueueCallbacksTest extends SysuiTestCase {
|
|||||||
@Mock private Vibrator mVibrator;
|
@Mock private Vibrator mVibrator;
|
||||||
@Mock private StatusBarHideIconsForBouncerManager mStatusBarHideIconsForBouncerManager;
|
@Mock private StatusBarHideIconsForBouncerManager mStatusBarHideIconsForBouncerManager;
|
||||||
@Mock private SystemBarAttributesListener mSystemBarAttributesListener;
|
@Mock private SystemBarAttributesListener mSystemBarAttributesListener;
|
||||||
@Mock private Lazy<CameraLauncher> mCameraLauncherLazy;
|
|
||||||
|
|
||||||
CentralSurfacesCommandQueueCallbacks mSbcqCallbacks;
|
CentralSurfacesCommandQueueCallbacks mSbcqCallbacks;
|
||||||
|
|
||||||
@@ -119,8 +115,7 @@ public class CentralSurfacesCommandQueueCallbacksTest extends SysuiTestCase {
|
|||||||
Optional.of(mVibrator),
|
Optional.of(mVibrator),
|
||||||
new DisableFlagsLogger(),
|
new DisableFlagsLogger(),
|
||||||
DEFAULT_DISPLAY,
|
DEFAULT_DISPLAY,
|
||||||
mSystemBarAttributesListener,
|
mSystemBarAttributesListener);
|
||||||
mCameraLauncherLazy);
|
|
||||||
|
|
||||||
when(mDeviceProvisionedController.isCurrentUserSetup()).thenReturn(true);
|
when(mDeviceProvisionedController.isCurrentUserSetup()).thenReturn(true);
|
||||||
when(mRemoteInputQuickSettingsDisabler.adjustDisableFlags(anyInt()))
|
when(mRemoteInputQuickSettingsDisabler.adjustDisableFlags(anyInt()))
|
||||||
|
|||||||
@@ -112,7 +112,6 @@ import com.android.systemui.plugins.PluginDependencyProvider;
|
|||||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||||
import com.android.systemui.recents.ScreenPinningRequest;
|
import com.android.systemui.recents.ScreenPinningRequest;
|
||||||
import com.android.systemui.settings.brightness.BrightnessSliderController;
|
import com.android.systemui.settings.brightness.BrightnessSliderController;
|
||||||
import com.android.systemui.shade.CameraLauncher;
|
|
||||||
import com.android.systemui.shade.NotificationPanelView;
|
import com.android.systemui.shade.NotificationPanelView;
|
||||||
import com.android.systemui.shade.NotificationPanelViewController;
|
import com.android.systemui.shade.NotificationPanelViewController;
|
||||||
import com.android.systemui.shade.NotificationShadeWindowView;
|
import com.android.systemui.shade.NotificationShadeWindowView;
|
||||||
@@ -288,8 +287,6 @@ public class CentralSurfacesImplTest extends SysuiTestCase {
|
|||||||
@Mock private InteractionJankMonitor mJankMonitor;
|
@Mock private InteractionJankMonitor mJankMonitor;
|
||||||
@Mock private DeviceStateManager mDeviceStateManager;
|
@Mock private DeviceStateManager mDeviceStateManager;
|
||||||
@Mock private WiredChargingRippleController mWiredChargingRippleController;
|
@Mock private WiredChargingRippleController mWiredChargingRippleController;
|
||||||
@Mock private Lazy<CameraLauncher> mCameraLauncherLazy;
|
|
||||||
@Mock private CameraLauncher mCameraLauncher;
|
|
||||||
/**
|
/**
|
||||||
* The process of registering/unregistering a predictive back callback requires a
|
* The process of registering/unregistering a predictive back callback requires a
|
||||||
* ViewRootImpl, which is present IRL, but may be missing during a Mockito unit test.
|
* ViewRootImpl, which is present IRL, but may be missing during a Mockito unit test.
|
||||||
@@ -381,7 +378,6 @@ public class CentralSurfacesImplTest extends SysuiTestCase {
|
|||||||
|
|
||||||
when(mLockscreenWallpaperLazy.get()).thenReturn(mLockscreenWallpaper);
|
when(mLockscreenWallpaperLazy.get()).thenReturn(mLockscreenWallpaper);
|
||||||
when(mBiometricUnlockControllerLazy.get()).thenReturn(mBiometricUnlockController);
|
when(mBiometricUnlockControllerLazy.get()).thenReturn(mBiometricUnlockController);
|
||||||
when(mCameraLauncherLazy.get()).thenReturn(mCameraLauncher);
|
|
||||||
|
|
||||||
when(mStatusBarComponentFactory.create()).thenReturn(mCentralSurfacesComponent);
|
when(mStatusBarComponentFactory.create()).thenReturn(mCentralSurfacesComponent);
|
||||||
when(mCentralSurfacesComponent.getNotificationShadeWindowViewController()).thenReturn(
|
when(mCentralSurfacesComponent.getNotificationShadeWindowViewController()).thenReturn(
|
||||||
@@ -483,9 +479,7 @@ public class CentralSurfacesImplTest extends SysuiTestCase {
|
|||||||
mActivityLaunchAnimator,
|
mActivityLaunchAnimator,
|
||||||
mJankMonitor,
|
mJankMonitor,
|
||||||
mDeviceStateManager,
|
mDeviceStateManager,
|
||||||
mWiredChargingRippleController,
|
mWiredChargingRippleController, mDreamManager) {
|
||||||
mDreamManager,
|
|
||||||
mCameraLauncherLazy) {
|
|
||||||
@Override
|
@Override
|
||||||
protected ViewRootImpl getViewRootImpl() {
|
protected ViewRootImpl getViewRootImpl() {
|
||||||
return mViewRootImpl;
|
return mViewRootImpl;
|
||||||
@@ -897,7 +891,7 @@ public class CentralSurfacesImplTest extends SysuiTestCase {
|
|||||||
mCentralSurfaces.showKeyguardImpl();
|
mCentralSurfaces.showKeyguardImpl();
|
||||||
|
|
||||||
// Starting a pulse should change the scrim controller to the pulsing state
|
// Starting a pulse should change the scrim controller to the pulsing state
|
||||||
when(mCameraLauncher.isLaunchingAffordance()).thenReturn(true);
|
when(mNotificationPanelViewController.isLaunchingAffordanceWithPreview()).thenReturn(true);
|
||||||
mCentralSurfaces.updateScrimController();
|
mCentralSurfaces.updateScrimController();
|
||||||
verify(mScrimController).transitionTo(eq(ScrimState.UNLOCKED), any());
|
verify(mScrimController).transitionTo(eq(ScrimState.UNLOCKED), any());
|
||||||
}
|
}
|
||||||
@@ -933,7 +927,7 @@ public class CentralSurfacesImplTest extends SysuiTestCase {
|
|||||||
mCentralSurfaces.showKeyguardImpl();
|
mCentralSurfaces.showKeyguardImpl();
|
||||||
|
|
||||||
// Starting a pulse should change the scrim controller to the pulsing state
|
// Starting a pulse should change the scrim controller to the pulsing state
|
||||||
when(mCameraLauncher.isLaunchingAffordance()).thenReturn(false);
|
when(mNotificationPanelViewController.isLaunchingAffordanceWithPreview()).thenReturn(false);
|
||||||
mCentralSurfaces.updateScrimController();
|
mCentralSurfaces.updateScrimController();
|
||||||
verify(mScrimController).transitionTo(eq(ScrimState.KEYGUARD));
|
verify(mScrimController).transitionTo(eq(ScrimState.KEYGUARD));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user