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

Commit d632faa4 authored by Xi Zhang's avatar Xi Zhang Committed by Android (Google) Code Review
Browse files

Merge "Create UX interface that wraps RecordingController" into main

parents 41febcaf 7f4de0a7
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ import com.android.systemui.recordissue.IssueRecordingState
import com.android.systemui.recordissue.RecordIssueDialogDelegate
import com.android.systemui.recordissue.TraceurConnection
import com.android.systemui.res.R
import com.android.systemui.screenrecord.RecordingController
import com.android.systemui.screenrecord.ScreenRecordUxController
import com.android.systemui.settings.UserContextProvider
import com.android.systemui.statusbar.phone.KeyguardDismissUtil
import com.android.systemui.statusbar.phone.SystemUIDialog
@@ -69,7 +69,7 @@ class RecordIssueTileTest : SysuiTestCase() {
    @Mock private lateinit var qsEventLogger: QsEventLogger
    @Mock private lateinit var metricsLogger: MetricsLogger
    @Mock private lateinit var statusBarStateController: StatusBarStateController
    @Mock private lateinit var recordingController: RecordingController
    @Mock private lateinit var screenRecordUxController: ScreenRecordUxController
    @Mock private lateinit var activityStarter: ActivityStarter
    @Mock private lateinit var qsLogger: QSLogger
    @Mock private lateinit var keyguardDismissUtil: KeyguardDismissUtil
@@ -120,7 +120,7 @@ class RecordIssueTileTest : SysuiTestCase() {
                Executors.newSingleThreadExecutor(),
                issueRecordingState,
                delegateFactory,
                recordingController,
                screenRecordUxController,
            )
    }

+2 −2
Original line number Diff line number Diff line
@@ -58,7 +58,7 @@ import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.qs.pipeline.domain.interactor.PanelInteractor;
import com.android.systemui.qs.tileimpl.QSTileImpl;
import com.android.systemui.res.R;
import com.android.systemui.screenrecord.RecordingController;
import com.android.systemui.screenrecord.ScreenRecordUxController;
import com.android.systemui.settings.UserContextProvider;
import com.android.systemui.statusbar.phone.KeyguardDismissUtil;
import com.android.systemui.statusbar.policy.KeyguardStateController;
@@ -88,7 +88,7 @@ public class ScreenRecordTileTest extends SysuiTestCase {
    }

    @Mock
    private RecordingController mController;
    private ScreenRecordUxController mController;
    @Mock
    private QSHost mHost;
    @Mock
+3 −3
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@ import com.android.systemui.qs.tiles.base.shared.model.QSTileUserAction
import com.android.systemui.qs.tiles.impl.irecording.data.model.IssueRecordingModel
import com.android.systemui.recordissue.IssueRecordingState
import com.android.systemui.recordissue.RecordIssueDialogDelegate
import com.android.systemui.screenrecord.RecordingController
import com.android.systemui.screenrecord.ScreenRecordUxController
import com.android.systemui.settings.UserContextProvider
import com.android.systemui.settings.userFileManager
import com.android.systemui.settings.userTracker
@@ -54,7 +54,7 @@ import org.mockito.MockitoAnnotations
@RunWith(AndroidJUnit4::class)
class IssueRecordingUserActionInteractorTest : SysuiTestCase() {

    @Mock private lateinit var recordingController: RecordingController
    @Mock private lateinit var screenRecordUxController: ScreenRecordUxController

    val user = UserHandle(1)
    val kosmos = testKosmos().also { it.testCase = this }
@@ -103,7 +103,7 @@ class IssueRecordingUserActionInteractorTest : SysuiTestCase() {
                    panelInteractor,
                    userTracker,
                    factory,
                    recordingController,
                    screenRecordUxController,
                )
        }
    }
