Merge "Move MetricsReader to SystemApi"
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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<Object> 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");
|
||||
@@ -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<LogBuilder> mEventQueue;
|
||||
private Queue<LogMaker> 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();
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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<LogBuilder> mQueue;
|
||||
private final Queue<LogMaker> mQueue;
|
||||
private HashMap<String, Boolean> mConfig;
|
||||
|
||||
public LegacyConversionLogger() {
|
||||
mQueue = new LinkedList<>();
|
||||
}
|
||||
|
||||
public Queue<LogBuilder> getEvents() {
|
||||
public Queue<LogMaker> 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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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<LogBuilder> mProtoCaptor;
|
||||
protected LogMaker[] mProto;
|
||||
protected ArgumentCaptor<LogMaker> mProtoCaptor;
|
||||
protected ArgumentCaptor<String> mNameCaptor;
|
||||
protected ArgumentCaptor<Integer> 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<LogBuilder> stub = when(mLogger.obtain()).thenReturn(mProto[0]);
|
||||
OngoingStubbing<LogMaker> 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));
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user