diff options
| -rw-r--r-- | api/system-current.txt | 3 | ||||
| -rw-r--r-- | core/java/android/net/ConnectivityMetricsLogger.java | 43 |
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; + } } |