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

Commit c4512c77 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:...

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

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

Change-Id: Icf365bb7fe392bbbad8476c400468bd40e929851
parents b3244b7e a493f855
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);
        }