Loading core/java/android/app/ActivityThread.java +18 −1 Original line number Diff line number Diff line Loading @@ -42,6 +42,9 @@ import android.database.sqlite.SQLiteDebug; import android.database.sqlite.SQLiteDebug.DbStats; import android.graphics.Bitmap; import android.graphics.Canvas; import android.net.IConnectivityManager; import android.net.Proxy; import android.net.ProxyProperties; import android.os.Build; import android.os.Bundle; import android.os.Debug; Loading Loading @@ -592,6 +595,10 @@ public final class ActivityThread { InetAddress.clearDnsCache(); } public void setHttpProxy(String host, String port, String exclList) { Proxy.setHttpProxySystemProperty(host, port, exclList); } public void processInBackground() { mH.removeMessages(H.GC_WHEN_IDLE); mH.sendMessage(mH.obtainMessage(H.GC_WHEN_IDLE)); Loading Loading @@ -3253,6 +3260,16 @@ public final class ActivityThread { } } /** * Initialize the default http proxy in this process for the reasons we set the time zone. */ IBinder b = ServiceManager.getService(Context.CONNECTIVITY_SERVICE); IConnectivityManager service = IConnectivityManager.Stub.asInterface(b); try { ProxyProperties proxyProperties = service.getProxy(); Proxy.setHttpProxySystemProperty(proxyProperties); } catch (RemoteException e) {} if (data.instrumentationName != null) { ContextImpl appContext = new ContextImpl(); appContext.init(data.info, null, this); Loading core/java/android/app/ApplicationThreadNative.java +21 −2 Original line number Diff line number Diff line Loading @@ -297,6 +297,15 @@ public abstract class ApplicationThreadNative extends Binder return true; } case SET_HTTP_PROXY_TRANSACTION: { data.enforceInterface(IApplicationThread.descriptor); final String proxy = data.readString(); final String port = data.readString(); final String exclList = data.readString(); setHttpProxy(proxy, port, exclList); return true; } case PROCESS_IN_BACKGROUND_TRANSACTION: { data.enforceInterface(IApplicationThread.descriptor); processInBackground(); Loading Loading @@ -758,6 +767,16 @@ class ApplicationThreadProxy implements IApplicationThread { data.recycle(); } public void setHttpProxy(String proxy, String port, String exclList) throws RemoteException { Parcel data = Parcel.obtain(); data.writeInterfaceToken(IApplicationThread.descriptor); data.writeString(proxy); data.writeString(port); data.writeString(exclList); mRemote.transact(SET_HTTP_PROXY_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); data.recycle(); } public void processInBackground() throws RemoteException { Parcel data = Parcel.obtain(); data.writeInterfaceToken(IApplicationThread.descriptor); Loading core/java/android/app/IApplicationThread.java +2 −0 Original line number Diff line number Diff line Loading @@ -88,6 +88,7 @@ public interface IApplicationThread extends IInterface { void scheduleConfigurationChanged(Configuration config) throws RemoteException; void updateTimeZone() throws RemoteException; void clearDnsCache() throws RemoteException; void setHttpProxy(String proxy, String port, String exclList) throws RemoteException; void processInBackground() throws RemoteException; void dumpService(FileDescriptor fd, IBinder servicetoken, String[] args) throws RemoteException; Loading Loading @@ -148,4 +149,5 @@ public interface IApplicationThread extends IInterface { int DUMP_HEAP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+35; int DUMP_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+36; int CLEAR_DNS_CACHE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+37; int SET_HTTP_PROXY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+38; } core/java/android/net/ConnectivityManager.java +35 −0 Original line number Diff line number Diff line Loading @@ -624,4 +624,39 @@ public class ConnectivityManager } catch (RemoteException e) { } } /** * @param proxyProperties The definition for the new global http proxy * {@hide} */ public void setGlobalProxy(ProxyProperties p) { try { mService.setGlobalProxy(p); } catch (RemoteException e) { } } /** * @return proxyProperties for the current global proxy * {@hide} */ public ProxyProperties getGlobalProxy() { try { return mService.getGlobalProxy(); } catch (RemoteException e) { return null; } } /** * @return proxyProperties for the current proxy (global if set, network specific if not) * {@hide} */ public ProxyProperties getProxy() { try { return mService.getProxy(); } catch (RemoteException e) { return null; } } } core/java/android/net/IConnectivityManager.aidl +7 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package android.net; import android.net.LinkProperties; import android.net.NetworkInfo; import android.net.ProxyProperties; import android.os.IBinder; /** Loading Loading @@ -85,4 +86,10 @@ interface IConnectivityManager void requestNetworkTransitionWakelock(in String forWhom); void reportInetCondition(int networkType, int percentage); ProxyProperties getGlobalProxy(); void setGlobalProxy(in ProxyProperties p); ProxyProperties getProxy(); } Loading
core/java/android/app/ActivityThread.java +18 −1 Original line number Diff line number Diff line Loading @@ -42,6 +42,9 @@ import android.database.sqlite.SQLiteDebug; import android.database.sqlite.SQLiteDebug.DbStats; import android.graphics.Bitmap; import android.graphics.Canvas; import android.net.IConnectivityManager; import android.net.Proxy; import android.net.ProxyProperties; import android.os.Build; import android.os.Bundle; import android.os.Debug; Loading Loading @@ -592,6 +595,10 @@ public final class ActivityThread { InetAddress.clearDnsCache(); } public void setHttpProxy(String host, String port, String exclList) { Proxy.setHttpProxySystemProperty(host, port, exclList); } public void processInBackground() { mH.removeMessages(H.GC_WHEN_IDLE); mH.sendMessage(mH.obtainMessage(H.GC_WHEN_IDLE)); Loading Loading @@ -3253,6 +3260,16 @@ public final class ActivityThread { } } /** * Initialize the default http proxy in this process for the reasons we set the time zone. */ IBinder b = ServiceManager.getService(Context.CONNECTIVITY_SERVICE); IConnectivityManager service = IConnectivityManager.Stub.asInterface(b); try { ProxyProperties proxyProperties = service.getProxy(); Proxy.setHttpProxySystemProperty(proxyProperties); } catch (RemoteException e) {} if (data.instrumentationName != null) { ContextImpl appContext = new ContextImpl(); appContext.init(data.info, null, this); Loading
core/java/android/app/ApplicationThreadNative.java +21 −2 Original line number Diff line number Diff line Loading @@ -297,6 +297,15 @@ public abstract class ApplicationThreadNative extends Binder return true; } case SET_HTTP_PROXY_TRANSACTION: { data.enforceInterface(IApplicationThread.descriptor); final String proxy = data.readString(); final String port = data.readString(); final String exclList = data.readString(); setHttpProxy(proxy, port, exclList); return true; } case PROCESS_IN_BACKGROUND_TRANSACTION: { data.enforceInterface(IApplicationThread.descriptor); processInBackground(); Loading Loading @@ -758,6 +767,16 @@ class ApplicationThreadProxy implements IApplicationThread { data.recycle(); } public void setHttpProxy(String proxy, String port, String exclList) throws RemoteException { Parcel data = Parcel.obtain(); data.writeInterfaceToken(IApplicationThread.descriptor); data.writeString(proxy); data.writeString(port); data.writeString(exclList); mRemote.transact(SET_HTTP_PROXY_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); data.recycle(); } public void processInBackground() throws RemoteException { Parcel data = Parcel.obtain(); data.writeInterfaceToken(IApplicationThread.descriptor); Loading
core/java/android/app/IApplicationThread.java +2 −0 Original line number Diff line number Diff line Loading @@ -88,6 +88,7 @@ public interface IApplicationThread extends IInterface { void scheduleConfigurationChanged(Configuration config) throws RemoteException; void updateTimeZone() throws RemoteException; void clearDnsCache() throws RemoteException; void setHttpProxy(String proxy, String port, String exclList) throws RemoteException; void processInBackground() throws RemoteException; void dumpService(FileDescriptor fd, IBinder servicetoken, String[] args) throws RemoteException; Loading Loading @@ -148,4 +149,5 @@ public interface IApplicationThread extends IInterface { int DUMP_HEAP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+35; int DUMP_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+36; int CLEAR_DNS_CACHE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+37; int SET_HTTP_PROXY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+38; }
core/java/android/net/ConnectivityManager.java +35 −0 Original line number Diff line number Diff line Loading @@ -624,4 +624,39 @@ public class ConnectivityManager } catch (RemoteException e) { } } /** * @param proxyProperties The definition for the new global http proxy * {@hide} */ public void setGlobalProxy(ProxyProperties p) { try { mService.setGlobalProxy(p); } catch (RemoteException e) { } } /** * @return proxyProperties for the current global proxy * {@hide} */ public ProxyProperties getGlobalProxy() { try { return mService.getGlobalProxy(); } catch (RemoteException e) { return null; } } /** * @return proxyProperties for the current proxy (global if set, network specific if not) * {@hide} */ public ProxyProperties getProxy() { try { return mService.getProxy(); } catch (RemoteException e) { return null; } } }
core/java/android/net/IConnectivityManager.aidl +7 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package android.net; import android.net.LinkProperties; import android.net.NetworkInfo; import android.net.ProxyProperties; import android.os.IBinder; /** Loading Loading @@ -85,4 +86,10 @@ interface IConnectivityManager void requestNetworkTransitionWakelock(in String forWhom); void reportInetCondition(int networkType, int percentage); ProxyProperties getGlobalProxy(); void setGlobalProxy(in ProxyProperties p); ProxyProperties getProxy(); }