summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Dave Mankoff <mankoff@google.com> 2019-11-19 22:14:41 -0500
committer Dave Mankoff <mankoff@google.com> 2019-11-19 22:14:41 -0500
commit5fe07f70477db24f65e43e1c5307c9e444eb3e90 (patch)
tree2ce65eb2629d586bde27d268e5968aaf0bbaaa1b
parentad51c4d85f6607e5a2d3ca30faee7b7d7abed2f2 (diff)
Remove Dependency.get(MAIN_HANDLER) from NotificationGutsManager
Bug: 144503618 Test: atest SystemUITests Change-Id: I6e3050127bb502b70f37e4307adb1d0c09a17646
-rw-r--r--packages/SystemUI/src/com/android/systemui/dagger/SystemServicesModule.java6
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationGutsManager.java12
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerTest.java5
3 files changed, 18 insertions, 5 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/dagger/SystemServicesModule.java b/packages/SystemUI/src/com/android/systemui/dagger/SystemServicesModule.java
index 0d4cc0170be9..add5f08d7d44 100644
--- a/packages/SystemUI/src/com/android/systemui/dagger/SystemServicesModule.java
+++ b/packages/SystemUI/src/com/android/systemui/dagger/SystemServicesModule.java
@@ -36,6 +36,7 @@ import android.service.dreams.IDreamManager;
import android.view.IWindowManager;
import android.view.WindowManager;
import android.view.WindowManagerGlobal;
+import android.view.accessibility.AccessibilityManager;
import com.android.internal.statusbar.IStatusBarService;
import com.android.internal.util.LatencyTracker;
@@ -54,6 +55,11 @@ import dagger.Provides;
*/
@Module
public class SystemServicesModule {
+ @Provides
+ @Singleton
+ static AccessibilityManager provideAccessibilityManager(Context context) {
+ return context.getSystemService(AccessibilityManager.class);
+ }
@Singleton
@Provides
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationGutsManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationGutsManager.java
index 77c0a460f3b6..5a5f9e901514 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationGutsManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationGutsManager.java
@@ -26,6 +26,7 @@ import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
+import android.os.Handler;
import android.os.ServiceManager;
import android.os.UserHandle;
import android.provider.Settings;
@@ -41,6 +42,7 @@ import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto;
import com.android.systemui.Dependency;
import com.android.systemui.Dumpable;
+import com.android.systemui.dagger.qualifiers.MainHandler;
import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.NotificationLifetimeExtender;
@@ -101,16 +103,18 @@ public class NotificationGutsManager implements Dumpable, NotificationLifetimeEx
protected String mKeyToRemoveOnGutsClosed;
private final Lazy<StatusBar> mStatusBarLazy;
+ private final Handler mMainHandler;
private Runnable mOpenRunnable;
@Inject
public NotificationGutsManager(Context context, VisualStabilityManager visualStabilityManager,
- Lazy<StatusBar> statusBarLazy) {
+ Lazy<StatusBar> statusBarLazy, @MainHandler Handler mainHandler,
+ AccessibilityManager accessibilityManager) {
mContext = context;
mVisualStabilityManager = visualStabilityManager;
mStatusBarLazy = statusBarLazy;
- mAccessibilityManager = (AccessibilityManager)
- mContext.getSystemService(Context.ACCESSIBILITY_SERVICE);
+ mMainHandler = mainHandler;
+ mAccessibilityManager = accessibilityManager;
}
public void setUpWithPresenter(NotificationPresenter presenter,
@@ -389,7 +393,7 @@ public class NotificationGutsManager implements Dumpable, NotificationLifetimeEx
.setLeaveOpenOnKeyguardHide(true);
}
- Runnable r = () -> Dependency.get(Dependency.MAIN_HANDLER).post(
+ Runnable r = () -> mMainHandler.post(
() -> openGutsInternal(view, x, y, menuItem));
mStatusBarLazy.get().executeRunnableDismissingKeyguard(
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerTest.java
index 749dae5c9c8a..4b3249d788d7 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerTest.java
@@ -56,6 +56,7 @@ import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper;
import android.util.ArraySet;
import android.view.View;
+import android.view.accessibility.AccessibilityManager;
import androidx.test.filters.SmallTest;
@@ -110,6 +111,7 @@ public class NotificationGutsManagerTest extends SysuiTestCase {
@Mock private OnSettingsClickListener mOnSettingsClickListener;
@Mock private DeviceProvisionedController mDeviceProvisionedController;
@Mock private StatusBar mStatusBar;
+ @Mock private AccessibilityManager mAccessibilityManager;
@Before
public void setUp() {
@@ -122,9 +124,10 @@ public class NotificationGutsManagerTest extends SysuiTestCase {
mDependency.injectMockDependency(NotificationLockscreenUserManager.class);
mHandler = Handler.createAsync(mTestableLooper.getLooper());
mHelper = new NotificationTestHelper(mContext, mDependency);
+ when(mAccessibilityManager.isTouchExplorationEnabled()).thenReturn(false);
mGutsManager = new NotificationGutsManager(mContext, mVisualStabilityManager,
- () -> mStatusBar);
+ () -> mStatusBar, mHandler, mAccessibilityManager);
mGutsManager.setUpWithPresenter(mPresenter, mStackScroller,
mCheckSaveListener, mOnSettingsClickListener);
mGutsManager.setNotificationActivityStarter(mNotificationActivityStarter);