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

Commit d3f718cc authored by Darrell Shi's avatar Darrell Shi Committed by Android (Google) Code Review
Browse files

Merge "Disable falsing when communal hub is showing" into main

parents d904605b b33a454c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@ class CommunalInteractorCommunalDisabledTest : SysuiTestCase() {

    @Test
    fun isCommunalEnabled_false() =
        testScope.runTest { assertThat(underTest.isCommunalEnabled).isFalse() }
        testScope.runTest { assertThat(underTest.isCommunalEnabled.value).isFalse() }

    @Test
    fun isCommunalAvailable_whenStorageUnlock_false() =
+1 −1
Original line number Diff line number Diff line
@@ -123,7 +123,7 @@ class CommunalInteractorTest : SysuiTestCase() {
        testScope.runTest {
            userRepository.setSelectedUserInfo(mainUser)
            runCurrent()
            assertThat(underTest.isCommunalEnabled).isTrue()
            assertThat(underTest.isCommunalEnabled.value).isTrue()
        }

    @Test
+2 −1
Original line number Diff line number Diff line
@@ -93,11 +93,13 @@ public class BrightLineFalsingManager implements FalsingManager {
        @Override
        public void onSessionEnded() {
            mLastProximityEvent = null;
            mHistoryTracker.removeBeliefListener(mBeliefListener);
            mClassifiers.forEach(FalsingClassifier::onSessionEnded);
        }

        @Override
        public void onSessionStarted() {
            mHistoryTracker.addBeliefListener(mBeliefListener);
            mClassifiers.forEach(FalsingClassifier::onSessionStarted);
        }
    };
@@ -200,7 +202,6 @@ public class BrightLineFalsingManager implements FalsingManager {

        mDataProvider.addSessionListener(mSessionListener);
        mDataProvider.addGestureCompleteListener(mGestureFinalizedListener);
        mHistoryTracker.addBeliefListener(mBeliefListener);
    }

    @Override
+24 −2
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import androidx.annotation.VisibleForTesting;

import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.keyguard.KeyguardUpdateMonitorCallback;
import com.android.systemui.communal.domain.interactor.CommunalInteractor;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dock.DockManager;
@@ -39,6 +40,7 @@ import com.android.systemui.statusbar.policy.BatteryController.BatteryStateChang
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.user.domain.interactor.SelectedUserInteractor;
import com.android.systemui.util.concurrency.DelayableExecutor;
import com.android.systemui.util.kotlin.BooleanFlowOperators;
import com.android.systemui.util.kotlin.JavaAdapter;
import com.android.systemui.util.sensors.ProximitySensor;
import com.android.systemui.util.sensors.ThresholdSensor;
@@ -67,6 +69,7 @@ class FalsingCollectorImpl implements FalsingCollector {
    private final StatusBarStateController mStatusBarStateController;
    private final KeyguardStateController mKeyguardStateController;
    private final Lazy<ShadeInteractor> mShadeInteractorLazy;
    private final Lazy<CommunalInteractor> mCommunalInteractorLazy;
    private final BatteryController mBatteryController;
    private final DockManager mDockManager;
    private final DelayableExecutor mMainExecutor;
@@ -76,6 +79,7 @@ class FalsingCollectorImpl implements FalsingCollector {

    private int mState;
    private boolean mShowingAod;
    private boolean mShowingCommunalHub;
    private boolean mScreenOn;
    private boolean mSessionStarted;
    private MotionEvent mPendingDownEvent;
@@ -145,7 +149,8 @@ class FalsingCollectorImpl implements FalsingCollector {
            @Main DelayableExecutor mainExecutor,
            JavaAdapter javaAdapter,
            SystemClock systemClock,
            Lazy<SelectedUserInteractor> userInteractor) {
            Lazy<SelectedUserInteractor> userInteractor,
            Lazy<CommunalInteractor> communalInteractorLazy) {
        mFalsingDataProvider = falsingDataProvider;
        mFalsingManager = falsingManager;
        mKeyguardUpdateMonitor = keyguardUpdateMonitor;
@@ -160,6 +165,7 @@ class FalsingCollectorImpl implements FalsingCollector {
        mJavaAdapter = javaAdapter;
        mSystemClock = systemClock;
        mUserInteractor = userInteractor;
        mCommunalInteractorLazy = communalInteractorLazy;
    }

    @Override
@@ -176,6 +182,13 @@ class FalsingCollectorImpl implements FalsingCollector {
                mShadeInteractorLazy.get().isQsExpanded(),
                this::onQsExpansionChanged
        );
        final CommunalInteractor communalInteractor = mCommunalInteractorLazy.get();
        mJavaAdapter.alwaysCollectFlow(
                BooleanFlowOperators.INSTANCE.and(
                        communalInteractor.isCommunalEnabled(),
                        communalInteractor.isCommunalShowing()),
                this::onShowingCommunalHubChanged
        );

        mBatteryController.addCallback(mBatteryListener);
        mDockManager.addListener(mDockEventListener);
@@ -205,6 +218,12 @@ class FalsingCollectorImpl implements FalsingCollector {
        }
    }

    private void onShowingCommunalHubChanged(boolean isShowing) {
        logDebug("REAL: onShowingCommunalHubChanged(" + isShowing + ")");
        mShowingCommunalHub = isShowing;
        updateSessionActive();
    }

    @Override
    public boolean shouldEnforceBouncer() {
        return false;
@@ -333,7 +352,10 @@ class FalsingCollectorImpl implements FalsingCollector {
    }

    private boolean shouldSessionBeActive() {
        return mScreenOn && (mState == StatusBarState.KEYGUARD) && !mShowingAod;
        return mScreenOn
                && (mState == StatusBarState.KEYGUARD)
                && !mShowingAod
                && !mShowingCommunalHub;
    }

    private void updateSessionActive() {
+2 −3
Original line number Diff line number Diff line
@@ -75,7 +75,7 @@ constructor(
    mediaRepository: CommunalMediaRepository,
    smartspaceRepository: SmartspaceRepository,
    keyguardInteractor: KeyguardInteractor,
    private val communalSettingsInteractor: CommunalSettingsInteractor,
    communalSettingsInteractor: CommunalSettingsInteractor,
    private val appWidgetHost: CommunalAppWidgetHost,
    private val editWidgetsActivityStarter: EditWidgetsActivityStarter,
    @CommunalLog logBuffer: LogBuffer,
@@ -89,8 +89,7 @@ constructor(
    val editModeOpen: StateFlow<Boolean> = _editModeOpen.asStateFlow()

    /** Whether communal features are enabled. */
    val isCommunalEnabled: Boolean
        get() = communalSettingsInteractor.isCommunalEnabled.value
    val isCommunalEnabled: StateFlow<Boolean> = communalSettingsInteractor.isCommunalEnabled

    /** Whether communal features are enabled and available. */
    val isCommunalAvailable: Flow<Boolean> =
Loading