diff options
| author | 2023-08-03 10:03:19 +0000 | |
|---|---|---|
| committer | 2023-08-03 10:03:19 +0000 | |
| commit | 3eabcfeddd5a30159dce86b314df2fb219297e5c (patch) | |
| tree | d745b00e2822b2edc7f9cacbb63d0fa013039cb2 | |
| parent | 67bc3b31c6a71b133212fe4df5948b19df6551fe (diff) | |
| parent | 1fa5f2ab1ee7a561d540af91df329b93683fee02 (diff) | |
Merge "Replace mocked loggers by real ones in SystemUI tests" into udc-qpr-dev
25 files changed, 100 insertions, 55 deletions
diff --git a/packages/SystemUI/tests/src/com/android/systemui/dump/LogBufferHelper.kt b/packages/SystemUI/tests/src/com/android/systemui/dump/LogBufferHelper.kt index a341ca365ada..8a1b094678e1 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/dump/LogBufferHelper.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/dump/LogBufferHelper.kt @@ -23,6 +23,7 @@ import com.android.systemui.log.LogcatEchoTracker /** * Creates a LogBuffer that will echo everything to logcat, which is useful for debugging tests. */ +@JvmOverloads fun logcatLogBuffer(name: String = "EchoToLogcatLogBuffer") = LogBuffer(name, 50, LogcatEchoTrackerAlways()) diff --git a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerBaseTest.java b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerBaseTest.java index 40d9cc7f837c..c3540cfec72d 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerBaseTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerBaseTest.java @@ -19,6 +19,7 @@ package com.android.systemui.shade; import static android.content.res.Configuration.ORIENTATION_PORTRAIT; import static com.android.keyguard.KeyguardClockSwitch.LARGE; +import static com.android.systemui.dump.LogBufferHelperKt.logcatLogBuffer; import static com.google.common.truth.Truth.assertThat; @@ -221,7 +222,7 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase { @Mock protected StatusBarTouchableRegionManager mStatusBarTouchableRegionManager; @Mock protected KeyguardStateController mKeyguardStateController; @Mock protected DozeLog mDozeLog; - @Mock protected ShadeLogger mShadeLog; + private final ShadeLogger mShadeLog = new ShadeLogger(logcatLogBuffer()); @Mock protected CommandQueue mCommandQueue; @Mock protected VibratorHelper mVibratorHelper; @Mock protected LatencyTracker mLatencyTracker; @@ -309,7 +310,7 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase { @Mock protected MotionEvent mDownMotionEvent; @Mock protected CoroutineDispatcher mMainDispatcher; @Mock protected KeyguardSliceViewController mKeyguardSliceViewController; - @Mock protected KeyguardLogger mKeyguardLogger; + private final KeyguardLogger mKeyguardLogger = new KeyguardLogger(logcatLogBuffer()); @Mock protected KeyguardStatusView mKeyguardStatusView; @Captor protected ArgumentCaptor<NotificationStackScrollLayout.OnEmptySpaceClickListener> @@ -518,7 +519,7 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase { mKeyguardBypassController, mDozeParameters, mScreenOffAnimationController, - mock(NotificationWakeUpCoordinatorLogger.class)); + new NotificationWakeUpCoordinatorLogger(logcatLogBuffer())); mConfigurationController = new ConfigurationControllerImpl(mContext); PulseExpansionHandler expansionHandler = new PulseExpansionHandler( mContext, diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/AlertingNotificationManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/AlertingNotificationManagerTest.java index fe18fb53aecb..a704dc6d1d31 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/AlertingNotificationManagerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/AlertingNotificationManagerTest.java @@ -19,6 +19,7 @@ package com.android.systemui.statusbar; import static android.app.Notification.FLAG_FSI_REQUESTED_BUT_DENIED; +import static com.android.systemui.dump.LogBufferHelperKt.logcatLogBuffer; import static com.android.systemui.statusbar.notification.row.NotificationRowContentBinder.FLAG_CONTENT_VIEW_CONTRACTED; import static junit.framework.Assert.assertFalse; @@ -45,7 +46,6 @@ import com.android.systemui.SysuiTestCase; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder; import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; -import com.android.systemui.statusbar.policy.HeadsUpManager; import com.android.systemui.statusbar.policy.HeadsUpManagerLogger; import org.junit.After; @@ -88,7 +88,7 @@ public class AlertingNotificationManagerTest extends SysuiTestCase { private AlertEntry mLastCreatedEntry; private TestableAlertingNotificationManager(Handler handler) { - super(mock(HeadsUpManagerLogger.class), handler); + super(new HeadsUpManagerLogger(logcatLogBuffer()), handler); mMinimumDisplayTime = TEST_MINIMUM_DISPLAY_TIME; mStickyDisplayTime = TEST_STICKY_DISPLAY_TIME; mAutoDismissNotificationDecay = TEST_AUTO_DISMISS_TIME; diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationRemoteInputManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationRemoteInputManagerTest.java index 305f48b147f8..764f7b6b8887 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationRemoteInputManagerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationRemoteInputManagerTest.java @@ -16,6 +16,8 @@ package com.android.systemui.statusbar; +import static com.android.systemui.dump.LogBufferHelperKt.logcatLogBuffer; + import static junit.framework.Assert.assertTrue; import static org.mockito.Mockito.mock; @@ -82,9 +84,9 @@ public class NotificationRemoteInputManagerTest extends SysuiTestCase { mPowerInteractor, mStateController, mRemoteInputUriController, - mock(RemoteInputControllerLogger.class), + new RemoteInputControllerLogger(logcatLogBuffer()), mClickNotifier, - mock(ActionClickLogger.class), + new ActionClickLogger(logcatLogBuffer()), mock(DumpManager.class)); mEntry = new NotificationEntryBuilder() .setPkg(TEST_PACKAGE_NAME) diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationWakeUpCoordinatorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationWakeUpCoordinatorTest.kt index da3a9f696d62..78c0982df414 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationWakeUpCoordinatorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationWakeUpCoordinatorTest.kt @@ -22,6 +22,7 @@ import androidx.core.animation.AnimatorTestRule import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.dump.DumpManager +import com.android.systemui.dump.logcatLogBuffer import com.android.systemui.plugins.statusbar.StatusBarStateController import com.android.systemui.shade.ShadeViewController.Companion.WAKEUP_ANIMATION_DELAY_MS import com.android.systemui.statusbar.StatusBarState @@ -59,7 +60,7 @@ class NotificationWakeUpCoordinatorTest : SysuiTestCase() { private val bypassController: KeyguardBypassController = mock() private val dozeParameters: DozeParameters = mock() private val screenOffAnimationController: ScreenOffAnimationController = mock() - private val logger: NotificationWakeUpCoordinatorLogger = mock() + private val logger = NotificationWakeUpCoordinatorLogger(logcatLogBuffer()) private val stackScrollerController: NotificationStackScrollLayoutController = mock() private val wakeUpListener: NotificationWakeUpCoordinator.WakeUpListener = mock() diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/NotifCollectionTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/NotifCollectionTest.java index 9037df821ca8..104b751af26b 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/NotifCollectionTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/NotifCollectionTest.java @@ -26,6 +26,7 @@ import static android.service.notification.NotificationListenerService.REASON_CL import static android.service.notification.NotificationStats.DISMISSAL_SHADE; import static android.service.notification.NotificationStats.DISMISS_SENTIMENT_NEUTRAL; +import static com.android.systemui.dump.LogBufferHelperKt.logcatLogBuffer; import static com.android.systemui.statusbar.notification.collection.NotifCollection.REASON_NOT_CANCELED; import static com.android.systemui.statusbar.notification.collection.NotifCollection.REASON_UNKNOWN; import static com.android.systemui.statusbar.notification.collection.NotificationEntry.DismissState.DISMISSED; @@ -47,6 +48,7 @@ import static org.mockito.Mockito.clearInvocations; import static org.mockito.Mockito.inOrder; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; @@ -120,7 +122,7 @@ public class NotifCollectionTest extends SysuiTestCase { @Mock private IStatusBarService mStatusBarService; @Mock private NotifPipelineFlags mNotifPipelineFlags; - @Mock private NotifCollectionLogger mLogger; + private final NotifCollectionLogger mLogger = spy(new NotifCollectionLogger(logcatLogBuffer())); @Mock private LogBufferEulogizer mEulogizer; @Mock private Handler mMainHandler; diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilderTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilderTest.java index a8690388c3e3..bfa03eed57a0 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilderTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilderTest.java @@ -16,6 +16,7 @@ package com.android.systemui.statusbar.notification.collection; +import static com.android.systemui.dump.LogBufferHelperKt.logcatLogBuffer; import static com.android.systemui.statusbar.notification.collection.ListDumper.dumpTree; import static com.android.systemui.statusbar.notification.collection.ShadeListBuilder.MAX_CONSECUTIVE_REENTRANT_REBUILDS; @@ -101,10 +102,10 @@ import java.util.stream.Collectors; public class ShadeListBuilderTest extends SysuiTestCase { private ShadeListBuilder mListBuilder; - private FakeSystemClock mSystemClock = new FakeSystemClock(); - - @Mock private NotifPipelineFlags mNotifPipelineFlags; - @Mock private ShadeListBuilderLogger mLogger; + private final FakeSystemClock mSystemClock = new FakeSystemClock(); + private final NotifPipelineFlags mNotifPipelineFlags = mock(NotifPipelineFlags.class); + private final ShadeListBuilderLogger mLogger = new ShadeListBuilderLogger( + mNotifPipelineFlags, logcatLogBuffer()); @Mock private DumpManager mDumpManager; @Mock private NotifCollection mNotifCollection; @Mock private NotificationInteractionTracker mInteractionTracker; diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coalescer/GroupCoalescerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coalescer/GroupCoalescerTest.java index ac9a57022f53..3dcfcfa2977b 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coalescer/GroupCoalescerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coalescer/GroupCoalescerTest.java @@ -16,6 +16,8 @@ package com.android.systemui.statusbar.notification.collection.coalescer; +import static com.android.systemui.dump.LogBufferHelperKt.logcatLogBuffer; + import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyList; import static org.mockito.Mockito.clearInvocations; @@ -62,8 +64,7 @@ public class GroupCoalescerTest extends SysuiTestCase { @Mock private NotificationListener mListenerService; @Mock private GroupCoalescer.BatchableNotificationHandler mListener; - @Mock private GroupCoalescerLogger mLogger; - + private final GroupCoalescerLogger mLogger = new GroupCoalescerLogger(logcatLogBuffer()); @Captor private ArgumentCaptor<NotificationHandler> mListenerCaptor; private final NoManSimulator mNoMan = new NoManSimulator(); diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/GutsCoordinatorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/GutsCoordinatorTest.kt index 4143647592e4..362da0b5a46c 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/GutsCoordinatorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/GutsCoordinatorTest.kt @@ -20,6 +20,7 @@ import android.testing.TestableLooper.RunWithLooper import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.dump.DumpManager +import com.android.systemui.dump.logcatLogBuffer import com.android.systemui.statusbar.notification.collection.NotifPipeline import com.android.systemui.statusbar.notification.collection.NotificationEntry import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder @@ -28,6 +29,7 @@ import com.android.systemui.statusbar.notification.collection.notifcollection.No import com.android.systemui.statusbar.notification.collection.render.NotifGutsViewListener import com.android.systemui.statusbar.notification.collection.render.NotifGutsViewManager import com.android.systemui.statusbar.notification.row.NotificationGuts +import com.android.systemui.statusbar.notification.row.NotificationGuts.GutsContent import com.android.systemui.util.mockito.withArgCaptor import com.google.common.truth.Truth.assertThat import org.junit.Before @@ -36,6 +38,7 @@ import org.junit.runner.RunWith import org.mockito.Mock import org.mockito.Mockito.mock import org.mockito.Mockito.verify +import org.mockito.Mockito.`when` as whenever import org.mockito.MockitoAnnotations.initMocks @SmallTest @@ -52,8 +55,9 @@ class GutsCoordinatorTest : SysuiTestCase() { @Mock private lateinit var notifGutsViewManager: NotifGutsViewManager @Mock private lateinit var pipeline: NotifPipeline @Mock private lateinit var dumpManager: DumpManager - @Mock private lateinit var logger: GutsCoordinatorLogger + private val logger = GutsCoordinatorLogger(logcatLogBuffer()) @Mock private lateinit var lifetimeExtenderCallback: OnEndLifetimeExtensionCallback + @Mock private lateinit var notificationGuts: NotificationGuts @Before fun setUp() { @@ -69,12 +73,13 @@ class GutsCoordinatorTest : SysuiTestCase() { notifLifetimeExtender.setCallback(lifetimeExtenderCallback) entry1 = NotificationEntryBuilder().setId(1).build() entry2 = NotificationEntryBuilder().setId(2).build() + whenever(notificationGuts.gutsContent).thenReturn(mock(GutsContent::class.java)) } @Test fun testSimpleLifetimeExtension() { assertThat(notifLifetimeExtender.maybeExtendLifetime(entry1, 0)).isFalse() - notifGutsViewListener.onGutsOpen(entry1, mock(NotificationGuts::class.java)) + notifGutsViewListener.onGutsOpen(entry1, notificationGuts) assertThat(notifLifetimeExtender.maybeExtendLifetime(entry1, 0)).isTrue() notifGutsViewListener.onGutsClose(entry1) verify(lifetimeExtenderCallback).onEndLifetimeExtension(notifLifetimeExtender, entry1) @@ -84,9 +89,9 @@ class GutsCoordinatorTest : SysuiTestCase() { @Test fun testDoubleOpenLifetimeExtension() { assertThat(notifLifetimeExtender.maybeExtendLifetime(entry1, 0)).isFalse() - notifGutsViewListener.onGutsOpen(entry1, mock(NotificationGuts::class.java)) + notifGutsViewListener.onGutsOpen(entry1, notificationGuts) assertThat(notifLifetimeExtender.maybeExtendLifetime(entry1, 0)).isTrue() - notifGutsViewListener.onGutsOpen(entry1, mock(NotificationGuts::class.java)) + notifGutsViewListener.onGutsOpen(entry1, notificationGuts) assertThat(notifLifetimeExtender.maybeExtendLifetime(entry1, 0)).isTrue() notifGutsViewListener.onGutsClose(entry1) verify(lifetimeExtenderCallback).onEndLifetimeExtension(notifLifetimeExtender, entry1) @@ -97,10 +102,10 @@ class GutsCoordinatorTest : SysuiTestCase() { fun testTwoEntryLifetimeExtension() { assertThat(notifLifetimeExtender.maybeExtendLifetime(entry1, 0)).isFalse() assertThat(notifLifetimeExtender.maybeExtendLifetime(entry2, 0)).isFalse() - notifGutsViewListener.onGutsOpen(entry1, mock(NotificationGuts::class.java)) + notifGutsViewListener.onGutsOpen(entry1, notificationGuts) assertThat(notifLifetimeExtender.maybeExtendLifetime(entry1, 0)).isTrue() assertThat(notifLifetimeExtender.maybeExtendLifetime(entry2, 0)).isFalse() - notifGutsViewListener.onGutsOpen(entry2, mock(NotificationGuts::class.java)) + notifGutsViewListener.onGutsOpen(entry2, notificationGuts) assertThat(notifLifetimeExtender.maybeExtendLifetime(entry1, 0)).isTrue() assertThat(notifLifetimeExtender.maybeExtendLifetime(entry2, 0)).isTrue() notifGutsViewListener.onGutsClose(entry1) diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinatorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinatorTest.kt index ea70e9e44c66..fbd61f4fe3bd 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinatorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinatorTest.kt @@ -25,6 +25,7 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.advanceTimeBy import com.android.systemui.dump.DumpManager +import com.android.systemui.dump.logcatLogBuffer import com.android.systemui.keyguard.data.repository.FakeKeyguardRepository import com.android.systemui.keyguard.data.repository.FakeKeyguardTransitionRepository import com.android.systemui.keyguard.shared.model.KeyguardState @@ -606,7 +607,7 @@ class KeyguardCoordinatorTest : SysuiTestCase() { keyguardNotifVisibilityProvider, keyguardRepository, keyguardTransitionRepository, - mock<KeyguardCoordinatorLogger>(), + KeyguardCoordinatorLogger(logcatLogBuffer()), testScope.backgroundScope, sectionHeaderVisibilityProvider, fakeSettings, diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/PreparationCoordinatorTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/PreparationCoordinatorTest.java index b5e77e0fb693..548ecdeb1f47 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/PreparationCoordinatorTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/PreparationCoordinatorTest.java @@ -18,6 +18,7 @@ package com.android.systemui.statusbar.notification.collection.coordinator; import static android.provider.Settings.Secure.SHOW_NOTIFICATION_SNOOZE; +import static com.android.systemui.dump.LogBufferHelperKt.logcatLogBuffer; import static com.android.systemui.statusbar.notification.collection.GroupEntry.ROOT_ENTRY; import static org.junit.Assert.assertFalse; @@ -134,7 +135,7 @@ public class PreparationCoordinatorTest extends SysuiTestCase { setSectionIsLowPriority(false); PreparationCoordinator coordinator = new PreparationCoordinator( - mock(PreparationCoordinatorLogger.class), + new PreparationCoordinatorLogger(logcatLogBuffer()), mNotifInflater, mErrorManager, mock(NotifViewBarn.class), diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/ShadeEventCoordinatorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/ShadeEventCoordinatorTest.kt index 5793364a1ef5..069eec22cc34 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/ShadeEventCoordinatorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/ShadeEventCoordinatorTest.kt @@ -21,6 +21,7 @@ import android.testing.AndroidTestingRunner import android.testing.TestableLooper.RunWithLooper import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase +import com.android.systemui.dump.logcatLogBuffer import com.android.systemui.statusbar.notification.collection.NotifPipeline import com.android.systemui.statusbar.notification.collection.NotificationEntry import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder @@ -50,7 +51,7 @@ class ShadeEventCoordinatorTest : SysuiTestCase() { private lateinit var entry2: NotificationEntry @Mock private lateinit var pipeline: NotifPipeline - @Mock private lateinit var logger: ShadeEventCoordinatorLogger + private val logger = ShadeEventCoordinatorLogger(logcatLogBuffer()) @Mock private lateinit var executor: Executor @Mock private lateinit var notifRemovedByUserCallback: Runnable @Mock private lateinit var shadeEmptiedCallback: Runnable diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifCollectionInconsistencyTrackerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifCollectionInconsistencyTrackerTest.kt index 6eb391a631f3..0b61a8df4891 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifCollectionInconsistencyTrackerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifCollectionInconsistencyTrackerTest.kt @@ -21,14 +21,15 @@ import android.testing.AndroidTestingRunner import android.testing.TestableLooper.RunWithLooper import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase +import com.android.systemui.dump.logcatLogBuffer import com.android.systemui.statusbar.notification.collection.NotificationEntry import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder import com.android.systemui.util.mockito.eq -import com.android.systemui.util.mockito.mock import org.junit.Before import org.junit.Test import org.junit.runner.RunWith import org.mockito.Mockito.clearInvocations +import org.mockito.Mockito.spy import org.mockito.Mockito.verify import org.mockito.Mockito.verifyNoMoreInteractions @@ -36,7 +37,7 @@ import org.mockito.Mockito.verifyNoMoreInteractions @RunWith(AndroidTestingRunner::class) @RunWithLooper class NotifCollectionInconsistencyTrackerTest : SysuiTestCase() { - private val logger: NotifCollectionLogger = mock() + private val logger = spy(NotifCollectionLogger(logcatLogBuffer())) private val entry1: NotificationEntry = NotificationEntryBuilder().setId(1).build() private val entry2: NotificationEntry = NotificationEntryBuilder().setId(2).build() private val collectionSet = mutableSetOf<String>() diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/render/NodeSpecBuilderTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/render/NodeSpecBuilderTest.kt index ac254abe60b4..bad56a3413a2 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/render/NodeSpecBuilderTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/render/NodeSpecBuilderTest.kt @@ -18,6 +18,7 @@ package com.android.systemui.statusbar.notification.collection.render import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase +import com.android.systemui.dump.logcatLogBuffer import com.android.systemui.statusbar.notification.NotificationSectionsFeatureManager import com.android.systemui.statusbar.notification.collection.GroupEntry import com.android.systemui.statusbar.notification.collection.GroupEntryBuilder @@ -46,7 +47,7 @@ class NodeSpecBuilderTest : SysuiTestCase() { private val sectionsFeatureManager: NotificationSectionsFeatureManager = mock() private val sectionHeaderVisibilityProvider: SectionHeaderVisibilityProvider = mock() private val viewBarn: NotifViewBarn = mock() - private val logger: NodeSpecBuilderLogger = mock() + private val logger = NodeSpecBuilderLogger(mock(), logcatLogBuffer()) private var rootController: NodeController = buildFakeController("rootController") private var headerController0: NodeController = buildFakeController("header0") diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/render/ShadeViewDifferTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/render/ShadeViewDifferTest.kt index 6167b464c5fb..9a602728f4ba 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/render/ShadeViewDifferTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/render/ShadeViewDifferTest.kt @@ -22,7 +22,7 @@ import android.view.ViewGroup import android.widget.FrameLayout import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase -import com.android.systemui.util.mockito.mock +import com.android.systemui.dump.logcatLogBuffer import org.junit.Assert import org.junit.Before import org.junit.Test @@ -30,6 +30,7 @@ import org.junit.runner.RunWith import org.mockito.ArgumentMatchers.isNull import org.mockito.Mockito.anyBoolean import org.mockito.Mockito.matches +import org.mockito.Mockito.spy import org.mockito.Mockito.verify @SmallTest @@ -44,7 +45,7 @@ class ShadeViewDifferTest : SysuiTestCase() { private val controller5 = FakeController(mContext, "Controller5") private val controller6 = FakeController(mContext, "Controller6") private val controller7 = FakeController(mContext, "Controller7") - private val logger: ShadeViewDifferLogger = mock() + private val logger = spy(ShadeViewDifferLogger(logcatLogBuffer())) @Before fun setUp() { diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/HeadsUpViewBinderTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/HeadsUpViewBinderTest.java index ca6598726a85..04ffab3f3a1c 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/HeadsUpViewBinderTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/HeadsUpViewBinderTest.java @@ -16,9 +16,12 @@ package com.android.systemui.statusbar.notification.interruption; +import static com.android.systemui.dump.LogBufferHelperKt.logcatLogBuffer; + import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.clearInvocations; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; @@ -50,7 +53,8 @@ public class HeadsUpViewBinderTest extends SysuiTestCase { private HeadsUpViewBinder mViewBinder; @Mock private NotificationMessagingUtil mNotificationMessagingUtil; @Mock private RowContentBindStage mBindStage; - @Mock private HeadsUpViewBinderLogger mLogger; + private final HeadsUpViewBinderLogger mLogger = spy( + new HeadsUpViewBinderLogger(logcatLogBuffer())); @Mock private NotificationEntry mEntry; @Mock private ExpandableNotificationRow mRow; diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowControllerTest.kt index 2e68cec1fe63..764005b81a5d 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowControllerTest.kt @@ -24,6 +24,7 @@ import com.android.internal.logging.MetricsLogger import com.android.internal.statusbar.IStatusBarService import com.android.systemui.SysuiTestCase import com.android.systemui.classifier.FalsingCollector +import com.android.systemui.dump.logcatLogBuffer import com.android.systemui.flags.FeatureFlags import com.android.systemui.plugins.FalsingManager import com.android.systemui.plugins.PluginManager @@ -56,6 +57,7 @@ import org.junit.runner.RunWith import org.mockito.Mockito import org.mockito.Mockito.anyBoolean import org.mockito.Mockito.never +import org.mockito.Mockito.verify import org.mockito.Mockito.`when` as whenever @SmallTest @@ -70,7 +72,7 @@ class ExpandableNotificationRowControllerTest : SysuiTestCase() { private val activableNotificationViewController: ActivatableNotificationViewController = mock() private val rivSubComponentFactory: RemoteInputViewSubcomponent.Factory = mock() private val metricsLogger: MetricsLogger = mock() - private val logBufferLogger: NotificationRowLogger = mock() + private val logBufferLogger = NotificationRowLogger(logcatLogBuffer(), logcatLogBuffer()) private val listContainer: NotificationListContainer = mock() private val childrenContainer: NotificationChildrenContainer = mock() private val smartReplyConstants: SmartReplyConstants = mock() @@ -108,7 +110,7 @@ class ExpandableNotificationRowControllerTest : SysuiTestCase() { rivSubComponentFactory, metricsLogger, logBufferLogger, - mock<NotificationChildrenContainerLogger>(), + NotificationChildrenContainerLogger(logcatLogBuffer()), listContainer, smartReplyConstants, smartReplyController, @@ -149,13 +151,13 @@ class ExpandableNotificationRowControllerTest : SysuiTestCase() { whenever(view.isParentDismissed).thenReturn(true) Assert.assertTrue(controller.offerToKeepInParentForAnimation()) - Mockito.verify(view).setKeepInParentForDismissAnimation(true) + verify(view).setKeepInParentForDismissAnimation(true) } @Test fun offerKeepInParent_parentNotDismissed() { Assert.assertFalse(controller.offerToKeepInParentForAnimation()) - Mockito.verify(view, never()).setKeepInParentForDismissAnimation(anyBoolean()) + verify(view, never()).setKeepInParentForDismissAnimation(anyBoolean()) } @Test @@ -165,7 +167,7 @@ class ExpandableNotificationRowControllerTest : SysuiTestCase() { whenever(view.keepInParentForDismissAnimation()).thenReturn(true) Assert.assertTrue(controller.removeFromParentIfKeptForAnimation()) - Mockito.verify(parentView).removeChildNotification(view) + verify(parentView).removeChildNotification(view) } @Test @@ -186,9 +188,9 @@ class ExpandableNotificationRowControllerTest : SysuiTestCase() { controller.removeChild(childNodeController, /* isTransfer= */ true) // VERIFY the listContainer is not notified - Mockito.verify(childView).isChangingPosition = eq(true) - Mockito.verify(view).removeChildNotification(eq(childView)) - Mockito.verify(listContainer, never()).notifyGroupChildRemoved(any(), any()) + verify(childView).isChangingPosition = eq(true) + verify(view).removeChildNotification(eq(childView)) + verify(listContainer, never()).notifyGroupChildRemoved(any(), any()) } @Test @@ -200,8 +202,8 @@ class ExpandableNotificationRowControllerTest : SysuiTestCase() { controller.removeChild(childNodeController, /* isTransfer= */ false) // VERIFY the listContainer is passed the childrenContainer for transient animations - Mockito.verify(childView, never()).isChangingPosition = any() - Mockito.verify(view).removeChildNotification(eq(childView)) - Mockito.verify(listContainer).notifyGroupChildRemoved(eq(childView), eq(childrenContainer)) + verify(childView, never()).isChangingPosition = any() + verify(view).removeChildNotification(eq(childView)) + verify(listContainer).notifyGroupChildRemoved(eq(childView), eq(childrenContainer)) } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotifBindPipelineTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotifBindPipelineTest.java index bdd82fd98e0a..cf5b3cda6a18 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotifBindPipelineTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotifBindPipelineTest.java @@ -16,6 +16,8 @@ package com.android.systemui.statusbar.notification.row; +import static com.android.systemui.dump.LogBufferHelperKt.logcatLogBuffer; + import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; @@ -61,7 +63,7 @@ public class NotifBindPipelineTest extends SysuiTestCase { mBindPipeline = new NotifBindPipeline( collection, - mock(NotifBindPipelineLogger.class), + new NotifBindPipelineLogger(logcatLogBuffer()), TestableLooper.get(this).getLooper()); mBindPipeline.setStage(mStage); 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 d21029d33d5e..1ab2b388de83 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 @@ -21,6 +21,7 @@ import static android.app.Notification.FLAG_FSI_REQUESTED_BUT_DENIED; import static android.app.NotificationManager.IMPORTANCE_DEFAULT; import static android.app.NotificationManager.IMPORTANCE_HIGH; +import static com.android.systemui.dump.LogBufferHelperKt.logcatLogBuffer; import static com.android.systemui.statusbar.NotificationEntryHelper.modifyRanking; import static org.junit.Assert.assertEquals; @@ -178,13 +179,13 @@ public class NotificationTestHelper { contentBinder.setInflateSynchronously(true); mBindStage = new RowContentBindStage(contentBinder, mock(NotifInflationErrorManager.class), - mock(RowContentBindStageLogger.class)); + new RowContentBindStageLogger(logcatLogBuffer())); CommonNotifCollection collection = mock(CommonNotifCollection.class); mBindPipeline = new NotifBindPipeline( collection, - mock(NotifBindPipelineLogger.class), + new NotifBindPipelineLogger(logcatLogBuffer()), mTestLooper.getLooper()); mBindPipeline.setStage(mBindStage); @@ -596,7 +597,7 @@ public class NotificationTestHelper { mock(NotificationGutsManager.class), mDismissibilityProvider, mock(MetricsLogger.class), - mock(NotificationChildrenContainerLogger.class), + new NotificationChildrenContainerLogger(logcatLogBuffer()), mock(SmartReplyConstants.class), mock(SmartReplyController.class), mFeatureFlags, diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/RowContentBindStageTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/RowContentBindStageTest.java index 7c99568ee75f..32f0fe7d136a 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/RowContentBindStageTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/RowContentBindStageTest.java @@ -16,6 +16,7 @@ package com.android.systemui.statusbar.notification.row; +import static com.android.systemui.dump.LogBufferHelperKt.logcatLogBuffer; import static com.android.systemui.statusbar.notification.row.NotificationRowContentBinder.FLAG_CONTENT_VIEW_ALL; import static com.android.systemui.statusbar.notification.row.NotificationRowContentBinder.FLAG_CONTENT_VIEW_CONTRACTED; import static com.android.systemui.statusbar.notification.row.NotificationRowContentBinder.FLAG_CONTENT_VIEW_EXPANDED; @@ -68,7 +69,7 @@ public class RowContentBindStageTest extends SysuiTestCase { mRowContentBindStage = new RowContentBindStage( mBinder, mock(NotifInflationErrorManager.class), - mock(RowContentBindStageLogger.class)); + new RowContentBindStageLogger(logcatLogBuffer())); mRowContentBindStage.createStageParams(mEntry); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutControllerTest.java index 07eadf7c9bb4..6f431be29d73 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutControllerTest.java @@ -16,6 +16,7 @@ package com.android.systemui.statusbar.notification.stack; +import static com.android.systemui.dump.LogBufferHelperKt.logcatLogBuffer; import static com.android.systemui.statusbar.StatusBarState.KEYGUARD; import static com.android.systemui.statusbar.StatusBarState.SHADE; import static com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.ROWS_ALL; @@ -154,8 +155,10 @@ public class NotificationStackScrollLayoutControllerTest extends SysuiTestCase { @Mock private VisibilityLocationProviderDelegator mVisibilityLocationProviderDelegator; @Mock private ShadeController mShadeController; @Mock private InteractionJankMonitor mJankMonitor; - @Mock private StackStateLogger mStackLogger; - @Mock private NotificationStackScrollLogger mLogger; + private final StackStateLogger mStackLogger = new StackStateLogger(logcatLogBuffer(), + logcatLogBuffer()); + private final NotificationStackScrollLogger mLogger = new NotificationStackScrollLogger( + logcatLogBuffer(), logcatLogBuffer(), logcatLogBuffer()); @Mock private NotificationStackSizeCalculator mNotificationStackSizeCalculator; @Mock private NotificationTargetsHelper mNotificationTargetsHelper; @Mock private SecureSettings mSecureSettings; 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 6fda56c8717a..a2be5b298c45 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 @@ -16,6 +16,8 @@ package com.android.systemui.statusbar.phone; +import static com.android.systemui.dump.LogBufferHelperKt.logcatLogBuffer; + import static junit.framework.Assert.assertFalse; import static junit.framework.Assert.assertTrue; @@ -61,7 +63,8 @@ public class HeadsUpManagerPhoneTest extends AlertingNotificationManagerTest { private HeadsUpManagerPhone mHeadsUpManager; - @Mock private HeadsUpManagerLogger mHeadsUpManagerLogger; + private final HeadsUpManagerLogger mHeadsUpManagerLogger = new HeadsUpManagerLogger( + logcatLogBuffer()); @Mock private GroupMembershipManager mGroupManager; @Mock private VisualStabilityProvider mVSProvider; @Mock private StatusBarStateController mStatusBarStateController; diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarterTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarterTest.java index 33144f233a71..08a76ef01e77 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarterTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarterTest.java @@ -20,6 +20,7 @@ import static android.service.notification.NotificationListenerService.REASON_CL import static com.android.dx.mockito.inline.extended.ExtendedMockito.mockitoSession; import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify; +import static com.android.systemui.dump.LogBufferHelperKt.logcatLogBuffer; import static com.google.common.truth.Truth.assertThat; @@ -42,6 +43,7 @@ import android.app.KeyguardManager; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; +import android.content.Intent; import android.content.pm.ActivityInfo; import android.content.pm.ResolveInfo; import android.os.Handler; @@ -248,7 +250,7 @@ public class StatusBarNotificationActivityStarterTest extends SysuiTestCase { mock(StatusBarRemoteInputCallback.class), mActivityIntentHelper, mock(MetricsLogger.class), - mock(StatusBarNotificationActivityStarterLogger.class), + new StatusBarNotificationActivityStarterLogger(logcatLogBuffer()), mOnUserInteractionCallback, mock(NotificationPresenter.class), mock(ShadeViewController.class), @@ -410,10 +412,12 @@ public class StatusBarNotificationActivityStarterTest extends SysuiTestCase { @Test public void testOnFullScreenIntentWhenDozing_wakeUpDevice() { // GIVEN entry that can has a full screen intent that can show + PendingIntent fullScreenIntent = PendingIntent.getActivity(mContext, 1, + new Intent("fake_full_screen"), PendingIntent.FLAG_IMMUTABLE); Notification.Builder nb = new Notification.Builder(mContext, "a") .setContentTitle("foo") .setSmallIcon(android.R.drawable.sym_def_app_icon) - .setFullScreenIntent(mock(PendingIntent.class), true); + .setFullScreenIntent(fullScreenIntent, true); StatusBarNotification sbn = new StatusBarNotification("pkg", "pkg", 0, "tag" + System.currentTimeMillis(), 0, 0, nb.build(), new UserHandle(0), null, 0); @@ -437,6 +441,7 @@ public class StatusBarNotificationActivityStarterTest extends SysuiTestCase { // GIVEN entry that can has a full screen intent that can show PendingIntent mockFullScreenIntent = mock(PendingIntent.class); when(mockFullScreenIntent.getCreatorUid()).thenReturn(kTestUid); + when(mockFullScreenIntent.getIntent()).thenReturn(new Intent("fake_full_screen")); ResolveInfo resolveInfo = new ResolveInfo(); resolveInfo.activityInfo = new ActivityInfo(); resolveInfo.activityInfo.name = kTestActivityName; 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 a797e032a353..0e47dc557be9 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 @@ -16,6 +16,8 @@ package com.android.systemui.statusbar.policy; +import static com.android.systemui.dump.LogBufferHelperKt.logcatLogBuffer; + import static com.google.common.truth.Truth.assertThat; import static junit.framework.Assert.assertEquals; @@ -26,6 +28,7 @@ import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -70,7 +73,7 @@ public class HeadsUpManagerTest extends AlertingNotificationManagerTest { @Mock private NotificationEntry mEntry; @Mock private StatusBarNotification mSbn; @Mock private Notification mNotification; - @Mock private HeadsUpManagerLogger mLogger; + private final HeadsUpManagerLogger mLogger = spy(new HeadsUpManagerLogger(logcatLogBuffer())); @Mock private AccessibilityManagerWrapper mAccessibilityMgr; private final class TestableHeadsUpManager extends HeadsUpManager { @@ -94,6 +97,7 @@ public class HeadsUpManagerTest extends AlertingNotificationManagerTest { public void setUp() { initMocks(this); when(mEntry.getSbn()).thenReturn(mSbn); + when(mEntry.getKey()).thenReturn("entryKey"); when(mSbn.getNotification()).thenReturn(mNotification); super.setUp(); mHeadsUpManager = new TestableHeadsUpManager(mContext, mLogger, mTestHandler, diff --git a/packages/SystemUI/tests/src/com/android/systemui/toast/ToastUITest.java b/packages/SystemUI/tests/src/com/android/systemui/toast/ToastUITest.java index f299ad45a7ea..7593e8429e60 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/toast/ToastUITest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/toast/ToastUITest.java @@ -18,6 +18,8 @@ package com.android.systemui.toast; import static android.view.accessibility.AccessibilityManager.STATE_FLAG_ACCESSIBILITY_ENABLED; +import static com.android.systemui.dump.LogBufferHelperKt.logcatLogBuffer; + import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; @@ -63,7 +65,6 @@ import com.android.internal.util.IntPair; import com.android.systemui.R; import com.android.systemui.SysuiTestCase; import com.android.systemui.dump.DumpManager; -import com.android.systemui.flags.FeatureFlags; import com.android.systemui.plugins.PluginManager; import com.android.systemui.statusbar.CommandQueue; @@ -110,8 +111,7 @@ public class ToastUITest extends SysuiTestCase { @Mock private IAccessibilityManager mAccessibilityManager; @Mock private PluginManager mPluginManager; @Mock private DumpManager mDumpManager; - @Mock private ToastLogger mToastLogger; - @Mock private FeatureFlags mFeatureFlags; + private final ToastLogger mToastLogger = spy(new ToastLogger(logcatLogBuffer())); @Mock private PackageManager mPackageManager; @Mock private ITransientNotificationCallback mCallback; |