summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Wei Sheng Shih <wilsonshih@google.com> 2022-09-07 02:19:18 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2022-09-07 02:19:18 +0000
commite442860cea8dea1facd162d3655b7b9889d249c1 (patch)
tree830ec865672a8c88241a3fb8c1bfe7ac21d0ecd3
parent7dcf414cf174cec2df44bb1572c2a7d112a35eda (diff)
parent9d387116999b2938c08a479d507a1c6242d65a34 (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.java7
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.