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

Commit fc5c199f authored by Selim Cinek's avatar Selim Cinek
Browse files

Added a timeout to the launch animation

After the timeout was hit, we stop blocking touches.

Bug: 69168591
Test: launch notification from service
Change-Id: I6bbb0d603631164cefdbadf0eb9d92af0aaeb84e
parent e2aa9efb
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -56,10 +56,15 @@ public class ActivityLaunchAnimator {
    public static final long ANIMATION_DELAY_ICON_FADE_IN = ANIMATION_DURATION -
            CollapsedStatusBarFragment.FADE_IN_DURATION - CollapsedStatusBarFragment.FADE_IN_DELAY
            - 16;
    private static final long LAUNCH_TIMEOUT = 500;
    private final NotificationPanelView mNotificationPanel;
    private final NotificationListContainer mNotificationContainer;
    private final StatusBarWindowView mStatusBarWindow;
    private final StatusBar mStatusBar;
    private StatusBar mStatusBar;
    private final Runnable mTimeoutRunnable = () -> {
        setAnimationPending(false);
        mStatusBar.collapsePanel(true /* animate */);
    };
    private boolean mAnimationPending;

    public ActivityLaunchAnimator(StatusBarWindowView statusBarWindow,
@@ -92,6 +97,11 @@ public class ActivityLaunchAnimator {
    private void setAnimationPending(boolean pending) {
        mAnimationPending = pending;
        mStatusBarWindow.setExpandAnimationPending(pending);
        if (pending) {
            mStatusBarWindow.postDelayed(mTimeoutRunnable, LAUNCH_TIMEOUT);
        } else {
            mStatusBarWindow.removeCallbacks(mTimeoutRunnable);
        }
    }

    class AnimationRunner extends IRemoteAnimationRunner.Stub {
+4 −0
Original line number Diff line number Diff line
@@ -2656,6 +2656,10 @@ public class StatusBar extends SystemUI implements DemoMode,
        if (mStatusBarView != null) {
            dumpBarTransitions(pw, "mStatusBarView", mStatusBarView.getBarTransitions());
        }
        pw.println("  StatusBarWindowView: ");
        if (mStatusBarWindow != null) {
            mStatusBarWindow.dump(fd, pw, args);
        }

        pw.println("  mMediaManager: ");
        if (mMediaManager != null) {
+10 −0
Original line number Diff line number Diff line
@@ -62,6 +62,9 @@ import com.android.systemui.statusbar.DragDownHelper;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.stack.NotificationStackScrollLayout;

import java.io.FileDescriptor;
import java.io.PrintWriter;


public class StatusBarWindowView extends FrameLayout {
    public static final String TAG = "StatusBarWindowView";
@@ -398,6 +401,13 @@ public class StatusBarWindowView extends FrameLayout {
        mExpandAnimationPending = pending;
    }

    public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
        pw.print("  mExpandAnimationPending="); pw.println(mExpandAnimationPending);
        pw.print("  mExpandAnimationRunning="); pw.println(mExpandAnimationRunning);
        pw.print("  mTouchCancelled="); pw.println(mTouchCancelled);
        pw.print("  mTouchActive="); pw.println(mTouchActive);
    }

    public class LayoutParams extends FrameLayout.LayoutParams {

        public boolean ignoreRightInset;