From d199a9db39fd9e11a87f98f598654f3a90629f8c Mon Sep 17 00:00:00 2001 From: Cody Kesting Date: Tue, 17 Dec 2019 12:55:28 -0800 Subject: [PATCH] Add AIDL for registering ConnectivityDiagnosticCallbacks. ConnectivityService needs to allow for registering and unregistering ConnectivityDiagnosticsCallbacks as part of ConnectivityDiagnostics API. These methods will be used by ConnectivityDiagnosticsManager so that privileged applications can receive notifications on network events by the system. Bug: 146444622 Test: compiles Change-Id: Id00b30af5692db5eef47d0d948897148578d3b32 --- core/java/android/net/IConnectivityManager.aidl | 5 +++++ .../com/android/server/ConnectivityService.java | 17 +++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/core/java/android/net/IConnectivityManager.aidl b/core/java/android/net/IConnectivityManager.aidl index 186196bd31..3e9e7faccb 100644 --- a/core/java/android/net/IConnectivityManager.aidl +++ b/core/java/android/net/IConnectivityManager.aidl @@ -18,6 +18,7 @@ package android.net; import android.app.PendingIntent; import android.net.ConnectionInfo; +import android.net.IConnectivityDiagnosticsCallback; import android.net.LinkProperties; import android.net.Network; import android.net.NetworkAgentConfig; @@ -211,5 +212,9 @@ interface IConnectivityManager boolean isCallerCurrentAlwaysOnVpnApp(); boolean isCallerCurrentAlwaysOnVpnLockdownApp(); + void registerConnectivityDiagnosticsCallback(in IConnectivityDiagnosticsCallback callback, + in NetworkRequest request); + void unregisterConnectivityDiagnosticsCallback(in IConnectivityDiagnosticsCallback callback); + IBinder startOrGetTestNetworkService(); } diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 11f0a04fa8..0981cd8872 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -66,6 +66,7 @@ import android.net.CaptivePortal; import android.net.ConnectionInfo; import android.net.ConnectivityManager; import android.net.ICaptivePortal; +import android.net.IConnectivityDiagnosticsCallback; import android.net.IConnectivityManager; import android.net.IDnsResolver; import android.net.IIpConnectivityMetrics; @@ -7307,4 +7308,20 @@ public class ConnectivityService extends IConnectivityManager.Stub return mTNS; } } + + @Override + public void registerConnectivityDiagnosticsCallback( + @NonNull IConnectivityDiagnosticsCallback callback, @NonNull NetworkRequest request) { + // TODO(b/146444622): implement register IConnectivityDiagnosticsCallback functionality + throw new UnsupportedOperationException( + "registerConnectivityDiagnosticsCallback not yet implemented"); + } + + @Override + public void unregisterConnectivityDiagnosticsCallback( + @NonNull IConnectivityDiagnosticsCallback callback) { + // TODO(b/146444622): implement register IConnectivityDiagnosticsCallback functionality + throw new UnsupportedOperationException( + "unregisterConnectivityDiagnosticsCallback not yet implemented"); + } }