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

Commit d801dcfc authored by Issei Suzuki's avatar Issei Suzuki Committed by Automerger Merge Worker
Browse files

Merge "Suppress app transition while recents is running" into tm-dev am: fca1e25c

parents 70f6eac2 fca1e25c
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -2485,6 +2485,12 @@
      "group": "WM_ERROR",
      "group": "WM_ERROR",
      "at": "com\/android\/server\/wm\/WindowManagerService.java"
      "at": "com\/android\/server\/wm\/WindowManagerService.java"
    },
    },
    "323235828": {
      "message": "Delaying app transition for recents animation to finish",
      "level": "VERBOSE",
      "group": "WM_DEBUG_APP_TRANSITIONS",
      "at": "com\/android\/server\/wm\/AppTransitionController.java"
    },
    "327461496": {
    "327461496": {
      "message": "Complete pause: %s",
      "message": "Complete pause: %s",
      "level": "VERBOSE",
      "level": "VERBOSE",
+1 −0
Original line number Original line Diff line number Diff line
@@ -9339,6 +9339,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
        sb.append(mUserId);
        sb.append(mUserId);
        sb.append(' ');
        sb.append(' ');
        sb.append(intent.getComponent().flattenToShortString());
        sb.append(intent.getComponent().flattenToShortString());
        sb.append("}");
        stringName = sb.toString();
        stringName = sb.toString();
        return stringName;
        return stringName;
    }
    }
+6 −1
Original line number Original line Diff line number Diff line
@@ -68,6 +68,7 @@ import static com.android.server.wm.AppTransition.isNormalTransit;
import static com.android.server.wm.NonAppWindowAnimationAdapter.shouldAttachNavBarToApp;
import static com.android.server.wm.NonAppWindowAnimationAdapter.shouldAttachNavBarToApp;
import static com.android.server.wm.NonAppWindowAnimationAdapter.shouldStartNonAppWindowAnimationsForKeyguardExit;
import static com.android.server.wm.NonAppWindowAnimationAdapter.shouldStartNonAppWindowAnimationsForKeyguardExit;
import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_APP_TRANSITION;
import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_APP_TRANSITION;
import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_RECENTS;
import static com.android.server.wm.WallpaperAnimationAdapter.shouldStartWallpaperAnimation;
import static com.android.server.wm.WallpaperAnimationAdapter.shouldStartWallpaperAnimation;
import static com.android.server.wm.WindowContainer.AnimationFlags.PARENTS;
import static com.android.server.wm.WindowContainer.AnimationFlags.PARENTS;
import static com.android.server.wm.WindowManagerDebugConfig.SHOW_LIGHT_TRANSACTIONS;
import static com.android.server.wm.WindowManagerDebugConfig.SHOW_LIGHT_TRANSACTIONS;
@@ -1142,13 +1143,17 @@ public class AppTransitionController {
            if (activity == null) {
            if (activity == null) {
                continue;
                continue;
            }
            }
            if (activity.isAnimating(PARENTS, ANIMATION_TYPE_RECENTS)) {
                ProtoLog.v(WM_DEBUG_APP_TRANSITIONS,
                        "Delaying app transition for recents animation to finish");
                return false;
            }
            ProtoLog.v(WM_DEBUG_APP_TRANSITIONS,
            ProtoLog.v(WM_DEBUG_APP_TRANSITIONS,
                    "Check opening app=%s: allDrawn=%b startingDisplayed=%b "
                    "Check opening app=%s: allDrawn=%b startingDisplayed=%b "
                            + "startingMoved=%b isRelaunching()=%b startingWindow=%s",
                            + "startingMoved=%b isRelaunching()=%b startingWindow=%s",
                    activity, activity.allDrawn, activity.startingDisplayed,
                    activity, activity.allDrawn, activity.startingDisplayed,
                    activity.startingMoved, activity.isRelaunching(),
                    activity.startingMoved, activity.isRelaunching(),
                    activity.mStartingWindow);
                    activity.mStartingWindow);

            final boolean allDrawn = activity.allDrawn && !activity.isRelaunching();
            final boolean allDrawn = activity.allDrawn && !activity.isRelaunching();
            if (!allDrawn && !activity.startingDisplayed && !activity.startingMoved) {
            if (!allDrawn && !activity.startingDisplayed && !activity.startingMoved) {
                return false;
                return false;
+1 −1
Original line number Original line Diff line number Diff line
@@ -5265,7 +5265,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp
    void prepareAppTransition(@WindowManager.TransitionType int transit,
    void prepareAppTransition(@WindowManager.TransitionType int transit,
            @WindowManager.TransitionFlags int flags) {
            @WindowManager.TransitionFlags int flags) {
        final boolean prepared = mAppTransition.prepareAppTransition(transit, flags);
        final boolean prepared = mAppTransition.prepareAppTransition(transit, flags);
        if (prepared && okToAnimate()) {
        if (prepared && okToAnimate() && transit != TRANSIT_NONE) {
            mSkipAppTransitionAnimation = false;
            mSkipAppTransitionAnimation = false;
        }
        }
    }
    }
+8 −0
Original line number Original line Diff line number Diff line
@@ -1584,6 +1584,14 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer<
        return true;
        return true;
    }
    }


    void forAllWindowContainers(Consumer<WindowContainer> callback) {
        callback.accept(this);
        final int count = mChildren.size();
        for (int i = 0; i < count; i++) {
            mChildren.get(i).forAllWindowContainers(callback);
        }
    }

    /**
    /**
     * For all windows at or below this container call the callback.
     * For all windows at or below this container call the callback.
     * @param   callback Calls the {@link ToBooleanFunction#apply} method for each window found and
     * @param   callback Calls the {@link ToBooleanFunction#apply} method for each window found and
Loading