StatsEvent @SystemApi
Make StatsEvent and StatsLog.write(StatsEvent) @SystemApi. Bug: 146383532 Test: m Change-Id: I15050734e757bdb622fb83e3ef244a6ebd26923b
This commit is contained in:
@@ -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) {
|
||||
@@ -362,16 +366,6 @@ public final class StatsEvent {
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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.
|
||||
**/
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user