From 28822be53301c76b08ccc8b815c1a56c44e085b6 Mon Sep 17 00:00:00 2001 From: Dave Mankoff Date: Thu, 24 Sep 2020 14:34:57 -0400 Subject: [PATCH] 10/N Ensure KeyguardSecurityContainer always has Callback This passes the SecurityCallback directly into the KeyguardSecurityContainer's constructor, rather than setting it during on-attach. Fixes: 169231892 Test: atest SystemUITests && manual Change-Id: Ia9adf399e299768b3b8a70822cfda662a54d803b --- .../keyguard/KeyguardHostViewController.java | 9 +-- .../KeyguardSecurityContainerController.java | 56 ++++++++++++++++--- .../KeyguardHostViewControllerTest.java | 15 +++-- ...yguardSecurityContainerControllerTest.java | 7 +-- 4 files changed, 68 insertions(+), 19 deletions(-) diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardHostViewController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardHostViewController.java index 9ffa658da0e89..351369c51364e 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardHostViewController.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardHostViewController.java @@ -163,16 +163,18 @@ public class KeyguardHostViewController extends ViewController @Inject public KeyguardHostViewController(KeyguardHostView view, KeyguardUpdateMonitor keyguardUpdateMonitor, - KeyguardSecurityContainerController keyguardSecurityContainerController, AudioManager audioManager, TelephonyManager telephonyManager, - ViewMediatorCallback viewMediatorCallback) { + ViewMediatorCallback viewMediatorCallback, + KeyguardSecurityContainerController.Factory + keyguardSecurityContainerControllerFactory) { super(view); mKeyguardUpdateMonitor = keyguardUpdateMonitor; - mKeyguardSecurityContainerController = keyguardSecurityContainerController; mAudioManager = audioManager; mTelephonyManager = telephonyManager; mViewMediatorCallback = viewMediatorCallback; + mKeyguardSecurityContainerController = keyguardSecurityContainerControllerFactory.create( + mSecurityCallback); } /** Initialize the Controller. */ @@ -188,7 +190,6 @@ public class KeyguardHostViewController extends ViewController mViewMediatorCallback.setNeedsInput(mKeyguardSecurityContainerController.needsInput()); mKeyguardUpdateMonitor.registerCallback(mUpdateCallback); mView.setOnKeyListener(mOnKeyListener); - mKeyguardSecurityContainerController.setSecurityCallback(mSecurityCallback); mKeyguardSecurityContainerController.showPrimarySecurityScreen(false); } diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java index 64676e55b0382..1c23605a8516b 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java @@ -68,8 +68,8 @@ public class KeyguardSecurityContainerController extends ViewController