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

Commit 733bcc7f authored by Jason Monk's avatar Jason Monk Committed by Android (Google) Code Review
Browse files

Merge "Hide hotspot tile if 'provisioning' is needed" into lmp-dev

parents 258d2221 20ef4024
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -66,7 +66,8 @@ public class HotspotTile extends QSTile<QSTile.BooleanState> {

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

        state.value = mController.isHotspotEnabled();
+1 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ public interface HotspotController {
    boolean isHotspotEnabled();
    boolean isHotspotSupported();
    void setHotspotEnabled(boolean enabled);
    boolean isProvisioningNeeded();

    public interface Callback {
        void onHotspotChanged(boolean enabled);
+15 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.net.ConnectivityManager;
import android.net.wifi.WifiManager;
import android.os.SystemProperties;
import android.os.UserHandle;
import android.provider.Settings;
import android.util.Log;
@@ -73,6 +74,20 @@ public class HotspotControllerImpl implements HotspotController {
        return !isSecondaryUser && mConnectivityManager.isTetheringSupported();
    }

    @Override
    public boolean isProvisioningNeeded() {
        // Keep in sync with other usage of config_mobile_hotspot_provision_app.
        // TetherSettings#isProvisioningNeeded and
        // ConnectivityManager#enforceTetherChangePermission
        String[] provisionApp = mContext.getResources().getStringArray(
                com.android.internal.R.array.config_mobile_hotspot_provision_app);
        if (SystemProperties.getBoolean("net.tethering.noprovisioning", false)
                || provisionApp == null) {
            return false;
        }
        return (provisionApp.length == 2);
    }

    @Override
    public void setHotspotEnabled(boolean enabled) {
        final ContentResolver cr = mContext.getContentResolver();