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

Commit f24b6c77 authored by Chalard Jean's avatar Chalard Jean Committed by Gerrit Code Review
Browse files

Merge "[PT12] Factor some code into ProxyTracker."

parents 4b48dca2 60778f91
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);
                }
            }
        }
    }
}