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

Commit 1229a372 authored by Jason Monk's avatar Jason Monk Committed by Android Git Automerger
Browse files

am 733bcc7f: Merge "Hide hotspot tile if \'provisioning\' is needed" into lmp-dev

* commit '733bcc7f':
  Hide hotspot tile if 'provisioning' is needed
parents fa70e679 733bcc7f
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -66,7 +66,8 @@ public class HotspotTile extends QSTile<QSTile.BooleanState> {


    @Override
    @Override
    protected void handleUpdateState(BooleanState state, Object arg) {
    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.label = mContext.getString(R.string.quick_settings_hotspot_label);


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


    public interface Callback {
    public interface Callback {
        void onHotspotChanged(boolean enabled);
        void onHotspotChanged(boolean enabled);
+15 −0
Original line number Original line Diff line number Diff line
@@ -24,6 +24,7 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.content.IntentFilter;
import android.net.ConnectivityManager;
import android.net.ConnectivityManager;
import android.net.wifi.WifiManager;
import android.net.wifi.WifiManager;
import android.os.SystemProperties;
import android.os.UserHandle;
import android.os.UserHandle;
import android.provider.Settings;
import android.provider.Settings;
import android.util.Log;
import android.util.Log;
@@ -73,6 +74,20 @@ public class HotspotControllerImpl implements HotspotController {
        return !isSecondaryUser && mConnectivityManager.isTetheringSupported();
        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
    @Override
    public void setHotspotEnabled(boolean enabled) {
    public void setHotspotEnabled(boolean enabled) {
        final ContentResolver cr = mContext.getContentResolver();
        final ContentResolver cr = mContext.getContentResolver();