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

Commit 40349d86 authored by Ale Nijamkin's avatar Ale Nijamkin Committed by Android (Google) Code Review
Browse files

Merge changes from topic "flexi-qs-tile-squishiness-defer-reading" into main

* changes:
  [flexiglass] Fix for "return to lockscreen" bug.
  [flexiglass] Defer reading QS squishiness
parents 8ecc4567 84ac3904
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -69,7 +69,7 @@ object QuickSettings {

private fun SceneScope.stateForQuickSettingsContent(
    isSplitShade: Boolean,
    squishiness: Float = QuickSettings.SharedValues.SquishinessValues.Default
    squishiness: () -> Float = { QuickSettings.SharedValues.SquishinessValues.Default }
): QSSceneAdapter.State {
    return when (val transitionState = layoutState.transitionState) {
        is TransitionState.Idle -> {
@@ -125,9 +125,9 @@ fun SceneScope.QuickSettings(
    heightProvider: () -> Int,
    isSplitShade: Boolean,
    modifier: Modifier = Modifier,
    squishiness: Float = QuickSettings.SharedValues.SquishinessValues.Default,
    squishiness: () -> Float = { QuickSettings.SharedValues.SquishinessValues.Default },
) {
    val contentState = stateForQuickSettingsContent(isSplitShade, squishiness)
    val contentState = { stateForQuickSettingsContent(isSplitShade, squishiness) }
    val transitionState = layoutState.transitionState
    val isClosing =
        transitionState is TransitionState.Transition &&
@@ -161,7 +161,7 @@ fun SceneScope.QuickSettings(
@Composable
private fun QuickSettingsContent(
    qsSceneAdapter: QSSceneAdapter,
    state: QSSceneAdapter.State,
    state: () -> QSSceneAdapter.State,
    modifier: Modifier = Modifier,
) {
    val qsView by qsSceneAdapter.qsView.collectAsStateWithLifecycle(null)
@@ -185,10 +185,10 @@ private fun QuickSettingsContent(
                AndroidView(
                    modifier = Modifier.fillMaxWidth(),
                    factory = { _ ->
                        qsSceneAdapter.setState(state)
                        qsSceneAdapter.setState(state())
                        view
                    },
                    update = { qsSceneAdapter.setState(state) }
                    update = { qsSceneAdapter.setState(state()) }
                )
            }
        }
+2 −2
Original line number Diff line number Diff line
@@ -279,7 +279,7 @@ private fun SceneScope.SingleShade(
                                    viewModel.qsSceneAdapter,
                                    { viewModel.qsSceneAdapter.qqsHeight },
                                    isSplitShade = false,
                                    squishiness = tileSquishiness,
                                    squishiness = { tileSquishiness },
                                )
                            }

@@ -468,7 +468,7 @@ private fun SceneScope.SplitShade(
                                    heightProvider = { viewModel.qsSceneAdapter.qsHeight },
                                    isSplitShade = true,
                                    modifier = Modifier.fillMaxWidth(),
                                    squishiness = tileSquishiness,
                                    squishiness = { tileSquishiness },
                                )
                            }

+1 −1
Original line number Diff line number Diff line
@@ -257,7 +257,7 @@ class QSSceneAdapterImplTest : SysuiTestCase() {
            runCurrent()
            clearInvocations(qsImpl!!)

            underTest.setState(QSSceneAdapter.State.UnsquishingQQS(squishiness))
            underTest.setState(QSSceneAdapter.State.UnsquishingQQS { squishiness })
            with(qsImpl!!) {
                verify(this).setQsVisible(true)
                verify(this)
+3 −3
Original line number Diff line number Diff line
@@ -32,7 +32,7 @@ class QSSceneAdapterTest : SysuiTestCase() {

    @Test
    fun expanding_squishiness1() {
        assertThat(QSSceneAdapter.State.Expanding(0.3f).squishiness).isEqualTo(1f)
        assertThat(QSSceneAdapter.State.Expanding(0.3f).squishiness()).isEqualTo(1f)
    }

    @Test
@@ -51,14 +51,14 @@ class QSSceneAdapterTest : SysuiTestCase() {
    @Test
    fun unsquishingQQS_expansionSameAsQQS() {
        val squishiness = 0.6f
        assertThat(QSSceneAdapter.State.UnsquishingQQS(squishiness).expansion)
        assertThat(QSSceneAdapter.State.UnsquishingQQS { squishiness }.expansion)
            .isEqualTo(QSSceneAdapter.State.QQS.expansion)
    }

    @Test
    fun unsquishingQS_expansionSameAsQS() {
        val squishiness = 0.6f
        assertThat(QSSceneAdapter.State.UnsquishingQS(squishiness).expansion)
        assertThat(QSSceneAdapter.State.UnsquishingQS { squishiness }.expansion)
            .isEqualTo(QSSceneAdapter.State.QS.expansion)
    }
}
+15 −3
Original line number Diff line number Diff line
@@ -84,20 +84,25 @@ import com.android.systemui.keyguard.ui.viewmodel.KeyguardSurfaceBehindViewModel
import com.android.systemui.keyguard.ui.viewmodel.WindowManagerLockscreenVisibilityViewModel;
import com.android.systemui.power.domain.interactor.PowerInteractor;
import com.android.systemui.power.shared.model.ScreenPowerState;
import com.android.systemui.scene.domain.interactor.SceneInteractor;
import com.android.systemui.scene.shared.flag.SceneContainerFlag;
import com.android.systemui.scene.shared.model.Scenes;
import com.android.systemui.settings.DisplayTracker;
import com.android.wm.shell.shared.CounterRotator;
import com.android.wm.shell.shared.ShellTransitions;
import com.android.wm.shell.shared.TransitionUtil;
import com.android.wm.shell.transition.Transitions;

import dagger.Lazy;

import kotlinx.coroutines.CoroutineScope;

import java.util.ArrayList;
import java.util.Map;
import java.util.WeakHashMap;

import javax.inject.Inject;

import kotlinx.coroutines.CoroutineScope;

public class KeyguardService extends Service {
    static final String TAG = "KeyguardService";
    static final String PERMISSION = android.Manifest.permission.CONTROL_KEYGUARD;
@@ -109,6 +114,7 @@ public class KeyguardService extends Service {
    private final ShellTransitions mShellTransitions;
    private final DisplayTracker mDisplayTracker;
    private final PowerInteractor mPowerInteractor;
    private final Lazy<SceneInteractor> mSceneInteractorLazy;

    private static RemoteAnimationTarget[] wrap(TransitionInfo info, boolean wallpapers,
            SurfaceControl.Transaction t, ArrayMap<SurfaceControl, SurfaceControl> leashMap,
@@ -316,7 +322,8 @@ public class KeyguardService extends Service {
            @Application CoroutineScope scope,
            FeatureFlags featureFlags,
            PowerInteractor powerInteractor,
            WindowManagerOcclusionManager windowManagerOcclusionManager) {
            WindowManagerOcclusionManager windowManagerOcclusionManager,
            Lazy<SceneInteractor> sceneInteractorLazy) {
        super();
        mKeyguardViewMediator = keyguardViewMediator;
        mKeyguardLifecyclesDispatcher = keyguardLifecyclesDispatcher;
@@ -325,6 +332,7 @@ public class KeyguardService extends Service {
        mDisplayTracker = displayTracker;
        mFlags = featureFlags;
        mPowerInteractor = powerInteractor;
        mSceneInteractorLazy = sceneInteractorLazy;

        if (KeyguardWmStateRefactor.isEnabled()) {
            WindowManagerLockscreenVisibilityViewBinder.bind(
@@ -601,6 +609,10 @@ public class KeyguardService extends Service {
            trace("showDismissibleKeyguard");
            checkPermission();
            mKeyguardViewMediator.showDismissibleKeyguard();
            if (SceneContainerFlag.isEnabled()) {
                mSceneInteractorLazy.get().changeScene(
                        Scenes.Lockscreen, "KeyguardService.showDismissibleKeyguard");
            }
        }

        @Override // Binder interface
Loading