blob: c7da6d514c71496d8fc60faf3b672df8f9fa43b3 [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/atoms.proto";
import "frameworks/proto_logging/stats/atom_field_options.proto";
import "frameworks/proto_logging/stats/enums/telephony/enums.proto";
import "frameworks/proto_logging/stats/enums/os/enums.proto";
extend Atom {
optional LockscreenShortcutSelected lockscreen_shortcut_selected = 611 [(module) = "sysui"];
optional LockscreenShortcutTriggered lockscreen_shortcut_triggered = 612 [(module) = "sysui"];
optional LauncherImpressionEventV2 launcher_impression_event_v2 = 716 [(module) = "sysui"];
optional DisplaySwitchLatencyTracked display_switch_latency_tracked = 753 [(module) = "sysui"];
}
/**
* Pushes when a lockscreen shortcut is selected
*
* Logged From:
* frameworks/base/packages/SystemUI/src/com/android/systemui/keyguard/shared/quickaffordance/KeyguardQuickAffordancesMetricsLogger.kt
*/
message LockscreenShortcutSelected {
// Id of the shortcut slot
optional string slot_id = 1;
// Id of the lockscreen shortcut
optional string affordance_id = 2;
}
/**
* Pushes when a lockscreen shortcut is triggered
*
* Logged From:
* frameworks/base/packages/SystemUI/src/com/android/systemui/keyguard/shared/quickaffordance/KeyguardQuickAffordancesMetricsLogger.kt
*/
message LockscreenShortcutTriggered {
// Id of the shortcut slot
optional string slot_id = 1;
// Id of the lockscreen shortcut
optional string affordance_id = 2;
}
/**
* Logs for Launcher Impression logging version2.
*
* Logged from:
* vendor/unbundled_google/packages/NexusLauncher/src/com/google/android/apps/nexuslauncher/logging/SearchImpressionLogManager.java
*
* Next Tag: 9
*/
message LauncherImpressionEventV2 {
// 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 vendor/unbundled_google/libraries/searchuilib/src/com/android/app/search/ResultType.java
optional int32 result_type = 5;
// True if at least 50% of the item is not hidden (ex: hidden behind the keyboard).
optional bool is_visible = 6;
// https://developer.android.com/reference/android/os/Process#INVALID_UID
// The default value of uid entry will be -1 to indicate package name
// doesn't match any of the installed apps. So assign the default value of UID to -1.
optional int32 uid = 7 [(is_uid) = true];
// The result source of the search result as defined in vendor/unbundled_google/libraries/searchuilib/src/com/android/app/search/SearchTargetExtras.java
optional int32 result_source = 8;
}
/**
* Logs for Display Switch Latency Tracking.
*
* Next Tag: 22
*/
message DisplaySwitchLatencyTracked {
// Latency tracked between device state change is received in SysUI and the switched display
// being unblocked and turned on (onScreenTurnedOn received in sysui from power manager)
optional int32 latency_ms = 1;
// The state of device before the Display Switch event.
// This field defines the fold-state of the device.
optional android.telephony.FoldState from_foldable_device_state = 2;
// This field provides additional information about device state
optional StateEnum from_state = 3;
// This field will store the uid of the top running task(app only).
optional int32 from_focused_app_uid = 4 [(is_uid) = true];
// This field will have the uid of the app being used in picture-in-picture mode. The value
// will be -1 if no picture-in-picture is ongoing*/
optional int32 from_pip_app_uid = 5 [(is_uid) = true];
// At the moment of Display Switch if screen_state is equal to
// SPLIT_SCREEN_APPS/ OVERVIEW/ FREEFORM_APPS or pip_app_uid is not -1, then this field will
// store the uids of apps present in split-screen mode.
repeated int32 from_visible_apps_uid = 6 [(is_uid) = true];
// Density of the display for the device being tracked in dpi.
optional int32 from_density_dpi = 7;
// The state of the device after the Display Switch event.
optional StateEnum to_state = 8;
optional android.telephony.FoldState to_foldable_device_state = 9;
optional int32 to_focused_app_uid = 10 [(is_uid) = true];
optional int32 to_pip_app_uid = 11 [(is_uid) = true];
repeated int32 to_visible_apps_uid = 12 [(is_uid) = true];
optional int32 to_density_dpi = 13;
// Additional data useful for analyzing latency issues
// Total number of notifications present in Notification panel during Display Switch event.
optional int32 notification_count = 14;
// Number of TYPE_EXTERNAL displays at the moment of Display Switch.
optional int32 external_display_count = 15;
// Throttling level at the moment of Display Switch provided by thermal api.
optional android.os.ThrottlingSeverityEnum throttling_level = 16;
// Virtual-skin temperature in Celsius of the device at the moment of Display Switch.
optional int32 vskin_temperature_c = 17;
// Fields tracking time elapsed between relevant events in milliseconds. Default values of
// below fields will be -1 in case they are not tracked.
// The time elapsed between the hall sensor unfold event and the first hinge angle event.
optional int32 hall_sensor_to_first_hinge_angle_change_ms = 18;
// The time elapsed between the hall sensor unfold/fold event and the device state change
// event.
optional int32 hall_sensor_to_device_state_change_ms = 19;
// The time elapsed between the onScreenTurningOn call and the onDrawn callback in SystemUI.
optional int32 onscreenturningon_to_ondrawn_ms = 20;
// The time elapsed between the onDrawn callback and the onScreenTurnedOn call in SystemUI.
optional int32 ondrawn_to_onscreenturnedon_ms = 21;
enum StateEnum {
// The device is in none of the above mentioned states.
UNKNOWN = 0;
// When the device is sleeping with AOD enabled (Always on display).
AOD = 1;
// Device folded/unfolded when on lockscreen.
LOCKSCREEN = 2;
// Notification shade is open currently.
NOTIFICATION_SHADE = 3;
// When an app is being used in full-screen mode.
FULL_SCREEN_APP = 4;
// When 2 apps are being used in split-screen mode.
SPLIT_SCREEN_APPS = 5;
// Launcher app is being displayed currently.
LAUNCHER = 6;
// Overview/Recent apps screen is being displayed on the screen
// currently
OVERVIEW = 7;
// Freeform apps are currently being used, i.e. single or multiple apps are being
// displayed on screen in which the window size of each app is resizable.
FREEFORM_APPS = 8;
// Screen is off currently.
SCREEN_OFF = 9;
}
}