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

Commit df876ad5 authored by Caitlin Cassidy's avatar Caitlin Cassidy Committed by Automerger Merge Worker
Browse files

Merge "[Ongoing Call] Show semi-transparent background behind status bar in...

Merge "[Ongoing Call] Show semi-transparent background behind status bar in immersive mode." into sc-v2-dev am: a9129a5f

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

Change-Id: I36f38feb36fcf47702de1888ed6d281dc6df9fa2
parents f871947c a9129a5f
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -109,9 +109,8 @@ public interface StatusBarStateController {
         * Callback to be notified when the fullscreen or immersive state changes.
         *
         * @param isFullscreen if any of the system bar is hidden by the focused window.
         * @param isImmersive if the navigation bar can stay hidden when the display gets tapped.
         */
        default void onFullscreenStateChanged(boolean isFullscreen, boolean isImmersive) {}
        default void onFullscreenStateChanged(boolean isFullscreen) {}

        /**
         * Callback to be notified when the pulsing state changes
+1 −1
Original line number Diff line number Diff line
@@ -446,7 +446,7 @@ public class StatusBarStateControllerImpl implements
            mIsFullscreen = isFullscreen;
            synchronized (mListeners) {
                for (RankedListener rl : new ArrayList<>(mListeners)) {
                    rl.mListener.onFullscreenStateChanged(isFullscreen, true /* isImmersive */);
                    rl.mListener.onFullscreenStateChanged(isFullscreen);
                }
            }
        }
+17 −5
Original line number Diff line number Diff line
@@ -628,6 +628,7 @@ public class StatusBar extends SystemUI implements
    private final Executor mUiBgExecutor;

    protected boolean mDozing;
    private boolean mIsFullscreen;

    private final NotificationMediaManager mMediaManager;
    private final NotificationLockscreenUserManager mLockscreenUserManager;
@@ -909,6 +910,9 @@ public class StatusBar extends SystemUI implements
        mActivityLaunchAnimator = activityLaunchAnimator;
        mDialogLaunchAnimator = dialogLaunchAnimator;

        // The status bar background may need updating when the ongoing call status changes.
        mOngoingCallController.addCallback((animate) -> maybeUpdateBarMode());

        // TODO(b/190746471): Find a better home for this.
        DateTimeView.setReceiverHandler(timeTickHandler);

@@ -2243,7 +2247,7 @@ public class StatusBar extends SystemUI implements
        if (!mTransientShown) {
            mTransientShown = true;
            mNoAnimationOnNextBarModeChange = true;
            handleTransientChanged();
            maybeUpdateBarMode();
        }
    }

@@ -2251,11 +2255,11 @@ public class StatusBar extends SystemUI implements
    void clearTransient() {
        if (mTransientShown) {
            mTransientShown = false;
            handleTransientChanged();
            maybeUpdateBarMode();
        }
    }

    private void handleTransientChanged() {
    private void maybeUpdateBarMode() {
        final int barMode = barMode(mTransientShown, mAppearance);
        if (updateBarMode(barMode)) {
            mLightBarController.onStatusBarModeChanged(barMode);
@@ -2273,9 +2277,11 @@ public class StatusBar extends SystemUI implements
        return false;
    }

    private static @TransitionMode int barMode(boolean isTransient, int appearance) {
    private @TransitionMode int barMode(boolean isTransient, int appearance) {
        final int lightsOutOpaque = APPEARANCE_LOW_PROFILE_BARS | APPEARANCE_OPAQUE_STATUS_BARS;
        if (isTransient) {
        if (mOngoingCallController.hasOngoingCall() && mIsFullscreen) {
            return MODE_SEMI_TRANSPARENT;
        } else if (isTransient) {
            return MODE_SEMI_TRANSPARENT;
        } else if ((appearance & lightsOutOpaque) == lightsOutOpaque) {
            return MODE_LIGHTS_OUT;
@@ -4477,6 +4483,12 @@ public class StatusBar extends SystemUI implements
                    updateReportRejectedTouchVisibility();
                    Trace.endSection();
                }

                @Override
                public void onFullscreenStateChanged(boolean isFullscreen) {
                    mIsFullscreen = isFullscreen;
                    maybeUpdateBarMode();
                }
            };

    private final BatteryController.BatteryStateChangeCallback mBatteryStateChangeCallback =