From c8e3a7176f3a73b2718840ce2f7aa21672f562d1 Mon Sep 17 00:00:00 2001 From: Julia Reynolds Date: Tue, 24 Jun 2014 10:56:55 -0400 Subject: [PATCH] Apply the tethering user restriction to connectivity service. Bug: 15852213 Change-Id: Ib2df696189981ed1b31955257047fac3ee403965 --- .../core/java/com/android/server/ConnectivityService.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 64db8cf60c..87d28d35a2 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -109,6 +109,7 @@ import android.os.ServiceManager; import android.os.SystemClock; import android.os.SystemProperties; import android.os.UserHandle; +import android.os.UserManager; import android.provider.Settings; import android.security.Credentials; import android.security.KeyStore; @@ -482,6 +483,8 @@ public class ConnectivityService extends IConnectivityManager.Stub { private AppOpsManager mAppOpsManager; + private UserManager mUserManager; + NetworkConfig[] mNetConfigs; int mNetworksDefined; @@ -884,6 +887,8 @@ public class ConnectivityService extends IConnectivityManager.Stub { mContext.registerReceiver(mProvisioningReceiver, filter); mAppOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE); + + mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE); } private synchronized int nextNetworkRequestId() { @@ -3607,7 +3612,8 @@ public class ConnectivityService extends IConnectivityManager.Stub { enforceTetherAccessPermission(); int defaultVal = (SystemProperties.get("ro.tether.denied").equals("true") ? 0 : 1); boolean tetherEnabledInSettings = (Settings.Global.getInt(mContext.getContentResolver(), - Settings.Global.TETHER_SUPPORTED, defaultVal) != 0); + Settings.Global.TETHER_SUPPORTED, defaultVal) != 0) + && !mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_TETHERING); return tetherEnabledInSettings && ((mTethering.getTetherableUsbRegexs().length != 0 || mTethering.getTetherableWifiRegexs().length != 0 || mTethering.getTetherableBluetoothRegexs().length != 0) &&