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

Commit 15b77daf authored by Erik Kline's avatar Erik Kline Committed by android-build-merger
Browse files

Merge "Add new netd event callback for changes to private DNS validation...

Merge "Add new netd event callback for changes to private DNS validation state." am: 40ca5a06 am: 5e9725bd
am: be5e9b42

Change-Id: Id88a4e846ae50536ac7b1541cf10c1fad1b1eeca
parents 53195175 be5e9b42
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -20,8 +20,9 @@ package android.net;
oneway interface INetdEventCallback {

    // Possible addNetdEventCallback callers.
    const int CALLBACK_CALLER_DEVICE_POLICY = 0;
    const int CALLBACK_CALLER_NETWORK_WATCHLIST = 1;
    const int CALLBACK_CALLER_CONNECTIVITY_SERVICE = 0;
    const int CALLBACK_CALLER_DEVICE_POLICY = 1;
    const int CALLBACK_CALLER_NETWORK_WATCHLIST = 2;

    /**
     * Reports a single DNS lookup function call.
@@ -38,6 +39,18 @@ oneway interface INetdEventCallback {
    void onDnsEvent(String hostname, in String[] ipAddresses, int ipAddressesCount, long timestamp,
            int uid);

    /**
     * Represents a private DNS validation success or failure.
     * This method must not block or perform long-running operations.
     *
     * @param netId the ID of the network the validation was performed on.
     * @param ipAddress the IP address for which validation was performed.
     * @param hostname the hostname for which validation was performed.
     * @param validated whether or not validation was successful.
     */
    void onPrivateDnsValidationEvent(int netId, String ipAddress, String hostname,
            boolean validated);

    /**
     * Reports a single connect library call.
     * This method must not block or perform long-running operations.
+6 −0
Original line number Diff line number Diff line
@@ -31,6 +31,12 @@ public class BaseNetdEventCallback extends INetdEventCallback.Stub {
        // default no-op
    }

    @Override
    public void onPrivateDnsValidationEvent(int netId, String ipAddress,
            String hostname, boolean validated) {
        // default no-op
    }

    @Override
    public void onConnectEvent(String ipAddr, int port, long timestamp, int uid) {
        // default no-op
+19 −2
Original line number Diff line number Diff line
@@ -102,9 +102,12 @@ public class NetdEventListenerService extends INetdEventListener.Stub {


    /**
     * There are only 2 possible callbacks.
     * There are only 3 possible callbacks.
     *
     * mNetdEventCallbackList[CALLBACK_CALLER_DEVICE_POLICY].
     * mNetdEventCallbackList[CALLBACK_CALLER_CONNECTIVITY_SERVICE]
     * Callback registered/unregistered by ConnectivityService.
     *
     * mNetdEventCallbackList[CALLBACK_CALLER_DEVICE_POLICY]
     * Callback registered/unregistered when logging is being enabled/disabled in DPM
     * by the device owner. It's DevicePolicyManager's responsibility to ensure that.
     *
@@ -113,6 +116,7 @@ public class NetdEventListenerService extends INetdEventListener.Stub {
     */
    @GuardedBy("this")
    private static final int[] ALLOWED_CALLBACK_TYPES = {
        INetdEventCallback.CALLBACK_CALLER_CONNECTIVITY_SERVICE,
        INetdEventCallback.CALLBACK_CALLER_DEVICE_POLICY,
        INetdEventCallback.CALLBACK_CALLER_NETWORK_WATCHLIST
    };
@@ -209,6 +213,19 @@ public class NetdEventListenerService extends INetdEventListener.Stub {
        }
    }

    @Override
    // Called concurrently by multiple binder threads.
    // This method must not block or perform long-running operations.
    public synchronized void onPrivateDnsValidationEvent(int netId,
            String ipAddress, String hostname, boolean validated)
            throws RemoteException {
        for (INetdEventCallback callback : mNetdEventCallbackList) {
            if (callback != null) {
                callback.onPrivateDnsValidationEvent(netId, ipAddress, hostname, validated);
            }
        }
    }

    @Override
    // Called concurrently by multiple binder threads.
    // This method must not block or perform long-running operations.