Merge "Getting rid of Dependency.get" into tm-qpr-dev

This commit is contained in:
Michael Mikhail
2022-08-27 03:24:25 +00:00
committed by Android (Google) Code Review
9 changed files with 82 additions and 36 deletions

View File

@@ -26,6 +26,7 @@ import android.os.PowerManager;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.android.internal.logging.UiEventLogger;
import com.android.keyguard.KeyguardViewController; import com.android.keyguard.KeyguardViewController;
import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.dagger.qualifiers.Background; 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.KeyguardBypassController;
import com.android.systemui.statusbar.phone.KeyguardEnvironmentImpl; import com.android.systemui.statusbar.phone.KeyguardEnvironmentImpl;
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; 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.BatteryController;
import com.android.systemui.statusbar.policy.BatteryControllerImpl; import com.android.systemui.statusbar.policy.BatteryControllerImpl;
import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.ConfigurationController;
@@ -190,7 +192,10 @@ public abstract class ReferenceSystemUIModule {
KeyguardBypassController bypassController, KeyguardBypassController bypassController,
GroupMembershipManager groupManager, GroupMembershipManager groupManager,
VisualStabilityProvider visualStabilityProvider, VisualStabilityProvider visualStabilityProvider,
ConfigurationController configurationController) { ConfigurationController configurationController,
@Main Handler handler,
AccessibilityManagerWrapper accessibilityManagerWrapper,
UiEventLogger uiEventLogger) {
return new HeadsUpManagerPhone( return new HeadsUpManagerPhone(
context, context,
headsUpManagerLogger, headsUpManagerLogger,
@@ -198,7 +203,10 @@ public abstract class ReferenceSystemUIModule {
bypassController, bypassController,
groupManager, groupManager,
visualStabilityProvider, visualStabilityProvider,
configurationController configurationController,
handler,
accessibilityManagerWrapper,
uiEventLogger
); );
} }

View File

