From 6ae2c47708b6a287e2a182ac180578e840011033 Mon Sep 17 00:00:00 2001 From: Michael Mikhail Date: Wed, 10 Aug 2022 18:37:55 +0000 Subject: [PATCH] Getting rid of Dependency.get Moving Dependency.get from HeadsUpManager class and its children classes by passing the AccessibiltyManagerWrapper and UIEventLogger object in the constructor. Bug: 218354106 Test: manual Change-Id: Ia43cab46e07fe6c37e4c3e9e4ecd59fabcc208b5 --- .../systemui/dagger/ReferenceSystemUIModule.java | 10 ++++++++-- .../statusbar/phone/HeadsUpManagerPhone.java | 8 ++++++-- .../statusbar/policy/HeadsUpManager.java | 12 +++++++----- .../android/systemui/tv/TvSystemUIModule.java | 10 ++++++++-- .../notification/row/NotificationTestHelper.java | 6 +++++- .../statusbar/phone/HeadsUpManagerPhoneTest.java | 15 ++++++++++++--- .../statusbar/policy/HeadsUpManagerTest.java | 16 +++++++++------- 7 files changed, 55 insertions(+), 22 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/dagger/ReferenceSystemUIModule.java b/packages/SystemUI/src/com/android/systemui/dagger/ReferenceSystemUIModule.java index 5dff4a50d5f8d..4157728d8360f 100644 --- a/packages/SystemUI/src/com/android/systemui/dagger/ReferenceSystemUIModule.java +++ b/packages/SystemUI/src/com/android/systemui/dagger/ReferenceSystemUIModule.java @@ -26,6 +26,7 @@ import android.os.PowerManager; import androidx.annotation.Nullable; +import com.android.internal.logging.UiEventLogger; import com.android.keyguard.KeyguardViewController; import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.dagger.qualifiers.Background; @@ -61,6 +62,7 @@ import com.android.systemui.statusbar.phone.HeadsUpManagerPhone; import com.android.systemui.statusbar.phone.KeyguardBypassController; import com.android.systemui.statusbar.phone.KeyguardEnvironmentImpl; import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; +import com.android.systemui.statusbar.policy.AccessibilityManagerWrapper; import com.android.systemui.statusbar.policy.BatteryController; import com.android.systemui.statusbar.policy.BatteryControllerImpl; import com.android.systemui.statusbar.policy.ConfigurationController; @@ -191,7 +193,9 @@ public abstract class ReferenceSystemUIModule { GroupMembershipManager groupManager, VisualStabilityProvider visualStabilityProvider, ConfigurationController configurationController, - @Main Handler handler) { + @Main Handler handler, + AccessibilityManagerWrapper accessibilityManagerWrapper, + UiEventLogger uiEventLogger) { return new HeadsUpManagerPhone( context, headsUpManagerLogger, @@ -200,7 +204,9 @@ public abstract class ReferenceSystemUIModule { groupManager, visualStabilityProvider, configurationController, - handler + handler, + accessibilityManagerWrapper, + uiEventLogger ); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhone.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhone.java index 4c9c75baf0e9c..103e4f6622a7e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhone.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhone.java @@ -27,6 +27,7 @@ import android.util.Pools; import androidx.collection.ArraySet; import com.android.internal.annotations.VisibleForTesting; +import com.android.internal.logging.UiEventLogger; import com.android.internal.policy.SystemBarUtils; import com.android.systemui.Dumpable; import com.android.systemui.R; @@ -39,6 +40,7 @@ import com.android.systemui.statusbar.notification.collection.provider.OnReorder import com.android.systemui.statusbar.notification.collection.provider.VisualStabilityProvider; import com.android.systemui.statusbar.notification.collection.render.GroupMembershipManager; import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; +import com.android.systemui.statusbar.policy.AccessibilityManagerWrapper; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.HeadsUpManager; import com.android.systemui.statusbar.policy.HeadsUpManagerLogger; @@ -107,8 +109,10 @@ public class HeadsUpManagerPhone extends HeadsUpManager implements Dumpable, GroupMembershipManager groupMembershipManager, VisualStabilityProvider visualStabilityProvider, ConfigurationController configurationController, - @Main Handler handler) { - super(context, logger, handler); + @Main Handler handler, + AccessibilityManagerWrapper accessibilityManagerWrapper, + UiEventLogger uiEventLogger) { + super(context, logger, handler, accessibilityManagerWrapper, uiEventLogger); Resources resources = mContext.getResources(); mExtensionTime = resources.getInteger(R.integer.ambient_notification_extension_time); statusBarStateController.addCallback(mStatusBarStateListener); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java index 699414c27059f..e4e59a03f1a17 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java @@ -32,7 +32,6 @@ import android.view.accessibility.AccessibilityManager; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.UiEvent; import com.android.internal.logging.UiEventLogger; -import com.android.systemui.Dependency; import com.android.systemui.EventLogTags; import com.android.systemui.R; import com.android.systemui.dagger.qualifiers.Main; @@ -81,12 +80,15 @@ public abstract class HeadsUpManager extends AlertingNotificationManager { } } - public HeadsUpManager(@NonNull final Context context, HeadsUpManagerLogger logger, - @Main Handler handler) { + public HeadsUpManager(@NonNull final Context context, + HeadsUpManagerLogger logger, + @Main Handler handler, + AccessibilityManagerWrapper accessibilityManagerWrapper, + UiEventLogger uiEventLogger) { super(logger, handler); mContext = context; - mAccessibilityMgr = Dependency.get(AccessibilityManagerWrapper.class); - mUiEventLogger = Dependency.get(UiEventLogger.class); + mAccessibilityMgr = accessibilityManagerWrapper; + mUiEventLogger = uiEventLogger; Resources resources = context.getResources(); mMinimumDisplayTime = resources.getInteger(R.integer.heads_up_notification_minimum_time); mAutoDismissNotificationDecay = resources.getInteger(R.integer.heads_up_notification_decay); diff --git a/packages/SystemUI/src/com/android/systemui/tv/TvSystemUIModule.java b/packages/SystemUI/src/com/android/systemui/tv/TvSystemUIModule.java index 0fe10cb339b4a..abffe5550415d 100644 --- a/packages/SystemUI/src/com/android/systemui/tv/TvSystemUIModule.java +++ b/packages/SystemUI/src/com/android/systemui/tv/TvSystemUIModule.java @@ -26,6 +26,7 @@ import android.os.PowerManager; import androidx.annotation.Nullable; +import com.android.internal.logging.UiEventLogger; import com.android.keyguard.KeyguardViewController; import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.dagger.SysUISingleton; @@ -63,6 +64,7 @@ import com.android.systemui.statusbar.phone.HeadsUpManagerPhone; import com.android.systemui.statusbar.phone.KeyguardBypassController; import com.android.systemui.statusbar.phone.KeyguardEnvironmentImpl; import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; +import com.android.systemui.statusbar.policy.AccessibilityManagerWrapper; import com.android.systemui.statusbar.policy.BatteryController; import com.android.systemui.statusbar.policy.BatteryControllerImpl; import com.android.systemui.statusbar.policy.ConfigurationController; @@ -173,7 +175,9 @@ public abstract class TvSystemUIModule { GroupMembershipManager groupManager, VisualStabilityProvider visualStabilityProvider, ConfigurationController configurationController, - @Main Handler handler) { + @Main Handler handler, + AccessibilityManagerWrapper accessibilityManagerWrapper, + UiEventLogger uiEventLogger) { return new HeadsUpManagerPhone( context, headsUpManagerLogger, @@ -182,7 +186,9 @@ public abstract class TvSystemUIModule { groupManager, visualStabilityProvider, configurationController, - handler + handler, + accessibilityManagerWrapper, + uiEventLogger ); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationTestHelper.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationTestHelper.java index c25737d249488..cc4cbbf180f78 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationTestHelper.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationTestHelper.java @@ -48,6 +48,7 @@ import android.view.LayoutInflater; import android.widget.RemoteViews; import com.android.internal.logging.MetricsLogger; +import com.android.internal.logging.UiEventLogger; import com.android.systemui.TestableDependency; import com.android.systemui.classifier.FalsingCollectorFake; import com.android.systemui.classifier.FalsingManagerFake; @@ -75,6 +76,7 @@ import com.android.systemui.statusbar.notification.row.NotificationRowContentBin import com.android.systemui.statusbar.phone.ConfigurationControllerImpl; import com.android.systemui.statusbar.phone.HeadsUpManagerPhone; import com.android.systemui.statusbar.phone.KeyguardBypassController; +import com.android.systemui.statusbar.policy.AccessibilityManagerWrapper; import com.android.systemui.statusbar.policy.HeadsUpManagerLogger; import com.android.systemui.statusbar.policy.InflatedSmartReplyState; import com.android.systemui.statusbar.policy.InflatedSmartReplyViewHolder; @@ -145,7 +147,9 @@ public class NotificationTestHelper { mock(GroupMembershipManager.class), mock(VisualStabilityProvider.class), mock(ConfigurationControllerImpl.class), - new Handler(mTestLooper.getLooper()) + new Handler(mTestLooper.getLooper()), + mock(AccessibilityManagerWrapper.class), + mock(UiEventLogger.class) ); mIconManager = new IconManager( mock(CommonNotifCollection.class), diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhoneTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhoneTest.java index ac3d0c28c474f..e252401d328cd 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhoneTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhoneTest.java @@ -29,6 +29,7 @@ import android.testing.TestableLooper; import androidx.test.filters.SmallTest; +import com.android.internal.logging.UiEventLogger; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.AlertingNotificationManager; import com.android.systemui.statusbar.AlertingNotificationManagerTest; @@ -65,6 +66,8 @@ public class HeadsUpManagerPhoneTest extends AlertingNotificationManagerTest { @Mock private StatusBarStateController mStatusBarStateController; @Mock private KeyguardBypassController mBypassController; @Mock private ConfigurationControllerImpl mConfigurationController; + @Mock private AccessibilityManagerWrapper mAccessibilityManagerWrapper; + @Mock private UiEventLogger mUiEventLogger; private boolean mLivesPastNormalTime; private static final class TestableHeadsUpManagerPhone extends HeadsUpManagerPhone { @@ -76,7 +79,9 @@ public class HeadsUpManagerPhoneTest extends AlertingNotificationManagerTest { StatusBarStateController statusBarStateController, KeyguardBypassController keyguardBypassController, ConfigurationController configurationController, - Handler handler + Handler handler, + AccessibilityManagerWrapper accessibilityManagerWrapper, + UiEventLogger uiEventLogger ) { super( context, @@ -86,7 +91,9 @@ public class HeadsUpManagerPhoneTest extends AlertingNotificationManagerTest { groupManager, visualStabilityProvider, configurationController, - handler + handler, + accessibilityManagerWrapper, + uiEventLogger ); mMinimumDisplayTime = TEST_MINIMUM_DISPLAY_TIME; mAutoDismissNotificationDecay = TEST_AUTO_DISMISS_TIME; @@ -116,7 +123,9 @@ public class HeadsUpManagerPhoneTest extends AlertingNotificationManagerTest { mStatusBarStateController, mBypassController, mConfigurationController, - mTestHandler + mTestHandler, + mAccessibilityManagerWrapper, + mUiEventLogger ); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/HeadsUpManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/HeadsUpManagerTest.java index e2b9a9ee78264..9764b8c07c2c1 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/HeadsUpManagerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/HeadsUpManagerTest.java @@ -63,7 +63,6 @@ public class HeadsUpManagerTest extends AlertingNotificationManagerTest { private static final int TEST_A11Y_AUTO_DISMISS_TIME = 600; private static final int TEST_A11Y_TIMEOUT_TIME = 5_000; - private AccessibilityManagerWrapper mAccessibilityMgr; private HeadsUpManager mHeadsUpManager; private boolean mLivesPastNormalTime; private UiEventLoggerFake mUiEventLoggerFake = new UiEventLoggerFake(); @@ -72,10 +71,15 @@ public class HeadsUpManagerTest extends AlertingNotificationManagerTest { @Mock private StatusBarNotification mSbn; @Mock private Notification mNotification; @Mock private HeadsUpManagerLogger mLogger; + @Mock private AccessibilityManagerWrapper mAccessibilityMgr; private final class TestableHeadsUpManager extends HeadsUpManager { - TestableHeadsUpManager(Context context, HeadsUpManagerLogger logger, Handler handler) { - super(context, logger, handler); + TestableHeadsUpManager(Context context, + HeadsUpManagerLogger logger, + Handler handler, + AccessibilityManagerWrapper accessibilityManagerWrapper, + UiEventLogger uiEventLogger) { + super(context, logger, handler, accessibilityManagerWrapper, uiEventLogger); mMinimumDisplayTime = TEST_MINIMUM_DISPLAY_TIME; mAutoDismissNotificationDecay = TEST_AUTO_DISMISS_TIME; } @@ -88,13 +92,11 @@ public class HeadsUpManagerTest extends AlertingNotificationManagerTest { @Before public void setUp() { initMocks(this); - mAccessibilityMgr = mDependency.injectMockDependency(AccessibilityManagerWrapper.class); - mDependency.injectTestDependency(UiEventLogger.class, mUiEventLoggerFake); when(mEntry.getSbn()).thenReturn(mSbn); when(mSbn.getNotification()).thenReturn(mNotification); - super.setUp(); - mHeadsUpManager = new TestableHeadsUpManager(mContext, mLogger, mTestHandler); + mHeadsUpManager = new TestableHeadsUpManager(mContext, mLogger, mTestHandler, + mAccessibilityMgr, mUiEventLoggerFake); } @After