Merge "Remove Exception in getRegisteredExperimentIds" into rvc-dev
diff --git a/apex/framework/Android.bp b/apex/framework/Android.bp
index 804eb03..7480ec8 100644
--- a/apex/framework/Android.bp
+++ b/apex/framework/Android.bp
@@ -89,7 +89,7 @@
 droidstubs {
     name: "framework-statsd-stubs-srcs-publicapi",
     defaults: [
-        "framework-module-stubs-defaults-systemapi",
+        "framework-module-stubs-defaults-publicapi",
         "framework-statsd-stubs-srcs-defaults",
     ],
 }
diff --git a/apex/framework/api/current.txt b/apex/framework/api/current.txt
index d802177..a655693 100644
--- a/apex/framework/api/current.txt
+++ b/apex/framework/api/current.txt
@@ -1 +1,12 @@
 // Signature format: 2.0
+package android.util {
+
+  public final class StatsLog {
+    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public static boolean logBinaryPushStateChanged(@NonNull String, long, int, int, @NonNull long[]);
+    method public static boolean logEvent(int);
+    method public static boolean logStart(int);
+    method public static boolean logStop(int);
+  }
+
+}
+
diff --git a/apex/framework/java/android/app/StatsManager.java b/apex/framework/java/android/app/StatsManager.java
index ed57151..7fbfc43 100644
--- a/apex/framework/java/android/app/StatsManager.java
+++ b/apex/framework/java/android/app/StatsManager.java
@@ -612,7 +612,7 @@
             /**
              * Set the cool down time of the pull in milliseconds. If two successive pulls are
              * issued within the cool down, a cached version of the first pull will be used for the
-             * second pull.
+             * second pull. The minimum allowed cool down is 1 second.
              */
             @NonNull
             public Builder setCoolDownMillis(long coolDownMillis) {
@@ -621,7 +621,8 @@
             }
 
             /**
-             * Set the maximum time the pull can take in milliseconds.
+             * Set the maximum time the pull can take in milliseconds. The maximum allowed timeout
+             * is 10 seconds.
              */
             @NonNull
             public Builder setTimeoutMillis(long timeoutMillis) {
diff --git a/apex/tests/libstatspull/src/com/android/internal/os/statsd/libstats/LibStatsPullTests.java b/apex/tests/libstatspull/src/com/android/internal/os/statsd/libstats/LibStatsPullTests.java
index 3f199e8..240222e 100644
--- a/apex/tests/libstatspull/src/com/android/internal/os/statsd/libstats/LibStatsPullTests.java
+++ b/apex/tests/libstatspull/src/com/android/internal/os/statsd/libstats/LibStatsPullTests.java
@@ -29,6 +29,7 @@
 import com.android.internal.os.StatsdConfigProto.AtomMatcher;
 import com.android.internal.os.StatsdConfigProto.FieldFilter;
 import com.android.internal.os.StatsdConfigProto.GaugeMetric;
+import com.android.internal.os.StatsdConfigProto.PullAtomPackages;
 import com.android.internal.os.StatsdConfigProto.SimpleAtomMatcher;
 import com.android.internal.os.StatsdConfigProto.StatsdConfig;
 import com.android.internal.os.StatsdConfigProto.TimeUnit;
@@ -271,6 +272,9 @@
                         .setSamplingType(GaugeMetric.SamplingType.FIRST_N_SAMPLES)
                         .setMaxNumGaugeAtomsPerBucket(1000)
                 )
+                .addPullAtomPackages(PullAtomPackages.newBuilder()
+                        .setAtomId(PULL_ATOM_TAG)
+                        .addPackages(LibStatsPullTests.class.getPackage().getName()))
                 .build();
         statsManager.addConfig(sConfigId, config.toByteArray());
         assertThat(StatsConfigUtils.verifyValidConfigExists(statsManager, sConfigId)).isTrue();