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

Commit 2a9f96f4 authored by Wei Sheng Shih's avatar Wei Sheng Shih Committed by Android (Google) Code Review
Browse files

Merge "Remove starting window in shell transition." into main

parents fb347f6e dc919d6d
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -208,6 +208,8 @@ public final class StartingWindowInfo implements Parcelable {
     */
    public SurfaceControl rootSurface;

    public IBinder transitionToken;

    /**
     * Notify windowless surface is created.
     * @param addedSurface Created surface.
@@ -256,6 +258,7 @@ public final class StartingWindowInfo implements Parcelable {
        dest.writeStrongBinder(appToken);
        dest.writeStrongInterface(windowlessStartingSurfaceCallback);
        dest.writeTypedObject(rootSurface, flags);
        dest.writeStrongBinder(transitionToken);
    }

    void readFromParcel(@NonNull Parcel source) {
@@ -272,6 +275,7 @@ public final class StartingWindowInfo implements Parcelable {
        windowlessStartingSurfaceCallback = IWindowlessStartingSurfaceCallback.Stub
                .asInterface(source.readStrongBinder());
        rootSurface = source.readTypedObject(SurfaceControl.CREATOR);
        transitionToken = source.readStrongBinder();
    }

    @Override
+11 −0
Original line number Diff line number Diff line
@@ -499,6 +499,17 @@ flag {
    }
}

flag {
    name: "remove_starting_in_transition"
    namespace: "windowing_frontend"
    description: "Allows the starting window to be removed while a transition is in progress."
    bug: "397353053"
    is_fixed_read_only: true
    metadata {
        purpose: PURPOSE_BUGFIX
    }
}

flag {
    name: "intercept_motion_from_move_to_cancel"
    namespace: "windowing_frontend"
+4 −2
Original line number Diff line number Diff line
@@ -943,9 +943,11 @@ public abstract class WMShellBaseModule {
            ShellTaskOrganizer shellTaskOrganizer,
            @ShellSplashscreenThread ShellExecutor splashScreenExecutor,
            StartingWindowTypeAlgorithm startingWindowTypeAlgorithm, IconProvider iconProvider,
            TransactionPool pool) {
            TransactionPool pool, @ShellMainThread ShellExecutor mainExecutor,
            Transitions transitions) {
        return new StartingWindowController(context, shellInit, shellController, shellTaskOrganizer,
                splashScreenExecutor, startingWindowTypeAlgorithm, iconProvider, pool);
                splashScreenExecutor, startingWindowTypeAlgorithm, iconProvider, pool, mainExecutor,
                transitions);
    }

    // Workaround for dynamic overriding with a default implementation, see {@link DynamicOverride}
+2 −0
Original line number Diff line number Diff line
@@ -42,6 +42,8 @@ public enum ShellProtoLogGroup implements IProtoLogGroup {
            "ShellDragAndDrop"),
    WM_SHELL_STARTING_WINDOW(Consts.ENABLE_DEBUG, Consts.ENABLE_LOG_TO_PROTO_DEBUG, false,
            Consts.TAG_WM_STARTING_WINDOW),
    WM_SHELL_REMOVE_STARTING_TRACKER(Consts.ENABLE_DEBUG, Consts.ENABLE_LOG_TO_PROTO_DEBUG, true,
            Consts.TAG_WM_STARTING_WINDOW),
    WM_SHELL_BACK_PREVIEW(Consts.ENABLE_DEBUG, Consts.ENABLE_LOG_TO_PROTO_DEBUG, true,
            "ShellBackPreview"),
    WM_SHELL_RECENT_TASKS(Consts.ENABLE_DEBUG, Consts.ENABLE_LOG_TO_PROTO_DEBUG, false,
+6 −0
Original line number Diff line number Diff line
@@ -95,6 +95,12 @@ public class StartingSurfaceDrawer {
        mWindowlessSplashWindowCreator.setSysuiProxy(sysuiProxy);
    }

    boolean hasStartingWindow(int taskId, boolean windowless) {
        if (windowless) {
            return mWindowlessRecords.getRecord(taskId) != null;
        }
        return mWindowRecords.getRecord(taskId) != null;
    }
    /**
     * Called when a task need a splash screen starting window.
     *
Loading