Merge "Moved panel expansion classes to shade package" into tm-qpr-dev

This commit is contained in:
Justin Weir
2022-10-13 11:43:58 +00:00
committed by Android (Google) Code Review
44 changed files with 338 additions and 292 deletions

View File

@@ -493,7 +493,7 @@
-packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallFlags.kt
-packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallLogger.kt
-packages/SystemUI/src/com/android/systemui/statusbar/phone/panelstate/PanelExpansionStateManager.kt
-packages/SystemUI/src/com/android/systemui/statusbar/phone/panelstate/PanelStateListener.kt
-packages/SystemUI/src/com/android/systemui/statusbar/phone/panelstate/ShadeStateListener.kt
-packages/SystemUI/src/com/android/systemui/statusbar/phone/userswitcher/StatusBarUserInfoTracker.kt
-packages/SystemUI/src/com/android/systemui/statusbar/phone/userswitcher/StatusBarUserSwitcherContainer.kt
-packages/SystemUI/src/com/android/systemui/statusbar/phone/userswitcher/StatusBarUserSwitcherController.kt
@@ -812,7 +812,7 @@
-packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallChronometerTest.kt
-packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallControllerTest.kt
-packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallLoggerTest.kt
-packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/panelstate/PanelExpansionStateManagerTest.kt
-packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/panelstate/ShadeExpansionStateManagerTest.kt
-packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/userswitcher/StatusBarUserSwitcherControllerOldImplTest.kt
-packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/shared/ConnectivityPipelineLoggerTest.kt
-packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/WifiRepositoryImplTest.kt

View File

@@ -24,10 +24,10 @@ import androidx.annotation.Nullable;
import com.android.systemui.keyguard.KeyguardViewMediator;
import com.android.systemui.shade.NotificationPanelViewController;
import com.android.systemui.shade.ShadeExpansionStateManager;
import com.android.systemui.statusbar.phone.BiometricUnlockController;
import com.android.systemui.statusbar.phone.CentralSurfaces;
import com.android.systemui.statusbar.phone.KeyguardBypassController;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager;
/**
* Interface to control Keyguard View. It should be implemented by KeyguardViewManagers, which
@@ -180,7 +180,7 @@ public interface KeyguardViewController {
*/
void registerCentralSurfaces(CentralSurfaces centralSurfaces,
NotificationPanelViewController notificationPanelViewController,
@Nullable PanelExpansionStateManager panelExpansionStateManager,
@Nullable ShadeExpansionStateManager shadeExpansionStateManager,
BiometricUnlockController biometricUnlockController,
View notificationContainer,
KeyguardBypassController bypassController);

View File

