2/N Move DarkModeReceiver to OperatorNameViewController. am: f5204b6c51

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15566956

Change-Id: I8fe8dd9da0b028b5e1ce66e934b0730cd677d17d
This commit is contained in:
Dave Mankoff
2021-08-18 02:52:25 +00:00
committed by Automerger Merge Worker
2 changed files with 18 additions and 14 deletions

View File

@@ -15,7 +15,6 @@
package com.android.systemui.statusbar; package com.android.systemui.statusbar;
import android.content.Context; import android.content.Context;
import android.graphics.Rect;
import android.os.Bundle; import android.os.Bundle;
import android.telephony.ServiceState; import android.telephony.ServiceState;
import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionInfo;
@@ -29,8 +28,6 @@ import com.android.keyguard.KeyguardUpdateMonitorCallback;
import com.android.settingslib.WirelessUtils; import com.android.settingslib.WirelessUtils;
import com.android.systemui.Dependency; import com.android.systemui.Dependency;
import com.android.systemui.demomode.DemoModeCommandReceiver; 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;
import com.android.systemui.statusbar.policy.NetworkController.IconState; import com.android.systemui.statusbar.policy.NetworkController.IconState;
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback; import com.android.systemui.statusbar.policy.NetworkController.SignalCallback;
@@ -40,7 +37,7 @@ import com.android.systemui.tuner.TunerService.Tunable;
import java.util.List; import java.util.List;
/** Shows the operator name */ /** Shows the operator name */
public class OperatorNameView extends TextView implements DemoModeCommandReceiver, DarkReceiver, public class OperatorNameView extends TextView implements DemoModeCommandReceiver,
SignalCallback, Tunable { SignalCallback, Tunable {
private static final String KEY_SHOW_OPERATOR_NAME = "show_operator_name"; private static final String KEY_SHOW_OPERATOR_NAME = "show_operator_name";
@@ -72,7 +69,6 @@ public class OperatorNameView extends TextView implements DemoModeCommandReceive
super.onAttachedToWindow(); super.onAttachedToWindow();
mKeyguardUpdateMonitor = Dependency.get(KeyguardUpdateMonitor.class); mKeyguardUpdateMonitor = Dependency.get(KeyguardUpdateMonitor.class);
mKeyguardUpdateMonitor.registerCallback(mCallback); mKeyguardUpdateMonitor.registerCallback(mCallback);
Dependency.get(DarkIconDispatcher.class).addDarkReceiver(this);
Dependency.get(NetworkController.class).addCallback(this); Dependency.get(NetworkController.class).addCallback(this);
Dependency.get(TunerService.class).addTunable(this, KEY_SHOW_OPERATOR_NAME); Dependency.get(TunerService.class).addTunable(this, KEY_SHOW_OPERATOR_NAME);
} }
@@ -81,16 +77,10 @@ public class OperatorNameView extends TextView implements DemoModeCommandReceive
protected void onDetachedFromWindow() { protected void onDetachedFromWindow() {
super.onDetachedFromWindow(); super.onDetachedFromWindow();
mKeyguardUpdateMonitor.removeCallback(mCallback); mKeyguardUpdateMonitor.removeCallback(mCallback);
Dependency.get(DarkIconDispatcher.class).removeDarkReceiver(this);
Dependency.get(NetworkController.class).removeCallback(this); Dependency.get(NetworkController.class).removeCallback(this);
Dependency.get(TunerService.class).removeTunable(this); Dependency.get(TunerService.class).removeTunable(this);
} }
@Override
public void onDarkChanged(Rect area, float darkIntensity, int tint) {
setTextColor(DarkIconDispatcher.getTint(area, this, tint));
}
@Override @Override
public void setIsAirplaneMode(IconState icon) { public void setIsAirplaneMode(IconState icon) {
update(); update();

View File

@@ -18,33 +18,43 @@ package com.android.systemui.statusbar;
import android.view.View; import android.view.View;
import com.android.systemui.plugins.DarkIconDispatcher;
import com.android.systemui.util.ViewController; import com.android.systemui.util.ViewController;
import javax.inject.Inject; import javax.inject.Inject;
/** Controller for {@link OperatorNameView}. */ /** Controller for {@link OperatorNameView}. */
public class OperatorNameViewController extends ViewController<OperatorNameView> { public class OperatorNameViewController extends ViewController<OperatorNameView> {
private OperatorNameViewController(OperatorNameView view) { private final DarkIconDispatcher mDarkIconDispatcher;
private OperatorNameViewController(OperatorNameView view,
DarkIconDispatcher darkIconDispatcher) {
super(view); super(view);
mDarkIconDispatcher = darkIconDispatcher;
} }
@Override @Override
protected void onViewAttached() { protected void onViewAttached() {
mDarkIconDispatcher.addDarkReceiver(mDarkReceiver);
} }
@Override @Override
protected void onViewDetached() { protected void onViewDetached() {
mDarkIconDispatcher.removeDarkReceiver(mDarkReceiver);
} }
/** Factory for constructing an {@link OperatorNameViewController}. */ /** Factory for constructing an {@link OperatorNameViewController}. */
public static class Factory { public static class Factory {
private final DarkIconDispatcher mDarkIconDispatcher;
@Inject @Inject
public Factory() { public Factory(DarkIconDispatcher darkIconDispatcher) {
mDarkIconDispatcher = darkIconDispatcher;
} }
/** Create an {@link OperatorNameViewController}. */ /** Create an {@link OperatorNameViewController}. */
public OperatorNameViewController create(OperatorNameView view) { public OperatorNameViewController create(OperatorNameView view) {
return new OperatorNameViewController(view); return new OperatorNameViewController(view, mDarkIconDispatcher);
} }
} }
@@ -56,4 +66,8 @@ public class OperatorNameViewController extends ViewController<OperatorNameView>
public View getView() { public View getView() {
return mView; return mView;
} }
private final DarkIconDispatcher.DarkReceiver mDarkReceiver =
(area, darkIntensity, tint) ->
mView.setTextColor(DarkIconDispatcher.getTint(area, mView, tint));
} }