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

Commit a493f855 authored by Ben Lin's avatar Ben Lin Committed by Automerger Merge Worker
Browse files

Merge "Pass AppOps result for PiP to Transition change." into sc-v2-dev am: b37ecaa4

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

Change-Id: Ib9f1a11fea9f91b42be19eb5d3f43a6cd581c9c0
parents 960c4e1d b37ecaa4
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -352,6 +352,7 @@ public final class TransitionInfo implements Parcelable {
        private final Rect mEndAbsBounds = new Rect();
        private final Point mEndRelOffset = new Point();
        private ActivityManager.RunningTaskInfo mTaskInfo = null;
        private boolean mAllowEnterPip;
        private int mStartRotation = ROTATION_UNDEFINED;
        private int mEndRotation = ROTATION_UNDEFINED;
        private int mRotationAnimation = ROTATION_ANIMATION_UNSPECIFIED;
@@ -372,6 +373,7 @@ public final class TransitionInfo implements Parcelable {
            mEndAbsBounds.readFromParcel(in);
            mEndRelOffset.readFromParcel(in);
            mTaskInfo = in.readTypedObject(ActivityManager.RunningTaskInfo.CREATOR);
            mAllowEnterPip = in.readBoolean();
            mStartRotation = in.readInt();
            mEndRotation = in.readInt();
            mRotationAnimation = in.readInt();
@@ -415,6 +417,11 @@ public final class TransitionInfo implements Parcelable {
            mTaskInfo = taskInfo;
        }

        /** Sets the allowEnterPip flag which represents AppOpsManager check on PiP permission */
        public void setAllowEnterPip(boolean allowEnterPip) {
            mAllowEnterPip = allowEnterPip;
        }

        /** Sets the start and end rotation of this container. */
        public void setRotation(@Surface.Rotation int start, @Surface.Rotation int end) {
            mStartRotation = start;
@@ -492,6 +499,10 @@ public final class TransitionInfo implements Parcelable {
            return mTaskInfo;
        }

        public boolean getAllowEnterPip() {
            return mAllowEnterPip;
        }

        public int getStartRotation() {
            return mStartRotation;
        }
@@ -517,6 +528,7 @@ public final class TransitionInfo implements Parcelable {
            mEndAbsBounds.writeToParcel(dest, flags);
            mEndRelOffset.writeToParcel(dest, flags);
            dest.writeTypedObject(mTaskInfo, flags);
            dest.writeBoolean(mAllowEnterPip);
            dest.writeInt(mStartRotation);
            dest.writeInt(mEndRotation);
            dest.writeInt(mRotationAnimation);
+1 −1
Original line number Diff line number Diff line
@@ -216,7 +216,7 @@ public class RemoteAnimationTargetCompat {
            activityType = ACTIVITY_TYPE_UNDEFINED;
        }
        taskInfo = change.getTaskInfo();
        allowEnterPip = false; /* always false in shell-transition case */
        allowEnterPip = change.getAllowEnterPip();
        mStartLeash = null;
        rotationChange = change.getEndRotation() - change.getStartRotation();
        windowType = INVALID_WINDOW_TYPE;
+3 −0
Original line number Diff line number Diff line
@@ -1070,6 +1070,9 @@ class Transition extends Binder implements BLASTSyncEngine.TransactionReadyListe
                task.fillTaskInfo(tinfo);
                change.setTaskInfo(tinfo);
                change.setRotationAnimation(getTaskRotationAnimation(task));
                final ActivityRecord topMostActivity = task.getTopMostActivity();
                change.setAllowEnterPip(topMostActivity != null
                        && topMostActivity.checkEnterPictureInPictureAppOpsState());
            }
            out.addChange(change);
        }