summaryrefslogtreecommitdiff
path: root/packages/SystemUI/src/com/android/keyguard/KeyguardMessageAreaController.java
diff options
context:
space:
mode:
authorDave Mankoff <mankoff@google.com>2020-08-28 17:55:27 -0400
committerDave Mankoff <mankoff@google.com>2020-09-08 13:47:41 -0400
commit617777eb55c1d83d81b2ad05cd61082c404b30ff (patch)
treea626f0f196b0d6de48b577557043425f84eff5b8 /packages/SystemUI/src/com/android/keyguard/KeyguardMessageAreaController.java
parent55689cf7780779f60b590747f286ef887fd81142 (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/KeyguardMessageAreaController.java')
-rw-r--r--packages/SystemUI/src/com/android/keyguard/KeyguardMessageAreaController.java70
1 files changed, 70 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardMessageAreaController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardMessageAreaController.java
new file mode 100644
index 000000000000..71a28d2944f3
--- /dev/null
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardMessageAreaController.java
@@ -0,0 +1,70 @@
+/*
+ * 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.systemui.statusbar.policy.ConfigurationController;
+import com.android.systemui.util.ViewController;
+
+import javax.inject.Inject;
+
+/** Controller for a {@link KeyguardMessageAreaController}. */
+public class KeyguardMessageAreaController extends ViewController {
+ private final KeyguardMessageArea mView;
+ private final KeyguardUpdateMonitor mKeyguardUpdateMonitor;
+ private final ConfigurationController mConfigurationController;
+
+ private KeyguardMessageAreaController(KeyguardMessageArea view,
+ KeyguardUpdateMonitor keyguardUpdateMonitor,
+ ConfigurationController configurationController) {
+ super(view);
+
+ mView = view;
+ mKeyguardUpdateMonitor = keyguardUpdateMonitor;
+ mConfigurationController = configurationController;
+ }
+
+ @Override
+ protected void onViewAttached() {
+ //mConfigurationController.addCallback();
+ //mKeyguardUpdateMonitor.registerCallback();
+ }
+
+ @Override
+ protected void onViewDetached() {
+ //mConfigurationController.removeCallback();
+ //mKeyguardUpdateMonitor.removeCallback();
+ }
+
+ /** Factory for createing {@link com.android.keyguard.KeyguardMessageAreaController}. */
+ public static class Factory {
+ private final KeyguardUpdateMonitor mKeyguardUpdateMonitor;
+ private final ConfigurationController mConfigurationController;
+
+ @Inject
+ public Factory(KeyguardUpdateMonitor keyguardUpdateMonitor,
+ ConfigurationController configurationController) {
+ mKeyguardUpdateMonitor = keyguardUpdateMonitor;
+ mConfigurationController = configurationController;
+ }
+
+ /** Build a new {@link KeyguardMessageAreaController}. */
+ public KeyguardMessageAreaController create(KeyguardMessageArea view) {
+ return new KeyguardMessageAreaController(
+ view, mKeyguardUpdateMonitor, mConfigurationController);
+ }
+ }
+}