Remove many (most) of the calls to Dependency.get() from StatusBar.
Bug: 141882822 Test: atest SystemUITests Change-Id: I87c1c01e2af445e910fe971f2588cc45a61962ba
This commit is contained in:
@@ -30,6 +30,7 @@ import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.statusbar.NotificationRemoteInputManager;
|
||||
import com.android.systemui.statusbar.StatusBarStateControllerImpl;
|
||||
import com.android.systemui.statusbar.SysuiStatusBarStateController;
|
||||
import com.android.systemui.statusbar.phone.DarkIconDispatcherImpl;
|
||||
import com.android.systemui.statusbar.phone.ManagedProfileController;
|
||||
import com.android.systemui.statusbar.phone.ManagedProfileControllerImpl;
|
||||
@@ -234,4 +235,10 @@ public abstract class DependencyBinder {
|
||||
*/
|
||||
@Binds
|
||||
public abstract FalsingManager provideFalsingmanager(FalsingManagerProxy falsingManagerImpl);
|
||||
|
||||
/**
|
||||
*/
|
||||
@Binds
|
||||
public abstract SysuiStatusBarStateController providesSysuiStatusBarStateController(
|
||||
StatusBarStateControllerImpl statusBarStateControllerImpl);
|
||||
}
|
||||
|
||||
@@ -347,10 +347,10 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
private BrightnessMirrorController mBrightnessMirrorController;
|
||||
private boolean mBrightnessMirrorVisible;
|
||||
protected BiometricUnlockController mBiometricUnlockController;
|
||||
private LightBarController mLightBarController;
|
||||
@Inject LightBarController mLightBarController;
|
||||
protected LockscreenWallpaper mLockscreenWallpaper;
|
||||
@VisibleForTesting
|
||||
protected AutoHideController mAutoHideController;
|
||||
@Inject AutoHideController mAutoHideController;
|
||||
|
||||
private int mNaturalBarHeight = -1;
|
||||
|
||||
@@ -361,7 +361,7 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
private int mStatusBarWindowState = WINDOW_STATE_SHOWING;
|
||||
protected StatusBarWindowController mStatusBarWindowController;
|
||||
@VisibleForTesting
|
||||
KeyguardUpdateMonitor mKeyguardUpdateMonitor;
|
||||
@Inject KeyguardUpdateMonitor mKeyguardUpdateMonitor;
|
||||
@VisibleForTesting
|
||||
DozeServiceHost mDozeServiceHost = new DozeServiceHost();
|
||||
private boolean mWakeUpComingFromTouch;
|
||||
@@ -369,7 +369,7 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
|
||||
private final Object mQueueLock = new Object();
|
||||
|
||||
protected StatusBarIconController mIconController;
|
||||
@Inject StatusBarIconController mIconController;
|
||||
@Inject
|
||||
DozeLog mDozeLog;
|
||||
@Inject
|
||||
@@ -400,7 +400,7 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
protected FalsingManager mFalsingManager;
|
||||
|
||||
@VisibleForTesting
|
||||
BroadcastDispatcher mBroadcastDispatcher;
|
||||
@Inject BroadcastDispatcher mBroadcastDispatcher;
|
||||
|
||||
// expanded notifications
|
||||
protected NotificationPanelView mNotificationPanel; // the sliding/resizing panel within the notification window
|
||||
@@ -413,8 +413,7 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
// RemoteInputView to be activated after unlock
|
||||
private View mPendingRemoteInputView;
|
||||
|
||||
private RemoteInputQuickSettingsDisabler mRemoteInputQuickSettingsDisabler =
|
||||
Dependency.get(RemoteInputQuickSettingsDisabler.class);
|
||||
@Inject RemoteInputQuickSettingsDisabler mRemoteInputQuickSettingsDisabler;
|
||||
|
||||
private View mReportRejectedTouch;
|
||||
|
||||
@@ -423,18 +422,17 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
private final int[] mAbsPos = new int[2];
|
||||
private final ArrayList<Runnable> mPostCollapseRunnables = new ArrayList<>();
|
||||
|
||||
private NotificationGutsManager mGutsManager;
|
||||
protected NotificationLogger mNotificationLogger;
|
||||
protected NotificationEntryManager mEntryManager;
|
||||
@Inject NotificationGutsManager mGutsManager;
|
||||
@Inject NotificationLogger mNotificationLogger;
|
||||
@Inject NotificationEntryManager mEntryManager;
|
||||
private NotificationListController mNotificationListController;
|
||||
private NotificationInterruptionStateProvider mNotificationInterruptionStateProvider;
|
||||
protected NotificationViewHierarchyManager mViewHierarchyManager;
|
||||
protected ForegroundServiceController mForegroundServiceController;
|
||||
protected AppOpsController mAppOpsController;
|
||||
protected KeyguardViewMediator mKeyguardViewMediator;
|
||||
private ZenModeController mZenController;
|
||||
private final NotificationAlertingManager mNotificationAlertingManager =
|
||||
Dependency.get(NotificationAlertingManager.class);
|
||||
@Inject NotificationInterruptionStateProvider mNotificationInterruptionStateProvider;
|
||||
@Inject NotificationViewHierarchyManager mViewHierarchyManager;
|
||||
@Inject ForegroundServiceController mForegroundServiceController;
|
||||
@Inject AppOpsController mAppOpsController;
|
||||
@Inject KeyguardViewMediator mKeyguardViewMediator;
|
||||
@Inject ZenModeController mZenController;
|
||||
@Inject NotificationAlertingManager mNotificationAlertingManager;
|
||||
|
||||
// for disabling the status bar
|
||||
private int mDisabled1 = 0;
|
||||
@@ -445,7 +443,7 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
private final Rect mLastFullscreenStackBounds = new Rect();
|
||||
private final Rect mLastDockedStackBounds = new Rect();
|
||||
|
||||
private final DisplayMetrics mDisplayMetrics = Dependency.get(DisplayMetrics.class);
|
||||
@Inject DisplayMetrics mDisplayMetrics;
|
||||
|
||||
// XXX: gesture research
|
||||
private final GestureRecorder mGestureRec = DEBUG_GESTURES
|
||||
@@ -454,7 +452,7 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
|
||||
private ScreenPinningRequest mScreenPinningRequest;
|
||||
|
||||
private final MetricsLogger mMetricsLogger = Dependency.get(MetricsLogger.class);
|
||||
@Inject MetricsLogger mMetricsLogger;
|
||||
|
||||
// ensure quick settings is disabled until the current user makes it through the setup wizard
|
||||
@VisibleForTesting
|
||||
@@ -491,14 +489,14 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
private ViewMediatorCallback mKeyguardViewMediatorCallback;
|
||||
protected ScrimController mScrimController;
|
||||
protected DozeScrimController mDozeScrimController;
|
||||
private final UiOffloadThread mUiOffloadThread = Dependency.get(UiOffloadThread.class);
|
||||
@Inject UiOffloadThread mUiOffloadThread;
|
||||
|
||||
protected boolean mDozing;
|
||||
private boolean mDozingRequested;
|
||||
|
||||
private NotificationMediaManager mMediaManager;
|
||||
protected NotificationLockscreenUserManager mLockscreenUserManager;
|
||||
protected NotificationRemoteInputManager mRemoteInputManager;
|
||||
@Inject NotificationMediaManager mMediaManager;
|
||||
@Inject NotificationLockscreenUserManager mLockscreenUserManager;
|
||||
@Inject NotificationRemoteInputManager mRemoteInputManager;
|
||||
private boolean mWallpaperSupported;
|
||||
|
||||
private final BroadcastReceiver mWallpaperChangedReceiver = new BroadcastReceiver() {
|
||||
@@ -569,18 +567,18 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
};
|
||||
|
||||
private KeyguardUserSwitcher mKeyguardUserSwitcher;
|
||||
protected UserSwitcherController mUserSwitcherController;
|
||||
private NetworkController mNetworkController;
|
||||
private BatteryController mBatteryController;
|
||||
@Inject UserSwitcherController mUserSwitcherController;
|
||||
@Inject NetworkController mNetworkController;
|
||||
@Inject BatteryController mBatteryController;
|
||||
protected boolean mPanelExpanded;
|
||||
private UiModeManager mUiModeManager;
|
||||
protected boolean mIsKeyguard;
|
||||
private LogMaker mStatusBarStateLog;
|
||||
protected NotificationIconAreaController mNotificationIconAreaController;
|
||||
@Nullable private View mAmbientIndicationContainer;
|
||||
private SysuiColorExtractor mColorExtractor;
|
||||
private ScreenLifecycle mScreenLifecycle;
|
||||
@VisibleForTesting WakefulnessLifecycle mWakefulnessLifecycle;
|
||||
@Inject SysuiColorExtractor mColorExtractor;
|
||||
@Inject ScreenLifecycle mScreenLifecycle;
|
||||
@Inject @VisibleForTesting WakefulnessLifecycle mWakefulnessLifecycle;
|
||||
|
||||
private final View.OnClickListener mGoToLockedShadeListener = v -> {
|
||||
if (mState == StatusBarState.KEYGUARD) {
|
||||
@@ -589,8 +587,7 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
}
|
||||
};
|
||||
private boolean mNoAnimationOnNextBarModeChange;
|
||||
private final SysuiStatusBarStateController mStatusBarStateController =
|
||||
(SysuiStatusBarStateController) Dependency.get(StatusBarStateController.class);
|
||||
@Inject SysuiStatusBarStateController mStatusBarStateController;
|
||||
|
||||
private final KeyguardUpdateMonitorCallback mUpdateCallback =
|
||||
new KeyguardUpdateMonitorCallback() {
|
||||
@@ -611,19 +608,18 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
|
||||
private HeadsUpAppearanceController mHeadsUpAppearanceController;
|
||||
private boolean mVibrateOnOpening;
|
||||
private VibratorHelper mVibratorHelper;
|
||||
@Inject VibratorHelper mVibratorHelper;
|
||||
private ActivityLaunchAnimator mActivityLaunchAnimator;
|
||||
protected StatusBarNotificationPresenter mPresenter;
|
||||
private NotificationActivityStarter mNotificationActivityStarter;
|
||||
private boolean mPulsing;
|
||||
protected BubbleController mBubbleController;
|
||||
@Inject BubbleController mBubbleController;
|
||||
private final BubbleController.BubbleExpandListener mBubbleExpandListener =
|
||||
(isExpanding, key) -> {
|
||||
mEntryManager.updateNotifications();
|
||||
updateScrimController();
|
||||
};
|
||||
private ActivityIntentHelper mActivityIntentHelper;
|
||||
private ShadeController mShadeController;
|
||||
|
||||
@Override
|
||||
public void onActiveStateChanged(int code, int uid, String packageName, boolean active) {
|
||||
@@ -641,41 +637,13 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
|
||||
@Override
|
||||
public void start() {
|
||||
mGroupManager = Dependency.get(NotificationGroupManager.class);
|
||||
mGroupAlertTransferHelper = Dependency.get(NotificationGroupAlertTransferHelper.class);
|
||||
mVisualStabilityManager = Dependency.get(VisualStabilityManager.class);
|
||||
mNotificationLogger = Dependency.get(NotificationLogger.class);
|
||||
mRemoteInputManager = Dependency.get(NotificationRemoteInputManager.class);
|
||||
mNotificationListener = Dependency.get(NotificationListener.class);
|
||||
mNotificationListener.registerAsSystemService();
|
||||
mNetworkController = Dependency.get(NetworkController.class);
|
||||
mUserSwitcherController = Dependency.get(UserSwitcherController.class);
|
||||
mScreenLifecycle = Dependency.get(ScreenLifecycle.class);
|
||||
mScreenLifecycle.addObserver(mScreenObserver);
|
||||
mWakefulnessLifecycle = Dependency.get(WakefulnessLifecycle.class);
|
||||
mWakefulnessLifecycle.addObserver(mWakefulnessObserver);
|
||||
mBatteryController = Dependency.get(BatteryController.class);
|
||||
mAssistManager = Dependency.get(AssistManager.class);
|
||||
mUiModeManager = mContext.getSystemService(UiModeManager.class);
|
||||
mLockscreenUserManager = Dependency.get(NotificationLockscreenUserManager.class);
|
||||
mGutsManager = Dependency.get(NotificationGutsManager.class);
|
||||
mMediaManager = Dependency.get(NotificationMediaManager.class);
|
||||
mEntryManager = Dependency.get(NotificationEntryManager.class);
|
||||
mBypassHeadsUpNotifier.setUp(mEntryManager);
|
||||
mNotificationInterruptionStateProvider =
|
||||
Dependency.get(NotificationInterruptionStateProvider.class);
|
||||
mViewHierarchyManager = Dependency.get(NotificationViewHierarchyManager.class);
|
||||
mForegroundServiceController = Dependency.get(ForegroundServiceController.class);
|
||||
mAppOpsController = Dependency.get(AppOpsController.class);
|
||||
mZenController = Dependency.get(ZenModeController.class);
|
||||
mKeyguardViewMediator = getComponent(KeyguardViewMediator.class);
|
||||
mColorExtractor = Dependency.get(SysuiColorExtractor.class);
|
||||
mDeviceProvisionedController = Dependency.get(DeviceProvisionedController.class);
|
||||
mNavigationBarController = Dependency.get(NavigationBarController.class);
|
||||
mBubbleController = Dependency.get(BubbleController.class);
|
||||
mBubbleController.setExpandListener(mBubbleExpandListener);
|
||||
mActivityIntentHelper = new ActivityIntentHelper(mContext);
|
||||
mBroadcastDispatcher = Dependency.get(BroadcastDispatcher.class);
|
||||
KeyguardSliceProvider sliceProvider = KeyguardSliceProvider.getAttachedInstance();
|
||||
if (sliceProvider != null) {
|
||||
sliceProvider.initDependencies(mMediaManager, mStatusBarStateController,
|
||||
@@ -698,7 +666,6 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
|
||||
mVibrateOnOpening = mContext.getResources().getBoolean(
|
||||
R.bool.config_vibrateOnIconAnimation);
|
||||
mVibratorHelper = Dependency.get(VibratorHelper.class);
|
||||
|
||||
DateTimeView.setReceiverHandler(Dependency.get(Dependency.TIME_TICK_HANDLER));
|
||||
putComponent(StatusBar.class, this);
|
||||
@@ -712,7 +679,6 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
mContext.getSystemService(Context.ACCESSIBILITY_SERVICE);
|
||||
|
||||
mPowerManager = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
|
||||
mKeyguardUpdateMonitor = Dependency.get(KeyguardUpdateMonitor.class);
|
||||
mKeyguardUpdateMonitor.setKeyguardBypassController(mKeyguardBypassController);
|
||||
mBarService = IStatusBarService.Stub.asInterface(
|
||||
ServiceManager.getService(Context.STATUS_BAR_SERVICE));
|
||||
@@ -901,7 +867,6 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
.replace(R.id.status_bar_container, new CollapsedStatusBarFragment(),
|
||||
CollapsedStatusBarFragment.TAG)
|
||||
.commit();
|
||||
mIconController = Dependency.get(StatusBarIconController.class);
|
||||
|
||||
mHeadsUpManager.setUp(mStatusBarWindow, mGroupManager, this, mVisualStabilityManager);
|
||||
Dependency.get(ConfigurationController.class).addCallback(mHeadsUpManager);
|
||||
@@ -947,11 +912,8 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
}
|
||||
});
|
||||
|
||||
mAutoHideController = Dependency.get(AutoHideController.class);
|
||||
mAutoHideController.setStatusBar(this);
|
||||
|
||||
mLightBarController = Dependency.get(LightBarController.class);
|
||||
|
||||
ScrimView scrimBehind = mStatusBarWindow.findViewById(R.id.scrim_behind);
|
||||
ScrimView scrimInFront = mStatusBarWindow.findViewById(R.id.scrim_in_front);
|
||||
ScrimView scrimForBubble = mStatusBarWindow.findViewById(R.id.scrim_for_bubble);
|
||||
@@ -1123,7 +1085,6 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
final StatusBarRemoteInputCallback mStatusBarRemoteInputCallback =
|
||||
(StatusBarRemoteInputCallback) Dependency.get(
|
||||
NotificationRemoteInputManager.Callback.class);
|
||||
mShadeController = Dependency.get(ShadeController.class);
|
||||
final ActivityStarter activityStarter = Dependency.get(ActivityStarter.class);
|
||||
|
||||
mNotificationActivityStarter = new StatusBarNotificationActivityStarter(mContext,
|
||||
@@ -1131,7 +1092,7 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
mHeadsUpManager, activityStarter, mActivityLaunchAnimator,
|
||||
mBarService, mStatusBarStateController, mKeyguardManager, mDreamManager,
|
||||
mRemoteInputManager, mStatusBarRemoteInputCallback, mGroupManager,
|
||||
mLockscreenUserManager, mShadeController, mKeyguardStateController,
|
||||
mLockscreenUserManager, this, mKeyguardStateController,
|
||||
mNotificationInterruptionStateProvider, mMetricsLogger,
|
||||
new LockPatternUtils(mContext), Dependency.get(MAIN_HANDLER),
|
||||
Dependency.get(BG_HANDLER), mActivityIntentHelper, mBubbleController);
|
||||
@@ -1140,7 +1101,7 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
|
||||
mEntryManager.setRowBinder(rowBinder);
|
||||
rowBinder.setNotificationClicker(new NotificationClicker(
|
||||
this, Dependency.get(BubbleController.class), mNotificationActivityStarter));
|
||||
this, mBubbleController, mNotificationActivityStarter));
|
||||
|
||||
mGroupAlertTransferHelper.bind(mEntryManager, mGroupManager);
|
||||
mNotificationListController.bind();
|
||||
@@ -4227,12 +4188,11 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
// all notifications
|
||||
protected ViewGroup mStackScroller;
|
||||
|
||||
protected NotificationGroupManager mGroupManager;
|
||||
|
||||
protected NotificationGroupAlertTransferHelper mGroupAlertTransferHelper;
|
||||
@Inject NotificationGroupManager mGroupManager;
|
||||
@Inject NotificationGroupAlertTransferHelper mGroupAlertTransferHelper;
|
||||
|
||||
// handling reordering
|
||||
protected VisualStabilityManager mVisualStabilityManager;
|
||||
@Inject VisualStabilityManager mVisualStabilityManager;
|
||||
|
||||
protected AccessibilityManager mAccessibilityManager;
|
||||
|
||||
@@ -4248,10 +4208,9 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
protected StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
|
||||
|
||||
protected KeyguardManager mKeyguardManager;
|
||||
private DeviceProvisionedController mDeviceProvisionedController
|
||||
= Dependency.get(DeviceProvisionedController.class);
|
||||
@Inject DeviceProvisionedController mDeviceProvisionedController;
|
||||
|
||||
protected NavigationBarController mNavigationBarController;
|
||||
@Inject protected NavigationBarController mNavigationBarController;
|
||||
|
||||
// UI-specific methods
|
||||
|
||||
@@ -4267,7 +4226,7 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
protected NotificationShelf mNotificationShelf;
|
||||
protected EmptyShadeView mEmptyShadeView;
|
||||
|
||||
protected AssistManager mAssistManager;
|
||||
@Inject AssistManager mAssistManager;
|
||||
|
||||
public boolean isDeviceInteractive() {
|
||||
return mDeviceInteractive;
|
||||
@@ -4326,7 +4285,7 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
}
|
||||
}
|
||||
|
||||
protected NotificationListener mNotificationListener;
|
||||
@Inject NotificationListener mNotificationListener;
|
||||
|
||||
public void setNotificationSnoozed(StatusBarNotification sbn, SnoozeOption snoozeOption) {
|
||||
if (snoozeOption.getSnoozeCriterion() != null) {
|
||||
@@ -4462,8 +4421,7 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
executeActionDismissingKeyguard(() -> {
|
||||
try {
|
||||
intent.send(null, 0, null, null, null, null, getActivityOptions(
|
||||
mActivityLaunchAnimator.getLaunchAnimation(associatedView,
|
||||
mShadeController.isOccluded())));
|
||||
mActivityLaunchAnimator.getLaunchAnimation(associatedView, isOccluded())));
|
||||
} catch (PendingIntent.CanceledException e) {
|
||||
// the stack trace isn't very helpful here.
|
||||
// Just log the exception message.
|
||||
|
||||
@@ -80,7 +80,7 @@ import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
|
||||
@RunWith(AndroidTestingRunner.class)
|
||||
@RunWithLooper()
|
||||
@RunWithLooper(setAsMainLooper = true)
|
||||
@SmallTest
|
||||
public class NavigationBarFragmentTest extends SysuiBaseFragmentTest {
|
||||
private static final int EXTERNAL_DISPLAY_ID = 2;
|
||||
@@ -217,7 +217,7 @@ public class NavigationBarFragmentTest extends SysuiBaseFragmentTest {
|
||||
// Set IME window status for default NavBar.
|
||||
mCommandQueue.setImeWindowStatus(DEFAULT_DISPLAY, null, IME_VISIBLE,
|
||||
BACK_DISPOSITION_DEFAULT, true, false);
|
||||
Handler.getMain().runWithScissors(() -> { }, 500);
|
||||
processAllMessages();
|
||||
|
||||
// Verify IME window state will be updated in default NavBar & external NavBar state reset.
|
||||
assertEquals(NAVIGATION_HINT_BACK_ALT | NAVIGATION_HINT_IME_SHOWN,
|
||||
@@ -228,7 +228,7 @@ public class NavigationBarFragmentTest extends SysuiBaseFragmentTest {
|
||||
// Set IME window status for external NavBar.
|
||||
mCommandQueue.setImeWindowStatus(EXTERNAL_DISPLAY_ID, null,
|
||||
IME_VISIBLE, BACK_DISPOSITION_DEFAULT, true, false);
|
||||
Handler.getMain().runWithScissors(() -> { }, 500);
|
||||
processAllMessages();
|
||||
|
||||
// Verify IME window state will be updated in external NavBar & default NavBar state reset.
|
||||
assertEquals(NAVIGATION_HINT_BACK_ALT | NAVIGATION_HINT_IME_SHOWN,
|
||||
|
||||
@@ -59,6 +59,7 @@ import android.support.test.metricshelper.MetricsAsserts;
|
||||
import android.testing.AndroidTestingRunner;
|
||||
import android.testing.TestableLooper;
|
||||
import android.testing.TestableLooper.RunWithLooper;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.util.SparseArray;
|
||||
import android.view.ViewGroup.LayoutParams;
|
||||
|
||||
@@ -73,16 +74,19 @@ import com.android.systemui.Dependency;
|
||||
import com.android.systemui.ForegroundServiceController;
|
||||
import com.android.systemui.InitController;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.SystemUIFactory;
|
||||
import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.UiOffloadThread;
|
||||
import com.android.systemui.appops.AppOpsController;
|
||||
import com.android.systemui.assist.AssistManager;
|
||||
import com.android.systemui.broadcast.BroadcastDispatcher;
|
||||
import com.android.systemui.bubbles.BubbleController;
|
||||
import com.android.systemui.classifier.FalsingManagerFake;
|
||||
import com.android.systemui.colorextraction.SysuiColorExtractor;
|
||||
import com.android.systemui.doze.DozeEvent;
|
||||
import com.android.systemui.doze.DozeHost;
|
||||
import com.android.systemui.doze.DozeLog;
|
||||
import com.android.systemui.keyguard.KeyguardViewMediator;
|
||||
import com.android.systemui.keyguard.ScreenLifecycle;
|
||||
import com.android.systemui.keyguard.WakefulnessLifecycle;
|
||||
import com.android.systemui.plugins.ActivityStarter.OnDismissAction;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
@@ -98,14 +102,18 @@ import com.android.systemui.statusbar.NotificationPresenter;
|
||||
import com.android.systemui.statusbar.NotificationRemoteInputManager;
|
||||
import com.android.systemui.statusbar.NotificationShelf;
|
||||
import com.android.systemui.statusbar.NotificationViewHierarchyManager;
|
||||
import com.android.systemui.statusbar.PulseExpansionHandler;
|
||||
import com.android.systemui.statusbar.RemoteInputController;
|
||||
import com.android.systemui.statusbar.StatusBarState;
|
||||
import com.android.systemui.statusbar.StatusBarStateControllerImpl;
|
||||
import com.android.systemui.statusbar.SysuiStatusBarStateController;
|
||||
import com.android.systemui.statusbar.notification.BypassHeadsUpNotifier;
|
||||
import com.android.systemui.statusbar.notification.NotificationAlertingManager;
|
||||
import com.android.systemui.statusbar.notification.NotificationEntryListener;
|
||||
import com.android.systemui.statusbar.notification.NotificationEntryManager;
|
||||
import com.android.systemui.statusbar.notification.NotificationFilter;
|
||||
import com.android.systemui.statusbar.notification.NotificationInterruptionStateProvider;
|
||||
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator;
|
||||
import com.android.systemui.statusbar.notification.VisualStabilityManager;
|
||||
import com.android.systemui.statusbar.notification.collection.NotificationData;
|
||||
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
|
||||
@@ -116,6 +124,7 @@ import com.android.systemui.statusbar.notification.stack.NotificationStackScroll
|
||||
import com.android.systemui.statusbar.policy.BatteryController;
|
||||
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
|
||||
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
||||
import com.android.systemui.statusbar.policy.RemoteInputQuickSettingsDisabler;
|
||||
import com.android.systemui.statusbar.policy.UserSwitcherController;
|
||||
|
||||
import org.junit.Before;
|
||||
@@ -148,10 +157,7 @@ public class StatusBarTest extends SysuiTestCase {
|
||||
@Mock private ArrayList<NotificationEntry> mNotificationList;
|
||||
@Mock private BiometricUnlockController mBiometricUnlockController;
|
||||
@Mock private NotificationData mNotificationData;
|
||||
@Mock
|
||||
private NotificationInterruptionStateProvider.HeadsUpSuppressor mHeadsUpSuppressor;
|
||||
|
||||
// Mock dependencies:
|
||||
@Mock private NotificationInterruptionStateProvider.HeadsUpSuppressor mHeadsUpSuppressor;
|
||||
@Mock private NotificationViewHierarchyManager mViewHierarchyManager;
|
||||
@Mock private VisualStabilityManager mVisualStabilityManager;
|
||||
@Mock private NotificationListener mNotificationListener;
|
||||
@@ -163,51 +169,38 @@ public class StatusBarTest extends SysuiTestCase {
|
||||
@Mock private BatteryController mBatteryController;
|
||||
@Mock private DeviceProvisionedController mDeviceProvisionedController;
|
||||
@Mock private StatusBarNotificationPresenter mNotificationPresenter;
|
||||
@Mock
|
||||
private NotificationEntryListener mEntryListener;
|
||||
@Mock
|
||||
private NotificationFilter mNotificationFilter;
|
||||
@Mock
|
||||
private NotificationAlertingManager mNotificationAlertingManager;
|
||||
@Mock
|
||||
private NotificationLogger.ExpansionStateLogger mExpansionStateLogger;
|
||||
@Mock
|
||||
private KeyguardUpdateMonitor mKeyguardUpdateMonitor;
|
||||
@Mock
|
||||
private AmbientDisplayConfiguration mAmbientDisplayConfiguration;
|
||||
@Mock
|
||||
private StatusBarWindowView mStatusBarWindowView;
|
||||
@Mock
|
||||
private BroadcastDispatcher mBroadcastDispatcher;
|
||||
@Mock private NotificationEntryListener mEntryListener;
|
||||
@Mock private NotificationFilter mNotificationFilter;
|
||||
@Mock private NotificationAlertingManager mNotificationAlertingManager;
|
||||
@Mock private NotificationLogger.ExpansionStateLogger mExpansionStateLogger;
|
||||
@Mock private KeyguardUpdateMonitor mKeyguardUpdateMonitor;
|
||||
@Mock private AmbientDisplayConfiguration mAmbientDisplayConfiguration;
|
||||
@Mock private StatusBarWindowView mStatusBarWindowView;
|
||||
@Mock private BroadcastDispatcher mBroadcastDispatcher;
|
||||
@Mock private AssistManager mAssistManager;
|
||||
@Mock private NotificationGutsManager mNotificationGutsManager;
|
||||
@Mock private NotificationMediaManager mNotificationMediaManager;
|
||||
@Mock private ForegroundServiceController mForegroundServiceController;
|
||||
@Mock private AppOpsController mAppOpsController;
|
||||
@Mock private NavigationBarController mNavigationBarController;
|
||||
@Mock private BypassHeadsUpNotifier mBypassHeadsUpNotifier;
|
||||
@Mock private SysuiColorExtractor mColorExtractor;
|
||||
@Mock private DozeLog mDozeLog;
|
||||
@Mock private PulseExpansionHandler mPulseExpansionHandler;
|
||||
@Mock private RemoteInputQuickSettingsDisabler mRemoteInputQuickSettingsDisabler;
|
||||
@Mock private NotificationWakeUpCoordinator mNotificationWakeUpCoordinator;
|
||||
@Mock private KeyguardBypassController mKeyguardBypassController;
|
||||
|
||||
private TestableStatusBar mStatusBar;
|
||||
private FakeMetricsLogger mMetricsLogger;
|
||||
private PowerManager mPowerManager;
|
||||
private TestableNotificationEntryManager mEntryManager;
|
||||
private TestableNotificationInterruptionStateProvider mNotificationInterruptionStateProvider;
|
||||
private NotificationLogger mNotificationLogger;
|
||||
private CommandQueue mCommandQueue;
|
||||
|
||||
@Before
|
||||
public void setup() throws Exception {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mDependency.injectMockDependency(AssistManager.class);
|
||||
mDependency.injectMockDependency(NotificationGutsManager.class);
|
||||
mDependency.injectMockDependency(NotificationMediaManager.class);
|
||||
mDependency.injectMockDependency(ForegroundServiceController.class);
|
||||
mDependency.injectTestDependency(NotificationViewHierarchyManager.class,
|
||||
mViewHierarchyManager);
|
||||
mDependency.injectTestDependency(VisualStabilityManager.class, mVisualStabilityManager);
|
||||
mDependency.injectTestDependency(NotificationListener.class, mNotificationListener);
|
||||
mDependency.injectTestDependency(AppOpsController.class, mock(AppOpsController.class));
|
||||
mDependency.injectTestDependency(StatusBarStateController.class, mStatusBarStateController);
|
||||
mDependency.injectTestDependency(DeviceProvisionedController.class,
|
||||
mDeviceProvisionedController);
|
||||
mDependency.injectMockDependency(BubbleController.class);
|
||||
mDependency.injectTestDependency(NotificationFilter.class, mNotificationFilter);
|
||||
mDependency.injectTestDependency(NotificationAlertingManager.class,
|
||||
mNotificationAlertingManager);
|
||||
mDependency.injectTestDependency(BroadcastDispatcher.class, mBroadcastDispatcher);
|
||||
|
||||
IPowerManager powerManagerService = mock(IPowerManager.class);
|
||||
mPowerManager = new PowerManager(mContext, powerManagerService,
|
||||
@@ -217,21 +210,17 @@ public class StatusBarTest extends SysuiTestCase {
|
||||
new TestableNotificationInterruptionStateProvider(mContext, mPowerManager,
|
||||
mDreamManager, mAmbientDisplayConfiguration, mNotificationFilter,
|
||||
mStatusBarStateController, mBatteryController);
|
||||
mDependency.injectTestDependency(NotificationInterruptionStateProvider.class,
|
||||
mNotificationInterruptionStateProvider);
|
||||
mDependency.injectMockDependency(NavigationBarController.class);
|
||||
|
||||
mContext.addMockSystemService(TrustManager.class, mock(TrustManager.class));
|
||||
mContext.addMockSystemService(FingerprintManager.class, mock(FingerprintManager.class));
|
||||
|
||||
mMetricsLogger = new FakeMetricsLogger();
|
||||
mDependency.injectTestDependency(MetricsLogger.class, mMetricsLogger);
|
||||
mEntryManager = new TestableNotificationEntryManager(mContext);
|
||||
mNotificationLogger = new NotificationLogger(mNotificationListener,
|
||||
Dependency.get(UiOffloadThread.class), mEntryManager, mStatusBarStateController,
|
||||
TestableNotificationEntryManager entryManager = new TestableNotificationEntryManager(
|
||||
mContext);
|
||||
NotificationLogger notificationLogger = new NotificationLogger(mNotificationListener,
|
||||
Dependency.get(UiOffloadThread.class), entryManager, mStatusBarStateController,
|
||||
mExpansionStateLogger);
|
||||
mNotificationLogger.setVisibilityReporter(mock(Runnable.class));
|
||||
mDependency.injectTestDependency(NotificationLogger.class, mNotificationLogger);
|
||||
notificationLogger.setVisibilityReporter(mock(Runnable.class));
|
||||
|
||||
mCommandQueue = mock(CommandQueue.class);
|
||||
when(mCommandQueue.asBinder()).thenReturn(new Binder());
|
||||
@@ -260,32 +249,71 @@ public class StatusBarTest extends SysuiTestCase {
|
||||
mHeadsUpManager, mHeadsUpSuppressor);
|
||||
|
||||
when(mRemoteInputManager.getController()).thenReturn(mRemoteInputController);
|
||||
mStatusBar = new TestableStatusBar(mStatusBarKeyguardViewManager,
|
||||
mKeyguardIndicationController, mStackScroller,
|
||||
mPowerManager, mNotificationPanelView, mBarService, mNotificationListener,
|
||||
mNotificationLogger, mVisualStabilityManager, mViewHierarchyManager,
|
||||
mEntryManager, mScrimController, mBiometricUnlockController,
|
||||
mKeyguardViewMediator, mRemoteInputManager, mock(NotificationGroupManager.class),
|
||||
mock(NotificationGroupAlertTransferHelper.class), mock(FalsingManager.class),
|
||||
mock(StatusBarWindowController.class), mock(NotificationIconAreaController.class),
|
||||
mDozeScrimController, mock(NotificationShelf.class),
|
||||
mLockscreenUserManager, mCommandQueue, mNotificationPresenter,
|
||||
mock(BubbleController.class), mock(NavigationBarController.class),
|
||||
mock(AutoHideController.class), mKeyguardUpdateMonitor, mStatusBarWindowView,
|
||||
mBroadcastDispatcher);
|
||||
mStatusBar = new TestableStatusBar(
|
||||
mStatusBarKeyguardViewManager,
|
||||
mKeyguardIndicationController,
|
||||
mStackScroller,
|
||||
mPowerManager,
|
||||
mNotificationPanelView,
|
||||
mBarService,
|
||||
mNotificationListener,
|
||||
notificationLogger,
|
||||
mVisualStabilityManager,
|
||||
mViewHierarchyManager,
|
||||
entryManager,
|
||||
mScrimController,
|
||||
mBiometricUnlockController,
|
||||
mKeyguardViewMediator,
|
||||
mRemoteInputManager,
|
||||
mock(NotificationGroupManager.class),
|
||||
mock(NotificationGroupAlertTransferHelper.class),
|
||||
new FalsingManagerFake(),
|
||||
mock(StatusBarWindowController.class),
|
||||
mock(NotificationIconAreaController.class),
|
||||
mDozeScrimController,
|
||||
mock(NotificationShelf.class),
|
||||
mLockscreenUserManager,
|
||||
mCommandQueue,
|
||||
mNotificationPresenter,
|
||||
mock(BubbleController.class),
|
||||
mNavigationBarController,
|
||||
mock(AutoHideController.class),
|
||||
mKeyguardUpdateMonitor,
|
||||
mStatusBarWindowView,
|
||||
mBroadcastDispatcher,
|
||||
mAssistManager,
|
||||
mNotificationGutsManager,
|
||||
mNotificationMediaManager,
|
||||
mForegroundServiceController,
|
||||
mAppOpsController,
|
||||
mStatusBarStateController,
|
||||
mDeviceProvisionedController,
|
||||
mNotificationAlertingManager,
|
||||
mNotificationInterruptionStateProvider,
|
||||
mMetricsLogger,
|
||||
mHeadsUpManager,
|
||||
mKeyguardStateController,
|
||||
new ScreenLifecycle(),
|
||||
mBypassHeadsUpNotifier,
|
||||
mColorExtractor,
|
||||
new DisplayMetrics(),
|
||||
Dependency.get(UiOffloadThread.class),
|
||||
mDozeLog,
|
||||
mPulseExpansionHandler,
|
||||
new RemoteInputQuickSettingsDisabler(
|
||||
mContext,
|
||||
new ConfigurationControllerImpl(mContext)
|
||||
),
|
||||
mNotificationWakeUpCoordinator,
|
||||
mKeyguardBypassController);
|
||||
mStatusBar.mContext = mContext;
|
||||
mStatusBar.mComponents = mContext.getComponents();
|
||||
SystemUIFactory.getInstance().getRootComponent()
|
||||
.getStatusBarInjector()
|
||||
.createStatusBar(mStatusBar);
|
||||
mStatusBar.mKeyguardStateController = mKeyguardStateController;
|
||||
mStatusBar.setHeadsUpManager(mHeadsUpManager);
|
||||
mStatusBar.putComponent(StatusBar.class, mStatusBar);
|
||||
Dependency.get(InitController.class).executePostInitTasks();
|
||||
mEntryManager.setUpForTest(mock(NotificationPresenter.class), mStackScroller,
|
||||
entryManager.setUpForTest(mock(NotificationPresenter.class), mStackScroller,
|
||||
mHeadsUpManager, mNotificationData);
|
||||
mEntryManager.addNotificationEntryListener(mEntryListener);
|
||||
mNotificationLogger.setUpWithContainer(mStackScroller);
|
||||
entryManager.addNotificationEntryListener(mEntryListener);
|
||||
notificationLogger.setUpWithContainer(mStackScroller);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -821,7 +849,28 @@ public class StatusBarTest extends SysuiTestCase {
|
||||
AutoHideController autoHideController,
|
||||
KeyguardUpdateMonitor keyguardUpdateMonitor,
|
||||
StatusBarWindowView statusBarWindow,
|
||||
BroadcastDispatcher broadcastDispatcher) {
|
||||
BroadcastDispatcher broadcastDispatcher,
|
||||
AssistManager assistManager,
|
||||
NotificationGutsManager notificationGutsManager,
|
||||
NotificationMediaManager notificationMediaManager,
|
||||
ForegroundServiceController foregroundServiceController,
|
||||
AppOpsController appOpsController,
|
||||
SysuiStatusBarStateController statusBarStateController,
|
||||
DeviceProvisionedController deviceProvisionedController,
|
||||
NotificationAlertingManager notificationAlertingManager,
|
||||
NotificationInterruptionStateProvider notificationInterruptionStateProvider,
|
||||
MetricsLogger metricsLogger,
|
||||
HeadsUpManagerPhone headsUpManager,
|
||||
KeyguardStateController keyguardStateController,
|
||||
ScreenLifecycle screenLifecycle,
|
||||
BypassHeadsUpNotifier bypassHeadsUpNotifier,
|
||||
SysuiColorExtractor colorExtractor, DisplayMetrics displayMetrics,
|
||||
UiOffloadThread uiOffloadThread,
|
||||
DozeLog dozeLog,
|
||||
PulseExpansionHandler pulseExpansionHandler,
|
||||
RemoteInputQuickSettingsDisabler remoteInputQuickSettingsDisabler,
|
||||
NotificationWakeUpCoordinator notificationWakeUpCoordinator,
|
||||
KeyguardBypassController keyguardBypassController) {
|
||||
mStatusBarKeyguardViewManager = man;
|
||||
mKeyguardIndicationController = key;
|
||||
mStackScroller = stack;
|
||||
@@ -856,6 +905,28 @@ public class StatusBarTest extends SysuiTestCase {
|
||||
mStatusBarWindow = statusBarWindow;
|
||||
mDozeServiceHost.mWakeLockScreenPerformsAuth = false;
|
||||
mBroadcastDispatcher = broadcastDispatcher;
|
||||
mAssistManager = assistManager;
|
||||
mGutsManager = notificationGutsManager;
|
||||
mMediaManager = notificationMediaManager;
|
||||
mForegroundServiceController = foregroundServiceController;
|
||||
mAppOpsController = appOpsController;
|
||||
mStatusBarStateController = statusBarStateController;
|
||||
mDeviceProvisionedController = deviceProvisionedController;
|
||||
mNotificationAlertingManager = notificationAlertingManager;
|
||||
mNotificationInterruptionStateProvider = notificationInterruptionStateProvider;
|
||||
mMetricsLogger = metricsLogger;
|
||||
mHeadsUpManager = headsUpManager;
|
||||
mKeyguardStateController = keyguardStateController;
|
||||
mScreenLifecycle = screenLifecycle;
|
||||
mBypassHeadsUpNotifier = bypassHeadsUpNotifier;
|
||||
mColorExtractor = colorExtractor;
|
||||
mDisplayMetrics = displayMetrics;
|
||||
mUiOffloadThread = uiOffloadThread;
|
||||
mDozeLog = dozeLog;
|
||||
mPulseExpansionHandler = pulseExpansionHandler;
|
||||
mRemoteInputQuickSettingsDisabler = remoteInputQuickSettingsDisabler;
|
||||
mWakeUpCoordinator = notificationWakeUpCoordinator;
|
||||
mKeyguardBypassController = keyguardBypassController;
|
||||
}
|
||||
|
||||
private WakefulnessLifecycle createAwakeWakefulnessLifecycle() {
|
||||
@@ -874,10 +945,6 @@ public class StatusBarTest extends SysuiTestCase {
|
||||
mState = state;
|
||||
}
|
||||
|
||||
void setHeadsUpManager(HeadsUpManagerPhone headsUpManager) {
|
||||
mHeadsUpManager = headsUpManager;
|
||||
}
|
||||
|
||||
public void setUserSetupForTest(boolean userSetup) {
|
||||
mUserSetup = userSetup;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user