diff options
| author | 2022-09-07 02:19:18 +0000 | |
|---|---|---|
| committer | 2022-09-07 02:19:18 +0000 | |
| commit | e442860cea8dea1facd162d3655b7b9889d249c1 (patch) | |
| tree | 830ec865672a8c88241a3fb8c1bfe7ac21d0ecd3 | |
| parent | 7dcf414cf174cec2df44bb1572c2a7d112a35eda (diff) | |
| parent | 9d387116999b2938c08a479d507a1c6242d65a34 (diff) | |
Merge "Correct visible status of an activity if no more transition will happen" into tm-qpr-dev am: dd2f290170 am: 9d38711699
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19728398
Change-Id: I1099889cf50cf4403a4fd96af111241b768fa169
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | services/core/java/com/android/server/wm/Transition.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/Transition.java b/services/core/java/com/android/server/wm/Transition.java index c7e39cee67e6..8d2b50904e4f 100644 --- a/services/core/java/com/android/server/wm/Transition.java +++ b/services/core/java/com/android/server/wm/Transition.java @@ -73,6 +73,7 @@ import android.util.ArrayMap; import android.util.ArraySet; import android.util.Slog; import android.util.SparseArray; +import android.view.Display; import android.view.SurfaceControl; import android.view.WindowManager; import android.window.RemoteTransition; @@ -698,7 +699,11 @@ class Transition extends Binder implements BLASTSyncEngine.TransactionReadyListe // remove the surfaces yet. If it is currently visible, but not expected-visible, // then doing commitVisibility here would actually be out-of-order and leave the // activity in a bad state. - if (!visibleAtTransitionEnd && !ar.isVisibleRequested()) { + // TODO (b/243755838) Create a screen off transition to correct the visible status + // of activities. + final boolean isScreenOff = ar.mDisplayContent == null + || ar.mDisplayContent.getDisplayInfo().state == Display.STATE_OFF; + if ((!visibleAtTransitionEnd || isScreenOff) && !ar.isVisibleRequested()) { final boolean commitVisibility = !checkEnterPipOnFinish(ar); // Avoid commit visibility if entering pip or else we will get a sudden // "flash" / surface going invisible for a split second. |