diff options
| author | 2019-11-19 22:14:41 -0500 | |
|---|---|---|
| committer | 2019-11-19 22:14:41 -0500 | |
| commit | 5fe07f70477db24f65e43e1c5307c9e444eb3e90 (patch) | |
| tree | 2ce65eb2629d586bde27d268e5968aaf0bbaaa1b | |
| parent | ad51c4d85f6607e5a2d3ca30faee7b7d7abed2f2 (diff) | |
Remove Dependency.get(MAIN_HANDLER) from NotificationGutsManager
Bug: 144503618
Test: atest SystemUITests
Change-Id: I6e3050127bb502b70f37e4307adb1d0c09a17646
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); |