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

Commit 33b5c63d authored by Beverly Tai's avatar Beverly Tai Committed by Automerger Merge Worker
Browse files

Merge "Add udfpsTransitionProgress and qsExpansion to the ShadeRepository"...

Merge "Add udfpsTransitionProgress and qsExpansion to the ShadeRepository" into udc-dev am: 741ed97a

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/22836861



Change-Id: I22cd91930b2d91f48ff1fc4c17f556c1944c6776
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 4e0d1f01 741ed97a
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -70,6 +70,7 @@ import com.android.systemui.media.controls.ui.MediaHierarchyManager;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.qs.QS;
import com.android.systemui.screenrecord.RecordingController;
import com.android.systemui.shade.data.repository.ShadeRepository;
import com.android.systemui.shade.transition.ShadeTransitionController;
import com.android.systemui.shared.system.QuickStepContract;
import com.android.systemui.statusbar.LockscreenShadeTransitionController;
@@ -136,6 +137,7 @@ public class QuickSettingsController {
    private final KeyguardFaceAuthInteractor mKeyguardFaceAuthInteractor;
    private final FeatureFlags mFeatureFlags;
    private final InteractionJankMonitor mInteractionJankMonitor;
    private final ShadeRepository mShadeRepository;
    private final FalsingManager mFalsingManager;
    private final AccessibilityManager mAccessibilityManager;
    private final MetricsLogger mMetricsLogger;
@@ -321,7 +323,8 @@ public class QuickSettingsController {
            FeatureFlags featureFlags,
            InteractionJankMonitor interactionJankMonitor,
            ShadeLogger shadeLog,
            KeyguardFaceAuthInteractor keyguardFaceAuthInteractor
            KeyguardFaceAuthInteractor keyguardFaceAuthInteractor,
            ShadeRepository shadeRepository
    ) {
        mPanelViewControllerLazy = panelViewControllerLazy;
        mPanelView = panelView;
@@ -363,6 +366,7 @@ public class QuickSettingsController {
        mKeyguardFaceAuthInteractor = keyguardFaceAuthInteractor;
        mFeatureFlags = featureFlags;
        mInteractionJankMonitor = interactionJankMonitor;
        mShadeRepository = shadeRepository;

        mLockscreenShadeTransitionController.addCallback(new LockscreenShadeTransitionCallback());
    }
@@ -1001,6 +1005,7 @@ public class QuickSettingsController {

        mDepthController.setQsPanelExpansion(qsExpansionFraction);
        mStatusBarKeyguardViewManager.setQsExpansion(qsExpansionFraction);
        mShadeRepository.setQsExpansion(qsExpansionFraction);

        // TODO (b/265193930): remove dependency on NPVC
        float shadeExpandedFraction = mBarState == KEYGUARD
+26 −0
Original line number Diff line number Diff line
@@ -25,11 +25,23 @@ import com.android.systemui.shade.domain.model.ShadeModel
import javax.inject.Inject
import kotlinx.coroutines.channels.awaitClose
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.flow.distinctUntilChanged

interface ShadeRepository {
    /** ShadeModel information regarding shade expansion events */
    val shadeModel: Flow<ShadeModel>

    /** Amount qs has expanded. Quick Settings can be expanded without the full shade expansion. */
    val qsExpansion: StateFlow<Float>

    /** Amount shade has expanded with regard to the UDFPS location */
    val udfpsTransitionToFullShadeProgress: StateFlow<Float>

    fun setQsExpansion(qsExpansion: Float)
    fun setUdfpsTransitionToFullShadeProgress(progress: Float)
}

/** Business logic for shade interactions */
@@ -62,6 +74,20 @@ constructor(shadeExpansionStateManager: ShadeExpansionStateManager) : ShadeRepos
            }
            .distinctUntilChanged()

    private val _qsExpansion = MutableStateFlow(0f)
    override val qsExpansion: StateFlow<Float> = _qsExpansion.asStateFlow()

    private var _udfpsTransitionToFullShadeProgress = MutableStateFlow(0f)
    override val udfpsTransitionToFullShadeProgress: StateFlow<Float> =
        _udfpsTransitionToFullShadeProgress.asStateFlow()
    override fun setQsExpansion(qsExpansion: Float) {
        _qsExpansion.value = qsExpansion
    }

    override fun setUdfpsTransitionToFullShadeProgress(progress: Float) {
        _udfpsTransitionToFullShadeProgress.value = progress
    }

    companion object {
        private const val TAG = "ShadeRepository"
    }
+3 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import com.android.systemui.plugins.FalsingManager
import com.android.systemui.plugins.qs.QS
import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.shade.ShadeViewController
import com.android.systemui.shade.data.repository.ShadeRepository
import com.android.systemui.statusbar.notification.collection.NotificationEntry
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow
import com.android.systemui.statusbar.notification.row.ExpandableView
@@ -74,6 +75,7 @@ class LockscreenShadeTransitionController @Inject constructor(
    falsingManager: FalsingManager,
    dumpManager: DumpManager,
    qsTransitionControllerFactory: LockscreenShadeQsTransitionController.Factory,
    private val shadeRepository: ShadeRepository,
) : Dumpable {
    private var pulseHeight: Float = 0f
    @get:VisibleForTesting
@@ -449,6 +451,7 @@ class LockscreenShadeTransitionController @Inject constructor(
        }

        val udfpsProgress = MathUtils.saturate(dragDownAmount / udfpsTransitionDistance)
        shadeRepository.setUdfpsTransitionToFullShadeProgress(udfpsProgress)
        udfpsKeyguardViewController?.setTransitionToFullShadeProgress(udfpsProgress)

        val statusBarProgress = MathUtils.saturate(dragDownAmount / statusBarTransitionDistance)
+4 −1
Original line number Diff line number Diff line
@@ -115,6 +115,7 @@ import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.qs.QS;
import com.android.systemui.qs.QSFragment;
import com.android.systemui.screenrecord.RecordingController;
import com.android.systemui.shade.data.repository.ShadeRepository;
import com.android.systemui.shade.transition.ShadeTransitionController;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.KeyguardIndicationController;
@@ -304,6 +305,7 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase {
            mEmptySpaceClickListenerCaptor;
    @Mock protected ActivityStarter mActivityStarter;
    @Mock protected KeyguardFaceAuthInteractor mKeyguardFaceAuthInteractor;
    @Mock protected ShadeRepository mShadeRepository;

    protected final int mMaxUdfpsBurnInOffsetY = 5;
    protected KeyguardBottomAreaInteractor mKeyguardBottomAreaInteractor;
@@ -672,7 +674,8 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase {
                mFeatureFlags,
                mInteractionJankMonitor,
                mShadeLog,
                mKeyguardFaceAuthInteractor
                mKeyguardFaceAuthInteractor,
                mShadeRepository
        );
    }

+5 −3
Original line number Diff line number Diff line
@@ -69,6 +69,7 @@ import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.qs.QS;
import com.android.systemui.qs.QSFragment;
import com.android.systemui.screenrecord.RecordingController;
import com.android.systemui.shade.data.repository.ShadeRepository;
import com.android.systemui.shade.transition.ShadeTransitionController;
import com.android.systemui.statusbar.LockscreenShadeTransitionController;
import com.android.systemui.statusbar.NotificationRemoteInputManager;
@@ -88,6 +89,8 @@ import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
import com.android.systemui.statusbar.phone.StatusBarTouchableRegionManager;
import com.android.systemui.statusbar.policy.KeyguardStateController;

import dagger.Lazy;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -98,8 +101,6 @@ import org.mockito.MockitoAnnotations;

import java.util.List;

import dagger.Lazy;

@SmallTest
@RunWith(AndroidTestingRunner.class)
@TestableLooper.RunWithLooper(setAsMainLooper = true)
@@ -241,7 +242,8 @@ public class QuickSettingsControllerTest extends SysuiTestCase {
                mFeatureFlags,
                mInteractionJankMonitor,
                mShadeLogger,
                mock(KeyguardFaceAuthInteractor.class)
                mock(KeyguardFaceAuthInteractor.class),
                mock(ShadeRepository.class)
        );

        mFragmentListener = mQsController.getQsFragmentListener();
Loading