From dd8b940888ce99183b85da05331362b51a65fe88 Mon Sep 17 00:00:00 2001 From: Robin Lee Date: Tue, 3 Oct 2023 09:33:17 +0000 Subject: Don't play transitions if keyguard didn't register This could happen: (a) if something went wrong in early setup (b) if SysUI crashed and received transitions while restarting Bug: 302538471 (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:8a20c08f0db20b3461903ecd387bd63b5dd7f149) Merged-In: Iff0f1c4af9e1da96b7bbd04bd45da9f5330fd9b1 Change-Id: Iff0f1c4af9e1da96b7bbd04bd45da9f5330fd9b1 --- .../com/android/wm/shell/keyguard/KeyguardTransitionHandler.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/keyguard/KeyguardTransitionHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/keyguard/KeyguardTransitionHandler.java index b71c48e16acb..53b5bd7ceb94 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/keyguard/KeyguardTransitionHandler.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/keyguard/KeyguardTransitionHandler.java @@ -159,9 +159,15 @@ public class KeyguardTransitionHandler implements Transitions.TransitionHandler @NonNull SurfaceControl.Transaction startTransaction, @NonNull SurfaceControl.Transaction finishTransaction, @NonNull TransitionFinishCallback finishCallback) { + + if (remoteHandler == null) { + ProtoLog.e(ShellProtoLogGroup.WM_SHELL_TRANSITIONS, + "missing handler for keyguard %s transition", description); + return false; + } + ProtoLog.v(ShellProtoLogGroup.WM_SHELL_TRANSITIONS, "start keyguard %s transition, info = %s", description, info); - try { mStartedTransitions.put(transition, new StartedTransition(info, finishTransaction, remoteHandler)); -- cgit v1.2.3-59-g8ed1b