From 2e4b2eb5cc9dae090ba18e27669f368b0203843c Mon Sep 17 00:00:00 2001 From: wilsonshih Date: Thu, 23 Jun 2022 18:25:00 +0800 Subject: Ignore apply input transaction for removed activity. Ignore to apply input trasaction for the activity which is removed from window hierarchy, which might happen after a transition finished. Bug: 236931014 Test: enable shell transition, launch an activity which will crash at onCreate, and verify no system server crash after transition finish. Change-Id: Icde817ab598ec08c1b9c42afd1394b8b1aba0327 --- services/core/java/com/android/server/wm/Transition.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/wm/Transition.java b/services/core/java/com/android/server/wm/Transition.java index 3c0cac0079e8..8ce4a6d6cd96 100644 --- a/services/core/java/com/android/server/wm/Transition.java +++ b/services/core/java/com/android/server/wm/Transition.java @@ -672,7 +672,7 @@ class Transition extends Binder implements BLASTSyncEngine.TransactionReadyListe SurfaceControl.Transaction inputSinkTransaction = null; for (int i = 0; i < mParticipants.size(); ++i) { final ActivityRecord ar = mParticipants.valueAt(i).asActivityRecord(); - if (ar == null || !ar.isVisible()) continue; + if (ar == null || !ar.isVisible() || ar.getParent() == null) continue; if (inputSinkTransaction == null) { inputSinkTransaction = new SurfaceControl.Transaction(); } -- cgit v1.2.3-59-g8ed1b