Merge "Remove UI restriction on hotspot & airplane mode being on together"

This commit is contained in:
Salvador Martinez
2019-03-12 18:27:37 +00:00
committed by Android (Google) Code Review
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) {