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

Commit 39002ce5 authored by Yunfan Chen's avatar Yunfan Chen Committed by Automerger Merge Worker
Browse files

Merge "Make requested visibility available in snapshot starting window" into...

Merge "Make requested visibility available in snapshot starting window" into sc-v2-dev am: ca4709e7

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

Change-Id: I95b14c131bbfecc5961214b5997d5c83ea4d2022
parents 25109df6 ca4709e7
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -116,6 +116,10 @@ public class InsetsVisibilities implements Parcelable {
        dest.writeIntArray(mVisibilities);
    }

    public void readFromParcel(@NonNull Parcel in) {
        in.readIntArray(mVisibilities);
    }

    public static final @NonNull Creator<InsetsVisibilities> CREATOR =
            new Creator<InsetsVisibilities>() {

+12 −3
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.content.pm.ActivityInfo;
import android.os.Parcel;
import android.os.Parcelable;
import android.view.InsetsState;
import android.view.InsetsVisibilities;
import android.view.WindowManager;

/**
@@ -165,7 +166,13 @@ public final class StartingWindowInfo implements Parcelable {
     * TaskSnapshot.
     * @hide
     */
    public TaskSnapshot mTaskSnapshot;
    public TaskSnapshot taskSnapshot;

    /**
     * The requested insets visibility of the top main window.
     * @hide
     */
    public final InsetsVisibilities requestedVisibilities = new InsetsVisibilities();

    public StartingWindowInfo() {

@@ -190,7 +197,8 @@ public final class StartingWindowInfo implements Parcelable {
        dest.writeTypedObject(mainWindowLayoutParams, flags);
        dest.writeInt(splashScreenThemeResId);
        dest.writeBoolean(isKeyguardOccluded);
        dest.writeTypedObject(mTaskSnapshot, flags);
        dest.writeTypedObject(taskSnapshot, flags);
        requestedVisibilities.writeToParcel(dest, flags);
    }

    void readFromParcel(@NonNull Parcel source) {
@@ -203,7 +211,8 @@ public final class StartingWindowInfo implements Parcelable {
        mainWindowLayoutParams = source.readTypedObject(WindowManager.LayoutParams.CREATOR);
        splashScreenThemeResId = source.readInt();
        isKeyguardOccluded = source.readBoolean();
        mTaskSnapshot = source.readTypedObject(TaskSnapshot.CREATOR);
        taskSnapshot = source.readTypedObject(TaskSnapshot.CREATOR);
        requestedVisibilities.readFromParcel(source);
    }

    @Override
+1 −1
Original line number Diff line number Diff line
@@ -134,7 +134,7 @@ public class StartingWindowController implements RemoteCallable<StartingWindowCo
                mStartingSurfaceDrawer.addSplashScreenStartingWindow(windowInfo, appToken,
                        suggestionType);
            } else if (suggestionType == STARTING_WINDOW_TYPE_SNAPSHOT) {
                final TaskSnapshot snapshot = windowInfo.mTaskSnapshot;
                final TaskSnapshot snapshot = windowInfo.taskSnapshot;
                mStartingSurfaceDrawer.makeTaskSnapshotWindow(windowInfo, appToken,
                        snapshot);
            }
+1 −3
Original line number Diff line number Diff line
@@ -70,7 +70,6 @@ import android.view.IWindowSession;
import android.view.InputChannel;
import android.view.InsetsSourceControl;
import android.view.InsetsState;
import android.view.InsetsVisibilities;
import android.view.SurfaceControl;
import android.view.SurfaceSession;
import android.view.View;
@@ -231,13 +230,12 @@ public class TaskSnapshotWindow {
        final Window window = snapshotSurface.mWindow;

        final InsetsState tmpInsetsState = new InsetsState();
        final InsetsVisibilities tmpRequestedVisibilities = new InsetsVisibilities();
        final InputChannel tmpInputChannel = new InputChannel();

        try {
            Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "TaskSnapshot#addToDisplay");
            final int res = session.addToDisplay(window, layoutParams, View.GONE, displayId,
                    tmpRequestedVisibilities, tmpInputChannel, tmpInsetsState, tmpControls);
                    info.requestedVisibilities, tmpInputChannel, tmpInsetsState, tmpControls);
            Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER);
            if (res < 0) {
                Slog.w(TAG, "Failed to add snapshot starting window res=" + res);
+1 −1
Original line number Diff line number Diff line
@@ -107,7 +107,7 @@ public class PhoneStartingWindowTypeAlgorithm implements StartingWindowTypeAlgor
     * rotation must be the same).
     */
    private boolean isSnapshotCompatible(StartingWindowInfo windowInfo) {
        final TaskSnapshot snapshot = windowInfo.mTaskSnapshot;
        final TaskSnapshot snapshot = windowInfo.taskSnapshot;
        if (snapshot == null) {
            if (DEBUG_SPLASH_SCREEN || DEBUG_TASK_SNAPSHOT) {
                Slog.d(TAG, "isSnapshotCompatible no snapshot " + windowInfo.taskInfo.taskId);
Loading