diff options
3 files changed, 21 insertions, 3 deletions
diff --git a/core/java/com/android/internal/logging/UiEventLogger.java b/core/java/com/android/internal/logging/UiEventLogger.java index 2f4a14fad2ee..5378b03fe1c5 100644 --- a/core/java/com/android/internal/logging/UiEventLogger.java +++ b/core/java/com/android/internal/logging/UiEventLogger.java @@ -58,6 +58,14 @@ public interface UiEventLogger { void log(@NonNull UiEventEnum event); /** + * Log a simple event with an instance id, without package information. + * Does nothing if event.getId() <= 0. + * @param event an enum implementing UiEventEnum interface. + * @param instance An identifier obtained from an InstanceIdSequence. If null, reduces to log(). + */ + void log(@NonNull UiEventEnum event, @Nullable InstanceId instance); + + /** * Log an event with package information. Does nothing if event.getId() <= 0. * Give both uid and packageName if both are known, but one may be omitted if unknown. * @param event an enum implementing UiEventEnum interface. diff --git a/core/java/com/android/internal/logging/UiEventLoggerImpl.java b/core/java/com/android/internal/logging/UiEventLoggerImpl.java index c0f44a5eb39b..983e0fe6144e 100644 --- a/core/java/com/android/internal/logging/UiEventLoggerImpl.java +++ b/core/java/com/android/internal/logging/UiEventLoggerImpl.java @@ -42,16 +42,21 @@ public class UiEventLoggerImpl implements UiEventLogger { } @Override + public void log(UiEventEnum event, InstanceId instanceId) { + logWithInstanceId(event, 0, null, instanceId); + } + + @Override public void logWithInstanceId(UiEventEnum event, int uid, String packageName, InstanceId instance) { final int eventID = event.getId(); - if ((eventID > 0) && (instance != null)) { + if ((eventID > 0) && (instance != null)) { FrameworkStatsLog.write(FrameworkStatsLog.UI_EVENT_REPORTED, /* event_id = 1 */ eventID, /* uid = 2 */ uid, /* package_name = 3 */ packageName, /* instance_id = 4 */ instance.getId()); - } else { + } else if (eventID > 0) { log(event, uid, packageName); } } @@ -78,7 +83,7 @@ public class UiEventLoggerImpl implements UiEventLogger { /* package_name = 2 */ packageName, /* instance_id = 3 */ instance.getId(), /* position_picked = 4 */ position); - } else { + } else if ((eventID > 0)) { logWithPosition(event, uid, packageName, position); } } diff --git a/core/java/com/android/internal/logging/testing/UiEventLoggerFake.java b/core/java/com/android/internal/logging/testing/UiEventLoggerFake.java index 2d09434807a6..e303890c245a 100644 --- a/core/java/com/android/internal/logging/testing/UiEventLoggerFake.java +++ b/core/java/com/android/internal/logging/testing/UiEventLoggerFake.java @@ -88,6 +88,11 @@ public class UiEventLoggerFake implements UiEventLogger { } @Override + public void log(UiEventEnum event, InstanceId instance) { + logWithInstanceId(event, 0, null, instance); + } + + @Override public void log(UiEventEnum event, int uid, String packageName) { final int eventId = event.getId(); if (eventId > 0) { |