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

Commit a55613e6 authored by Anton Potapov's avatar Anton Potapov
Browse files

Remove CONTROLS_MANAGEMENT_NEW_FLOWS flag

Test: manual add/edit app control in Device Controls
Test: atest ControlsEditingActivityTest
Test: atest CibtriksFavoritingActivityTest
Test: atest ControlsUiControllerImplTest
Fixes: 292236957
Change-Id: I155e43ccf8caa55818a03425bbab48ab2d59b614
parent 88c87429
Loading
Loading
Loading
Loading
+1 −6
Original line number Diff line number Diff line
@@ -40,8 +40,6 @@ import com.android.systemui.controls.controller.ControlsControllerImpl
import com.android.systemui.controls.controller.StructureInfo
import com.android.systemui.controls.ui.ControlsActivity
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.Flags
import com.android.systemui.settings.UserTracker
import java.util.concurrent.Executor
import javax.inject.Inject
@@ -50,7 +48,6 @@ import javax.inject.Inject
 * Activity for rearranging and removing controls for a given structure
 */
open class ControlsEditingActivity @Inject constructor(
    featureFlags: FeatureFlags,
    @Main private val mainExecutor: Executor,
    private val controller: ControlsControllerImpl,
    private val userTracker: UserTracker,
@@ -76,8 +73,6 @@ open class ControlsEditingActivity @Inject constructor(

    private var isFromFavoriting: Boolean = false

    private val isNewFlowEnabled: Boolean =
        featureFlags.isEnabled(Flags.CONTROLS_MANAGEMENT_NEW_FLOWS)
    private val userTrackerCallback: UserTracker.Callback = object : UserTracker.Callback {
        private val startingUser = controller.currentUserId

@@ -176,7 +171,7 @@ open class ControlsEditingActivity @Inject constructor(
    private fun bindButtons() {
        addControls = requireViewById<Button>(R.id.addControls).apply {
            isEnabled = true
            visibility = if (isNewFlowEnabled) View.VISIBLE else View.GONE
            visibility = View.VISIBLE
            setOnClickListener {
                if (saveButton.isEnabled) {
                    // The user has made changes
+1 −44
Original line number Diff line number Diff line
@@ -33,7 +33,6 @@ import android.view.ViewStub
import android.widget.Button
import android.widget.FrameLayout
import android.widget.TextView
import android.widget.Toast
import android.window.OnBackInvokedCallback
import android.window.OnBackInvokedDispatcher
import androidx.activity.ComponentActivity
@@ -41,24 +40,19 @@ import androidx.annotation.VisibleForTesting
import androidx.viewpager2.widget.ViewPager2
import com.android.systemui.Prefs
import com.android.systemui.R
import com.android.systemui.controls.ControlsServiceInfo
import com.android.systemui.controls.TooltipManager
import com.android.systemui.controls.controller.ControlsControllerImpl
import com.android.systemui.controls.controller.StructureInfo
import com.android.systemui.controls.ui.ControlsActivity
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.Flags
import com.android.systemui.settings.UserTracker
import java.text.Collator
import java.util.concurrent.Executor
import javax.inject.Inject

open class ControlsFavoritingActivity @Inject constructor(
    featureFlags: FeatureFlags,
    @Main private val executor: Executor,
    private val controller: ControlsControllerImpl,
    private val listingController: ControlsListingController,
    private val userTracker: UserTracker,
) : ComponentActivity() {

@@ -92,7 +86,6 @@ open class ControlsFavoritingActivity @Inject constructor(
    private lateinit var pageIndicator: ManagementPageIndicator
    private var mTooltipManager: TooltipManager? = null
    private lateinit var doneButton: View
    private lateinit var otherAppsButton: View
    private lateinit var rearrangeButton: Button
    private var listOfStructures = emptyList<StructureContainer>()

@@ -104,8 +97,6 @@ open class ControlsFavoritingActivity @Inject constructor(
        get() = openSource == EXTRA_SOURCE_VALUE_FROM_PROVIDER_SELECTOR
    private val fromEditing: Boolean
        get() = openSource == EXTRA_SOURCE_VALUE_FROM_EDITING
    private val isNewFlowEnabled: Boolean =
        featureFlags.isEnabled(Flags.CONTROLS_MANAGEMENT_NEW_FLOWS)
    private val userTrackerCallback: UserTracker.Callback = object : UserTracker.Callback {
        private val startingUser = controller.currentUserId

@@ -124,20 +115,6 @@ open class ControlsFavoritingActivity @Inject constructor(
        onBackPressed()
    }

    private val listingCallback = object : ControlsListingController.ControlsListingCallback {

        override fun onServicesUpdated(serviceInfos: List<ControlsServiceInfo>) {
            if (serviceInfos.size > 1) {
                val newVisibility = if (isNewFlowEnabled) View.GONE else View.VISIBLE
                if (otherAppsButton.visibility != newVisibility) {
                    otherAppsButton.post {
                        otherAppsButton.visibility = newVisibility
                    }
                }
            }
        }
    }

    override fun onBackPressed() {
        if (fromEditing) {
            animateExitAndFinish()
@@ -342,7 +319,7 @@ open class ControlsFavoritingActivity @Inject constructor(
                getString(R.string.controls_favorite_rearrange_button)
            }
            isEnabled = false
            visibility = if (isNewFlowEnabled) View.VISIBLE else View.GONE
            visibility = View.VISIBLE
            setOnClickListener {
                if (component == null) return@setOnClickListener
                saveFavorites()
@@ -361,24 +338,6 @@ open class ControlsFavoritingActivity @Inject constructor(
                )
            }
        }
        otherAppsButton = requireViewById<Button>(R.id.other_apps).apply {
            setOnClickListener {
                if (doneButton.isEnabled) {
                    // The user has made changes
                    Toast.makeText(
                            applicationContext,
                            R.string.controls_favorite_toast_no_changes,
                            Toast.LENGTH_SHORT
                            ).show()
                }
                startActivity(
                    Intent(context, ControlsProviderSelectorActivity::class.java),
                    ActivityOptions
                        .makeSceneTransitionAnimation(this@ControlsFavoritingActivity).toBundle()
                )
                animateExitAndFinish()
            }
        }

        doneButton = requireViewById<Button>(R.id.done).apply {
            isEnabled = false
@@ -415,7 +374,6 @@ open class ControlsFavoritingActivity @Inject constructor(
    override fun onStart() {
        super.onStart()

        listingController.addCallback(listingCallback)
        userTracker.addCallback(userTrackerCallback, executor)

        if (DEBUG) {
@@ -440,7 +398,6 @@ open class ControlsFavoritingActivity @Inject constructor(
    override fun onStop() {
        super.onStop()

        listingController.removeCallback(listingCallback)
        userTracker.removeCallback(userTrackerCallback)

        if (DEBUG) {
+9 −17
Original line number Diff line number Diff line
@@ -506,14 +506,12 @@ class ControlsUiControllerImpl @Inject constructor (
        val isPanel = selectedItem is SelectedItem.PanelItem
        val selectedStructure = (selectedItem as? SelectedItem.StructureItem)?.structure
                ?: EMPTY_STRUCTURE
        val newFlows = featureFlags.isEnabled(Flags.CONTROLS_MANAGEMENT_NEW_FLOWS)

        val items = buildList {
            add(OverflowMenuAdapter.MenuItem(
                    context.getText(R.string.controls_open_app),
                    OPEN_APP_ID
            ))
            if (newFlows || isPanel) {
            if (extraApps) {
                add(OverflowMenuAdapter.MenuItem(
                        context.getText(R.string.controls_menu_add_another_app),
@@ -526,12 +524,6 @@ class ControlsUiControllerImpl @Inject constructor (
                        REMOVE_APP_ID,
                ))
            }
            } else {
                add(OverflowMenuAdapter.MenuItem(
                        context.getText(R.string.controls_menu_add),
                        ADD_CONTROLS_ID
                ))
            }
            if (!isPanel) {
                add(OverflowMenuAdapter.MenuItem(
                        context.getText(R.string.controls_menu_edit),
+0 −3
Original line number Diff line number Diff line
@@ -619,9 +619,6 @@ object Flags {
    // 2000 - device controls
    @JvmField val APP_PANELS_ALL_APPS_ALLOWED = releasedFlag(2001, "app_panels_all_apps_allowed")

    @JvmField
    val CONTROLS_MANAGEMENT_NEW_FLOWS = releasedFlag(2002, "controls_management_new_flows")

    // Enables removing app from Home control panel as a part of a new flow
    // TODO(b/269132640): Tracking Bug
    @JvmField
+1 −21
Original line number Diff line number Diff line
@@ -16,8 +16,6 @@ import com.android.systemui.SysuiTestCase
import com.android.systemui.activity.SingleActivityFactory
import com.android.systemui.controls.CustomIconCache
import com.android.systemui.controls.controller.ControlsControllerImpl
import com.android.systemui.flags.FakeFeatureFlags
import com.android.systemui.flags.Flags
import com.android.systemui.settings.UserTracker
import com.android.systemui.util.concurrency.FakeExecutor
import com.android.systemui.util.time.FakeSystemClock
@@ -46,7 +44,6 @@ class ControlsEditingActivityTest : SysuiTestCase() {
    }

    private val uiExecutor = FakeExecutor(FakeSystemClock())
    private val featureFlags = FakeFeatureFlags()

    @Mock lateinit var controller: ControlsControllerImpl

@@ -65,7 +62,6 @@ class ControlsEditingActivityTest : SysuiTestCase() {
        ActivityTestRule(
            /* activityFactory= */ SingleActivityFactory {
                TestableControlsEditingActivity(
                    featureFlags,
                    uiExecutor,
                    controller,
                    userTracker,
@@ -81,8 +77,6 @@ class ControlsEditingActivityTest : SysuiTestCase() {
    @Before
    fun setUp() {
        MockitoAnnotations.initMocks(this)

        featureFlags.set(Flags.CONTROLS_MANAGEMENT_NEW_FLOWS, false)
    }

    @Test
@@ -101,16 +95,7 @@ class ControlsEditingActivityTest : SysuiTestCase() {
    }

    @Test
    fun testNewFlowDisabled_addControlsButton_gone() {
        with(launchActivity()) {
            val addControlsButton = requireViewById<Button>(R.id.addControls)
            assertThat(addControlsButton.visibility).isEqualTo(View.GONE)
        }
    }

    @Test
    fun testNewFlowEnabled_addControlsButton_visible() {
        featureFlags.set(Flags.CONTROLS_MANAGEMENT_NEW_FLOWS, true)
    fun testAddControlsButton_visible() {
        with(launchActivity()) {
            val addControlsButton = requireViewById<Button>(R.id.addControls)
            assertThat(addControlsButton.visibility).isEqualTo(View.VISIBLE)
@@ -120,7 +105,6 @@ class ControlsEditingActivityTest : SysuiTestCase() {

    @Test
    fun testNotLaunchFromFavoriting_saveButton_disabled() {
        featureFlags.set(Flags.CONTROLS_MANAGEMENT_NEW_FLOWS, true)
        with(launchActivity(isFromFavoriting = false)) {
            val saveButton = requireViewById<Button>(R.id.done)
            assertThat(saveButton.isEnabled).isFalse()
@@ -129,7 +113,6 @@ class ControlsEditingActivityTest : SysuiTestCase() {

    @Test
    fun testLaunchFromFavoriting_saveButton_enabled() {
        featureFlags.set(Flags.CONTROLS_MANAGEMENT_NEW_FLOWS, true)
        with(launchActivity(isFromFavoriting = true)) {
            val saveButton = requireViewById<Button>(R.id.done)
            assertThat(saveButton.isEnabled).isTrue()
@@ -138,7 +121,6 @@ class ControlsEditingActivityTest : SysuiTestCase() {

    @Test
    fun testNotFromFavoriting_addControlsPressed_launchesFavouriting() {
        featureFlags.set(Flags.CONTROLS_MANAGEMENT_NEW_FLOWS, true)
        with(launchActivity(isFromFavoriting = false)) {
            val addControls = requireViewById<Button>(R.id.addControls)

@@ -177,7 +159,6 @@ class ControlsEditingActivityTest : SysuiTestCase() {
        )

    class TestableControlsEditingActivity(
        featureFlags: FakeFeatureFlags,
        executor: FakeExecutor,
        controller: ControlsControllerImpl,
        userTracker: UserTracker,
@@ -186,7 +167,6 @@ class ControlsEditingActivityTest : SysuiTestCase() {
        private val latch: CountDownLatch
    ) :
        ControlsEditingActivity(
            featureFlags,
            executor,
            controller,
            userTracker,
Loading