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

Commit b196e1b7 authored by Justin Weir's avatar Justin Weir
Browse files

Remove more calls to addFullExpansionListener

Bug: 300243163
Test: updated existing tests
Test: manual
Change-Id: Ic3144a834001a063ac48ac0c7a8dd2ffb77ae2ed
parent 6a71328c
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -72,10 +72,6 @@ class ShadeExpansionStateManager @Inject constructor() : ShadeStateEvents {
        listener.onShadeExpansionFullyChanged(qsExpanded)
    }

    fun removeFullExpansionListener(listener: ShadeFullExpansionListener) {
        fullExpansionListeners.remove(listener)
    }

    fun addQsExpansionListener(listener: ShadeQsExpansionListener) {
        qsExpansionListeners.add(listener)
        listener.onQsExpansionChanged(qsExpanded)
@@ -99,11 +95,6 @@ class ShadeExpansionStateManager @Inject constructor() : ShadeStateEvents {
        stateListeners.add(listener)
    }

    /** Removes a state listener. */
    fun removeStateListener(listener: ShadeStateListener) {
        stateListeners.remove(listener)
    }

    override fun addShadeStateEventsListener(listener: ShadeStateEventsListener) {
        shadeStateEventsListeners.addIfAbsent(listener)
    }
+9 −8
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@ import com.android.systemui.statusbar.notification.stack.domain.interactor.Share
import com.android.systemui.statusbar.phone.DozeParameters
import com.android.systemui.statusbar.pipeline.mobile.data.repository.UserSetupRepository
import com.android.systemui.statusbar.policy.data.repository.DeviceProvisioningRepository
import com.android.systemui.user.domain.interactor.UserInteractor
import com.android.systemui.user.data.repository.UserRepository
import com.android.systemui.util.kotlin.pairwise
import javax.inject.Inject
import javax.inject.Provider
@@ -71,7 +71,7 @@ constructor(
    keyguardTransitionInteractor: KeyguardTransitionInteractor,
    powerInteractor: PowerInteractor,
    userSetupRepository: UserSetupRepository,
    userInteractor: UserInteractor,
    userRepository: UserRepository,
    sharedNotificationContainerInteractor: SharedNotificationContainerInteractor,
    repository: ShadeRepository,
) {
@@ -156,12 +156,13 @@ constructor(
     *
     * TODO(b/300258424) remove all but the first sentence of this comment
     */
    val isAnyExpanded: Flow<Boolean> =
    val isAnyExpanded: StateFlow<Boolean> =
        if (sceneContainerFlags.isEnabled()) {
                anyExpansion.map { it > 0f }.distinctUntilChanged()
            } else {
                repository.legacyExpandedOrAwaitingInputTransfer
            }
            .stateIn(scope, SharingStarted.Eagerly, false)

    /**
     * Whether the user is expanding or collapsing the shade with user input. This will be true even
@@ -227,7 +228,7 @@ constructor(
            isDeviceProvisioned &&
                // Disallow QS during setup if it's a simple user switcher. (The user intends to
                // use the lock screen user switcher, QS is not needed.)
                (isUserSetup || !userInteractor.isSimpleUserSwitcher) &&
                (isUserSetup || !userRepository.isSimpleUserSwitcher()) &&
                isShadeEnabled &&
                disableFlags.isQuickSettingsEnabled() &&
                !isDozing
+11 −7
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.systemui.statusbar;

import static com.android.internal.jank.InteractionJankMonitor.CUJ_LOCKSCREEN_TRANSITION_FROM_AOD;
import static com.android.internal.jank.InteractionJankMonitor.CUJ_LOCKSCREEN_TRANSITION_TO_AOD;
import static com.android.systemui.util.kotlin.JavaAdapterKt.collectFlow;

import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
@@ -43,15 +44,17 @@ import com.android.internal.logging.UiEventLogger;
import com.android.keyguard.KeyguardClockSwitch;
import com.android.systemui.DejankUtils;
import com.android.systemui.Dumpable;
import com.android.systemui.res.R;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener;
import com.android.systemui.shade.ShadeExpansionStateManager;
import com.android.systemui.res.R;
import com.android.systemui.shade.domain.interactor.ShadeInteractor;
import com.android.systemui.statusbar.notification.stack.StackStateAnimator;
import com.android.systemui.statusbar.policy.CallbackController;
import com.android.systemui.util.Compile;

import dagger.Lazy;

import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Comparator;
@@ -95,6 +98,7 @@ public class StatusBarStateControllerImpl implements
    private final ArrayList<RankedListener> mListeners = new ArrayList<>();
    private final UiEventLogger mUiEventLogger;
    private final InteractionJankMonitor mInteractionJankMonitor;
    private final Lazy<ShadeInteractor> mShadeInteractorLazy;
    private int mState;
    private int mLastState;
    private int mUpcomingState;
@@ -158,15 +162,13 @@ public class StatusBarStateControllerImpl implements
            UiEventLogger uiEventLogger,
            DumpManager dumpManager,
            InteractionJankMonitor interactionJankMonitor,
            ShadeExpansionStateManager shadeExpansionStateManager
    ) {
            Lazy<ShadeInteractor> shadeInteractorLazy) {
        mUiEventLogger = uiEventLogger;
        mInteractionJankMonitor = interactionJankMonitor;
        mShadeInteractorLazy = shadeInteractorLazy;
        for (int i = 0; i < HISTORY_SIZE; i++) {
            mHistoricalRecords[i] = new HistoricalState();
        }
        shadeExpansionStateManager.addFullExpansionListener(this::onShadeExpansionFullyChanged);

        dumpManager.registerDumpable(this);
    }

@@ -336,6 +338,8 @@ public class StatusBarStateControllerImpl implements
                && (view != null && view.isAttachedToWindow())) {
            mView = view;
            mClockSwitchView = view.findViewById(R.id.keyguard_clock_container);
            collectFlow(mView, mShadeInteractorLazy.get().isAnyExpanded(),
                    this::onShadeOrQsExpanded);
        }
        mDozeAmountTarget = dozeAmount;
        if (animated) {
@@ -345,7 +349,7 @@ public class StatusBarStateControllerImpl implements
        }
    }

    private void onShadeExpansionFullyChanged(Boolean isExpanded) {
    private void onShadeOrQsExpanded(Boolean isExpanded) {
        if (mIsExpanded != isExpanded) {
            mIsExpanded = isExpanded;
            String tag = getClass().getSimpleName() + "#setIsExpanded";
+5 −0
Original line number Diff line number Diff line
@@ -180,4 +180,9 @@ public interface NotificationInterruptStateProvider {
     * Add a component that can suppress visual interruptions.
     */
    void addSuppressor(NotificationInterruptSuppressor suppressor);

    /**
     * Remove a component that can suppress visual interruptions.
     */
    void removeSuppressor(NotificationInterruptSuppressor suppressor);
}
+5 −0
Original line number Diff line number Diff line
@@ -174,6 +174,11 @@ public class NotificationInterruptStateProviderImpl implements NotificationInter
        mSuppressors.add(suppressor);
    }

    @Override
    public void removeSuppressor(NotificationInterruptSuppressor suppressor) {
        mSuppressors.remove(suppressor);
    }

    @Override
    public boolean shouldBubbleUp(NotificationEntry entry) {
        final StatusBarNotification sbn = entry.getSbn();
Loading