Merge "Pass AppOps result for PiP to Transition change." into sc-v2-dev am: b37ecaa4dc
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15484573 Change-Id: Ib9f1a11fea9f91b42be19eb5d3f43a6cd581c9c0
This commit is contained in:
@@ -352,6 +352,7 @@ public final class TransitionInfo implements Parcelable {
|
|||||||
private final Rect mEndAbsBounds = new Rect();
|
private final Rect mEndAbsBounds = new Rect();
|
||||||
private final Point mEndRelOffset = new Point();
|
private final Point mEndRelOffset = new Point();
|
||||||
private ActivityManager.RunningTaskInfo mTaskInfo = null;
|
private ActivityManager.RunningTaskInfo mTaskInfo = null;
|
||||||
|
private boolean mAllowEnterPip;
|
||||||
private int mStartRotation = ROTATION_UNDEFINED;
|
private int mStartRotation = ROTATION_UNDEFINED;
|
||||||
private int mEndRotation = ROTATION_UNDEFINED;
|
private int mEndRotation = ROTATION_UNDEFINED;
|
||||||
private int mRotationAnimation = ROTATION_ANIMATION_UNSPECIFIED;
|
private int mRotationAnimation = ROTATION_ANIMATION_UNSPECIFIED;
|
||||||
@@ -372,6 +373,7 @@ public final class TransitionInfo implements Parcelable {
|
|||||||
mEndAbsBounds.readFromParcel(in);
|
mEndAbsBounds.readFromParcel(in);
|
||||||
mEndRelOffset.readFromParcel(in);
|
mEndRelOffset.readFromParcel(in);
|
||||||
mTaskInfo = in.readTypedObject(ActivityManager.RunningTaskInfo.CREATOR);
|
mTaskInfo = in.readTypedObject(ActivityManager.RunningTaskInfo.CREATOR);
|
||||||
|
mAllowEnterPip = in.readBoolean();
|
||||||
mStartRotation = in.readInt();
|
mStartRotation = in.readInt();
|
||||||
mEndRotation = in.readInt();
|
mEndRotation = in.readInt();
|
||||||
mRotationAnimation = in.readInt();
|
mRotationAnimation = in.readInt();
|
||||||
@@ -415,6 +417,11 @@ public final class TransitionInfo implements Parcelable {
|
|||||||
mTaskInfo = taskInfo;
|
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. */
|
/** Sets the start and end rotation of this container. */
|
||||||
public void setRotation(@Surface.Rotation int start, @Surface.Rotation int end) {
|
public void setRotation(@Surface.Rotation int start, @Surface.Rotation int end) {
|
||||||
mStartRotation = start;
|
mStartRotation = start;
|
||||||
@@ -492,6 +499,10 @@ public final class TransitionInfo implements Parcelable {
|
|||||||
return mTaskInfo;
|
return mTaskInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean getAllowEnterPip() {
|
||||||
|
return mAllowEnterPip;
|
||||||
|
}
|
||||||
|
|
||||||
public int getStartRotation() {
|
public int getStartRotation() {
|
||||||
return mStartRotation;
|
return mStartRotation;
|
||||||
}
|
}
|
||||||
@@ -517,6 +528,7 @@ public final class TransitionInfo implements Parcelable {
|
|||||||
mEndAbsBounds.writeToParcel(dest, flags);
|
mEndAbsBounds.writeToParcel(dest, flags);
|
||||||
mEndRelOffset.writeToParcel(dest, flags);
|
mEndRelOffset.writeToParcel(dest, flags);
|
||||||
dest.writeTypedObject(mTaskInfo, flags);
|
dest.writeTypedObject(mTaskInfo, flags);
|
||||||
|
dest.writeBoolean(mAllowEnterPip);
|
||||||
dest.writeInt(mStartRotation);
|
dest.writeInt(mStartRotation);
|
||||||
dest.writeInt(mEndRotation);
|
dest.writeInt(mEndRotation);
|
||||||
dest.writeInt(mRotationAnimation);
|
dest.writeInt(mRotationAnimation);
|
||||||
|
|||||||
@@ -216,7 +216,7 @@ public class RemoteAnimationTargetCompat {
|
|||||||
activityType = ACTIVITY_TYPE_UNDEFINED;
|
activityType = ACTIVITY_TYPE_UNDEFINED;
|
||||||
}
|
}
|
||||||
taskInfo = change.getTaskInfo();
|
taskInfo = change.getTaskInfo();
|
||||||
allowEnterPip = false; /* always false in shell-transition case */
|
allowEnterPip = change.getAllowEnterPip();
|
||||||
mStartLeash = null;
|
mStartLeash = null;
|
||||||
rotationChange = change.getEndRotation() - change.getStartRotation();
|
rotationChange = change.getEndRotation() - change.getStartRotation();
|
||||||
windowType = INVALID_WINDOW_TYPE;
|
windowType = INVALID_WINDOW_TYPE;
|
||||||
|
|||||||
@@ -1070,6 +1070,9 @@ class Transition extends Binder implements BLASTSyncEngine.TransactionReadyListe
|
|||||||
task.fillTaskInfo(tinfo);
|
task.fillTaskInfo(tinfo);
|
||||||
change.setTaskInfo(tinfo);
|
change.setTaskInfo(tinfo);
|
||||||
change.setRotationAnimation(getTaskRotationAnimation(task));
|
change.setRotationAnimation(getTaskRotationAnimation(task));
|
||||||
|
final ActivityRecord topMostActivity = task.getTopMostActivity();
|
||||||
|
change.setAllowEnterPip(topMostActivity != null
|
||||||
|
&& topMostActivity.checkEnterPictureInPictureAppOpsState());
|
||||||
}
|
}
|
||||||
out.addChange(change);
|
out.addChange(change);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user