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

Commit 8a590167 authored by Tiger Huang's avatar Tiger Huang
Browse files

Don't clear the transient state before the end of hiding animation

Before this CL, the transient state would be cleared before the hiding
animation, so the semi-transperent background of system bar would be
gone suddenly. That makes the hiding animation inconsistent with the
showing animation.

This CL aborts the transient state when the client stops playing the
hiding animation. So the semi-transparent background will be there
during the animation.

Fix: 312137467
Flag: EXEMPT bugfix
Test: Open a YouTube video in fullscreen mode, swipe to show system
      bars, and wait for it to hide automatically. See if the semi-
      transparent background of the bars stays visible before the
      animation ends.
Change-Id: If3fa61005f7905bb541743e61ec20a6c8cf8a1f5
parent e3b2dbbf
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -178,7 +178,6 @@ public class TaskbarDelegate implements CommandQueue.Callbacks,

        @Override
        public void hide() {
            clearTransient();
        }
    };

+0 −1
Original line number Diff line number Diff line
@@ -343,7 +343,6 @@ public class NavigationBar extends ViewController<NavigationBarView> implements

        @Override
        public void hide() {
            clearTransient();
        }
    };

+1 −3
Original line number Diff line number Diff line
@@ -226,9 +226,7 @@ constructor(
                    return statusBarModeRepository.isTransientShown.value
                }

                override fun hide() {
                    statusBarModeRepository.clearTransient()
                }
                override fun hide() {}
            }
        )
    }
+1 −2
Original line number Diff line number Diff line
@@ -198,7 +198,6 @@ import com.android.systemui.statusbar.PowerButtonReveal;
import com.android.systemui.statusbar.PulseExpansionHandler;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.topui.TopUiController;
import com.android.systemui.statusbar.core.StatusBarConnectedDisplays;
import com.android.systemui.statusbar.core.StatusBarInitializer;
import com.android.systemui.statusbar.core.StatusBarRootModernization;
@@ -227,6 +226,7 @@ import com.android.systemui.statusbar.policy.UserInfoControllerImpl;
import com.android.systemui.statusbar.window.StatusBarWindowControllerStore;
import com.android.systemui.statusbar.window.StatusBarWindowStateController;
import com.android.systemui.surfaceeffects.ripple.RippleShader.RippleShape;
import com.android.systemui.topui.TopUiController;
import com.android.systemui.topui.TopUiControllerRefactor;
import com.android.systemui.util.DumpUtilsKt;
import com.android.systemui.util.WallpaperController;
@@ -1276,7 +1276,6 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {

                        @Override
                        public void hide() {
                            mStatusBarModeRepository.getDefaultDisplay().clearTransient();
                        }
                    });
        }
+1 −0
Original line number Diff line number Diff line
@@ -7124,6 +7124,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp
        public void setAnimatingTypes(@InsetsType int animatingTypes,
                @Nullable ImeTracker.Token statsToken) {
            if (mAnimatingTypes != animatingTypes) {
                getInsetsPolicy().onAnimatingTypesChanged(this, mAnimatingTypes, animatingTypes);
                mAnimatingTypes = animatingTypes;

                if (android.view.inputmethod.Flags.reportAnimatingInsetsTypes()) {
Loading