summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api/system-current.txt3
-rw-r--r--core/java/android/net/ConnectivityMetricsLogger.java43
2 files changed, 46 insertions, 0 deletions
diff --git a/api/system-current.txt b/api/system-current.txt
index 004746c33031..91d64ddc5555 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -25338,7 +25338,10 @@ package android.net {
public class ConnectivityMetricsLogger {
ctor public ConnectivityMetricsLogger();
+ method public android.net.ConnectivityMetricsEvent[] getEvents(android.net.ConnectivityMetricsEvent.Reference);
method public void logEvent(long, int, int, android.os.Parcelable);
+ method public boolean register(android.app.PendingIntent);
+ method public boolean unregister(android.app.PendingIntent);
field public static final int COMPONENT_TAG_BLUETOOTH = 1; // 0x1
field public static final int COMPONENT_TAG_CONNECTIVITY = 0; // 0x0
field public static final int COMPONENT_TAG_TELECOM = 3; // 0x3
diff --git a/core/java/android/net/ConnectivityMetricsLogger.java b/core/java/android/net/ConnectivityMetricsLogger.java
index b49cc2bffa16..d8cdde94a2f1 100644
--- a/core/java/android/net/ConnectivityMetricsLogger.java
+++ b/core/java/android/net/ConnectivityMetricsLogger.java
@@ -16,6 +16,7 @@
package android.net;
import android.annotation.SystemApi;
+import android.app.PendingIntent;
import android.os.Bundle;
import android.os.Parcelable;
import android.os.RemoteException;
@@ -106,4 +107,46 @@ public class ConnectivityMetricsLogger {
Log.e(TAG, "Error logging event " + e.getMessage());
}
}
+
+ /**
+ * Retrieve events
+ *
+ * @param reference of the last event previously returned. The function will return
+ * events following it.
+ * If 0 then all events will be returned.
+ * After the function call it will contain reference of the
+ * last returned event.
+ * @return events
+ */
+ public ConnectivityMetricsEvent[] getEvents(ConnectivityMetricsEvent.Reference reference) {
+ try {
+ return mService.getEvents(reference);
+ } catch (RemoteException ex) {
+ Log.e(TAG, "IConnectivityMetricsLogger.getEvents: " + ex);
+ return null;
+ }
+ }
+
+ /**
+ * Register PendingIntent which will be sent when new events are ready to be retrieved.
+ */
+ public boolean register(PendingIntent newEventsIntent) {
+ try {
+ return mService.register(newEventsIntent);
+ } catch (RemoteException ex) {
+ Log.e(TAG, "IConnectivityMetricsLogger.register: " + ex);
+ return false;
+ }
+ }
+
+ public boolean unregister(PendingIntent newEventsIntent) {
+ try {
+ mService.unregister(newEventsIntent);
+ } catch (RemoteException ex) {
+ Log.e(TAG, "IConnectivityMetricsLogger.unregister: " + ex);
+ return false;
+ }
+
+ return true;
+ }
}