diff options
| author | 2014-12-01 18:14:40 -0800 | |
|---|---|---|
| committer | 2014-12-01 18:14:40 -0800 | |
| commit | 63224c39543688fd7eea62fe0238d1b32daf5d30 (patch) | |
| tree | e15997f57283437e02436e8a71abdeb7310c092c | |
| parent | 8ccf071ab83510c8ef7b4d311d894d5c4a352f6c (diff) | |
Call entitlement on clicking tethering tile in quick settings.
Call a new activity which would handle enabling of tethering on clicking
Tethering tile in Quick Settings.
Bug: 18368949
Change-Id: I4cc2ba01f6fa1ac005ba1dc27b223b5fc5359d35
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java | 3 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java | 24 |
2 files changed, 11 insertions, 16 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java index bccc753927a2..9744dca40f84 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java @@ -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(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java index 63c11007c19d..8f40011677bd 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java @@ -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); |