summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorEvan Rosky <erosky@google.com>2020-12-10 20:02:14 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-12-10 20:02:14 +0000
commitb6569a04c30e3ceea989b66e5be208043161c2ef (patch)
treecba49b4a7ca95505a12394fdcf3fbe237eef1e3f /core/java/android
parent9e28c670db5efbe31c5f35d825f7ab43bcf4cd5e (diff)
parent58d6cd504d3d0c3a59f46fe22a068a619d352732 (diff)
Merge "Handle keyguard occlude/unocclude in shell transitions"
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/view/WindowManager.java9
-rw-r--r--core/java/android/window/TransitionInfo.java14
2 files changed, 20 insertions, 3 deletions
diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java
index b9afbc95de0d..36f75c6d05c5 100644
--- a/core/java/android/view/WindowManager.java
+++ b/core/java/android/view/WindowManager.java
@@ -418,6 +418,12 @@ public interface WindowManager extends ViewManager {
int TRANSIT_FLAG_OPEN_BEHIND = 0x20;
/**
+ * Transition flag: The keyguard is locked throughout the whole transition.
+ * @hide
+ */
+ int TRANSIT_FLAG_KEYGUARD_LOCKED = 0x40;
+
+ /**
* @hide
*/
@IntDef(flag = true, prefix = { "TRANSIT_FLAG_" }, value = {
@@ -426,7 +432,8 @@ public interface WindowManager extends ViewManager {
TRANSIT_FLAG_KEYGUARD_GOING_AWAY_WITH_WALLPAPER,
TRANSIT_FLAG_KEYGUARD_GOING_AWAY_SUBTLE_ANIMATION,
TRANSIT_FLAG_APP_CRASHED,
- TRANSIT_FLAG_OPEN_BEHIND
+ TRANSIT_FLAG_OPEN_BEHIND,
+ TRANSIT_FLAG_KEYGUARD_LOCKED
})
@Retention(RetentionPolicy.SOURCE)
@interface TransitionFlags {}
diff --git a/core/java/android/window/TransitionInfo.java b/core/java/android/window/TransitionInfo.java
index b4e7d6a9269f..214627243eae 100644
--- a/core/java/android/window/TransitionInfo.java
+++ b/core/java/android/window/TransitionInfo.java
@@ -65,18 +65,22 @@ public final class TransitionInfo implements Parcelable {
public @interface TransitionMode {}
private final @WindowManager.TransitionOldType int mType;
+ private final @WindowManager.TransitionFlags int mFlags;
private final ArrayList<Change> mChanges = new ArrayList<>();
private SurfaceControl mRootLeash;
private final Point mRootOffset = new Point();
/** @hide */
- public TransitionInfo(@WindowManager.TransitionOldType int type) {
+ public TransitionInfo(@WindowManager.TransitionOldType int type,
+ @WindowManager.TransitionFlags int flags) {
mType = type;
+ mFlags = flags;
}
private TransitionInfo(Parcel in) {
mType = in.readInt();
+ mFlags = in.readInt();
in.readList(mChanges, null /* classLoader */);
mRootLeash = new SurfaceControl();
mRootLeash.readFromParcel(in);
@@ -87,6 +91,7 @@ public final class TransitionInfo implements Parcelable {
/** @hide */
public void writeToParcel(@NonNull Parcel dest, int flags) {
dest.writeInt(mType);
+ dest.writeInt(mFlags);
dest.writeList(mChanges);
mRootLeash.writeToParcel(dest, flags);
mRootOffset.writeToParcel(dest, flags);
@@ -122,6 +127,10 @@ public final class TransitionInfo implements Parcelable {
return mType;
}
+ public int getFlags() {
+ return mFlags;
+ }
+
/**
* @return a surfacecontrol that can serve as a parent surfacecontrol for all the changing
* participants to animate within. This will generally be placed at the highest-z-order
@@ -170,7 +179,8 @@ public final class TransitionInfo implements Parcelable {
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
- sb.append("{t=" + mType + " ro=" + mRootOffset + " c=[");
+ sb.append("{t=" + mType + " f=" + Integer.toHexString(mFlags)
+ + " ro=" + mRootOffset + " c=[");
for (int i = 0; i < mChanges.size(); ++i) {
if (i > 0) {
sb.append(',');