summaryrefslogtreecommitdiffstats
path: root/packages/SystemUI/src/com/android/systemui
diff options
context:
space:
mode:
authorSanket Padawe <sanketpadawe@google.com>2014-12-05 20:55:51 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-12-05 20:55:52 +0000
commit0c1a5bea2eb897b3f1d34b9c25ea6ed0bd5ca6eb (patch)
treec612a4d675d37f05af985469900e6b71a2a3360e /packages/SystemUI/src/com/android/systemui
parent2ff214b603939af60cae11727e189eb350b34c39 (diff)
parenta2bf987b742b328f56e71eab32a9fa37ec1961ca (diff)
downloadframeworks_base-0c1a5bea2eb897b3f1d34b9c25ea6ed0bd5ca6eb.zip
frameworks_base-0c1a5bea2eb897b3f1d34b9c25ea6ed0bd5ca6eb.tar.gz
frameworks_base-0c1a5bea2eb897b3f1d34b9c25ea6ed0bd5ca6eb.tar.bz2
Merge "Doing provisioning check for wifi tethering from SystemUI" into lmp-mr1-dev
Diffstat (limited to 'packages/SystemUI/src/com/android/systemui')
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java7
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java24
2 files changed, 23 insertions, 8 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 9744dca..6e710ef 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java
@@ -24,6 +24,7 @@ import com.android.systemui.R;
import com.android.systemui.qs.UsageTracker;
import com.android.systemui.qs.QSTile;
import com.android.systemui.statusbar.policy.HotspotController;
+import com.android.systemui.statusbar.policy.KeyguardMonitor;
/** Quick settings tile: Hotspot **/
public class HotspotTile extends QSTile<QSTile.BooleanState> {
@@ -34,12 +35,14 @@ public class HotspotTile extends QSTile<QSTile.BooleanState> {
private final HotspotController mController;
private final Callback mCallback = new Callback();
private final UsageTracker mUsageTracker;
+ private final KeyguardMonitor mKeyguard;
public HotspotTile(Host host) {
super(host);
mController = host.getHotspotController();
mUsageTracker = newUsageTracker(host.getContext());
mUsageTracker.setListening(true);
+ mKeyguard = host.getKeyguardMonitor();
}
@Override
@@ -85,7 +88,9 @@ 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() && mKeyguard.isSecure()
+ && mKeyguard.isShowing());
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 8f40011..b05cb31 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java
@@ -18,6 +18,7 @@ package com.android.systemui.statusbar.policy;
import android.app.ActivityManager;
import android.content.BroadcastReceiver;
+import android.content.ComponentName;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
@@ -35,9 +36,6 @@ 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();
private final Context mContext;
@@ -95,10 +93,22 @@ public class HotspotControllerImpl implements HotspotController {
final ContentResolver cr = mContext.getContentResolver();
// 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);
+ if (isProvisioningNeeded()) {
+ String tetherEnable = mContext.getResources().getString(
+ com.android.internal.R.string.config_wifi_tether_enable);
+ Intent intent = new Intent();
+ intent.setComponent(ComponentName.unflattenFromString(tetherEnable));
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ mContext.startActivityAsUser(intent, UserHandle.CURRENT);
+ } else {
+ int wifiState = mWifiManager.getWifiState();
+ if ((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, true);
+ }
} else {
mWifiManager.setWifiApEnabled(null, false);
if (Settings.Global.getInt(cr, Settings.Global.WIFI_SAVED_STATE, 0) == 1) {