Merge "Remove UI restriction on hotspot & airplane mode being on together"
This commit is contained in:
committed by
Android (Google) Code Review
commit
ef266140fa
@@ -247,27 +247,6 @@ public interface QSTile {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ProvidesInterface(version = AirplaneBooleanState.VERSION)
|
||||
public static class AirplaneBooleanState extends BooleanState {
|
||||
public static final int VERSION = 1;
|
||||
public boolean isAirplaneMode;
|
||||
|
||||
@Override
|
||||
public boolean copyTo(State other) {
|
||||
final AirplaneBooleanState o = (AirplaneBooleanState) other;
|
||||
final boolean changed = super.copyTo(other) || o.isAirplaneMode != isAirplaneMode;
|
||||
o.isAirplaneMode = isAirplaneMode;
|
||||
return changed;
|
||||
}
|
||||
|
||||
public State copy() {
|
||||
AirplaneBooleanState state = new AirplaneBooleanState();
|
||||
copyTo(state);
|
||||
return state;
|
||||
}
|
||||
}
|
||||
|
||||
@ProvidesInterface(version = SlashState.VERSION)
|
||||
public static class SlashState {
|
||||
public static final int VERSION = 2;
|
||||
|
||||
@@ -20,14 +20,12 @@ import android.annotation.Nullable;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Intent;
|
||||
import android.os.UserManager;
|
||||
import android.provider.Settings.Global;
|
||||
import android.service.quicksettings.Tile;
|
||||
import android.widget.Switch;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.plugins.qs.QSTile.AirplaneBooleanState;
|
||||
import com.android.systemui.qs.GlobalSetting;
|
||||
import com.android.systemui.plugins.qs.QSTile.BooleanState;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.qs.tileimpl.QSTileImpl;
|
||||
import com.android.systemui.statusbar.policy.DataSaverController;
|
||||
@@ -36,7 +34,7 @@ import com.android.systemui.statusbar.policy.HotspotController;
|
||||
import javax.inject.Inject;
|
||||
|
||||
/** Quick settings tile: Hotspot **/
|
||||
public class HotspotTile extends QSTileImpl<AirplaneBooleanState> {
|
||||
public class HotspotTile extends QSTileImpl<BooleanState> {
|
||||
private static final Intent TETHER_SETTINGS = new Intent().setComponent(new ComponentName(
|
||||
"com.android.settings", "com.android.settings.TetherSettings"));
|
||||
|
||||
@@ -46,7 +44,6 @@ public class HotspotTile extends QSTileImpl<AirplaneBooleanState> {
|
||||
private final DataSaverController mDataSaverController;
|
||||
|
||||
private final HotspotAndDataSaverCallbacks mCallbacks = new HotspotAndDataSaverCallbacks();
|
||||
private final GlobalSetting mAirplaneMode;
|
||||
private boolean mListening;
|
||||
|
||||
@Inject
|
||||
@@ -55,12 +52,6 @@ public class HotspotTile extends QSTileImpl<AirplaneBooleanState> {
|
||||
super(host);
|
||||
mHotspotController = hotspotController;
|
||||
mDataSaverController = dataSaverController;
|
||||
mAirplaneMode = new GlobalSetting(mContext, mHandler, Global.AIRPLANE_MODE_ON) {
|
||||
@Override
|
||||
protected void handleValueChanged(int value) {
|
||||
refreshState();
|
||||
}
|
||||
};
|
||||
mHotspotController.observe(this, mCallbacks);
|
||||
mDataSaverController.observe(this, mCallbacks);
|
||||
}
|
||||
@@ -75,11 +66,6 @@ public class HotspotTile extends QSTileImpl<AirplaneBooleanState> {
|
||||
super.handleDestroy();
|
||||
}
|
||||
|
||||
@Override
|
||||
public AirplaneBooleanState newTileState() {
|
||||
return new AirplaneBooleanState();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleSetListening(boolean listening) {
|
||||
if (mListening == listening) return;
|
||||
@@ -87,7 +73,6 @@ public class HotspotTile extends QSTileImpl<AirplaneBooleanState> {
|
||||
if (listening) {
|
||||
refreshState();
|
||||
}
|
||||
mAirplaneMode.setListening(listening);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -95,11 +80,15 @@ public class HotspotTile extends QSTileImpl<AirplaneBooleanState> {
|
||||
return new Intent(TETHER_SETTINGS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BooleanState newTileState() {
|
||||
return new BooleanState();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void handleClick() {
|
||||
final boolean isEnabled = mState.value;
|
||||
if (!isEnabled &&
|
||||
(mAirplaneMode.getValue() != 0 || mDataSaverController.isDataSaverEnabled())) {
|
||||
if (!isEnabled && mDataSaverController.isDataSaverEnabled()) {
|
||||
return;
|
||||
}
|
||||
// Immediately enter transient enabling state when turning hotspot on.
|
||||
@@ -113,7 +102,7 @@ public class HotspotTile extends QSTileImpl<AirplaneBooleanState> {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void handleUpdateState(AirplaneBooleanState state, Object arg) {
|
||||
protected void handleUpdateState(BooleanState state, Object arg) {
|
||||
final boolean transientEnabling = arg == ARG_SHOW_TRANSIENT_ENABLING;
|
||||
if (state.slash == null) {
|
||||
state.slash = new SlashState();
|
||||
@@ -138,7 +127,6 @@ public class HotspotTile extends QSTileImpl<AirplaneBooleanState> {
|
||||
|
||||
state.icon = mEnabledStatic;
|
||||
state.label = mContext.getString(R.string.quick_settings_hotspot_label);
|
||||
state.isAirplaneMode = mAirplaneMode.getValue() != 0;
|
||||
state.isTransient = isTransient;
|
||||
state.slash.isSlashed = !state.value && !state.isTransient;
|
||||
if (state.isTransient) {
|
||||
@@ -147,7 +135,7 @@ public class HotspotTile extends QSTileImpl<AirplaneBooleanState> {
|
||||
state.expandedAccessibilityClassName = Switch.class.getName();
|
||||
state.contentDescription = state.label;
|
||||
|
||||
final boolean isTileUnavailable = (state.isAirplaneMode || isDataSaverEnabled);
|
||||
final boolean isTileUnavailable = isDataSaverEnabled;
|
||||
final boolean isTileActive = (state.value || state.isTransient);
|
||||
|
||||
if (isTileUnavailable) {
|
||||
|
||||
Reference in New Issue
Block a user