OSDN Git Service

Small fixes to StatsManager API.
authorDavid Chen <dwchen@google.com>
Thu, 22 Feb 2018 02:58:23 +0000 (18:58 -0800)
committerDavid Chen <dwchen@google.com>
Thu, 22 Feb 2018 20:56:33 +0000 (12:56 -0800)
Adds some annotations, deletes an unused API method, and adds some
comments.

Test: Test that make succeeds.
Bug: 72562867
Change-Id: I6c93ee4aeeacf6842795256c76551cfb1c28888d

api/system-current.txt
core/java/android/app/StatsManager.java
core/java/android/util/StatsLog.java

index 930224d..bc39d3f 100644 (file)
@@ -364,7 +364,6 @@ package android.app {
   }
 
   public final class StatsManager {
-    method public boolean addConfiguration(long, byte[], java.lang.String, java.lang.String);
     method public boolean addConfiguration(long, byte[]);
     method public byte[] getData(long);
     method public byte[] getMetadata();
index c2c91c2..ee6a5ca 100644 (file)
@@ -16,6 +16,7 @@
 package android.app;
 
 import android.Manifest;
+import android.annotation.Nullable;
 import android.annotation.RequiresPermission;
 import android.annotation.SystemApi;
 import android.os.IBinder;
@@ -75,14 +76,6 @@ public final class StatsManager {
     }
 
     /**
-     * Temporary. Will be deleted.
-     */
-    @RequiresPermission(Manifest.permission.DUMP)
-    public boolean addConfiguration(long configKey, byte[] config, String a, String b) {
-        return addConfiguration(configKey, config);
-    }
-
-    /**
      * Clients can send a configuration and simultaneously registers the name of a broadcast
      * receiver that listens for when it should request data.
      *
@@ -226,10 +219,11 @@ public final class StatsManager {
      * the retrieved metrics from statsd memory.
      *
      * @param configKey Configuration key to retrieve data from.
-     * @return Serialized ConfigMetricsReportList proto. Returns null on failure.
+     * @return Serialized ConfigMetricsReportList proto. Returns null on failure (eg, if statsd
+     * crashed).
      */
     @RequiresPermission(Manifest.permission.DUMP)
-    public byte[] getData(long configKey) {
+    public @Nullable byte[] getData(long configKey) {
         synchronized (this) {
             try {
                 IStatsManager service = getIStatsManagerLocked();
@@ -239,7 +233,7 @@ public final class StatsManager {
                 }
                 return service.getData(configKey);
             } catch (RemoteException e) {
-                if (DEBUG) Slog.d(TAG, "Failed to connecto statsd when getting data");
+                if (DEBUG) Slog.d(TAG, "Failed to connect to statsd when getting data");
                 return null;
             }
         }
@@ -250,10 +244,10 @@ public final class StatsManager {
      * the actual metrics themselves (metrics must be collected via {@link #getData(String)}.
      * This getter is not destructive and will not reset any metrics/counters.
      *
-     * @return Serialized StatsdStatsReport proto. Returns null on failure.
+     * @return Serialized StatsdStatsReport proto. Returns null on failure (eg, if statsd crashed).
      */
     @RequiresPermission(Manifest.permission.DUMP)
-    public byte[] getMetadata() {
+    public @Nullable byte[] getMetadata() {
         synchronized (this) {
             try {
                 IStatsManager service = getIStatsManagerLocked();
index 3350f3e..517b13b 100644 (file)
@@ -18,8 +18,7 @@ package android.util;
 
 /**
  * StatsLog provides an API for developers to send events to statsd. The events can be used to
- * define custom metrics inside statsd. We will rate-limit how often the calls can be made inside
- * statsd.
+ * define custom metrics inside statsd.
  */
 public final class StatsLog extends StatsLogInternal {
     private static final String TAG = "StatsManager";