diff --git a/api/system-current.txt b/api/system-current.txt index 4c63b93a5a9f1..c54667820d2c9 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -25900,6 +25900,47 @@ package android.media.tv { } +package android.metrics { + + public class LogMaker { + ctor public LogMaker(int); + ctor public LogMaker(java.lang.Object[]); + method public android.metrics.LogMaker addTaggedData(int, java.lang.Object); + method public void deserialize(java.lang.Object[]); + method public int getCategory(); + method public long getCounterBucket(); + method public java.lang.String getCounterName(); + method public int getCounterValue(); + method public java.lang.String getPackageName(); + method public int getSubtype(); + method public java.lang.Object getTaggedData(int); + method public long getTimestamp(); + method public int getType(); + method public boolean isLongCounterBucket(); + method public boolean isValidValue(java.lang.Object); + method public java.lang.Object[] serialize(); + method public android.metrics.LogMaker setCategory(int); + method public android.metrics.LogMaker setCounterBucket(int); + method public android.metrics.LogMaker setCounterBucket(long); + method public android.metrics.LogMaker setCounterName(java.lang.String); + method public android.metrics.LogMaker setCounterValue(int); + method public android.metrics.LogMaker setPackageName(java.lang.String); + method public android.metrics.LogMaker setSubtype(int); + method public android.metrics.LogMaker setTimestamp(long); + method public android.metrics.LogMaker setType(int); + } + + public class MetricsReader { + ctor public MetricsReader(); + method public void checkpoint(); + method public boolean hasNext(); + method public android.metrics.LogMaker next(); + method public void read(long); + method public void reset(); + } + +} + package android.mtp { public final class MtpConstants { diff --git a/core/java/com/android/internal/logging/LogBuilder.java b/core/java/android/metrics/LogMaker.java similarity index 85% rename from core/java/com/android/internal/logging/LogBuilder.java rename to core/java/android/metrics/LogMaker.java index 2d78979b4c03b..0aef532cdb37e 100644 --- a/core/java/com/android/internal/logging/LogBuilder.java +++ b/core/java/android/metrics/LogMaker.java @@ -13,13 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.android.internal.logging; +package android.metrics; -import android.util.EventLog; +import android.annotation.SystemApi; import android.util.Log; import android.util.SparseArray; -import android.view.View; +import com.android.internal.annotations.VisibleForTesting; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; @@ -29,68 +29,73 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent; * * @hide */ - -public class LogBuilder { +@SystemApi +public class LogMaker { private static final String TAG = "LogBuilder"; - // Min required eventlog line length. - // See: android/util/cts/EventLogTest.java - // Size checks enforced here are intended only as sanity checks; - // your logs may be truncated earlier. Please log responsibly. + /** + * Min required eventlog line length. + * See: android/util/cts/EventLogTest.java + * Size checks enforced here are intended only as sanity checks; + * your logs may be truncated earlier. Please log responsibly. + * + * @hide + */ + @VisibleForTesting public static final int MAX_SERIALIZED_SIZE = 4000; private SparseArray entries = new SparseArray(); - public LogBuilder(int mainCategory) { + public LogMaker(int mainCategory) { setCategory(mainCategory); } /* Deserialize from the eventlog */ - public LogBuilder(Object[] items) { + public LogMaker(Object[] items) { deserialize(items); } - public LogBuilder setCategory(int category) { + public LogMaker setCategory(int category) { entries.put(MetricsEvent.RESERVED_FOR_LOGBUILDER_CATEGORY, category); return this; } - public LogBuilder setType(int type) { + public LogMaker setType(int type) { entries.put(MetricsEvent.RESERVED_FOR_LOGBUILDER_TYPE, type); return this; } - public LogBuilder setSubtype(int subtype) { + public LogMaker setSubtype(int subtype) { entries.put(MetricsEvent.RESERVED_FOR_LOGBUILDER_SUBTYPE, subtype); return this; } - public LogBuilder setTimestamp(long timestamp) { + public LogMaker setTimestamp(long timestamp) { entries.put(MetricsEvent.RESERVED_FOR_LOGBUILDER_TIMESTAMP, timestamp); return this; } - public LogBuilder setPackageName(String packageName) { + public LogMaker setPackageName(String packageName) { entries.put(MetricsEvent.RESERVED_FOR_LOGBUILDER_PACKAGENAME, packageName); return this; } - public LogBuilder setCounterName(String name) { + public LogMaker setCounterName(String name) { entries.put(MetricsEvent.RESERVED_FOR_LOGBUILDER_NAME, name); return this; } - public LogBuilder setCounterBucket(int bucket) { + public LogMaker setCounterBucket(int bucket) { entries.put(MetricsEvent.RESERVED_FOR_LOGBUILDER_BUCKET, bucket); return this; } - public LogBuilder setCounterBucket(long bucket) { + public LogMaker setCounterBucket(long bucket) { entries.put(MetricsEvent.RESERVED_FOR_LOGBUILDER_BUCKET, bucket); return this; } - public LogBuilder setCounterValue(int value) { + public LogMaker setCounterValue(int value) { entries.put(MetricsEvent.RESERVED_FOR_LOGBUILDER_VALUE, value); return this; } @@ -100,7 +105,7 @@ public class LogBuilder { * @param value One of Integer, Long, Float, String * @return */ - public LogBuilder addTaggedData(int tag, Object value) { + public LogMaker addTaggedData(int tag, Object value) { if (isValidValue(value)) { throw new IllegalArgumentException( "Value must be loggable type - int, long, float, String"); diff --git a/core/java/com/android/internal/logging/MetricsReader.java b/core/java/android/metrics/MetricsReader.java similarity index 92% rename from core/java/com/android/internal/logging/MetricsReader.java rename to core/java/android/metrics/MetricsReader.java index c4fc963adaa61..079c2c93c05bb 100644 --- a/core/java/com/android/internal/logging/MetricsReader.java +++ b/core/java/android/metrics/MetricsReader.java @@ -13,7 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.android.internal.logging; +package android.metrics; + +import android.annotation.SystemApi; import com.android.internal.logging.legacy.LegacyConversionLogger; import com.android.internal.logging.legacy.EventLogCollector; @@ -22,10 +24,12 @@ import java.util.Queue; /** * Read platform logs. + * @hide */ +@SystemApi public class MetricsReader { private EventLogCollector mReader; - private Queue mEventQueue; + private Queue mEventQueue; private long mLastEventMs; private long mCheckpointMs; @@ -57,7 +61,7 @@ public class MetricsReader { } /* Next entry in the current log session. */ - public LogBuilder next() { + public LogMaker next() { return mEventQueue == null ? null : mEventQueue.remove(); } diff --git a/core/java/com/android/internal/logging/MetricsLogger.java b/core/java/com/android/internal/logging/MetricsLogger.java index b90336c442aa3..c8bf302e46d53 100644 --- a/core/java/com/android/internal/logging/MetricsLogger.java +++ b/core/java/com/android/internal/logging/MetricsLogger.java @@ -16,6 +16,7 @@ package com.android.internal.logging; import android.content.Context; +import android.metrics.LogMaker; import android.os.Build; import android.view.View; @@ -37,7 +38,7 @@ public class MetricsLogger { } EventLogTags.writeSysuiViewVisibility(category, 100); EventLogTags.writeSysuiMultiAction( - new LogBuilder(category) + new LogMaker(category) .setType(MetricsEvent.TYPE_OPEN) .serialize()); } @@ -48,7 +49,7 @@ public class MetricsLogger { } EventLogTags.writeSysuiViewVisibility(category, 0); EventLogTags.writeSysuiMultiAction( - new LogBuilder(category) + new LogMaker(category) .setType(MetricsEvent.TYPE_CLOSE) .serialize()); } @@ -70,7 +71,7 @@ public class MetricsLogger { public static void action(Context context, int category) { EventLogTags.writeSysuiAction(category, ""); EventLogTags.writeSysuiMultiAction( - new LogBuilder(category) + new LogMaker(category) .setType(MetricsEvent.TYPE_ACTION) .serialize()); } @@ -78,7 +79,7 @@ public class MetricsLogger { public static void action(Context context, int category, int value) { EventLogTags.writeSysuiAction(category, Integer.toString(value)); EventLogTags.writeSysuiMultiAction( - new LogBuilder(category) + new LogMaker(category) .setType(MetricsEvent.TYPE_ACTION) .setSubtype(value) .serialize()); @@ -87,13 +88,13 @@ public class MetricsLogger { public static void action(Context context, int category, boolean value) { EventLogTags.writeSysuiAction(category, Boolean.toString(value)); EventLogTags.writeSysuiMultiAction( - new LogBuilder(category) + new LogMaker(category) .setType(MetricsEvent.TYPE_ACTION) .setSubtype(value ? 1 : 0) .serialize()); } - public static void action(LogBuilder content) { + public static void action(LogMaker content) { if (content.getType() == MetricsEvent.TYPE_UNKNOWN) { content.setType(MetricsEvent.TYPE_ACTION); } @@ -106,7 +107,7 @@ public class MetricsLogger { throw new IllegalArgumentException("Must define metric category"); } EventLogTags.writeSysuiAction(category, pkg); - EventLogTags.writeSysuiMultiAction(new LogBuilder(category) + EventLogTags.writeSysuiMultiAction(new LogMaker(category) .setType(MetricsEvent.TYPE_ACTION) .setPackageName(pkg) .serialize()); @@ -116,7 +117,7 @@ public class MetricsLogger { public static void count(Context context, String name, int value) { EventLogTags.writeSysuiCount(name, value); EventLogTags.writeSysuiMultiAction( - new LogBuilder(MetricsEvent.RESERVED_FOR_LOGBUILDER_COUNTER) + new LogMaker(MetricsEvent.RESERVED_FOR_LOGBUILDER_COUNTER) .setCounterName(name) .setCounterValue(value) .serialize()); @@ -126,7 +127,7 @@ public class MetricsLogger { public static void histogram(Context context, String name, int bucket) { EventLogTags.writeSysuiHistogram(name, bucket); EventLogTags.writeSysuiMultiAction( - new LogBuilder(MetricsEvent.RESERVED_FOR_LOGBUILDER_HISTOGRAM) + new LogMaker(MetricsEvent.RESERVED_FOR_LOGBUILDER_HISTOGRAM) .setCounterName(name) .setCounterBucket(bucket) .setCounterValue(1) diff --git a/core/java/com/android/internal/logging/legacy/LegacyConversionLogger.java b/core/java/com/android/internal/logging/legacy/LegacyConversionLogger.java index 7381ff08bbf2a..91e968b5b250d 100644 --- a/core/java/com/android/internal/logging/legacy/LegacyConversionLogger.java +++ b/core/java/com/android/internal/logging/legacy/LegacyConversionLogger.java @@ -15,9 +15,7 @@ */ package com.android.internal.logging.legacy; -import android.os.Bundle; - -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import java.util.HashMap; @@ -34,20 +32,20 @@ public class LegacyConversionLogger implements TronLogger { public static final int TYPE_HISTOGRAM = 2; public static final int TYPE_EVENT = 3; - private final Queue mQueue; + private final Queue mQueue; private HashMap mConfig; public LegacyConversionLogger() { mQueue = new LinkedList<>(); } - public Queue getEvents() { + public Queue getEvents() { return mQueue; } @Override public void increment(String counterName) { - LogBuilder b = new LogBuilder(MetricsEvent.RESERVED_FOR_LOGBUILDER_COUNTER) + LogMaker b = new LogMaker(MetricsEvent.RESERVED_FOR_LOGBUILDER_COUNTER) .setCounterName(counterName) .setCounterValue(1); mQueue.add(b); @@ -55,7 +53,7 @@ public class LegacyConversionLogger implements TronLogger { @Override public void incrementBy(String counterName, int value) { - LogBuilder b = new LogBuilder(MetricsEvent.RESERVED_FOR_LOGBUILDER_COUNTER) + LogMaker b = new LogMaker(MetricsEvent.RESERVED_FOR_LOGBUILDER_COUNTER) .setCounterName(counterName) .setCounterValue(value); mQueue.add(b); @@ -63,7 +61,7 @@ public class LegacyConversionLogger implements TronLogger { @Override public void incrementIntHistogram(String counterName, int bucket) { - LogBuilder b = new LogBuilder(MetricsEvent.RESERVED_FOR_LOGBUILDER_HISTOGRAM) + LogMaker b = new LogMaker(MetricsEvent.RESERVED_FOR_LOGBUILDER_HISTOGRAM) .setCounterName(counterName) .setCounterBucket(bucket) .setCounterValue(1); @@ -72,7 +70,7 @@ public class LegacyConversionLogger implements TronLogger { @Override public void incrementLongHistogram(String counterName, long bucket) { - LogBuilder b = new LogBuilder(MetricsEvent.RESERVED_FOR_LOGBUILDER_HISTOGRAM) + LogMaker b = new LogMaker(MetricsEvent.RESERVED_FOR_LOGBUILDER_HISTOGRAM) .setCounterName(counterName) .setCounterBucket(bucket) .setCounterValue(1); @@ -80,16 +78,16 @@ public class LegacyConversionLogger implements TronLogger { } @Override - public LogBuilder obtain() { - return new LogBuilder(MetricsEvent.VIEW_UNKNOWN); + public LogMaker obtain() { + return new LogMaker(MetricsEvent.VIEW_UNKNOWN); } @Override - public void dispose(LogBuilder proto) { + public void dispose(LogMaker proto) { } @Override - public void addEvent(LogBuilder proto) { + public void addEvent(LogMaker proto) { mQueue.add(proto); } diff --git a/core/java/com/android/internal/logging/legacy/LockscreenGestureParser.java b/core/java/com/android/internal/logging/legacy/LockscreenGestureParser.java index 6bede24d83164..df08ee0670873 100644 --- a/core/java/com/android/internal/logging/legacy/LockscreenGestureParser.java +++ b/core/java/com/android/internal/logging/legacy/LockscreenGestureParser.java @@ -17,7 +17,7 @@ package com.android.internal.logging.legacy; import android.util.Log; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; /** @@ -62,7 +62,7 @@ public class LockscreenGestureParser extends TagParser { category = GESTURE_TYPE_MAP[type]; } if (category != MetricsEvent.VIEW_UNKNOWN) { - LogBuilder proto = logger.obtain(); + LogMaker proto = logger.obtain(); proto.setCategory(category); proto.setType(MetricsEvent.TYPE_ACTION); proto.setTimestamp(eventTimeMs); diff --git a/core/java/com/android/internal/logging/legacy/NotificationActionClickedParser.java b/core/java/com/android/internal/logging/legacy/NotificationActionClickedParser.java index 67b84e984e800..79f3eb88805de 100644 --- a/core/java/com/android/internal/logging/legacy/NotificationActionClickedParser.java +++ b/core/java/com/android/internal/logging/legacy/NotificationActionClickedParser.java @@ -17,7 +17,7 @@ package com.android.internal.logging.legacy; import android.util.Log; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; /** @@ -47,7 +47,7 @@ public class NotificationActionClickedParser extends TagParser { if (mKey.parse((String) operands[0])) { int index = (Integer) operands[1]; parseTimes(operands, 2); - LogBuilder proto = logger.obtain(); + LogMaker proto = logger.obtain(); proto.setCategory(MetricsEvent.NOTIFICATION_ITEM_ACTION); proto.setType(MetricsEvent.TYPE_ACTION); proto.setSubtype(index); diff --git a/core/java/com/android/internal/logging/legacy/NotificationAlertParser.java b/core/java/com/android/internal/logging/legacy/NotificationAlertParser.java index 761197b19d66a..9548fb0be4527 100644 --- a/core/java/com/android/internal/logging/legacy/NotificationAlertParser.java +++ b/core/java/com/android/internal/logging/legacy/NotificationAlertParser.java @@ -17,8 +17,8 @@ package com.android.internal.logging.legacy; import android.util.Log; +import android.metrics.LogMaker; import com.android.internal.annotations.VisibleForTesting; -import com.android.internal.logging.LogBuilder; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; /** @@ -58,7 +58,7 @@ public class NotificationAlertParser extends TagParser { final boolean blink = ((Integer) operands[3]) == 1; if (mKey.parse(keyString)) { - LogBuilder proto = logger.obtain(); + LogMaker proto = logger.obtain(); proto.setCategory(MetricsEvent.NOTIFICATION_ALERT); proto.setType(MetricsEvent.TYPE_OPEN); proto.setSubtype((buzz ? BUZZ : 0) | (beep ? BEEP : 0) | (blink ? BLINK : 0)); diff --git a/core/java/com/android/internal/logging/legacy/NotificationCanceledParser.java b/core/java/com/android/internal/logging/legacy/NotificationCanceledParser.java index 0cab1a859593a..80eb004277f59 100644 --- a/core/java/com/android/internal/logging/legacy/NotificationCanceledParser.java +++ b/core/java/com/android/internal/logging/legacy/NotificationCanceledParser.java @@ -17,7 +17,7 @@ package com.android.internal.logging.legacy; import android.util.Log; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; /** @@ -78,7 +78,7 @@ public class NotificationCanceledParser extends TagParser { if (mKey.parse(keyString)) { if (intentional) { - LogBuilder proto = logger.obtain(); + LogMaker proto = logger.obtain(); proto.setCategory(MetricsEvent.NOTIFICATION_ITEM); proto.setType(MetricsEvent.TYPE_DISMISS); proto.setSubtype(reason); diff --git a/core/java/com/android/internal/logging/legacy/NotificationClickedParser.java b/core/java/com/android/internal/logging/legacy/NotificationClickedParser.java index eeae0a88feb82..eee4701cc743d 100644 --- a/core/java/com/android/internal/logging/legacy/NotificationClickedParser.java +++ b/core/java/com/android/internal/logging/legacy/NotificationClickedParser.java @@ -17,7 +17,7 @@ package com.android.internal.logging.legacy; import android.util.Log; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; /** @@ -46,7 +46,7 @@ public class NotificationClickedParser extends TagParser { try { if (mKey.parse((String) operands[0])) { parseTimes(operands, 1); - LogBuilder proto = logger.obtain(); + LogMaker proto = logger.obtain(); proto.setCategory(MetricsEvent.NOTIFICATION_ITEM); proto.setType(MetricsEvent.TYPE_ACTION); proto.setTimestamp(eventTimeMs); diff --git a/core/java/com/android/internal/logging/legacy/NotificationExpansionParser.java b/core/java/com/android/internal/logging/legacy/NotificationExpansionParser.java index d44b8b1ae7a22..84cd9993e2e37 100644 --- a/core/java/com/android/internal/logging/legacy/NotificationExpansionParser.java +++ b/core/java/com/android/internal/logging/legacy/NotificationExpansionParser.java @@ -17,7 +17,7 @@ package com.android.internal.logging.legacy; import android.util.Log; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; /** @@ -52,7 +52,7 @@ public class NotificationExpansionParser extends TagParser { if (!byUser || !expanded) { return; } - LogBuilder proto = logger.obtain(); + LogMaker proto = logger.obtain(); proto.setCategory(MetricsEvent.NOTIFICATION_ITEM); proto.setType(MetricsEvent.TYPE_DETAIL); proto.setTimestamp(eventTimeMs); diff --git a/core/java/com/android/internal/logging/legacy/NotificationPanelHiddenParser.java b/core/java/com/android/internal/logging/legacy/NotificationPanelHiddenParser.java index 662295b5846d9..a064a2ebca468 100644 --- a/core/java/com/android/internal/logging/legacy/NotificationPanelHiddenParser.java +++ b/core/java/com/android/internal/logging/legacy/NotificationPanelHiddenParser.java @@ -15,7 +15,7 @@ */ package com.android.internal.logging.legacy; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; /** @@ -33,7 +33,7 @@ public class NotificationPanelHiddenParser extends TagParser { @Override public void parseEvent(TronLogger logger, long eventTimeMs, Object[] operands) { - LogBuilder proto = logger.obtain(); + LogMaker proto = logger.obtain(); proto.setCategory(MetricsEvent.NOTIFICATION_PANEL); proto.setType(MetricsEvent.TYPE_CLOSE); proto.setTimestamp(eventTimeMs); diff --git a/core/java/com/android/internal/logging/legacy/NotificationPanelRevealedParser.java b/core/java/com/android/internal/logging/legacy/NotificationPanelRevealedParser.java index 0566f0b64769b..4d19564e21e3b 100644 --- a/core/java/com/android/internal/logging/legacy/NotificationPanelRevealedParser.java +++ b/core/java/com/android/internal/logging/legacy/NotificationPanelRevealedParser.java @@ -17,7 +17,7 @@ package com.android.internal.logging.legacy; import android.util.Log; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; /** @@ -47,7 +47,7 @@ public class NotificationPanelRevealedParser extends TagParser { } } - LogBuilder proto = logger.obtain(); + LogMaker proto = logger.obtain(); proto.setCategory(MetricsEvent.NOTIFICATION_PANEL); proto.setType(MetricsEvent.TYPE_OPEN); proto.setTimestamp(eventTimeMs); diff --git a/core/java/com/android/internal/logging/legacy/NotificationVisibilityParser.java b/core/java/com/android/internal/logging/legacy/NotificationVisibilityParser.java index 9185b91badc74..2d2cd909e2a72 100644 --- a/core/java/com/android/internal/logging/legacy/NotificationVisibilityParser.java +++ b/core/java/com/android/internal/logging/legacy/NotificationVisibilityParser.java @@ -17,7 +17,7 @@ package com.android.internal.logging.legacy; import android.util.Log; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; /** @@ -53,7 +53,7 @@ public class NotificationVisibilityParser extends TagParser { } if (mKey.parse(keyString)) { - LogBuilder proto = logger.obtain(); + LogMaker proto = logger.obtain(); proto.setCategory(MetricsEvent.NOTIFICATION_ITEM); proto.setType(visible ? MetricsEvent.TYPE_OPEN : MetricsEvent.TYPE_CLOSE); proto.setTimestamp(eventTimeMs); diff --git a/core/java/com/android/internal/logging/legacy/PowerScreenStateParser.java b/core/java/com/android/internal/logging/legacy/PowerScreenStateParser.java index 3bf0f9d438738..e9baf9baf8dac 100644 --- a/core/java/com/android/internal/logging/legacy/PowerScreenStateParser.java +++ b/core/java/com/android/internal/logging/legacy/PowerScreenStateParser.java @@ -17,7 +17,7 @@ package com.android.internal.logging.legacy; import android.util.Log; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; /** @@ -48,7 +48,7 @@ public class PowerScreenStateParser extends TagParser { boolean state = (((Integer) operands[0]).intValue()) == 1; int why = ((Integer) operands[1]).intValue(); - LogBuilder proto = logger.obtain(); + LogMaker proto = logger.obtain(); proto.setCategory(MetricsEvent.SCREEN); proto.setType(state ? MetricsEvent.TYPE_OPEN : MetricsEvent.TYPE_CLOSE); proto.setTimestamp(eventTimeMs); diff --git a/core/java/com/android/internal/logging/legacy/StatusBarStateParser.java b/core/java/com/android/internal/logging/legacy/StatusBarStateParser.java index 23abec47b636a..226253f3322fc 100644 --- a/core/java/com/android/internal/logging/legacy/StatusBarStateParser.java +++ b/core/java/com/android/internal/logging/legacy/StatusBarStateParser.java @@ -17,7 +17,7 @@ package com.android.internal.logging.legacy; import android.util.Log; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; /** @@ -56,7 +56,7 @@ public class StatusBarStateParser extends TagParser { view = MetricsEvent.BOUNCER; } - LogBuilder proto = logger.obtain(); + LogMaker proto = logger.obtain(); proto.setCategory(view); proto.setType(type); proto.setTimestamp(eventTimeMs); diff --git a/core/java/com/android/internal/logging/legacy/SysuiActionParser.java b/core/java/com/android/internal/logging/legacy/SysuiActionParser.java index 7f91f92fc2d27..1148ee5865bb4 100644 --- a/core/java/com/android/internal/logging/legacy/SysuiActionParser.java +++ b/core/java/com/android/internal/logging/legacy/SysuiActionParser.java @@ -17,7 +17,7 @@ package com.android.internal.logging.legacy; import android.util.Log; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; /** @@ -60,7 +60,7 @@ public class SysuiActionParser extends TagParser { } if (operands.length > 0) { int category = ((Integer) operands[0]).intValue(); - LogBuilder proto = logger.obtain(); + LogMaker proto = logger.obtain(); proto.setCategory(category); proto.setType(MetricsEvent.TYPE_ACTION); proto.setTimestamp(eventTimeMs); diff --git a/core/java/com/android/internal/logging/legacy/SysuiMultiActionParser.java b/core/java/com/android/internal/logging/legacy/SysuiMultiActionParser.java index f9b2f497a0dca..0c77b7a6ccd0f 100644 --- a/core/java/com/android/internal/logging/legacy/SysuiMultiActionParser.java +++ b/core/java/com/android/internal/logging/legacy/SysuiMultiActionParser.java @@ -17,8 +17,7 @@ package com.android.internal.logging.legacy; import android.util.Log; -import com.android.internal.logging.LogBuilder; -import com.android.internal.logging.nano.MetricsProto.MetricsEvent; +import android.metrics.LogMaker; /** * ...and one parser to rule them all. @@ -39,7 +38,7 @@ public class SysuiMultiActionParser extends TagParser { public void parseEvent(TronLogger logger, long eventTimeMs, Object[] operands) { final boolean debug = Util.debug(); try { - logger.addEvent(new LogBuilder(operands).setTimestamp(eventTimeMs)); + logger.addEvent(new LogMaker(operands).setTimestamp(eventTimeMs)); } catch (ClassCastException e) { if (debug) { Log.e(TAG, "unexpected operand type: ", e); diff --git a/core/java/com/android/internal/logging/legacy/SysuiViewVisibilityParser.java b/core/java/com/android/internal/logging/legacy/SysuiViewVisibilityParser.java index 5d5aec04116de..1223b8d216bf3 100644 --- a/core/java/com/android/internal/logging/legacy/SysuiViewVisibilityParser.java +++ b/core/java/com/android/internal/logging/legacy/SysuiViewVisibilityParser.java @@ -17,7 +17,7 @@ package com.android.internal.logging.legacy; import android.util.Log; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; /** @@ -41,7 +41,7 @@ public class SysuiViewVisibilityParser extends TagParser { int category = ((Integer) operands[0]).intValue(); boolean visibility = ((Integer) operands[1]).intValue() != 0; - LogBuilder proto = logger.obtain(); + LogMaker proto = logger.obtain(); proto.setCategory(category); proto.setType(visibility ? MetricsEvent.TYPE_OPEN : MetricsEvent.TYPE_CLOSE); proto.setTimestamp(eventTimeMs); diff --git a/core/java/com/android/internal/logging/legacy/TagParser.java b/core/java/com/android/internal/logging/legacy/TagParser.java index c62d084f68e3c..3bffdd522236e 100755 --- a/core/java/com/android/internal/logging/legacy/TagParser.java +++ b/core/java/com/android/internal/logging/legacy/TagParser.java @@ -17,8 +17,8 @@ package com.android.internal.logging.legacy; import android.util.Log; +import android.metrics.LogMaker; import com.android.internal.annotations.VisibleForTesting; -import com.android.internal.logging.LogBuilder; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; /** @@ -87,7 +87,7 @@ public abstract class TagParser { } } - public void filltimes(LogBuilder proto) { + public void filltimes(LogMaker proto) { if (mSinceCreationMillis != 0) { proto.addTaggedData(MetricsEvent.NOTIFICATION_SINCE_CREATE_MILLIS, mSinceCreationMillis); diff --git a/core/java/com/android/internal/logging/legacy/TronLogger.java b/core/java/com/android/internal/logging/legacy/TronLogger.java index dabe314d45653..ee9341ab21381 100644 --- a/core/java/com/android/internal/logging/legacy/TronLogger.java +++ b/core/java/com/android/internal/logging/legacy/TronLogger.java @@ -15,7 +15,7 @@ */ package com.android.internal.logging.legacy; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; /** * An entity that knows how to log events and counters. @@ -34,12 +34,12 @@ public interface TronLogger { void incrementLongHistogram(String counterName, long bucket); /** Obtain a SystemUiEvent proto, must release this with dispose() or addEvent(). */ - LogBuilder obtain(); + LogMaker obtain(); - void dispose(LogBuilder proto); + void dispose(LogMaker proto); /** Submit an event to be logged. Logger will dispose of proto. */ - void addEvent(LogBuilder proto); + void addEvent(LogMaker proto); /** Get a config flag. */ boolean getConfig(String configName); diff --git a/core/tests/coretests/src/com/android/internal/logging/LogBuilderTest.java b/core/tests/coretests/src/android/metrics/LogMakerTest.java similarity index 86% rename from core/tests/coretests/src/com/android/internal/logging/LogBuilderTest.java rename to core/tests/coretests/src/android/metrics/LogMakerTest.java index 1c19d88815cd6..0f75cb67795fa 100644 --- a/core/tests/coretests/src/com/android/internal/logging/LogBuilderTest.java +++ b/core/tests/coretests/src/android/metrics/LogMakerTest.java @@ -13,15 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.android.internal.logging; +package android.metrics; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import junit.framework.TestCase; -public class LogBuilderTest extends TestCase { +public class LogMakerTest extends TestCase { public void testSerialize() { - LogBuilder builder = new LogBuilder(0); + LogMaker builder = new LogMaker(0); builder.addTaggedData(1, "one"); builder.addTaggedData(2, "two"); Object[] out = builder.serialize(); @@ -41,7 +41,7 @@ public class LogBuilderTest extends TestCase { int bucket = 13; int value = 14; - LogBuilder builder = new LogBuilder(category); + LogMaker builder = new LogMaker(category); builder.setType(type); builder.setSubtype(subtype); builder.setTimestamp(timestamp); @@ -53,7 +53,7 @@ public class LogBuilderTest extends TestCase { builder.addTaggedData(2, "two"); Object[] out = builder.serialize(); - LogBuilder parsed = new LogBuilder(out); + LogMaker parsed = new LogMaker(out); assertEquals(category, parsed.getCategory()); assertEquals(type, parsed.getType()); @@ -68,7 +68,7 @@ public class LogBuilderTest extends TestCase { } public void testIntBucket() { - LogBuilder builder = new LogBuilder(0); + LogMaker builder = new LogMaker(0); builder.setCounterBucket(100); assertEquals(100, builder.getCounterBucket()); assertEquals(false, builder.isLongCounterBucket()); @@ -76,14 +76,14 @@ public class LogBuilderTest extends TestCase { public void testLongBucket() { long longBucket = Long.MAX_VALUE; - LogBuilder builder = new LogBuilder(0); + LogMaker builder = new LogMaker(0); builder.setCounterBucket(longBucket); assertEquals(longBucket, builder.getCounterBucket()); assertEquals(true, builder.isLongCounterBucket()); } public void testInvalidInputThrows() { - LogBuilder builder = new LogBuilder(0); + LogMaker builder = new LogMaker(0); boolean threw = false; try { builder.addTaggedData(0, new Object()); @@ -95,7 +95,7 @@ public class LogBuilderTest extends TestCase { } public void testValidInputTypes() { - LogBuilder builder = new LogBuilder(0); + LogMaker builder = new LogMaker(0); builder.addTaggedData(1, "onetwothree"); builder.addTaggedData(2, 123); builder.addTaggedData(3, 123L); @@ -108,20 +108,20 @@ public class LogBuilderTest extends TestCase { } public void testCategoryDefault() { - LogBuilder builder = new LogBuilder(10); + LogMaker builder = new LogMaker(10); Object[] out = builder.serialize(); assertEquals(MetricsEvent.RESERVED_FOR_LOGBUILDER_CATEGORY, out[0]); assertEquals(10, out[1]); } public void testGiantLogOmitted() { - LogBuilder badBuilder = new LogBuilder(0); + LogMaker badBuilder = new LogMaker(0); StringBuilder b = new StringBuilder(); for (int i = 0; i < 4000; i++) { b.append("test, " + i); } badBuilder.addTaggedData(100, b.toString()); - assertTrue(badBuilder.serialize().length < LogBuilder.MAX_SERIALIZED_SIZE); + assertTrue(badBuilder.serialize().length < LogMaker.MAX_SERIALIZED_SIZE); } } diff --git a/core/tests/coretests/src/com/android/internal/logging/legacy/LockscreenGestureParserTest.java b/core/tests/coretests/src/com/android/internal/logging/legacy/LockscreenGestureParserTest.java index 0bff85075fce3..c023b572493fa 100644 --- a/core/tests/coretests/src/com/android/internal/logging/legacy/LockscreenGestureParserTest.java +++ b/core/tests/coretests/src/com/android/internal/logging/legacy/LockscreenGestureParserTest.java @@ -19,7 +19,7 @@ import static org.mockito.Matchers.anyObject; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; public class LockscreenGestureParserTest extends ParserTest { @@ -79,7 +79,7 @@ public class LockscreenGestureParserTest extends ParserTest { verify(mLogger, times(1)).addEvent(mProtoCaptor.capture()); - LogBuilder proto = mProtoCaptor.getValue(); + LogMaker proto = mProtoCaptor.getValue(); assertEquals(t, proto.getTimestamp()); assertEquals(view, proto.getCategory()); assertEquals(MetricsEvent.TYPE_ACTION, proto.getType()); @@ -95,6 +95,6 @@ public class LockscreenGestureParserTest extends ParserTest { mParser.parseEvent(mLogger, t, objects); - verify(mLogger, times(1)).addEvent((LogBuilder) anyObject()); + verify(mLogger, times(1)).addEvent((LogMaker) anyObject()); } } diff --git a/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationActionClickedParserTest.java b/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationActionClickedParserTest.java index 2119c25d05c2f..f05205d8d1ee3 100644 --- a/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationActionClickedParserTest.java +++ b/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationActionClickedParserTest.java @@ -20,7 +20,7 @@ import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; public class NotificationActionClickedParserTest extends ParserTest { @@ -49,12 +49,12 @@ public class NotificationActionClickedParserTest extends ParserTest { validateGoodData(t, mTag, index, objects); } - private LogBuilder validateGoodData(int t, String tag, int index, Object[] objects) { + private LogMaker validateGoodData(int t, String tag, int index, Object[] objects) { mParser.parseEvent(mLogger, t, objects); verify(mLogger, times(1)).addEvent(mProtoCaptor.capture()); - LogBuilder proto = mProtoCaptor.getValue(); + LogMaker proto = mProtoCaptor.getValue(); assertEquals(t, proto.getTimestamp()); assertEquals(MetricsEvent.NOTIFICATION_ITEM_ACTION, proto.getCategory()); assertEquals(mKeyPackage, proto.getPackageName()); @@ -69,7 +69,7 @@ public class NotificationActionClickedParserTest extends ParserTest { mParser.parseEvent(mLogger, 0, objects); - verify(mLogger, never()).addEvent((LogBuilder) anyObject()); + verify(mLogger, never()).addEvent((LogMaker) anyObject()); } public void testWrongType() throws Throwable { @@ -79,7 +79,7 @@ public class NotificationActionClickedParserTest extends ParserTest { mParser.parseEvent(mLogger, 0, objects); - verify(mLogger, never()).addEvent((LogBuilder) anyObject()); + verify(mLogger, never()).addEvent((LogMaker) anyObject()); } public void testBadKey() throws Throwable { @@ -89,7 +89,7 @@ public class NotificationActionClickedParserTest extends ParserTest { mParser.parseEvent(mLogger, 0, objects); - verify(mLogger, never()).addEvent((LogBuilder) anyObject()); + verify(mLogger, never()).addEvent((LogMaker) anyObject()); } public void testMncTimestamps() throws Throwable { @@ -102,7 +102,7 @@ public class NotificationActionClickedParserTest extends ParserTest { objects[3] = mSinceUpdateMillis; objects[4] = mSinceVisibleMillis; - LogBuilder proto = validateGoodData(t, "", index, objects); + LogMaker proto = validateGoodData(t, "", index, objects); validateNotificationTimes(proto, mSinceCreationMillis, mSinceUpdateMillis, mSinceVisibleMillis); } diff --git a/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationAlertParserTest.java b/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationAlertParserTest.java index 1e117eee097b7..7771e84f3cbdc 100644 --- a/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationAlertParserTest.java +++ b/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationAlertParserTest.java @@ -21,12 +21,9 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; -import java.util.Collections; -import java.util.List; - import org.mockito.ArgumentCaptor; public class NotificationAlertParserTest extends ParserTest { @@ -126,7 +123,7 @@ public class NotificationAlertParserTest extends ParserTest { verify(mLogger, times(1)).addEvent(mProtoCaptor.capture()); - LogBuilder proto = mProtoCaptor.getValue(); + LogMaker proto = mProtoCaptor.getValue(); assertEquals(mTime, proto.getTimestamp()); assertEquals(MetricsEvent.NOTIFICATION_ALERT, proto.getCategory()); assertEquals(mKeyPackage, proto.getPackageName()); diff --git a/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationCanceledParserTest.java b/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationCanceledParserTest.java index de16919537002..77b2ed6924c59 100644 --- a/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationCanceledParserTest.java +++ b/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationCanceledParserTest.java @@ -21,11 +21,9 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; -import java.util.List; - public class NotificationCanceledParserTest extends ParserTest { public NotificationCanceledParserTest() { @@ -57,7 +55,7 @@ public class NotificationCanceledParserTest extends ParserTest { verify(mLogger, times(1)).addEvent(mProtoCaptor.capture()); - LogBuilder proto = mProtoCaptor.getValue(); + LogMaker proto = mProtoCaptor.getValue(); assertEquals(t, proto.getTimestamp()); assertEquals(MetricsEvent.NOTIFICATION_ITEM, proto.getCategory()); assertEquals(mKeyPackage, proto.getPackageName()); @@ -108,7 +106,7 @@ public class NotificationCanceledParserTest extends ParserTest { verify(mLogger, times(1)).addEvent(mProtoCaptor.capture()); - LogBuilder proto = mProtoCaptor.getValue(); + LogMaker proto = mProtoCaptor.getValue(); validateNotificationTimes(proto, life, freshness, exposure); } @@ -121,7 +119,7 @@ public class NotificationCanceledParserTest extends ParserTest { mParser.parseEvent(mLogger, 0, objects); if (intentional) { - verify(mLogger, times(1)).addEvent((LogBuilder) anyObject()); + verify(mLogger, times(1)).addEvent((LogMaker) anyObject()); } } @@ -164,7 +162,7 @@ public class NotificationCanceledParserTest extends ParserTest { mParser.parseEvent(mLogger, 0, objects); - verify(mLogger, never()).addEvent((LogBuilder) anyObject()); + verify(mLogger, never()).addEvent((LogMaker) anyObject()); } public void testWrongType() throws Throwable { @@ -174,7 +172,7 @@ public class NotificationCanceledParserTest extends ParserTest { mParser.parseEvent(mLogger, 0, objects); - verify(mLogger, never()).addEvent((LogBuilder) anyObject()); + verify(mLogger, never()).addEvent((LogMaker) anyObject()); } public void testBadKey() throws Throwable { @@ -184,7 +182,7 @@ public class NotificationCanceledParserTest extends ParserTest { mParser.parseEvent(mLogger, 0, objects); - verify(mLogger, never()).addEvent((LogBuilder) anyObject()); + verify(mLogger, never()).addEvent((LogMaker) anyObject()); } public void testIgnoreUnexpectedData() throws Throwable { diff --git a/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationClickedParserTest.java b/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationClickedParserTest.java index 2f61dd7593c0d..cc6513233fe26 100644 --- a/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationClickedParserTest.java +++ b/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationClickedParserTest.java @@ -21,7 +21,7 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; public class NotificationClickedParserTest extends ParserTest { @@ -46,12 +46,12 @@ public class NotificationClickedParserTest extends ParserTest { validateGoodData(t, mTag, objects); } - private LogBuilder validateGoodData(int t, String tag, Object[] objects) { + private LogMaker validateGoodData(int t, String tag, Object[] objects) { mParser.parseEvent(mLogger, t, objects); verify(mLogger, times(1)).addEvent(mProtoCaptor.capture()); - LogBuilder proto = mProtoCaptor.getValue(); + LogMaker proto = mProtoCaptor.getValue(); assertEquals(t, proto.getTimestamp()); assertEquals(MetricsEvent.NOTIFICATION_ITEM, proto.getCategory()); assertEquals(mKeyPackage, proto.getPackageName()); @@ -66,7 +66,7 @@ public class NotificationClickedParserTest extends ParserTest { mParser.parseEvent(mLogger, 0, objects); - verify(mLogger, never()).addEvent((LogBuilder) anyObject()); + verify(mLogger, never()).addEvent((LogMaker) anyObject()); } public void testWrongType() throws Throwable { @@ -75,7 +75,7 @@ public class NotificationClickedParserTest extends ParserTest { mParser.parseEvent(mLogger, 0, objects); - verify(mLogger, never()).addEvent((LogBuilder) anyObject()); + verify(mLogger, never()).addEvent((LogMaker) anyObject()); } public void testBadKey() throws Throwable { @@ -84,7 +84,7 @@ public class NotificationClickedParserTest extends ParserTest { mParser.parseEvent(mLogger, 0, objects); - verify(mLogger, never()).addEvent((LogBuilder) anyObject()); + verify(mLogger, never()).addEvent((LogMaker) anyObject()); } public void testMncTimestamps() throws Throwable { @@ -95,7 +95,7 @@ public class NotificationClickedParserTest extends ParserTest { objects[2] = mSinceUpdateMillis; objects[3] = mSinceVisibleMillis; - LogBuilder proto = validateGoodData(t, "", objects); + LogMaker proto = validateGoodData(t, "", objects); validateNotificationTimes(proto, mSinceCreationMillis, mSinceUpdateMillis, mSinceVisibleMillis); } diff --git a/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationExpansionParserTest.java b/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationExpansionParserTest.java index 86b4a4536244c..f337f914ba580 100644 --- a/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationExpansionParserTest.java +++ b/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationExpansionParserTest.java @@ -21,7 +21,7 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; public class NotificationExpansionParserTest extends ParserTest { @@ -54,12 +54,12 @@ public class NotificationExpansionParserTest extends ParserTest { validateGoodData(t, mTag, objects); } - private LogBuilder validateGoodData(int t, String tag, Object[] objects) { + private LogMaker validateGoodData(int t, String tag, Object[] objects) { mParser.parseEvent(mLogger, t, objects); verify(mLogger, times(1)).addEvent(mProtoCaptor.capture()); - LogBuilder proto = mProtoCaptor.getValue(); + LogMaker proto = mProtoCaptor.getValue(); assertEquals(t, proto.getTimestamp()); assertEquals(MetricsEvent.NOTIFICATION_ITEM, proto.getCategory()); assertEquals(mKeyPackage, proto.getPackageName()); @@ -79,7 +79,7 @@ public class NotificationExpansionParserTest extends ParserTest { mParser.parseEvent(mLogger, t, objects); - verify(mLogger, never()).addEvent((LogBuilder) anyObject()); + verify(mLogger, never()).addEvent((LogMaker) anyObject()); } public void testCollapsedByUser() throws Throwable { @@ -93,7 +93,7 @@ public class NotificationExpansionParserTest extends ParserTest { mParser.parseEvent(mLogger, t, objects); - verify(mLogger, never()).addEvent((LogBuilder) anyObject()); + verify(mLogger, never()).addEvent((LogMaker) anyObject()); } public void testAutoCollapsed() throws Throwable { @@ -107,7 +107,7 @@ public class NotificationExpansionParserTest extends ParserTest { mParser.parseEvent(mLogger, t, objects); - verify(mLogger, never()).addEvent((LogBuilder) anyObject()); + verify(mLogger, never()).addEvent((LogMaker) anyObject()); } public void testMissingData() throws Throwable { @@ -115,7 +115,7 @@ public class NotificationExpansionParserTest extends ParserTest { mParser.parseEvent(mLogger, 0, objects); - verify(mLogger, never()).addEvent((LogBuilder) anyObject()); + verify(mLogger, never()).addEvent((LogMaker) anyObject()); } public void testWrongType() throws Throwable { @@ -126,7 +126,7 @@ public class NotificationExpansionParserTest extends ParserTest { mParser.parseEvent(mLogger, 0, objects); - verify(mLogger, never()).addEvent((LogBuilder) anyObject()); + verify(mLogger, never()).addEvent((LogMaker) anyObject()); } public void testBadKey() throws Throwable { @@ -137,7 +137,7 @@ public class NotificationExpansionParserTest extends ParserTest { mParser.parseEvent(mLogger, 0, objects); - verify(mLogger, never()).addEvent((LogBuilder) anyObject()); + verify(mLogger, never()).addEvent((LogMaker) anyObject()); } public void testMncTimestamps() throws Throwable { @@ -152,7 +152,7 @@ public class NotificationExpansionParserTest extends ParserTest { objects[4] = mSinceUpdateMillis; objects[5] = mSinceVisibleMillis; - LogBuilder proto = validateGoodData(t, "", objects); + LogMaker proto = validateGoodData(t, "", objects); validateNotificationTimes(proto, mSinceCreationMillis, mSinceUpdateMillis, mSinceVisibleMillis); } diff --git a/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationPanelHiddenParserTest.java b/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationPanelHiddenParserTest.java index 3efc48fa828a2..ce6f1f4bd5316 100644 --- a/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationPanelHiddenParserTest.java +++ b/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationPanelHiddenParserTest.java @@ -19,7 +19,7 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; public class NotificationPanelHiddenParserTest extends ParserTest { @@ -48,7 +48,7 @@ public class NotificationPanelHiddenParserTest extends ParserTest { verify(mLogger, times(1)).addEvent(mProtoCaptor.capture()); - LogBuilder proto = mProtoCaptor.getValue(); + LogMaker proto = mProtoCaptor.getValue(); assertEquals(t, proto.getTimestamp()); assertEquals(MetricsEvent.NOTIFICATION_PANEL, proto.getCategory()); assertEquals(MetricsEvent.TYPE_CLOSE, proto.getType()); diff --git a/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationPanelRevealedParserTest.java b/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationPanelRevealedParserTest.java index 34dda983cb507..9e15812edb10d 100644 --- a/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationPanelRevealedParserTest.java +++ b/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationPanelRevealedParserTest.java @@ -20,7 +20,7 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; public class NotificationPanelRevealedParserTest extends ParserTest { @@ -37,7 +37,7 @@ public class NotificationPanelRevealedParserTest extends ParserTest { verify(mLogger, times(1)).addEvent(mProtoCaptor.capture()); - LogBuilder proto = mProtoCaptor.getValue(); + LogMaker proto = mProtoCaptor.getValue(); assertEquals(t, proto.getTimestamp()); assertEquals(MetricsEvent.NOTIFICATION_PANEL, proto.getCategory()); assertEquals(MetricsEvent.TYPE_OPEN, proto.getType()); @@ -57,7 +57,7 @@ public class NotificationPanelRevealedParserTest extends ParserTest { verify(mLogger, times(1)).addEvent(mProtoCaptor.capture()); - LogBuilder proto = mProtoCaptor.getValue(); + LogMaker proto = mProtoCaptor.getValue(); assertEquals(t, proto.getTimestamp()); assertEquals(MetricsEvent.NOTIFICATION_PANEL, proto.getCategory()); assertEquals(MetricsEvent.TYPE_OPEN, proto.getType()); @@ -69,7 +69,7 @@ public class NotificationPanelRevealedParserTest extends ParserTest { mParser.parseEvent(mLogger, 0, objects); - verify(mLogger, times(1)).addEvent((LogBuilder) anyObject()); + verify(mLogger, times(1)).addEvent((LogMaker) anyObject()); } public void testIgnoreUnexpectedData() throws Throwable { diff --git a/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationVisibilityParserTest.java b/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationVisibilityParserTest.java index cc5421c0b4229..7fef929e67657 100644 --- a/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationVisibilityParserTest.java +++ b/core/tests/coretests/src/com/android/internal/logging/legacy/NotificationVisibilityParserTest.java @@ -16,17 +16,13 @@ package com.android.internal.logging.legacy; import static junit.framework.Assert.assertTrue; -import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; -import org.mockito.ArgumentCaptor; - public class NotificationVisibilityParserTest extends ParserTest { private final int mCreationTime = 23124; private final int mUpdateTime = 3412; @@ -84,7 +80,7 @@ public class NotificationVisibilityParserTest extends ParserTest { verify(mLogger, times(1)).addEvent(mProtoCaptor.capture()); - LogBuilder proto = mProtoCaptor.getValue(); + LogMaker proto = mProtoCaptor.getValue(); assertEquals(mTime, proto.getTimestamp()); assertEquals(MetricsEvent.NOTIFICATION_ITEM, proto.getCategory()); assertEquals(mKeyPackage, proto.getPackageName()); diff --git a/core/tests/coretests/src/com/android/internal/logging/legacy/ParserTest.java b/core/tests/coretests/src/com/android/internal/logging/legacy/ParserTest.java index 2e5c6d2a40b0a..4adf62991d669 100644 --- a/core/tests/coretests/src/com/android/internal/logging/legacy/ParserTest.java +++ b/core/tests/coretests/src/com/android/internal/logging/legacy/ParserTest.java @@ -15,7 +15,7 @@ */ package com.android.internal.logging.legacy; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import static org.mockito.Matchers.any; @@ -39,8 +39,8 @@ public class ParserTest extends TestCase { protected TagParser mParser; - protected LogBuilder[] mProto; - protected ArgumentCaptor mProtoCaptor; + protected LogMaker[] mProto; + protected ArgumentCaptor mProtoCaptor; protected ArgumentCaptor mNameCaptor; protected ArgumentCaptor mCountCaptor; protected String mKey = "0|com.android.example.notificationshowcase|31338|null|10090"; @@ -54,9 +54,9 @@ public class ParserTest extends TestCase { public ParserTest() { - mProto = new LogBuilder[5]; + mProto = new LogMaker[5]; for (int i = 0; i < mProto.length; i++) { - mProto[i] = new LogBuilder(MetricsEvent.VIEW_UNKNOWN); + mProto[i] = new LogMaker(MetricsEvent.VIEW_UNKNOWN); } } @@ -66,19 +66,19 @@ public class ParserTest extends TestCase { MockitoAnnotations.initMocks(this); - mProtoCaptor = ArgumentCaptor.forClass(LogBuilder.class); + mProtoCaptor = ArgumentCaptor.forClass(LogMaker.class); mNameCaptor = ArgumentCaptor.forClass(String.class); mCountCaptor = ArgumentCaptor.forClass(Integer.class); - OngoingStubbing stub = when(mLogger.obtain()).thenReturn(mProto[0]); + OngoingStubbing stub = when(mLogger.obtain()).thenReturn(mProto[0]); for (int i = 1; i < mProto.length; i++) { stub.thenReturn(mProto[i]); } - doNothing().when(mLogger).addEvent(any(LogBuilder.class)); + doNothing().when(mLogger).addEvent(any(LogMaker.class)); doNothing().when(mLogger).incrementBy(anyString(), anyInt()); } - protected void validateNotificationTimes(LogBuilder proto, int life, int freshness, + protected void validateNotificationTimes(LogMaker proto, int life, int freshness, int exposure) { validateNotificationTimes(proto, life, freshness); if (exposure != 0) { @@ -89,7 +89,7 @@ public class ParserTest extends TestCase { } } - protected void validateNotificationTimes(LogBuilder proto, int life, int freshness) { + protected void validateNotificationTimes(LogMaker proto, int life, int freshness) { if (life != 0) { assertEquals(life, proto.getTaggedData(MetricsEvent.NOTIFICATION_SINCE_CREATE_MILLIS)); @@ -104,7 +104,7 @@ public class ParserTest extends TestCase { } } - protected void validateNotificationIdAndTag(LogBuilder proto, int id, String tag) { + protected void validateNotificationIdAndTag(LogMaker proto, int id, String tag) { assertEquals(tag, proto.getTaggedData(MetricsEvent.NOTIFICATION_TAG)); assertEquals(id, proto.getTaggedData(MetricsEvent.NOTIFICATION_ID)); } diff --git a/core/tests/coretests/src/com/android/internal/logging/legacy/PowerScreenStateParserTest.java b/core/tests/coretests/src/com/android/internal/logging/legacy/PowerScreenStateParserTest.java index be918cd91921f..b480e61e1ac13 100644 --- a/core/tests/coretests/src/com/android/internal/logging/legacy/PowerScreenStateParserTest.java +++ b/core/tests/coretests/src/com/android/internal/logging/legacy/PowerScreenStateParserTest.java @@ -19,7 +19,7 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; public class PowerScreenStateParserTest extends ParserTest { @@ -60,7 +60,7 @@ public class PowerScreenStateParserTest extends ParserTest { verify(mLogger, times(1)).addEvent(mProtoCaptor.capture()); - LogBuilder proto = mProtoCaptor.getValue(); + LogMaker proto = mProtoCaptor.getValue(); assertEquals(t, proto.getTimestamp()); assertEquals(type, proto.getType()); assertEquals(MetricsEvent.SCREEN, proto.getCategory()); diff --git a/core/tests/coretests/src/com/android/internal/logging/legacy/StatusBarStateParserTest.java b/core/tests/coretests/src/com/android/internal/logging/legacy/StatusBarStateParserTest.java index 906ec0403d866..def9628e7fbd9 100644 --- a/core/tests/coretests/src/com/android/internal/logging/legacy/StatusBarStateParserTest.java +++ b/core/tests/coretests/src/com/android/internal/logging/legacy/StatusBarStateParserTest.java @@ -19,7 +19,7 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; public class StatusBarStateParserTest extends ParserTest { @@ -64,7 +64,7 @@ public class StatusBarStateParserTest extends ParserTest { verify(mLogger, times(1)).addEvent(mProtoCaptor.capture()); - LogBuilder proto = mProtoCaptor.getValue(); + LogMaker proto = mProtoCaptor.getValue(); assertEquals(t, proto.getTimestamp()); assertEquals(view, proto.getCategory()); assertEquals(type, proto.getType()); diff --git a/core/tests/coretests/src/com/android/internal/logging/legacy/SysuiActionParserTest.java b/core/tests/coretests/src/com/android/internal/logging/legacy/SysuiActionParserTest.java index 111909f67912b..2ad76c13e76bf 100644 --- a/core/tests/coretests/src/com/android/internal/logging/legacy/SysuiActionParserTest.java +++ b/core/tests/coretests/src/com/android/internal/logging/legacy/SysuiActionParserTest.java @@ -23,7 +23,7 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; public class SysuiActionParserTest extends ParserTest { @@ -47,7 +47,7 @@ public class SysuiActionParserTest extends ParserTest { verify(mLogger, times(1)).addEvent(mProtoCaptor.capture()); verify(mLogger, never()).incrementBy(anyString(), anyInt()); - LogBuilder proto = mProtoCaptor.getValue(); + LogMaker proto = mProtoCaptor.getValue(); assertEquals(t, proto.getTimestamp()); assertEquals(view, proto.getCategory()); assertEquals(MetricsEvent.TYPE_ACTION, proto.getType()); @@ -66,7 +66,7 @@ public class SysuiActionParserTest extends ParserTest { verify(mLogger, times(1)).addEvent(mProtoCaptor.capture()); verify(mLogger, never()).incrementBy(anyString(), anyInt()); - LogBuilder proto = mProtoCaptor.getValue(); + LogMaker proto = mProtoCaptor.getValue(); assertEquals(t, proto.getTimestamp()); assertEquals(view, proto.getCategory()); assertEquals(packageName, proto.getPackageName()); @@ -117,7 +117,7 @@ public class SysuiActionParserTest extends ParserTest { verify(mLogger, times(1)).addEvent(mProtoCaptor.capture()); verify(mLogger, never()).incrementBy(anyString(), anyInt()); - LogBuilder proto = mProtoCaptor.getValue(); + LogMaker proto = mProtoCaptor.getValue(); assertEquals(t, proto.getTimestamp()); assertEquals(view, proto.getCategory()); assertEquals(expectedValue, proto.getSubtype()); @@ -130,7 +130,7 @@ public class SysuiActionParserTest extends ParserTest { mParser.parseEvent(mLogger, 0, objects); - verify(mLogger, never()).addEvent((LogBuilder) anyObject()); + verify(mLogger, never()).addEvent((LogMaker) anyObject()); verify(mLogger, never()).incrementBy(anyString(), anyInt()); } @@ -141,7 +141,7 @@ public class SysuiActionParserTest extends ParserTest { mParser.parseEvent(mLogger, 0, objects); - verify(mLogger, never()).addEvent((LogBuilder) anyObject()); + verify(mLogger, never()).addEvent((LogMaker) anyObject()); verify(mLogger, never()).incrementBy(anyString(), anyInt()); } @@ -151,7 +151,7 @@ public class SysuiActionParserTest extends ParserTest { mParser.parseEvent(mLogger, 0, objects); - verify(mLogger, never()).addEvent((LogBuilder) anyObject()); + verify(mLogger, never()).addEvent((LogMaker) anyObject()); verify(mLogger, never()).incrementBy(anyString(), anyInt()); } diff --git a/core/tests/coretests/src/com/android/internal/logging/legacy/SysuiMultiActionParserTest.java b/core/tests/coretests/src/com/android/internal/logging/legacy/SysuiMultiActionParserTest.java index 7853f775c2002..e7a05d88f4302 100644 --- a/core/tests/coretests/src/com/android/internal/logging/legacy/SysuiMultiActionParserTest.java +++ b/core/tests/coretests/src/com/android/internal/logging/legacy/SysuiMultiActionParserTest.java @@ -15,16 +15,11 @@ */ package com.android.internal.logging.legacy; -import static org.mockito.Matchers.anyInt; -import static org.mockito.Matchers.anyObject; -import static org.mockito.Matchers.anyString; -import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import com.android.internal.logging.LogBuilder; -import com.android.internal.logging.nano.MetricsProto.MetricsEvent; +import android.metrics.LogMaker; public class SysuiMultiActionParserTest extends ParserTest { @@ -41,7 +36,7 @@ public class SysuiMultiActionParserTest extends ParserTest { String counterName = "sheep"; int bucket = 13; int value = 14; - LogBuilder builder = new LogBuilder(category); + LogMaker builder = new LogMaker(category); builder.setType(type); builder.setSubtype(subtype); builder.setPackageName(packageName); @@ -57,7 +52,7 @@ public class SysuiMultiActionParserTest extends ParserTest { verify(mLogger, times(1)).addEvent(mProtoCaptor.capture()); - LogBuilder proto = mProtoCaptor.getValue(); + LogMaker proto = mProtoCaptor.getValue(); assertEquals(category, proto.getCategory()); assertEquals(type, proto.getType()); assertEquals(subtype, proto.getSubtype()); diff --git a/core/tests/coretests/src/com/android/internal/logging/legacy/SysuiViewVisibilityParserTest.java b/core/tests/coretests/src/com/android/internal/logging/legacy/SysuiViewVisibilityParserTest.java index 1291508663ccc..64d69a4999018 100644 --- a/core/tests/coretests/src/com/android/internal/logging/legacy/SysuiViewVisibilityParserTest.java +++ b/core/tests/coretests/src/com/android/internal/logging/legacy/SysuiViewVisibilityParserTest.java @@ -23,7 +23,7 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; public class SysuiViewVisibilityParserTest extends ParserTest { @@ -47,7 +47,7 @@ public class SysuiViewVisibilityParserTest extends ParserTest { verify(mLogger, times(1)).addEvent(mProtoCaptor.capture()); - LogBuilder proto = mProtoCaptor.getValue(); + LogMaker proto = mProtoCaptor.getValue(); assertEquals(t, proto.getTimestamp()); assertEquals(view, proto.getCategory()); assertEquals(MetricsEvent.TYPE_OPEN, proto.getType()); @@ -64,7 +64,7 @@ public class SysuiViewVisibilityParserTest extends ParserTest { verify(mLogger, times(1)).addEvent(mProtoCaptor.capture()); - LogBuilder proto = mProtoCaptor.getValue(); + LogMaker proto = mProtoCaptor.getValue(); assertEquals(MetricsEvent.TYPE_CLOSE, proto.getType()); } @@ -73,7 +73,7 @@ public class SysuiViewVisibilityParserTest extends ParserTest { mParser.parseEvent(mLogger, 0, objects); - verify(mLogger, never()).addEvent((LogBuilder) anyObject()); + verify(mLogger, never()).addEvent((LogMaker) anyObject()); verify(mLogger, never()).incrementBy(anyString(), anyInt()); } @@ -84,7 +84,7 @@ public class SysuiViewVisibilityParserTest extends ParserTest { mParser.parseEvent(mLogger, 0, objects); - verify(mLogger, never()).addEvent((LogBuilder) anyObject()); + verify(mLogger, never()).addEvent((LogMaker) anyObject()); verify(mLogger, never()).incrementBy(anyString(), anyInt()); } @@ -95,7 +95,7 @@ public class SysuiViewVisibilityParserTest extends ParserTest { mParser.parseEvent(mLogger, 0, objects); - verify(mLogger, never()).addEvent((LogBuilder) anyObject()); + verify(mLogger, never()).addEvent((LogMaker) anyObject()); verify(mLogger, never()).incrementBy(anyString(), anyInt()); } @@ -105,7 +105,7 @@ public class SysuiViewVisibilityParserTest extends ParserTest { mParser.parseEvent(mLogger, 0, objects); - verify(mLogger, never()).addEvent((LogBuilder) anyObject()); + verify(mLogger, never()).addEvent((LogMaker) anyObject()); verify(mLogger, never()).incrementBy(anyString(), anyInt()); } diff --git a/services/core/java/com/android/server/am/ActivityMetricsLogger.java b/services/core/java/com/android/server/am/ActivityMetricsLogger.java index e46d204577063..65b8554ac0c18 100644 --- a/services/core/java/com/android/server/am/ActivityMetricsLogger.java +++ b/services/core/java/com/android/server/am/ActivityMetricsLogger.java @@ -3,9 +3,7 @@ package com.android.server.am; import static android.app.ActivityManager.StackId.DOCKED_STACK_ID; import static android.app.ActivityManager.StackId.FREEFORM_WORKSPACE_STACK_ID; import static android.app.ActivityManager.StackId.FULLSCREEN_WORKSPACE_STACK_ID; -import static android.app.ActivityManager.StackId.HOME_STACK_ID; import static android.app.ActivityManager.StackId.PINNED_STACK_ID; -import static android.app.ActivityManager.StackId.RECENTS_STACK_ID; import static com.android.server.am.ActivityManagerDebugConfig.TAG_AM; import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NAME; @@ -17,7 +15,7 @@ import android.content.Context; import android.os.SystemClock; import android.util.Slog; -import com.android.internal.logging.LogBuilder; +import android.metrics.LogMaker; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; @@ -172,7 +170,7 @@ class ActivityMetricsLogger { MetricsLogger.action(mContext, MetricsEvent.APP_TRANSITION_DEVICE_UPTIME_SECONDS, (int) (SystemClock.uptimeMillis() / 1000)); - LogBuilder builder = new LogBuilder(MetricsEvent.APP_TRANSITION); + LogMaker builder = new LogMaker(MetricsEvent.APP_TRANSITION); builder.addTaggedData(MetricsEvent.APP_TRANSITION_COMPONENT_NAME, componentName); builder.addTaggedData(MetricsEvent.APP_TRANSITION_PROCESS_RUNNING, processRunning ? 1 : 0); builder.addTaggedData(MetricsEvent.APP_TRANSITION_DEVICE_UPTIME_SECONDS,