Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 60778f91 authored by Chalard Jean's avatar Chalard Jean
Browse files

[PT12] Factor some code into ProxyTracker.

Test: runtest
Change-Id: Ic61ef1e735dcc988cf8fc698b853f3b3be331d8b
parent b9d45fd6
Loading
Loading
Loading
Loading
+2 −18
Original line number Diff line number Diff line
@@ -5513,15 +5513,7 @@ public class ConnectivityService extends IConnectivityManager.Stub

            if (networkAgent.isVPN()) {
                // Temporarily disable the default proxy (not global).
                synchronized (mProxyTracker.mProxyLock) {
                    if (!mProxyTracker.mDefaultProxyDisabled) {
                        mProxyTracker.mDefaultProxyDisabled = true;
                        if (mProxyTracker.mGlobalProxy == null
                                && mProxyTracker.mDefaultProxy != null) {
                            mProxyTracker.sendProxyBroadcast(null);
                        }
                    }
                }
                mProxyTracker.setDefaultProxyEnabled(false);
                // TODO: support proxy per network.
            }

@@ -5543,15 +5535,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
        } else if (state == NetworkInfo.State.DISCONNECTED) {
            networkAgent.asyncChannel.disconnect();
            if (networkAgent.isVPN()) {
                synchronized (mProxyTracker.mProxyLock) {
                    if (mProxyTracker.mDefaultProxyDisabled) {
                        mProxyTracker.mDefaultProxyDisabled = false;
                        if (mProxyTracker.mGlobalProxy == null
                                && mProxyTracker.mDefaultProxy != null) {
                            mProxyTracker.sendProxyBroadcast(mProxyTracker.mDefaultProxy);
                        }
                    }
                }
                mProxyTracker.setDefaultProxyEnabled(true);
                updateUids(networkAgent, networkAgent.networkCapabilities, null);
            }
            disconnectAndDestroyNetwork(networkAgent);
+18 −0
Original line number Diff line number Diff line
@@ -309,4 +309,22 @@ public class ProxyTracker {
            }
        }
    }

    /**
     * Enable or disable the default proxy.
     *
     * This sets the flag for enabling/disabling the default proxy and sends the broadcast
     * if applicable.
     * @param enabled whether the default proxy should be enabled.
     */
    public void setDefaultProxyEnabled(final boolean enabled) {
        synchronized (mProxyLock) {
            if (mDefaultProxyDisabled == enabled) {
                mDefaultProxyDisabled = !enabled;
                if (mGlobalProxy == null && mDefaultProxy != null) {
                    sendProxyBroadcast(enabled ? mDefaultProxy : null);
                }
            }
        }
    }
}