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

Commit 1c2c3377 authored by Salvador Martinez's avatar Salvador Martinez
Browse files

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
parent c5c61645
Loading
Loading
Loading
Loading
+0 −21
Original line number 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)
    public static class SlashState {
        public static final int VERSION = 2;
+10 −22
Original line number Diff line number Diff line
@@ -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) {