Merge "Replace mocked loggers by real ones in SystemUI tests" into udc-qpr-dev

This commit is contained in:
Matías Hernández
2023-08-03 10:03:19 +00:00
committed by Android (Google) Code Review
25 changed files with 100 additions and 55 deletions

View File

@@ -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. * Creates a LogBuffer that will echo everything to logcat, which is useful for debugging tests.
*/ */
@JvmOverloads
fun logcatLogBuffer(name: String = "EchoToLogcatLogBuffer") = fun logcatLogBuffer(name: String = "EchoToLogcatLogBuffer") =
LogBuffer(name, 50, LogcatEchoTrackerAlways()) LogBuffer(name, 50, LogcatEchoTrackerAlways())

View File

@@ -19,6 +19,7 @@ package com.android.systemui.shade;
import static android.content.res.Configuration.ORIENTATION_PORTRAIT; import static android.content.res.Configuration.ORIENTATION_PORTRAIT;
import static com.android.keyguard.KeyguardClockSwitch.LARGE; import static com.android.keyguard.KeyguardClockSwitch.LARGE;
import static com.android.systemui.dump.LogBufferHelperKt.logcatLogBuffer;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
@@ -221,7 +222,7 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase {
@Mock protected StatusBarTouchableRegionManager mStatusBarTouchableRegionManager; @Mock protected StatusBarTouchableRegionManager mStatusBarTouchableRegionManager;
@Mock protected KeyguardStateController mKeyguardStateController; @Mock protected KeyguardStateController mKeyguardStateController;
@Mock protected DozeLog mDozeLog; @Mock protected DozeLog mDozeLog;
@Mock protected ShadeLogger mShadeLog; private final ShadeLogger mShadeLog = new ShadeLogger(logcatLogBuffer());
@Mock protected CommandQueue mCommandQueue; @Mock protected CommandQueue mCommandQueue;
@Mock protected VibratorHelper mVibratorHelper; @Mock protected VibratorHelper mVibratorHelper;
@Mock protected LatencyTracker mLatencyTracker; @Mock protected LatencyTracker mLatencyTracker;
@@ -309,7 +310,7 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase {
@Mock protected MotionEvent mDownMotionEvent; @Mock protected MotionEvent mDownMotionEvent;
@Mock protected CoroutineDispatcher mMainDispatcher; @Mock protected CoroutineDispatcher mMainDispatcher;
@Mock protected KeyguardSliceViewController mKeyguardSliceViewController; @Mock protected KeyguardSliceViewController mKeyguardSliceViewController;
@Mock protected KeyguardLogger mKeyguardLogger; private final KeyguardLogger mKeyguardLogger = new KeyguardLogger(logcatLogBuffer());
@Mock protected KeyguardStatusView mKeyguardStatusView; @Mock protected KeyguardStatusView mKeyguardStatusView;
@Captor @Captor
protected ArgumentCaptor<NotificationStackScrollLayout.OnEmptySpaceClickListener> protected ArgumentCaptor<NotificationStackScrollLayout.OnEmptySpaceClickListener>
@@ -518,7 +519,7 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase {
mKeyguardBypassController, mKeyguardBypassController,
mDozeParameters, mDozeParameters,
mScreenOffAnimationController, mScreenOffAnimationController,
mock(NotificationWakeUpCoordinatorLogger.class)); new NotificationWakeUpCoordinatorLogger(logcatLogBuffer()));
mConfigurationController = new ConfigurationControllerImpl(mContext); mConfigurationController = new ConfigurationControllerImpl(mContext);
PulseExpansionHandler expansionHandler = new PulseExpansionHandler( PulseExpansionHandler expansionHandler = new PulseExpansionHandler(
mContext, mContext,

View File

@@ -19,6 +19,7 @@ package com.android.systemui.statusbar;
import static android.app.Notification.FLAG_FSI_REQUESTED_BUT_DENIED; 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 com.android.systemui.statusbar.notification.row.NotificationRowContentBinder.FLAG_CONTENT_VIEW_CONTRACTED;
import static junit.framework.Assert.assertFalse; 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.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder; import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
import com.android.systemui.statusbar.policy.HeadsUpManager;
import com.android.systemui.statusbar.policy.HeadsUpManagerLogger; import com.android.systemui.statusbar.policy.HeadsUpManagerLogger;
import org.junit.After; import org.junit.After;
@@ -88,7 +88,7 @@ public class AlertingNotificationManagerTest extends SysuiTestCase {
private AlertEntry mLastCreatedEntry; private AlertEntry mLastCreatedEntry;
private TestableAlertingNotificationManager(Handler handler) { private TestableAlertingNotificationManager(Handler handler) {
super(mock(HeadsUpManagerLogger.class), handler); super(new HeadsUpManagerLogger(logcatLogBuffer()), handler);
mMinimumDisplayTime = TEST_MINIMUM_DISPLAY_TIME; mMinimumDisplayTime = TEST_MINIMUM_DISPLAY_TIME;
mStickyDisplayTime = TEST_STICKY_DISPLAY_TIME; mStickyDisplayTime = TEST_STICKY_DISPLAY_TIME;
mAutoDismissNotificationDecay = TEST_AUTO_DISMISS_TIME; mAutoDismissNotificationDecay = TEST_AUTO_DISMISS_TIME;

View File

@@ -16,6 +16,8 @@
package com.android.systemui.statusbar; package com.android.systemui.statusbar;
import static com.android.systemui.dump.LogBufferHelperKt.logcatLogBuffer;
import static junit.framework.Assert.assertTrue; import static junit.framework.Assert.assertTrue;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
@@ -82,9 +84,9 @@ public class NotificationRemoteInputManagerTest extends SysuiTestCase {
mPowerInteractor, mPowerInteractor,
mStateController, mStateController,
mRemoteInputUriController, mRemoteInputUriController,
mock(RemoteInputControllerLogger.class), new RemoteInputControllerLogger(logcatLogBuffer()),
mClickNotifier, mClickNotifier,
mock(ActionClickLogger.class), new ActionClickLogger(logcatLogBuffer()),
mock(DumpManager.class)); mock(DumpManager.class));
mEntry = new NotificationEntryBuilder() mEntry = new NotificationEntryBuilder()
.setPkg(TEST_PACKAGE_NAME) .setPkg(TEST_PACKAGE_NAME)

View File

@@ -22,6 +22,7 @@ import androidx.core.animation.AnimatorTestRule
import androidx.test.filters.SmallTest import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase import com.android.systemui.SysuiTestCase
import com.android.systemui.dump.DumpManager import com.android.systemui.dump.DumpManager
import com.android.systemui.dump.logcatLogBuffer
import com.android.systemui.plugins.statusbar.StatusBarStateController import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.shade.ShadeViewController.Companion.WAKEUP_ANIMATION_DELAY_MS import com.android.systemui.shade.ShadeViewController.Companion.WAKEUP_ANIMATION_DELAY_MS
import com.android.systemui.statusbar.StatusBarState import com.android.systemui.statusbar.StatusBarState
@@ -59,7 +60,7 @@ class NotificationWakeUpCoordinatorTest : SysuiTestCase() {
private val bypassController: KeyguardBypassController = mock() private val bypassController: KeyguardBypassController = mock()
private val dozeParameters: DozeParameters = mock() private val dozeParameters: DozeParameters = mock()
private val screenOffAnimationController: ScreenOffAnimationController = mock() private val screenOffAnimationController: ScreenOffAnimationController = mock()
private val logger: NotificationWakeUpCoordinatorLogger = mock() private val logger = NotificationWakeUpCoordinatorLogger(logcatLogBuffer())
private val stackScrollerController: NotificationStackScrollLayoutController = mock() private val stackScrollerController: NotificationStackScrollLayoutController = mock()
private val wakeUpListener: NotificationWakeUpCoordinator.WakeUpListener = mock() private val wakeUpListener: NotificationWakeUpCoordinator.WakeUpListener = mock()

View File

@@ -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.DISMISSAL_SHADE;
import static android.service.notification.NotificationStats.DISMISS_SENTIMENT_NEUTRAL; 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_NOT_CANCELED;
import static com.android.systemui.statusbar.notification.collection.NotifCollection.REASON_UNKNOWN; import static com.android.systemui.statusbar.notification.collection.NotifCollection.REASON_UNKNOWN;
import static com.android.systemui.statusbar.notification.collection.NotificationEntry.DismissState.DISMISSED; 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.inOrder;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never; import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times; import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.verifyNoMoreInteractions;
@@ -120,7 +122,7 @@ public class NotifCollectionTest extends SysuiTestCase {
@Mock private IStatusBarService mStatusBarService; @Mock private IStatusBarService mStatusBarService;
@Mock private NotifPipelineFlags mNotifPipelineFlags; @Mock private NotifPipelineFlags mNotifPipelineFlags;
@Mock private NotifCollectionLogger mLogger; private final NotifCollectionLogger mLogger = spy(new NotifCollectionLogger(logcatLogBuffer()));
@Mock private LogBufferEulogizer mEulogizer; @Mock private LogBufferEulogizer mEulogizer;
@Mock private Handler mMainHandler; @Mock private Handler mMainHandler;

View File

@@ -16,6 +16,7 @@
package com.android.systemui.statusbar.notification.collection; 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.ListDumper.dumpTree;
import static com.android.systemui.statusbar.notification.collection.ShadeListBuilder.MAX_CONSECUTIVE_REENTRANT_REBUILDS; 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 { public class ShadeListBuilderTest extends SysuiTestCase {
private ShadeListBuilder mListBuilder; private ShadeListBuilder mListBuilder;
private FakeSystemClock mSystemClock = new FakeSystemClock(); private final FakeSystemClock mSystemClock = new FakeSystemClock();
private final NotifPipelineFlags mNotifPipelineFlags = mock(NotifPipelineFlags.class);
@Mock private NotifPipelineFlags mNotifPipelineFlags; private final ShadeListBuilderLogger mLogger = new ShadeListBuilderLogger(
@Mock private ShadeListBuilderLogger mLogger; mNotifPipelineFlags, logcatLogBuffer());
@Mock private DumpManager mDumpManager; @Mock private DumpManager mDumpManager;
@Mock private NotifCollection mNotifCollection; @Mock private NotifCollection mNotifCollection;
@Mock private NotificationInteractionTracker mInteractionTracker; @Mock private NotificationInteractionTracker mInteractionTracker;

View File

@@ -16,6 +16,8 @@
package com.android.systemui.statusbar.notification.collection.coalescer; 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.any;
import static org.mockito.ArgumentMatchers.anyList; import static org.mockito.ArgumentMatchers.anyList;
import static org.mockito.Mockito.clearInvocations; import static org.mockito.Mockito.clearInvocations;
@@ -62,8 +64,7 @@ public class GroupCoalescerTest extends SysuiTestCase {
@Mock private NotificationListener mListenerService; @Mock private NotificationListener mListenerService;
@Mock private GroupCoalescer.BatchableNotificationHandler mListener; @Mock private GroupCoalescer.BatchableNotificationHandler mListener;
@Mock private GroupCoalescerLogger mLogger; private final GroupCoalescerLogger mLogger = new GroupCoalescerLogger(logcatLogBuffer());
@Captor private ArgumentCaptor<NotificationHandler> mListenerCaptor; @Captor private ArgumentCaptor<NotificationHandler> mListenerCaptor;
private final NoManSimulator mNoMan = new NoManSimulator(); private final NoManSimulator mNoMan = new NoManSimulator();

View File

@@ -20,6 +20,7 @@ import android.testing.TestableLooper.RunWithLooper
import androidx.test.filters.SmallTest import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase import com.android.systemui.SysuiTestCase
import com.android.systemui.dump.DumpManager 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.NotifPipeline
import com.android.systemui.statusbar.notification.collection.NotificationEntry import com.android.systemui.statusbar.notification.collection.NotificationEntry
import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder 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.NotifGutsViewListener
import com.android.systemui.statusbar.notification.collection.render.NotifGutsViewManager 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
import com.android.systemui.statusbar.notification.row.NotificationGuts.GutsContent
import com.android.systemui.util.mockito.withArgCaptor import com.android.systemui.util.mockito.withArgCaptor
import com.google.common.truth.Truth.assertThat import com.google.common.truth.Truth.assertThat
import org.junit.Before import org.junit.Before
@@ -36,6 +38,7 @@ import org.junit.runner.RunWith
import org.mockito.Mock import org.mockito.Mock
import org.mockito.Mockito.mock import org.mockito.Mockito.mock
import org.mockito.Mockito.verify import org.mockito.Mockito.verify
import org.mockito.Mockito.`when` as whenever
import org.mockito.MockitoAnnotations.initMocks import org.mockito.MockitoAnnotations.initMocks
@SmallTest @SmallTest
@@ -52,8 +55,9 @@ class GutsCoordinatorTest : SysuiTestCase() {
@Mock private lateinit var notifGutsViewManager: NotifGutsViewManager @Mock private lateinit var notifGutsViewManager: NotifGutsViewManager
@Mock private lateinit var pipeline: NotifPipeline @Mock private lateinit var pipeline: NotifPipeline
@Mock private lateinit var dumpManager: DumpManager @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 lifetimeExtenderCallback: OnEndLifetimeExtensionCallback
@Mock private lateinit var notificationGuts: NotificationGuts
@Before @Before
fun setUp() { fun setUp() {
@@ -69,12 +73,13 @@ class GutsCoordinatorTest : SysuiTestCase() {
notifLifetimeExtender.setCallback(lifetimeExtenderCallback) notifLifetimeExtender.setCallback(lifetimeExtenderCallback)
entry1 = NotificationEntryBuilder().setId(1).build() entry1 = NotificationEntryBuilder().setId(1).build()
entry2 = NotificationEntryBuilder().setId(2).build() entry2 = NotificationEntryBuilder().setId(2).build()
whenever(notificationGuts.gutsContent).thenReturn(mock(GutsContent::class.java))
} }
@Test @Test
fun testSimpleLifetimeExtension() { fun testSimpleLifetimeExtension() {
assertThat(notifLifetimeExtender.maybeExtendLifetime(entry1, 0)).isFalse() assertThat(notifLifetimeExtender.maybeExtendLifetime(entry1, 0)).isFalse()
notifGutsViewListener.onGutsOpen(entry1, mock(NotificationGuts::class.java)) notifGutsViewListener.onGutsOpen(entry1, notificationGuts)
assertThat(notifLifetimeExtender.maybeExtendLifetime(entry1, 0)).isTrue() assertThat(notifLifetimeExtender.maybeExtendLifetime(entry1, 0)).isTrue()
notifGutsViewListener.onGutsClose(entry1) notifGutsViewListener.onGutsClose(entry1)
verify(lifetimeExtenderCallback).onEndLifetimeExtension(notifLifetimeExtender, entry1) verify(lifetimeExtenderCallback).onEndLifetimeExtension(notifLifetimeExtender, entry1)
@@ -84,9 +89,9 @@ class GutsCoordinatorTest : SysuiTestCase() {
@Test @Test
fun testDoubleOpenLifetimeExtension() { fun testDoubleOpenLifetimeExtension() {
assertThat(notifLifetimeExtender.maybeExtendLifetime(entry1, 0)).isFalse() assertThat(notifLifetimeExtender.maybeExtendLifetime(entry1, 0)).isFalse()
notifGutsViewListener.onGutsOpen(entry1, mock(NotificationGuts::class.java)) notifGutsViewListener.onGutsOpen(entry1, notificationGuts)
assertThat(notifLifetimeExtender.maybeExtendLifetime(entry1, 0)).isTrue() assertThat(notifLifetimeExtender.maybeExtendLifetime(entry1, 0)).isTrue()
notifGutsViewListener.onGutsOpen(entry1, mock(NotificationGuts::class.java)) notifGutsViewListener.onGutsOpen(entry1, notificationGuts)
assertThat(notifLifetimeExtender.maybeExtendLifetime(entry1, 0)).isTrue() assertThat(notifLifetimeExtender.maybeExtendLifetime(entry1, 0)).isTrue()
notifGutsViewListener.onGutsClose(entry1) notifGutsViewListener.onGutsClose(entry1)
verify(lifetimeExtenderCallback).onEndLifetimeExtension(notifLifetimeExtender, entry1) verify(lifetimeExtenderCallback).onEndLifetimeExtension(notifLifetimeExtender, entry1)
@@ -97,10 +102,10 @@ class GutsCoordinatorTest : SysuiTestCase() {
fun testTwoEntryLifetimeExtension() { fun testTwoEntryLifetimeExtension() {
assertThat(notifLifetimeExtender.maybeExtendLifetime(entry1, 0)).isFalse() assertThat(notifLifetimeExtender.maybeExtendLifetime(entry1, 0)).isFalse()
assertThat(notifLifetimeExtender.maybeExtendLifetime(entry2, 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(entry1, 0)).isTrue()
assertThat(notifLifetimeExtender.maybeExtendLifetime(entry2, 0)).isFalse() 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(entry1, 0)).isTrue()
assertThat(notifLifetimeExtender.maybeExtendLifetime(entry2, 0)).isTrue() assertThat(notifLifetimeExtender.maybeExtendLifetime(entry2, 0)).isTrue()
notifGutsViewListener.onGutsClose(entry1) notifGutsViewListener.onGutsClose(entry1)

View File

@@ -25,6 +25,7 @@ import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase import com.android.systemui.SysuiTestCase
import com.android.systemui.coroutines.advanceTimeBy import com.android.systemui.coroutines.advanceTimeBy
import com.android.systemui.dump.DumpManager 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.FakeKeyguardRepository
import com.android.systemui.keyguard.data.repository.FakeKeyguardTransitionRepository import com.android.systemui.keyguard.data.repository.FakeKeyguardTransitionRepository
import com.android.systemui.keyguard.shared.model.KeyguardState import com.android.systemui.keyguard.shared.model.KeyguardState
@@ -606,7 +607,7 @@ class KeyguardCoordinatorTest : SysuiTestCase() {
keyguardNotifVisibilityProvider, keyguardNotifVisibilityProvider,
keyguardRepository, keyguardRepository,
keyguardTransitionRepository, keyguardTransitionRepository,
mock<KeyguardCoordinatorLogger>(), KeyguardCoordinatorLogger(logcatLogBuffer()),
testScope.backgroundScope, testScope.backgroundScope,
sectionHeaderVisibilityProvider, sectionHeaderVisibilityProvider,
fakeSettings, fakeSettings,

View File

@@ -18,6 +18,7 @@ package com.android.systemui.statusbar.notification.collection.coordinator;
import static android.provider.Settings.Secure.SHOW_NOTIFICATION_SNOOZE; 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 com.android.systemui.statusbar.notification.collection.GroupEntry.ROOT_ENTRY;
import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertFalse;
@@ -134,7 +135,7 @@ public class PreparationCoordinatorTest extends SysuiTestCase {
setSectionIsLowPriority(false); setSectionIsLowPriority(false);
PreparationCoordinator coordinator = new PreparationCoordinator( PreparationCoordinator coordinator = new PreparationCoordinator(
mock(PreparationCoordinatorLogger.class), new PreparationCoordinatorLogger(logcatLogBuffer()),
mNotifInflater, mNotifInflater,
mErrorManager, mErrorManager,
mock(NotifViewBarn.class), mock(NotifViewBarn.class),

View File

@@ -21,6 +21,7 @@ import android.testing.AndroidTestingRunner
import android.testing.TestableLooper.RunWithLooper import android.testing.TestableLooper.RunWithLooper
import androidx.test.filters.SmallTest import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase 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.NotifPipeline
import com.android.systemui.statusbar.notification.collection.NotificationEntry import com.android.systemui.statusbar.notification.collection.NotificationEntry
import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder
@@ -50,7 +51,7 @@ class ShadeEventCoordinatorTest : SysuiTestCase() {
private lateinit var entry2: NotificationEntry private lateinit var entry2: NotificationEntry
@Mock private lateinit var pipeline: NotifPipeline @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 executor: Executor
@Mock private lateinit var notifRemovedByUserCallback: Runnable @Mock private lateinit var notifRemovedByUserCallback: Runnable
@Mock private lateinit var shadeEmptiedCallback: Runnable @Mock private lateinit var shadeEmptiedCallback: Runnable

View File

@@ -21,14 +21,15 @@ import android.testing.AndroidTestingRunner
import android.testing.TestableLooper.RunWithLooper import android.testing.TestableLooper.RunWithLooper
import androidx.test.filters.SmallTest import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase 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.NotificationEntry
import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder
import com.android.systemui.util.mockito.eq import com.android.systemui.util.mockito.eq
import com.android.systemui.util.mockito.mock
import org.junit.Before import org.junit.Before
import org.junit.Test import org.junit.Test
import org.junit.runner.RunWith import org.junit.runner.RunWith
import org.mockito.Mockito.clearInvocations import org.mockito.Mockito.clearInvocations
import org.mockito.Mockito.spy
import org.mockito.Mockito.verify import org.mockito.Mockito.verify
import org.mockito.Mockito.verifyNoMoreInteractions import org.mockito.Mockito.verifyNoMoreInteractions
@@ -36,7 +37,7 @@ import org.mockito.Mockito.verifyNoMoreInteractions
@RunWith(AndroidTestingRunner::class) @RunWith(AndroidTestingRunner::class)
@RunWithLooper @RunWithLooper
class NotifCollectionInconsistencyTrackerTest : SysuiTestCase() { class NotifCollectionInconsistencyTrackerTest : SysuiTestCase() {
private val logger: NotifCollectionLogger = mock() private val logger = spy(NotifCollectionLogger(logcatLogBuffer()))
private val entry1: NotificationEntry = NotificationEntryBuilder().setId(1).build() private val entry1: NotificationEntry = NotificationEntryBuilder().setId(1).build()
private val entry2: NotificationEntry = NotificationEntryBuilder().setId(2).build() private val entry2: NotificationEntry = NotificationEntryBuilder().setId(2).build()
private val collectionSet = mutableSetOf<String>() private val collectionSet = mutableSetOf<String>()

View File

@@ -18,6 +18,7 @@ package com.android.systemui.statusbar.notification.collection.render
import androidx.test.filters.SmallTest import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase import com.android.systemui.SysuiTestCase
import com.android.systemui.dump.logcatLogBuffer
import com.android.systemui.statusbar.notification.NotificationSectionsFeatureManager import com.android.systemui.statusbar.notification.NotificationSectionsFeatureManager
import com.android.systemui.statusbar.notification.collection.GroupEntry import com.android.systemui.statusbar.notification.collection.GroupEntry
import com.android.systemui.statusbar.notification.collection.GroupEntryBuilder import com.android.systemui.statusbar.notification.collection.GroupEntryBuilder
@@ -46,7 +47,7 @@ class NodeSpecBuilderTest : SysuiTestCase() {
private val sectionsFeatureManager: NotificationSectionsFeatureManager = mock() private val sectionsFeatureManager: NotificationSectionsFeatureManager = mock()
private val sectionHeaderVisibilityProvider: SectionHeaderVisibilityProvider = mock() private val sectionHeaderVisibilityProvider: SectionHeaderVisibilityProvider = mock()
private val viewBarn: NotifViewBarn = 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 rootController: NodeController = buildFakeController("rootController")
private var headerController0: NodeController = buildFakeController("header0") private var headerController0: NodeController = buildFakeController("header0")

View File

@@ -22,7 +22,7 @@ import android.view.ViewGroup
import android.widget.FrameLayout import android.widget.FrameLayout
import androidx.test.filters.SmallTest import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase 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.Assert
import org.junit.Before import org.junit.Before
import org.junit.Test import org.junit.Test
@@ -30,6 +30,7 @@ import org.junit.runner.RunWith
import org.mockito.ArgumentMatchers.isNull import org.mockito.ArgumentMatchers.isNull
import org.mockito.Mockito.anyBoolean import org.mockito.Mockito.anyBoolean
import org.mockito.Mockito.matches import org.mockito.Mockito.matches
import org.mockito.Mockito.spy
import org.mockito.Mockito.verify import org.mockito.Mockito.verify
@SmallTest @SmallTest
@@ -44,7 +45,7 @@ class ShadeViewDifferTest : SysuiTestCase() {
private val controller5 = FakeController(mContext, "Controller5") private val controller5 = FakeController(mContext, "Controller5")
private val controller6 = FakeController(mContext, "Controller6") private val controller6 = FakeController(mContext, "Controller6")
private val controller7 = FakeController(mContext, "Controller7") private val controller7 = FakeController(mContext, "Controller7")
private val logger: ShadeViewDifferLogger = mock() private val logger = spy(ShadeViewDifferLogger(logcatLogBuffer()))
@Before @Before
fun setUp() { fun setUp() {

View File

@@ -16,9 +16,12 @@
package com.android.systemui.statusbar.notification.interruption; 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.any;
import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.clearInvocations; import static org.mockito.Mockito.clearInvocations;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
@@ -50,7 +53,8 @@ public class HeadsUpViewBinderTest extends SysuiTestCase {
private HeadsUpViewBinder mViewBinder; private HeadsUpViewBinder mViewBinder;
@Mock private NotificationMessagingUtil mNotificationMessagingUtil; @Mock private NotificationMessagingUtil mNotificationMessagingUtil;
@Mock private RowContentBindStage mBindStage; @Mock private RowContentBindStage mBindStage;
@Mock private HeadsUpViewBinderLogger mLogger; private final HeadsUpViewBinderLogger mLogger = spy(
new HeadsUpViewBinderLogger(logcatLogBuffer()));
@Mock private NotificationEntry mEntry; @Mock private NotificationEntry mEntry;
@Mock private ExpandableNotificationRow mRow; @Mock private ExpandableNotificationRow mRow;

View File

@@ -24,6 +24,7 @@ import com.android.internal.logging.MetricsLogger
import com.android.internal.statusbar.IStatusBarService import com.android.internal.statusbar.IStatusBarService
import com.android.systemui.SysuiTestCase import com.android.systemui.SysuiTestCase
import com.android.systemui.classifier.FalsingCollector import com.android.systemui.classifier.FalsingCollector
import com.android.systemui.dump.logcatLogBuffer
import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.FeatureFlags
import com.android.systemui.plugins.FalsingManager import com.android.systemui.plugins.FalsingManager
import com.android.systemui.plugins.PluginManager import com.android.systemui.plugins.PluginManager
@@ -56,6 +57,7 @@ import org.junit.runner.RunWith
import org.mockito.Mockito import org.mockito.Mockito
import org.mockito.Mockito.anyBoolean import org.mockito.Mockito.anyBoolean
import org.mockito.Mockito.never import org.mockito.Mockito.never
import org.mockito.Mockito.verify
import org.mockito.Mockito.`when` as whenever import org.mockito.Mockito.`when` as whenever
@SmallTest @SmallTest
@@ -70,7 +72,7 @@ class ExpandableNotificationRowControllerTest : SysuiTestCase() {
private val activableNotificationViewController: ActivatableNotificationViewController = mock() private val activableNotificationViewController: ActivatableNotificationViewController = mock()
private val rivSubComponentFactory: RemoteInputViewSubcomponent.Factory = mock() private val rivSubComponentFactory: RemoteInputViewSubcomponent.Factory = mock()
private val metricsLogger: MetricsLogger = mock() private val metricsLogger: MetricsLogger = mock()
private val logBufferLogger: NotificationRowLogger = mock() private val logBufferLogger = NotificationRowLogger(logcatLogBuffer(), logcatLogBuffer())
private val listContainer: NotificationListContainer = mock() private val listContainer: NotificationListContainer = mock()
private val childrenContainer: NotificationChildrenContainer = mock() private val childrenContainer: NotificationChildrenContainer = mock()
private val smartReplyConstants: SmartReplyConstants = mock() private val smartReplyConstants: SmartReplyConstants = mock()
@@ -108,7 +110,7 @@ class ExpandableNotificationRowControllerTest : SysuiTestCase() {
rivSubComponentFactory, rivSubComponentFactory,
metricsLogger, metricsLogger,
logBufferLogger, logBufferLogger,
mock<NotificationChildrenContainerLogger>(), NotificationChildrenContainerLogger(logcatLogBuffer()),
listContainer, listContainer,
smartReplyConstants, smartReplyConstants,
smartReplyController, smartReplyController,
@@ -149,13 +151,13 @@ class ExpandableNotificationRowControllerTest : SysuiTestCase() {
whenever(view.isParentDismissed).thenReturn(true) whenever(view.isParentDismissed).thenReturn(true)
Assert.assertTrue(controller.offerToKeepInParentForAnimation()) Assert.assertTrue(controller.offerToKeepInParentForAnimation())
Mockito.verify(view).setKeepInParentForDismissAnimation(true) verify(view).setKeepInParentForDismissAnimation(true)
} }
@Test @Test
fun offerKeepInParent_parentNotDismissed() { fun offerKeepInParent_parentNotDismissed() {
Assert.assertFalse(controller.offerToKeepInParentForAnimation()) Assert.assertFalse(controller.offerToKeepInParentForAnimation())
Mockito.verify(view, never()).setKeepInParentForDismissAnimation(anyBoolean()) verify(view, never()).setKeepInParentForDismissAnimation(anyBoolean())
} }
@Test @Test
@@ -165,7 +167,7 @@ class ExpandableNotificationRowControllerTest : SysuiTestCase() {
whenever(view.keepInParentForDismissAnimation()).thenReturn(true) whenever(view.keepInParentForDismissAnimation()).thenReturn(true)
Assert.assertTrue(controller.removeFromParentIfKeptForAnimation()) Assert.assertTrue(controller.removeFromParentIfKeptForAnimation())
Mockito.verify(parentView).removeChildNotification(view) verify(parentView).removeChildNotification(view)
} }
@Test @Test
@@ -186,9 +188,9 @@ class ExpandableNotificationRowControllerTest : SysuiTestCase() {
controller.removeChild(childNodeController, /* isTransfer= */ true) controller.removeChild(childNodeController, /* isTransfer= */ true)
// VERIFY the listContainer is not notified // VERIFY the listContainer is not notified
Mockito.verify(childView).isChangingPosition = eq(true) verify(childView).isChangingPosition = eq(true)
Mockito.verify(view).removeChildNotification(eq(childView)) verify(view).removeChildNotification(eq(childView))
Mockito.verify(listContainer, never()).notifyGroupChildRemoved(any(), any()) verify(listContainer, never()).notifyGroupChildRemoved(any(), any())
} }
@Test @Test
@@ -200,8 +202,8 @@ class ExpandableNotificationRowControllerTest : SysuiTestCase() {
controller.removeChild(childNodeController, /* isTransfer= */ false) controller.removeChild(childNodeController, /* isTransfer= */ false)
// VERIFY the listContainer is passed the childrenContainer for transient animations // VERIFY the listContainer is passed the childrenContainer for transient animations
Mockito.verify(childView, never()).isChangingPosition = any() verify(childView, never()).isChangingPosition = any()
Mockito.verify(view).removeChildNotification(eq(childView)) verify(view).removeChildNotification(eq(childView))
Mockito.verify(listContainer).notifyGroupChildRemoved(eq(childView), eq(childrenContainer)) verify(listContainer).notifyGroupChildRemoved(eq(childView), eq(childrenContainer))
} }
} }

View File

@@ -16,6 +16,8 @@
package com.android.systemui.statusbar.notification.row; 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.mock;
import static org.mockito.Mockito.never; import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
@@ -61,7 +63,7 @@ public class NotifBindPipelineTest extends SysuiTestCase {
mBindPipeline = new NotifBindPipeline( mBindPipeline = new NotifBindPipeline(
collection, collection,
mock(NotifBindPipelineLogger.class), new NotifBindPipelineLogger(logcatLogBuffer()),
TestableLooper.get(this).getLooper()); TestableLooper.get(this).getLooper());
mBindPipeline.setStage(mStage); mBindPipeline.setStage(mStage);

View File

@@ -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_DEFAULT;
import static android.app.NotificationManager.IMPORTANCE_HIGH; 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 com.android.systemui.statusbar.NotificationEntryHelper.modifyRanking;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
@@ -178,13 +179,13 @@ public class NotificationTestHelper {
contentBinder.setInflateSynchronously(true); contentBinder.setInflateSynchronously(true);
mBindStage = new RowContentBindStage(contentBinder, mBindStage = new RowContentBindStage(contentBinder,
mock(NotifInflationErrorManager.class), mock(NotifInflationErrorManager.class),
mock(RowContentBindStageLogger.class)); new RowContentBindStageLogger(logcatLogBuffer()));
CommonNotifCollection collection = mock(CommonNotifCollection.class); CommonNotifCollection collection = mock(CommonNotifCollection.class);
mBindPipeline = new NotifBindPipeline( mBindPipeline = new NotifBindPipeline(
collection, collection,
mock(NotifBindPipelineLogger.class), new NotifBindPipelineLogger(logcatLogBuffer()),
mTestLooper.getLooper()); mTestLooper.getLooper());
mBindPipeline.setStage(mBindStage); mBindPipeline.setStage(mBindStage);
@@ -596,7 +597,7 @@ public class NotificationTestHelper {
mock(NotificationGutsManager.class), mock(NotificationGutsManager.class),
mDismissibilityProvider, mDismissibilityProvider,
mock(MetricsLogger.class), mock(MetricsLogger.class),
mock(NotificationChildrenContainerLogger.class), new NotificationChildrenContainerLogger(logcatLogBuffer()),
mock(SmartReplyConstants.class), mock(SmartReplyConstants.class),
mock(SmartReplyController.class), mock(SmartReplyController.class),
mFeatureFlags, mFeatureFlags,

View File

@@ -16,6 +16,7 @@
package com.android.systemui.statusbar.notification.row; 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_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_CONTRACTED;
import static com.android.systemui.statusbar.notification.row.NotificationRowContentBinder.FLAG_CONTENT_VIEW_EXPANDED; 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( mRowContentBindStage = new RowContentBindStage(
mBinder, mBinder,
mock(NotifInflationErrorManager.class), mock(NotifInflationErrorManager.class),
mock(RowContentBindStageLogger.class)); new RowContentBindStageLogger(logcatLogBuffer()));
mRowContentBindStage.createStageParams(mEntry); mRowContentBindStage.createStageParams(mEntry);
} }

View File

@@ -16,6 +16,7 @@
package com.android.systemui.statusbar.notification.stack; 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.KEYGUARD;
import static com.android.systemui.statusbar.StatusBarState.SHADE; import static com.android.systemui.statusbar.StatusBarState.SHADE;
import static com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.ROWS_ALL; 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 VisibilityLocationProviderDelegator mVisibilityLocationProviderDelegator;
@Mock private ShadeController mShadeController; @Mock private ShadeController mShadeController;
@Mock private InteractionJankMonitor mJankMonitor; @Mock private InteractionJankMonitor mJankMonitor;
@Mock private StackStateLogger mStackLogger; private final StackStateLogger mStackLogger = new StackStateLogger(logcatLogBuffer(),
@Mock private NotificationStackScrollLogger mLogger; logcatLogBuffer());
private final NotificationStackScrollLogger mLogger = new NotificationStackScrollLogger(
logcatLogBuffer(), logcatLogBuffer(), logcatLogBuffer());
@Mock private NotificationStackSizeCalculator mNotificationStackSizeCalculator; @Mock private NotificationStackSizeCalculator mNotificationStackSizeCalculator;
@Mock private NotificationTargetsHelper mNotificationTargetsHelper; @Mock private NotificationTargetsHelper mNotificationTargetsHelper;
@Mock private SecureSettings mSecureSettings; @Mock private SecureSettings mSecureSettings;

View File

@@ -16,6 +16,8 @@
package com.android.systemui.statusbar.phone; 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.assertFalse;
import static junit.framework.Assert.assertTrue; import static junit.framework.Assert.assertTrue;
@@ -61,7 +63,8 @@ public class HeadsUpManagerPhoneTest extends AlertingNotificationManagerTest {
private HeadsUpManagerPhone mHeadsUpManager; private HeadsUpManagerPhone mHeadsUpManager;
@Mock private HeadsUpManagerLogger mHeadsUpManagerLogger; private final HeadsUpManagerLogger mHeadsUpManagerLogger = new HeadsUpManagerLogger(
logcatLogBuffer());
@Mock private GroupMembershipManager mGroupManager; @Mock private GroupMembershipManager mGroupManager;
@Mock private VisualStabilityProvider mVSProvider; @Mock private VisualStabilityProvider mVSProvider;
@Mock private StatusBarStateController mStatusBarStateController; @Mock private StatusBarStateController mStatusBarStateController;

View File

@@ -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.mockitoSession;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify; 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; import static com.google.common.truth.Truth.assertThat;
@@ -42,6 +43,7 @@ import android.app.KeyguardManager;
import android.app.Notification; import android.app.Notification;
import android.app.NotificationManager; import android.app.NotificationManager;
import android.app.PendingIntent; import android.app.PendingIntent;
import android.content.Intent;
import android.content.pm.ActivityInfo; import android.content.pm.ActivityInfo;
import android.content.pm.ResolveInfo; import android.content.pm.ResolveInfo;
import android.os.Handler; import android.os.Handler;
@@ -248,7 +250,7 @@ public class StatusBarNotificationActivityStarterTest extends SysuiTestCase {
mock(StatusBarRemoteInputCallback.class), mock(StatusBarRemoteInputCallback.class),
mActivityIntentHelper, mActivityIntentHelper,
mock(MetricsLogger.class), mock(MetricsLogger.class),
mock(StatusBarNotificationActivityStarterLogger.class), new StatusBarNotificationActivityStarterLogger(logcatLogBuffer()),
mOnUserInteractionCallback, mOnUserInteractionCallback,
mock(NotificationPresenter.class), mock(NotificationPresenter.class),
mock(ShadeViewController.class), mock(ShadeViewController.class),
@@ -410,10 +412,12 @@ public class StatusBarNotificationActivityStarterTest extends SysuiTestCase {
@Test @Test
public void testOnFullScreenIntentWhenDozing_wakeUpDevice() { public void testOnFullScreenIntentWhenDozing_wakeUpDevice() {
// GIVEN entry that can has a full screen intent that can show // 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") Notification.Builder nb = new Notification.Builder(mContext, "a")
.setContentTitle("foo") .setContentTitle("foo")
.setSmallIcon(android.R.drawable.sym_def_app_icon) .setSmallIcon(android.R.drawable.sym_def_app_icon)
.setFullScreenIntent(mock(PendingIntent.class), true); .setFullScreenIntent(fullScreenIntent, true);
StatusBarNotification sbn = new StatusBarNotification("pkg", "pkg", 0, StatusBarNotification sbn = new StatusBarNotification("pkg", "pkg", 0,
"tag" + System.currentTimeMillis(), 0, 0, "tag" + System.currentTimeMillis(), 0, 0,
nb.build(), new UserHandle(0), null, 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 // GIVEN entry that can has a full screen intent that can show
PendingIntent mockFullScreenIntent = mock(PendingIntent.class); PendingIntent mockFullScreenIntent = mock(PendingIntent.class);
when(mockFullScreenIntent.getCreatorUid()).thenReturn(kTestUid); when(mockFullScreenIntent.getCreatorUid()).thenReturn(kTestUid);
when(mockFullScreenIntent.getIntent()).thenReturn(new Intent("fake_full_screen"));
ResolveInfo resolveInfo = new ResolveInfo(); ResolveInfo resolveInfo = new ResolveInfo();
resolveInfo.activityInfo = new ActivityInfo(); resolveInfo.activityInfo = new ActivityInfo();
resolveInfo.activityInfo.name = kTestActivityName; resolveInfo.activityInfo.name = kTestActivityName;

View File

@@ -16,6 +16,8 @@
package com.android.systemui.statusbar.policy; package com.android.systemui.statusbar.policy;
import static com.android.systemui.dump.LogBufferHelperKt.logcatLogBuffer;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static junit.framework.Assert.assertEquals; 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.ArgumentMatchers.eq;
import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times; import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
@@ -70,7 +73,7 @@ public class HeadsUpManagerTest extends AlertingNotificationManagerTest {
@Mock private NotificationEntry mEntry; @Mock private NotificationEntry mEntry;
@Mock private StatusBarNotification mSbn; @Mock private StatusBarNotification mSbn;
@Mock private Notification mNotification; @Mock private Notification mNotification;
@Mock private HeadsUpManagerLogger mLogger; private final HeadsUpManagerLogger mLogger = spy(new HeadsUpManagerLogger(logcatLogBuffer()));
@Mock private AccessibilityManagerWrapper mAccessibilityMgr; @Mock private AccessibilityManagerWrapper mAccessibilityMgr;
private final class TestableHeadsUpManager extends HeadsUpManager { private final class TestableHeadsUpManager extends HeadsUpManager {
@@ -94,6 +97,7 @@ public class HeadsUpManagerTest extends AlertingNotificationManagerTest {
public void setUp() { public void setUp() {
initMocks(this); initMocks(this);
when(mEntry.getSbn()).thenReturn(mSbn); when(mEntry.getSbn()).thenReturn(mSbn);
when(mEntry.getKey()).thenReturn("entryKey");
when(mSbn.getNotification()).thenReturn(mNotification); when(mSbn.getNotification()).thenReturn(mNotification);
super.setUp(); super.setUp();
mHeadsUpManager = new TestableHeadsUpManager(mContext, mLogger, mTestHandler, mHeadsUpManager = new TestableHeadsUpManager(mContext, mLogger, mTestHandler,

View File

@@ -18,6 +18,8 @@ package com.android.systemui.toast;
import static android.view.accessibility.AccessibilityManager.STATE_FLAG_ACCESSIBILITY_ENABLED; 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 com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any; 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.R;
import com.android.systemui.SysuiTestCase; import com.android.systemui.SysuiTestCase;
import com.android.systemui.dump.DumpManager; import com.android.systemui.dump.DumpManager;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.plugins.PluginManager; import com.android.systemui.plugins.PluginManager;
import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.CommandQueue;
@@ -110,8 +111,7 @@ public class ToastUITest extends SysuiTestCase {
@Mock private IAccessibilityManager mAccessibilityManager; @Mock private IAccessibilityManager mAccessibilityManager;
@Mock private PluginManager mPluginManager; @Mock private PluginManager mPluginManager;
@Mock private DumpManager mDumpManager; @Mock private DumpManager mDumpManager;
@Mock private ToastLogger mToastLogger; private final ToastLogger mToastLogger = spy(new ToastLogger(logcatLogBuffer()));
@Mock private FeatureFlags mFeatureFlags;
@Mock private PackageManager mPackageManager; @Mock private PackageManager mPackageManager;
@Mock private ITransientNotificationCallback mCallback; @Mock private ITransientNotificationCallback mCallback;