blob: fb31d6d3c4e8b390d8b8b9c7295ab3381bc1e841 [file] [log] [blame]
/*
* 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;
}