Merge "[Status Bar Refactor] 2.3/N Migrate Udfps classes to the correct listener interface." into sc-v2-dev am: adabd84fb7
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16086073 Change-Id: I236af8dddb11f09b3c80dc9ee7e9150294653dd8
This commit is contained in:
@@ -23,12 +23,12 @@ import android.graphics.RectF;
|
|||||||
import com.android.systemui.Dumpable;
|
import com.android.systemui.Dumpable;
|
||||||
import com.android.systemui.dump.DumpManager;
|
import com.android.systemui.dump.DumpManager;
|
||||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
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 com.android.systemui.util.ViewController;
|
||||||
|
|
||||||
import java.io.FileDescriptor;
|
import java.io.FileDescriptor;
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handles:
|
* Handles:
|
||||||
@@ -43,7 +43,7 @@ import java.util.Optional;
|
|||||||
abstract class UdfpsAnimationViewController<T extends UdfpsAnimationView>
|
abstract class UdfpsAnimationViewController<T extends UdfpsAnimationView>
|
||||||
extends ViewController<T> implements Dumpable {
|
extends ViewController<T> implements Dumpable {
|
||||||
@NonNull final StatusBarStateController mStatusBarStateController;
|
@NonNull final StatusBarStateController mStatusBarStateController;
|
||||||
@NonNull final Optional<StatusBar> mStatusBarOptional;
|
@NonNull final PanelExpansionStateManager mPanelExpansionStateManager;
|
||||||
@NonNull final DumpManager mDumpManger;
|
@NonNull final DumpManager mDumpManger;
|
||||||
|
|
||||||
boolean mNotificationShadeExpanded;
|
boolean mNotificationShadeExpanded;
|
||||||
@@ -51,11 +51,11 @@ abstract class UdfpsAnimationViewController<T extends UdfpsAnimationView>
|
|||||||
protected UdfpsAnimationViewController(
|
protected UdfpsAnimationViewController(
|
||||||
T view,
|
T view,
|
||||||
@NonNull StatusBarStateController statusBarStateController,
|
@NonNull StatusBarStateController statusBarStateController,
|
||||||
@NonNull Optional<StatusBar> statusBarOptional,
|
@NonNull PanelExpansionStateManager panelExpansionStateManager,
|
||||||
@NonNull DumpManager dumpManager) {
|
@NonNull DumpManager dumpManager) {
|
||||||
super(view);
|
super(view);
|
||||||
mStatusBarStateController = statusBarStateController;
|
mStatusBarStateController = statusBarStateController;
|
||||||
mStatusBarOptional = statusBarOptional;
|
mPanelExpansionStateManager = panelExpansionStateManager;
|
||||||
mDumpManger = dumpManager;
|
mDumpManger = dumpManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -63,17 +63,13 @@ abstract class UdfpsAnimationViewController<T extends UdfpsAnimationView>
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onViewAttached() {
|
protected void onViewAttached() {
|
||||||
mStatusBarOptional.ifPresent(
|
mPanelExpansionStateManager.addListener(mPanelExpansionListener);
|
||||||
statusBar -> statusBar.addExpansionChangedListener(
|
|
||||||
mStatusBarExpansionChangedListener));
|
|
||||||
mDumpManger.registerDumpable(getDumpTag(), this);
|
mDumpManger.registerDumpable(getDumpTag(), this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onViewDetached() {
|
protected void onViewDetached() {
|
||||||
mStatusBarOptional.ifPresent(
|
mPanelExpansionStateManager.removeListener(mPanelExpansionListener);
|
||||||
statusBar -> statusBar.removeExpansionChangedListener(
|
|
||||||
mStatusBarExpansionChangedListener));
|
|
||||||
mDumpManger.unregisterDumpable(getDumpTag());
|
mDumpManger.unregisterDumpable(getDumpTag());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -182,12 +178,12 @@ abstract class UdfpsAnimationViewController<T extends UdfpsAnimationView>
|
|||||||
*/
|
*/
|
||||||
void onTouchOutsideView() { }
|
void onTouchOutsideView() { }
|
||||||
|
|
||||||
private final StatusBar.ExpansionChangedListener mStatusBarExpansionChangedListener =
|
private final PanelExpansionListener mPanelExpansionListener = new PanelExpansionListener() {
|
||||||
new StatusBar.ExpansionChangedListener() {
|
|
||||||
@Override
|
@Override
|
||||||
public void onExpansionChanged(float expansion, boolean expanded) {
|
public void onPanelExpansionChanged(
|
||||||
|
float fraction, boolean expanded, boolean tracking) {
|
||||||
mNotificationShadeExpanded = expanded;
|
mNotificationShadeExpanded = expanded;
|
||||||
mView.onExpansionChanged(expansion, expanded);
|
mView.onExpansionChanged(fraction, expanded);
|
||||||
updatePauseAuth();
|
updatePauseAuth();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -20,9 +20,7 @@ import android.annotation.NonNull;
|
|||||||
|
|
||||||
import com.android.systemui.dump.DumpManager;
|
import com.android.systemui.dump.DumpManager;
|
||||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||||
import com.android.systemui.statusbar.phone.StatusBar;
|
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager;
|
||||||
|
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class that coordinates non-HBM animations for biometric prompt.
|
* Class that coordinates non-HBM animations for biometric prompt.
|
||||||
@@ -31,9 +29,9 @@ class UdfpsBpViewController extends UdfpsAnimationViewController<UdfpsBpView> {
|
|||||||
protected UdfpsBpViewController(
|
protected UdfpsBpViewController(
|
||||||
@NonNull UdfpsBpView view,
|
@NonNull UdfpsBpView view,
|
||||||
@NonNull StatusBarStateController statusBarStateController,
|
@NonNull StatusBarStateController statusBarStateController,
|
||||||
@NonNull Optional<StatusBar> statusBarOptional,
|
@NonNull PanelExpansionStateManager panelExpansionStateManager,
|
||||||
@NonNull DumpManager dumpManager) {
|
@NonNull DumpManager dumpManager) {
|
||||||
super(view, statusBarStateController, statusBarOptional, dumpManager);
|
super(view, statusBarStateController, panelExpansionStateManager, dumpManager);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -69,9 +69,9 @@ import com.android.systemui.plugins.FalsingManager;
|
|||||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||||
import com.android.systemui.statusbar.LockscreenShadeTransitionController;
|
import com.android.systemui.statusbar.LockscreenShadeTransitionController;
|
||||||
import com.android.systemui.statusbar.phone.KeyguardBypassController;
|
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.StatusBarKeyguardViewManager;
|
||||||
import com.android.systemui.statusbar.phone.UnlockedScreenOffAnimationController;
|
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.ConfigurationController;
|
||||||
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
||||||
import com.android.systemui.util.concurrency.DelayableExecutor;
|
import com.android.systemui.util.concurrency.DelayableExecutor;
|
||||||
@@ -112,7 +112,7 @@ public class UdfpsController implements DozeReceiver {
|
|||||||
@NonNull private final LayoutInflater mInflater;
|
@NonNull private final LayoutInflater mInflater;
|
||||||
private final WindowManager mWindowManager;
|
private final WindowManager mWindowManager;
|
||||||
private final DelayableExecutor mFgExecutor;
|
private final DelayableExecutor mFgExecutor;
|
||||||
@NonNull private final Optional<StatusBar> mStatusBarOptional;
|
@NonNull private final PanelExpansionStateManager mPanelExpansionStateManager;
|
||||||
@NonNull private final StatusBarStateController mStatusBarStateController;
|
@NonNull private final StatusBarStateController mStatusBarStateController;
|
||||||
@NonNull private final KeyguardStateController mKeyguardStateController;
|
@NonNull private final KeyguardStateController mKeyguardStateController;
|
||||||
@NonNull private final StatusBarKeyguardViewManager mKeyguardViewManager;
|
@NonNull private final StatusBarKeyguardViewManager mKeyguardViewManager;
|
||||||
@@ -521,7 +521,7 @@ public class UdfpsController implements DozeReceiver {
|
|||||||
@NonNull WindowManager windowManager,
|
@NonNull WindowManager windowManager,
|
||||||
@NonNull StatusBarStateController statusBarStateController,
|
@NonNull StatusBarStateController statusBarStateController,
|
||||||
@Main DelayableExecutor fgExecutor,
|
@Main DelayableExecutor fgExecutor,
|
||||||
@NonNull Optional<StatusBar> statusBarOptional,
|
@NonNull PanelExpansionStateManager panelExpansionStateManager,
|
||||||
@NonNull StatusBarKeyguardViewManager statusBarKeyguardViewManager,
|
@NonNull StatusBarKeyguardViewManager statusBarKeyguardViewManager,
|
||||||
@NonNull DumpManager dumpManager,
|
@NonNull DumpManager dumpManager,
|
||||||
@NonNull KeyguardUpdateMonitor keyguardUpdateMonitor,
|
@NonNull KeyguardUpdateMonitor keyguardUpdateMonitor,
|
||||||
@@ -550,7 +550,7 @@ public class UdfpsController implements DozeReceiver {
|
|||||||
mFingerprintManager = checkNotNull(fingerprintManager);
|
mFingerprintManager = checkNotNull(fingerprintManager);
|
||||||
mWindowManager = windowManager;
|
mWindowManager = windowManager;
|
||||||
mFgExecutor = fgExecutor;
|
mFgExecutor = fgExecutor;
|
||||||
mStatusBarOptional = statusBarOptional;
|
mPanelExpansionStateManager = panelExpansionStateManager;
|
||||||
mStatusBarStateController = statusBarStateController;
|
mStatusBarStateController = statusBarStateController;
|
||||||
mKeyguardStateController = keyguardStateController;
|
mKeyguardStateController = keyguardStateController;
|
||||||
mKeyguardViewManager = statusBarKeyguardViewManager;
|
mKeyguardViewManager = statusBarKeyguardViewManager;
|
||||||
@@ -805,7 +805,7 @@ public class UdfpsController implements DozeReceiver {
|
|||||||
enrollView,
|
enrollView,
|
||||||
mServerRequest.mEnrollHelper,
|
mServerRequest.mEnrollHelper,
|
||||||
mStatusBarStateController,
|
mStatusBarStateController,
|
||||||
mStatusBarOptional,
|
mPanelExpansionStateManager,
|
||||||
mDumpManager
|
mDumpManager
|
||||||
);
|
);
|
||||||
case BiometricOverlayConstants.REASON_AUTH_KEYGUARD:
|
case BiometricOverlayConstants.REASON_AUTH_KEYGUARD:
|
||||||
@@ -815,7 +815,7 @@ public class UdfpsController implements DozeReceiver {
|
|||||||
return new UdfpsKeyguardViewController(
|
return new UdfpsKeyguardViewController(
|
||||||
keyguardView,
|
keyguardView,
|
||||||
mStatusBarStateController,
|
mStatusBarStateController,
|
||||||
mStatusBarOptional,
|
mPanelExpansionStateManager,
|
||||||
mKeyguardViewManager,
|
mKeyguardViewManager,
|
||||||
mKeyguardUpdateMonitor,
|
mKeyguardUpdateMonitor,
|
||||||
mDumpManager,
|
mDumpManager,
|
||||||
@@ -833,7 +833,7 @@ public class UdfpsController implements DozeReceiver {
|
|||||||
return new UdfpsBpViewController(
|
return new UdfpsBpViewController(
|
||||||
bpView,
|
bpView,
|
||||||
mStatusBarStateController,
|
mStatusBarStateController,
|
||||||
mStatusBarOptional,
|
mPanelExpansionStateManager,
|
||||||
mDumpManager
|
mDumpManager
|
||||||
);
|
);
|
||||||
case BiometricOverlayConstants.REASON_AUTH_OTHER:
|
case BiometricOverlayConstants.REASON_AUTH_OTHER:
|
||||||
@@ -843,7 +843,7 @@ public class UdfpsController implements DozeReceiver {
|
|||||||
return new UdfpsFpmOtherViewController(
|
return new UdfpsFpmOtherViewController(
|
||||||
authOtherView,
|
authOtherView,
|
||||||
mStatusBarStateController,
|
mStatusBarStateController,
|
||||||
mStatusBarOptional,
|
mPanelExpansionStateManager,
|
||||||
mDumpManager
|
mDumpManager
|
||||||
);
|
);
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -22,9 +22,7 @@ import android.graphics.PointF;
|
|||||||
import com.android.systemui.R;
|
import com.android.systemui.R;
|
||||||
import com.android.systemui.dump.DumpManager;
|
import com.android.systemui.dump.DumpManager;
|
||||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||||
import com.android.systemui.statusbar.phone.StatusBar;
|
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager;
|
||||||
|
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class that coordinates non-HBM animations during enrollment.
|
* Class that coordinates non-HBM animations during enrollment.
|
||||||
@@ -55,9 +53,9 @@ public class UdfpsEnrollViewController extends UdfpsAnimationViewController<Udfp
|
|||||||
@NonNull UdfpsEnrollView view,
|
@NonNull UdfpsEnrollView view,
|
||||||
@NonNull UdfpsEnrollHelper enrollHelper,
|
@NonNull UdfpsEnrollHelper enrollHelper,
|
||||||
@NonNull StatusBarStateController statusBarStateController,
|
@NonNull StatusBarStateController statusBarStateController,
|
||||||
@NonNull Optional<StatusBar> statusBarOptional,
|
@NonNull PanelExpansionStateManager panelExpansionStateManager,
|
||||||
@NonNull DumpManager dumpManager) {
|
@NonNull DumpManager dumpManager) {
|
||||||
super(view, statusBarStateController, statusBarOptional, dumpManager);
|
super(view, statusBarStateController, panelExpansionStateManager, dumpManager);
|
||||||
mEnrollProgressBarRadius = getContext().getResources()
|
mEnrollProgressBarRadius = getContext().getResources()
|
||||||
.getInteger(R.integer.config_udfpsEnrollProgressBar);
|
.getInteger(R.integer.config_udfpsEnrollProgressBar);
|
||||||
mEnrollHelper = enrollHelper;
|
mEnrollHelper = enrollHelper;
|
||||||
|
|||||||
@@ -20,9 +20,7 @@ import android.annotation.NonNull;
|
|||||||
|
|
||||||
import com.android.systemui.dump.DumpManager;
|
import com.android.systemui.dump.DumpManager;
|
||||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||||
import com.android.systemui.statusbar.phone.StatusBar;
|
import com.android.systemui.statusbar.phone.panelstate.PanelExpansionStateManager;
|
||||||
|
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class that coordinates non-HBM animations for non keyguard, enrollment or biometric prompt
|
* Class that coordinates non-HBM animations for non keyguard, enrollment or biometric prompt
|
||||||
@@ -34,9 +32,9 @@ class UdfpsFpmOtherViewController extends UdfpsAnimationViewController<UdfpsFpmO
|
|||||||
protected UdfpsFpmOtherViewController(
|
protected UdfpsFpmOtherViewController(
|
||||||
@NonNull UdfpsFpmOtherView view,
|
@NonNull UdfpsFpmOtherView view,
|
||||||
@NonNull StatusBarStateController statusBarStateController,
|
@NonNull StatusBarStateController statusBarStateController,
|
||||||
@NonNull Optional<StatusBar> statusBarOptional,
|
@NonNull PanelExpansionStateManager panelExpansionStateManager,
|
||||||
@NonNull DumpManager dumpManager) {
|
@NonNull DumpManager dumpManager) {
|
||||||
super(view, statusBarStateController, statusBarOptional, dumpManager);
|
super(view, statusBarStateController, panelExpansionStateManager, dumpManager);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -30,16 +30,16 @@ import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
|||||||
import com.android.systemui.statusbar.LockscreenShadeTransitionController;
|
import com.android.systemui.statusbar.LockscreenShadeTransitionController;
|
||||||
import com.android.systemui.statusbar.StatusBarState;
|
import com.android.systemui.statusbar.StatusBarState;
|
||||||
import com.android.systemui.statusbar.phone.KeyguardBouncer;
|
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.StatusBarKeyguardViewManager;
|
||||||
import com.android.systemui.statusbar.phone.UnlockedScreenOffAnimationController;
|
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.ConfigurationController;
|
||||||
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
||||||
import com.android.systemui.util.time.SystemClock;
|
import com.android.systemui.util.time.SystemClock;
|
||||||
|
|
||||||
import java.io.FileDescriptor;
|
import java.io.FileDescriptor;
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class that coordinates non-HBM animations during keyguard authentication.
|
* Class that coordinates non-HBM animations during keyguard authentication.
|
||||||
@@ -77,7 +77,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
|
|||||||
protected UdfpsKeyguardViewController(
|
protected UdfpsKeyguardViewController(
|
||||||
@NonNull UdfpsKeyguardView view,
|
@NonNull UdfpsKeyguardView view,
|
||||||
@NonNull StatusBarStateController statusBarStateController,
|
@NonNull StatusBarStateController statusBarStateController,
|
||||||
@NonNull Optional<StatusBar> statusBarOptional,
|
@NonNull PanelExpansionStateManager panelExpansionStateManager,
|
||||||
@NonNull StatusBarKeyguardViewManager statusBarKeyguardViewManager,
|
@NonNull StatusBarKeyguardViewManager statusBarKeyguardViewManager,
|
||||||
@NonNull KeyguardUpdateMonitor keyguardUpdateMonitor,
|
@NonNull KeyguardUpdateMonitor keyguardUpdateMonitor,
|
||||||
@NonNull DumpManager dumpManager,
|
@NonNull DumpManager dumpManager,
|
||||||
@@ -87,7 +87,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
|
|||||||
@NonNull KeyguardStateController keyguardStateController,
|
@NonNull KeyguardStateController keyguardStateController,
|
||||||
@NonNull UnlockedScreenOffAnimationController unlockedScreenOffAnimationController,
|
@NonNull UnlockedScreenOffAnimationController unlockedScreenOffAnimationController,
|
||||||
@NonNull UdfpsController udfpsController) {
|
@NonNull UdfpsController udfpsController) {
|
||||||
super(view, statusBarStateController, statusBarOptional, dumpManager);
|
super(view, statusBarStateController, panelExpansionStateManager, dumpManager);
|
||||||
mKeyguardViewManager = statusBarKeyguardViewManager;
|
mKeyguardViewManager = statusBarKeyguardViewManager;
|
||||||
mKeyguardUpdateMonitor = keyguardUpdateMonitor;
|
mKeyguardUpdateMonitor = keyguardUpdateMonitor;
|
||||||
mLockScreenShadeTransitionController = transitionController;
|
mLockScreenShadeTransitionController = transitionController;
|
||||||
@@ -126,9 +126,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
|
|||||||
mInputBouncerHiddenAmount = KeyguardBouncer.EXPANSION_HIDDEN;
|
mInputBouncerHiddenAmount = KeyguardBouncer.EXPANSION_HIDDEN;
|
||||||
mIsBouncerVisible = mKeyguardViewManager.bouncerIsOrWillBeShowing();
|
mIsBouncerVisible = mKeyguardViewManager.bouncerIsOrWillBeShowing();
|
||||||
mConfigurationController.addCallback(mConfigurationListener);
|
mConfigurationController.addCallback(mConfigurationListener);
|
||||||
mStatusBarOptional.ifPresent(
|
mPanelExpansionStateManager.addListener(mPanelExpansionListener);
|
||||||
statusBar -> statusBar.addExpansionChangedListener(
|
|
||||||
mStatusBarExpansionChangedListener));
|
|
||||||
updateAlpha();
|
updateAlpha();
|
||||||
updatePauseAuth();
|
updatePauseAuth();
|
||||||
|
|
||||||
@@ -147,9 +145,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
|
|||||||
mKeyguardViewManager.removeAlternateAuthInterceptor(mAlternateAuthInterceptor);
|
mKeyguardViewManager.removeAlternateAuthInterceptor(mAlternateAuthInterceptor);
|
||||||
mKeyguardUpdateMonitor.requestFaceAuthOnOccludingApp(false);
|
mKeyguardUpdateMonitor.requestFaceAuthOnOccludingApp(false);
|
||||||
mConfigurationController.removeCallback(mConfigurationListener);
|
mConfigurationController.removeCallback(mConfigurationListener);
|
||||||
mStatusBarOptional.ifPresent(
|
mPanelExpansionStateManager.removeListener(mPanelExpansionListener);
|
||||||
statusBar -> statusBar.removeExpansionChangedListener(
|
|
||||||
mStatusBarExpansionChangedListener));
|
|
||||||
if (mLockScreenShadeTransitionController.getUdfpsKeyguardViewController() == this) {
|
if (mLockScreenShadeTransitionController.getUdfpsKeyguardViewController() == this) {
|
||||||
mLockScreenShadeTransitionController.setUdfpsKeyguardViewController(null);
|
mLockScreenShadeTransitionController.setUdfpsKeyguardViewController(null);
|
||||||
}
|
}
|
||||||
@@ -403,11 +399,11 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
private final StatusBar.ExpansionChangedListener mStatusBarExpansionChangedListener =
|
private final PanelExpansionListener mPanelExpansionListener = new PanelExpansionListener() {
|
||||||
new StatusBar.ExpansionChangedListener() {
|
|
||||||
@Override
|
@Override
|
||||||
public void onExpansionChanged(float expansion, boolean expanded) {
|
public void onPanelExpansionChanged(
|
||||||
mStatusBarExpansion = expansion;
|
float fraction, boolean expanded, boolean tracking) {
|
||||||
|
mStatusBarExpansion = fraction;
|
||||||
updateAlpha();
|
updateAlpha();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -42,7 +42,6 @@ import com.android.systemui.plugins.DarkIconDispatcher;
|
|||||||
import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver;
|
import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver;
|
||||||
import com.android.systemui.util.leak.RotationUtils;
|
import com.android.systemui.util.leak.RotationUtils;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public class PhoneStatusBarView extends PanelBar {
|
public class PhoneStatusBarView extends PanelBar {
|
||||||
@@ -65,8 +64,6 @@ public class PhoneStatusBarView extends PanelBar {
|
|||||||
private DisplayCutout mDisplayCutout;
|
private DisplayCutout mDisplayCutout;
|
||||||
private int mStatusBarHeight;
|
private int mStatusBarHeight;
|
||||||
@Nullable
|
@Nullable
|
||||||
private List<StatusBar.ExpansionChangedListener> mExpansionChangedListeners;
|
|
||||||
@Nullable
|
|
||||||
private TouchEventHandler mTouchEventHandler;
|
private TouchEventHandler mTouchEventHandler;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -83,11 +80,6 @@ public class PhoneStatusBarView extends PanelBar {
|
|||||||
mBar = bar;
|
mBar = bar;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setExpansionChangedListeners(
|
|
||||||
@Nullable List<StatusBar.ExpansionChangedListener> listeners) {
|
|
||||||
mExpansionChangedListeners = listeners;
|
|
||||||
}
|
|
||||||
|
|
||||||
void setTouchEventHandler(TouchEventHandler handler) {
|
void setTouchEventHandler(TouchEventHandler handler) {
|
||||||
mTouchEventHandler = handler;
|
mTouchEventHandler = handler;
|
||||||
}
|
}
|
||||||
@@ -203,16 +195,6 @@ public class PhoneStatusBarView extends PanelBar {
|
|||||||
return super.onInterceptTouchEvent(event);
|
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() {
|
public void updateResources() {
|
||||||
mCutoutSideNudge = getResources().getDimensionPixelSize(
|
mCutoutSideNudge = getResources().getDimensionPixelSize(
|
||||||
R.dimen.display_cutout_margin_consumption);
|
R.dimen.display_cutout_margin_consumption);
|
||||||
|
|||||||
@@ -248,7 +248,6 @@ import com.android.wm.shell.startingsurface.StartingSurface;
|
|||||||
import java.io.FileDescriptor;
|
import java.io.FileDescriptor;
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
import java.io.StringWriter;
|
import java.io.StringWriter;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
@@ -440,10 +439,6 @@ public class StatusBar extends SystemUI implements
|
|||||||
mCommandQueueCallbacks.animateCollapsePanels(flags, force);
|
mCommandQueueCallbacks.animateCollapsePanels(flags, force);
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface ExpansionChangedListener {
|
|
||||||
void onExpansionChanged(float expansion, boolean expanded);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The {@link StatusBarState} of the status bar.
|
* The {@link StatusBarState} of the status bar.
|
||||||
*/
|
*/
|
||||||
@@ -556,8 +551,6 @@ public class StatusBar extends SystemUI implements
|
|||||||
private final UnlockedScreenOffAnimationController mUnlockedScreenOffAnimationController;
|
private final UnlockedScreenOffAnimationController mUnlockedScreenOffAnimationController;
|
||||||
private final TunerService mTunerService;
|
private final TunerService mTunerService;
|
||||||
|
|
||||||
private final List<ExpansionChangedListener> mExpansionChangedListeners;
|
|
||||||
|
|
||||||
// Flags for disabling the status bar
|
// Flags for disabling the status bar
|
||||||
// Two variables becaseu the first one evidently ran out of room for new flags.
|
// Two variables becaseu the first one evidently ran out of room for new flags.
|
||||||
private int mDisabled1 = 0;
|
private int mDisabled1 = 0;
|
||||||
@@ -905,7 +898,6 @@ public class StatusBar extends SystemUI implements
|
|||||||
mStartingSurfaceOptional = startingSurfaceOptional;
|
mStartingSurfaceOptional = startingSurfaceOptional;
|
||||||
lockscreenShadeTransitionController.setStatusbar(this);
|
lockscreenShadeTransitionController.setStatusbar(this);
|
||||||
|
|
||||||
mExpansionChangedListeners = new ArrayList<>();
|
|
||||||
mPanelExpansionStateManager.addListener(this::onPanelExpansionChanged);
|
mPanelExpansionStateManager.addListener(this::onPanelExpansionChanged);
|
||||||
|
|
||||||
mBubbleExpandListener =
|
mBubbleExpandListener =
|
||||||
@@ -1171,10 +1163,6 @@ public class StatusBar extends SystemUI implements
|
|||||||
mStatusBarView.setPanelStateChangeListener(
|
mStatusBarView.setPanelStateChangeListener(
|
||||||
mNotificationPanelViewController.getPanelStateChangeListener());
|
mNotificationPanelViewController.getPanelStateChangeListener());
|
||||||
mStatusBarView.setScrimController(mScrimController);
|
mStatusBarView.setScrimController(mScrimController);
|
||||||
mStatusBarView.setExpansionChangedListeners(mExpansionChangedListeners);
|
|
||||||
for (ExpansionChangedListener listener : mExpansionChangedListeners) {
|
|
||||||
sendInitialExpansionAmount(listener);
|
|
||||||
}
|
|
||||||
|
|
||||||
mNotificationPanelViewController.setBar(mStatusBarView);
|
mNotificationPanelViewController.setBar(mStatusBarView);
|
||||||
|
|
||||||
@@ -1404,12 +1392,6 @@ public class StatusBar extends SystemUI implements
|
|||||||
mDeviceProvisionedController.addCallback(mUserSetupObserver);
|
mDeviceProvisionedController.addCallback(mUserSetupObserver);
|
||||||
mUserSetupObserver.onUserSetupChanged();
|
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
|
// disable profiling bars, since they overlap and clutter the output on app windows
|
||||||
ThreadedRenderer.overrideProperty("disableProfileBars", "true");
|
ThreadedRenderer.overrideProperty("disableProfileBars", "true");
|
||||||
|
|
||||||
@@ -4248,24 +4230,6 @@ public class StatusBar extends SystemUI implements
|
|||||||
return mTransientShown;
|
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() {
|
private void updateLightRevealScrimVisibility() {
|
||||||
if (mLightRevealScrim == null) {
|
if (mLightRevealScrim == null) {
|
||||||
// status bar may not be inflated yet
|
// status bar may not be inflated yet
|
||||||
|
|||||||
@@ -45,6 +45,11 @@ class PanelExpansionStateManager @Inject constructor() {
|
|||||||
listener.onPanelExpansionChanged(fraction, expanded, tracking)
|
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. */
|
/** Called when the panel expansion has changed. Notifies all listeners of change. */
|
||||||
fun onPanelExpansionChanged(
|
fun onPanelExpansionChanged(
|
||||||
@FloatRange(from = 0.0, to = 1.0) fraction: Float,
|
@FloatRange(from = 0.0, to = 1.0) fraction: Float,
|
||||||
|
|||||||
@@ -66,6 +66,7 @@ import com.android.systemui.statusbar.phone.KeyguardBypassController;
|
|||||||
import com.android.systemui.statusbar.phone.StatusBar;
|
import com.android.systemui.statusbar.phone.StatusBar;
|
||||||
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
|
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
|
||||||
import com.android.systemui.statusbar.phone.UnlockedScreenOffAnimationController;
|
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.ConfigurationController;
|
||||||
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
||||||
import com.android.systemui.util.concurrency.Execution;
|
import com.android.systemui.util.concurrency.Execution;
|
||||||
@@ -219,7 +220,7 @@ public class UdfpsControllerTest extends SysuiTestCase {
|
|||||||
mWindowManager,
|
mWindowManager,
|
||||||
mStatusBarStateController,
|
mStatusBarStateController,
|
||||||
mFgExecutor,
|
mFgExecutor,
|
||||||
Optional.of(mStatusBar),
|
new PanelExpansionStateManager(),
|
||||||
mStatusBarKeyguardViewManager,
|
mStatusBarKeyguardViewManager,
|
||||||
mDumpManager,
|
mDumpManager,
|
||||||
mKeyguardUpdateMonitor,
|
mKeyguardUpdateMonitor,
|
||||||
|
|||||||
@@ -41,9 +41,10 @@ import com.android.systemui.keyguard.KeyguardViewMediator;
|
|||||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||||
import com.android.systemui.statusbar.LockscreenShadeTransitionController;
|
import com.android.systemui.statusbar.LockscreenShadeTransitionController;
|
||||||
import com.android.systemui.statusbar.StatusBarState;
|
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.StatusBarKeyguardViewManager;
|
||||||
import com.android.systemui.statusbar.phone.UnlockedScreenOffAnimationController;
|
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.ConfigurationController;
|
||||||
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
||||||
import com.android.systemui.util.concurrency.DelayableExecutor;
|
import com.android.systemui.util.concurrency.DelayableExecutor;
|
||||||
@@ -57,7 +58,6 @@ import org.mockito.Captor;
|
|||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
|
|
||||||
import java.util.Optional;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@SmallTest
|
@SmallTest
|
||||||
@@ -72,7 +72,7 @@ public class UdfpsKeyguardViewControllerTest extends SysuiTestCase {
|
|||||||
@Mock
|
@Mock
|
||||||
private StatusBarStateController mStatusBarStateController;
|
private StatusBarStateController mStatusBarStateController;
|
||||||
@Mock
|
@Mock
|
||||||
private StatusBar mStatusBar;
|
private PanelExpansionStateManager mPanelExpansionStateManager;
|
||||||
@Mock
|
@Mock
|
||||||
private StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
|
private StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
|
||||||
@Mock
|
@Mock
|
||||||
@@ -101,8 +101,8 @@ public class UdfpsKeyguardViewControllerTest extends SysuiTestCase {
|
|||||||
@Captor private ArgumentCaptor<StatusBarStateController.StateListener> mStateListenerCaptor;
|
@Captor private ArgumentCaptor<StatusBarStateController.StateListener> mStateListenerCaptor;
|
||||||
private StatusBarStateController.StateListener mStatusBarStateListener;
|
private StatusBarStateController.StateListener mStatusBarStateListener;
|
||||||
|
|
||||||
@Captor private ArgumentCaptor<StatusBar.ExpansionChangedListener> mExpansionListenerCaptor;
|
@Captor private ArgumentCaptor<PanelExpansionListener> mExpansionListenerCaptor;
|
||||||
private List<StatusBar.ExpansionChangedListener> mExpansionListeners;
|
private List<PanelExpansionListener> mExpansionListeners;
|
||||||
|
|
||||||
@Captor private ArgumentCaptor<StatusBarKeyguardViewManager.AlternateAuthInterceptor>
|
@Captor private ArgumentCaptor<StatusBarKeyguardViewManager.AlternateAuthInterceptor>
|
||||||
mAltAuthInterceptorCaptor;
|
mAltAuthInterceptorCaptor;
|
||||||
@@ -121,7 +121,7 @@ public class UdfpsKeyguardViewControllerTest extends SysuiTestCase {
|
|||||||
mController = new UdfpsKeyguardViewController(
|
mController = new UdfpsKeyguardViewController(
|
||||||
mView,
|
mView,
|
||||||
mStatusBarStateController,
|
mStatusBarStateController,
|
||||||
Optional.of(mStatusBar),
|
mPanelExpansionStateManager,
|
||||||
mStatusBarKeyguardViewManager,
|
mStatusBarKeyguardViewManager,
|
||||||
mKeyguardUpdateMonitor,
|
mKeyguardUpdateMonitor,
|
||||||
mDumpManager,
|
mDumpManager,
|
||||||
@@ -170,8 +170,8 @@ public class UdfpsKeyguardViewControllerTest extends SysuiTestCase {
|
|||||||
mController.onViewDetached();
|
mController.onViewDetached();
|
||||||
|
|
||||||
verify(mStatusBarStateController).removeCallback(mStatusBarStateListener);
|
verify(mStatusBarStateController).removeCallback(mStatusBarStateListener);
|
||||||
for (StatusBar.ExpansionChangedListener listener : mExpansionListeners) {
|
for (PanelExpansionListener listener : mExpansionListeners) {
|
||||||
verify(mStatusBar).removeExpansionChangedListener(listener);
|
verify(mPanelExpansionStateManager).removeListener(listener);
|
||||||
}
|
}
|
||||||
verify(mKeyguardStateController).removeCallback(mKeyguardStateControllerCallback);
|
verify(mKeyguardStateController).removeCallback(mKeyguardStateControllerCallback);
|
||||||
}
|
}
|
||||||
@@ -434,16 +434,16 @@ public class UdfpsKeyguardViewControllerTest extends SysuiTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void captureExpansionListeners() {
|
private void captureExpansionListeners() {
|
||||||
verify(mStatusBar, times(2))
|
verify(mPanelExpansionStateManager, times(2))
|
||||||
.addExpansionChangedListener(mExpansionListenerCaptor.capture());
|
.addListener(mExpansionListenerCaptor.capture());
|
||||||
// first (index=0) is from super class, UdfpsAnimationViewController.
|
// first (index=0) is from super class, UdfpsAnimationViewController.
|
||||||
// second (index=1) is from UdfpsKeyguardViewController
|
// second (index=1) is from UdfpsKeyguardViewController
|
||||||
mExpansionListeners = mExpansionListenerCaptor.getAllValues();
|
mExpansionListeners = mExpansionListenerCaptor.getAllValues();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateStatusBarExpansion(float expansion, boolean expanded) {
|
private void updateStatusBarExpansion(float fraction, boolean expanded) {
|
||||||
for (StatusBar.ExpansionChangedListener listener : mExpansionListeners) {
|
for (PanelExpansionListener listener : mExpansionListeners) {
|
||||||
listener.onExpansionChanged(expansion, expanded);
|
listener.onPanelExpansionChanged(fraction, expanded, /* tracking= */ false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -53,25 +53,6 @@ class PhoneStatusBarViewTest : SysuiTestCase() {
|
|||||||
view.setBar(statusBar)
|
view.setBar(statusBar)
|
||||||
}
|
}
|
||||||
|
|
||||||
@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
|
@Test
|
||||||
fun panelStateChanged_toStateOpening_listenerNotified() {
|
fun panelStateChanged_toStateOpening_listenerNotified() {
|
||||||
val listener = TestStateChangedListener()
|
val listener = TestStateChangedListener()
|
||||||
@@ -145,17 +126,6 @@ class PhoneStatusBarViewTest : SysuiTestCase() {
|
|||||||
// No assert needed, just testing no crash
|
// 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 {
|
private class TestStateChangedListener : PanelBar.PanelStateChangeListener {
|
||||||
var state: Int = 0
|
var state: Int = 0
|
||||||
override fun onStateChanged(state: Int) {
|
override fun onStateChanged(state: Int) {
|
||||||
|
|||||||
Reference in New Issue
Block a user