Merge "Adds necessary permissions to system apis"

This commit is contained in:
Udam Saini
2017-06-27 17:59:09 +00:00
committed by Android (Google) Code Review
3 changed files with 14 additions and 6 deletions

View File

@@ -1098,6 +1098,7 @@ public class ConnectivityManager {
* @hide
*/
@SystemApi
@RequiresPermission(android.Manifest.permission.LOCAL_MAC_ADDRESS)
public String getCaptivePortalServerUrl() {
try {
return mService.getCaptivePortalServerUrl();
@@ -2061,10 +2062,11 @@ public class ConnectivityManager {
* {@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();
}
@@ -2094,6 +2096,7 @@ public class ConnectivityManager {
* @hide
*/
@SystemApi
@RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED)
public void startTethering(int type, boolean showProvisioningUi,
final OnStartTetheringCallback callback) {
startTethering(type, showProvisioningUi, callback, null);

View File

@@ -75,7 +75,7 @@ interface IConnectivityManager
int getLastTetherError(String iface);
boolean isTetheringSupported();
boolean isTetheringSupported(String callerPkg);
void startTethering(int type, in ResultReceiver receiver, boolean showProvisioningUi,
String callerPkg);

View File

@@ -2973,12 +2973,16 @@ public class ConnectivityService extends IConnectivityManager.Stub
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));
@@ -5380,6 +5384,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
@Override
public String getCaptivePortalServerUrl() {
enforceConnectivityInternalPermission();
return NetworkMonitor.getCaptivePortalServerHttpUrl(mContext);
}