Merge "Hide hotspot tile if 'provisioning' is needed" into lmp-dev
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -22,6 +22,7 @@ public interface HotspotController {
|
||||
boolean isHotspotEnabled();
|
||||
boolean isHotspotSupported();
|
||||
void setHotspotEnabled(boolean enabled);
|
||||
boolean isProvisioningNeeded();
|
||||
|
||||
public interface Callback {
|
||||
void onHotspotChanged(boolean enabled);
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user