From c0777560244c681e052c4d8db3dcda1e1d956a17 Mon Sep 17 00:00:00 2001 From: Dave Mankoff Date: Fri, 13 Aug 2021 17:38:49 -0400 Subject: [PATCH] 3/N Move SignalCallback to OperatorNameViewController. Bug: 196625757 Test: manual Change-Id: I73e8dec6fef63c10618656c975e30bb94cace03f --- .../systemui/statusbar/OperatorNameView.java | 15 ++----------- .../statusbar/OperatorNameViewController.java | 21 ++++++++++++++++--- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/OperatorNameView.java b/packages/SystemUI/src/com/android/systemui/statusbar/OperatorNameView.java index f88bde0166e28..ef21a743b6a2d 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/OperatorNameView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/OperatorNameView.java @@ -28,17 +28,13 @@ import com.android.keyguard.KeyguardUpdateMonitorCallback; import com.android.settingslib.WirelessUtils; import com.android.systemui.Dependency; import com.android.systemui.demomode.DemoModeCommandReceiver; -import com.android.systemui.statusbar.policy.NetworkController; -import com.android.systemui.statusbar.policy.NetworkController.IconState; -import com.android.systemui.statusbar.policy.NetworkController.SignalCallback; import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService.Tunable; import java.util.List; /** Shows the operator name */ -public class OperatorNameView extends TextView implements DemoModeCommandReceiver, - SignalCallback, Tunable { +public class OperatorNameView extends TextView implements DemoModeCommandReceiver, Tunable { private static final String KEY_SHOW_OPERATOR_NAME = "show_operator_name"; @@ -69,7 +65,6 @@ public class OperatorNameView extends TextView implements DemoModeCommandReceive super.onAttachedToWindow(); mKeyguardUpdateMonitor = Dependency.get(KeyguardUpdateMonitor.class); mKeyguardUpdateMonitor.registerCallback(mCallback); - Dependency.get(NetworkController.class).addCallback(this); Dependency.get(TunerService.class).addTunable(this, KEY_SHOW_OPERATOR_NAME); } @@ -77,15 +72,9 @@ public class OperatorNameView extends TextView implements DemoModeCommandReceive protected void onDetachedFromWindow() { super.onDetachedFromWindow(); mKeyguardUpdateMonitor.removeCallback(mCallback); - Dependency.get(NetworkController.class).removeCallback(this); Dependency.get(TunerService.class).removeTunable(this); } - @Override - public void setIsAirplaneMode(IconState icon) { - update(); - } - @Override public void onTuningChanged(String key, String newValue) { update(); @@ -107,7 +96,7 @@ public class OperatorNameView extends TextView implements DemoModeCommandReceive update(); } - private void update() { + void update() { boolean showOperatorName = Dependency.get(TunerService.class) .getValue(KEY_SHOW_OPERATOR_NAME, 1) != 0; setVisibility(showOperatorName ? VISIBLE : GONE); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/OperatorNameViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/OperatorNameViewController.java index 8537aa7f968db..41b7e5d3acca7 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/OperatorNameViewController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/OperatorNameViewController.java @@ -19,6 +19,7 @@ package com.android.systemui.statusbar; import android.view.View; import com.android.systemui.plugins.DarkIconDispatcher; +import com.android.systemui.statusbar.policy.NetworkController; import com.android.systemui.util.ViewController; import javax.inject.Inject; @@ -26,35 +27,42 @@ import javax.inject.Inject; /** Controller for {@link OperatorNameView}. */ public class OperatorNameViewController extends ViewController { private final DarkIconDispatcher mDarkIconDispatcher; + private final NetworkController mNetworkController; private OperatorNameViewController(OperatorNameView view, - DarkIconDispatcher darkIconDispatcher) { + DarkIconDispatcher darkIconDispatcher, + NetworkController networkController) { super(view); mDarkIconDispatcher = darkIconDispatcher; + mNetworkController = networkController; } @Override protected void onViewAttached() { mDarkIconDispatcher.addDarkReceiver(mDarkReceiver); + mNetworkController.addCallback(mSignalCallback); } @Override protected void onViewDetached() { mDarkIconDispatcher.removeDarkReceiver(mDarkReceiver); + mNetworkController.addCallback(mSignalCallback); } /** Factory for constructing an {@link OperatorNameViewController}. */ public static class Factory { private final DarkIconDispatcher mDarkIconDispatcher; + private final NetworkController mNetworkController; @Inject - public Factory(DarkIconDispatcher darkIconDispatcher) { + public Factory(DarkIconDispatcher darkIconDispatcher, NetworkController networkController) { mDarkIconDispatcher = darkIconDispatcher; + mNetworkController = networkController; } /** Create an {@link OperatorNameViewController}. */ public OperatorNameViewController create(OperatorNameView view) { - return new OperatorNameViewController(view, mDarkIconDispatcher); + return new OperatorNameViewController(view, mDarkIconDispatcher, mNetworkController); } } @@ -70,4 +78,11 @@ public class OperatorNameViewController extends ViewController private final DarkIconDispatcher.DarkReceiver mDarkReceiver = (area, darkIntensity, tint) -> mView.setTextColor(DarkIconDispatcher.getTint(area, mView, tint)); + private final NetworkController.SignalCallback mSignalCallback = + new NetworkController.SignalCallback() { + @Override + public void setIsAirplaneMode(NetworkController.IconState icon) { + mView.update(); + } + }; }