+9 −9
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ import com.android.systemui.mediaprojection.MediaProjectionMetricsLogger
import com.android.systemui.plugins.ActivityStarter.OnDismissAction
import com.android.systemui.qs.pipeline.domain.interactor.PanelInteractor
import com.android.systemui.qs.tiles.base.domain.model.QSTileInputTestKtx
import com.android.systemui.screenrecord.RecordingController
import com.android.systemui.screenrecord.ScreenRecordUxController
import com.android.systemui.screenrecord.data.model.ScreenRecordModel
import com.android.systemui.screenrecord.data.repository.ScreenRecordRepositoryImpl
import com.android.systemui.statusbar.phone.KeyguardDismissUtil
@@ -56,13 +56,13 @@ class ScreenRecordTileUserActionInteractorTest : SysuiTestCase() {
    private val keyguardDismissUtil = mock<KeyguardDismissUtil>()
    private val panelInteractor = mock<PanelInteractor>()
    private val dialog = mock<Dialog>()
    private val recordingController =
        mock<RecordingController> { on { createScreenRecordDialog(any()) } doReturn dialog }
    private val screenRecordUxController =
        mock<ScreenRecordUxController> { on { createScreenRecordDialog(any()) } doReturn dialog }

    private val screenRecordRepository =
        ScreenRecordRepositoryImpl(
            bgCoroutineContext = testScope.testScheduler,
            recordingController = recordingController,
            screenRecordUxController = screenRecordUxController,
        )

    private val underTest =
@@ -70,7 +70,7 @@ class ScreenRecordTileUserActionInteractorTest : SysuiTestCase() {
            testScope.testScheduler,
            testScope.testScheduler,
            screenRecordRepository,
            recordingController,
            screenRecordUxController,
            keyguardInteractor,
            keyguardDismissUtil,
            dialogTransitionAnimator,
@@ -84,7 +84,7 @@ class ScreenRecordTileUserActionInteractorTest : SysuiTestCase() {

        underTest.handleInput(QSTileInputTestKtx.click(startingModel))

        verify(recordingController).cancelCountdown()
        verify(screenRecordUxController).cancelCountdown()
    }

    @Test
@@ -93,7 +93,7 @@ class ScreenRecordTileUserActionInteractorTest : SysuiTestCase() {

        underTest.handleInput(QSTileInputTestKtx.click(recordingModel))

        verify(recordingController).stopRecording(eq(StopReason.STOP_QS_TILE))
        verify(screenRecordUxController).stopRecording(eq(StopReason.STOP_QS_TILE))
    }

    @Test
@@ -102,7 +102,7 @@ class ScreenRecordTileUserActionInteractorTest : SysuiTestCase() {

        underTest.handleInput(QSTileInputTestKtx.click(recordingModel))
        val onStartRecordingClickedCaptor = argumentCaptor<Runnable>()
        verify(recordingController)
        verify(screenRecordUxController)
            .createScreenRecordDialog(onStartRecordingClickedCaptor.capture())

        val onDismissActionCaptor = argumentCaptor<OnDismissAction>()
@@ -134,7 +134,7 @@ class ScreenRecordTileUserActionInteractorTest : SysuiTestCase() {
            QSTileInputTestKtx.click(recordingModel, UserHandle.CURRENT, expandable)
        )
        val onStartRecordingClickedCaptor = argumentCaptor<Runnable>()
        verify(recordingController)
        verify(screenRecordUxController)
            .createScreenRecordDialog(onStartRecordingClickedCaptor.capture())

        val onDismissActionCaptor = argumentCaptor<OnDismissAction>()
+4 −4
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import static com.android.systemui.screenrecord.RecordingService.GROUP_KEY_ERROR
import static com.android.systemui.screenrecord.RecordingService.GROUP_KEY_SAVED;
import static com.android.systemui.screenrecord.RecordingService.NOTIF_GROUP_ID_ERROR_SAVING;
import static com.android.systemui.screenrecord.RecordingService.NOTIF_GROUP_ID_SAVED;
import static com.android.systemui.screenrecord.ScreenRecordUxController.INTENT_UPDATE_STATE;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -78,7 +79,7 @@ public class RecordingServiceTest extends SysuiTestCase {
    @Mock
    private UiEventLogger mUiEventLogger;
    @Mock
    private RecordingController mController;
    private ScreenRecordUxController mController;
    @Mock
    private NotificationManager mNotificationManager;
    @Mock
@@ -109,7 +110,7 @@ public class RecordingServiceTest extends SysuiTestCase {

    private class RecordingServiceTestable extends RecordingService {
        RecordingServiceTestable(
                RecordingController controller, Executor executor,
                ScreenRecordUxController controller, Executor executor,
                Handler handler, UiEventLogger uiEventLogger,
                NotificationManager notificationManager,
                UserContextProvider userContextTracker, KeyguardDismissUtil keyguardDismissUtil,
@@ -328,8 +329,7 @@ public class RecordingServiceTest extends SysuiTestCase {
        } else {
            ArgumentCaptor<Intent> argumentCaptor = ArgumentCaptor.forClass(Intent.class);
            verify(mRecordingService).sendBroadcast(argumentCaptor.capture(), eq(PERMISSION_SELF));
            assertEquals(RecordingController.INTENT_UPDATE_STATE,
                    argumentCaptor.getValue().getAction());
            assertEquals(INTENT_UPDATE_STATE, argumentCaptor.getValue().getAction());
        }
    }
}
Loading