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

Commit b13c12f5 authored by Sanket Padawe's avatar Sanket Padawe Committed by Android (Google) Code Review
Browse files

Merge "Call entitlement on clicking tethering tile in quick settings." into lmp-mr1-dev

parents d6e9e61c 63224c39
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -85,8 +85,7 @@ public class HotspotTile extends QSTile<QSTile.BooleanState> {

    @Override
    protected void handleUpdateState(BooleanState state, Object arg) {
        state.visible = mController.isHotspotSupported() && mUsageTracker.isRecentlyUsed()
                && !mController.isProvisioningNeeded();
        state.visible = mController.isHotspotSupported() && mUsageTracker.isRecentlyUsed();
        state.label = mContext.getString(R.string.quick_settings_hotspot_label);

        state.value = mController.isHotspotEnabled();
+10 −14
Original line number Diff line number Diff line
@@ -35,6 +35,8 @@ public class HotspotControllerImpl implements HotspotController {

    private static final String TAG = "HotspotController";
    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
    private static final String TETHER_ENABLE_PACKAGE = "com.android.settings";
    private static final String TETHER_ENABLE_CLASS = "com.android.settings.EnableWifiTether";

    private final ArrayList<Callback> mCallbacks = new ArrayList<Callback>();
    private final Receiver mReceiver = new Receiver();
@@ -91,20 +93,14 @@ public class HotspotControllerImpl implements HotspotController {
    @Override
    public void setHotspotEnabled(boolean enabled) {
        final ContentResolver cr = mContext.getContentResolver();
        // This needs to be kept up to date with Settings (WifiApEnabler.setSoftapEnabled)
        // in case it is turned on in settings and off in qs (or vice versa).
        // Disable Wifi if enabling tethering.
        int wifiState = mWifiManager.getWifiState();
        if (enabled && ((wifiState == WifiManager.WIFI_STATE_ENABLING) ||
                    (wifiState == WifiManager.WIFI_STATE_ENABLED))) {
            mWifiManager.setWifiEnabled(false);
            Settings.Global.putInt(cr, Settings.Global.WIFI_SAVED_STATE, 1);
        }

        mWifiManager.setWifiApEnabled(null, enabled);

        // If needed, restore Wifi on tether disable.
        if (!enabled) {
        // Call provisioning app which is called when enabling Tethering from Settings
        if (enabled) {
            Intent intent = new Intent();
            intent.setClassName(TETHER_ENABLE_PACKAGE, TETHER_ENABLE_CLASS);
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            mContext.startActivity(intent);
        } else {
            mWifiManager.setWifiApEnabled(null, false);
            if (Settings.Global.getInt(cr, Settings.Global.WIFI_SAVED_STATE, 0) == 1) {
                mWifiManager.setWifiEnabled(true);
                Settings.Global.putInt(cr, Settings.Global.WIFI_SAVED_STATE, 0);