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

Commit 849894b3 authored by Ming-Shin Lu's avatar Ming-Shin Lu Committed by Automerger Merge Worker
Browse files

RESTRICT AUTOMERGE: Fix snapshot starting window stuck if the task never gain focus am: a4f760be

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

Change-Id: I67c974b959f0a5695384bba8ecfa144fde2e101e
parents 7f787b6b a4f760be
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -123,7 +123,7 @@ public class TaskSnapshotWindow {
     * Ideally the delay time will be shorter when receiving
     * {@link StartingSurfaceDrawer#onImeDrawnOnTask(int)}.
     */
    private static final long MAX_DELAY_REMOVAL_TIME_IME_VISIBLE = 450;
    private static final long MAX_DELAY_REMOVAL_TIME_IME_VISIBLE = 600;

    //tmp vars for unused relayout params
    private static final Point TMP_SURFACE_SIZE = new Point();
+1 −12
Original line number Diff line number Diff line
@@ -2253,17 +2253,6 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
        }
    }

    void removeStartingWindowIfNeeded() {
        // Removing the task snapshot after the task is actually focused (see
        // Task#onWindowFocusChanged). Since some of the app contents may draw in this time and
        // requires more times to draw finish, in case flicking may happen when removing the task
        // snapshot too early. (i.e. Showing IME.)
        if ((mStartingData instanceof SnapshotStartingData) && !getTask().isFocused()) {
            return;
        }
        removeStartingWindow();
    }

    void removeStartingWindow() {
        removeStartingWindowAnimation(true /* prepareAnimation */);
    }
@@ -5835,7 +5824,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
            // own stuff.
            win.cancelAnimation();
        }
        removeStartingWindowIfNeeded();
        removeStartingWindow();
        updateReportedVisibilityLocked();
    }

+0 −4
Original line number Diff line number Diff line
@@ -5206,10 +5206,6 @@ class Task extends WindowContainer<WindowContainer> {
     * @param hasFocus
     */
    void onWindowFocusChanged(boolean hasFocus) {
        final ActivityRecord topAct = getTopVisibleActivity();
        if (topAct != null && (topAct.mStartingData instanceof SnapshotStartingData)) {
            topAct.removeStartingWindowIfNeeded();
        }
        updateShadowsRadius(hasFocus, getSyncTransaction());
        // TODO(b/180525887): Un-comment once there is resolution on the bug.
        // dispatchTaskInfoChangedIfNeeded(false /* force */);