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

Commit 487929f9 authored by Chris Göllner's avatar Chris Göllner Committed by Android (Google) Code Review
Browse files

Merge "[Partial Screen Sharing] Migrate task switcher flag to aconfig" into main

parents 2a9801ca 0f02ef5a
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -204,6 +204,13 @@ flag {
   bug: "296122467"
}

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"
+0 −4
Original line number Diff line number Diff line
@@ -585,10 +585,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")

+5 −6
Original line number Diff line number Diff line
@@ -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()
        }
    }
}
+7 −18
Original line number Diff line number Diff line
@@ -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()