diff options
| -rw-r--r-- | apex/statsd/framework/java/android/util/StatsEvent.java | 30 | ||||
| -rwxr-xr-x | api/system-current.txt | 21 | ||||
| -rw-r--r-- | core/java/android/util/StatsLog.java | 1 |
3 files changed, 34 insertions, 18 deletions
diff --git a/apex/statsd/framework/java/android/util/StatsEvent.java b/apex/statsd/framework/java/android/util/StatsEvent.java index c7659457bdf9..1a45c4a5b7f6 100644 --- a/apex/statsd/framework/java/android/util/StatsEvent.java +++ b/apex/statsd/framework/java/android/util/StatsEvent.java @@ -20,6 +20,7 @@ import static java.nio.charset.StandardCharsets.UTF_8; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.SystemApi; import android.os.SystemClock; import com.android.internal.annotations.GuardedBy; @@ -51,6 +52,7 @@ import com.android.internal.annotations.VisibleForTesting; * </pre> * @hide **/ +@SystemApi public final class StatsEvent { // Type Ids. /** @@ -270,6 +272,8 @@ public final class StatsEvent { /** * Recycle resources used by this StatsEvent object. * No actions should be taken on this StatsEvent after release() is called. + * + * @hide **/ public void release() { if (mBuffer != null) { @@ -363,16 +367,6 @@ public final class StatsEvent { } /** - * Sets the timestamp in nanos for this StatsEvent. - **/ - @VisibleForTesting - @NonNull - public Builder setTimestampNs(final long timestampNs) { - mTimestampNs = timestampNs; - return this; - } - - /** * Write a boolean field to this StatsEvent. **/ @NonNull @@ -500,14 +494,14 @@ public final class StatsEvent { **/ @NonNull public Builder writeKeyValuePairs( - @NonNull final SparseIntArray intMap, - @NonNull final SparseLongArray longMap, - @NonNull final SparseArray<String> stringMap, - @NonNull final SparseArray<Float> floatMap) { - final int intMapSize = intMap.size(); - final int longMapSize = longMap.size(); - final int stringMapSize = stringMap.size(); - final int floatMapSize = floatMap.size(); + @Nullable final SparseIntArray intMap, + @Nullable final SparseLongArray longMap, + @Nullable final SparseArray<String> stringMap, + @Nullable final SparseArray<Float> floatMap) { + final int intMapSize = null == intMap ? 0 : intMap.size(); + final int longMapSize = null == longMap ? 0 : longMap.size(); + final int stringMapSize = null == stringMap ? 0 : stringMap.size(); + final int floatMapSize = null == floatMap ? 0 : floatMap.size(); final int totalCount = intMapSize + longMapSize + stringMapSize + floatMapSize; if (totalCount > MAX_KEY_VALUE_PAIRS) { diff --git a/api/system-current.txt b/api/system-current.txt index 4bbf7889a118..c19b5600f5ac 100755 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -11961,7 +11961,28 @@ package android.util { method public int getUid(); } + public final class StatsEvent { + method @NonNull public static android.util.StatsEvent.Builder newBuilder(); + } + + public static final class StatsEvent.Builder { + method @NonNull public android.util.StatsEvent.Builder addBooleanAnnotation(byte, boolean); + method @NonNull public android.util.StatsEvent.Builder addIntAnnotation(byte, int); + method @NonNull public android.util.StatsEvent build(); + method @NonNull public android.util.StatsEvent.Builder setAtomId(int); + method @NonNull public android.util.StatsEvent.Builder usePooledBuffer(); + method @NonNull public android.util.StatsEvent.Builder writeAttributionChain(@NonNull int[], @NonNull String[]); + method @NonNull public android.util.StatsEvent.Builder writeBoolean(boolean); + method @NonNull public android.util.StatsEvent.Builder writeByteArray(@NonNull byte[]); + method @NonNull public android.util.StatsEvent.Builder writeFloat(float); + method @NonNull public android.util.StatsEvent.Builder writeInt(int); + method @NonNull public android.util.StatsEvent.Builder writeKeyValuePairs(@Nullable android.util.SparseIntArray, @Nullable android.util.SparseLongArray, @Nullable android.util.SparseArray<java.lang.String>, @Nullable android.util.SparseArray<java.lang.Float>); + method @NonNull public android.util.StatsEvent.Builder writeLong(long); + method @NonNull public android.util.StatsEvent.Builder writeString(@NonNull String); + } + public final class StatsLog { + method public static void write(@NonNull android.util.StatsEvent); method public static void writeRaw(@NonNull byte[], int); } diff --git a/core/java/android/util/StatsLog.java b/core/java/android/util/StatsLog.java index 952d7cbcd119..8635340397b4 100644 --- a/core/java/android/util/StatsLog.java +++ b/core/java/android/util/StatsLog.java @@ -254,6 +254,7 @@ public final class StatsLog extends StatsLogInternal { * @param statsEvent The StatsEvent object containing the encoded buffer of data to write. * @hide */ + @SystemApi public static void write(@NonNull final StatsEvent statsEvent) { writeImpl(statsEvent.getBytes(), statsEvent.getNumBytes(), statsEvent.getAtomId()); statsEvent.release(); |