summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Riddle Hsu <riddlehsu@google.com> 2022-12-06 12:04:29 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2022-12-06 12:04:29 +0000
commit6d4dc228407414dcc023bfa7463ff8d9aedc20b9 (patch)
treedb54839b9c692ef8275a2ce145075dbc8c245d9a
parentd002c621c2ea5fcf039a8d882bbefc0e6ffd598c (diff)
parent80737bf6605b3e8600a9b6373d4824e5d04050fd (diff)
Merge "Defer creation of input sink surface until sync completes" into tm-qpr-dev
-rw-r--r--services/core/java/com/android/server/wm/ActivityRecord.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java
index 10b735265b06..e19e921852ff 100644
--- a/services/core/java/com/android/server/wm/ActivityRecord.java
+++ b/services/core/java/com/android/server/wm/ActivityRecord.java
@@ -7447,8 +7447,10 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
} else if (!show && mLastSurfaceShowing) {
getSyncTransaction().hide(mSurfaceControl);
}
- if (show) {
- mActivityRecordInputSink.applyChangesToSurfaceIfChanged(getSyncTransaction());
+ // Input sink surface is not a part of animation, so just apply in a steady state
+ // (non-sync) with pending transaction.
+ if (show && mSyncState == SYNC_STATE_NONE) {
+ mActivityRecordInputSink.applyChangesToSurfaceIfChanged(getPendingTransaction());
}
}
if (mThumbnail != null) {