Merge "Pulls all dependencies into constructor of StatusBarNotificationActivityStarter"
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 7e330e9..c4b41d4 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
@@ -122,6 +122,7 @@
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.statusbar.IStatusBarService;
import com.android.internal.statusbar.StatusBarIcon;
+import com.android.internal.widget.LockPatternUtils;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.keyguard.KeyguardUpdateMonitorCallback;
import com.android.keyguard.ViewMediatorCallback;
@@ -215,7 +216,6 @@
import com.android.systemui.statusbar.policy.ExtensionController;
import com.android.systemui.statusbar.policy.HeadsUpManager;
import com.android.systemui.statusbar.policy.KeyguardMonitor;
-import com.android.systemui.statusbar.policy.KeyguardMonitorImpl;
import com.android.systemui.statusbar.policy.KeyguardUserSwitcher;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener;
@@ -533,8 +533,7 @@
private KeyguardUserSwitcher mKeyguardUserSwitcher;
protected UserSwitcherController mUserSwitcherController;
private NetworkController mNetworkController;
- private KeyguardMonitorImpl mKeyguardMonitor
- = (KeyguardMonitorImpl) Dependency.get(KeyguardMonitor.class);
+ private KeyguardMonitor mKeyguardMonitor = Dependency.get(KeyguardMonitor.class);
private BatteryController mBatteryController;
protected boolean mPanelExpanded;
private UiModeManager mUiModeManager;
@@ -1057,8 +1056,21 @@
mNotificationShelf.setOnActivatedListener(mPresenter);
mRemoteInputManager.getController().addCallback(mStatusBarWindowController);
- mNotificationActivityStarter = new StatusBarNotificationActivityStarter(
- mContext, mNotificationPanel, mPresenter, mHeadsUpManager, mActivityLaunchAnimator);
+ final StatusBarRemoteInputCallback mStatusBarRemoteInputCallback =
+ (StatusBarRemoteInputCallback) Dependency.get(
+ NotificationRemoteInputManager.Callback.class);
+ final ShadeController shadeController = Dependency.get(ShadeController.class);
+ final ActivityStarter activityStarter = Dependency.get(ActivityStarter.class);
+
+ mNotificationActivityStarter = new StatusBarNotificationActivityStarter(mContext,
+ mCommandQueue, mAssistManager, mNotificationPanel, mPresenter, mEntryManager,
+ mHeadsUpManager, activityStarter, mActivityLaunchAnimator,
+ mBarService, mStatusBarStateController, mKeyguardManager, mDreamManager,
+ mRemoteInputManager, mStatusBarRemoteInputCallback, mGroupManager,
+ mLockscreenUserManager, shadeController, mKeyguardMonitor,
+ mNotificationInterruptionStateProvider, mMetricsLogger,
+ new LockPatternUtils(mContext));
+
mGutsManager.setNotificationActivityStarter(mNotificationActivityStarter);
mEntryManager.setRowBinder(rowBinder);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarter.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarter.java
index 74c0018..7e45507 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarter.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarter.java
@@ -17,7 +17,6 @@
package com.android.systemui.statusbar.phone;
import static com.android.systemui.Dependency.MAIN_HANDLER;
-import static com.android.systemui.SysUiServiceProvider.getComponent;
import static com.android.systemui.statusbar.phone.StatusBar.getActivityOptions;
import android.app.ActivityManager;
@@ -32,9 +31,7 @@
import android.os.AsyncTask;
import android.os.Looper;
import android.os.RemoteException;
-import android.os.ServiceManager;
import android.os.UserHandle;
-import android.service.dreams.DreamService;
import android.service.dreams.IDreamManager;
import android.service.notification.StatusBarNotification;
import android.text.TextUtils;
@@ -78,27 +75,18 @@
private static final String TAG = "NotificationClickHandler";
protected static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
- private final AssistManager mAssistManager = Dependency.get(AssistManager.class);
- private final NotificationGroupManager mGroupManager =
- Dependency.get(NotificationGroupManager.class);
- private final StatusBarRemoteInputCallback mStatusBarRemoteInputCallback =
- (StatusBarRemoteInputCallback) Dependency.get(
- NotificationRemoteInputManager.Callback.class);
- private final NotificationRemoteInputManager mRemoteInputManager =
- Dependency.get(NotificationRemoteInputManager.class);
- private final NotificationLockscreenUserManager mLockscreenUserManager =
- Dependency.get(NotificationLockscreenUserManager.class);
- private final ShadeController mShadeController = Dependency.get(ShadeController.class);
- private final KeyguardMonitor mKeyguardMonitor = Dependency.get(KeyguardMonitor.class);
- private final ActivityStarter mActivityStarter = Dependency.get(ActivityStarter.class);
- private final NotificationEntryManager mEntryManager =
- Dependency.get(NotificationEntryManager.class);
- private final StatusBarStateController mStatusBarStateController =
- Dependency.get(StatusBarStateController.class);
- private final NotificationInterruptionStateProvider mNotificationInterruptionStateProvider =
- Dependency.get(NotificationInterruptionStateProvider.class);
- private final MetricsLogger mMetricsLogger = Dependency.get(MetricsLogger.class);
-
+ private final AssistManager mAssistManager;
+ private final NotificationGroupManager mGroupManager;
+ private final StatusBarRemoteInputCallback mStatusBarRemoteInputCallback;
+ private final NotificationRemoteInputManager mRemoteInputManager;
+ private final NotificationLockscreenUserManager mLockscreenUserManager;
+ private final ShadeController mShadeController;
+ private final KeyguardMonitor mKeyguardMonitor;
+ private final ActivityStarter mActivityStarter;
+ private final NotificationEntryManager mEntryManager;
+ private final StatusBarStateController mStatusBarStateController;
+ private final NotificationInterruptionStateProvider mNotificationInterruptionStateProvider;
+ private final MetricsLogger mMetricsLogger;
private final Context mContext;
private final NotificationPanelView mNotificationPanel;
private final NotificationPresenter mPresenter;
@@ -113,29 +101,55 @@
private boolean mIsCollapsingToShowActivityOverLockscreen;
public StatusBarNotificationActivityStarter(Context context,
+ CommandQueue commandQueue,
+ AssistManager assistManager,
NotificationPanelView panel,
NotificationPresenter presenter,
+ NotificationEntryManager entryManager,
HeadsUpManagerPhone headsUpManager,
- ActivityLaunchAnimator activityLaunchAnimator) {
+ ActivityStarter activityStarter,
+ ActivityLaunchAnimator activityLaunchAnimator,
+ IStatusBarService statusBarService,
+ StatusBarStateController statusBarStateController,
+ KeyguardManager keyguardManager,
+ IDreamManager dreamManager,
+ NotificationRemoteInputManager remoteInputManager,
+ StatusBarRemoteInputCallback remoteInputCallback,
+ NotificationGroupManager groupManager,
+ NotificationLockscreenUserManager lockscreenUserManager,
+ ShadeController shadeController,
+ KeyguardMonitor keyguardMonitor,
+ NotificationInterruptionStateProvider notificationInterruptionStateProvider,
+ MetricsLogger metricsLogger,
+ LockPatternUtils lockPatternUtils) {
mContext = context;
mNotificationPanel = panel;
mPresenter = presenter;
- mLockPatternUtils = new LockPatternUtils(context);
mHeadsUpManager = headsUpManager;
- mKeyguardManager = context.getSystemService(KeyguardManager.class);
mActivityLaunchAnimator = activityLaunchAnimator;
- mBarService = IStatusBarService.Stub.asInterface(
- ServiceManager.getService(Context.STATUS_BAR_SERVICE));
- mCommandQueue = getComponent(context, CommandQueue.class);
- mDreamManager = IDreamManager.Stub.asInterface(
- ServiceManager.checkService(DreamService.DREAM_SERVICE));
-
+ mBarService = statusBarService;
+ mCommandQueue = commandQueue;
+ mKeyguardManager = keyguardManager;
+ mDreamManager = dreamManager;
+ mRemoteInputManager = remoteInputManager;
+ mLockscreenUserManager = lockscreenUserManager;
+ mShadeController = shadeController;
+ mKeyguardMonitor = keyguardMonitor;
+ mActivityStarter = activityStarter;
+ mEntryManager = entryManager;
+ mStatusBarStateController = statusBarStateController;
+ mNotificationInterruptionStateProvider = notificationInterruptionStateProvider;
+ mMetricsLogger = metricsLogger;
+ mAssistManager = assistManager;
+ mGroupManager = groupManager;
+ mLockPatternUtils = lockPatternUtils;
mEntryManager.addNotificationEntryListener(new NotificationEntryListener() {
@Override
public void onPendingEntryAdded(NotificationEntry entry) {
handleFullScreenIntent(entry);
}
});
+ mStatusBarRemoteInputCallback = remoteInputCallback;
}
/**
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardMonitor.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardMonitor.java
index aba2377..01498e6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardMonitor.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardMonitor.java
@@ -29,6 +29,25 @@
long getKeyguardFadingAwayDelay();
long calculateGoingToFullShadeDelay();
+ default boolean isDeviceInteractive() {
+ return false;
+ }
+
+ default void setLaunchTransitionFadingAway(boolean b) {
+ }
+
+ default void notifyKeyguardGoingAway(boolean b) {
+ }
+
+ default void notifyKeyguardFadingAway(long delay, long fadeoutDuration) {
+ }
+
+ default void notifyKeyguardDoneFading() {
+ }
+
+ default void notifyKeyguardState(boolean showing, boolean methodSecure, boolean occluded) {
+ }
+
interface Callback {
void onKeyguardShowingChanged();
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java
index 1ded6c9..cb5612d 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java
@@ -75,7 +75,6 @@
import com.android.systemui.SysuiTestCase;
import com.android.systemui.UiOffloadThread;
import com.android.systemui.appops.AppOpsController;
-import com.android.systemui.appops.AppOpsControllerImpl;
import com.android.systemui.assist.AssistManager;
import com.android.systemui.bubbles.BubbleController;
import com.android.systemui.classifier.FalsingManager;
@@ -112,7 +111,6 @@
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.KeyguardMonitor;
-import com.android.systemui.statusbar.policy.KeyguardMonitorImpl;
import com.android.systemui.statusbar.policy.UserSwitcherController;
import org.junit.Before;
@@ -161,7 +159,6 @@
@Mock private NotificationPresenter mNotificationPresenter;
@Mock
private NotificationEntryListener mEntryListener;
- @Mock private BubbleController mBubbleController;
@Mock
private NotificationFilter mNotificationFilter;
@Mock
@@ -192,8 +189,8 @@
mViewHierarchyManager);
mDependency.injectTestDependency(VisualStabilityManager.class, mVisualStabilityManager);
mDependency.injectTestDependency(NotificationListener.class, mNotificationListener);
- mDependency.injectTestDependency(KeyguardMonitor.class, mock(KeyguardMonitorImpl.class));
- mDependency.injectTestDependency(AppOpsController.class, mock(AppOpsControllerImpl.class));
+ mDependency.injectTestDependency(KeyguardMonitor.class, mock(KeyguardMonitor.class));
+ mDependency.injectTestDependency(AppOpsController.class, mock(AppOpsController.class));
mDependency.injectTestDependency(StatusBarStateController.class, mStatusBarStateController);
mDependency.injectTestDependency(DeviceProvisionedController.class,
mDeviceProvisionedController);