summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2017-04-30 04:32:35 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2017-04-30 04:32:41 +0000
commitd0e65f5ef076e4498fe8667c2adafe4c5869a60d (patch)
tree4d5fe1a2ed8c4a9fa22672b83ad9bc0861ab39ae
parent34c226d6024cb324f2acf8800d29abb3a69c1c53 (diff)
parent7c7ef6ee5c6abb2297516284c6c89a72f7f0eeb9 (diff)
Merge "Use ConnectivityService's NETWORK_STACK permission for SoftAp operations" into oc-dev
-rw-r--r--services/core/java/com/android/server/connectivity/Tethering.java20
1 files changed, 13 insertions, 7 deletions
diff --git a/services/core/java/com/android/server/connectivity/Tethering.java b/services/core/java/com/android/server/connectivity/Tethering.java
index b42242eb4423..9c5930b71d87 100644
--- a/services/core/java/com/android/server/connectivity/Tethering.java
+++ b/services/core/java/com/android/server/connectivity/Tethering.java
@@ -398,15 +398,21 @@ public class Tethering extends BaseNetworkObserver implements IControlsTethering
}
private int setWifiTethering(final boolean enable) {
- synchronized (mPublicSync) {
- mWifiTetherRequested = enable;
- final WifiManager wifiManager = getWifiManager();
- if ((enable && wifiManager.startSoftAp(null /* use existing wifi config */)) ||
- (!enable && wifiManager.stopSoftAp())) {
- return ConnectivityManager.TETHER_ERROR_NO_ERROR;
+ int rval = ConnectivityManager.TETHER_ERROR_MASTER_ERROR;
+ final long ident = Binder.clearCallingIdentity();
+ try {
+ synchronized (mPublicSync) {
+ mWifiTetherRequested = enable;
+ final WifiManager mgr = getWifiManager();
+ if ((enable && mgr.startSoftAp(null /* use existing wifi config */)) ||
+ (!enable && mgr.stopSoftAp())) {
+ rval = ConnectivityManager.TETHER_ERROR_NO_ERROR;
+ }
}
- return ConnectivityManager.TETHER_ERROR_MASTER_ERROR;
+ } finally {
+ Binder.restoreCallingIdentity(ident);
}
+ return rval;
}
private void setBluetoothTethering(final boolean enable, final ResultReceiver receiver) {