Handle content insets for snapshots
Pass information about content insets of a snapshotted task to
SystemUI and use it there to correctly offset the snapshot
when drawing.
Test: Open app, go to recents, make sure app aligns before
and after the animation.
Bug: 31339431
Change-Id: I2ff9bd44534bd8f66b591385da1e1e3aec40b6c5
diff --git a/services/core/java/com/android/server/wm/AppWindowContainerController.java b/services/core/java/com/android/server/wm/AppWindowContainerController.java
index 4dbe35f..1eb74fa4 100644
--- a/services/core/java/com/android/server/wm/AppWindowContainerController.java
+++ b/services/core/java/com/android/server/wm/AppWindowContainerController.java
@@ -28,10 +28,10 @@
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_VISIBILITY;
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM;
+import android.app.ActivityManager.TaskSnapshot;
import android.content.res.CompatibilityInfo;
import android.content.res.Configuration;
import android.graphics.Bitmap;
-import android.graphics.GraphicBuffer;
import android.os.Debug;
import android.os.Handler;
import android.os.IBinder;
@@ -489,14 +489,15 @@
}
private boolean createSnapshot() {
- final GraphicBuffer snapshot = mService.mTaskSnapshotController.getSnapshot(
+ final TaskSnapshot snapshot = mService.mTaskSnapshotController.getSnapshot(
mContainer.mTask);
if (snapshot == null) {
return false;
}
- mContainer.startingData = new SnapshotStartingData(mService, mContainer, snapshot);
+ mContainer.startingData = new SnapshotStartingData(mService, mContainer,
+ snapshot.getSnapshot());
scheduleAddStartingWindow();
return true;
}