@@ -19,13 +19,13 @@ package com.android.systemui.statusbar;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.annotation.Nullable; import android.annotation.Nullable;
import android.os.Handler; import android.os.Handler;
import android.os.Looper;
import android.os.SystemClock; import android.os.SystemClock;
import android.util.ArrayMap; import android.util.ArrayMap;
import android.util.ArraySet; import android.util.ArraySet;
import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityEvent;
import com.android.internal.annotations.VisibleForTesting; import com.android.internal.annotations.VisibleForTesting;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.row.NotificationRowContentBinder.InflationFlag; import com.android.systemui.statusbar.notification.row.NotificationRowContentBinder.InflationFlag;
import com.android.systemui.statusbar.policy.HeadsUpManagerLogger; import com.android.systemui.statusbar.policy.HeadsUpManagerLogger;
@@ -43,14 +43,15 @@ public abstract class AlertingNotificationManager {
protected final ArrayMap<String, AlertEntry> mAlertEntries = new ArrayMap<>(); protected final ArrayMap<String, AlertEntry> mAlertEntries = new ArrayMap<>();
protected final HeadsUpManagerLogger mLogger; protected final HeadsUpManagerLogger mLogger;
public AlertingNotificationManager(HeadsUpManagerLogger logger) { public AlertingNotificationManager(HeadsUpManagerLogger logger, @Main Handler handler) {
mLogger = logger; mLogger = logger;
mHandler = handler;
} }
protected int mMinimumDisplayTime; protected int mMinimumDisplayTime;
protected int mAutoDismissNotificationDecay; protected int mAutoDismissNotificationDecay;
@VisibleForTesting @VisibleForTesting
public Handler mHandler = new Handler(Looper.getMainLooper()); public Handler mHandler;
/** /**
* Called when posting a new notification that should alert the user and appear on screen. * Called when posting a new notification that should alert the user and appear on screen.

View File

@@ -21,14 +21,17 @@ import android.annotation.Nullable;
import android.content.Context; import android.content.Context;
import android.content.res.Resources; import android.content.res.Resources;
import android.graphics.Region; import android.graphics.Region;
import android.os.Handler;
import android.util.Pools; import android.util.Pools;
import androidx.collection.ArraySet; import androidx.collection.ArraySet;
import com.android.internal.annotations.VisibleForTesting; import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.logging.UiEventLogger;
import com.android.internal.policy.SystemBarUtils; import com.android.internal.policy.SystemBarUtils;
import com.android.systemui.Dumpable; import com.android.systemui.Dumpable;
import com.android.systemui.R; import com.android.systemui.R;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener; import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener;
import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.StatusBarState;
@@ -37,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.provider.VisualStabilityProvider;
import com.android.systemui.statusbar.notification.collection.render.GroupMembershipManager; import com.android.systemui.statusbar.notification.collection.render.GroupMembershipManager;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; 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.ConfigurationController;
import com.android.systemui.statusbar.policy.HeadsUpManager; import com.android.systemui.statusbar.policy.HeadsUpManager;
import com.android.systemui.statusbar.policy.HeadsUpManagerLogger; import com.android.systemui.statusbar.policy.HeadsUpManagerLogger;
@@ -104,8 +108,11 @@ public class HeadsUpManagerPhone extends HeadsUpManager implements Dumpable,
KeyguardBypassController bypassController, KeyguardBypassController bypassController,
GroupMembershipManager groupMembershipManager, GroupMembershipManager groupMembershipManager,
VisualStabilityProvider visualStabilityProvider, VisualStabilityProvider visualStabilityProvider,
ConfigurationController configurationController) { ConfigurationController configurationController,
super(context, logger); @Main Handler handler,
AccessibilityManagerWrapper accessibilityManagerWrapper,
UiEventLogger uiEventLogger) {
super(context, logger, handler, accessibilityManagerWrapper, uiEventLogger);
Resources resources = mContext.getResources(); Resources resources = mContext.getResources();
mExtensionTime = resources.getInteger(R.integer.ambient_notification_extension_time); mExtensionTime = resources.getInteger(R.integer.ambient_notification_extension_time);
statusBarStateController.addCallback(mStatusBarStateListener); statusBarStateController.addCallback(mStatusBarStateListener);

View File

@@ -24,6 +24,7 @@ import android.app.Notification;
import android.content.Context; import android.content.Context;
import android.content.res.Resources; import android.content.res.Resources;
import android.database.ContentObserver; import android.database.ContentObserver;
import android.os.Handler;
import android.provider.Settings; import android.provider.Settings;
import android.util.ArrayMap; import android.util.ArrayMap;
import android.view.accessibility.AccessibilityManager; import android.view.accessibility.AccessibilityManager;
@@ -31,9 +32,9 @@ import android.view.accessibility.AccessibilityManager;
import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.UiEvent; import com.android.internal.logging.UiEvent;
import com.android.internal.logging.UiEventLogger; import com.android.internal.logging.UiEventLogger;
import com.android.systemui.Dependency;
import com.android.systemui.EventLogTags; import com.android.systemui.EventLogTags;
import com.android.systemui.R; import com.android.systemui.R;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.statusbar.AlertingNotificationManager; import com.android.systemui.statusbar.AlertingNotificationManager;
import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.row.NotificationRowContentBinder.InflationFlag; import com.android.systemui.statusbar.notification.row.NotificationRowContentBinder.InflationFlag;
@@ -79,11 +80,15 @@ public abstract class HeadsUpManager extends AlertingNotificationManager {
} }
} }
public HeadsUpManager(@NonNull final Context context, HeadsUpManagerLogger logger) { public HeadsUpManager(@NonNull final Context context,
super(logger); HeadsUpManagerLogger logger,
@Main Handler handler,
AccessibilityManagerWrapper accessibilityManagerWrapper,
UiEventLogger uiEventLogger) {
super(logger, handler);
mContext = context; mContext = context;
mAccessibilityMgr = Dependency.get(AccessibilityManagerWrapper.class); mAccessibilityMgr = accessibilityManagerWrapper;
mUiEventLogger = Dependency.get(UiEventLogger.class); mUiEventLogger = uiEventLogger;
Resources resources = context.getResources(); Resources resources = context.getResources();
mMinimumDisplayTime = resources.getInteger(R.integer.heads_up_notification_minimum_time); mMinimumDisplayTime = resources.getInteger(R.integer.heads_up_notification_minimum_time);
mAutoDismissNotificationDecay = resources.getInteger(R.integer.heads_up_notification_decay); mAutoDismissNotificationDecay = resources.getInteger(R.integer.heads_up_notification_decay);

View File

@@ -26,6 +26,7 @@ import android.os.PowerManager;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.android.internal.logging.UiEventLogger;
import com.android.keyguard.KeyguardViewController; import com.android.keyguard.KeyguardViewController;
import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.dagger.SysUISingleton; 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.KeyguardBypassController;
import com.android.systemui.statusbar.phone.KeyguardEnvironmentImpl; import com.android.systemui.statusbar.phone.KeyguardEnvironmentImpl;
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; 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.BatteryController;
import com.android.systemui.statusbar.policy.BatteryControllerImpl; import com.android.systemui.statusbar.policy.BatteryControllerImpl;
import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.ConfigurationController;
@@ -172,7 +174,10 @@ public abstract class TvSystemUIModule {
KeyguardBypassController bypassController, KeyguardBypassController bypassController,
GroupMembershipManager groupManager, GroupMembershipManager groupManager,
VisualStabilityProvider visualStabilityProvider, VisualStabilityProvider visualStabilityProvider,
ConfigurationController configurationController) { ConfigurationController configurationController,
@Main Handler handler,
AccessibilityManagerWrapper accessibilityManagerWrapper,
UiEventLogger uiEventLogger) {
return new HeadsUpManagerPhone( return new HeadsUpManagerPhone(
context, context,
headsUpManagerLogger, headsUpManagerLogger,
@@ -180,7 +185,10 @@ public abstract class TvSystemUIModule {
bypassController, bypassController,
groupManager, groupManager,
visualStabilityProvider, visualStabilityProvider,
configurationController configurationController,
handler,
accessibilityManagerWrapper,
uiEventLogger
); );
} }

View File

@@ -82,12 +82,10 @@ public class AlertingNotificationManagerTest extends SysuiTestCase {
private final class TestableAlertingNotificationManager extends AlertingNotificationManager { private final class TestableAlertingNotificationManager extends AlertingNotificationManager {
private AlertEntry mLastCreatedEntry; private AlertEntry mLastCreatedEntry;
private TestableAlertingNotificationManager() { private TestableAlertingNotificationManager(Handler handler) {
super(mock(HeadsUpManagerLogger.class)); super(mock(HeadsUpManagerLogger.class), handler);
mMinimumDisplayTime = TEST_MINIMUM_DISPLAY_TIME; mMinimumDisplayTime = TEST_MINIMUM_DISPLAY_TIME;
mAutoDismissNotificationDecay = TEST_AUTO_DISMISS_TIME; mAutoDismissNotificationDecay = TEST_AUTO_DISMISS_TIME;
mHandler.removeCallbacksAndMessages(null);
mHandler = mTestHandler;
} }
@Override @Override
@@ -108,8 +106,8 @@ public class AlertingNotificationManagerTest extends SysuiTestCase {
} }
} }
protected AlertingNotificationManager createAlertingNotificationManager() { protected AlertingNotificationManager createAlertingNotificationManager(Handler handler) {
return new TestableAlertingNotificationManager(); return new TestableAlertingNotificationManager(handler);
} }
protected StatusBarNotification createNewSbn(int id, Notification.Builder n) { protected StatusBarNotification createNewSbn(int id, Notification.Builder n) {
@@ -143,7 +141,7 @@ public class AlertingNotificationManagerTest extends SysuiTestCase {
.build(); .build();
mEntry.setRow(mRow); mEntry.setRow(mRow);
mAlertingNotificationManager = createAlertingNotificationManager(); mAlertingNotificationManager = createAlertingNotificationManager(mTestHandler);
} }
@After @After

View File

@@ -48,6 +48,7 @@ import android.view.LayoutInflater;
import android.widget.RemoteViews; import android.widget.RemoteViews;
import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.UiEventLogger;
import com.android.systemui.TestableDependency; import com.android.systemui.TestableDependency;
import com.android.systemui.classifier.FalsingCollectorFake; import com.android.systemui.classifier.FalsingCollectorFake;
import com.android.systemui.classifier.FalsingManagerFake; 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.ConfigurationControllerImpl;
import com.android.systemui.statusbar.phone.HeadsUpManagerPhone; import com.android.systemui.statusbar.phone.HeadsUpManagerPhone;
import com.android.systemui.statusbar.phone.KeyguardBypassController; 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.HeadsUpManagerLogger;
import com.android.systemui.statusbar.policy.InflatedSmartReplyState; import com.android.systemui.statusbar.policy.InflatedSmartReplyState;
import com.android.systemui.statusbar.policy.InflatedSmartReplyViewHolder; import com.android.systemui.statusbar.policy.InflatedSmartReplyViewHolder;
@@ -144,7 +146,10 @@ public class NotificationTestHelper {
mock(KeyguardBypassController.class), mock(KeyguardBypassController.class),
mock(GroupMembershipManager.class), mock(GroupMembershipManager.class),
mock(VisualStabilityProvider.class), mock(VisualStabilityProvider.class),
mock(ConfigurationControllerImpl.class) mock(ConfigurationControllerImpl.class),
new Handler(mTestLooper.getLooper()),
mock(AccessibilityManagerWrapper.class),
mock(UiEventLogger.class)
); );
mHeadsUpManager.mHandler.removeCallbacksAndMessages(null); mHeadsUpManager.mHandler.removeCallbacksAndMessages(null);
mHeadsUpManager.mHandler = new Handler(mTestLooper.getLooper()); mHeadsUpManager.mHandler = new Handler(mTestLooper.getLooper());

View File

@@ -23,11 +23,13 @@ import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.content.Context; import android.content.Context;
import android.os.Handler;
import android.testing.AndroidTestingRunner; import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper; import android.testing.TestableLooper;
import androidx.test.filters.SmallTest; import androidx.test.filters.SmallTest;
import com.android.internal.logging.UiEventLogger;
import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.AlertingNotificationManager; import com.android.systemui.statusbar.AlertingNotificationManager;
import com.android.systemui.statusbar.AlertingNotificationManagerTest; import com.android.systemui.statusbar.AlertingNotificationManagerTest;
@@ -64,6 +66,8 @@ public class HeadsUpManagerPhoneTest extends AlertingNotificationManagerTest {
@Mock private StatusBarStateController mStatusBarStateController; @Mock private StatusBarStateController mStatusBarStateController;
@Mock private KeyguardBypassController mBypassController; @Mock private KeyguardBypassController mBypassController;
@Mock private ConfigurationControllerImpl mConfigurationController; @Mock private ConfigurationControllerImpl mConfigurationController;
@Mock private AccessibilityManagerWrapper mAccessibilityManagerWrapper;
@Mock private UiEventLogger mUiEventLogger;
private boolean mLivesPastNormalTime; private boolean mLivesPastNormalTime;
private static final class TestableHeadsUpManagerPhone extends HeadsUpManagerPhone { private static final class TestableHeadsUpManagerPhone extends HeadsUpManagerPhone {
@@ -74,7 +78,10 @@ public class HeadsUpManagerPhoneTest extends AlertingNotificationManagerTest {
VisualStabilityProvider visualStabilityProvider, VisualStabilityProvider visualStabilityProvider,
StatusBarStateController statusBarStateController, StatusBarStateController statusBarStateController,
KeyguardBypassController keyguardBypassController, KeyguardBypassController keyguardBypassController,
ConfigurationController configurationController ConfigurationController configurationController,
Handler handler,
AccessibilityManagerWrapper accessibilityManagerWrapper,
UiEventLogger uiEventLogger
) { ) {
super( super(
context, context,
@@ -83,7 +90,10 @@ public class HeadsUpManagerPhoneTest extends AlertingNotificationManagerTest {
keyguardBypassController, keyguardBypassController,
groupManager, groupManager,
visualStabilityProvider, visualStabilityProvider,
configurationController configurationController,
handler,
accessibilityManagerWrapper,
uiEventLogger
); );
mMinimumDisplayTime = TEST_MINIMUM_DISPLAY_TIME; mMinimumDisplayTime = TEST_MINIMUM_DISPLAY_TIME;
mAutoDismissNotificationDecay = TEST_AUTO_DISMISS_TIME; mAutoDismissNotificationDecay = TEST_AUTO_DISMISS_TIME;
@@ -103,6 +113,8 @@ public class HeadsUpManagerPhoneTest extends AlertingNotificationManagerTest {
when(mVSProvider.isReorderingAllowed()).thenReturn(true); when(mVSProvider.isReorderingAllowed()).thenReturn(true);
mDependency.injectMockDependency(NotificationShadeWindowController.class); mDependency.injectMockDependency(NotificationShadeWindowController.class);
mDependency.injectMockDependency(ConfigurationController.class); mDependency.injectMockDependency(ConfigurationController.class);
super.setUp();
mHeadsUpManager = new TestableHeadsUpManagerPhone( mHeadsUpManager = new TestableHeadsUpManagerPhone(
mContext, mContext,
mHeadsUpManagerLogger, mHeadsUpManagerLogger,
@@ -110,11 +122,11 @@ public class HeadsUpManagerPhoneTest extends AlertingNotificationManagerTest {
mVSProvider, mVSProvider,
mStatusBarStateController, mStatusBarStateController,
mBypassController, mBypassController,
mConfigurationController mConfigurationController,
mTestHandler,
mAccessibilityManagerWrapper,
mUiEventLogger
); );
super.setUp();
mHeadsUpManager.mHandler.removeCallbacksAndMessages(null);
mHeadsUpManager.mHandler = mTestHandler;
} }
@After @After

View File

@@ -36,6 +36,7 @@ import android.app.PendingIntent;
import android.app.Person; import android.app.Person;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Handler;
import android.service.notification.StatusBarNotification; import android.service.notification.StatusBarNotification;
import android.testing.AndroidTestingRunner; import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper; import android.testing.TestableLooper;
@@ -62,7 +63,6 @@ public class HeadsUpManagerTest extends AlertingNotificationManagerTest {
private static final int TEST_A11Y_AUTO_DISMISS_TIME = 600; private static final int TEST_A11Y_AUTO_DISMISS_TIME = 600;
private static final int TEST_A11Y_TIMEOUT_TIME = 5_000; private static final int TEST_A11Y_TIMEOUT_TIME = 5_000;
private AccessibilityManagerWrapper mAccessibilityMgr;
private HeadsUpManager mHeadsUpManager; private HeadsUpManager mHeadsUpManager;
private boolean mLivesPastNormalTime; private boolean mLivesPastNormalTime;
private UiEventLoggerFake mUiEventLoggerFake = new UiEventLoggerFake(); private UiEventLoggerFake mUiEventLoggerFake = new UiEventLoggerFake();
@@ -71,10 +71,15 @@ public class HeadsUpManagerTest extends AlertingNotificationManagerTest {
@Mock private StatusBarNotification mSbn; @Mock private StatusBarNotification mSbn;
@Mock private Notification mNotification; @Mock private Notification mNotification;
@Mock private HeadsUpManagerLogger mLogger; @Mock private HeadsUpManagerLogger mLogger;
@Mock private AccessibilityManagerWrapper mAccessibilityMgr;
private final class TestableHeadsUpManager extends HeadsUpManager { private final class TestableHeadsUpManager extends HeadsUpManager {
TestableHeadsUpManager(Context context, HeadsUpManagerLogger logger) { TestableHeadsUpManager(Context context,
super(context, logger); HeadsUpManagerLogger logger,
Handler handler,
AccessibilityManagerWrapper accessibilityManagerWrapper,
UiEventLogger uiEventLogger) {
super(context, logger, handler, accessibilityManagerWrapper, uiEventLogger);
mMinimumDisplayTime = TEST_MINIMUM_DISPLAY_TIME; mMinimumDisplayTime = TEST_MINIMUM_DISPLAY_TIME;
mAutoDismissNotificationDecay = TEST_AUTO_DISMISS_TIME; mAutoDismissNotificationDecay = TEST_AUTO_DISMISS_TIME;
} }
@@ -87,14 +92,11 @@ public class HeadsUpManagerTest extends AlertingNotificationManagerTest {
@Before @Before
public void setUp() { public void setUp() {
initMocks(this); initMocks(this);
mAccessibilityMgr = mDependency.injectMockDependency(AccessibilityManagerWrapper.class);
mDependency.injectTestDependency(UiEventLogger.class, mUiEventLoggerFake);
when(mEntry.getSbn()).thenReturn(mSbn); when(mEntry.getSbn()).thenReturn(mSbn);
when(mSbn.getNotification()).thenReturn(mNotification); when(mSbn.getNotification()).thenReturn(mNotification);
mHeadsUpManager = new TestableHeadsUpManager(mContext, mLogger);
super.setUp(); super.setUp();
mHeadsUpManager.mHandler.removeCallbacksAndMessages(null); mHeadsUpManager = new TestableHeadsUpManager(mContext, mLogger, mTestHandler,
mHeadsUpManager.mHandler = mTestHandler; mAccessibilityMgr, mUiEventLoggerFake);
} }
@After @After