summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Evan Rosky <erosky@google.com> 2024-08-05 10:26:14 -0700
committer Evan Rosky <erosky@google.com> 2024-08-14 08:57:58 -0700
commit08f35152853fe23b483ef4538d2885471d0897da (patch)
tree73b286882756d8083c257aeb18c3905f8ef2676f
parent4fa24d0b07bb36d6b92c934f0eff4e447f979f6d (diff)
Don't throw, only log when collecting is not collecting
There's apparently a super rare situation where the controller's mCollecting transition is somehow not in collecting mode. Remove this exception and instead add some logging in getCollectingTransition() to hopefully detect earlier when this mismatch might occur. Bug: 355384206 Flag: EXEMPT bugfix Test: N/A Change-Id: Icc8a09e37b6da8b54efcffef51ed96a000c562cc
-rw-r--r--services/core/java/com/android/server/wm/DisplayContent.java5
-rw-r--r--services/core/java/com/android/server/wm/TransitionController.java6
2 files changed, 6 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java
index fcc6b11d46c5..deeed01238e3 100644
--- a/services/core/java/com/android/server/wm/DisplayContent.java
+++ b/services/core/java/com/android/server/wm/DisplayContent.java
@@ -3496,10 +3496,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp
*/
void collectDisplayChange(@NonNull Transition transition) {
if (!mLastHasContent) return;
- if (!transition.isCollecting()) {
- throw new IllegalArgumentException("Can only collect display change if transition"
- + " is collecting");
- }
+ if (!transition.isCollecting()) return;
if (!transition.mParticipants.contains(this)) {
transition.collect(this);
startAsyncRotationIfNeeded();
diff --git a/services/core/java/com/android/server/wm/TransitionController.java b/services/core/java/com/android/server/wm/TransitionController.java
index 67d7b37396c0..06f209096d31 100644
--- a/services/core/java/com/android/server/wm/TransitionController.java
+++ b/services/core/java/com/android/server/wm/TransitionController.java
@@ -53,8 +53,8 @@ import android.window.WindowContainerTransaction;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
-import com.android.internal.protolog.ProtoLogGroup;
import com.android.internal.protolog.ProtoLog;
+import com.android.internal.protolog.ProtoLogGroup;
import com.android.server.FgThread;
import com.android.window.flags.Flags;
@@ -409,6 +409,10 @@ class TransitionController {
*/
@Nullable
Transition getCollectingTransition() {
+ if (mCollectingTransition != null && !mCollectingTransition.isCollecting()) {
+ Slog.wtfStack(TAG, "Collecting Transition (#" + mCollectingTransition.getSyncId()
+ + ") is not collecting. state=" + mCollectingTransition.getState());
+ }
return mCollectingTransition;
}