Use CONNECTIVITY_INTERNAL for global proxy
The Global http proxy shouldn't be used by apps, but can be useful in certain conditions. bug:8264794 bug:8557674 Change-Id: Ia3cbe542e448d9e74d0492626a13e9fd34ad797a
This commit is contained in:
@@ -1136,7 +1136,7 @@ public class ConnectivityManager {
|
|||||||
* HTTP proxy. A {@code null} value will clear the global HTTP proxy.
|
* HTTP proxy. A {@code null} value will clear the global HTTP proxy.
|
||||||
*
|
*
|
||||||
* <p>This method requires the call to hold the permission
|
* <p>This method requires the call to hold the permission
|
||||||
* {@link android.Manifest.permission#CHANGE_NETWORK_STATE}.
|
* {@link android.Manifest.permission#CONNECTIVITY_INTERNAL}.
|
||||||
* {@hide}
|
* {@hide}
|
||||||
*/
|
*/
|
||||||
public void setGlobalProxy(ProxyProperties p) {
|
public void setGlobalProxy(ProxyProperties p) {
|
||||||
|
|||||||
@@ -3045,7 +3045,7 @@ public class ConnectivityService extends IConnectivityManager.Stub {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setGlobalProxy(ProxyProperties proxyProperties) {
|
public void setGlobalProxy(ProxyProperties proxyProperties) {
|
||||||
enforceChangePermission();
|
enforceConnectivityInternalPermission();
|
||||||
synchronized (mProxyLock) {
|
synchronized (mProxyLock) {
|
||||||
if (proxyProperties == mGlobalProxy) return;
|
if (proxyProperties == mGlobalProxy) return;
|
||||||
if (proxyProperties != null && proxyProperties.equals(mGlobalProxy)) return;
|
if (proxyProperties != null && proxyProperties.equals(mGlobalProxy)) return;
|
||||||
@@ -3063,10 +3063,15 @@ public class ConnectivityService extends IConnectivityManager.Stub {
|
|||||||
mGlobalProxy = null;
|
mGlobalProxy = null;
|
||||||
}
|
}
|
||||||
ContentResolver res = mContext.getContentResolver();
|
ContentResolver res = mContext.getContentResolver();
|
||||||
Settings.Global.putString(res, Settings.Global.GLOBAL_HTTP_PROXY_HOST, host);
|
final long token = Binder.clearCallingIdentity();
|
||||||
Settings.Global.putInt(res, Settings.Global.GLOBAL_HTTP_PROXY_PORT, port);
|
try {
|
||||||
Settings.Global.putString(res, Settings.Global.GLOBAL_HTTP_PROXY_EXCLUSION_LIST,
|
Settings.Global.putString(res, Settings.Global.GLOBAL_HTTP_PROXY_HOST, host);
|
||||||
exclList);
|
Settings.Global.putInt(res, Settings.Global.GLOBAL_HTTP_PROXY_PORT, port);
|
||||||
|
Settings.Global.putString(res, Settings.Global.GLOBAL_HTTP_PROXY_EXCLUSION_LIST,
|
||||||
|
exclList);
|
||||||
|
} finally {
|
||||||
|
Binder.restoreCallingIdentity(token);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mGlobalProxy == null) {
|
if (mGlobalProxy == null) {
|
||||||
|
|||||||
Reference in New Issue
Block a user