Loading packages/SystemUI/aconfig/systemui.aconfig +7 −0 Original line number Diff line number Diff line Loading @@ -1922,6 +1922,13 @@ flag { bug: "412421893" } flag { name: "desktop_screen_capture_app_window" namespace: "systemui" description: "Enables the app window region option for desktop screen capture." bug: "422833825" } flag { name: "new_screen_record_toolbar" namespace: "systemui" Loading packages/SystemUI/src/com/android/systemui/screencapture/record/largescreen/domain/interactor/ScreenCaptureRecordLargeScreenFeaturesInteractor.kt +2 −2 Original line number Diff line number Diff line Loading @@ -16,11 +16,11 @@ package com.android.systemui.screencapture.record.largescreen.domain.interactor import com.android.systemui.Flags import com.android.systemui.dagger.SysUISingleton import javax.inject.Inject @SysUISingleton class ScreenCaptureRecordLargeScreenFeaturesInteractor @Inject constructor() { // TODO(b/427497534) Guard behind a new feature flag specific for app window region. val appWindowRegionSupported = true val appWindowRegionSupported = Flags.desktopScreenCaptureAppWindow() } packages/SystemUI/tests/src/com/android/systemui/screencapture/record/largescreen/ui/viewmodel/PreCaptureViewModelTest.kt +22 −0 Original line number Diff line number Diff line Loading @@ -16,11 +16,14 @@ package com.android.systemui.screencapture.record.largescreen.ui.viewmodel import android.platform.test.annotations.DisableFlags import android.platform.test.annotations.EnableFlags import android.view.WindowManager import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.internal.util.ScreenshotRequest import com.android.internal.util.mockScreenshotHelper import com.android.systemui.Flags import com.android.systemui.SysuiTestCase import com.android.systemui.kosmos.testScope import com.android.systemui.kosmos.useUnconfinedTestDispatcher Loading Loading @@ -93,6 +96,7 @@ class PreCaptureViewModelTest : SysuiTestCase() { } @Test @EnableFlags(Flags.FLAG_DESKTOP_SCREEN_CAPTURE_APP_WINDOW) fun updateCaptureRegion_updatesSelectedCaptureRegionButtonViewModel() = testScope.runTest { // Default region is fullscreen Loading Loading @@ -154,4 +158,22 @@ class PreCaptureViewModelTest : SysuiTestCase() { viewModel.takeFullscreenScreenshot() } } @Test @DisableFlags(Flags.FLAG_DESKTOP_SCREEN_CAPTURE_APP_WINDOW) fun captureRegionButtonViewModels_excludesAppWindowWithFeatureDisabled() = testScope.runTest { // TODO(b/430364500) Once a11y label is available, use it for a more robust assertion. viewModel.updateCaptureRegion(ScreenCaptureRegion.APP_WINDOW) assertThat(viewModel.captureRegionButtonViewModels.none { it.isSelected }).isTrue() } @Test @EnableFlags(Flags.FLAG_DESKTOP_SCREEN_CAPTURE_APP_WINDOW) fun captureRegionButtonViewModels_includesAppWindowWithFeatureEnabled() = testScope.runTest { // TODO(b/430364500) Once a11y label is available, use it for a more robust assertion. viewModel.updateCaptureRegion(ScreenCaptureRegion.APP_WINDOW) assertThat(viewModel.captureRegionButtonViewModels.count { it.isSelected }).isEqualTo(1) } } Loading
packages/SystemUI/aconfig/systemui.aconfig +7 −0 Original line number Diff line number Diff line Loading @@ -1922,6 +1922,13 @@ flag { bug: "412421893" } flag { name: "desktop_screen_capture_app_window" namespace: "systemui" description: "Enables the app window region option for desktop screen capture." bug: "422833825" } flag { name: "new_screen_record_toolbar" namespace: "systemui" Loading
packages/SystemUI/src/com/android/systemui/screencapture/record/largescreen/domain/interactor/ScreenCaptureRecordLargeScreenFeaturesInteractor.kt +2 −2 Original line number Diff line number Diff line Loading @@ -16,11 +16,11 @@ package com.android.systemui.screencapture.record.largescreen.domain.interactor import com.android.systemui.Flags import com.android.systemui.dagger.SysUISingleton import javax.inject.Inject @SysUISingleton class ScreenCaptureRecordLargeScreenFeaturesInteractor @Inject constructor() { // TODO(b/427497534) Guard behind a new feature flag specific for app window region. val appWindowRegionSupported = true val appWindowRegionSupported = Flags.desktopScreenCaptureAppWindow() }
packages/SystemUI/tests/src/com/android/systemui/screencapture/record/largescreen/ui/viewmodel/PreCaptureViewModelTest.kt +22 −0 Original line number Diff line number Diff line Loading @@ -16,11 +16,14 @@ package com.android.systemui.screencapture.record.largescreen.ui.viewmodel import android.platform.test.annotations.DisableFlags import android.platform.test.annotations.EnableFlags import android.view.WindowManager import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.internal.util.ScreenshotRequest import com.android.internal.util.mockScreenshotHelper import com.android.systemui.Flags import com.android.systemui.SysuiTestCase import com.android.systemui.kosmos.testScope import com.android.systemui.kosmos.useUnconfinedTestDispatcher Loading Loading @@ -93,6 +96,7 @@ class PreCaptureViewModelTest : SysuiTestCase() { } @Test @EnableFlags(Flags.FLAG_DESKTOP_SCREEN_CAPTURE_APP_WINDOW) fun updateCaptureRegion_updatesSelectedCaptureRegionButtonViewModel() = testScope.runTest { // Default region is fullscreen Loading Loading @@ -154,4 +158,22 @@ class PreCaptureViewModelTest : SysuiTestCase() { viewModel.takeFullscreenScreenshot() } } @Test @DisableFlags(Flags.FLAG_DESKTOP_SCREEN_CAPTURE_APP_WINDOW) fun captureRegionButtonViewModels_excludesAppWindowWithFeatureDisabled() = testScope.runTest { // TODO(b/430364500) Once a11y label is available, use it for a more robust assertion. viewModel.updateCaptureRegion(ScreenCaptureRegion.APP_WINDOW) assertThat(viewModel.captureRegionButtonViewModels.none { it.isSelected }).isTrue() } @Test @EnableFlags(Flags.FLAG_DESKTOP_SCREEN_CAPTURE_APP_WINDOW) fun captureRegionButtonViewModels_includesAppWindowWithFeatureEnabled() = testScope.runTest { // TODO(b/430364500) Once a11y label is available, use it for a more robust assertion. viewModel.updateCaptureRegion(ScreenCaptureRegion.APP_WINDOW) assertThat(viewModel.captureRegionButtonViewModels.count { it.isSelected }).isEqualTo(1) } }