Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 91f03e00 authored by Muhammad Qureshi's avatar Muhammad Qureshi Committed by Android (Google) Code Review
Browse files

Merge "StatsEvent @SystemApi"

parents 8876b561 089d1bb2
Loading
Loading
Loading
Loading
+12 −18
Original line number Diff line number Diff line
@@ -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) {
+21 −0
Original line number Diff line number Diff line
@@ -12137,7 +12137,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);
  }
+1 −0
Original line number Diff line number Diff line
@@ -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();