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

Commit a0bfb5fc authored by Bryce Lee's avatar Bryce Lee
Browse files

Directly go to Glanceable Hub edit mode on long press.

This changelist removes the FAB interaction from the edit mode entry
flow.

Test: atest CommunalViewModelTest#longClickDirectlyStartsEditMode
Flag: com.android.systemui.glanceable_hub_direct_edit_mode
Bug: 382531177
Change-Id: I90db522988947b860cfd9a32ea73d7ec01ee6551
parent b9c2d023
Loading
Loading
Loading
Loading
+7 −0
Original line number Original line Diff line number Diff line
@@ -1886,3 +1886,10 @@ flag {
    description: "Larger privacy indicators on large screen"
    description: "Larger privacy indicators on large screen"
    bug: "381864715"
    bug: "381864715"
}
}

flag {
   name: "glanceable_hub_direct_edit_mode"
   namespace: "systemui"
   description: "Invokes edit mode directly from long press in glanceable hub"
   bug: "382531177"
}
+13 −0
Original line number Original line Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.systemui.communal.view.viewmodel
import android.content.ComponentName
import android.content.ComponentName
import android.content.pm.UserInfo
import android.content.pm.UserInfo
import android.platform.test.annotations.DisableFlags
import android.platform.test.annotations.DisableFlags
import android.platform.test.annotations.EnableFlags
import android.platform.test.flag.junit.FlagsParameterization
import android.platform.test.flag.junit.FlagsParameterization
import android.provider.Settings
import android.provider.Settings
import android.widget.RemoteViews
import android.widget.RemoteViews
@@ -26,6 +27,7 @@ import androidx.test.filters.SmallTest
import com.android.compose.animation.scene.ObservableTransitionState
import com.android.compose.animation.scene.ObservableTransitionState
import com.android.systemui.Flags.FLAG_COMMUNAL_HUB
import com.android.systemui.Flags.FLAG_COMMUNAL_HUB
import com.android.systemui.Flags.FLAG_COMMUNAL_RESPONSIVE_GRID
import com.android.systemui.Flags.FLAG_COMMUNAL_RESPONSIVE_GRID
import com.android.systemui.Flags.FLAG_GLANCEABLE_HUB_DIRECT_EDIT_MODE
import com.android.systemui.SysuiTestCase
import com.android.systemui.SysuiTestCase
import com.android.systemui.communal.data.model.CommunalSmartspaceTimer
import com.android.systemui.communal.data.model.CommunalSmartspaceTimer
import com.android.systemui.communal.data.repository.FakeCommunalMediaRepository
import com.android.systemui.communal.data.repository.FakeCommunalMediaRepository
@@ -101,6 +103,7 @@ import org.mockito.Mock
import org.mockito.Mockito
import org.mockito.Mockito
import org.mockito.Mockito.verify
import org.mockito.Mockito.verify
import org.mockito.MockitoAnnotations
import org.mockito.MockitoAnnotations
import org.mockito.kotlin.any
import org.mockito.kotlin.atLeastOnce
import org.mockito.kotlin.atLeastOnce
import org.mockito.kotlin.eq
import org.mockito.kotlin.eq
import org.mockito.kotlin.mock
import org.mockito.kotlin.mock
@@ -442,6 +445,7 @@ class CommunalViewModelTest(flags: FlagsParameterization) : SysuiTestCase() {
        }
        }


    @Test
    @Test
    @DisableFlags(FLAG_GLANCEABLE_HUB_DIRECT_EDIT_MODE)
    fun customizeWidgetButton_showsThenHidesAfterTimeout() =
    fun customizeWidgetButton_showsThenHidesAfterTimeout() =
        testScope.runTest {
        testScope.runTest {
            tutorialRepository.setTutorialSettingState(Settings.Secure.HUB_MODE_TUTORIAL_COMPLETED)
            tutorialRepository.setTutorialSettingState(Settings.Secure.HUB_MODE_TUTORIAL_COMPLETED)
@@ -455,6 +459,7 @@ class CommunalViewModelTest(flags: FlagsParameterization) : SysuiTestCase() {
        }
        }


    @Test
    @Test
    @DisableFlags(FLAG_GLANCEABLE_HUB_DIRECT_EDIT_MODE)
    fun customizeWidgetButton_onDismiss_hidesImmediately() =
    fun customizeWidgetButton_onDismiss_hidesImmediately() =
        testScope.runTest {
        testScope.runTest {
            tutorialRepository.setTutorialSettingState(Settings.Secure.HUB_MODE_TUTORIAL_COMPLETED)
            tutorialRepository.setTutorialSettingState(Settings.Secure.HUB_MODE_TUTORIAL_COMPLETED)
@@ -467,6 +472,14 @@ class CommunalViewModelTest(flags: FlagsParameterization) : SysuiTestCase() {
            assertThat(currentPopup).isNull()
            assertThat(currentPopup).isNull()
        }
        }


    @Test
    @EnableFlags(FLAG_GLANCEABLE_HUB_DIRECT_EDIT_MODE)
    fun longClickDirectlyStartsEditMode() =
        testScope.runTest {
            underTest.onLongClick()
            verify(communalInteractor).showWidgetEditor(any())
        }

    @Test
    @Test
    fun canChangeScene_shadeNotExpanded() =
    fun canChangeScene_shadeNotExpanded() =
        testScope.runTest {
        testScope.runTest {
+5 −0
Original line number Original line Diff line number Diff line
@@ -22,6 +22,7 @@ import android.os.Bundle
import android.view.View
import android.view.View
import android.view.accessibility.AccessibilityNodeInfo
import android.view.accessibility.AccessibilityNodeInfo
import com.android.app.tracing.coroutines.launchTraced as launch
import com.android.app.tracing.coroutines.launchTraced as launch
import com.android.systemui.Flags
import com.android.systemui.communal.domain.interactor.CommunalInteractor
import com.android.systemui.communal.domain.interactor.CommunalInteractor
import com.android.systemui.communal.domain.interactor.CommunalSceneInteractor
import com.android.systemui.communal.domain.interactor.CommunalSceneInteractor
import com.android.systemui.communal.domain.interactor.CommunalSettingsInteractor
import com.android.systemui.communal.domain.interactor.CommunalSettingsInteractor
@@ -293,6 +294,10 @@ constructor(
    }
    }


    override fun onLongClick() {
    override fun onLongClick() {
        if (Flags.glanceableHubDirectEditMode()) {
            onOpenWidgetEditor(false)
            return
        }
        setCurrentPopupType(PopupType.CustomizeWidgetButton)
        setCurrentPopupType(PopupType.CustomizeWidgetButton)
    }
    }