From 28680c61c9b4a617c3a9470e630179b861f0bc20 Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Tue, 19 Apr 2016 09:31:20 -0400 Subject: [PATCH] No QS hotspot unless supported Fixes: 27438917 Change-Id: Iadeee5a87ebb9b881e04ac706547004e186215ea --- .../src/com/android/systemui/qs/tiles/HotspotTile.java | 5 +++++ .../systemui/statusbar/policy/HotspotController.java | 1 + .../systemui/statusbar/policy/HotspotControllerImpl.java | 6 ++++++ 3 files changed, 12 insertions(+) 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 bf5b22c7c2d48..25a3eff2b2b2d 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java @@ -42,6 +42,11 @@ public class HotspotTile extends QSTile { mController = host.getHotspotController(); } + @Override + public boolean isAvailable() { + return mController.isHotspotSupported(); + } + @Override protected void handleDestroy() { super.handleDestroy(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotController.java index 047f14def5cb9..4622ea4734057 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotController.java @@ -21,6 +21,7 @@ public interface HotspotController { void removeCallback(Callback callback); boolean isHotspotEnabled(); void setHotspotEnabled(boolean enabled); + boolean isHotspotSupported(); public interface Callback { void onHotspotChanged(boolean 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 c6b1cdf4047cd..904134141f94c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java @@ -46,6 +46,12 @@ public class HotspotControllerImpl implements HotspotController { Context.CONNECTIVITY_SERVICE); } + @Override + public boolean isHotspotSupported() { + return mConnectivityManager.isTetheringSupported() + && mConnectivityManager.getTetherableWifiRegexs().length != 0; + } + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { pw.println("HotspotController state:"); pw.print(" mHotspotEnabled="); pw.println(stateToString(mHotspotState));