Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4c020eff authored by Richard MacGregor's avatar Richard MacGregor Committed by Android Build Cherrypicker Worker
Browse files

Don't register NLS in test

NLS method calls due to being registered caused flakey behavior in test
runs

Flag: TEST_ONLY
Bug: 333142469
Test: atest SensitiveContentProtectionManagerServiceNotificationTest --iterations 50
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:30781abdf381f0fa455c56e2815b5ff53f183136)
Merged-In: Id19eb4a50008640e9a7ca556fd332f3fca8688ba
Change-Id: Id19eb4a50008640e9a7ca556fd332f3fca8688ba
parent 634811f5
Loading
Loading
Loading
Loading
+14 −4
Original line number Diff line number Diff line
@@ -22,9 +22,10 @@ import static android.permission.flags.Flags.FLAG_SENSITIVE_NOTIFICATION_APP_PRO
import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;

import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyLong;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doCallRealMethod;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.never;
@@ -36,6 +37,7 @@ import android.content.pm.PackageManagerInternal;
import android.media.projection.MediaProjectionInfo;
import android.media.projection.MediaProjectionManager;
import android.os.Process;
import android.os.RemoteException;
import android.platform.test.annotations.RequiresFlagsDisabled;
import android.platform.test.annotations.RequiresFlagsEnabled;
import android.platform.test.flag.junit.CheckFlagsRule;
@@ -137,9 +139,17 @@ public class SensitiveContentProtectionManagerServiceNotificationTest {

        mSensitiveContentProtectionManagerService.mNotificationListener =
                spy(mSensitiveContentProtectionManagerService.mNotificationListener);
        doCallRealMethod()
                .when(mSensitiveContentProtectionManagerService.mNotificationListener)
                .onListenerConnected();

        // Unexpected NLS interactions when registered cause test flakes. For purposes of this test,
        // the test will control any NLS calls.
        try {
            doNothing().when(mSensitiveContentProtectionManagerService.mNotificationListener)
                    .registerAsSystemService(any(), any(), anyInt());
            doNothing().when(mSensitiveContentProtectionManagerService.mNotificationListener)
                    .unregisterAsSystemService();
        } catch (RemoteException e) {
            // Intra-process call, should never happen.
        }

        // Setup RankingMap and two possilbe rankings
        when(mSensitiveRanking.hasSensitiveContent()).thenReturn(true);