Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ef266140 authored by Salvador Martinez's avatar Salvador Martinez Committed by Android (Google) Code Review
Browse files

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

parents e05b0ec4 1c2c3377
Loading
Loading
Loading
Loading
+0 −21
Original line number Original line Diff line number Diff line
@@ -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)
    @ProvidesInterface(version = SlashState.VERSION)
    public static class SlashState {
    public static class SlashState {
        public static final int VERSION = 2;
        public static final int VERSION = 2;
+10 −22
Original line number Original line Diff line number Diff line
@@ -20,14 +20,12 @@ import android.annotation.Nullable;
import android.content.ComponentName;
import android.content.ComponentName;
import android.content.Intent;
import android.content.Intent;
import android.os.UserManager;
import android.os.UserManager;
import android.provider.Settings.Global;
import android.service.quicksettings.Tile;
import android.service.quicksettings.Tile;
import android.widget.Switch;
import android.widget.Switch;


import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.systemui.R;
import com.android.systemui.R;
import com.android.systemui.plugins.qs.QSTile.AirplaneBooleanState;
import com.android.systemui.plugins.qs.QSTile.BooleanState;
import com.android.systemui.qs.GlobalSetting;
import com.android.systemui.qs.QSHost;
import com.android.systemui.qs.QSHost;
import com.android.systemui.qs.tileimpl.QSTileImpl;
import com.android.systemui.qs.tileimpl.QSTileImpl;
import com.android.systemui.statusbar.policy.DataSaverController;
import com.android.systemui.statusbar.policy.DataSaverController;
@@ -36,7 +34,7 @@ import com.android.systemui.statusbar.policy.HotspotController;
import javax.inject.Inject;
import javax.inject.Inject;


/** Quick settings tile: Hotspot **/
/** 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(
    private static final Intent TETHER_SETTINGS = new Intent().setComponent(new ComponentName(
            "com.android.settings", "com.android.settings.TetherSettings"));
            "com.android.settings", "com.android.settings.TetherSettings"));


@@ -46,7 +44,6 @@ public class HotspotTile extends QSTileImpl<AirplaneBooleanState> {
    private final DataSaverController mDataSaverController;
    private final DataSaverController mDataSaverController;


    private final HotspotAndDataSaverCallbacks mCallbacks = new HotspotAndDataSaverCallbacks();
    private final HotspotAndDataSaverCallbacks mCallbacks = new HotspotAndDataSaverCallbacks();
    private final GlobalSetting mAirplaneMode;
    private boolean mListening;
    private boolean mListening;


    @Inject
    @Inject
@@ -55,12 +52,6 @@ public class HotspotTile extends QSTileImpl<AirplaneBooleanState> {
        super(host);
        super(host);
        mHotspotController = hotspotController;
        mHotspotController = hotspotController;
        mDataSaverController = dataSaverController;
        mDataSaverController = dataSaverController;
        mAirplaneMode = new GlobalSetting(mContext, mHandler, Global.AIRPLANE_MODE_ON) {
            @Override
            protected void handleValueChanged(int value) {
                refreshState();
            }
        };
        mHotspotController.observe(this, mCallbacks);
        mHotspotController.observe(this, mCallbacks);
        mDataSaverController.observe(this, mCallbacks);
        mDataSaverController.observe(this, mCallbacks);
    }
    }
@@ -75,11 +66,6 @@ public class HotspotTile extends QSTileImpl<AirplaneBooleanState> {
        super.handleDestroy();
        super.handleDestroy();
    }
    }


    @Override
    public AirplaneBooleanState newTileState() {
        return new AirplaneBooleanState();
    }

    @Override
    @Override
    public void handleSetListening(boolean listening) {
    public void handleSetListening(boolean listening) {
        if (mListening == listening) return;
        if (mListening == listening) return;
@@ -87,7 +73,6 @@ public class HotspotTile extends QSTileImpl<AirplaneBooleanState> {
        if (listening) {
        if (listening) {
            refreshState();
            refreshState();
        }
        }
        mAirplaneMode.setListening(listening);
    }
    }


    @Override
    @Override
@@ -95,11 +80,15 @@ public class HotspotTile extends QSTileImpl<AirplaneBooleanState> {
        return new Intent(TETHER_SETTINGS);
        return new Intent(TETHER_SETTINGS);
    }
    }


    @Override
    public BooleanState newTileState() {
        return new BooleanState();
    }

    @Override
    @Override
    protected void handleClick() {
    protected void handleClick() {
        final boolean isEnabled = mState.value;
        final boolean isEnabled = mState.value;
        if (!isEnabled &&
        if (!isEnabled && mDataSaverController.isDataSaverEnabled()) {
                (mAirplaneMode.getValue() != 0 || mDataSaverController.isDataSaverEnabled())) {
            return;
            return;
        }
        }
        // Immediately enter transient enabling state when turning hotspot on.
        // Immediately enter transient enabling state when turning hotspot on.
@@ -113,7 +102,7 @@ public class HotspotTile extends QSTileImpl<AirplaneBooleanState> {
    }
    }


    @Override
    @Override
    protected void handleUpdateState(AirplaneBooleanState state, Object arg) {
    protected void handleUpdateState(BooleanState state, Object arg) {
        final boolean transientEnabling = arg == ARG_SHOW_TRANSIENT_ENABLING;
        final boolean transientEnabling = arg == ARG_SHOW_TRANSIENT_ENABLING;
        if (state.slash == null) {
        if (state.slash == null) {
            state.slash = new SlashState();
            state.slash = new SlashState();
@@ -138,7 +127,6 @@ public class HotspotTile extends QSTileImpl<AirplaneBooleanState> {


        state.icon = mEnabledStatic;
        state.icon = mEnabledStatic;
        state.label = mContext.getString(R.string.quick_settings_hotspot_label);
        state.label = mContext.getString(R.string.quick_settings_hotspot_label);
        state.isAirplaneMode = mAirplaneMode.getValue() != 0;
        state.isTransient = isTransient;
        state.isTransient = isTransient;
        state.slash.isSlashed = !state.value && !state.isTransient;
        state.slash.isSlashed = !state.value && !state.isTransient;
        if (state.isTransient) {
        if (state.isTransient) {
@@ -147,7 +135,7 @@ public class HotspotTile extends QSTileImpl<AirplaneBooleanState> {
        state.expandedAccessibilityClassName = Switch.class.getName();
        state.expandedAccessibilityClassName = Switch.class.getName();
        state.contentDescription = state.label;
        state.contentDescription = state.label;


        final boolean isTileUnavailable = (state.isAirplaneMode || isDataSaverEnabled);
        final boolean isTileUnavailable = isDataSaverEnabled;
        final boolean isTileActive = (state.value || state.isTransient);
        final boolean isTileActive = (state.value || state.isTransient);


        if (isTileUnavailable) {
        if (isTileUnavailable) {