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) { |