diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/OperatorNameView.java b/packages/SystemUI/src/com/android/systemui/statusbar/OperatorNameView.java index cc7a4f836c633..f88bde0166e28 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/OperatorNameView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/OperatorNameView.java @@ -15,7 +15,6 @@ package com.android.systemui.statusbar; import android.content.Context; -import android.graphics.Rect; import android.os.Bundle; import android.telephony.ServiceState; import android.telephony.SubscriptionInfo; @@ -29,8 +28,6 @@ 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.plugins.DarkIconDispatcher; -import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver; import com.android.systemui.statusbar.policy.NetworkController; import com.android.systemui.statusbar.policy.NetworkController.IconState; import com.android.systemui.statusbar.policy.NetworkController.SignalCallback; @@ -40,7 +37,7 @@ import com.android.systemui.tuner.TunerService.Tunable; import java.util.List; /** Shows the operator name */ -public class OperatorNameView extends TextView implements DemoModeCommandReceiver, DarkReceiver, +public class OperatorNameView extends TextView implements DemoModeCommandReceiver, SignalCallback, Tunable { private static final String KEY_SHOW_OPERATOR_NAME = "show_operator_name"; @@ -72,7 +69,6 @@ public class OperatorNameView extends TextView implements DemoModeCommandReceive super.onAttachedToWindow(); mKeyguardUpdateMonitor = Dependency.get(KeyguardUpdateMonitor.class); mKeyguardUpdateMonitor.registerCallback(mCallback); - Dependency.get(DarkIconDispatcher.class).addDarkReceiver(this); Dependency.get(NetworkController.class).addCallback(this); Dependency.get(TunerService.class).addTunable(this, KEY_SHOW_OPERATOR_NAME); } @@ -81,16 +77,10 @@ public class OperatorNameView extends TextView implements DemoModeCommandReceive protected void onDetachedFromWindow() { super.onDetachedFromWindow(); mKeyguardUpdateMonitor.removeCallback(mCallback); - Dependency.get(DarkIconDispatcher.class).removeDarkReceiver(this); Dependency.get(NetworkController.class).removeCallback(this); Dependency.get(TunerService.class).removeTunable(this); } - @Override - public void onDarkChanged(Rect area, float darkIntensity, int tint) { - setTextColor(DarkIconDispatcher.getTint(area, this, tint)); - } - @Override public void setIsAirplaneMode(IconState icon) { update(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/OperatorNameViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/OperatorNameViewController.java index f37a580943a07..8537aa7f968db 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/OperatorNameViewController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/OperatorNameViewController.java @@ -18,33 +18,43 @@ package com.android.systemui.statusbar; import android.view.View; +import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.util.ViewController; import javax.inject.Inject; /** Controller for {@link OperatorNameView}. */ public class OperatorNameViewController extends ViewController { - private OperatorNameViewController(OperatorNameView view) { + private final DarkIconDispatcher mDarkIconDispatcher; + + private OperatorNameViewController(OperatorNameView view, + DarkIconDispatcher darkIconDispatcher) { super(view); + mDarkIconDispatcher = darkIconDispatcher; } @Override protected void onViewAttached() { + mDarkIconDispatcher.addDarkReceiver(mDarkReceiver); } @Override protected void onViewDetached() { + mDarkIconDispatcher.removeDarkReceiver(mDarkReceiver); } /** Factory for constructing an {@link OperatorNameViewController}. */ public static class Factory { + private final DarkIconDispatcher mDarkIconDispatcher; + @Inject - public Factory() { + public Factory(DarkIconDispatcher darkIconDispatcher) { + mDarkIconDispatcher = darkIconDispatcher; } /** Create an {@link OperatorNameViewController}. */ public OperatorNameViewController create(OperatorNameView view) { - return new OperatorNameViewController(view); + return new OperatorNameViewController(view, mDarkIconDispatcher); } } @@ -56,4 +66,8 @@ public class OperatorNameViewController extends ViewController public View getView() { return mView; } + + private final DarkIconDispatcher.DarkReceiver mDarkReceiver = + (area, darkIntensity, tint) -> + mView.setTextColor(DarkIconDispatcher.getTint(area, mView, tint)); }