diff options
4 files changed, 19 insertions, 28 deletions
diff --git a/packages/SystemUI/aconfig/systemui.aconfig b/packages/SystemUI/aconfig/systemui.aconfig index d8d3f87c9566..97ff37936984 100644 --- a/packages/SystemUI/aconfig/systemui.aconfig +++ b/packages/SystemUI/aconfig/systemui.aconfig @@ -175,6 +175,13 @@ flag { } flag { + name: "pss_task_switcher" + namespace: "systemui" + description: "Enable the task switcher feature for partial screen sharing" + bug: "317208379" +} + +flag { name: "rest_to_unlock" namespace: "systemui" description: "Require prolonged touch for fingerprint authentication" diff --git a/packages/SystemUI/src/com/android/systemui/flags/Flags.kt b/packages/SystemUI/src/com/android/systemui/flags/Flags.kt index 7cb2c6e1fcff..7e19d5b67389 100644 --- a/packages/SystemUI/src/com/android/systemui/flags/Flags.kt +++ b/packages/SystemUI/src/com/android/systemui/flags/Flags.kt @@ -601,10 +601,6 @@ object Flags { @JvmField val SPLIT_SHADE_SUBPIXEL_OPTIMIZATION = unreleasedFlag("split_shade_subpixel_optimization") - // TODO(b/288868056): Tracking Bug - @JvmField - val PARTIAL_SCREEN_SHARING_TASK_SWITCHER = unreleasedFlag("pss_task_switcher") - // TODO(b/278761837): Tracking Bug @JvmField val USE_NEW_ACTIVITY_STARTER = releasedFlag(name = "use_new_activity_starter") diff --git a/packages/SystemUI/src/com/android/systemui/mediaprojection/taskswitcher/MediaProjectionTaskSwitcherCoreStartable.kt b/packages/SystemUI/src/com/android/systemui/mediaprojection/taskswitcher/MediaProjectionTaskSwitcherCoreStartable.kt index 3c501277ab8c..2408af192463 100644 --- a/packages/SystemUI/src/com/android/systemui/mediaprojection/taskswitcher/MediaProjectionTaskSwitcherCoreStartable.kt +++ b/packages/SystemUI/src/com/android/systemui/mediaprojection/taskswitcher/MediaProjectionTaskSwitcherCoreStartable.kt @@ -17,23 +17,22 @@ package com.android.systemui.mediaprojection.taskswitcher import com.android.systemui.CoreStartable +import com.android.systemui.Flags.pssTaskSwitcher import com.android.systemui.dagger.SysUISingleton -import com.android.systemui.flags.FeatureFlags -import com.android.systemui.flags.Flags import com.android.systemui.mediaprojection.taskswitcher.ui.TaskSwitcherNotificationCoordinator +import dagger.Lazy import javax.inject.Inject @SysUISingleton class MediaProjectionTaskSwitcherCoreStartable @Inject constructor( - private val notificationCoordinator: TaskSwitcherNotificationCoordinator, - private val featureFlags: FeatureFlags, + private val notificationCoordinatorLazy: Lazy<TaskSwitcherNotificationCoordinator>, ) : CoreStartable { override fun start() { - if (featureFlags.isEnabled(Flags.PARTIAL_SCREEN_SHARING_TASK_SWITCHER)) { - notificationCoordinator.start() + if (pssTaskSwitcher()) { + notificationCoordinatorLazy.get().start() } } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/mediaprojection/taskswitcher/MediaProjectionTaskSwitcherCoreStartableTest.kt b/packages/SystemUI/tests/src/com/android/systemui/mediaprojection/taskswitcher/MediaProjectionTaskSwitcherCoreStartableTest.kt index bcbf666fd302..16c92ecc2181 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/mediaprojection/taskswitcher/MediaProjectionTaskSwitcherCoreStartableTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/mediaprojection/taskswitcher/MediaProjectionTaskSwitcherCoreStartableTest.kt @@ -18,38 +18,27 @@ package com.android.systemui.mediaprojection.taskswitcher import android.testing.AndroidTestingRunner import androidx.test.filters.SmallTest +import com.android.systemui.Flags.FLAG_PSS_TASK_SWITCHER import com.android.systemui.SysuiTestCase -import com.android.systemui.flags.FeatureFlags -import com.android.systemui.flags.Flags import com.android.systemui.mediaprojection.taskswitcher.ui.TaskSwitcherNotificationCoordinator -import com.android.systemui.util.mockito.whenever -import org.junit.Before +import com.android.systemui.util.mockito.mock import org.junit.Test import org.junit.runner.RunWith -import org.mockito.Mock import org.mockito.Mockito.verify import org.mockito.Mockito.verifyZeroInteractions -import org.mockito.MockitoAnnotations @RunWith(AndroidTestingRunner::class) @SmallTest class MediaProjectionTaskSwitcherCoreStartableTest : SysuiTestCase() { - @Mock private lateinit var flags: FeatureFlags - @Mock private lateinit var coordinator: TaskSwitcherNotificationCoordinator + private val coordinator = mock<TaskSwitcherNotificationCoordinator>() - private lateinit var coreStartable: MediaProjectionTaskSwitcherCoreStartable - - @Before - fun setUp() { - MockitoAnnotations.initMocks(this) - - coreStartable = MediaProjectionTaskSwitcherCoreStartable(coordinator, flags) - } + private val coreStartable = + MediaProjectionTaskSwitcherCoreStartable(notificationCoordinatorLazy = { coordinator }) @Test fun start_flagEnabled_startsCoordinator() { - whenever(flags.isEnabled(Flags.PARTIAL_SCREEN_SHARING_TASK_SWITCHER)).thenReturn(true) + mSetFlagsRule.enableFlags(FLAG_PSS_TASK_SWITCHER) coreStartable.start() @@ -58,7 +47,7 @@ class MediaProjectionTaskSwitcherCoreStartableTest : SysuiTestCase() { @Test fun start_flagDisabled_doesNotStartCoordinator() { - whenever(flags.isEnabled(Flags.PARTIAL_SCREEN_SHARING_TASK_SWITCHER)).thenReturn(false) + mSetFlagsRule.disableFlags(FLAG_PSS_TASK_SWITCHER) coreStartable.start() |