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 f28a24b761728..ddde106a6074b 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java @@ -94,7 +94,11 @@ public class HotspotTile extends QSTile { state.visible = mController.isHotspotSupported() && mUsageTracker.isRecentlyUsed(); state.label = mContext.getString(R.string.quick_settings_hotspot_label); - state.value = mController.isHotspotEnabled(); + if (arg instanceof Boolean) { + state.value = (boolean) arg; + } else { + mController.isHotspotEnabled(); + } state.icon = state.visible && state.value ? mEnable : mDisable; } @@ -120,7 +124,7 @@ public class HotspotTile extends QSTile { private final class Callback implements HotspotController.Callback { @Override public void onHotspotChanged(boolean enabled) { - refreshState(); + refreshState(enabled); } }; 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 4bfd52860a12d..1e3bc4d46eb12 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java @@ -111,7 +111,9 @@ public class HotspotControllerImpl implements HotspotController { @Override public void onReceive(Context context, Intent intent) { if (DEBUG) Log.d(TAG, "onReceive " + intent.getAction()); - fireCallback(isHotspotEnabled()); + int state = intent.getIntExtra( + WifiManager.EXTRA_WIFI_AP_STATE, WifiManager.WIFI_AP_STATE_FAILED); + fireCallback(WifiManager.WIFI_AP_STATE_ENABLED == state); } } }