From c2c39e28f3ae7f993821dda55b69605989967f60 Mon Sep 17 00:00:00 2001 From: Pavel Zhamaitsiak Date: Mon, 18 Apr 2016 17:41:19 -0700 Subject: [PATCH] Add wrappers for IConnectivityMetricsLogger functions Bug: 25691077 Change-Id: I51fa34a4815fb04e33d3b02f0134e3555afc3900 --- api/system-current.txt | 3 ++ .../net/ConnectivityMetricsLogger.java | 43 +++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/api/system-current.txt b/api/system-current.txt index 004746c330316..91d64ddc55553 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 b49cc2bffa16b..d8cdde94a2f18 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; + } }