diff options
4 files changed, 21 insertions, 53 deletions
diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QS.java b/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QS.java index a0bf7f00b11c..d3218ad8c9fb 100644 --- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QS.java +++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QS.java @@ -203,8 +203,6 @@ public interface QS extends FragmentBase { */ void setIsNotificationPanelFullWidth(boolean isFullWidth); - default void setQSExpandingOrCollapsing(boolean isQSExpandingOrCollapsing) {} - /** * Callback for when QSPanel container is scrolled */ diff --git a/packages/SystemUI/src/com/android/systemui/qs/composefragment/QSFragmentCompose.kt b/packages/SystemUI/src/com/android/systemui/qs/composefragment/QSFragmentCompose.kt index 56c7be0b1321..28540d4f1259 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/composefragment/QSFragmentCompose.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/composefragment/QSFragmentCompose.kt @@ -305,7 +305,6 @@ constructor( sceneState, viewModel.containerViewModel.editModeViewModel.isEditing, snapshotFlow { viewModel.expansionState }.map { it.progress }, - snapshotFlow { viewModel.isQSExpandingOrCollapsing }, ) } @@ -537,10 +536,6 @@ constructor( return qqsVisible.value } - override fun setQSExpandingOrCollapsing(isQSExpandingOrCollapsing: Boolean) { - viewModel.isQSExpandingOrCollapsing = isQSExpandingOrCollapsing - } - private fun setListenerCollections() { lifecycleScope.launch { lifecycle.repeatOnLifecycle(Lifecycle.State.STARTED) { @@ -881,7 +876,6 @@ private suspend fun synchronizeQsState( state: MutableSceneTransitionLayoutState, editMode: Flow<Boolean>, expansion: Flow<Float>, - isQSExpandingOrCollapsing: Flow<Boolean>, ) { coroutineScope { val animationScope = this @@ -893,46 +887,31 @@ private suspend fun synchronizeQsState( currentTransition = null } - var lastValidProgress = 0f - combine(editMode, expansion, isQSExpandingOrCollapsing, ::Triple).collectLatest { - (editMode, progress, isQSExpandingOrCollapsing) -> + editMode.combine(expansion, ::Pair).collectLatest { (editMode, progress) -> if (editMode && state.currentScene != SceneKeys.EditMode) { state.setTargetScene(SceneKeys.EditMode, animationScope)?.second?.join() } else if (!editMode && state.currentScene == SceneKeys.EditMode) { state.setTargetScene(SceneKeys.QuickSettings, animationScope)?.second?.join() } - if (!editMode) { - if (!isQSExpandingOrCollapsing) { - if (progress == 0f) { - snapTo(QuickQuickSettings) - return@collectLatest - } + when (progress) { + 0f -> snapTo(QuickQuickSettings) + 1f -> snapTo(QuickSettings) + else -> { + val transition = currentTransition + if (transition != null) { + transition.progress = progress + return@collectLatest + } - if (progress == 1f) { - snapTo(QuickSettings) - return@collectLatest + val newTransition = + ExpansionTransition(progress).also { currentTransition = it } + state.startTransitionImmediately( + animationScope = animationScope, + transition = newTransition, + ) } } - - var progress = progress - if (progress >= 0f || progress <= 1f) { - lastValidProgress = progress - } else { - progress = lastValidProgress - } - - val transition = currentTransition - if (transition != null) { - transition.progress = progress - return@collectLatest - } - - val newTransition = ExpansionTransition(progress).also { currentTransition = it } - state.startTransitionImmediately( - animationScope = animationScope, - transition = newTransition, - ) } } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/composefragment/viewmodel/QSFragmentComposeViewModel.kt b/packages/SystemUI/src/com/android/systemui/qs/composefragment/viewmodel/QSFragmentComposeViewModel.kt index d8056c07f701..c09d319f82f5 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/composefragment/viewmodel/QSFragmentComposeViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/composefragment/viewmodel/QSFragmentComposeViewModel.kt @@ -35,6 +35,7 @@ import com.android.systemui.animation.ShadeInterpolation import com.android.systemui.classifier.Classifier import com.android.systemui.classifier.domain.interactor.FalsingInteractor import com.android.systemui.common.ui.domain.interactor.ConfigurationInteractor +import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.deviceentry.domain.interactor.DeviceEntryInteractor import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionInteractor import com.android.systemui.keyguard.shared.model.Edge @@ -307,8 +308,6 @@ constructor( val animateTilesExpansion: Boolean get() = inFirstPage && !mediaSuddenlyAppearingInLandscape - var isQSExpandingOrCollapsing by mutableStateOf(false) - private val inFirstPage: Boolean get() = inFirstPageViewModel.inFirstPage @@ -542,7 +541,6 @@ constructor( println("proposedTranslation", proposedTranslation) println("expansionState", expansionState) println("forceQS", forceQs) - println("isShadeExpandingOrCollapsing", isQSExpandingOrCollapsing) printSection("Derived values") { println("headerTranslation", headerTranslation) println("translationScaleY", translationScaleY) diff --git a/packages/SystemUI/src/com/android/systemui/shade/QuickSettingsControllerImpl.java b/packages/SystemUI/src/com/android/systemui/shade/QuickSettingsControllerImpl.java index 34b3324f81da..d05837261b89 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/QuickSettingsControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/shade/QuickSettingsControllerImpl.java @@ -105,14 +105,15 @@ import com.android.systemui.util.kotlin.JavaAdapter; import dalvik.annotation.optimization.NeverCompile; +import dagger.Lazy; + +import kotlin.Unit; + import java.io.PrintWriter; import javax.inject.Inject; import javax.inject.Provider; -import dagger.Lazy; -import kotlin.Unit; - /** Handles QuickSettings touch handling, expansion and animation state. */ @SysUISingleton public class QuickSettingsControllerImpl implements QuickSettingsController, Dumpable { @@ -2365,16 +2366,8 @@ public class QuickSettingsControllerImpl implements QuickSettingsController, Dum return; } if (startTracing) { - if (mQs != null) { - mQs.setQSExpandingOrCollapsing(true); - } - monitor.begin(mPanelView, Cuj.CUJ_NOTIFICATION_SHADE_QS_EXPAND_COLLAPSE); } else { - if (mQs != null) { - mQs.setQSExpandingOrCollapsing(false); - } - if (wasCancelled) { monitor.cancel(Cuj.CUJ_NOTIFICATION_SHADE_QS_EXPAND_COLLAPSE); } else { |