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

Commit 369172f6 authored by Yuri Lin's avatar Yuri Lin
Browse files

Add UiEvents for cancellation reasons previously not covered

Bug: 260852245
Test: statsd_testdrive
Change-Id: Ie976d9f826e7d53089fe65ba0735b40a79587f6f
parent 90b5ce26
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -267,6 +267,8 @@ public abstract class NotificationListenerService extends Service {
     * will be restored via NotificationListeners#notifyPostedLocked()
     */
    public static final int REASON_LOCKDOWN = 23;
    // If adding a new notification cancellation reason, you must also add handling for it in
    // NotificationCancelledEvent.fromCancelReason.

    /**
     * @hide
+8 −3
Original line number Diff line number Diff line
@@ -18,8 +18,8 @@ package com.android.server.notification;

import static android.service.notification.NotificationListenerService.REASON_ASSISTANT_CANCEL;
import static android.service.notification.NotificationListenerService.REASON_CANCEL;
import static android.service.notification.NotificationListenerService.REASON_CLEAR_DATA;
import static android.service.notification.NotificationListenerService.REASON_CLICK;
import static android.service.notification.NotificationListenerService.REASON_TIMEOUT;

import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -172,7 +172,12 @@ public interface NotificationRecordLogger {
        NOTIFICATION_CANCEL_SNOOZED(181),
        @UiEvent(doc = "Notification was canceled due to timeout")
        NOTIFICATION_CANCEL_TIMEOUT(182),
        // Values 183-189 reserved for future system dismissal reasons
        @UiEvent(doc = "Notification was canceled due to the backing channel being deleted")
        NOTIFICATION_CANCEL_CHANNEL_REMOVED(1261),
        @UiEvent(doc = "Notification was canceled due to the app's storage being cleared")
        NOTIFICATION_CANCEL_CLEAR_DATA(1262),
        // Values above this line must remain in the same order as the corresponding
        // NotificationCancelReason enum values.
        @UiEvent(doc = "Notification was canceled due to user dismissal of a peeking notification.")
        NOTIFICATION_CANCEL_USER_PEEK(190),
        @UiEvent(doc = "Notification was canceled due to user dismissal from the always-on display")
@@ -208,7 +213,7 @@ public interface NotificationRecordLogger {
            // Most cancel reasons do not have a meaningful surface. Reason codes map directly
            // to NotificationCancelledEvent codes.
            if (surface == NotificationStats.DISMISSAL_OTHER) {
                if ((REASON_CLICK <= reason) && (reason <= REASON_TIMEOUT)) {
                if ((REASON_CLICK <= reason) && (reason <= REASON_CLEAR_DATA)) {
                    return NotificationCancelledEvent.values()[reason];
                }
                if (reason == REASON_ASSISTANT_CANCEL) {