summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorHongwei Wang <hwwang@google.com>2022-03-28 13:49:45 -0700
committerHongwei Wang <hwwang@google.com>2022-03-28 16:43:46 -0700
commit2708c3a74d04c756b6e7e4ae85bdef05a37589e3 (patch)
tree2c4c8eff80f22691d04a55077043ce1fab0982cd /core/java
parent53e39e5d061064fdf34eccabc7b3c6bc29a1a703 (diff)
Handle PiP shadow radius in WMShell
Deprecate also the shadow radius for PiP in Task Bug: 206508708 Test: Verify the PiP enter/exit/move/resize transitions Change-Id: I8ff83dd4e626a3455373fed6c908cf131ecae8fe
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/app/WindowConfiguration.java3
-rw-r--r--core/java/android/window/PictureInPictureSurfaceTransaction.java30
-rw-r--r--core/java/com/android/internal/policy/DecorView.java5
3 files changed, 26 insertions, 12 deletions
diff --git a/core/java/android/app/WindowConfiguration.java b/core/java/android/app/WindowConfiguration.java
index 5c1ab3879487..e502ba03bf8e 100644
--- a/core/java/android/app/WindowConfiguration.java
+++ b/core/java/android/app/WindowConfiguration.java
@@ -222,9 +222,6 @@ public class WindowConfiguration implements Parcelable, Comparable<WindowConfigu
})
public @interface WindowConfig {}
- /** @hide */
- public static final int PINNED_WINDOWING_MODE_ELEVATION_IN_DIP = 5;
-
@UnsupportedAppUsage
public WindowConfiguration() {
unset();
diff --git a/core/java/android/window/PictureInPictureSurfaceTransaction.java b/core/java/android/window/PictureInPictureSurfaceTransaction.java
index 2bf2f3193789..0a751c38cfff 100644
--- a/core/java/android/window/PictureInPictureSurfaceTransaction.java
+++ b/core/java/android/window/PictureInPictureSurfaceTransaction.java
@@ -47,6 +47,8 @@ public final class PictureInPictureSurfaceTransaction implements Parcelable {
public final float mCornerRadius;
+ public final float mShadowRadius;
+
private final Rect mWindowCrop;
private PictureInPictureSurfaceTransaction(Parcel in) {
@@ -56,11 +58,12 @@ public final class PictureInPictureSurfaceTransaction implements Parcelable {
in.readFloatArray(mFloat9);
mRotation = in.readFloat();
mCornerRadius = in.readFloat();
+ mShadowRadius = in.readFloat();
mWindowCrop = in.readTypedObject(Rect.CREATOR);
}
private PictureInPictureSurfaceTransaction(float alpha, @Nullable PointF position,
- @Nullable float[] float9, float rotation, float cornerRadius,
+ @Nullable float[] float9, float rotation, float cornerRadius, float shadowRadius,
@Nullable Rect windowCrop) {
mAlpha = alpha;
mPosition = position;
@@ -73,12 +76,14 @@ public final class PictureInPictureSurfaceTransaction implements Parcelable {
mRotation = rotation;
}
mCornerRadius = cornerRadius;
+ mShadowRadius = shadowRadius;
mWindowCrop = (windowCrop == null) ? null : new Rect(windowCrop);
}
public PictureInPictureSurfaceTransaction(PictureInPictureSurfaceTransaction other) {
this(other.mAlpha, other.mPosition,
- other.mFloat9, other.mRotation, other.mCornerRadius, other.mWindowCrop);
+ other.mFloat9, other.mRotation, other.mCornerRadius, other.mShadowRadius,
+ other.mWindowCrop);
}
/** @return {@link Matrix} from {@link #mFloat9} */
@@ -93,6 +98,11 @@ public final class PictureInPictureSurfaceTransaction implements Parcelable {
return mCornerRadius > 0;
}
+ /** @return {@code true} if this transaction contains setting shadow radius. */
+ public boolean hasShadowRadiusSet() {
+ return mShadowRadius > 0;
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) return true;
@@ -103,13 +113,14 @@ public final class PictureInPictureSurfaceTransaction implements Parcelable {
&& Arrays.equals(mFloat9, that.mFloat9)
&& Objects.equals(mRotation, that.mRotation)
&& Objects.equals(mCornerRadius, that.mCornerRadius)
+ && Objects.equals(mShadowRadius, that.mShadowRadius)
&& Objects.equals(mWindowCrop, that.mWindowCrop);
}
@Override
public int hashCode() {
return Objects.hash(mAlpha, mPosition, Arrays.hashCode(mFloat9),
- mRotation, mCornerRadius, mWindowCrop);
+ mRotation, mCornerRadius, mShadowRadius, mWindowCrop);
}
@Override
@@ -124,6 +135,7 @@ public final class PictureInPictureSurfaceTransaction implements Parcelable {
out.writeFloatArray(mFloat9);
out.writeFloat(mRotation);
out.writeFloat(mCornerRadius);
+ out.writeFloat(mShadowRadius);
out.writeTypedObject(mWindowCrop, 0 /* flags */);
}
@@ -136,6 +148,7 @@ public final class PictureInPictureSurfaceTransaction implements Parcelable {
+ " matrix=" + matrix.toShortString()
+ " rotation=" + mRotation
+ " cornerRadius=" + mCornerRadius
+ + " shadowRadius=" + mShadowRadius
+ " crop=" + mWindowCrop
+ ")";
}
@@ -156,6 +169,9 @@ public final class PictureInPictureSurfaceTransaction implements Parcelable {
if (surfaceTransaction.hasCornerRadiusSet()) {
tx.setCornerRadius(surfaceControl, surfaceTransaction.mCornerRadius);
}
+ if (surfaceTransaction.hasShadowRadiusSet()) {
+ tx.setShadowRadius(surfaceControl, surfaceTransaction.mShadowRadius);
+ }
if (surfaceTransaction.mAlpha != NOT_SET) {
tx.setAlpha(surfaceControl, surfaceTransaction.mAlpha);
}
@@ -178,6 +194,7 @@ public final class PictureInPictureSurfaceTransaction implements Parcelable {
private float[] mFloat9;
private float mRotation;
private float mCornerRadius = NOT_SET;
+ private float mShadowRadius = NOT_SET;
private Rect mWindowCrop;
public Builder setAlpha(float alpha) {
@@ -201,6 +218,11 @@ public final class PictureInPictureSurfaceTransaction implements Parcelable {
return this;
}
+ public Builder setShadowRadius(float shadowRadius) {
+ mShadowRadius = shadowRadius;
+ return this;
+ }
+
public Builder setWindowCrop(@NonNull Rect windowCrop) {
mWindowCrop = new Rect(windowCrop);
return this;
@@ -208,7 +230,7 @@ public final class PictureInPictureSurfaceTransaction implements Parcelable {
public PictureInPictureSurfaceTransaction build() {
return new PictureInPictureSurfaceTransaction(mAlpha, mPosition,
- mFloat9, mRotation, mCornerRadius, mWindowCrop);
+ mFloat9, mRotation, mCornerRadius, mShadowRadius, mWindowCrop);
}
}
}
diff --git a/core/java/com/android/internal/policy/DecorView.java b/core/java/com/android/internal/policy/DecorView.java
index 89ac72255306..13ebe3c4dbb7 100644
--- a/core/java/com/android/internal/policy/DecorView.java
+++ b/core/java/com/android/internal/policy/DecorView.java
@@ -16,9 +16,7 @@
package com.android.internal.policy;
-import static android.app.WindowConfiguration.PINNED_WINDOWING_MODE_ELEVATION_IN_DIP;
import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
-import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
import static android.content.res.Configuration.ORIENTATION_PORTRAIT;
import static android.os.Build.VERSION_CODES.M;
import static android.os.Build.VERSION_CODES.N;
@@ -2549,9 +2547,6 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind
// Convert the DP elevation into physical pixels.
elevation = dipToPx(elevation);
mElevationAdjustedForStack = true;
- } else if (windowingMode == WINDOWING_MODE_PINNED) {
- elevation = dipToPx(PINNED_WINDOWING_MODE_ELEVATION_IN_DIP);
- mElevationAdjustedForStack = true;
} else {
mElevationAdjustedForStack = false;
}