Merge "Add RankingSelected to UiEventLogger." into rvc-dev am: c66aeed213 am: b97ec7aa49

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11692386

Change-Id: I56a2254ce275dbe40db97f2869cf427b07393ef3
This commit is contained in:
Will Brockman
2020-06-03 17:59:46 +00:00
committed by Automerger Merge Worker
3 changed files with 80 additions and 1 deletions

View File

@@ -60,4 +60,28 @@ public interface UiEventLogger {
*/
void logWithInstanceId(@NonNull UiEventEnum event, int uid, @Nullable String packageName,
@Nullable InstanceId instance);
/**
* Log an event with ranked-choice information along with package.
* Does nothing if event.getId() <= 0.
* @param event an enum implementing UiEventEnum interface.
* @param uid the uid of the relevant app, if known (0 otherwise).
* @param packageName the package name of the relevant app, if known (null otherwise).
* @param position the position picked.
*/
void logWithPosition(@NonNull UiEventEnum event, int uid, @Nullable String packageName,
int position);
/**
* Log an event with ranked-choice information along with package and instance ID.
* Does nothing if event.getId() <= 0.
* @param event an enum implementing UiEventEnum interface.
* @param uid the uid of the relevant app, if known (0 otherwise).
* @param packageName the package name of the relevant app, if known (null otherwise).
* @param instance An identifier obtained from an InstanceIdSequence. If null, reduces to
* logWithPosition().
* @param position the position picked.
*/
void logWithInstanceIdAndPosition(@NonNull UiEventEnum event, int uid,
@Nullable String packageName, @Nullable InstanceId instance, int position);
}

View File

@@ -48,4 +48,31 @@ public class UiEventLoggerImpl implements UiEventLogger {
log(event, uid, packageName);
}
}
@Override
public void logWithPosition(UiEventEnum event, int uid, String packageName, int position) {
final int eventID = event.getId();
if (eventID > 0) {
FrameworkStatsLog.write(FrameworkStatsLog.RANKING_SELECTED,
/* event_id = 1 */ eventID,
/* package_name = 2 */ packageName,
/* instance_id = 3 */ 0,
/* position_picked = 4 */ position);
}
}
@Override
public void logWithInstanceIdAndPosition(UiEventEnum event, int uid, String packageName,
InstanceId instance, int position) {
final int eventID = event.getId();
if ((eventID > 0) && (instance != null)) {
FrameworkStatsLog.write(FrameworkStatsLog.RANKING_SELECTED,
/* event_id = 1 */ eventID,
/* package_name = 2 */ packageName,
/* instance_id = 3 */ instance.getId(),
/* position_picked = 4 */ position);
} else {
logWithPosition(event, uid, packageName, position);
}
}
}

View File

@@ -35,13 +35,15 @@ public class UiEventLoggerFake implements UiEventLogger {
public final int eventId;
public final int uid;
public final String packageName;
public final InstanceId instanceId; // Used only for WithInstanceId variant
public final InstanceId instanceId; // Used only for WithInstanceId variants
public final int position; // Used only for Position variants
FakeUiEvent(int eventId, int uid, String packageName) {
this.eventId = eventId;
this.uid = uid;
this.packageName = packageName;
this.instanceId = null;
this.position = 0;
}
FakeUiEvent(int eventId, int uid, String packageName, InstanceId instanceId) {
@@ -49,6 +51,15 @@ public class UiEventLoggerFake implements UiEventLogger {
this.uid = uid;
this.packageName = packageName;
this.instanceId = instanceId;
this.position = 0;
}
FakeUiEvent(int eventId, int uid, String packageName, InstanceId instanceId, int position) {
this.eventId = eventId;
this.uid = uid;
this.packageName = packageName;
this.instanceId = instanceId;
this.position = position;
}
}
@@ -92,4 +103,21 @@ public class UiEventLoggerFake implements UiEventLogger {
mLogs.add(new FakeUiEvent(eventId, uid, packageName, instance));
}
}
@Override
public void logWithPosition(UiEventEnum event, int uid, String packageName, int position) {
final int eventId = event.getId();
if (eventId > 0) {
mLogs.add(new FakeUiEvent(eventId, uid, packageName, null, position));
}
}
@Override
public void logWithInstanceIdAndPosition(UiEventEnum event, int uid, String packageName,
InstanceId instance, int position) {
final int eventId = event.getId();
if (eventId > 0) {
mLogs.add(new FakeUiEvent(eventId, uid, packageName, instance, position));
}
}
}