diff options
| author | 2021-11-04 14:08:06 +0000 | |
|---|---|---|
| committer | 2021-11-04 14:08:06 +0000 | |
| commit | adabd84fb788f082b1dbebb77b6af0cea7cbf8bb (patch) | |
| tree | ee58cd6d6f4c8e891fcca89b2414d13cacd2d7a8 | |
| parent | 94204aa4745b8bb66c7813da126e34a31e2f75b6 (diff) | |
| parent | afd47f3cd647a500c38a926a6c246b1be7707458 (diff) | |
Merge "[Status Bar Refactor] 2.3/N Migrate Udfps classes to the correct listener interface." into sc-v2-dev
12 files changed, 67 insertions, 159 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsAnimationViewController.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsAnimationViewController.java index a2e55c0f76e2..70bc56bd1425 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsAnimationViewController.java +++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsAnimationViewController.java @@ -23,12 +23,12 @@ import android.graphics.RectF; import com.android.systemui.Dumpable; import com.android.systemui.dump.DumpManager; import com.android.systemui.plugins.statusbar.StatusBarStateController; -import com.android.systemui.statusbar.phone.StatusBar; +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.FileDescriptor; import java.io.PrintWriter; -import java.util.Optional; /** * Handles: @@ -43,7 +43,7 @@ import java.util.Optional; abstract class UdfpsAnimationViewController<T extends UdfpsAnimationView> extends ViewController<T> implements Dumpable { @NonNull final StatusBarStateController mStatusBarStateController; - @NonNull final Optional<StatusBar> mStatusBarOptional; + @NonNull final PanelExpansionStateManager mPanelExpansionStateManager; @NonNull final DumpManager mDumpManger; boolean mNotificationShadeExpanded; @@ -51,11 +51,11 @@ abstract class UdfpsAnimationViewController<T extends UdfpsAnimationView> protected UdfpsAnimationViewController( T view, @NonNull StatusBarStateController statusBarStateController, - @NonNull Optional<StatusBar> statusBarOptional, + @NonNull PanelExpansionStateManager panelExpansionStateManager, @NonNull DumpManager dumpManager) { super(view); mStatusBarStateController = statusBarStateController; - mStatusBarOptional = statusBarOptional; + mPanelExpansionStateManager = panelExpansionStateManager; mDumpManger = dumpManager; } @@ -63,17 +63,13 @@ abstract class UdfpsAnimationViewController<T extends UdfpsAnimationView> @Override protected void onViewAttached() { - mStatusBarOptional.ifPresent( - statusBar -> statusBar.addExpansionChangedListener( - mStatusBarExpansionChangedListener)); + mPanelExpansionStateManager.addListener(mPanelExpansionListener); mDumpManger.registerDumpable(getDumpTag(), this); } @Override protected void onViewDetached() { - mStatusBarOptional.ifPresent( - statusBar -> statusBar.removeExpansionChangedListener( - mStatusBarExpansionChangedListener)); + mPanelExpansionStateManager.removeListener(mPanelExpansionListener); mDumpManger.unregisterDumpable(getDumpTag()); } @@ -182,13 +178,13 @@ abstract class UdfpsAnimationViewController<T extends UdfpsAnimationView> */ void onTouchOutsideView() { } - private final StatusBar.ExpansionChangedListener mStatusBarExpansionChangedListener = - new StatusBar.ExpansionChangedListener() { - @Override - public void onExpansionChanged(float expansion, boolean expanded) { - mNotificationShadeExpanded = expanded; - mView.onExpansionChanged(expansion, expanded); - updatePauseAuth(); - } - }; + private final PanelExpansionListener mPanelExpansionListener = new PanelExpansionListener() { + @Override + public void onPanelExpansionChanged( + float fraction, boolean expanded, boolean tracking) { + mNotificationShadeExpanded = expanded; + mView.onExpansionChanged(fraction, expanded); + updatePauseAuth(); + } + }; } diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsBpViewController.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsBpViewController.java index 85955e1b5d56..894b29583cc9 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsBpViewController.java +++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsBpViewController.java @@ -20,9 +20,7 @@ import android.annotation.NonNull; import com.android.systemui.dump.DumpManager; import com.android.systemui.plugins.statusbar.StatusBarStateController; -import com.android.systemui.statusbar.phone.StatusBar; - -import java.util.Optional; +import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager; /** * Class that coordinates non-HBM animations for biometric prompt. @@ -31,9 +29,9 @@ class UdfpsBpViewController extends UdfpsAnimationViewController<UdfpsBpView> { protected UdfpsBpViewController( @NonNull UdfpsBpView view, @NonNull StatusBarStateController statusBarStateController, - @NonNull Optional<StatusBar> statusBarOptional, + @NonNull PanelExpansionStateManager panelExpansionStateManager, @NonNull DumpManager dumpManager) { - super(view, statusBarStateController, statusBarOptional, dumpManager); + super(view, statusBarStateController, panelExpansionStateManager, dumpManager); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java index 3a3f22a4fda8..c5270aa3d274 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java +++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java @@ -69,9 +69,9 @@ import com.android.systemui.plugins.FalsingManager; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.LockscreenShadeTransitionController; import com.android.systemui.statusbar.phone.KeyguardBypassController; -import com.android.systemui.statusbar.phone.StatusBar; import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; 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; @@ -112,7 +112,7 @@ public class UdfpsController implements DozeReceiver { @NonNull private final LayoutInflater mInflater; private final WindowManager mWindowManager; private final DelayableExecutor mFgExecutor; - @NonNull private final Optional<StatusBar> mStatusBarOptional; + @NonNull private final PanelExpansionStateManager mPanelExpansionStateManager; @NonNull private final StatusBarStateController mStatusBarStateController; @NonNull private final KeyguardStateController mKeyguardStateController; @NonNull private final StatusBarKeyguardViewManager mKeyguardViewManager; @@ -521,7 +521,7 @@ public class UdfpsController implements DozeReceiver { @NonNull WindowManager windowManager, @NonNull StatusBarStateController statusBarStateController, @Main DelayableExecutor fgExecutor, - @NonNull Optional<StatusBar> statusBarOptional, + @NonNull PanelExpansionStateManager panelExpansionStateManager, @NonNull StatusBarKeyguardViewManager statusBarKeyguardViewManager, @NonNull DumpManager dumpManager, @NonNull KeyguardUpdateMonitor keyguardUpdateMonitor, @@ -550,7 +550,7 @@ public class UdfpsController implements DozeReceiver { mFingerprintManager = checkNotNull(fingerprintManager); mWindowManager = windowManager; mFgExecutor = fgExecutor; - mStatusBarOptional = statusBarOptional; + mPanelExpansionStateManager = panelExpansionStateManager; mStatusBarStateController = statusBarStateController; mKeyguardStateController = keyguardStateController; mKeyguardViewManager = statusBarKeyguardViewManager; @@ -805,7 +805,7 @@ public class UdfpsController implements DozeReceiver { enrollView, mServerRequest.mEnrollHelper, mStatusBarStateController, - mStatusBarOptional, + mPanelExpansionStateManager, mDumpManager ); case BiometricOverlayConstants.REASON_AUTH_KEYGUARD: @@ -815,7 +815,7 @@ public class UdfpsController implements DozeReceiver { return new UdfpsKeyguardViewController( keyguardView, mStatusBarStateController, - mStatusBarOptional, + mPanelExpansionStateManager, mKeyguardViewManager, mKeyguardUpdateMonitor, mDumpManager, @@ -833,7 +833,7 @@ public class UdfpsController implements DozeReceiver { return new UdfpsBpViewController( bpView, mStatusBarStateController, - mStatusBarOptional, + mPanelExpansionStateManager, mDumpManager ); case BiometricOverlayConstants.REASON_AUTH_OTHER: @@ -843,7 +843,7 @@ public class UdfpsController implements DozeReceiver { return new UdfpsFpmOtherViewController( authOtherView, mStatusBarStateController, - mStatusBarOptional, + mPanelExpansionStateManager, mDumpManager ); default: diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsEnrollViewController.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsEnrollViewController.java index af7c3522dc23..292a904af96e 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsEnrollViewController.java +++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsEnrollViewController.java @@ -22,9 +22,7 @@ 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.statusbar.phone.StatusBar; - -import java.util.Optional; +import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager; /** * Class that coordinates non-HBM animations during enrollment. @@ -55,9 +53,9 @@ public class UdfpsEnrollViewController extends UdfpsAnimationViewController<Udfp @NonNull UdfpsEnrollView view, @NonNull UdfpsEnrollHelper enrollHelper, @NonNull StatusBarStateController statusBarStateController, - @NonNull Optional<StatusBar> statusBarOptional, + @NonNull PanelExpansionStateManager panelExpansionStateManager, @NonNull DumpManager dumpManager) { - super(view, statusBarStateController, statusBarOptional, dumpManager); + super(view, statusBarStateController, panelExpansionStateManager, dumpManager); mEnrollProgressBarRadius = getContext().getResources() .getInteger(R.integer.config_udfpsEnrollProgressBar); mEnrollHelper = enrollHelper; diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsFpmOtherViewController.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsFpmOtherViewController.java index dcb5aefc8aa3..619873367ee8 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsFpmOtherViewController.java +++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsFpmOtherViewController.java @@ -20,9 +20,7 @@ import android.annotation.NonNull; import com.android.systemui.dump.DumpManager; import com.android.systemui.plugins.statusbar.StatusBarStateController; -import com.android.systemui.statusbar.phone.StatusBar; - -import java.util.Optional; +import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager; /** * Class that coordinates non-HBM animations for non keyguard, enrollment or biometric prompt @@ -34,9 +32,9 @@ class UdfpsFpmOtherViewController extends UdfpsAnimationViewController<UdfpsFpmO protected UdfpsFpmOtherViewController( @NonNull UdfpsFpmOtherView view, @NonNull StatusBarStateController statusBarStateController, - @NonNull Optional<StatusBar> statusBarOptional, + @NonNull PanelExpansionStateManager panelExpansionStateManager, @NonNull DumpManager dumpManager) { - super(view, statusBarStateController, statusBarOptional, dumpManager); + super(view, statusBarStateController, panelExpansionStateManager, dumpManager); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.java index 7a28c9d52260..495366c8f69f 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.java +++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.java @@ -30,16 +30,16 @@ import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.LockscreenShadeTransitionController; import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.phone.KeyguardBouncer; -import com.android.systemui.statusbar.phone.StatusBar; import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; import com.android.systemui.statusbar.phone.UnlockedScreenOffAnimationController; +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; import java.io.FileDescriptor; import java.io.PrintWriter; -import java.util.Optional; /** * Class that coordinates non-HBM animations during keyguard authentication. @@ -77,7 +77,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud protected UdfpsKeyguardViewController( @NonNull UdfpsKeyguardView view, @NonNull StatusBarStateController statusBarStateController, - @NonNull Optional<StatusBar> statusBarOptional, + @NonNull PanelExpansionStateManager panelExpansionStateManager, @NonNull StatusBarKeyguardViewManager statusBarKeyguardViewManager, @NonNull KeyguardUpdateMonitor keyguardUpdateMonitor, @NonNull DumpManager dumpManager, @@ -87,7 +87,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud @NonNull KeyguardStateController keyguardStateController, @NonNull UnlockedScreenOffAnimationController unlockedScreenOffAnimationController, @NonNull UdfpsController udfpsController) { - super(view, statusBarStateController, statusBarOptional, dumpManager); + super(view, statusBarStateController, panelExpansionStateManager, dumpManager); mKeyguardViewManager = statusBarKeyguardViewManager; mKeyguardUpdateMonitor = keyguardUpdateMonitor; mLockScreenShadeTransitionController = transitionController; @@ -126,9 +126,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud mInputBouncerHiddenAmount = KeyguardBouncer.EXPANSION_HIDDEN; mIsBouncerVisible = mKeyguardViewManager.bouncerIsOrWillBeShowing(); mConfigurationController.addCallback(mConfigurationListener); - mStatusBarOptional.ifPresent( - statusBar -> statusBar.addExpansionChangedListener( - mStatusBarExpansionChangedListener)); + mPanelExpansionStateManager.addListener(mPanelExpansionListener); updateAlpha(); updatePauseAuth(); @@ -147,9 +145,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud mKeyguardViewManager.removeAlternateAuthInterceptor(mAlternateAuthInterceptor); mKeyguardUpdateMonitor.requestFaceAuthOnOccludingApp(false); mConfigurationController.removeCallback(mConfigurationListener); - mStatusBarOptional.ifPresent( - statusBar -> statusBar.removeExpansionChangedListener( - mStatusBarExpansionChangedListener)); + mPanelExpansionStateManager.removeListener(mPanelExpansionListener); if (mLockScreenShadeTransitionController.getUdfpsKeyguardViewController() == this) { mLockScreenShadeTransitionController.setUdfpsKeyguardViewController(null); } @@ -403,14 +399,14 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud } }; - private final StatusBar.ExpansionChangedListener mStatusBarExpansionChangedListener = - new StatusBar.ExpansionChangedListener() { - @Override - public void onExpansionChanged(float expansion, boolean expanded) { - mStatusBarExpansion = expansion; - updateAlpha(); - } - }; + private final PanelExpansionListener mPanelExpansionListener = new PanelExpansionListener() { + @Override + public void onPanelExpansionChanged( + float fraction, boolean expanded, boolean tracking) { + mStatusBarExpansion = fraction; + updateAlpha(); + } + }; private final KeyguardStateController.Callback mKeyguardStateControllerCallback = new KeyguardStateController.Callback() { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java index 883313bdc096..b7686989459b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java @@ -42,7 +42,6 @@ import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver; import com.android.systemui.util.leak.RotationUtils; -import java.util.List; import java.util.Objects; public class PhoneStatusBarView extends PanelBar { @@ -65,8 +64,6 @@ public class PhoneStatusBarView extends PanelBar { private DisplayCutout mDisplayCutout; private int mStatusBarHeight; @Nullable - private List<StatusBar.ExpansionChangedListener> mExpansionChangedListeners; - @Nullable private TouchEventHandler mTouchEventHandler; /** @@ -83,11 +80,6 @@ public class PhoneStatusBarView extends PanelBar { mBar = bar; } - public void setExpansionChangedListeners( - @Nullable List<StatusBar.ExpansionChangedListener> listeners) { - mExpansionChangedListeners = listeners; - } - void setTouchEventHandler(TouchEventHandler handler) { mTouchEventHandler = handler; } @@ -203,16 +195,6 @@ public class PhoneStatusBarView extends PanelBar { return super.onInterceptTouchEvent(event); } - @Override - public void panelExpansionChanged(float frac, boolean expanded) { - super.panelExpansionChanged(frac, expanded); - if (mExpansionChangedListeners != null) { - for (StatusBar.ExpansionChangedListener listener : mExpansionChangedListeners) { - listener.onExpansionChanged(frac, expanded); - } - } - } - public void updateResources() { mCutoutSideNudge = getResources().getDimensionPixelSize( R.dimen.display_cutout_margin_consumption); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java index 76790cfd4d68..c25304e1efb3 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java @@ -248,7 +248,6 @@ import com.android.wm.shell.startingsurface.StartingSurface; import java.io.FileDescriptor; import java.io.PrintWriter; import java.io.StringWriter; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Optional; @@ -440,10 +439,6 @@ public class StatusBar extends SystemUI implements mCommandQueueCallbacks.animateCollapsePanels(flags, force); } - public interface ExpansionChangedListener { - void onExpansionChanged(float expansion, boolean expanded); - } - /** * The {@link StatusBarState} of the status bar. */ @@ -556,8 +551,6 @@ public class StatusBar extends SystemUI implements private final UnlockedScreenOffAnimationController mUnlockedScreenOffAnimationController; private final TunerService mTunerService; - private final List<ExpansionChangedListener> mExpansionChangedListeners; - // Flags for disabling the status bar // Two variables becaseu the first one evidently ran out of room for new flags. private int mDisabled1 = 0; @@ -905,7 +898,6 @@ public class StatusBar extends SystemUI implements mStartingSurfaceOptional = startingSurfaceOptional; lockscreenShadeTransitionController.setStatusbar(this); - mExpansionChangedListeners = new ArrayList<>(); mPanelExpansionStateManager.addListener(this::onPanelExpansionChanged); mBubbleExpandListener = @@ -1171,10 +1163,6 @@ public class StatusBar extends SystemUI implements mStatusBarView.setPanelStateChangeListener( mNotificationPanelViewController.getPanelStateChangeListener()); mStatusBarView.setScrimController(mScrimController); - mStatusBarView.setExpansionChangedListeners(mExpansionChangedListeners); - for (ExpansionChangedListener listener : mExpansionChangedListeners) { - sendInitialExpansionAmount(listener); - } mNotificationPanelViewController.setBar(mStatusBarView); @@ -1403,12 +1391,6 @@ public class StatusBar extends SystemUI implements mDeviceProvisionedController.addCallback(mUserSetupObserver); mUserSetupObserver.onUserSetupChanged(); - for (ExpansionChangedListener listener : mExpansionChangedListeners) { - // The initial expansion amount comes from mNotificationPanelViewController, so we - // should send the amount once we've fully set up that controller. - sendInitialExpansionAmount(listener); - } - // disable profiling bars, since they overlap and clutter the output on app windows ThreadedRenderer.overrideProperty("disableProfileBars", "true"); @@ -4247,24 +4229,6 @@ public class StatusBar extends SystemUI implements return mTransientShown; } - - public void addExpansionChangedListener(@NonNull ExpansionChangedListener listener) { - mExpansionChangedListeners.add(listener); - sendInitialExpansionAmount(listener); - } - - private void sendInitialExpansionAmount(ExpansionChangedListener expansionChangedListener) { - if (mNotificationPanelViewController != null) { - expansionChangedListener.onExpansionChanged( - mNotificationPanelViewController.getExpandedFraction(), - mNotificationPanelViewController.isExpanded()); - } - } - - public void removeExpansionChangedListener(@NonNull ExpansionChangedListener listener) { - mExpansionChangedListeners.remove(listener); - } - private void updateLightRevealScrimVisibility() { if (mLightRevealScrim == null) { // status bar may not be inflated yet diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/panelstate/PanelExpansionStateManager.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/panelstate/PanelExpansionStateManager.kt index 71b706665a77..aa748b00d570 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/panelstate/PanelExpansionStateManager.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/panelstate/PanelExpansionStateManager.kt @@ -45,6 +45,11 @@ class PanelExpansionStateManager @Inject constructor() { listener.onPanelExpansionChanged(fraction, expanded, tracking) } + /** Removes a listener. */ + fun removeListener(listener: PanelExpansionListener) { + listeners.remove(listener) + } + /** Called when the panel expansion has changed. Notifies all listeners of change. */ fun onPanelExpansionChanged( @FloatRange(from = 0.0, to = 1.0) fraction: Float, diff --git a/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsControllerTest.java index deabda35aeae..cfac9cb592a0 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsControllerTest.java @@ -66,6 +66,7 @@ import com.android.systemui.statusbar.phone.KeyguardBypassController; import com.android.systemui.statusbar.phone.StatusBar; import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; 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; @@ -219,7 +220,7 @@ public class UdfpsControllerTest extends SysuiTestCase { mWindowManager, mStatusBarStateController, mFgExecutor, - Optional.of(mStatusBar), + new PanelExpansionStateManager(), mStatusBarKeyguardViewManager, mDumpManager, mKeyguardUpdateMonitor, diff --git a/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewControllerTest.java index 2821f3d21606..6f0456ef8f5b 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewControllerTest.java @@ -41,9 +41,10 @@ import com.android.systemui.keyguard.KeyguardViewMediator; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.LockscreenShadeTransitionController; import com.android.systemui.statusbar.StatusBarState; -import com.android.systemui.statusbar.phone.StatusBar; import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; import com.android.systemui.statusbar.phone.UnlockedScreenOffAnimationController; +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; @@ -57,7 +58,6 @@ import org.mockito.Captor; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import java.util.Optional; import java.util.List; @SmallTest @@ -72,7 +72,7 @@ public class UdfpsKeyguardViewControllerTest extends SysuiTestCase { @Mock private StatusBarStateController mStatusBarStateController; @Mock - private StatusBar mStatusBar; + private PanelExpansionStateManager mPanelExpansionStateManager; @Mock private StatusBarKeyguardViewManager mStatusBarKeyguardViewManager; @Mock @@ -101,8 +101,8 @@ public class UdfpsKeyguardViewControllerTest extends SysuiTestCase { @Captor private ArgumentCaptor<StatusBarStateController.StateListener> mStateListenerCaptor; private StatusBarStateController.StateListener mStatusBarStateListener; - @Captor private ArgumentCaptor<StatusBar.ExpansionChangedListener> mExpansionListenerCaptor; - private List<StatusBar.ExpansionChangedListener> mExpansionListeners; + @Captor private ArgumentCaptor<PanelExpansionListener> mExpansionListenerCaptor; + private List<PanelExpansionListener> mExpansionListeners; @Captor private ArgumentCaptor<StatusBarKeyguardViewManager.AlternateAuthInterceptor> mAltAuthInterceptorCaptor; @@ -121,7 +121,7 @@ public class UdfpsKeyguardViewControllerTest extends SysuiTestCase { mController = new UdfpsKeyguardViewController( mView, mStatusBarStateController, - Optional.of(mStatusBar), + mPanelExpansionStateManager, mStatusBarKeyguardViewManager, mKeyguardUpdateMonitor, mDumpManager, @@ -170,8 +170,8 @@ public class UdfpsKeyguardViewControllerTest extends SysuiTestCase { mController.onViewDetached(); verify(mStatusBarStateController).removeCallback(mStatusBarStateListener); - for (StatusBar.ExpansionChangedListener listener : mExpansionListeners) { - verify(mStatusBar).removeExpansionChangedListener(listener); + for (PanelExpansionListener listener : mExpansionListeners) { + verify(mPanelExpansionStateManager).removeListener(listener); } verify(mKeyguardStateController).removeCallback(mKeyguardStateControllerCallback); } @@ -434,16 +434,16 @@ public class UdfpsKeyguardViewControllerTest extends SysuiTestCase { } private void captureExpansionListeners() { - verify(mStatusBar, times(2)) - .addExpansionChangedListener(mExpansionListenerCaptor.capture()); + verify(mPanelExpansionStateManager, times(2)) + .addListener(mExpansionListenerCaptor.capture()); // first (index=0) is from super class, UdfpsAnimationViewController. // second (index=1) is from UdfpsKeyguardViewController mExpansionListeners = mExpansionListenerCaptor.getAllValues(); } - private void updateStatusBarExpansion(float expansion, boolean expanded) { - for (StatusBar.ExpansionChangedListener listener : mExpansionListeners) { - listener.onExpansionChanged(expansion, expanded); + private void updateStatusBarExpansion(float fraction, boolean expanded) { + for (PanelExpansionListener listener : mExpansionListeners) { + listener.onPanelExpansionChanged(fraction, expanded, /* tracking= */ false); } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/PhoneStatusBarViewTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/PhoneStatusBarViewTest.kt index fe3490399e81..300860ca0a49 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/PhoneStatusBarViewTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/PhoneStatusBarViewTest.kt @@ -54,25 +54,6 @@ class PhoneStatusBarViewTest : SysuiTestCase() { } @Test - fun panelExpansionChanged_expansionChangeListenerNotified() { - val listener = TestExpansionChangedListener() - view.setExpansionChangedListeners(listOf(listener)) - val fraction = 0.4f - val isExpanded = true - - view.panelExpansionChanged(fraction, isExpanded) - - assertThat(listener.fraction).isEqualTo(fraction) - assertThat(listener.isExpanded).isEqualTo(isExpanded) - } - - @Test - fun panelExpansionChanged_noListeners_noCrash() { - view.panelExpansionChanged(1f, false) - // No assert needed, just testing no crash - } - - @Test fun panelStateChanged_toStateOpening_listenerNotified() { val listener = TestStateChangedListener() view.setPanelStateChangeListener(listener) @@ -145,17 +126,6 @@ class PhoneStatusBarViewTest : SysuiTestCase() { // No assert needed, just testing no crash } - private class TestExpansionChangedListener - : StatusBar.ExpansionChangedListener { - var fraction: Float = 0f - var isExpanded: Boolean = false - - override fun onExpansionChanged(expansion: Float, expanded: Boolean) { - this.fraction = expansion - this.isExpanded = expanded - } - } - private class TestStateChangedListener : PanelBar.PanelStateChangeListener { var state: Int = 0 override fun onStateChanged(state: Int) { |