Merge "Add notification atoms for statsd."

This commit is contained in:
TreeHugger Robot
2020-01-16 22:11:27 +00:00
committed by Android (Google) Code Review
2 changed files with 153 additions and 0 deletions

View File

@@ -53,6 +53,7 @@ import "frameworks/base/core/proto/android/stats/mediametrics/mediametrics.proto
import "frameworks/base/core/proto/android/stats/mediaprovider/mediaprovider_enums.proto";
import "frameworks/base/core/proto/android/stats/storage/storage_enums.proto";
import "frameworks/base/core/proto/android/stats/style/style_enums.proto";
import "frameworks/base/core/proto/android/stats/sysui/notification_enums.proto";
import "frameworks/base/core/proto/android/telecomm/enums.proto";
import "frameworks/base/core/proto/android/telephony/enums.proto";
import "frameworks/base/core/proto/android/view/enums.proto";
@@ -337,6 +338,9 @@ message Atom {
BootTimeEventUtcTime boot_time_event_utc_time_reported = 241;
BootTimeEventErrorCode boot_time_event_error_code_reported = 242;
UserspaceRebootReported userspace_reboot_reported = 243;
NotificationReported notification_reported = 244;
NotificationPanelReported notification_panel_reported = 245;
NotificationChannelModified notification_panel_modified = 246;
}
// Pulled events will start at field 10000.
@@ -3287,6 +3291,10 @@ message GenericAtom {
* this button" or "this dialog was displayed".
* Keep the UI event stream clean: don't use for system or background events.
* Log using the UiEventLogger wrapper - don't write with the StatsLog API directly.
*
* Logged from:
* frameworks/base/services/core/java/com/android/server/
* frameworks/base/packages/SystemUI/src/com/android/systemui/
*/
message UiEventReported {
// The event_id.
@@ -3297,6 +3305,122 @@ message UiEventReported {
optional string package_name = 3;
}
/**
* Reports a notification was created or updated.
*
* Logged from:
* frameworks/base/services/core/java/com/android/server/notification/
*/
message NotificationReported {
// The event_id (as for UiEventReported).
optional int32 event_id = 1;
// The notifying app's uid and package.
optional int32 uid = 2 [(is_uid) = true];
optional string package_name = 3;
// A small system-assigned identifier for the notification.
// Locally probably-unique, but expect collisions across users and/or days.
optional int32 instance_id = 4;
// The app-assigned notification ID and tag
optional int32 notification_id = 5;
optional string notification_tag = 6;
optional string channel_id = 7; // App-assigned channel ID
// Grouping information
optional string group_id = 8; // Group the notification currently belongs to
optional int32 group_instance_id = 9; // Instance_id of the group-summary notification
optional bool is_group_summary = 10; // Tags the group-summary notification
// Attributes
optional string category = 11; // App-assigned notification category (API-defined strings)
optional int32 style = 12; // App-assigned notification style
optional int32 num_people = 13; // Number of Person records attached to the notification
// Ordering, importance and interruptiveness
optional int32 position = 14; // Position in NotificationManager's list
optional android.stats.sysui.NotificationImportance importance = 15;
optional int32 alerting = 16; // Bitfield, 1=buzz 2=beep 4=blink
enum NotificationImportanceExplanation {
IMPORTANCE_EXPLANATION_UNKNOWN = 0;
IMPORTANCE_EXPLANATION_APP = 1; // App-specified channel importance.
IMPORTANCE_EXPLANATION_USER = 2; // User-specified channel importance.
IMPORTANCE_EXPLANATION_ASST = 3; // Notification Assistant override.
IMPORTANCE_EXPLANATION_SYSTEM = 4; // System override.
// Like _APP, but based on pre-channels priority signal.
IMPORTANCE_EXPLANATION_APP_PRE_CHANNELS = 5;
}
optional NotificationImportanceExplanation importance_source = 17;
optional android.stats.sysui.NotificationImportance importance_initial = 18;
optional NotificationImportanceExplanation importance_initial_source = 19;
optional android.stats.sysui.NotificationImportance importance_asst = 20;
optional int32 assistant_hash = 21;
optional float assistant_ranking_score = 22;
}
message Notification {
// The notifying app's uid and package.
optional int32 uid = 1 [(is_uid) = true];
optional string package_name = 2;
// A small system-assigned identifier for the notification.
optional int32 instance_id = 3;
// Grouping information.
optional int32 group_instance_id = 4;
optional bool is_group_summary = 5;
// The section of the shade that the notification is in.
// See NotificationSectionsManager.PriorityBucket.
enum NotificationSection {
SECTION_UNKNOWN = 0;
SECTION_PEOPLE = 1;
SECTION_ALERTING = 2;
SECTION_SILENT = 3;
}
optional NotificationSection section = 6;
}
message NotificationList {
repeated Notification notifications = 1; // An ordered sequence of notifications.
}
/**
* Reports a notification panel was displayed, e.g. from the lockscreen or status bar.
*
* Logged from:
* frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/notification/
*/
message NotificationPanelReported {
// The event_id (as for UiEventReported).
optional int32 event_id = 1;
optional int32 num_notifications = 2;
// The notifications in the panel, in the order that they appear there.
optional NotificationList notifications = 3 [(log_mode) = MODE_BYTES];
}
/**
* Reports a notification channel, or channel group, was created, updated, or deleted.
*
* Logged from:
* frameworks/base/services/core/java/com/android/server/notification/
*/
message NotificationChannelModified {
// The event_id (as for UiEventReported).
optional int32 event_id = 1;
// The notifying app's uid and package.
optional int32 uid = 2 [(is_uid) = true];
optional string package_name = 3;
// App-assigned notification channel ID or channel-group ID
optional string channel_id = 4;
// Previous importance setting, if applicable
optional android.stats.sysui.NotificationImportance old_importance = 5;
// New importance setting
optional android.stats.sysui.NotificationImportance importance = 6;
}
/**
* Logs when a biometric acquire event occurs.
*

View File

@@ -0,0 +1,29 @@
/*
* Copyright (C) 2020 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
syntax = "proto2";
package android.stats.sysui;
// Enum used in NotificationReported and NotificationChannelModified atoms
enum NotificationImportance { // Constants from NotificationManager.java
IMPORTANCE_UNSPECIFIED = -1000; // Should not occur for real notifications.
IMPORTANCE_NONE = 0; // No importance: does not show in the shade.
IMPORTANCE_MIN = 1; // Minimum to show in the shade.
IMPORTANCE_LOW = 2; // Shows in shade, maybe status bar, no buzz/beep.
IMPORTANCE_DEFAULT = 3; // Shows everywhere, makes noise, no heads-up.
IMPORTANCE_HIGH = 4; // Shows everywhere, makes noise, heads-up, may full-screen.
}