Define callback for network tested with extras.

A new callback function is defined in INetworkMonitorCallbacks for
alerting ConnectivityService of a network test result along with a
PersistableBundle of extras.

Bug: 143187964
Test: compiles
Test: atest NetworkStackTests
Change-Id: Id07eda28f970e5423b323072d0639e77c8e6bd2e
(cherry picked from commit d094f1f9f11a9f55a2283073b27969e78443fe9c)
diff --git a/common/networkstackclient/Android.bp b/common/networkstackclient/Android.bp
index c1ad011..31f3384 100644
--- a/common/networkstackclient/Android.bp
+++ b/common/networkstackclient/Android.bp
@@ -42,7 +42,10 @@
 aidl_interface {
     name: "networkstack-aidl-interfaces",
     local_include_dir: "src",
-    include_dirs: ["frameworks/base/core/java"], // For framework parcelables.
+    include_dirs: [
+        "frameworks/base/core/java", // For framework parcelables.
+        "frameworks/native/aidl/binder/android/os", // For PersistableBundle.aidl
+    ],
     srcs: [
         "src/android/net/DhcpResultsParcelable.aidl",
         "src/android/net/INetworkMonitor.aidl",
diff --git a/common/networkstackclient/src/android/net/INetworkMonitorCallbacks.aidl b/common/networkstackclient/src/android/net/INetworkMonitorCallbacks.aidl
index f8dcd6c..62c3f29 100644
--- a/common/networkstackclient/src/android/net/INetworkMonitorCallbacks.aidl
+++ b/common/networkstackclient/src/android/net/INetworkMonitorCallbacks.aidl
@@ -22,9 +22,13 @@
 /** @hide */
 oneway interface INetworkMonitorCallbacks {
     void onNetworkMonitorCreated(in INetworkMonitor networkMonitor);
+
+    // Deprecated. Use notifyNetworkTestedWithExtras() instead.
     void notifyNetworkTested(int testResult, @nullable String redirectUrl);
     void notifyPrivateDnsConfigResolved(in PrivateDnsConfigParcel config);
     void showProvisioningNotification(String action, String packageName);
     void hideProvisioningNotification();
     void notifyProbeStatusChanged(int probesCompleted, int probesSucceeded);
+    void notifyNetworkTestedWithExtras(int testResult, @nullable String redirectUrl,
+            long timestampMillis, in PersistableBundle extras);
 }
\ No newline at end of file