adds privileged permission for getCaptivePortalServerUrl
adds tether privileged permission for
startTethering,isTetheringSupported
bug:
62348162
Test: make and manual testing
Change-Id: I8eb8e3c9dcd7201abe9ea303ee57fe99073d67eb
* @hide
*/
@SystemApi
+ @RequiresPermission(android.Manifest.permission.LOCAL_MAC_ADDRESS)
public String getCaptivePortalServerUrl() {
try {
return mService.getCaptivePortalServerUrl();
* {@hide}
*/
@SystemApi
- @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE)
+ @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED)
public boolean isTetheringSupported() {
try {
- return mService.isTetheringSupported();
+ String pkgName = mContext.getOpPackageName();
+ return mService.isTetheringSupported(pkgName);
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
* @hide
*/
@SystemApi
+ @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED)
public void startTethering(int type, boolean showProvisioningUi,
final OnStartTetheringCallback callback) {
startTethering(type, showProvisioningUi, callback, null);
int getLastTetherError(String iface);
- boolean isTetheringSupported();
+ boolean isTetheringSupported(String callerPkg);
void startTethering(int type, in ResultReceiver receiver, boolean showProvisioningUi,
String callerPkg);
return mTethering.getTetheredDhcpRanges();
}
+ @Override
+ public boolean isTetheringSupported(String callerPkg) {
+ ConnectivityManager.enforceTetherChangePermission(mContext, callerPkg);
+ return isTetheringSupported();
+ }
+
// if ro.tether.denied = true we default to no tethering
// gservices could set the secure setting to 1 though to enable it on a build where it
// had previously been turned off.
- @Override
- public boolean isTetheringSupported() {
- enforceTetherAccessPermission();
+ private boolean isTetheringSupported() {
int defaultVal = encodeBool(!mSystemProperties.get("ro.tether.denied").equals("true"));
boolean tetherSupported = toBool(Settings.Global.getInt(mContext.getContentResolver(),
Settings.Global.TETHER_SUPPORTED, defaultVal));
@Override
public String getCaptivePortalServerUrl() {
+ enforceConnectivityInternalPermission();
return NetworkMonitor.getCaptivePortalServerHttpUrl(mContext);
}