@@ -22,9 +22,9 @@ import com.android.systemui.Dumpable
import com.android.systemui.animation.Interpolators
import com.android.systemui.dump.DumpManager
import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.shade.ShadeExpansionListener
import com.android.systemui.shade.ShadeExpansionStateManager
import com.android.systemui.statusbar.phone.SystemUIDialogManager
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionListener
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager
import com.android.systemui.util.ViewController
import java.io.PrintWriter
@@ -41,7 +41,7 @@ import java.io.PrintWriter
abstract class UdfpsAnimationViewController<T : UdfpsAnimationView>(
view: T,
protected val statusBarStateController: StatusBarStateController,
protected val panelExpansionStateManager: PanelExpansionStateManager,
protected val shadeExpansionStateManager: ShadeExpansionStateManager,
protected val dialogManager: SystemUIDialogManager,
private val dumpManager: DumpManager
) : ViewController<T>(view), Dumpable {
@@ -54,7 +54,7 @@ abstract class UdfpsAnimationViewController<T : UdfpsAnimationView>(
private var dialogAlphaAnimator: ValueAnimator? = null
private val dialogListener = SystemUIDialogManager.Listener { runDialogAlphaAnimator() }
private val panelExpansionListener = PanelExpansionListener { event ->
private val shadeExpansionListener = ShadeExpansionListener { event ->
// Notification shade can be expanded but not visible (fraction: 0.0), for example
// when a heads-up notification (HUN) is showing.
notificationShadeVisible = event.expanded && event.fraction > 0f
@@ -108,13 +108,13 @@ abstract class UdfpsAnimationViewController<T : UdfpsAnimationView>(
}
override fun onViewAttached() {
panelExpansionStateManager.addExpansionListener(panelExpansionListener)
shadeExpansionStateManager.addExpansionListener(shadeExpansionListener)
dialogManager.registerListener(dialogListener)
dumpManager.registerDumpable(dumpTag, this)
}
override fun onViewDetached() {
panelExpansionStateManager.removeExpansionListener(panelExpansionListener)
shadeExpansionStateManager.removeExpansionListener(shadeExpansionListener)
dialogManager.unregisterListener(dialogListener)
dumpManager.unregisterDumpable(dumpTag)
}

View File

@@ -17,8 +17,8 @@ package com.android.systemui.biometrics
import com.android.systemui.dump.DumpManager
import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.shade.ShadeExpansionStateManager
import com.android.systemui.statusbar.phone.SystemUIDialogManager
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager
/**
* Class that coordinates non-HBM animations for biometric prompt.
@@ -26,13 +26,13 @@ import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManage
class UdfpsBpViewController(
view: UdfpsBpView,
statusBarStateController: StatusBarStateController,
panelExpansionStateManager: PanelExpansionStateManager,
shadeExpansionStateManager: ShadeExpansionStateManager,
systemUIDialogManager: SystemUIDialogManager,
dumpManager: DumpManager
) : UdfpsAnimationViewController<UdfpsBpView>(
view,
statusBarStateController,
panelExpansionStateManager,
shadeExpansionStateManager,
systemUIDialogManager,
dumpManager
) {

View File

@@ -63,12 +63,12 @@ import com.android.systemui.dump.DumpManager;
import com.android.systemui.keyguard.ScreenLifecycle;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.shade.ShadeExpansionStateManager;
import com.android.systemui.statusbar.LockscreenShadeTransitionController;
import com.android.systemui.statusbar.VibratorHelper;
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
import com.android.systemui.statusbar.phone.SystemUIDialogManager;
import com.android.systemui.statusbar.phone.UnlockedScreenOffAnimationController;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.util.concurrency.DelayableExecutor;
@@ -111,7 +111,7 @@ public class UdfpsController implements DozeReceiver {
private final WindowManager mWindowManager;
private final DelayableExecutor mFgExecutor;
@NonNull private final Executor mBiometricExecutor;
@NonNull private final PanelExpansionStateManager mPanelExpansionStateManager;
@NonNull private final ShadeExpansionStateManager mShadeExpansionStateManager;
@NonNull private final StatusBarStateController mStatusBarStateController;
@NonNull private final KeyguardStateController mKeyguardStateController;
@NonNull private final StatusBarKeyguardViewManager mKeyguardViewManager;
@@ -205,7 +205,7 @@ public class UdfpsController implements DozeReceiver {
mFgExecutor.execute(() -> UdfpsController.this.showUdfpsOverlay(
new UdfpsControllerOverlay(mContext, mFingerprintManager, mInflater,
mWindowManager, mAccessibilityManager, mStatusBarStateController,
mPanelExpansionStateManager, mKeyguardViewManager,
mShadeExpansionStateManager, mKeyguardViewManager,
mKeyguardUpdateMonitor, mDialogManager, mDumpManager,
mLockscreenShadeTransitionController, mConfigurationController,
mSystemClock, mKeyguardStateController,
@@ -582,7 +582,7 @@ public class UdfpsController implements DozeReceiver {
@NonNull WindowManager windowManager,
@NonNull StatusBarStateController statusBarStateController,
@Main DelayableExecutor fgExecutor,
@NonNull PanelExpansionStateManager panelExpansionStateManager,
@NonNull ShadeExpansionStateManager shadeExpansionStateManager,
@NonNull StatusBarKeyguardViewManager statusBarKeyguardViewManager,
@NonNull DumpManager dumpManager,
@NonNull KeyguardUpdateMonitor keyguardUpdateMonitor,
@@ -615,7 +615,7 @@ public class UdfpsController implements DozeReceiver {
mFingerprintManager = checkNotNull(fingerprintManager);
mWindowManager = windowManager;
mFgExecutor = fgExecutor;
mPanelExpansionStateManager = panelExpansionStateManager;
mShadeExpansionStateManager = shadeExpansionStateManager;
mStatusBarStateController = statusBarStateController;
mKeyguardStateController = keyguardStateController;
mKeyguardViewManager = statusBarKeyguardViewManager;

View File

@@ -43,11 +43,11 @@ import com.android.systemui.R
import com.android.systemui.animation.ActivityLaunchAnimator
import com.android.systemui.dump.DumpManager
import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.shade.ShadeExpansionStateManager
import com.android.systemui.statusbar.LockscreenShadeTransitionController
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager
import com.android.systemui.statusbar.phone.SystemUIDialogManager
import com.android.systemui.statusbar.phone.UnlockedScreenOffAnimationController
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.statusbar.policy.KeyguardStateController
import com.android.systemui.util.time.SystemClock
@@ -67,7 +67,7 @@ class UdfpsControllerOverlay(
private val windowManager: WindowManager,
private val accessibilityManager: AccessibilityManager,
private val statusBarStateController: StatusBarStateController,
private val panelExpansionStateManager: PanelExpansionStateManager,
private val shadeExpansionStateManager: ShadeExpansionStateManager,
private val statusBarKeyguardViewManager: StatusBarKeyguardViewManager,
private val keyguardUpdateMonitor: KeyguardUpdateMonitor,
private val dialogManager: SystemUIDialogManager,
@@ -192,7 +192,7 @@ class UdfpsControllerOverlay(
},
enrollHelper ?: throw IllegalStateException("no enrollment helper"),
statusBarStateController,
panelExpansionStateManager,
shadeExpansionStateManager,
dialogManager,
dumpManager,
overlayParams.scaleFactor
@@ -202,7 +202,7 @@ class UdfpsControllerOverlay(
UdfpsKeyguardViewController(
view.addUdfpsView(R.layout.udfps_keyguard_view),
statusBarStateController,
panelExpansionStateManager,
shadeExpansionStateManager,
statusBarKeyguardViewManager,
keyguardUpdateMonitor,
dumpManager,
@@ -221,7 +221,7 @@ class UdfpsControllerOverlay(
UdfpsBpViewController(
view.addUdfpsView(R.layout.udfps_bp_view),
statusBarStateController,
panelExpansionStateManager,
shadeExpansionStateManager,
dialogManager,
dumpManager
)
@@ -231,7 +231,7 @@ class UdfpsControllerOverlay(
UdfpsFpmOtherViewController(
view.addUdfpsView(R.layout.udfps_fpm_other_view),
statusBarStateController,
panelExpansionStateManager,
shadeExpansionStateManager,
dialogManager,
dumpManager
)

View File

@@ -22,8 +22,8 @@ import android.graphics.PointF;
import com.android.systemui.R;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.shade.ShadeExpansionStateManager;
import com.android.systemui.statusbar.phone.SystemUIDialogManager;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager;
/**
* Class that coordinates non-HBM animations during enrollment.
@@ -54,11 +54,11 @@ public class UdfpsEnrollViewController extends UdfpsAnimationViewController<Udfp
@NonNull UdfpsEnrollView view,
@NonNull UdfpsEnrollHelper enrollHelper,
@NonNull StatusBarStateController statusBarStateController,
@NonNull PanelExpansionStateManager panelExpansionStateManager,
@NonNull ShadeExpansionStateManager shadeExpansionStateManager,
@NonNull SystemUIDialogManager systemUIDialogManager,
@NonNull DumpManager dumpManager,
float scaleFactor) {
super(view, statusBarStateController, panelExpansionStateManager, systemUIDialogManager,
super(view, statusBarStateController, shadeExpansionStateManager, systemUIDialogManager,
dumpManager);
mEnrollProgressBarRadius = (int) (scaleFactor * getContext().getResources().getInteger(
R.integer.config_udfpsEnrollProgressBar));

View File

@@ -17,8 +17,8 @@ package com.android.systemui.biometrics
import com.android.systemui.dump.DumpManager
import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.shade.ShadeExpansionStateManager
import com.android.systemui.statusbar.phone.SystemUIDialogManager
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager
/**
* Class that coordinates non-HBM animations for non keyguard, enrollment or biometric prompt
@@ -29,13 +29,13 @@ import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManage
class UdfpsFpmOtherViewController(
view: UdfpsFpmOtherView,
statusBarStateController: StatusBarStateController,
panelExpansionStateManager: PanelExpansionStateManager,
shadeExpansionStateManager: ShadeExpansionStateManager,
systemUIDialogManager: SystemUIDialogManager,
dumpManager: DumpManager
) : UdfpsAnimationViewController<UdfpsFpmOtherView>(
view,
statusBarStateController,
panelExpansionStateManager,
shadeExpansionStateManager,
systemUIDialogManager,
dumpManager
) {

View File

@@ -31,6 +31,9 @@ import com.android.systemui.animation.ActivityLaunchAnimator;
import com.android.systemui.animation.Interpolators;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.shade.ShadeExpansionChangeEvent;
import com.android.systemui.shade.ShadeExpansionListener;
import com.android.systemui.shade.ShadeExpansionStateManager;
import com.android.systemui.statusbar.LockscreenShadeTransitionController;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.notification.stack.StackStateAnimator;
@@ -38,9 +41,6 @@ import com.android.systemui.statusbar.phone.KeyguardBouncer;
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
import com.android.systemui.statusbar.phone.SystemUIDialogManager;
import com.android.systemui.statusbar.phone.UnlockedScreenOffAnimationController;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionChangeEvent;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionListener;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.util.time.SystemClock;
@@ -88,7 +88,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
protected UdfpsKeyguardViewController(
@NonNull UdfpsKeyguardView view,
@NonNull StatusBarStateController statusBarStateController,
@NonNull PanelExpansionStateManager panelExpansionStateManager,
@NonNull ShadeExpansionStateManager shadeExpansionStateManager,
@NonNull StatusBarKeyguardViewManager statusBarKeyguardViewManager,
@NonNull KeyguardUpdateMonitor keyguardUpdateMonitor,
@NonNull DumpManager dumpManager,
@@ -100,7 +100,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
@NonNull SystemUIDialogManager systemUIDialogManager,
@NonNull UdfpsController udfpsController,
@NonNull ActivityLaunchAnimator activityLaunchAnimator) {
super(view, statusBarStateController, panelExpansionStateManager, systemUIDialogManager,
super(view, statusBarStateController, shadeExpansionStateManager, systemUIDialogManager,
dumpManager);
mKeyguardViewManager = statusBarKeyguardViewManager;
mKeyguardUpdateMonitor = keyguardUpdateMonitor;
@@ -153,7 +153,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
mQsExpansion = mKeyguardViewManager.getQsExpansion();
updateGenericBouncerVisibility();
mConfigurationController.addCallback(mConfigurationListener);
getPanelExpansionStateManager().addExpansionListener(mPanelExpansionListener);
getShadeExpansionStateManager().addExpansionListener(mShadeExpansionListener);
updateScaleFactor();
mView.updatePadding();
updateAlpha();
@@ -174,7 +174,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
mKeyguardViewManager.removeAlternateAuthInterceptor(mAlternateAuthInterceptor);
mKeyguardUpdateMonitor.requestFaceAuthOnOccludingApp(false);
mConfigurationController.removeCallback(mConfigurationListener);
getPanelExpansionStateManager().removeExpansionListener(mPanelExpansionListener);
getShadeExpansionStateManager().removeExpansionListener(mShadeExpansionListener);
if (mLockScreenShadeTransitionController.getUdfpsKeyguardViewController() == this) {
mLockScreenShadeTransitionController.setUdfpsKeyguardViewController(null);
}
@@ -502,9 +502,9 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
}
};
private final PanelExpansionListener mPanelExpansionListener = new PanelExpansionListener() {
private final ShadeExpansionListener mShadeExpansionListener = new ShadeExpansionListener() {
@Override
public void onPanelExpansionChanged(PanelExpansionChangeEvent event) {
public void onPanelExpansionChanged(ShadeExpansionChangeEvent event) {
float fraction = event.getFraction();
mPanelExpansionFraction =
mKeyguardViewManager.isBouncerInTransit() ? BouncerPanelExpansionCalculator

View File

@@ -36,11 +36,11 @@ import androidx.annotation.VisibleForTesting;
import com.android.internal.logging.UiEvent;
import com.android.internal.logging.UiEventLogger;
import com.android.systemui.shade.ShadeExpansionChangeEvent;
import com.android.systemui.statusbar.NotificationShadeWindowController;
import com.android.systemui.statusbar.phone.CentralSurfaces;
import com.android.systemui.statusbar.phone.KeyguardBouncer;
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionChangeEvent;
import com.android.wm.shell.animation.FlingAnimationUtils;
import java.util.Optional;
@@ -154,8 +154,8 @@ public class BouncerSwipeTouchHandler implements DreamTouchHandler {
private void setPanelExpansion(float expansion, float dragDownAmount) {
mCurrentExpansion = expansion;
PanelExpansionChangeEvent event =
new PanelExpansionChangeEvent(
ShadeExpansionChangeEvent event =
new ShadeExpansionChangeEvent(
/* fraction= */ mCurrentExpansion,
/* expanded= */ false,
/* tracking= */ true,

View File

@@ -124,6 +124,7 @@ import com.android.systemui.keyguard.dagger.KeyguardModule;
import com.android.systemui.navigationbar.NavigationModeController;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.shade.NotificationPanelViewController;
import com.android.systemui.shade.ShadeExpansionStateManager;
import com.android.systemui.shared.system.QuickStepContract;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.NotificationShadeDepthController;
@@ -134,7 +135,6 @@ import com.android.systemui.statusbar.phone.CentralSurfaces;
import com.android.systemui.statusbar.phone.DozeParameters;
import com.android.systemui.statusbar.phone.KeyguardBypassController;
import com.android.systemui.statusbar.phone.ScreenOffAnimationController;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.UserSwitcherController;
import com.android.systemui.util.DeviceConfigProxy;
@@ -2972,14 +2972,14 @@ public class KeyguardViewMediator extends CoreStartable implements Dumpable,
*/
public KeyguardViewController registerCentralSurfaces(CentralSurfaces centralSurfaces,
NotificationPanelViewController panelView,
@Nullable PanelExpansionStateManager panelExpansionStateManager,
@Nullable ShadeExpansionStateManager shadeExpansionStateManager,
BiometricUnlockController biometricUnlockController,
View notificationContainer, KeyguardBypassController bypassController) {
mCentralSurfaces = centralSurfaces;
mKeyguardViewControllerLazy.get().registerCentralSurfaces(
centralSurfaces,
panelView,
panelExpansionStateManager,
shadeExpansionStateManager,
biometricUnlockController,
notificationContainer,
bypassController);

View File

@@ -19,14 +19,14 @@ import android.app.Service
import android.content.Intent
import android.os.IBinder
import android.util.Log
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager
import com.android.systemui.shade.ShadeExpansionStateManager
import javax.inject.Inject
/**
* Provides state from the main SystemUI process on behalf of the Screenshot process.
*/
internal class ScreenshotProxyService @Inject constructor(
private val mExpansionMgr: PanelExpansionStateManager
private val mExpansionMgr: ShadeExpansionStateManager
) : Service() {
private val mBinder: IBinder = object : IScreenshotProxy.Stub() {

View File

@@ -28,6 +28,9 @@ import static com.android.systemui.animation.Interpolators.EMPHASIZED_ACCELERATE
import static com.android.systemui.animation.Interpolators.EMPHASIZED_DECELERATE;
import static com.android.systemui.classifier.Classifier.QS_COLLAPSE;
import static com.android.systemui.classifier.Classifier.QUICK_SETTINGS;
import static com.android.systemui.shade.ShadeExpansionStateManagerKt.STATE_CLOSED;
import static com.android.systemui.shade.ShadeExpansionStateManagerKt.STATE_OPEN;
import static com.android.systemui.shade.ShadeExpansionStateManagerKt.STATE_OPENING;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_QUICK_SETTINGS_EXPANDED;
import static com.android.systemui.statusbar.StatusBarState.KEYGUARD;
@@ -36,9 +39,6 @@ import static com.android.systemui.statusbar.StatusBarState.SHADE_LOCKED;
import static com.android.systemui.statusbar.VibratorHelper.TOUCH_VIBRATION_ATTRIBUTES;
import static com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.ROWS_ALL;
import static com.android.systemui.statusbar.notification.stack.StackStateAnimator.ANIMATION_DURATION_FOLD_TO_AOD;
import static com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManagerKt.STATE_CLOSED;
import static com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManagerKt.STATE_OPEN;
import static com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManagerKt.STATE_OPENING;
import static com.android.systemui.util.DumpUtilsKt.asIndenting;
import android.animation.Animator;
@@ -202,8 +202,6 @@ import com.android.systemui.statusbar.phone.TapAgainViewController;
import com.android.systemui.statusbar.phone.UnlockedScreenOffAnimationController;
import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent;
import com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragment;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager;
import com.android.systemui.statusbar.phone.panelstate.PanelState;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.KeyguardQsUserSwitchController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
@@ -760,7 +758,7 @@ public final class NotificationPanelViewController extends PanelViewController {
LargeScreenShadeHeaderController largeScreenShadeHeaderController,
ScreenOffAnimationController screenOffAnimationController,
LockscreenGestureLogger lockscreenGestureLogger,
PanelExpansionStateManager panelExpansionStateManager,
ShadeExpansionStateManager shadeExpansionStateManager,
NotificationRemoteInputManager remoteInputManager,
Optional<SysUIUnfoldComponent> unfoldComponent,
InteractionJankMonitor interactionJankMonitor,
@@ -789,7 +787,7 @@ public final class NotificationPanelViewController extends PanelViewController {
flingAnimationUtilsBuilder.get(),
statusBarTouchableRegionManager,
lockscreenGestureLogger,
panelExpansionStateManager,
shadeExpansionStateManager,
ambientState,
interactionJankMonitor,
shadeLogger,
@@ -860,7 +858,7 @@ public final class NotificationPanelViewController extends PanelViewController {
new DynamicPrivacyControlListener();
dynamicPrivacyController.addListener(dynamicPrivacyControlListener);
panelExpansionStateManager.addStateListener(this::onPanelStateChanged);
shadeExpansionStateManager.addStateListener(this::onPanelStateChanged);
mBottomAreaShadeAlphaAnimator = ValueAnimator.ofFloat(1f, 0);
mBottomAreaShadeAlphaAnimator.addUpdateListener(animation -> {

View File

@@ -52,7 +52,6 @@ import com.android.systemui.statusbar.phone.CentralSurfaces;
import com.android.systemui.statusbar.phone.PhoneStatusBarViewController;
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager;
import com.android.systemui.statusbar.window.StatusBarWindowStateController;
import java.io.PrintWriter;
@@ -91,7 +90,7 @@ public class NotificationShadeWindowViewController {
private boolean mExpandingBelowNotch;
private final DockManager mDockManager;
private final NotificationPanelViewController mNotificationPanelViewController;
private final PanelExpansionStateManager mPanelExpansionStateManager;
private final ShadeExpansionStateManager mShadeExpansionStateManager;
private boolean mIsTrackingBarGesture = false;
@@ -104,7 +103,7 @@ public class NotificationShadeWindowViewController {
NotificationShadeDepthController depthController,
NotificationShadeWindowView notificationShadeWindowView,
NotificationPanelViewController notificationPanelViewController,
PanelExpansionStateManager panelExpansionStateManager,
ShadeExpansionStateManager shadeExpansionStateManager,
NotificationStackScrollLayoutController notificationStackScrollLayoutController,
StatusBarKeyguardViewManager statusBarKeyguardViewManager,
StatusBarWindowStateController statusBarWindowStateController,
@@ -124,7 +123,7 @@ public class NotificationShadeWindowViewController {
mView = notificationShadeWindowView;
mDockManager = dockManager;
mNotificationPanelViewController = notificationPanelViewController;
mPanelExpansionStateManager = panelExpansionStateManager;
mShadeExpansionStateManager = shadeExpansionStateManager;
mDepthController = depthController;
mNotificationStackScrollLayoutController = notificationStackScrollLayoutController;
mStatusBarKeyguardViewManager = statusBarKeyguardViewManager;
@@ -404,7 +403,7 @@ public class NotificationShadeWindowViewController {
setDragDownHelper(mLockscreenShadeTransitionController.getTouchHelper());
mDepthController.setRoot(mView);
mPanelExpansionStateManager.addExpansionListener(mDepthController);
mShadeExpansionStateManager.addExpansionListener(mDepthController);
}
public NotificationShadeWindowView getView() {

View File

@@ -67,7 +67,6 @@ import com.android.systemui.statusbar.phone.LockscreenGestureLogger;
import com.android.systemui.statusbar.phone.LockscreenGestureLogger.LockscreenUiEvent;
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
import com.android.systemui.statusbar.phone.StatusBarTouchableRegionManager;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.util.time.SystemClock;
import com.android.wm.shell.animation.FlingAnimationUtils;
@@ -198,7 +197,7 @@ public abstract class PanelViewController {
protected final SysuiStatusBarStateController mStatusBarStateController;
protected final AmbientState mAmbientState;
protected final LockscreenGestureLogger mLockscreenGestureLogger;
private final PanelExpansionStateManager mPanelExpansionStateManager;
private final ShadeExpansionStateManager mShadeExpansionStateManager;
private final InteractionJankMonitor mInteractionJankMonitor;
protected final SystemClock mSystemClock;
@@ -241,7 +240,7 @@ public abstract class PanelViewController {
FlingAnimationUtils.Builder flingAnimationUtilsBuilder,
StatusBarTouchableRegionManager statusBarTouchableRegionManager,
LockscreenGestureLogger lockscreenGestureLogger,
PanelExpansionStateManager panelExpansionStateManager,
ShadeExpansionStateManager shadeExpansionStateManager,
AmbientState ambientState,
InteractionJankMonitor interactionJankMonitor,
ShadeLogger shadeLogger,
@@ -256,7 +255,7 @@ public abstract class PanelViewController {
mView = view;
mStatusBarKeyguardViewManager = statusBarKeyguardViewManager;
mLockscreenGestureLogger = lockscreenGestureLogger;
mPanelExpansionStateManager = panelExpansionStateManager;
mShadeExpansionStateManager = shadeExpansionStateManager;
mShadeLog = shadeLogger;
TouchHandler touchHandler = createTouchHandler();
mView.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
@@ -1111,7 +1110,7 @@ public abstract class PanelViewController {
* {@link #updateVisibility()}? That would allow us to make this method private.
*/
public void updatePanelExpansionAndVisibility() {
mPanelExpansionStateManager.onPanelExpansionChanged(
mShadeExpansionStateManager.onPanelExpansionChanged(
mExpandedFraction, isExpanded(), mTracking, mExpansionDragDownAmountPx);
updateVisibility();
}
@@ -1488,7 +1487,7 @@ public abstract class PanelViewController {
return mExpandedFraction;
}
protected PanelExpansionStateManager getPanelExpansionStateManager() {
return mPanelExpansionStateManager;
protected ShadeExpansionStateManager getPanelExpansionStateManager() {
return mShadeExpansionStateManager;
}
}

View File

@@ -13,11 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.systemui.statusbar.phone.panelstate
package com.android.systemui.shade
import android.annotation.FloatRange
data class PanelExpansionChangeEvent(
data class ShadeExpansionChangeEvent(
/** 0 when collapsed, 1 when fully expanded. */
@FloatRange(from = 0.0, to = 1.0) val fraction: Float,
/** Whether the panel should be considered expanded */

View File

@@ -13,14 +13,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.systemui.statusbar.phone.panelstate
package com.android.systemui.shade
/** A listener interface to be notified of expansion events for the notification panel. */
fun interface PanelExpansionListener {
fun interface ShadeExpansionListener {
/**
* Invoked whenever the notification panel expansion changes, at every animation frame. This is
* the main expansion that happens when the user is swiping up to dismiss the lock screen and
* swiping to pull down the notification shade.
*/
fun onPanelExpansionChanged(event: PanelExpansionChangeEvent)
fun onPanelExpansionChanged(event: ShadeExpansionChangeEvent)
}

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.android.systemui.statusbar.phone.panelstate
package com.android.systemui.shade
import android.annotation.IntDef
import android.util.Log
@@ -29,10 +29,10 @@ import javax.inject.Inject
* TODO(b/200063118): Make this class the one source of truth for the state of panel expansion.
*/
@SysUISingleton
class PanelExpansionStateManager @Inject constructor() {
class ShadeExpansionStateManager @Inject constructor() {
private val expansionListeners = mutableListOf<PanelExpansionListener>()
private val stateListeners = mutableListOf<PanelStateListener>()
private val expansionListeners = mutableListOf<ShadeExpansionListener>()
private val stateListeners = mutableListOf<ShadeStateListener>()
@PanelState private var state: Int = STATE_CLOSED
@FloatRange(from = 0.0, to = 1.0) private var fraction: Float = 0f
@@ -45,24 +45,25 @@ class PanelExpansionStateManager @Inject constructor() {
*
* Listener will also be immediately notified with the current values.
*/
fun addExpansionListener(listener: PanelExpansionListener) {
fun addExpansionListener(listener: ShadeExpansionListener) {
expansionListeners.add(listener)
listener.onPanelExpansionChanged(
PanelExpansionChangeEvent(fraction, expanded, tracking, dragDownPxAmount))
ShadeExpansionChangeEvent(fraction, expanded, tracking, dragDownPxAmount)
)
}
/** Removes an expansion listener. */
fun removeExpansionListener(listener: PanelExpansionListener) {
fun removeExpansionListener(listener: ShadeExpansionListener) {
expansionListeners.remove(listener)
}
/** Adds a listener that will be notified when the panel state has changed. */
fun addStateListener(listener: PanelStateListener) {
fun addStateListener(listener: ShadeStateListener) {
stateListeners.add(listener)
}
/** Removes a state listener. */
fun removeStateListener(listener: PanelStateListener) {
fun removeStateListener(listener: ShadeStateListener) {
stateListeners.remove(listener)
}
@@ -110,25 +111,26 @@ class PanelExpansionStateManager @Inject constructor() {
debugLog(
"panelExpansionChanged:" +
"start state=${oldState.panelStateToString()} " +
"end state=${state.panelStateToString()} " +
"f=$fraction " +
"expanded=$expanded " +
"tracking=$tracking " +
"dragDownPxAmount=$dragDownPxAmount " +
"${if (fullyOpened) " fullyOpened" else ""} " +
if (fullyClosed) " fullyClosed" else ""
"start state=${oldState.panelStateToString()} " +
"end state=${state.panelStateToString()} " +
"f=$fraction " +
"expanded=$expanded " +
"tracking=$tracking " +
"dragDownPxAmount=$dragDownPxAmount " +
"${if (fullyOpened) " fullyOpened" else ""} " +
if (fullyClosed) " fullyClosed" else ""
)
val expansionChangeEvent =
PanelExpansionChangeEvent(fraction, expanded, tracking, dragDownPxAmount)
ShadeExpansionChangeEvent(fraction, expanded, tracking, dragDownPxAmount)
expansionListeners.forEach { it.onPanelExpansionChanged(expansionChangeEvent) }
}
/** Updates the panel state if necessary. */
fun updateState(@PanelState state: Int) {
debugLog(
"update state: ${this.state.panelStateToString()} -> ${state.panelStateToString()}")
"update state: ${this.state.panelStateToString()} -> ${state.panelStateToString()}"
)
if (this.state != state) {
updateStateInternal(state)
}
@@ -165,5 +167,5 @@ fun Int.panelStateToString(): String {
}
}
private val TAG = PanelExpansionStateManager::class.simpleName
private val TAG = ShadeExpansionStateManager::class.simpleName
private val DEBUG = Compile.IS_DEBUG && Log.isLoggable(TAG, Log.DEBUG)

View File

@@ -14,10 +14,10 @@
* limitations under the License.
*/
package com.android.systemui.statusbar.phone.panelstate
package com.android.systemui.shade
/** A listener interface to be notified of state change events for the notification panel. */
fun interface PanelStateListener {
/** Called when the panel's expansion state has changed. */
fun interface ShadeStateListener {
/** Called when the panel's expansion state has changed. */
fun onPanelStateChanged(@PanelState state: Int)
}

View File

@@ -7,12 +7,12 @@ import com.android.systemui.R
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.dump.DumpManager
import com.android.systemui.shade.PanelState
import com.android.systemui.shade.STATE_OPENING
import com.android.systemui.shade.ShadeExpansionChangeEvent
import com.android.systemui.statusbar.StatusBarState
import com.android.systemui.statusbar.SysuiStatusBarStateController
import com.android.systemui.statusbar.phone.ScrimController
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionChangeEvent
import com.android.systemui.statusbar.phone.panelstate.PanelState
import com.android.systemui.statusbar.phone.panelstate.STATE_OPENING
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.statusbar.policy.HeadsUpManager
import com.android.systemui.util.LargeScreenUtils
@@ -35,7 +35,7 @@ constructor(
private var inSplitShade = false
private var splitShadeScrimTransitionDistance = 0
private var lastExpansionFraction: Float? = null
private var lastExpansionEvent: PanelExpansionChangeEvent? = null
private var lastExpansionEvent: ShadeExpansionChangeEvent? = null
private var currentPanelState: Int? = null
init {
@@ -61,8 +61,8 @@ constructor(
onStateChanged()
}
fun onPanelExpansionChanged(panelExpansionChangeEvent: PanelExpansionChangeEvent) {
lastExpansionEvent = panelExpansionChangeEvent
fun onPanelExpansionChanged(shadeExpansionChangeEvent: ShadeExpansionChangeEvent) {
lastExpansionEvent = shadeExpansionChangeEvent
onStateChanged()
}
@@ -75,7 +75,7 @@ constructor(
}
private fun calculateScrimExpansionFraction(
expansionEvent: PanelExpansionChangeEvent,
expansionEvent: ShadeExpansionChangeEvent,
@PanelState panelState: Int?
): Float {
return if (canUseCustomFraction(panelState)) {

View File

@@ -1,6 +1,6 @@
package com.android.systemui.shade.transition
import com.android.systemui.statusbar.phone.panelstate.PanelState
import com.android.systemui.shade.PanelState
/** Represents an over scroller for the non-lockscreen shade. */
interface ShadeOverScroller {

View File

@@ -7,13 +7,13 @@ import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dump.DumpManager
import com.android.systemui.plugins.qs.QS
import com.android.systemui.shade.NotificationPanelViewController
import com.android.systemui.shade.PanelState
import com.android.systemui.shade.ShadeExpansionChangeEvent
import com.android.systemui.shade.ShadeExpansionStateManager
import com.android.systemui.shade.panelStateToString
import com.android.systemui.statusbar.StatusBarState
import com.android.systemui.statusbar.SysuiStatusBarStateController
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionChangeEvent
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager
import com.android.systemui.statusbar.phone.panelstate.PanelState
import com.android.systemui.statusbar.phone.panelstate.panelStateToString
import com.android.systemui.statusbar.policy.ConfigurationController
import java.io.PrintWriter
import javax.inject.Inject
@@ -24,7 +24,7 @@ class ShadeTransitionController
@Inject
constructor(
configurationController: ConfigurationController,
panelExpansionStateManager: PanelExpansionStateManager,
shadeExpansionStateManager: ShadeExpansionStateManager,
dumpManager: DumpManager,
private val context: Context,
private val splitShadeOverScrollerFactory: SplitShadeOverScroller.Factory,
@@ -39,7 +39,7 @@ constructor(
private var inSplitShade = false
private var currentPanelState: Int? = null
private var lastPanelExpansionChangeEvent: PanelExpansionChangeEvent? = null
private var lastShadeExpansionChangeEvent: ShadeExpansionChangeEvent? = null
private val splitShadeOverScroller by lazy {
splitShadeOverScrollerFactory.create({ qs }, { notificationStackScrollLayoutController })
@@ -60,8 +60,8 @@ constructor(
updateResources()
}
})
panelExpansionStateManager.addExpansionListener(this::onPanelExpansionChanged)
panelExpansionStateManager.addStateListener(this::onPanelStateChanged)
shadeExpansionStateManager.addExpansionListener(this::onPanelExpansionChanged)
shadeExpansionStateManager.addStateListener(this::onPanelStateChanged)
dumpManager.registerDumpable("ShadeTransitionController") { printWriter, _ ->
dump(printWriter)
}
@@ -77,8 +77,8 @@ constructor(
scrimShadeTransitionController.onPanelStateChanged(state)
}
private fun onPanelExpansionChanged(event: PanelExpansionChangeEvent) {
lastPanelExpansionChangeEvent = event
private fun onPanelExpansionChanged(event: ShadeExpansionChangeEvent) {
lastShadeExpansionChangeEvent = event
shadeOverScroller.onDragDownAmountChanged(event.dragDownPxAmount)
scrimShadeTransitionController.onPanelExpansionChanged(event)
}
@@ -95,7 +95,7 @@ constructor(
inSplitShade: $inSplitShade
isScreenUnlocked: ${isScreenUnlocked()}
currentPanelState: ${currentPanelState?.panelStateToString()}
lastPanelExpansionChangeEvent: $lastPanelExpansionChangeEvent
lastPanelExpansionChangeEvent: $lastShadeExpansionChangeEvent
qs.isInitialized: ${this::qs.isInitialized}
npvc.isInitialized: ${this::notificationPanelViewController.isInitialized}
nssl.isInitialized: ${this::notificationStackScrollLayoutController.isInitialized}

View File

@@ -10,11 +10,11 @@ import com.android.systemui.R
import com.android.systemui.animation.Interpolators
import com.android.systemui.dump.DumpManager
import com.android.systemui.plugins.qs.QS
import com.android.systemui.shade.PanelState
import com.android.systemui.shade.STATE_CLOSED
import com.android.systemui.shade.STATE_OPENING
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController
import com.android.systemui.statusbar.phone.ScrimController
import com.android.systemui.statusbar.phone.panelstate.PanelState
import com.android.systemui.statusbar.phone.panelstate.STATE_CLOSED
import com.android.systemui.statusbar.phone.panelstate.STATE_OPENING
import com.android.systemui.statusbar.policy.ConfigurationController
import dagger.assisted.Assisted
import dagger.assisted.AssistedFactory
@@ -37,6 +37,7 @@ constructor(
private var previousOverscrollAmount = 0
private var dragDownAmount: Float = 0f
@PanelState private var panelState: Int = STATE_CLOSED
private var releaseOverScrollAnimator: Animator? = null
private val qS: QS

View File

@@ -38,12 +38,12 @@ import com.android.systemui.animation.ShadeInterpolation
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dump.DumpManager
import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.shade.ShadeExpansionChangeEvent
import com.android.systemui.shade.ShadeExpansionListener
import com.android.systemui.statusbar.phone.BiometricUnlockController
import com.android.systemui.statusbar.phone.BiometricUnlockController.MODE_WAKE_AND_UNLOCK
import com.android.systemui.statusbar.phone.DozeParameters
import com.android.systemui.statusbar.phone.ScrimController
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionChangeEvent
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionListener
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.statusbar.policy.KeyguardStateController
import com.android.systemui.util.LargeScreenUtils
@@ -69,7 +69,7 @@ class NotificationShadeDepthController @Inject constructor(
private val context: Context,
dumpManager: DumpManager,
configurationController: ConfigurationController
) : PanelExpansionListener, Dumpable {
) : ShadeExpansionListener, Dumpable {
companion object {
private const val WAKE_UP_ANIMATION_ENABLED = true
private const val VELOCITY_SCALE = 100f
@@ -338,7 +338,7 @@ class NotificationShadeDepthController @Inject constructor(
/**
* Update blurs when pulling down the shade
*/
override fun onPanelExpansionChanged(event: PanelExpansionChangeEvent) {
override fun onPanelExpansionChanged(event: ShadeExpansionChangeEvent) {
val rawFraction = event.fraction
val tracking = event.tracking
val timestamp = SystemClock.elapsedRealtimeNanos()

View File

@@ -21,6 +21,8 @@ import android.util.FloatProperty
import com.android.systemui.animation.Interpolators
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.shade.ShadeExpansionChangeEvent
import com.android.systemui.shade.ShadeExpansionListener
import com.android.systemui.statusbar.StatusBarState
import com.android.systemui.statusbar.notification.collection.NotificationEntry
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController
@@ -28,8 +30,6 @@ import com.android.systemui.statusbar.notification.stack.StackStateAnimator
import com.android.systemui.statusbar.phone.DozeParameters
import com.android.systemui.statusbar.phone.KeyguardBypassController
import com.android.systemui.statusbar.phone.ScreenOffAnimationController
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionChangeEvent
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionListener
import com.android.systemui.statusbar.policy.HeadsUpManager
import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener
import javax.inject.Inject
@@ -42,7 +42,7 @@ class NotificationWakeUpCoordinator @Inject constructor(
private val bypassController: KeyguardBypassController,
private val dozeParameters: DozeParameters,
private val screenOffAnimationController: ScreenOffAnimationController
) : OnHeadsUpChangedListener, StatusBarStateController.StateListener, PanelExpansionListener {
) : OnHeadsUpChangedListener, StatusBarStateController.StateListener, ShadeExpansionListener {
private val mNotificationVisibility = object : FloatProperty<NotificationWakeUpCoordinator>(
"notificationVisibility") {
@@ -293,7 +293,7 @@ class NotificationWakeUpCoordinator @Inject constructor(
this.state = newState
}
override fun onPanelExpansionChanged(event: PanelExpansionChangeEvent) {
override fun onPanelExpansionChanged(event: ShadeExpansionChangeEvent) {
val collapsedEnough = event.fraction <= 0.9f
if (collapsedEnough != this.collapsedEnoughToHide) {
val couldShowPulsingHuns = canShowPulsingHuns
@@ -426,4 +426,4 @@ class NotificationWakeUpCoordinator @Inject constructor(
*/
@JvmDefault fun onPulseExpansionChanged(expandingChanged: Boolean) {}
}
}
}

View File

@@ -183,6 +183,8 @@ import com.android.systemui.shade.NotificationPanelViewController;
import com.android.systemui.shade.NotificationShadeWindowView;
import com.android.systemui.shade.NotificationShadeWindowViewController;
import com.android.systemui.shade.ShadeController;
import com.android.systemui.shade.ShadeExpansionChangeEvent;
import com.android.systemui.shade.ShadeExpansionStateManager;
import com.android.systemui.shared.plugins.PluginManager;
import com.android.systemui.statusbar.AutoHideUiElement;
import com.android.systemui.statusbar.BackDropView;
@@ -221,8 +223,6 @@ import com.android.systemui.statusbar.notification.stack.NotificationStackScroll
import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent;
import com.android.systemui.statusbar.phone.dagger.StatusBarPhoneModule;
import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallController;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionChangeEvent;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager;
import com.android.systemui.statusbar.policy.BatteryController;
import com.android.systemui.statusbar.policy.BrightnessMirrorController;
import com.android.systemui.statusbar.policy.ConfigurationController;
@@ -513,7 +513,7 @@ public class CentralSurfacesImpl extends CoreStartable implements
private final NotificationGutsManager mGutsManager;
private final NotificationLogger mNotificationLogger;
private final PanelExpansionStateManager mPanelExpansionStateManager;
private final ShadeExpansionStateManager mShadeExpansionStateManager;
private final KeyguardViewMediator mKeyguardViewMediator;
protected final NotificationInterruptStateProvider mNotificationInterruptStateProvider;
private final BrightnessSliderController.Factory mBrightnessSliderFactory;
@@ -699,7 +699,7 @@ public class CentralSurfacesImpl extends CoreStartable implements
NotificationGutsManager notificationGutsManager,
NotificationLogger notificationLogger,
NotificationInterruptStateProvider notificationInterruptStateProvider,
PanelExpansionStateManager panelExpansionStateManager,
ShadeExpansionStateManager shadeExpansionStateManager,
KeyguardViewMediator keyguardViewMediator,
DisplayMetrics displayMetrics,
MetricsLogger metricsLogger,
@@ -784,7 +784,7 @@ public class CentralSurfacesImpl extends CoreStartable implements
mGutsManager = notificationGutsManager;
mNotificationLogger = notificationLogger;
mNotificationInterruptStateProvider = notificationInterruptStateProvider;
mPanelExpansionStateManager = panelExpansionStateManager;
mShadeExpansionStateManager = shadeExpansionStateManager;
mKeyguardViewMediator = keyguardViewMediator;
mDisplayMetrics = displayMetrics;
mMetricsLogger = metricsLogger;
@@ -849,7 +849,7 @@ public class CentralSurfacesImpl extends CoreStartable implements
mScreenOffAnimationController = screenOffAnimationController;
mPanelExpansionStateManager.addExpansionListener(this::onPanelExpansionChanged);
mShadeExpansionStateManager.addExpansionListener(this::onPanelExpansionChanged);
mBubbleExpandListener = (isExpanding, key) ->
mContext.getMainExecutor().execute(this::updateScrimController);
@@ -1139,7 +1139,7 @@ public class CentralSurfacesImpl extends CoreStartable implements
// into fragments, but the rest here, it leaves some awkward lifecycle and whatnot.
mNotificationLogger.setUpWithContainer(mNotifListContainer);
mNotificationIconAreaController.setupShelf(mNotificationShelfController);
mPanelExpansionStateManager.addExpansionListener(mWakeUpCoordinator);
mShadeExpansionStateManager.addExpansionListener(mWakeUpCoordinator);
mUserSwitcherController.init(mNotificationShadeWindowView);
// Allow plugins to reference DarkIconDispatcher and StatusBarStateController
@@ -1375,7 +1375,7 @@ public class CentralSurfacesImpl extends CoreStartable implements
}
}
private void onPanelExpansionChanged(PanelExpansionChangeEvent event) {
private void onPanelExpansionChanged(ShadeExpansionChangeEvent event) {
float fraction = event.getFraction();
boolean tracking = event.getTracking();
dispatchPanelExpansionForKeyguardDismiss(fraction, tracking);
@@ -1559,7 +1559,7 @@ public class CentralSurfacesImpl extends CoreStartable implements
mKeyguardViewMediator.registerCentralSurfaces(
/* statusBar= */ this,
mNotificationPanelViewController,
mPanelExpansionStateManager,
mShadeExpansionStateManager,
mBiometricUnlockController,
mStackScroller,
mKeyguardBypassController);

View File

@@ -68,6 +68,9 @@ import com.android.systemui.navigationbar.NavigationModeController;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.shade.NotificationPanelViewController;
import com.android.systemui.shade.ShadeController;
import com.android.systemui.shade.ShadeExpansionChangeEvent;
import com.android.systemui.shade.ShadeExpansionListener;
import com.android.systemui.shade.ShadeExpansionStateManager;
import com.android.systemui.shared.system.QuickStepContract;
import com.android.systemui.shared.system.SysUiStatsLog;
import com.android.systemui.statusbar.NotificationMediaManager;
@@ -77,9 +80,6 @@ import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.notification.ViewGroupFadeHelper;
import com.android.systemui.statusbar.phone.KeyguardBouncer.BouncerExpansionCallback;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionChangeEvent;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionListener;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.unfold.FoldAodAnimationController;
@@ -103,7 +103,7 @@ import dagger.Lazy;
@SysUISingleton
public class StatusBarKeyguardViewManager implements RemoteInputController.Callback,
StatusBarStateController.StateListener, ConfigurationController.ConfigurationListener,
PanelExpansionListener, NavigationModeController.ModeChangedListener,
ShadeExpansionListener, NavigationModeController.ModeChangedListener,
KeyguardViewController, FoldAodAnimationController.FoldAodAnimationStatus {
// When hiding the Keyguard with timing supplied from WindowManager, better be early than late.
@@ -335,7 +335,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
@Override
public void registerCentralSurfaces(CentralSurfaces centralSurfaces,
NotificationPanelViewController notificationPanelViewController,
PanelExpansionStateManager panelExpansionStateManager,
ShadeExpansionStateManager shadeExpansionStateManager,
BiometricUnlockController biometricUnlockController,
View notificationContainer,
KeyguardBypassController bypassController) {
@@ -349,8 +349,8 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
mBouncer = mKeyguardBouncerFactory.create(container, mExpansionCallback);
}
mNotificationPanelViewController = notificationPanelViewController;
if (panelExpansionStateManager != null) {
panelExpansionStateManager.addExpansionListener(this);
if (shadeExpansionStateManager != null) {
shadeExpansionStateManager.addExpansionListener(this);
}
mBypassController = bypassController;
mNotificationContainer = notificationContainer;
@@ -442,7 +442,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
}
@Override
public void onPanelExpansionChanged(PanelExpansionChangeEvent event) {
public void onPanelExpansionChanged(ShadeExpansionChangeEvent event) {
float fraction = event.getFraction();
boolean tracking = event.getTracking();
// Avoid having the shade and the bouncer open at the same time over a dream.

View File

@@ -41,6 +41,7 @@ import com.android.systemui.shade.NotificationPanelView;
import com.android.systemui.shade.NotificationPanelViewController;
import com.android.systemui.shade.NotificationShadeWindowView;
import com.android.systemui.shade.NotificationsQuickSettingsContainer;
import com.android.systemui.shade.ShadeExpansionStateManager;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.NotificationShelf;
import com.android.systemui.statusbar.NotificationShelfController;
@@ -64,7 +65,6 @@ import com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragment;
import com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragmentLogger;
import com.android.systemui.statusbar.phone.fragment.dagger.StatusBarFragmentComponent;
import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallController;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager;
import com.android.systemui.statusbar.policy.BatteryController;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
@@ -284,7 +284,7 @@ public abstract class StatusBarViewModule {
SystemStatusAnimationScheduler animationScheduler,
StatusBarLocationPublisher locationPublisher,
NotificationIconAreaController notificationIconAreaController,
PanelExpansionStateManager panelExpansionStateManager,
ShadeExpansionStateManager shadeExpansionStateManager,
FeatureFlags featureFlags,
StatusBarIconController statusBarIconController,
StatusBarIconController.DarkIconManager.Factory darkIconManagerFactory,
@@ -306,7 +306,7 @@ public abstract class StatusBarViewModule {
animationScheduler,
locationPublisher,
notificationIconAreaController,
panelExpansionStateManager,
shadeExpansionStateManager,
featureFlags,
statusBarIconController,
darkIconManagerFactory,

View File

@@ -53,6 +53,7 @@ import com.android.systemui.dump.DumpManager;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.shade.NotificationPanelViewController;
import com.android.systemui.shade.ShadeExpansionStateManager;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.DisableFlagsLogger.DisableState;
import com.android.systemui.statusbar.OperatorNameView;
@@ -74,7 +75,6 @@ import com.android.systemui.statusbar.phone.fragment.dagger.StatusBarFragmentCom
import com.android.systemui.statusbar.phone.fragment.dagger.StatusBarFragmentComponent.Startable;
import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallController;
import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallListener;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager;
import com.android.systemui.statusbar.policy.EncryptionHelper;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.util.CarrierConfigTracker;
@@ -127,7 +127,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue
private final StatusBarLocationPublisher mLocationPublisher;
private final FeatureFlags mFeatureFlags;
private final NotificationIconAreaController mNotificationIconAreaController;
private final PanelExpansionStateManager mPanelExpansionStateManager;
private final ShadeExpansionStateManager mShadeExpansionStateManager;
private final StatusBarIconController mStatusBarIconController;
private final CarrierConfigTracker mCarrierConfigTracker;
private final StatusBarHideIconsForBouncerManager mStatusBarHideIconsForBouncerManager;
@@ -184,7 +184,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue
SystemStatusAnimationScheduler animationScheduler,
StatusBarLocationPublisher locationPublisher,
NotificationIconAreaController notificationIconAreaController,
PanelExpansionStateManager panelExpansionStateManager,
ShadeExpansionStateManager shadeExpansionStateManager,
FeatureFlags featureFlags,
StatusBarIconController statusBarIconController,
StatusBarIconController.DarkIconManager.Factory darkIconManagerFactory,
@@ -206,7 +206,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue
mAnimationScheduler = animationScheduler;
mLocationPublisher = locationPublisher;
mNotificationIconAreaController = notificationIconAreaController;
mPanelExpansionStateManager = panelExpansionStateManager;
mShadeExpansionStateManager = shadeExpansionStateManager;
mFeatureFlags = featureFlags;
mStatusBarIconController = statusBarIconController;
mStatusBarHideIconsForBouncerManager = statusBarHideIconsForBouncerManager;
@@ -490,7 +490,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue
}
private boolean shouldHideNotificationIcons() {
if (!mPanelExpansionStateManager.isClosed()
if (!mShadeExpansionStateManager.isClosed()
&& mNotificationPanelViewController.hideStatusBarIconsWhenExpanded()) {
return true;
}
@@ -536,7 +536,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue
* don't set the clock GONE otherwise it'll mess up the animation.
*/
private int clockHiddenMode() {
if (!mPanelExpansionStateManager.isClosed() && !mKeyguardStateController.isShowing()
if (!mShadeExpansionStateManager.isClosed() && !mKeyguardStateController.isShowing()
&& !mStatusBarStateController.isDozing()) {
return View.INVISIBLE;
}

View File

@@ -17,13 +17,23 @@
package com.android.systemui.biometrics
import android.graphics.Rect
import android.hardware.biometrics.BiometricOverlayConstants.*
import android.hardware.biometrics.BiometricOverlayConstants.REASON_AUTH_BP
import android.hardware.biometrics.BiometricOverlayConstants.REASON_AUTH_KEYGUARD
import android.hardware.biometrics.BiometricOverlayConstants.REASON_AUTH_OTHER
import android.hardware.biometrics.BiometricOverlayConstants.REASON_AUTH_SETTINGS
import android.hardware.biometrics.BiometricOverlayConstants.REASON_ENROLL_ENROLLING
import android.hardware.biometrics.BiometricOverlayConstants.REASON_ENROLL_FIND_SENSOR
import android.hardware.biometrics.BiometricOverlayConstants.ShowReason
import android.hardware.fingerprint.FingerprintManager
import android.hardware.fingerprint.IUdfpsOverlayControllerCallback
import android.testing.AndroidTestingRunner
import android.testing.TestableLooper.RunWithLooper
import android.view.*
import android.view.LayoutInflater
import android.view.MotionEvent
import android.view.Surface
import android.view.Surface.Rotation
import android.view.View
import android.view.WindowManager
import android.view.accessibility.AccessibilityManager
import androidx.test.filters.SmallTest
import com.android.keyguard.KeyguardUpdateMonitor
@@ -32,11 +42,11 @@ import com.android.systemui.SysuiTestCase
import com.android.systemui.animation.ActivityLaunchAnimator
import com.android.systemui.dump.DumpManager
import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.shade.ShadeExpansionStateManager
import com.android.systemui.statusbar.LockscreenShadeTransitionController
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager
import com.android.systemui.statusbar.phone.SystemUIDialogManager
import com.android.systemui.statusbar.phone.UnlockedScreenOffAnimationController
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.statusbar.policy.KeyguardStateController
import com.android.systemui.util.time.SystemClock
@@ -52,8 +62,8 @@ import org.mockito.Captor
import org.mockito.Mock
import org.mockito.Mockito.mock
import org.mockito.Mockito.verify
import org.mockito.junit.MockitoJUnit
import org.mockito.Mockito.`when` as whenever
import org.mockito.junit.MockitoJUnit
private const val REQUEST_ID = 2L
@@ -75,7 +85,7 @@ class UdfpsControllerOverlayTest : SysuiTestCase() {
@Mock private lateinit var windowManager: WindowManager
@Mock private lateinit var accessibilityManager: AccessibilityManager
@Mock private lateinit var statusBarStateController: StatusBarStateController
@Mock private lateinit var panelExpansionStateManager: PanelExpansionStateManager
@Mock private lateinit var shadeExpansionStateManager: ShadeExpansionStateManager
@Mock private lateinit var statusBarKeyguardViewManager: StatusBarKeyguardViewManager
@Mock private lateinit var keyguardUpdateMonitor: KeyguardUpdateMonitor
@Mock private lateinit var dialogManager: SystemUIDialogManager
@@ -117,7 +127,7 @@ class UdfpsControllerOverlayTest : SysuiTestCase() {
private fun withReason(@ShowReason reason: Int, block: () -> Unit) {
controllerOverlay = UdfpsControllerOverlay(
context, fingerprintManager, inflater, windowManager, accessibilityManager,
statusBarStateController, panelExpansionStateManager, statusBarKeyguardViewManager,
statusBarStateController, shadeExpansionStateManager, statusBarKeyguardViewManager,
keyguardUpdateMonitor, dialogManager, dumpManager, transitionController,
configurationController, systemClock, keyguardStateController,
unlockedScreenOffAnimationController, udfpsDisplayMode, REQUEST_ID, reason,

View File

@@ -72,12 +72,12 @@ import com.android.systemui.dump.DumpManager;
import com.android.systemui.keyguard.ScreenLifecycle;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.shade.ShadeExpansionStateManager;
import com.android.systemui.statusbar.LockscreenShadeTransitionController;
import com.android.systemui.statusbar.VibratorHelper;
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
import com.android.systemui.statusbar.phone.SystemUIDialogManager;
import com.android.systemui.statusbar.phone.UnlockedScreenOffAnimationController;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.util.concurrency.Execution;
@@ -246,7 +246,7 @@ public class UdfpsControllerTest extends SysuiTestCase {
mWindowManager,
mStatusBarStateController,
mFgExecutor,
new PanelExpansionStateManager(),
new ShadeExpansionStateManager(),
mStatusBarKeyguardViewManager,
mDumpManager,
mKeyguardUpdateMonitor,

View File

@@ -41,14 +41,14 @@ import com.android.systemui.animation.ActivityLaunchAnimator;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.keyguard.KeyguardViewMediator;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.shade.ShadeExpansionChangeEvent;
import com.android.systemui.shade.ShadeExpansionListener;
import com.android.systemui.shade.ShadeExpansionStateManager;
import com.android.systemui.statusbar.LockscreenShadeTransitionController;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
import com.android.systemui.statusbar.phone.SystemUIDialogManager;
import com.android.systemui.statusbar.phone.UnlockedScreenOffAnimationController;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionChangeEvent;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionListener;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.util.concurrency.DelayableExecutor;
@@ -76,7 +76,7 @@ public class UdfpsKeyguardViewControllerTest extends SysuiTestCase {
@Mock
private StatusBarStateController mStatusBarStateController;
@Mock
private PanelExpansionStateManager mPanelExpansionStateManager;
private ShadeExpansionStateManager mShadeExpansionStateManager;
@Mock
private StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
@Mock
@@ -109,8 +109,8 @@ public class UdfpsKeyguardViewControllerTest extends SysuiTestCase {
@Captor private ArgumentCaptor<StatusBarStateController.StateListener> mStateListenerCaptor;
private StatusBarStateController.StateListener mStatusBarStateListener;
@Captor private ArgumentCaptor<PanelExpansionListener> mExpansionListenerCaptor;
private List<PanelExpansionListener> mExpansionListeners;
@Captor private ArgumentCaptor<ShadeExpansionListener> mExpansionListenerCaptor;
private List<ShadeExpansionListener> mExpansionListeners;
@Captor private ArgumentCaptor<StatusBarKeyguardViewManager.AlternateAuthInterceptor>
mAltAuthInterceptorCaptor;
@@ -130,7 +130,7 @@ public class UdfpsKeyguardViewControllerTest extends SysuiTestCase {
mController = new UdfpsKeyguardViewController(
mView,
mStatusBarStateController,
mPanelExpansionStateManager,
mShadeExpansionStateManager,
mStatusBarKeyguardViewManager,
mKeyguardUpdateMonitor,
mDumpManager,
@@ -182,8 +182,8 @@ public class UdfpsKeyguardViewControllerTest extends SysuiTestCase {
mController.onViewDetached();
verify(mStatusBarStateController).removeCallback(mStatusBarStateListener);
for (PanelExpansionListener listener : mExpansionListeners) {
verify(mPanelExpansionStateManager).removeExpansionListener(listener);
for (ShadeExpansionListener listener : mExpansionListeners) {
verify(mShadeExpansionStateManager).removeExpansionListener(listener);
}
verify(mKeyguardStateController).removeCallback(mKeyguardStateControllerCallback);
}
@@ -513,7 +513,7 @@ public class UdfpsKeyguardViewControllerTest extends SysuiTestCase {
}
private void captureStatusBarExpansionListeners() {
verify(mPanelExpansionStateManager, times(2))
verify(mShadeExpansionStateManager, times(2))
.addExpansionListener(mExpansionListenerCaptor.capture());
// first (index=0) is from super class, UdfpsAnimationViewController.
// second (index=1) is from UdfpsKeyguardViewController
@@ -521,10 +521,10 @@ public class UdfpsKeyguardViewControllerTest extends SysuiTestCase {
}
private void updateStatusBarExpansion(float fraction, boolean expanded) {
PanelExpansionChangeEvent event =
new PanelExpansionChangeEvent(
ShadeExpansionChangeEvent event =
new ShadeExpansionChangeEvent(
fraction, expanded, /* tracking= */ false, /* dragDownPxAmount= */ 0f);
for (PanelExpansionListener listener : mExpansionListeners) {
for (ShadeExpansionListener listener : mExpansionListeners) {
listener.onPanelExpansionChanged(event);
}
}

View File

@@ -41,12 +41,12 @@ import androidx.test.filters.SmallTest;
import com.android.internal.logging.UiEventLogger;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.shade.ShadeExpansionChangeEvent;
import com.android.systemui.shared.system.InputChannelCompat;
import com.android.systemui.statusbar.NotificationShadeWindowController;
import com.android.systemui.statusbar.phone.CentralSurfaces;
import com.android.systemui.statusbar.phone.KeyguardBouncer;
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionChangeEvent;
import com.android.wm.shell.animation.FlingAnimationUtils;
import org.junit.Before;
@@ -285,8 +285,8 @@ public class BouncerSwipeTouchHandlerTest extends SysuiTestCase {
final float dragDownAmount = event2.getY() - event1.getY();
// Ensure correct expansion passed in.
PanelExpansionChangeEvent event =
new PanelExpansionChangeEvent(
ShadeExpansionChangeEvent event =
new ShadeExpansionChangeEvent(
expansion, /* expanded= */ false, /* tracking= */ true, dragDownAmount);
verify(mStatusBarKeyguardViewManager).onPanelExpansionChanged(event);
}

View File

@@ -20,12 +20,12 @@ import static android.content.res.Configuration.ORIENTATION_PORTRAIT;
import static com.android.keyguard.KeyguardClockSwitch.LARGE;
import static com.android.keyguard.KeyguardClockSwitch.SMALL;
import static com.android.systemui.shade.ShadeExpansionStateManagerKt.STATE_CLOSED;
import static com.android.systemui.shade.ShadeExpansionStateManagerKt.STATE_OPEN;
import static com.android.systemui.shade.ShadeExpansionStateManagerKt.STATE_OPENING;
import static com.android.systemui.statusbar.StatusBarState.KEYGUARD;
import static com.android.systemui.statusbar.StatusBarState.SHADE;
import static com.android.systemui.statusbar.StatusBarState.SHADE_LOCKED;
import static com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManagerKt.STATE_CLOSED;
import static com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManagerKt.STATE_OPEN;
import static com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManagerKt.STATE_OPENING;
import static com.google.common.truth.Truth.assertThat;
@@ -156,7 +156,6 @@ import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
import com.android.systemui.statusbar.phone.StatusBarTouchableRegionManager;
import com.android.systemui.statusbar.phone.TapAgainViewController;
import com.android.systemui.statusbar.phone.UnlockedScreenOffAnimationController;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.KeyguardQsUserSwitchController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
@@ -297,8 +296,8 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase {
private final FalsingManagerFake mFalsingManager = new FalsingManagerFake();
private final Optional<SysUIUnfoldComponent> mSysUIUnfoldComponent = Optional.empty();
private final DisplayMetrics mDisplayMetrics = new DisplayMetrics();
private final PanelExpansionStateManager mPanelExpansionStateManager =
new PanelExpansionStateManager();
private final ShadeExpansionStateManager mShadeExpansionStateManager =
new ShadeExpansionStateManager();
private FragmentHostManager.FragmentListener mFragmentListener;
@Before
@@ -475,7 +474,7 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase {
mLargeScreenShadeHeaderController,
mScreenOffAnimationController,
mLockscreenGestureLogger,
mPanelExpansionStateManager,
mShadeExpansionStateManager,
mNotificationRemoteInputManager,
mSysUIUnfoldComponent,
mInteractionJankMonitor,
@@ -1252,10 +1251,10 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase {
@Test
public void testQsToBeImmediatelyExpandedWhenOpeningPanelInSplitShade() {
enableSplitShade(/* enabled= */ true);
mPanelExpansionStateManager.updateState(STATE_CLOSED);
mShadeExpansionStateManager.updateState(STATE_CLOSED);
assertThat(mNotificationPanelViewController.mQsExpandImmediate).isFalse();
mPanelExpansionStateManager.updateState(STATE_OPENING);
mShadeExpansionStateManager.updateState(STATE_OPENING);
assertThat(mNotificationPanelViewController.mQsExpandImmediate).isTrue();
}
@@ -1263,11 +1262,11 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase {
@Test
public void testQsNotToBeImmediatelyExpandedWhenGoingFromUnlockedToLocked() {
enableSplitShade(/* enabled= */ true);
mPanelExpansionStateManager.updateState(STATE_CLOSED);
mShadeExpansionStateManager.updateState(STATE_CLOSED);
mStatusBarStateController.setState(KEYGUARD);
// going to lockscreen would trigger STATE_OPENING
mPanelExpansionStateManager.updateState(STATE_OPENING);
mShadeExpansionStateManager.updateState(STATE_OPENING);
assertThat(mNotificationPanelViewController.mQsExpandImmediate).isFalse();
}
@@ -1275,11 +1274,11 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase {
@Test
public void testQsImmediateResetsWhenPanelOpensOrCloses() {
mNotificationPanelViewController.mQsExpandImmediate = true;
mPanelExpansionStateManager.updateState(STATE_OPEN);
mShadeExpansionStateManager.updateState(STATE_OPEN);
assertThat(mNotificationPanelViewController.mQsExpandImmediate).isFalse();
mNotificationPanelViewController.mQsExpandImmediate = true;
mPanelExpansionStateManager.updateState(STATE_CLOSED);
mShadeExpansionStateManager.updateState(STATE_CLOSED);
assertThat(mNotificationPanelViewController.mQsExpandImmediate).isFalse();
}
@@ -1300,7 +1299,7 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase {
@Test
public void testPanelClosedWhenClosingQsInSplitShade() {
mPanelExpansionStateManager.onPanelExpansionChanged(/* fraction= */ 1,
mShadeExpansionStateManager.onPanelExpansionChanged(/* fraction= */ 1,
/* expanded= */ true, /* tracking= */ false, /* dragDownPxAmount= */ 0);
enableSplitShade(/* enabled= */ true);
mNotificationPanelViewController.setExpandedFraction(1f);
@@ -1312,7 +1311,7 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase {
@Test
public void testPanelStaysOpenWhenClosingQs() {
mPanelExpansionStateManager.onPanelExpansionChanged(/* fraction= */ 1,
mShadeExpansionStateManager.onPanelExpansionChanged(/* fraction= */ 1,
/* expanded= */ true, /* tracking= */ false, /* dragDownPxAmount= */ 0);
mNotificationPanelViewController.setExpandedFraction(1f);

View File

@@ -41,7 +41,6 @@ import com.android.systemui.statusbar.notification.stack.NotificationStackScroll
import com.android.systemui.statusbar.phone.CentralSurfaces
import com.android.systemui.statusbar.phone.PhoneStatusBarViewController
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager
import com.android.systemui.statusbar.window.StatusBarWindowStateController
import com.google.common.truth.Truth.assertThat
import org.junit.Before
@@ -117,7 +116,7 @@ class NotificationShadeWindowViewControllerTest : SysuiTestCase() {
notificationShadeDepthController,
view,
notificationPanelViewController,
PanelExpansionStateManager(),
ShadeExpansionStateManager(),
stackScrollLayoutController,
statusBarKeyguardViewManager,
statusBarWindowStateController,

View File

@@ -51,7 +51,6 @@ import com.android.systemui.statusbar.notification.stack.NotificationStackScroll
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController;
import com.android.systemui.statusbar.phone.CentralSurfaces;
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager;
import com.android.systemui.statusbar.window.StatusBarWindowStateController;
import com.android.systemui.tuner.TunerService;
@@ -118,7 +117,7 @@ public class NotificationShadeWindowViewTest extends SysuiTestCase {
mNotificationShadeDepthController,
mView,
mNotificationPanelViewController,
new PanelExpansionStateManager(),
new ShadeExpansionStateManager(),
mNotificationStackScrollLayoutController,
mStatusBarKeyguardViewManager,
mStatusBarWindowStateController,

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.android.systemui.statusbar.phone.panelstate
package com.android.systemui.shade
import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
@@ -23,26 +23,30 @@ import org.junit.Before
import org.junit.Test
@SmallTest
class PanelExpansionStateManagerTest : SysuiTestCase() {
class ShadeExpansionStateManagerTest : SysuiTestCase() {
private lateinit var panelExpansionStateManager: PanelExpansionStateManager
private lateinit var shadeExpansionStateManager: ShadeExpansionStateManager
@Before
fun setUp() {
panelExpansionStateManager = PanelExpansionStateManager()
shadeExpansionStateManager = ShadeExpansionStateManager()
}
@Test
fun onPanelExpansionChanged_listenerNotified() {
val listener = TestPanelExpansionListener()
panelExpansionStateManager.addExpansionListener(listener)
val listener = TestShadeExpansionListener()
shadeExpansionStateManager.addExpansionListener(listener)
val fraction = 0.6f
val expanded = true
val tracking = true
val dragDownAmount = 1234f
panelExpansionStateManager.onPanelExpansionChanged(
fraction, expanded, tracking, dragDownAmount)
shadeExpansionStateManager.onPanelExpansionChanged(
fraction,
expanded,
tracking,
dragDownAmount
)
assertThat(listener.fraction).isEqualTo(fraction)
assertThat(listener.expanded).isEqualTo(expanded)
@@ -56,11 +60,15 @@ class PanelExpansionStateManagerTest : SysuiTestCase() {
val expanded = true
val tracking = true
val dragDownAmount = 1234f
panelExpansionStateManager.onPanelExpansionChanged(
fraction, expanded, tracking, dragDownAmount)
val listener = TestPanelExpansionListener()
shadeExpansionStateManager.onPanelExpansionChanged(
fraction,
expanded,
tracking,
dragDownAmount
)
val listener = TestShadeExpansionListener()
panelExpansionStateManager.addExpansionListener(listener)
shadeExpansionStateManager.addExpansionListener(listener)
assertThat(listener.fraction).isEqualTo(fraction)
assertThat(listener.expanded).isEqualTo(expanded)
@@ -70,10 +78,10 @@ class PanelExpansionStateManagerTest : SysuiTestCase() {
@Test
fun updateState_listenerNotified() {
val listener = TestPanelStateListener()
panelExpansionStateManager.addStateListener(listener)
val listener = TestShadeStateListener()
shadeExpansionStateManager.addStateListener(listener)
panelExpansionStateManager.updateState(STATE_OPEN)
shadeExpansionStateManager.updateState(STATE_OPEN)
assertThat(listener.state).isEqualTo(STATE_OPEN)
}
@@ -84,48 +92,64 @@ class PanelExpansionStateManagerTest : SysuiTestCase() {
@Test
fun onPEC_fractionLessThanOne_expandedTrue_trackingFalse_becomesStateOpening() {
val listener = TestPanelStateListener()
panelExpansionStateManager.addStateListener(listener)
val listener = TestShadeStateListener()
shadeExpansionStateManager.addStateListener(listener)
panelExpansionStateManager.onPanelExpansionChanged(
fraction = 0.5f, expanded = true, tracking = false, dragDownPxAmount = 0f)
shadeExpansionStateManager.onPanelExpansionChanged(
fraction = 0.5f,
expanded = true,
tracking = false,
dragDownPxAmount = 0f
)
assertThat(listener.state).isEqualTo(STATE_OPENING)
}
@Test
fun onPEC_fractionLessThanOne_expandedTrue_trackingTrue_becomesStateOpening() {
val listener = TestPanelStateListener()
panelExpansionStateManager.addStateListener(listener)
val listener = TestShadeStateListener()
shadeExpansionStateManager.addStateListener(listener)
panelExpansionStateManager.onPanelExpansionChanged(
fraction = 0.5f, expanded = true, tracking = true, dragDownPxAmount = 0f)
shadeExpansionStateManager.onPanelExpansionChanged(
fraction = 0.5f,
expanded = true,
tracking = true,
dragDownPxAmount = 0f
)
assertThat(listener.state).isEqualTo(STATE_OPENING)
}
@Test
fun onPEC_fractionLessThanOne_expandedFalse_trackingFalse_becomesStateClosed() {
val listener = TestPanelStateListener()
panelExpansionStateManager.addStateListener(listener)
val listener = TestShadeStateListener()
shadeExpansionStateManager.addStateListener(listener)
// Start out on a different state
panelExpansionStateManager.updateState(STATE_OPEN)
shadeExpansionStateManager.updateState(STATE_OPEN)
panelExpansionStateManager.onPanelExpansionChanged(
fraction = 0.5f, expanded = false, tracking = false, dragDownPxAmount = 0f)
shadeExpansionStateManager.onPanelExpansionChanged(
fraction = 0.5f,
expanded = false,
tracking = false,
dragDownPxAmount = 0f
)
assertThat(listener.state).isEqualTo(STATE_CLOSED)
}
@Test
fun onPEC_fractionLessThanOne_expandedFalse_trackingTrue_doesNotBecomeStateClosed() {
val listener = TestPanelStateListener()
panelExpansionStateManager.addStateListener(listener)
val listener = TestShadeStateListener()
shadeExpansionStateManager.addStateListener(listener)
// Start out on a different state
panelExpansionStateManager.updateState(STATE_OPEN)
shadeExpansionStateManager.updateState(STATE_OPEN)
panelExpansionStateManager.onPanelExpansionChanged(
fraction = 0.5f, expanded = false, tracking = true, dragDownPxAmount = 0f)
shadeExpansionStateManager.onPanelExpansionChanged(
fraction = 0.5f,
expanded = false,
tracking = true,
dragDownPxAmount = 0f
)
assertThat(listener.state).isEqualTo(STATE_OPEN)
}
@@ -134,11 +158,15 @@ class PanelExpansionStateManagerTest : SysuiTestCase() {
@Test
fun onPEC_fractionOne_expandedTrue_trackingFalse_becomesStateOpeningThenStateOpen() {
val listener = TestPanelStateListener()
panelExpansionStateManager.addStateListener(listener)
val listener = TestShadeStateListener()
shadeExpansionStateManager.addStateListener(listener)
panelExpansionStateManager.onPanelExpansionChanged(
fraction = 1f, expanded = true, tracking = false, dragDownPxAmount = 0f)
shadeExpansionStateManager.onPanelExpansionChanged(
fraction = 1f,
expanded = true,
tracking = false,
dragDownPxAmount = 0f
)
assertThat(listener.previousState).isEqualTo(STATE_OPENING)
assertThat(listener.state).isEqualTo(STATE_OPEN)
@@ -146,50 +174,62 @@ class PanelExpansionStateManagerTest : SysuiTestCase() {
@Test
fun onPEC_fractionOne_expandedTrue_trackingTrue_becomesStateOpening() {
val listener = TestPanelStateListener()
panelExpansionStateManager.addStateListener(listener)
val listener = TestShadeStateListener()
shadeExpansionStateManager.addStateListener(listener)
panelExpansionStateManager.onPanelExpansionChanged(
fraction = 1f, expanded = true, tracking = true, dragDownPxAmount = 0f)
shadeExpansionStateManager.onPanelExpansionChanged(
fraction = 1f,
expanded = true,
tracking = true,
dragDownPxAmount = 0f
)
assertThat(listener.state).isEqualTo(STATE_OPENING)
}
@Test
fun onPEC_fractionOne_expandedFalse_trackingFalse_becomesStateClosed() {
val listener = TestPanelStateListener()
panelExpansionStateManager.addStateListener(listener)
val listener = TestShadeStateListener()
shadeExpansionStateManager.addStateListener(listener)
// Start out on a different state
panelExpansionStateManager.updateState(STATE_OPEN)
shadeExpansionStateManager.updateState(STATE_OPEN)
panelExpansionStateManager.onPanelExpansionChanged(
fraction = 1f, expanded = false, tracking = false, dragDownPxAmount = 0f)
shadeExpansionStateManager.onPanelExpansionChanged(
fraction = 1f,
expanded = false,
tracking = false,
dragDownPxAmount = 0f
)
assertThat(listener.state).isEqualTo(STATE_CLOSED)
}
@Test
fun onPEC_fractionOne_expandedFalse_trackingTrue_doesNotBecomeStateClosed() {
val listener = TestPanelStateListener()
panelExpansionStateManager.addStateListener(listener)
val listener = TestShadeStateListener()
shadeExpansionStateManager.addStateListener(listener)
// Start out on a different state
panelExpansionStateManager.updateState(STATE_OPEN)
shadeExpansionStateManager.updateState(STATE_OPEN)
panelExpansionStateManager.onPanelExpansionChanged(
fraction = 1f, expanded = false, tracking = true, dragDownPxAmount = 0f)
shadeExpansionStateManager.onPanelExpansionChanged(
fraction = 1f,
expanded = false,
tracking = true,
dragDownPxAmount = 0f
)
assertThat(listener.state).isEqualTo(STATE_OPEN)
}
/* ***** end [PanelExpansionStateManager.onPanelExpansionChanged] test cases ******/
class TestPanelExpansionListener : PanelExpansionListener {
class TestShadeExpansionListener : ShadeExpansionListener {
var fraction: Float = 0f
var expanded: Boolean = false
var tracking: Boolean = false
var dragDownAmountPx: Float = 0f
override fun onPanelExpansionChanged(event: PanelExpansionChangeEvent) {
override fun onPanelExpansionChanged(event: ShadeExpansionChangeEvent) {
this.fraction = event.fraction
this.expanded = event.expanded
this.tracking = event.tracking
@@ -197,7 +237,7 @@ class PanelExpansionStateManagerTest : SysuiTestCase() {
}
}
class TestPanelStateListener : PanelStateListener {
class TestShadeStateListener : ShadeStateListener {
@PanelState var previousState: Int = STATE_CLOSED
@PanelState var state: Int = STATE_CLOSED

View File

@@ -5,13 +5,13 @@ import androidx.test.filters.SmallTest
import com.android.systemui.R
import com.android.systemui.SysuiTestCase
import com.android.systemui.dump.DumpManager
import com.android.systemui.shade.STATE_CLOSED
import com.android.systemui.shade.STATE_OPEN
import com.android.systemui.shade.STATE_OPENING
import com.android.systemui.shade.ShadeExpansionChangeEvent
import com.android.systemui.statusbar.StatusBarState
import com.android.systemui.statusbar.SysuiStatusBarStateController
import com.android.systemui.statusbar.phone.ScrimController
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionChangeEvent
import com.android.systemui.statusbar.phone.panelstate.STATE_CLOSED
import com.android.systemui.statusbar.phone.panelstate.STATE_OPEN
import com.android.systemui.statusbar.phone.panelstate.STATE_OPENING
import com.android.systemui.statusbar.policy.FakeConfigurationController
import com.android.systemui.statusbar.policy.HeadsUpManager
import org.junit.Before
@@ -148,7 +148,7 @@ class ScrimShadeTransitionControllerTest : SysuiTestCase() {
companion object {
val EXPANSION_EVENT =
PanelExpansionChangeEvent(
ShadeExpansionChangeEvent(
fraction = 0.5f, expanded = true, tracking = true, dragDownPxAmount = 10f)
}
}

View File

@@ -7,12 +7,12 @@ import com.android.systemui.SysuiTestCase
import com.android.systemui.dump.DumpManager
import com.android.systemui.plugins.qs.QS
import com.android.systemui.shade.NotificationPanelViewController
import com.android.systemui.shade.STATE_OPENING
import com.android.systemui.shade.ShadeExpansionChangeEvent
import com.android.systemui.shade.ShadeExpansionStateManager
import com.android.systemui.statusbar.StatusBarState
import com.android.systemui.statusbar.SysuiStatusBarStateController
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionChangeEvent
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager
import com.android.systemui.statusbar.phone.panelstate.STATE_OPENING
import com.android.systemui.statusbar.policy.FakeConfigurationController
import org.junit.Before
import org.junit.Test
@@ -40,7 +40,7 @@ class ShadeTransitionControllerTest : SysuiTestCase() {
private lateinit var controller: ShadeTransitionController
private val configurationController = FakeConfigurationController()
private val panelExpansionStateManager = PanelExpansionStateManager()
private val shadeExpansionStateManager = ShadeExpansionStateManager()
@Before
fun setUp() {
@@ -49,7 +49,7 @@ class ShadeTransitionControllerTest : SysuiTestCase() {
controller =
ShadeTransitionController(
configurationController,
panelExpansionStateManager,
shadeExpansionStateManager,
dumpManager,
context,
splitShadeOverScrollerFactory = { _, _ -> splitShadeOverScroller },
@@ -166,7 +166,7 @@ class ShadeTransitionControllerTest : SysuiTestCase() {
}
private fun startPanelExpansion() {
panelExpansionStateManager.onPanelExpansionChanged(
shadeExpansionStateManager.onPanelExpansionChanged(
DEFAULT_EXPANSION_EVENT.fraction,
DEFAULT_EXPANSION_EVENT.expanded,
DEFAULT_EXPANSION_EVENT.tracking,
@@ -194,7 +194,7 @@ class ShadeTransitionControllerTest : SysuiTestCase() {
companion object {
private const val DEFAULT_DRAG_DOWN_AMOUNT = 123f
private val DEFAULT_EXPANSION_EVENT =
PanelExpansionChangeEvent(
ShadeExpansionChangeEvent(
fraction = 0.5f,
expanded = true,
tracking = true,

View File

@@ -7,11 +7,11 @@ import com.android.systemui.R
import com.android.systemui.SysuiTestCase
import com.android.systemui.dump.DumpManager
import com.android.systemui.plugins.qs.QS
import com.android.systemui.shade.STATE_CLOSED
import com.android.systemui.shade.STATE_OPEN
import com.android.systemui.shade.STATE_OPENING
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController
import com.android.systemui.statusbar.phone.ScrimController
import com.android.systemui.statusbar.phone.panelstate.STATE_CLOSED
import com.android.systemui.statusbar.phone.panelstate.STATE_OPEN
import com.android.systemui.statusbar.phone.panelstate.STATE_OPENING
import com.android.systemui.statusbar.policy.FakeConfigurationController
import org.junit.Before
import org.junit.Test

View File

@@ -28,10 +28,10 @@ import com.android.systemui.SysuiTestCase
import com.android.systemui.animation.ShadeInterpolation
import com.android.systemui.dump.DumpManager
import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.shade.ShadeExpansionChangeEvent
import com.android.systemui.statusbar.phone.BiometricUnlockController
import com.android.systemui.statusbar.phone.DozeParameters
import com.android.systemui.statusbar.phone.ScrimController
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionChangeEvent
import com.android.systemui.statusbar.policy.FakeConfigurationController
import com.android.systemui.statusbar.policy.KeyguardStateController
import com.android.systemui.util.WallpaperController
@@ -137,7 +137,7 @@ class NotificationShadeDepthControllerTest : SysuiTestCase() {
@Test
fun onPanelExpansionChanged_apliesBlur_ifShade() {
notificationShadeDepthController.onPanelExpansionChanged(
PanelExpansionChangeEvent(
ShadeExpansionChangeEvent(
fraction = 1f, expanded = true, tracking = false, dragDownPxAmount = 0f))
verify(shadeAnimation).animateTo(eq(maxBlur))
}
@@ -145,7 +145,7 @@ class NotificationShadeDepthControllerTest : SysuiTestCase() {
@Test
fun onPanelExpansionChanged_animatesBlurIn_ifShade() {
notificationShadeDepthController.onPanelExpansionChanged(
PanelExpansionChangeEvent(
ShadeExpansionChangeEvent(
fraction = 0.01f, expanded = false, tracking = false, dragDownPxAmount = 0f))
verify(shadeAnimation).animateTo(eq(maxBlur))
}
@@ -155,7 +155,7 @@ class NotificationShadeDepthControllerTest : SysuiTestCase() {
onPanelExpansionChanged_animatesBlurIn_ifShade()
clearInvocations(shadeAnimation)
notificationShadeDepthController.onPanelExpansionChanged(
PanelExpansionChangeEvent(
ShadeExpansionChangeEvent(
fraction = 0f, expanded = false, tracking = false, dragDownPxAmount = 0f))
verify(shadeAnimation).animateTo(eq(0))
}
@@ -163,7 +163,7 @@ class NotificationShadeDepthControllerTest : SysuiTestCase() {
@Test
fun onPanelExpansionChanged_animatesBlurOut_ifFlick() {
val event =
PanelExpansionChangeEvent(
ShadeExpansionChangeEvent(
fraction = 1f, expanded = true, tracking = false, dragDownPxAmount = 0f)
onPanelExpansionChanged_apliesBlur_ifShade()
clearInvocations(shadeAnimation)
@@ -184,7 +184,7 @@ class NotificationShadeDepthControllerTest : SysuiTestCase() {
onPanelExpansionChanged_animatesBlurOut_ifFlick()
clearInvocations(shadeAnimation)
notificationShadeDepthController.onPanelExpansionChanged(
PanelExpansionChangeEvent(
ShadeExpansionChangeEvent(
fraction = 0.6f, expanded = true, tracking = true, dragDownPxAmount = 0f))
verify(shadeAnimation).animateTo(eq(maxBlur))
}
@@ -192,7 +192,7 @@ class NotificationShadeDepthControllerTest : SysuiTestCase() {
@Test
fun onPanelExpansionChanged_respectsMinPanelPullDownFraction() {
val event =
PanelExpansionChangeEvent(
ShadeExpansionChangeEvent(
fraction = 0.5f, expanded = true, tracking = true, dragDownPxAmount = 0f)
notificationShadeDepthController.panelPullDownMinFraction = 0.5f
notificationShadeDepthController.onPanelExpansionChanged(event)
@@ -220,7 +220,7 @@ class NotificationShadeDepthControllerTest : SysuiTestCase() {
statusBarState = StatusBarState.KEYGUARD
notificationShadeDepthController.qsPanelExpansion = 1f
notificationShadeDepthController.onPanelExpansionChanged(
PanelExpansionChangeEvent(
ShadeExpansionChangeEvent(
fraction = 1f, expanded = true, tracking = false, dragDownPxAmount = 0f))
notificationShadeDepthController.updateBlurCallback.doFrame(0)
verify(blurUtils).applyBlur(any(), eq(maxBlur), eq(false))
@@ -231,7 +231,7 @@ class NotificationShadeDepthControllerTest : SysuiTestCase() {
statusBarState = StatusBarState.KEYGUARD
notificationShadeDepthController.qsPanelExpansion = 0.25f
notificationShadeDepthController.onPanelExpansionChanged(
PanelExpansionChangeEvent(
ShadeExpansionChangeEvent(
fraction = 1f, expanded = true, tracking = false, dragDownPxAmount = 0f))
notificationShadeDepthController.updateBlurCallback.doFrame(0)
verify(wallpaperController)
@@ -243,7 +243,7 @@ class NotificationShadeDepthControllerTest : SysuiTestCase() {
enableSplitShade()
notificationShadeDepthController.onPanelExpansionChanged(
PanelExpansionChangeEvent(
ShadeExpansionChangeEvent(
fraction = 1f, expanded = true, tracking = false, dragDownPxAmount = 0f))
notificationShadeDepthController.updateBlurCallback.doFrame(0)
@@ -255,7 +255,7 @@ class NotificationShadeDepthControllerTest : SysuiTestCase() {
disableSplitShade()
notificationShadeDepthController.onPanelExpansionChanged(
PanelExpansionChangeEvent(
ShadeExpansionChangeEvent(
fraction = 1f, expanded = true, tracking = false, dragDownPxAmount = 0f))
notificationShadeDepthController.updateBlurCallback.doFrame(0)
@@ -269,7 +269,7 @@ class NotificationShadeDepthControllerTest : SysuiTestCase() {
val expanded = true
val tracking = false
val dragDownPxAmount = 0f
val event = PanelExpansionChangeEvent(rawFraction, expanded, tracking, dragDownPxAmount)
val event = ShadeExpansionChangeEvent(rawFraction, expanded, tracking, dragDownPxAmount)
val inOrder = Mockito.inOrder(wallpaperController)
notificationShadeDepthController.onPanelExpansionChanged(event)
@@ -333,7 +333,7 @@ class NotificationShadeDepthControllerTest : SysuiTestCase() {
@Test
fun updateBlurCallback_setsBlur_whenExpanded() {
notificationShadeDepthController.onPanelExpansionChanged(
PanelExpansionChangeEvent(
ShadeExpansionChangeEvent(
fraction = 1f, expanded = true, tracking = false, dragDownPxAmount = 0f))
`when`(shadeAnimation.radius).thenReturn(maxBlur.toFloat())
notificationShadeDepthController.updateBlurCallback.doFrame(0)
@@ -343,7 +343,7 @@ class NotificationShadeDepthControllerTest : SysuiTestCase() {
@Test
fun updateBlurCallback_ignoreShadeBlurUntilHidden_overridesZoom() {
notificationShadeDepthController.onPanelExpansionChanged(
PanelExpansionChangeEvent(
ShadeExpansionChangeEvent(
fraction = 1f, expanded = true, tracking = false, dragDownPxAmount = 0f))
`when`(shadeAnimation.radius).thenReturn(maxBlur.toFloat())
notificationShadeDepthController.blursDisabledForAppLaunch = true
@@ -361,7 +361,7 @@ class NotificationShadeDepthControllerTest : SysuiTestCase() {
@Test
fun ignoreBlurForUnlock_ignores() {
notificationShadeDepthController.onPanelExpansionChanged(
PanelExpansionChangeEvent(
ShadeExpansionChangeEvent(
fraction = 1f, expanded = true, tracking = false, dragDownPxAmount = 0f))
`when`(shadeAnimation.radius).thenReturn(maxBlur.toFloat())
@@ -378,7 +378,7 @@ class NotificationShadeDepthControllerTest : SysuiTestCase() {
@Test
fun ignoreBlurForUnlock_doesNotIgnore() {
notificationShadeDepthController.onPanelExpansionChanged(
PanelExpansionChangeEvent(
ShadeExpansionChangeEvent(
fraction = 1f, expanded = true, tracking = false, dragDownPxAmount = 0f))
`when`(shadeAnimation.radius).thenReturn(maxBlur.toFloat())
@@ -410,7 +410,7 @@ class NotificationShadeDepthControllerTest : SysuiTestCase() {
`when`(brightnessSpring.ratio).thenReturn(1f)
// And shade is blurred
notificationShadeDepthController.onPanelExpansionChanged(
PanelExpansionChangeEvent(
ShadeExpansionChangeEvent(
fraction = 1f, expanded = true, tracking = false, dragDownPxAmount = 0f))
`when`(shadeAnimation.radius).thenReturn(maxBlur.toFloat())

View File

@@ -116,6 +116,7 @@ import com.android.systemui.shade.NotificationShadeWindowView;
import com.android.systemui.shade.NotificationShadeWindowViewController;
import com.android.systemui.shade.ShadeController;
import com.android.systemui.shade.ShadeControllerImpl;
import com.android.systemui.shade.ShadeExpansionStateManager;
import com.android.systemui.shared.plugins.PluginManager;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.KeyguardIndicationController;
@@ -150,7 +151,6 @@ import com.android.systemui.statusbar.notification.stack.NotificationStackScroll
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController;
import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent;
import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallController;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager;
import com.android.systemui.statusbar.policy.BatteryController;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
@@ -413,7 +413,7 @@ public class CentralSurfacesImplTest extends SysuiTestCase {
mNotificationGutsManager,
notificationLogger,
mNotificationInterruptStateProvider,
new PanelExpansionStateManager(),
new ShadeExpansionStateManager(),
mKeyguardViewMediator,
new DisplayMetrics(),
mMetricsLogger,
@@ -486,7 +486,7 @@ public class CentralSurfacesImplTest extends SysuiTestCase {
when(mKeyguardViewMediator.registerCentralSurfaces(
any(CentralSurfacesImpl.class),
any(NotificationPanelViewController.class),
any(PanelExpansionStateManager.class),
any(ShadeExpansionStateManager.class),
any(BiometricUnlockController.class),
any(ViewGroup.class),
any(KeyguardBypassController.class)))

View File

@@ -62,12 +62,12 @@ import com.android.systemui.navigationbar.NavigationModeController;
import com.android.systemui.plugins.ActivityStarter.OnDismissAction;
import com.android.systemui.shade.NotificationPanelViewController;
import com.android.systemui.shade.ShadeController;
import com.android.systemui.shade.ShadeExpansionChangeEvent;
import com.android.systemui.shade.ShadeExpansionStateManager;
import com.android.systemui.statusbar.NotificationMediaManager;
import com.android.systemui.statusbar.NotificationShadeWindowController;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionChangeEvent;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.unfold.SysUIUnfoldComponent;
@@ -89,7 +89,7 @@ import java.util.Optional;
@TestableLooper.RunWithLooper
public class StatusBarKeyguardViewManagerTest extends SysuiTestCase {
private static final PanelExpansionChangeEvent EXPANSION_EVENT =
private static final ShadeExpansionChangeEvent EXPANSION_EVENT =
expansionEvent(/* fraction= */ 0.5f, /* expanded= */ false, /* tracking= */ true);
@Mock private ViewMediatorCallback mViewMediatorCallback;
@@ -177,7 +177,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase {
mStatusBarKeyguardViewManager.registerCentralSurfaces(
mCentralSurfaces,
mNotificationPanelView,
new PanelExpansionStateManager(),
new ShadeExpansionStateManager(),
mBiometricUnlockController,
mNotificationContainer,
mBypassController);
@@ -519,9 +519,9 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase {
Truth.assertThat(mStatusBarKeyguardViewManager.isBouncerInTransit()).isFalse();
}
private static PanelExpansionChangeEvent expansionEvent(
private static ShadeExpansionChangeEvent expansionEvent(
float fraction, boolean expanded, boolean tracking) {
return new PanelExpansionChangeEvent(
return new ShadeExpansionChangeEvent(
fraction, expanded, tracking, /* dragDownPxAmount= */ 0f);
}

View File

@@ -54,6 +54,7 @@ import com.android.systemui.log.LogcatEchoTracker;
import com.android.systemui.plugins.DarkIconDispatcher;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.shade.NotificationPanelViewController;
import com.android.systemui.shade.ShadeExpansionStateManager;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.DisableFlagsLogger;
import com.android.systemui.statusbar.OperatorNameViewController;
@@ -66,7 +67,6 @@ import com.android.systemui.statusbar.phone.StatusBarIconController;
import com.android.systemui.statusbar.phone.StatusBarLocationPublisher;
import com.android.systemui.statusbar.phone.fragment.dagger.StatusBarFragmentComponent;
import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallController;
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.util.CarrierConfigTracker;
import com.android.systemui.util.concurrency.FakeExecutor;
@@ -441,7 +441,7 @@ public class CollapsedStatusBarFragmentTest extends SysuiBaseFragmentTest {
mAnimationScheduler,
mLocationPublisher,
mMockNotificationAreaController,
new PanelExpansionStateManager(),
new ShadeExpansionStateManager(),
mock(FeatureFlags.class),
mStatusBarIconController,
mIconManagerFactory,