| /* |
| * Copyright (C) 2023 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.os.statsd.sysui; |
| |
| import "frameworks/proto_logging/stats/atom_field_options.proto"; |
| import "frameworks/proto_logging/stats/enums/app/media_output_enum.proto"; |
| import "frameworks/proto_logging/stats/enums/hardware/sensor/assist/enums.proto"; |
| import "frameworks/proto_logging/stats/enums/stats/launcher/launcher.proto"; |
| |
| option java_package = "com.android.os.sysui"; |
| option java_multiple_files = true; |
| |
| /** |
| * Logs keyguard state. The keyguard is the lock screen. |
| * |
| * Logged from: |
| * frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java |
| */ |
| message KeyguardStateChanged { |
| enum State { |
| UNKNOWN = 0; |
| // The keyguard is hidden when the phone is unlocked. |
| HIDDEN = 1; |
| // The keyguard is shown when the phone is locked (screen turns off). |
| SHOWN= 2; |
| // The keyguard is occluded when something is overlaying the keyguard. |
| // Eg. Opening the camera while on the lock screen. |
| OCCLUDED = 3; |
| } |
| optional State state = 1; |
| } |
| |
| /** |
| * Logs keyguard bouncer state. The bouncer is a part of the keyguard, and |
| * prompts the user to enter a password (pattern, pin, etc). |
| * |
| * Logged from: |
| * frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java |
| */ |
| message KeyguardBouncerStateChanged { |
| enum State { |
| UNKNOWN = 0; |
| // Bouncer is hidden, either as a result of successfully entering the |
| // password, screen timing out, or user going back to lock screen. |
| HIDDEN = 1; |
| // The user is being prompted to enter the password and the keyguard is NOT in one |
| // handed mode. |
| SHOWN = 2; |
| // The user is being prompted to enter the password and the keyguard shows in one |
| // handed mode and left aligned. |
| SHOWN_LEFT = 3; |
| // The user is being prompted to enter the password and the keyguard shows in one |
| // handed mode and right aligned. |
| SHOWN_RIGHT = 4; |
| // The keyguard switches to the left side while it is in one handed mode. |
| SWITCH_LEFT = 5; |
| // The keyguard switches to the right side while it is in one handed mode. |
| SWITCH_RIGHT = 6; |
| } |
| optional State state = 1; |
| } |
| |
| /** |
| * Logs the result of entering a password into the keyguard bouncer. |
| * |
| * Logged from: |
| * frameworks/base/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java |
| */ |
| message KeyguardBouncerPasswordEntered { |
| enum BouncerResult { |
| UNKNOWN = 0; |
| // The password entered was incorrect. |
| FAILURE = 1; |
| // The password entered was correct. |
| SUCCESS = 2; |
| } |
| optional BouncerResult result = 1; |
| |
| enum BouncerSide { |
| DEFAULT = 0; |
| LEFT = 1; |
| RIGHT = 2; |
| } |
| optional BouncerSide side = 2; |
| } |
| |
| message BackGesture { |
| enum BackType { |
| DEFAULT_BACK_TYPE = 0; |
| COMPLETED = 1; |
| COMPLETED_REJECTED = 2; // successful because coming from rejected area |
| INCOMPLETE_EXCLUDED = 3; // would have been successful but in the exclusion area |
| INCOMPLETE = 4; // Unsuccessful, for reasons other than below. |
| INCOMPLETE_FAR_FROM_EDGE = 5; // Unsuccessful, far from the edge. |
| INCOMPLETE_MULTI_TOUCH = 6; // Unsuccessful, multi touch. |
| INCOMPLETE_LONG_PRESS = 7; // Unsuccessful, long press. |
| INCOMPLETE_VERTICAL_MOVE = 8; // Unsuccessful, move vertically. |
| } |
| optional BackType type = 1; |
| |
| optional int32 y_coordinate = 2 [deprecated = true]; // y coordinate for ACTION_DOWN event |
| optional int32 start_x = 4; // X coordinate for ACTION_DOWN event. |
| optional int32 start_y = 5; // Y coordinate for ACTION_DOWN event. |
| optional int32 end_x = 6; // X coordinate for ACTION_MOVE event. |
| optional int32 end_y = 7; // Y coordinate for ACTION_MOVE event. |
| optional int32 left_boundary = 8; // left edge width + left inset |
| optional int32 right_boundary = 9; // screen width - (right edge width + right inset) |
| // The score between 0 and 1 which is the prediction output for the Back Gesture model. |
| optional float ml_model_score = 10; |
| optional string package_name = 11; // The name of the top 100 most used package by all users. |
| |
| // Specifies the input type of the event. |
| enum InputType { |
| UNKNOWN = 0; |
| TOUCH = 1; |
| TRACKPAD = 2; |
| } |
| optional InputType input_type = 12; |
| |
| enum WindowHorizontalLocation { |
| DEFAULT_LOCATION = 0; |
| LEFT = 1; |
| RIGHT = 2; |
| } |
| optional WindowHorizontalLocation x_location = 3 [deprecated = true]; |
| } |
| |
| /** |
| * Logs when IME is on. |
| * |
| * Logged from: /packages/SystemUI/src/com/android/systemui/ |
| statusbar/phone/NavigationBarView.java |
| * |
| */ |
| message ImeTouchReported { |
| optional int32 x_coordinate = 1; // X coordinate for ACTION_DOWN event. |
| optional int32 y_coordinate = 2; // Y coordinate for ACTION_DOWN event. |
| } |
| |
| /** |
| * Logs when Launcher (HomeScreen) UI has changed or was interacted. |
| * |
| * Logged from: |
| * packages/apps/Launcher3 |
| */ |
| message LauncherUIChanged { |
| optional android.stats.launcher.LauncherAction action = 1 [deprecated = true]; |
| optional android.stats.launcher.LauncherState src_state = 2; |
| optional android.stats.launcher.LauncherState dst_state = 3; |
| optional android.stats.launcher.LauncherExtension extension = 4 [(log_mode) = MODE_BYTES, deprecated = true]; |
| optional bool is_swipe_up_enabled = 5 [deprecated = true]; |
| |
| // The event id (e.g., app launch, drag and drop, long press) |
| optional int32 event_id = 6; |
| // The event's source or target id (e.g., icon, task, button) |
| optional int32 target_id = 7; |
| // If the target needs to be tracked, use this id field |
| optional int32 instance_id = 8; |
| optional int32 uid = 9 [(is_uid) = true]; |
| optional string package_name = 10; |
| optional string component_name = 11; |
| |
| // (x, y) coordinate and the index information of the target on the container |
| optional int32 grid_x = 12 [default = -1]; |
| optional int32 grid_y = 13 [default = -1]; |
| optional int32 page_id = 14 [default = -2]; |
| |
| // e.g., folder icon's (x, y) location and index information on the workspace |
| optional int32 grid_x_parent = 15 [default = -1]; |
| optional int32 grid_y_parent = 16 [default = -1]; |
| optional int32 page_id_parent = 17 [default = -2]; |
| |
| // e.g., SEARCHBOX_ALLAPPS, FOLDER_WORKSPACE |
| optional int32 hierarchy = 18; |
| |
| // deprecated, use user_type field instead |
| optional bool is_work_profile = 19 [deprecated = true]; |
| |
| // Used to store the predicted rank of the target |
| optional int32 rank = 20 [default = -1]; |
| |
| // e.g., folderLabelState can be captured in the following two fields |
| optional int32 from_state = 21; |
| optional int32 to_state = 22; |
| |
| // e.g., autofilled or suggested texts that are not user entered |
| optional string edittext = 23; |
| |
| // e.g., number of contents inside a container (e.g., icons inside a folder) |
| optional int32 cardinality = 24; |
| |
| // Used to store features of the target (e.g. widget is reconfigurable, etc) |
| optional int32 features = 25; |
| |
| // Used to store on-device search related features of the target |
| // (e.g. spell-corrected query etc) |
| optional int32 search_attributes = 26; |
| |
| // List of attributes attached to the event. |
| optional LauncherAttributes attributes = 27 [(log_mode) = MODE_BYTES]; |
| |
| // Specifies the input type of the event. |
| enum InputType { |
| UNKNOWN = 0; |
| TOUCH = 1; |
| TRACKPAD = 2; |
| } |
| optional InputType input_type = 28; |
| |
| // Specifies the type of the user the event connected with |
| enum UserType { |
| TYPE_UNKNOWN = 0; |
| TYPE_MAIN = 1; |
| TYPE_WORK = 2; |
| TYPE_CLONED = 3; |
| TYPE_PRIVATE = 4; |
| } |
| optional UserType user_type = 29; |
| } |
| |
| message LauncherAttributes { |
| // Integer value of item attribute enum |
| // (e.g. SUGGESTED_LABEL, ALL_APPS_SEARCH_RESULT_SETTING etc) |
| repeated int32 item_attributes = 1; |
| } |
| |
| message SmartSpaceCardReported { |
| // Different SmartSpace cards. |
| // DEPRECATED CardType enum. Use SmartspaceTarget.mFeatureType, which matches the list from: |
| // google3/java/com/google/android/apps/miphone/aiai/echo/smartspace/Constants.kt |
| enum CardType { |
| option deprecated = true; |
| UNKNOWN_CARD = 0; |
| COMMUTE = 1; |
| CALENDAR = 2; |
| FLIGHT = 3; |
| WEATHER = 4; |
| WEATHER_ALERT = 5; |
| AT_A_STORE_SHOPPING_LIST = 6; |
| AT_A_STORE_LOYALTY_CARD = 7; |
| HEADPHONE_RESUME_MEDIA = 8; |
| HEADPHONE_MEDIA_RECOMMENDATIONS = 9; |
| TIMER = 10; |
| STOPWATCH = 11; |
| FITNESS_ACTIVITY = 12; |
| UPCOMING_REMINDER = 13; |
| UPCOMING_BEDTIME = 14; |
| TIME_TO_LEAVE = 15; |
| PACKAGE_DELIVERED = 16; |
| TIPS = 17; |
| DOORBELL = 18; |
| CROSS_DEVICE_TIMER = 19; |
| } |
| |
| // The surface that SmartSpace card is shown. |
| enum DisplaySurface { |
| DEFAULT_SURFACE = 0; |
| HOMESCREEN = 1; |
| LOCKSCREEN = 2; |
| AOD = 3; |
| SHADE = 4; |
| DREAM_OVERLAY = 5; |
| } |
| |
| // The event id (e.g., impression, click, longpress, dismiss) |
| optional int32 event_id = 1; |
| // Uniquely identifies a card. Should persist through updates. |
| optional int32 instance_id = 2; |
| // Uniquely identifies one of the possible types of the SmartSpace cards. |
| // Deprecated. Please read card_type_id instead. |
| optional CardType card_type = 3 [deprecated = true]; |
| // Location of the card when the event occurred. |
| optional DisplaySurface display_surface = 4; |
| // The position of the card in the carousel when the event occurred. |
| optional int32 rank = 5; |
| // The number of cards shown to the user. |
| optional int32 cardinality = 6; |
| // Uniquely identifies one of the possible types of the SmartSpace cards. |
| // To replace card_type. See go/smartspace-aster-metrics#card-type-id. |
| optional int32 card_type_id = 7; |
| // The app that the Smartspace card is tied to. |
| optional int32 uid = 8 [(is_uid) = true]; |
| // This represents the interacted subaction for the given card. |
| optional int32 interacted_subcard_rank = 9; |
| // This represents the number of displayed subactions on the given card when a subaction click |
| // occurred. |
| optional int32 interacted_subcard_cardinality = 10; |
| // The time it takes in ms from smartspace target is created to sysui receives |
| // the target. |
| optional int32 received_latency_millis = 11; |
| // The sub cards. |
| optional SmartSpaceSubcards subcards_info = 12 [(log_mode) = MODE_BYTES]; |
| // Holds all the dimensions for this event. See go/ss-dimensional-logging for details. |
| optional SmartspaceCardDimensionalInfo dimensional_info = 13 [(log_mode) = MODE_BYTES]; |
| } |
| |
| // Holds all the dimensions tied to a Smartspace event. |
| message SmartspaceCardDimensionalInfo { |
| repeated SmartspaceFeatureDimension feature_dimensions = 1; |
| } |
| |
| message SmartspaceFeatureDimension { |
| // This maps to an enum value in Android System Intelligence. |
| optional int32 feature_dimension_id = 1; |
| |
| // The value for this dimension. |
| optional int32 feature_dimension_value = 2; |
| } |
| |
| /** |
| * This message represents information about any SmartSpace subcards. |
| * Logged from |
| * vendor/unbundled_google/packages/SystemUIGoogle/bcsmartspace/src/com/google/android/systemui/smartspace/BcSmartspaceLogger.java |
| * vendor/unbundled_google/packages/NexusLauncher/src/com/google/android/apps/nexuslauncher/qsb/SmartspaceViewContainer.java |
| * Next Tag: 3 |
| */ |
| message SmartSpaceSubcards { |
| // List of subcards. |
| repeated SmartSpaceCardMetadata subcards = 1; |
| // The index of the clicked subcard, if applicable. |
| // This index is 1 indexed as opposed to 0 indexed due to sint32 encoding |
| // limitation when using -1 as a default. |
| // Default will be 0 to denote that no subcard was clicked. |
| // Please note this has no information about whether the primary card was |
| // clicked or not. Basically if this has the value 0, just ignore this field. |
| optional int32 clicked_subcard_index = 2; |
| } |
| |
| /** |
| * This message represents metadata for a SmartSpace card. |
| * Logged from |
| * vendor/unbundled_google/packages/SystemUIGoogle/bcsmartspace/src/com/google/android/systemui/smartspace/BcSmartspaceLogger.java |
| * vendor/unbundled_google/packages/NexusLauncher/src/com/google/android/apps/nexuslauncher/qsb/SmartspaceViewContainer.java |
| * Next Tag: 3 |
| */ |
| message SmartSpaceCardMetadata { |
| // Uniquely identifies a card. Should persist through updates. |
| optional int32 instance_id = 1; |
| // The type of the card. |
| optional int32 card_type_id = 2; |
| } |
| |
| /** |
| * Used for snapshot of the HomeScreen UI elements |
| * |
| * Logged from: |
| * packages/apps/Launcher3 |
| */ |
| message LauncherStaticLayout { |
| // The event id (e.g., snapshot, drag and drop) |
| optional int32 event_id = 1; |
| // The event's source or target id (e.g., icon, shortcut, widget) |
| optional int32 target_id = 2; |
| // If the target needs to be tracked, use this id field |
| optional int32 instance_id = 3; |
| optional int32 uid = 4 [(is_uid) = true]; |
| optional string package_name = 5; |
| optional string component_name = 6; |
| |
| // (x, y) coordinate and the index information of the target on the container |
| optional int32 grid_x = 7 [default = -1]; |
| optional int32 grid_y = 8 [default = -1]; |
| optional int32 page_id = 9 [default = -2]; |
| |
| // e.g., folder icon's (x, y) location and index information on the workspace |
| // e.g., when used with widgets target, use these values for (span_x, span_y) |
| optional int32 grid_x_parent = 10 [default = -1]; |
| optional int32 grid_y_parent = 11 [default = -1]; |
| optional int32 page_id_parent = 12 [default = -2]; |
| |
| // UNKNOWN = 0 |
| // HOTSEAT = 1 |
| // WORKSPACE = 2 |
| // FOLDER_HOTSEAT = 3 |
| // FOLDER_WORKSPACE = 4 |
| optional int32 hierarchy = 13; |
| |
| optional bool is_work_profile = 14; |
| |
| // e.g., PIN, WIDGET TRAY, APPS TRAY, PREDICTION |
| optional int32 origin = 15; |
| |
| // e.g., number of icons inside a folder |
| optional int32 cardinality = 16; |
| |
| // e.g., (x, y) span of the widget inside homescreen grid system |
| optional int32 span_x = 17 [default = 1]; |
| optional int32 span_y = 18 [default = 1]; |
| |
| // Used to store features of the target (e.g. widget is reconfigurable, etc) |
| optional int32 features = 19; |
| |
| // List of attributes attached to the event. |
| optional LauncherAttributes attributes = 20 [(log_mode) = MODE_BYTES]; |
| } |
| |
| /** |
| * Used for logging launcher static elements using pulled atom. |
| * |
| * Logged from: |
| * packages/apps/Launcher3 |
| */ |
| message LauncherLayoutSnapshot { |
| // The event id (e.g., snapshot, drag and drop) |
| optional int32 event_id = 1; |
| // The event's source or target id (e.g., icon, shortcut, widget) |
| optional int32 item_id = 2; |
| // If the target needs to be tracked, use this id field |
| optional int32 instance_id = 3; |
| optional int32 uid = 4 [(is_uid) = true]; |
| optional string package_name = 5; |
| optional string component_name = 6; |
| |
| // (x, y) coordinate and the index information of the target on the container |
| optional int32 grid_x = 7 [default = -1]; |
| optional int32 grid_y = 8 [default = -1]; |
| optional int32 page_id = 9 [default = -2]; |
| |
| // e.g., folder icon's (x, y) location and index information on the workspace |
| // e.g., when used with widgets target, use these values for (span_x, span_y) |
| optional int32 grid_x_parent = 10 [default = -1]; |
| optional int32 grid_y_parent = 11 [default = -1]; |
| optional int32 page_id_parent = 12 [default = -2]; |
| |
| // UNKNOWN = 0 |
| // HOTSEAT = 1 |
| // WORKSPACE = 2 |
| // FOLDER_HOTSEAT = 3 |
| // FOLDER_WORKSPACE = 4 |
| optional int32 container_id = 13; |
| |
| optional bool is_work_profile = 14; |
| |
| // e.g., PIN, WIDGET TRAY, APPS TRAY, PREDICTION |
| optional int32 attribute_id = 15; |
| |
| // e.g., number of icons inside a folder |
| optional int32 cardinality = 16; |
| |
| // e.g., (x, y) span of the widget inside homescreen grid system |
| optional int32 span_x = 17 [default = 1]; |
| optional int32 span_y = 18 [default = 1]; |
| |
| // List of attributes attached to the event. |
| optional LauncherAttributes attributes = 19 [(log_mode) = MODE_BYTES]; |
| |
| optional bool is_kids_mode = 20; |
| } |
| |
| /** |
| * 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]; |
| } |
| |
| 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 SystemUI Notifications.proto. |
| enum NotificationSection { |
| SECTION_UNKNOWN = 0; |
| SECTION_HEADS_UP = 1; |
| SECTION_MEDIA_CONTROLS = 2; |
| SECTION_PEOPLE = 3; |
| SECTION_ALERTING = 4; |
| SECTION_SILENT = 5; |
| SECTION_FOREGROUND_SERVICE = 6; |
| } |
| optional NotificationSection section = 6; |
| } |
| |
| message NotificationList { |
| repeated Notification notifications = 1; // An ordered sequence of notifications. |
| } |
| |
| /** |
| * Snapshot of notification memory use aggregated per-package and per-style. |
| * One message for each notification style of each package showing notifications. |
| * Logged from |
| * frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/notification/logging |
| */ |
| message NotificationMemoryUse { |
| // UID if the application (can be mapped to package and version) |
| optional int32 uid = 1; |
| // Integer enum value showing aggregated notification style. |
| optional int32 style = 2; |
| // Number of notifications that were aggregated into this metric. |
| optional int32 count = 3; |
| // Number of notifications with actually inflated views in this metric. |
| optional int32 countWithInflatedViews = 4; |
| // Memory use of small icon Bitmaps in KB. |
| optional int32 smallIconObject = 5; |
| // Count of notifications with small icons as bitmaps. |
| optional int32 smallIconBitmapCount = 6; |
| // Memory use of large icon Bitmaps in KB. |
| optional int32 largeIconObject = 7; |
| // Count of notifications with large icons as bitmaps. |
| optional int32 largeIconBitmapCount = 8; |
| // Memory use of big picture style Bitmaps in KB. |
| optional int32 bigPictureObject = 9; |
| // Count of notifications with big picture images as bitmaps. |
| optional int32 bigPictureBitmapCount = 10; |
| // Complete memory use of extras in Notification object, in KB. |
| optional int32 extras = 11; |
| // Memory use of extenders in KB. |
| optional int32 extenders = 12; |
| // Combined memory use of small icon drawables in views, in KB. |
| optional int32 smallIconViews = 13; |
| // Combined memory use of large icon drawables in views, in KB. |
| optional int32 largeIconViews = 14; |
| // Combined memory use of system icon drawables in views, in KB. |
| optional int32 systemIconViews = 15; |
| // Combined memory use of style drawables (e.g. BigPicture) in views, in KB. |
| optional int32 styleViews = 16; |
| // Combined memory use of custom view drawables in views, in KB. |
| optional int32 customViews = 17; |
| // Extra memory used due to usage of software bitmaps, in KB. |
| optional int32 softwareBitmaps = 18; |
| // How many notifications were actually ever shown to the user. |
| optional int32 seenCount = 19; |
| } |
| |
| /** |
| * Logs when accessibility floating menu changed its position by user. |
| * |
| * Logged from: |
| * frameworks/base/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu |
| */ |
| message AccessibilityFloatingMenuUIChanged { |
| // Normalized screen position of the accessibility floating menu. The range is between 0 and 1. |
| optional float normalized_x_position = 1; |
| optional float normalized_y_position = 2; |
| |
| enum Orientation { |
| UNKNOWN = 0; |
| PORTRAIT = 1; |
| LANDSCAPE = 2; |
| } |
| // Orientation of the device when accessibility floating menu changed. |
| optional Orientation orientation = 3; |
| } |
| |
| /* |
| * Logs when the Media Output Switcher finishes a media switch operation. |
| * |
| * Logged from: |
| * packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputMetricLogger.java |
| */ |
| message MediaOutputOpSwitchReported { |
| // Source medium type before switching. |
| optional android.app.settings.mediaoutput.MediumType source = 1; |
| |
| // Target medium type after switching. |
| optional android.app.settings.mediaoutput.MediumType target = 2; |
| |
| // The result of switching. |
| optional android.app.settings.mediaoutput.SwitchResult result = 3; |
| |
| // The detail code of a switching result. |
| optional android.app.settings.mediaoutput.SubResult subresult = 4; |
| |
| /* |
| * The package name of a pre-installed app, whose media session is being switched. |
| */ |
| optional string media_session_package_name = 5; |
| |
| // The amount of available wired devices when a switching is being performed. |
| optional int32 available_wired_device_count = 6; |
| |
| // The amount of available Bluetooth devices a switching is being performed. |
| optional int32 available_bt_device_count = 7; |
| |
| // The amount of available remote devices when a switching is being performed. |
| optional int32 available_remote_device_count = 8; |
| |
| // The amount of applied devices within a remote dynamic group after a switching is done. |
| optional int32 applied_device_count_within_remote_group = 9; |
| |
| // Indicate target device is suggested route |
| optional bool target_is_suggested = 10; |
| |
| // Indicate target device has ongoing session or not |
| optional bool target_has_ongoing_session = 11; |
| } |
| |
| /* |
| * Logs when the user interact with Media Output Switcher. |
| * |
| * Logged from: |
| * packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputMetricLogger.java |
| */ |
| message MediaOutputOpInteractionReported { |
| /** * The type of interaction with the output switch dialog. */ |
| enum InteractionType { |
| EXPANSION = 0; |
| ADJUST_VOLUME = 1; |
| STOP_CASTING = 2; |
| MUTE = 3; |
| UNMUTE = 4; |
| } |
| |
| // Type of interaction. |
| optional InteractionType interaction_type = 1; |
| |
| // Type of device that interaction with. |
| optional android.app.settings.mediaoutput.MediumType target = 2; |
| |
| // The package name of an application whose media session is being switched. |
| optional string media_session_package_name= 3; |
| |
| // Indicate target device is suggested route |
| optional bool target_is_suggested = 4; |
| } |
| |
| /** |
| * Logs the gesture stage changed event. |
| * |
| * Logged from: |
| * frameworks/base/packages/SystemUI/ |
| */ |
| message AssistGestureStageReported { |
| optional android.hardware.sensor.assist.AssistGestureStageEnum gesture_stage = 1; |
| } |
| |
| /** |
| * Logs the feedback type. |
| * |
| * Logged from: |
| * frameworks/base/packages/SystemUI/ |
| */ |
| message AssistGestureFeedbackReported { |
| // Whether or not the gesture was used. |
| optional android.hardware.sensor.assist.AssistGestureFeedbackEnum feedback_type = 1; |
| } |
| |
| /** |
| * Logs the progress. |
| * |
| * Logged from: |
| * frameworks/base/packages/SystemUI/ |
| */ |
| message AssistGestureProgressReported { |
| // [0,100] progress for the assist gesture. |
| optional int32 progress = 1; |
| } |
| |
| /* |
| * Reports a device controls user interaction |
| * |
| * Logged from: |
| * frameworks/base/packages/SystemUI/src/com/android/systemui/controls/ControlsMetricsLoggerImpl.kt |
| */ |
| message DeviceControlChanged { |
| // The event_id |
| optional int32 event_id = 1; |
| // An identifier to tie together multiple logs relating to the same controls session |
| optional int32 instance_id = 2; |
| // The type of device the user has interacted with (android.service.controls.DeviceTypes) |
| optional int32 device_type = 3; |
| // The service app uid. |
| optional int32 uid = 4 [(is_uid) = true]; |
| // Is the device locked while the action started |
| optional bool is_locked = 5; |
| } |
| |
| /** |
| * Logs for Launcher latency. Uses KLL to reduce the data pression |
| * |
| * Logged from: |
| * vendor/unbundled_google/packages/NexusLauncher |
| */ |
| message LauncherLatency { |
| // The event id generated from go/uievents |
| optional int32 event_id = 1; |
| // The instance id to track multiple partial durations or parellel running durations |
| optional int32 instance_id = 2; |
| optional int32 package_id = 3; |
| optional int64 latency_in_millis = 4; |
| optional int32 type = 5; |
| optional int32 query_length = 6 [default = -1]; |
| optional int32 sub_event_type = 7; |
| // Size of work to complete within the latency duration. E.g. number of workspace items to initialize during launcher startup. |
| optional int32 cardinality = 8 [default = -1]; |
| } |
| |
| /** |
| * Logs for Launcher Impression logging. |
| * |
| * Logged from: |
| * vendor/unbundled_google/packages/NexusLauncher |
| */ |
| message LauncherImpressionEvent { |
| // The event id generated from go/uievents |
| optional int32 event_id = 1; |
| // The instance id to track multiple partial impression event. |
| optional int32 instance_id = 2; |
| |
| // The state defines the surface where the impression is being logged. |
| optional int32 state = 3; |
| optional int32 query_length = 4 [default = -1]; |
| |
| // ResultType of the search result as defined in frameworks/libs/systemui/searchuilib/src/com/android/app/search/ResultType.java |
| repeated int32 result_type = 5; |
| |
| // Number of results of corresponding result_type. |
| repeated int32 result_count = 6; |
| |
| // If the corresponding result_type is above or below keyboard. |
| // If 50% of result is visible, then is_above_keyboard = true |
| repeated bool is_above_keyboard = 7; |
| |
| // UID of the application (can be mapped to package name) corresponding to the result_type. |
| // The default value of uid entry will be -1 to indicate package name is not |
| // found. |
| repeated int32 uid = 8 [(is_uid) = true]; |
| } |
| |
| /** |
| * Logs for task manager events |
| * |
| * Logged from SystemUI |
| */ |
| message TaskManagerEventReported { |
| |
| enum Event { |
| VIEWED = 1; |
| STOPPED = 2; |
| } |
| |
| optional int32 uid = 1 [(is_uid) = true]; |
| |
| optional Event event = 2; |
| |
| optional int64 time_running_ms = 3; |
| } |