diff options
author | Dave Mankoff <mankoff@google.com> | 2020-09-24 14:34:57 -0400 |
---|---|---|
committer | Dave Mankoff <mankoff@google.com> | 2020-09-24 15:24:33 -0400 |
commit | 28822be53301c76b08ccc8b815c1a56c44e085b6 (patch) | |
tree | e7920e200f7b948dd8fd528228b2ab127374d628 /packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java | |
parent | 9a80cc2ec8c627b0fc290ffc4b318382a758ed87 (diff) |
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
Diffstat (limited to 'packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java')
-rw-r--r-- | packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java | 56 |
1 files changed, 49 insertions, 7 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java index 64676e55b038..1c23605a8516 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<Keyguard private final UiEventLogger mUiEventLogger; private final KeyguardStateController mKeyguardStateController; private final KeyguardSecurityViewFlipperController mSecurityViewFlipperController; + private final SecurityCallback mSecurityCallback; - private SecurityCallback mSecurityCallback; private SecurityMode mCurrentSecurityMode = SecurityMode.Invalid; private KeyguardSecurityCallback mKeyguardSecurityCallback = new KeyguardSecurityCallback() { @@ -145,8 +145,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard } }; - @Inject - KeyguardSecurityContainerController(KeyguardSecurityContainer view, + private KeyguardSecurityContainerController(KeyguardSecurityContainer view, AdminSecondaryLockScreenController.Factory adminSecondaryLockScreenControllerFactory, LockPatternUtils lockPatternUtils, KeyguardUpdateMonitor keyguardUpdateMonitor, @@ -154,6 +153,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard MetricsLogger metricsLogger, UiEventLogger uiEventLogger, KeyguardStateController keyguardStateController, + SecurityCallback securityCallback, KeyguardSecurityViewFlipperController securityViewFlipperController) { super(view); mLockPatternUtils = lockPatternUtils; @@ -162,6 +162,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard mMetricsLogger = metricsLogger; mUiEventLogger = uiEventLogger; mKeyguardStateController = keyguardStateController; + mSecurityCallback = securityCallback; mSecurityViewFlipperController = securityViewFlipperController; mAdminSecondaryLockScreenController = adminSecondaryLockScreenControllerFactory.create( mKeyguardSecurityCallback); @@ -269,10 +270,6 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard } } - public void setSecurityCallback(SecurityCallback securityCallback) { - mSecurityCallback = securityCallback; - } - /** * Shows the next security screen if there is one. * @param authenticated true if the user entered the correct authentication @@ -450,4 +447,49 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard mCurrentSecurityMode = securityMode; return getCurrentSecurityController(); } + + static class Factory { + + private final KeyguardSecurityContainer mView; + private final AdminSecondaryLockScreenController.Factory + mAdminSecondaryLockScreenControllerFactory; + private final LockPatternUtils mLockPatternUtils; + private final KeyguardUpdateMonitor mKeyguardUpdateMonitor; + private final KeyguardSecurityModel mKeyguardSecurityModel; + private final MetricsLogger mMetricsLogger; + private final UiEventLogger mUiEventLogger; + private final KeyguardStateController mKeyguardStateController; + private final KeyguardSecurityViewFlipperController mSecurityViewFlipperController; + + @Inject + Factory(KeyguardSecurityContainer view, + AdminSecondaryLockScreenController.Factory + adminSecondaryLockScreenControllerFactory, + LockPatternUtils lockPatternUtils, + KeyguardUpdateMonitor keyguardUpdateMonitor, + KeyguardSecurityModel keyguardSecurityModel, + MetricsLogger metricsLogger, + UiEventLogger uiEventLogger, + KeyguardStateController keyguardStateController, + KeyguardSecurityViewFlipperController securityViewFlipperController) { + mView = view; + mAdminSecondaryLockScreenControllerFactory = adminSecondaryLockScreenControllerFactory; + mLockPatternUtils = lockPatternUtils; + mKeyguardUpdateMonitor = keyguardUpdateMonitor; + mKeyguardSecurityModel = keyguardSecurityModel; + mMetricsLogger = metricsLogger; + mUiEventLogger = uiEventLogger; + mKeyguardStateController = keyguardStateController; + mSecurityViewFlipperController = securityViewFlipperController; + } + + public KeyguardSecurityContainerController create( + SecurityCallback securityCallback) { + return new KeyguardSecurityContainerController(mView, + mAdminSecondaryLockScreenControllerFactory, mLockPatternUtils, + mKeyguardUpdateMonitor, mKeyguardSecurityModel, mMetricsLogger, mUiEventLogger, + mKeyguardStateController, securityCallback, mSecurityViewFlipperController); + } + + } } |