diff options
author | Dave Mankoff <mankoff@google.com> | 2020-08-28 17:55:27 -0400 |
---|---|---|
committer | Dave Mankoff <mankoff@google.com> | 2020-09-08 13:47:41 -0400 |
commit | 617777eb55c1d83d81b2ad05cd61082c404b30ff (patch) | |
tree | a626f0f196b0d6de48b577557043425f84eff5b8 /packages/SystemUI/src/com/android/keyguard/KeyguardHostViewController.java | |
parent | 55689cf7780779f60b590747f286ef887fd81142 (diff) |
1/N Add Controllers for most KeyguardBouncer related views.
This adds Controllers to most of the KeyguardBouncer related views,
though it does not move much (or any) functionality into them.
This is the first step of a few to get View Injection out of the
KeyguardMessageArea. The CL was growing large, and I wanted to find
a good check-in point before continuing.
I also added a "ViewController" utility class in this CL that
simplifies some of the repetetive work I've been finding myself
writing when implementing other Controllers. It is intentionally
left simple, existing only to hook into view lifecycle events.
More work to follow.
Bug: 166448040
Test: manual && atest SystemUITests
Change-Id: Ie59f62e97d979fb753e4a103d37ceca02e327238
Diffstat (limited to 'packages/SystemUI/src/com/android/keyguard/KeyguardHostViewController.java')
-rw-r--r-- | packages/SystemUI/src/com/android/keyguard/KeyguardHostViewController.java | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardHostViewController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardHostViewController.java new file mode 100644 index 000000000000..fb1569a6b8aa --- /dev/null +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardHostViewController.java @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.keyguard; + +import com.android.internal.widget.LockPatternUtils; +import com.android.keyguard.dagger.KeyguardBouncerScope; +import com.android.systemui.util.ViewController; + +import javax.inject.Inject; + +/** Controller for a {@link KeyguardHostView}. */ +@KeyguardBouncerScope +public class KeyguardHostViewController extends ViewController { + private final KeyguardHostView mView; + private final KeyguardSecurityContainerController mKeyguardSecurityContainerController; + private final LockPatternUtils mLockPatternUtils; + private final ViewMediatorCallback mViewMediatorCallback; + + @Inject + public KeyguardHostViewController(KeyguardHostView view, + KeyguardSecurityContainerController keyguardSecurityContainerController, + LockPatternUtils lockPatternUtils, + ViewMediatorCallback viewMediatorCallback) { + super(view); + mView = view; + mKeyguardSecurityContainerController = keyguardSecurityContainerController; + mLockPatternUtils = lockPatternUtils; + mViewMediatorCallback = viewMediatorCallback; + } + + /** Initialize the Controller. */ + public void init() { + super.init(); + mView.setLockPatternUtils(mLockPatternUtils); + mView.setViewMediatorCallback(mViewMediatorCallback); + mKeyguardSecurityContainerController.init(); + } + + @Override + protected void onViewAttached() { + } + + @Override + protected void onViewDetached() { + } + + public KeyguardHostView getView() { + return mView; + } + + /** Called before this view is being removed. */ + public void cleanUp() { + mKeyguardSecurityContainerController.onPause(); + } +} |