Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a8d5ef07 authored by Will Brockman's avatar Will Brockman Committed by Automerger Merge Worker
Browse files

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

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

Change-Id: I58986b9df897c1c5331e8b3179b0c72bbc33263a
parents f39bcdd1 c66aeed2
Loading
Loading
Loading
Loading
+24 −0
Original line number Original line Diff line number Diff line
@@ -60,4 +60,28 @@ public interface UiEventLogger {
     */
     */
    void logWithInstanceId(@NonNull UiEventEnum event, int uid, @Nullable String packageName,
    void logWithInstanceId(@NonNull UiEventEnum event, int uid, @Nullable String packageName,
            @Nullable InstanceId instance);
            @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);
}
}
+27 −0
Original line number Original line Diff line number Diff line
@@ -48,4 +48,31 @@ public class UiEventLoggerImpl implements UiEventLogger {
            log(event, uid, packageName);
            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);
        }
    }
}
}
+29 −1
Original line number Original line Diff line number Diff line
@@ -35,13 +35,15 @@ public class UiEventLoggerFake implements UiEventLogger {
        public final int eventId;
        public final int eventId;
        public final int uid;
        public final int uid;
        public final String packageName;
        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) {
        FakeUiEvent(int eventId, int uid, String packageName) {
            this.eventId = eventId;
            this.eventId = eventId;
            this.uid = uid;
            this.uid = uid;
            this.packageName = packageName;
            this.packageName = packageName;
            this.instanceId = null;
            this.instanceId = null;
            this.position = 0;
        }
        }


        FakeUiEvent(int eventId, int uid, String packageName, InstanceId instanceId) {
        FakeUiEvent(int eventId, int uid, String packageName, InstanceId instanceId) {
@@ -49,6 +51,15 @@ public class UiEventLoggerFake implements UiEventLogger {
            this.uid = uid;
            this.uid = uid;
            this.packageName = packageName;
            this.packageName = packageName;
            this.instanceId = instanceId;
            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));
            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));
        }
    }
}
}