Remove UI restriction on hotspot & airplane mode being on together

This just makes it so that the hotspot tile doesn't care about
airplane mode. Apparently the airplane mode tile already didn't
check anything for hotspot.

Test: Manual
Bug: 111681176
Change-Id: I786077ad5e817ed9ee6753fa1be220e846c77e16
This commit is contained in:
Salvador Martinez
2019-03-08 16:11:23 -08:00
parent c5c616455b
commit 1c2c337781
2 changed files with 10 additions and 43 deletions

View File

@@ -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;

View File

@@ -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) {