4/N Move Tunable to OperatorNameViewController am: cbf3513180
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15566958 Change-Id: I68f1992feff77b13dfd3f76303c1229a9611c93a
This commit is contained in:
@@ -15,7 +15,6 @@
|
|||||||
package com.android.systemui.statusbar;
|
package com.android.systemui.statusbar;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Bundle;
|
|
||||||
import android.telephony.ServiceState;
|
import android.telephony.ServiceState;
|
||||||
import android.telephony.SubscriptionInfo;
|
import android.telephony.SubscriptionInfo;
|
||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
@@ -27,17 +26,11 @@ import com.android.keyguard.KeyguardUpdateMonitor;
|
|||||||
import com.android.keyguard.KeyguardUpdateMonitorCallback;
|
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.tuner.TunerService;
|
|
||||||
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, Tunable {
|
public class OperatorNameView extends TextView {
|
||||||
|
|
||||||
private static final String KEY_SHOW_OPERATOR_NAME = "show_operator_name";
|
|
||||||
|
|
||||||
private KeyguardUpdateMonitor mKeyguardUpdateMonitor;
|
private KeyguardUpdateMonitor mKeyguardUpdateMonitor;
|
||||||
private boolean mDemoMode;
|
private boolean mDemoMode;
|
||||||
|
|
||||||
@@ -64,44 +57,22 @@ public class OperatorNameView extends TextView implements DemoModeCommandReceive
|
|||||||
protected void onAttachedToWindow() {
|
protected void onAttachedToWindow() {
|
||||||
super.onAttachedToWindow();
|
super.onAttachedToWindow();
|
||||||
mKeyguardUpdateMonitor = Dependency.get(KeyguardUpdateMonitor.class);
|
mKeyguardUpdateMonitor = Dependency.get(KeyguardUpdateMonitor.class);
|
||||||
mKeyguardUpdateMonitor.registerCallback(mCallback);
|
|
||||||
Dependency.get(TunerService.class).addTunable(this, KEY_SHOW_OPERATOR_NAME);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onDetachedFromWindow() {
|
protected void onDetachedFromWindow() {
|
||||||
super.onDetachedFromWindow();
|
super.onDetachedFromWindow();
|
||||||
mKeyguardUpdateMonitor.removeCallback(mCallback);
|
mKeyguardUpdateMonitor.removeCallback(mCallback);
|
||||||
Dependency.get(TunerService.class).removeTunable(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onTuningChanged(String key, String newValue) {
|
void setDemoMode(boolean demoMode) {
|
||||||
update();
|
mDemoMode = demoMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
void update(boolean showOperatorName, boolean hasMobile) {
|
||||||
public void dispatchDemoCommand(String command, Bundle args) {
|
|
||||||
setText(args.getString("name"));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onDemoModeStarted() {
|
|
||||||
mDemoMode = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onDemoModeFinished() {
|
|
||||||
mDemoMode = false;
|
|
||||||
update();
|
|
||||||
}
|
|
||||||
|
|
||||||
void update() {
|
|
||||||
boolean showOperatorName = Dependency.get(TunerService.class)
|
|
||||||
.getValue(KEY_SHOW_OPERATOR_NAME, 1) != 0;
|
|
||||||
setVisibility(showOperatorName ? VISIBLE : GONE);
|
setVisibility(showOperatorName ? VISIBLE : GONE);
|
||||||
|
|
||||||
boolean hasMobile = mContext.getSystemService(TelephonyManager.class).isDataCapable();
|
|
||||||
boolean airplaneMode = WirelessUtils.isAirplaneModeOn(mContext);
|
boolean airplaneMode = WirelessUtils.isAirplaneModeOn(mContext);
|
||||||
if (!hasMobile || airplaneMode) {
|
if (!hasMobile || airplaneMode) {
|
||||||
setText(null);
|
setText(null);
|
||||||
|
|||||||
@@ -16,53 +16,78 @@
|
|||||||
|
|
||||||
package com.android.systemui.statusbar;
|
package com.android.systemui.statusbar;
|
||||||
|
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.telephony.TelephonyManager;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
||||||
|
import com.android.systemui.demomode.DemoModeCommandReceiver;
|
||||||
import com.android.systemui.plugins.DarkIconDispatcher;
|
import com.android.systemui.plugins.DarkIconDispatcher;
|
||||||
import com.android.systemui.statusbar.policy.NetworkController;
|
import com.android.systemui.statusbar.policy.NetworkController;
|
||||||
|
import com.android.systemui.tuner.TunerService;
|
||||||
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 static final String KEY_SHOW_OPERATOR_NAME = "show_operator_name";
|
||||||
|
|
||||||
private final DarkIconDispatcher mDarkIconDispatcher;
|
private final DarkIconDispatcher mDarkIconDispatcher;
|
||||||
private final NetworkController mNetworkController;
|
private final NetworkController mNetworkController;
|
||||||
|
private final TunerService mTunerService;
|
||||||
|
private final TelephonyManager mTelephonyManager;
|
||||||
|
|
||||||
private OperatorNameViewController(OperatorNameView view,
|
private OperatorNameViewController(OperatorNameView view,
|
||||||
DarkIconDispatcher darkIconDispatcher,
|
DarkIconDispatcher darkIconDispatcher,
|
||||||
NetworkController networkController) {
|
NetworkController networkController,
|
||||||
|
TunerService tunerService,
|
||||||
|
TelephonyManager telephonyManager) {
|
||||||
super(view);
|
super(view);
|
||||||
mDarkIconDispatcher = darkIconDispatcher;
|
mDarkIconDispatcher = darkIconDispatcher;
|
||||||
mNetworkController = networkController;
|
mNetworkController = networkController;
|
||||||
|
mTunerService = tunerService;
|
||||||
|
mTelephonyManager = telephonyManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onViewAttached() {
|
protected void onViewAttached() {
|
||||||
mDarkIconDispatcher.addDarkReceiver(mDarkReceiver);
|
mDarkIconDispatcher.addDarkReceiver(mDarkReceiver);
|
||||||
mNetworkController.addCallback(mSignalCallback);
|
mNetworkController.addCallback(mSignalCallback);
|
||||||
|
mTunerService.addTunable(mTunable, KEY_SHOW_OPERATOR_NAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onViewDetached() {
|
protected void onViewDetached() {
|
||||||
mDarkIconDispatcher.removeDarkReceiver(mDarkReceiver);
|
mDarkIconDispatcher.removeDarkReceiver(mDarkReceiver);
|
||||||
mNetworkController.addCallback(mSignalCallback);
|
mNetworkController.removeCallback(mSignalCallback);
|
||||||
|
mTunerService.removeTunable(mTunable);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void update() {
|
||||||
|
mView.update(mTunerService.getValue(KEY_SHOW_OPERATOR_NAME, 1) != 0,
|
||||||
|
mTelephonyManager.isDataCapable());
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Factory for constructing an {@link OperatorNameViewController}. */
|
/** Factory for constructing an {@link OperatorNameViewController}. */
|
||||||
public static class Factory {
|
public static class Factory {
|
||||||
private final DarkIconDispatcher mDarkIconDispatcher;
|
private final DarkIconDispatcher mDarkIconDispatcher;
|
||||||
private final NetworkController mNetworkController;
|
private final NetworkController mNetworkController;
|
||||||
|
private final TunerService mTunerService;
|
||||||
|
private final TelephonyManager mTelephonyManager;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public Factory(DarkIconDispatcher darkIconDispatcher, NetworkController networkController) {
|
public Factory(DarkIconDispatcher darkIconDispatcher, NetworkController networkController,
|
||||||
|
TunerService tunerService, TelephonyManager telephonyManager) {
|
||||||
mDarkIconDispatcher = darkIconDispatcher;
|
mDarkIconDispatcher = darkIconDispatcher;
|
||||||
mNetworkController = networkController;
|
mNetworkController = networkController;
|
||||||
|
mTunerService = tunerService;
|
||||||
|
mTelephonyManager = telephonyManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Create an {@link OperatorNameViewController}. */
|
/** Create an {@link OperatorNameViewController}. */
|
||||||
public OperatorNameViewController create(OperatorNameView view) {
|
public OperatorNameViewController create(OperatorNameView view) {
|
||||||
return new OperatorNameViewController(view, mDarkIconDispatcher, mNetworkController);
|
return new OperatorNameViewController(view, mDarkIconDispatcher, mNetworkController,
|
||||||
|
mTunerService, mTelephonyManager);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,11 +103,33 @@ public class OperatorNameViewController extends ViewController<OperatorNameView>
|
|||||||
private final DarkIconDispatcher.DarkReceiver mDarkReceiver =
|
private final DarkIconDispatcher.DarkReceiver mDarkReceiver =
|
||||||
(area, darkIntensity, tint) ->
|
(area, darkIntensity, tint) ->
|
||||||
mView.setTextColor(DarkIconDispatcher.getTint(area, mView, tint));
|
mView.setTextColor(DarkIconDispatcher.getTint(area, mView, tint));
|
||||||
|
|
||||||
private final NetworkController.SignalCallback mSignalCallback =
|
private final NetworkController.SignalCallback mSignalCallback =
|
||||||
new NetworkController.SignalCallback() {
|
new NetworkController.SignalCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void setIsAirplaneMode(NetworkController.IconState icon) {
|
public void setIsAirplaneMode(NetworkController.IconState icon) {
|
||||||
mView.update();
|
update();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
private final TunerService.Tunable mTunable = (key, newValue) -> update();
|
||||||
|
|
||||||
|
// TODO: do we even register this anywhere?
|
||||||
|
private final DemoModeCommandReceiver mDemoModeCommandReceiver = new DemoModeCommandReceiver() {
|
||||||
|
@Override
|
||||||
|
public void onDemoModeStarted() {
|
||||||
|
mView.setDemoMode(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDemoModeFinished() {
|
||||||
|
mView.setDemoMode(false);
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void dispatchDemoCommand(String command, Bundle args) {
|
||||||
|
mView.setText(args.getString("name"));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user