Cleaning up frameworks protos.
Note: It is currently only safe to renumber the fields because we have
not started using them yet.
* animationadapter: added in http://ag/3709688, but was not following
the indentation policy or the unit naming policy. The durations that
have documentation in
frameworks/base/services/core/java/com/android/server/wm/ state that
they're in milliseconds. These durations didn't have documentation, but
I'm assuming they're in the same units.
* batterystats: was not following the indentation policy
* jobscheduler: AppIdleController was removed in http://ag/3699210 and
the proto was only partially updated
* powermanagerservice: BatterySaverStateMachineProto added in
http://ag/3763026 but was not privacy tagged and the indentation was off
* surfaceanimator: was not following the indentation policy
* remote_animation_target: was not following the indentation policy
* others: weren't following the indentation policy
Bug: 74975371
Test: flash device and run 'test CtsIncidentHostTestCases'
Change-Id: Id012f4690b1d58816fef096523e1a0ea2bccadb0
diff --git a/core/proto/android/app/activitymanager.proto b/core/proto/android/app/activitymanager.proto
index 4756c13..ead7e16 100644
--- a/core/proto/android/app/activitymanager.proto
+++ b/core/proto/android/app/activitymanager.proto
@@ -23,14 +23,14 @@
// ActivityManager.java UID_OBSERVERs flags
enum UidObserverFlag {
- // report changes in process state, original value is 1 << 0
- UID_OBSERVER_FLAG_PROCSTATE = 1;
- // report uid gone, original value is 1 << 1
- UID_OBSERVER_FLAG_GONE = 2;
- // report uid has become idle, original value is 1 << 2
- UID_OBSERVER_FLAG_IDLE = 3;
- // report uid has become active, original value is 1 << 3
- UID_OBSERVER_FLAG_ACTIVE = 4;
- // report uid cached state has changed, original value is 1 << 4
- UID_OBSERVER_FLAG_CACHED = 5;
+ // report changes in process state, original value is 1 << 0
+ UID_OBSERVER_FLAG_PROCSTATE = 1;
+ // report uid gone, original value is 1 << 1
+ UID_OBSERVER_FLAG_GONE = 2;
+ // report uid has become idle, original value is 1 << 2
+ UID_OBSERVER_FLAG_IDLE = 3;
+ // report uid has become active, original value is 1 << 3
+ UID_OBSERVER_FLAG_ACTIVE = 4;
+ // report uid cached state has changed, original value is 1 << 4
+ UID_OBSERVER_FLAG_CACHED = 5;
}
diff --git a/core/proto/android/app/alarmmanager.proto b/core/proto/android/app/alarmmanager.proto
index 7ef08ca..53be1ee 100644
--- a/core/proto/android/app/alarmmanager.proto
+++ b/core/proto/android/app/alarmmanager.proto
@@ -27,31 +27,31 @@
* An android.app.AlarmManager object.
*/
message AlarmManagerProto {
- enum AlarmType {
- // Alarm time in System.currentTimeMillis() (wall clock time in UTC), which
- // will wake up the device when it goes off.
- RTC_WAKEUP = 0;
- // Alarm time in System.currentTimeMillis() (wall clock time in UTC). This
- // alarm does not wake the device up; if it goes off while the device is
- // asleep, it will not be delivered until the next time the device wakes up.
- RTC = 1;
- // Alarm time in SystemClock.elapsedRealtime() (time since boot, including
- // sleep), which will wake up the device when it goes off.
- ELAPSED_REALTIME_WAKEUP = 2;
- // Alarm time in SystemClock.elapsedRealtime() (time since boot, including
- // sleep). This alarm does not wake the device up; if it goes off while the
- // device is asleep, it will not be delivered until the next time the device
- // wakes up.
- ELAPSED_REALTIME = 3;
- }
+ enum AlarmType {
+ // Alarm time in System.currentTimeMillis() (wall clock time in UTC), which
+ // will wake up the device when it goes off.
+ RTC_WAKEUP = 0;
+ // Alarm time in System.currentTimeMillis() (wall clock time in UTC). This
+ // alarm does not wake the device up; if it goes off while the device is
+ // asleep, it will not be delivered until the next time the device wakes up.
+ RTC = 1;
+ // Alarm time in SystemClock.elapsedRealtime() (time since boot, including
+ // sleep), which will wake up the device when it goes off.
+ ELAPSED_REALTIME_WAKEUP = 2;
+ // Alarm time in SystemClock.elapsedRealtime() (time since boot, including
+ // sleep). This alarm does not wake the device up; if it goes off while the
+ // device is asleep, it will not be delivered until the next time the device
+ // wakes up.
+ ELAPSED_REALTIME = 3;
+ }
}
// An android.app.AlarmManager.AlarmClockInfo object.
message AlarmClockInfoProto {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- // This value is UTC wall clock time in milliseconds, as returned by
- // System#currentTimeMillis() for example.
- optional int64 trigger_time_ms = 1;
- optional android.app.PendingIntentProto show_intent = 2;
+ // This value is UTC wall clock time in milliseconds, as returned by
+ // System#currentTimeMillis() for example.
+ optional int64 trigger_time_ms = 1;
+ optional android.app.PendingIntentProto show_intent = 2;
}
diff --git a/core/proto/android/app/job/enums.proto b/core/proto/android/app/job/enums.proto
index 17bf4fb..2290b2f 100644
--- a/core/proto/android/app/job/enums.proto
+++ b/core/proto/android/app/job/enums.proto
@@ -24,10 +24,10 @@
// Reasons a job is stopped.
// Primarily used in android.app.job.JobParameters.java.
enum StopReasonEnum {
- STOP_REASON_UNKNOWN = -1;
- STOP_REASON_CANCELLED = 0;
- STOP_REASON_CONSTRAINTS_NOT_SATISFIED = 1;
- STOP_REASON_PREEMPT = 2;
- STOP_REASON_TIMEOUT = 3;
- STOP_REASON_DEVICE_IDLE = 4;
+ STOP_REASON_UNKNOWN = -1;
+ STOP_REASON_CANCELLED = 0;
+ STOP_REASON_CONSTRAINTS_NOT_SATISFIED = 1;
+ STOP_REASON_PREEMPT = 2;
+ STOP_REASON_TIMEOUT = 3;
+ STOP_REASON_DEVICE_IDLE = 4;
}
diff --git a/core/proto/android/app/pendingintent.proto b/core/proto/android/app/pendingintent.proto
index ab0d34e..04ce850 100644
--- a/core/proto/android/app/pendingintent.proto
+++ b/core/proto/android/app/pendingintent.proto
@@ -26,7 +26,7 @@
* An android.app.PendingIntent object.
*/
message PendingIntentProto {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- optional string target = 1;
+ optional string target = 1;
}
diff --git a/core/proto/android/app/statusbarmanager.proto b/core/proto/android/app/statusbarmanager.proto
index 3d1447a..1108508 100644
--- a/core/proto/android/app/statusbarmanager.proto
+++ b/core/proto/android/app/statusbarmanager.proto
@@ -19,15 +19,15 @@
option java_multiple_files = true;
message StatusBarManagerProto {
- enum WindowState {
- WINDOW_STATE_SHOWING = 0;
- WINDOW_STATE_HIDING = 1;
- WINDOW_STATE_HIDDEN = 2;
- }
- enum TransientWindowState {
- TRANSIENT_BAR_NONE = 0;
- TRANSIENT_BAR_SHOW_REQUESTED = 1;
- TRANSIENT_BAR_SHOWING = 2;
- TRANSIENT_BAR_HIDING = 3;
- }
+ enum WindowState {
+ WINDOW_STATE_SHOWING = 0;
+ WINDOW_STATE_HIDING = 1;
+ WINDOW_STATE_HIDDEN = 2;
+ }
+ enum TransientWindowState {
+ TRANSIENT_BAR_NONE = 0;
+ TRANSIENT_BAR_SHOW_REQUESTED = 1;
+ TRANSIENT_BAR_SHOWING = 2;
+ TRANSIENT_BAR_HIDING = 3;
+ }
}
diff --git a/core/proto/android/app/window_configuration.proto b/core/proto/android/app/window_configuration.proto
index 1e8ace4..c9f3986 100644
--- a/core/proto/android/app/window_configuration.proto
+++ b/core/proto/android/app/window_configuration.proto
@@ -25,9 +25,9 @@
/** Proto representation for WindowConfiguration.java class. */
message WindowConfigurationProto {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- optional .android.graphics.RectProto app_bounds = 1;
- optional int32 windowing_mode = 2;
- optional int32 activity_type = 3;
+ optional .android.graphics.RectProto app_bounds = 1;
+ optional int32 windowing_mode = 2;
+ optional int32 activity_type = 3;
}
diff --git a/core/proto/android/bluetooth/enums.proto b/core/proto/android/bluetooth/enums.proto
index 9e459e6..d0c9226 100644
--- a/core/proto/android/bluetooth/enums.proto
+++ b/core/proto/android/bluetooth/enums.proto
@@ -22,22 +22,22 @@
// Bluetooth connection states.
enum ConnectionStateEnum {
- CONNECTION_STATE_DISCONNECTED = 0;
- CONNECTION_STATE_CONNECTING = 1;
- CONNECTION_STATE_CONNECTED = 2;
- CONNECTION_STATE_DISCONNECTING = 3;
+ CONNECTION_STATE_DISCONNECTED = 0;
+ CONNECTION_STATE_CONNECTING = 1;
+ CONNECTION_STATE_CONNECTED = 2;
+ CONNECTION_STATE_DISCONNECTING = 3;
}
// Bluetooth Adapter Enable and Disable Reasons
enum EnableDisableReasonEnum {
- ENABLE_DISABLE_REASON_UNSPECIFIED = 0;
- ENABLE_DISABLE_REASON_APPLICATION_REQUEST = 1;
- ENABLE_DISABLE_REASON_AIRPLANE_MODE = 2;
- ENABLE_DISABLE_REASON_DISALLOWED = 3;
- ENABLE_DISABLE_REASON_RESTARTED = 4;
- ENABLE_DISABLE_REASON_START_ERROR = 5;
- ENABLE_DISABLE_REASON_SYSTEM_BOOT = 6;
- ENABLE_DISABLE_REASON_CRASH = 7;
- ENABLE_DISABLE_REASON_USER_SWITCH = 8;
- ENABLE_DISABLE_REASON_RESTORE_USER_SETTING = 9;
-}
\ No newline at end of file
+ ENABLE_DISABLE_REASON_UNSPECIFIED = 0;
+ ENABLE_DISABLE_REASON_APPLICATION_REQUEST = 1;
+ ENABLE_DISABLE_REASON_AIRPLANE_MODE = 2;
+ ENABLE_DISABLE_REASON_DISALLOWED = 3;
+ ENABLE_DISABLE_REASON_RESTARTED = 4;
+ ENABLE_DISABLE_REASON_START_ERROR = 5;
+ ENABLE_DISABLE_REASON_SYSTEM_BOOT = 6;
+ ENABLE_DISABLE_REASON_CRASH = 7;
+ ENABLE_DISABLE_REASON_USER_SWITCH = 8;
+ ENABLE_DISABLE_REASON_RESTORE_USER_SETTING = 9;
+}
diff --git a/core/proto/android/content/activityinfo.proto b/core/proto/android/content/activityinfo.proto
index 012752a..87acd84 100644
--- a/core/proto/android/content/activityinfo.proto
+++ b/core/proto/android/content/activityinfo.proto
@@ -19,24 +19,24 @@
option java_multiple_files = true;
message ActivityInfoProto {
- enum ScreenOrientation {
- SCREEN_ORIENTATION_UNSET = -2;
- SCREEN_ORIENTATION_UNSPECIFIED = -1;
- SCREEN_ORIENTATION_LANDSCAPE = 0;
- SCREEN_ORIENTATION_PORTRAIT = 1;
- SCREEN_ORIENTATION_USER = 2;
- SCREEN_ORIENTATION_BEHIND = 3;
- SCREEN_ORIENTATION_SENSOR = 4;
- SCREEN_ORIENTATION_NOSENSOR = 5;
- SCREEN_ORIENTATION_SENSOR_LANDSCAPE = 6;
- SCREEN_ORIENTATION_SENSOR_PORTRAIT = 7;
- SCREEN_ORIENTATION_REVERSE_LANDSCAPE = 8;
- SCREEN_ORIENTATION_REVERSE_PORTRAIT = 9;
- SCREEN_ORIENTATION_FULL_SENSOR = 10;
- SCREEN_ORIENTATION_USER_LANDSCAPE = 11;
- SCREEN_ORIENTATION_USER_PORTRAIT = 12;
- SCREEN_ORIENTATION_FULL_USER = 13;
- SCREEN_ORIENTATION_LOCKED = 14;
- }
+ enum ScreenOrientation {
+ SCREEN_ORIENTATION_UNSET = -2;
+ SCREEN_ORIENTATION_UNSPECIFIED = -1;
+ SCREEN_ORIENTATION_LANDSCAPE = 0;
+ SCREEN_ORIENTATION_PORTRAIT = 1;
+ SCREEN_ORIENTATION_USER = 2;
+ SCREEN_ORIENTATION_BEHIND = 3;
+ SCREEN_ORIENTATION_SENSOR = 4;
+ SCREEN_ORIENTATION_NOSENSOR = 5;
+ SCREEN_ORIENTATION_SENSOR_LANDSCAPE = 6;
+ SCREEN_ORIENTATION_SENSOR_PORTRAIT = 7;
+ SCREEN_ORIENTATION_REVERSE_LANDSCAPE = 8;
+ SCREEN_ORIENTATION_REVERSE_PORTRAIT = 9;
+ SCREEN_ORIENTATION_FULL_SENSOR = 10;
+ SCREEN_ORIENTATION_USER_LANDSCAPE = 11;
+ SCREEN_ORIENTATION_USER_PORTRAIT = 12;
+ SCREEN_ORIENTATION_FULL_USER = 13;
+ SCREEN_ORIENTATION_LOCKED = 14;
+ }
}
diff --git a/core/proto/android/content/configuration.proto b/core/proto/android/content/configuration.proto
index 6a174e8..5755c59 100644
--- a/core/proto/android/content/configuration.proto
+++ b/core/proto/android/content/configuration.proto
@@ -28,63 +28,63 @@
* An android Configuration object.
*/
message ConfigurationProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional float font_scale = 1;
- optional uint32 mcc = 2;
- optional uint32 mnc = 3 [ (.android.privacy).dest = DEST_EXPLICIT ];
- repeated LocaleProto locales = 4;
- optional uint32 screen_layout = 5;
- optional uint32 color_mode = 6;
- optional uint32 touchscreen = 7;
- optional uint32 keyboard = 8;
- optional uint32 keyboard_hidden = 9;
- optional uint32 hard_keyboard_hidden = 10;
- optional uint32 navigation = 11;
- optional uint32 navigation_hidden = 12;
- optional uint32 orientation = 13;
- optional uint32 ui_mode = 14;
- optional uint32 screen_width_dp = 15;
- optional uint32 screen_height_dp = 16;
- optional uint32 smallest_screen_width_dp = 17;
- optional uint32 density_dpi = 18;
- optional .android.app.WindowConfigurationProto window_configuration = 19;
+ optional float font_scale = 1;
+ optional uint32 mcc = 2;
+ optional uint32 mnc = 3 [ (.android.privacy).dest = DEST_EXPLICIT ];
+ repeated LocaleProto locales = 4;
+ optional uint32 screen_layout = 5;
+ optional uint32 color_mode = 6;
+ optional uint32 touchscreen = 7;
+ optional uint32 keyboard = 8;
+ optional uint32 keyboard_hidden = 9;
+ optional uint32 hard_keyboard_hidden = 10;
+ optional uint32 navigation = 11;
+ optional uint32 navigation_hidden = 12;
+ optional uint32 orientation = 13;
+ optional uint32 ui_mode = 14;
+ optional uint32 screen_width_dp = 15;
+ optional uint32 screen_height_dp = 16;
+ optional uint32 smallest_screen_width_dp = 17;
+ optional uint32 density_dpi = 18;
+ optional .android.app.WindowConfigurationProto window_configuration = 19;
}
/**
* All current configuration data used to select resources.
*/
message ResourcesConfigurationProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- required ConfigurationProto configuration = 1;
+ required ConfigurationProto configuration = 1;
- optional uint32 sdk_version = 2;
- optional uint32 screen_width_px = 3;
- optional uint32 screen_height_px = 4;
+ optional uint32 sdk_version = 2;
+ optional uint32 screen_width_px = 3;
+ optional uint32 screen_height_px = 4;
}
/**
* Overall device configuration data.
*/
message DeviceConfigurationProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional uint32 stable_screen_width_px = 1;
- optional uint32 stable_screen_height_px = 2;
- optional uint32 stable_density_dpi = 3;
+ optional uint32 stable_screen_width_px = 1;
+ optional uint32 stable_screen_height_px = 2;
+ optional uint32 stable_density_dpi = 3;
- optional uint64 total_ram = 4;
- optional bool low_ram = 5;
- optional uint32 max_cores = 6;
- optional bool has_secure_screen_lock = 7;
+ optional uint64 total_ram = 4;
+ optional bool low_ram = 5;
+ optional uint32 max_cores = 6;
+ optional bool has_secure_screen_lock = 7;
- optional uint32 opengl_version = 8;
- repeated string opengl_extensions = 9;
+ optional uint32 opengl_version = 8;
+ repeated string opengl_extensions = 9;
- repeated string shared_libraries = 10;
- repeated string features = 11;
- repeated string cpu_architectures = 12;
+ repeated string shared_libraries = 10;
+ repeated string features = 11;
+ repeated string cpu_architectures = 12;
}
/**
@@ -92,8 +92,8 @@
* to filter and target apps.
*/
message GlobalConfigurationProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional ResourcesConfigurationProto resources = 1;
- optional DeviceConfigurationProto device = 2;
+ optional ResourcesConfigurationProto resources = 1;
+ optional DeviceConfigurationProto device = 2;
}
diff --git a/core/proto/android/content/locale.proto b/core/proto/android/content/locale.proto
index 2be3ab9..87b555c 100644
--- a/core/proto/android/content/locale.proto
+++ b/core/proto/android/content/locale.proto
@@ -23,10 +23,10 @@
package android.content;
message LocaleProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional string language = 1;
- optional string country = 2;
- optional string variant = 3;
+ optional string language = 1;
+ optional string country = 2;
+ optional string variant = 3;
}
diff --git a/core/proto/android/graphics/pixelformat.proto b/core/proto/android/graphics/pixelformat.proto
index 4e42c92..d7f5f0c 100644
--- a/core/proto/android/graphics/pixelformat.proto
+++ b/core/proto/android/graphics/pixelformat.proto
@@ -19,16 +19,16 @@
option java_multiple_files = true;
message PixelFormatProto {
- enum Format {
- UNKNOWN = 0;
- TRANSLUCENT = -3;
- TRANSPARENT = -2;
- OPAQUE = -1;
- RGBA_8888 = 1;
- RGBX_8888 = 2;
- RGB_888 = 3;
- RGB_565 = 4;
- RGBA_F16 = 0x16;
- RGBA_1010102 = 0x2B;
- }
+ enum Format {
+ UNKNOWN = 0;
+ TRANSLUCENT = -3;
+ TRANSPARENT = -2;
+ OPAQUE = -1;
+ RGBA_8888 = 1;
+ RGBX_8888 = 2;
+ RGB_888 = 3;
+ RGB_565 = 4;
+ RGBA_F16 = 0x16;
+ RGBA_1010102 = 0x2B;
+ }
}
diff --git a/core/proto/android/graphics/point.proto b/core/proto/android/graphics/point.proto
index 035b9fe..04d879f 100644
--- a/core/proto/android/graphics/point.proto
+++ b/core/proto/android/graphics/point.proto
@@ -22,9 +22,9 @@
option java_multiple_files = true;
message PointProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 x = 1;
- optional int32 y = 2;
+ optional int32 x = 1;
+ optional int32 y = 2;
}
diff --git a/core/proto/android/graphics/rect.proto b/core/proto/android/graphics/rect.proto
index eb403fe..c216b2b 100644
--- a/core/proto/android/graphics/rect.proto
+++ b/core/proto/android/graphics/rect.proto
@@ -22,11 +22,11 @@
option java_multiple_files = true;
message RectProto {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 left = 1;
- optional int32 top = 2;
- optional int32 right = 3;
- optional int32 bottom = 4;
+ optional int32 left = 1;
+ optional int32 top = 2;
+ optional int32 right = 3;
+ optional int32 bottom = 4;
}
diff --git a/core/proto/android/internal/locallog.proto b/core/proto/android/internal/locallog.proto
index 73d1492..df0b90b0 100644
--- a/core/proto/android/internal/locallog.proto
+++ b/core/proto/android/internal/locallog.proto
@@ -22,7 +22,7 @@
import "frameworks/base/libs/incident/proto/android/privacy.proto";
message LocalLogProto {
- option (.android.msg_privacy).dest = DEST_EXPLICIT;
+ option (.android.msg_privacy).dest = DEST_EXPLICIT;
- repeated string lines = 1;
+ repeated string lines = 1;
}
diff --git a/core/proto/android/internal/processstats.proto b/core/proto/android/internal/processstats.proto
index 5629c2d..7c1ac3f 100644
--- a/core/proto/android/internal/processstats.proto
+++ b/core/proto/android/internal/processstats.proto
@@ -19,10 +19,10 @@
package com.android.internal.app.procstats;
message ProcessStatsProto {
- enum MemoryFactor {
- MEM_FACTOR_NORMAL = 0;
- MEM_FACTOR_MODERATE = 1;
- MEM_FACTOR_LOW = 2;
- MEM_FACTOR_CRITICAL = 3;
- }
+ enum MemoryFactor {
+ MEM_FACTOR_NORMAL = 0;
+ MEM_FACTOR_MODERATE = 1;
+ MEM_FACTOR_LOW = 2;
+ MEM_FACTOR_CRITICAL = 3;
+ }
}
diff --git a/core/proto/android/os/batterystats.proto b/core/proto/android/os/batterystats.proto
index b06b143..0970bd5 100644
--- a/core/proto/android/os/batterystats.proto
+++ b/core/proto/android/os/batterystats.proto
@@ -25,860 +25,860 @@
import "frameworks/base/libs/incident/proto/android/privacy.proto";
message BatteryStatsProto {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 report_version = 1;
- optional int64 parcel_version = 2;
- optional string start_platform_version = 3;
- optional string end_platform_version = 4;
- repeated UidProto uids = 5;
- optional SystemProto system = 6;
+ optional int32 report_version = 1;
+ optional int64 parcel_version = 2;
+ optional string start_platform_version = 3;
+ optional string end_platform_version = 4;
+ repeated UidProto uids = 5;
+ optional SystemProto system = 6;
}
message ControllerActivityProto {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
-
- // Time (milliseconds) spent in the idle state.
- optional int64 idle_duration_ms = 1;
- // Time (milliseconds) spent in the receive state.
- optional int64 rx_duration_ms = 2;
- // Total power (mAh) consumed by the controller in all states. The value may
- // always be 0 if the device doesn't support power calculations.
- optional int64 power_mah = 3;
-
- // Represents a transmit level, where each level may draw a different amount
- // of power. The levels themselves are controller-specific (and may possibly
- // be device specific...yet to be confirmed).
- message TxLevel {
option (android.msg_privacy).dest = DEST_AUTOMATIC;
- // Transmit level. Higher levels draw more power.
- optional int32 level = 1;
- // Time spent in this specific transmit level state.
- optional int64 duration_ms = 2;
- }
- repeated TxLevel tx = 4;
+ // Time (milliseconds) spent in the idle state.
+ optional int64 idle_duration_ms = 1;
+ // Time (milliseconds) spent in the receive state.
+ optional int64 rx_duration_ms = 2;
+ // Total power (mAh) consumed by the controller in all states. The value may
+ // always be 0 if the device doesn't support power calculations.
+ optional int64 power_mah = 3;
+
+ // Represents a transmit level, where each level may draw a different amount
+ // of power. The levels themselves are controller-specific (and may possibly
+ // be device specific...yet to be confirmed).
+ message TxLevel {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ // Transmit level. Higher levels draw more power.
+ optional int32 level = 1;
+ // Time spent in this specific transmit level state.
+ optional int64 duration_ms = 2;
+ }
+ repeated TxLevel tx = 4;
}
message SystemProto {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
-
- message Battery {
option (android.msg_privacy).dest = DEST_AUTOMATIC;
- // Wall clock time when the data collection started.
- // In case of device time manually reset by users:
- // start_clock_time_ms keeps the same value in the current collection
- // period and changes for later collection periods.
- optional int64 start_clock_time_ms = 1;
- // #times the device has been started since start_clock_time_millis.
- optional int64 start_count = 2;
- // Total realtime duration (= SINCE_UNPLUGGED battery_realtime_millis.)
- optional int64 total_realtime_ms = 3;
- optional int64 total_uptime_ms = 4;
- // Realtime duration on battery.
- optional int64 battery_realtime_ms = 5;
- // Uptime duration (i.e., not suspend).
- // Uptime is anytime the CPUs were on. The radio and Wifi chip
- // can be running while the CPUs are off.
- optional int64 battery_uptime_ms = 6;
- // Total realtime duration measured with screen off or dozing.
- optional int64 screen_off_realtime_ms = 7;
- // Total uptime duration measured with screen off or dozing.
- optional int64 screen_off_uptime_ms = 8;
- // Total time the screen was dozing while the device was running on battery.
- // For historical reasons, screen_doze_duration_msec is a subset of
- // screen_off_realtime_msec.
- optional int64 screen_doze_duration_ms = 9;
- // The estimated real battery capacity, which may be less than the declared
- // battery capacity (for example, because of battery aging). This field is
- // less reliable than min(max)_learned_battery_capacity_uah, use those two
- // fields whenever possible.
- optional int64 estimated_battery_capacity_mah = 10;
- // The minimum learned battery capacity in uAh.
- optional int64 min_learned_battery_capacity_uah = 11;
- // The maximum learned battery capacity in uAh.
- optional int64 max_learned_battery_capacity_uah = 12;
- };
- optional Battery battery = 1;
+ message Battery {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- message BatteryDischarge {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ // Wall clock time when the data collection started.
+ // In case of device time manually reset by users:
+ // start_clock_time_ms keeps the same value in the current collection
+ // period and changes for later collection periods.
+ optional int64 start_clock_time_ms = 1;
+ // #times the device has been started since start_clock_time_millis.
+ optional int64 start_count = 2;
+ // Total realtime duration (= SINCE_UNPLUGGED battery_realtime_millis.)
+ optional int64 total_realtime_ms = 3;
+ optional int64 total_uptime_ms = 4;
+ // Realtime duration on battery.
+ optional int64 battery_realtime_ms = 5;
+ // Uptime duration (i.e., not suspend).
+ // Uptime is anytime the CPUs were on. The radio and Wifi chip
+ // can be running while the CPUs are off.
+ optional int64 battery_uptime_ms = 6;
+ // Total realtime duration measured with screen off or dozing.
+ optional int64 screen_off_realtime_ms = 7;
+ // Total uptime duration measured with screen off or dozing.
+ optional int64 screen_off_uptime_ms = 8;
+ // Total time the screen was dozing while the device was running on battery.
+ // For historical reasons, screen_doze_duration_msec is a subset of
+ // screen_off_realtime_msec.
+ optional int64 screen_doze_duration_ms = 9;
+ // The estimated real battery capacity, which may be less than the declared
+ // battery capacity (for example, because of battery aging). This field is
+ // less reliable than min(max)_learned_battery_capacity_uah, use those two
+ // fields whenever possible.
+ optional int64 estimated_battery_capacity_mah = 10;
+ // The minimum learned battery capacity in uAh.
+ optional int64 min_learned_battery_capacity_uah = 11;
+ // The maximum learned battery capacity in uAh.
+ optional int64 max_learned_battery_capacity_uah = 12;
+ };
+ optional Battery battery = 1;
- // Discharged battery percentage points since the stats were last reset
- // after charging (lower bound approximation).
- optional int32 lower_bound_since_charge = 1;
- // Upper bound approximation.
- optional int32 upper_bound_since_charge = 2;
- // Discharged points while screen is on.
- optional int32 screen_on_since_charge = 3;
- // Discharged points while screen is off.
- optional int32 screen_off_since_charge = 4;
- // Discharged points while screen was dozing. For historical reasons,
- // screen_doze_since_charge is a subset of screen_off_since_charge.
- optional int32 screen_doze_since_charge = 5;
- // Total amount of battery discharged in mAh. This will only be non-zero for
- // devices that report battery discharge via a coulomb counter.
- optional int64 total_mah = 6;
- // Total amount of battery discharged while the screen was off in mAh.
- // This will only be non-zero for devices that report battery discharge
- // via a coulomb counter.
- optional int64 total_mah_screen_off = 7;
- // Total amount of battery discharged while the screen was dozing in mAh.
- // This will only be non-zero for devices that report battery discharge
- // via a coulomb counter. For historical reasons, total_mah_screen_doze is
- // a subset of total_mah_screen_off.
- optional int64 total_mah_screen_doze = 8;
- // Total amount of battery discharged in mAh while the device was in light doze mode.
- // This will only be non-zero for devices that report battery discharge
- // via a coulomb counter.
- optional int64 total_mah_light_doze = 9;
- // Total amount of battery discharged in mAh while the device was in deep doze mode.
- // This will only be non-zero for devices that report battery discharge
- // via a coulomb counter.
- optional int64 total_mah_deep_doze = 10;
- };
- optional BatteryDischarge battery_discharge = 2;
+ message BatteryDischarge {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- oneof time_remaining {
- // Approximation for how much time remains until the battery is fully
- // charged. The device will print -1 if there wasn't enough data to
- // calculate an estimate, or if the battery is currently discharging.
- int64 charge_time_remaining_ms = 3;
- // Approximation for how much time remains until the battery is fully
- // discharged. The device will print -1 if there wasn't enough data to
- // calculate an estimate, or if the battery is currently charging.
- int64 discharge_time_remaining_ms = 4;
- }
+ // Discharged battery percentage points since the stats were last reset
+ // after charging (lower bound approximation).
+ optional int32 lower_bound_since_charge = 1;
+ // Upper bound approximation.
+ optional int32 upper_bound_since_charge = 2;
+ // Discharged points while screen is on.
+ optional int32 screen_on_since_charge = 3;
+ // Discharged points while screen is off.
+ optional int32 screen_off_since_charge = 4;
+ // Discharged points while screen was dozing. For historical reasons,
+ // screen_doze_since_charge is a subset of screen_off_since_charge.
+ optional int32 screen_doze_since_charge = 5;
+ // Total amount of battery discharged in mAh. This will only be non-zero for
+ // devices that report battery discharge via a coulomb counter.
+ optional int64 total_mah = 6;
+ // Total amount of battery discharged while the screen was off in mAh.
+ // This will only be non-zero for devices that report battery discharge
+ // via a coulomb counter.
+ optional int64 total_mah_screen_off = 7;
+ // Total amount of battery discharged while the screen was dozing in mAh.
+ // This will only be non-zero for devices that report battery discharge
+ // via a coulomb counter. For historical reasons, total_mah_screen_doze is
+ // a subset of total_mah_screen_off.
+ optional int64 total_mah_screen_doze = 8;
+ // Total amount of battery discharged in mAh while the device was in light doze mode.
+ // This will only be non-zero for devices that report battery discharge
+ // via a coulomb counter.
+ optional int64 total_mah_light_doze = 9;
+ // Total amount of battery discharged in mAh while the device was in deep doze mode.
+ // This will only be non-zero for devices that report battery discharge
+ // via a coulomb counter.
+ optional int64 total_mah_deep_doze = 10;
+ };
+ optional BatteryDischarge battery_discharge = 2;
- // BatteryLevelStep tracks data for which conditions were continuously held for
- // the entire duration. Field for which the conditions were not consistent
- // for the entire duration should be marked MIXED.
- message BatteryLevelStep {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
-
- // How long the battery was at the current level.
- optional int64 duration_ms = 1;
- // Battery level
- optional int32 level = 2;
-
- // State of the display. A special enum is used rather than
- // DisplayProto.State because a MIXED value needs to be in the enum, and
- // batterystats doesn't care about all of the different display states.
- enum DisplayState {
- DS_MIXED = 0;
- DS_ON = 1;
- DS_OFF = 2;
- DS_DOZE = 3;
- DS_DOZE_SUSPEND = 4;
- // Any display state error that comes through should be sent to hackbod@.
- DS_ERROR = 5;
+ oneof time_remaining {
+ // Approximation for how much time remains until the battery is fully
+ // charged. The device will print -1 if there wasn't enough data to
+ // calculate an estimate, or if the battery is currently discharging.
+ int64 charge_time_remaining_ms = 3;
+ // Approximation for how much time remains until the battery is fully
+ // discharged. The device will print -1 if there wasn't enough data to
+ // calculate an estimate, or if the battery is currently charging.
+ int64 discharge_time_remaining_ms = 4;
}
- // The state of the display for the entire battery level step. MIXED is used
- // if there were multiple states for this step.
- optional DisplayState display_state = 3;
- // Indicates status in power save mode.
- enum PowerSaveMode {
- PSM_MIXED = 0;
- PSM_ON = 1;
- PSM_OFF = 2;
+ // BatteryLevelStep tracks data for which conditions were continuously held for
+ // the entire duration. Field for which the conditions were not consistent
+ // for the entire duration should be marked MIXED.
+ message BatteryLevelStep {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ // How long the battery was at the current level.
+ optional int64 duration_ms = 1;
+ // Battery level
+ optional int32 level = 2;
+
+ // State of the display. A special enum is used rather than
+ // DisplayProto.State because a MIXED value needs to be in the enum, and
+ // batterystats doesn't care about all of the different display states.
+ enum DisplayState {
+ DS_MIXED = 0;
+ DS_ON = 1;
+ DS_OFF = 2;
+ DS_DOZE = 3;
+ DS_DOZE_SUSPEND = 4;
+ // Any display state error that comes through should be sent to hackbod@.
+ DS_ERROR = 5;
+ }
+ // The state of the display for the entire battery level step. MIXED is used
+ // if there were multiple states for this step.
+ optional DisplayState display_state = 3;
+
+ // Indicates status in power save mode.
+ enum PowerSaveMode {
+ PSM_MIXED = 0;
+ PSM_ON = 1;
+ PSM_OFF = 2;
+ }
+ // Battery Saver mode for the entire battery level step. MIXED is used
+ // if there were multiple states for this step.
+ optional PowerSaveMode power_save_mode = 4;
+
+ // Indicates status in idle mode.
+ enum IdleMode {
+ IM_MIXED = 0;
+ IM_ON = 2;
+ IM_OFF = 3;
+ }
+ // Doze mode for the entire battery level step. MIXED is used if there were
+ // multiple states for this step.
+ optional IdleMode idle_mode = 5;
+ };
+ // Battery level steps when the device was charging.
+ repeated BatteryLevelStep charge_step = 5;
+ // Battery level steps when the device was discharging.
+ repeated BatteryLevelStep discharge_step = 6;
+
+ // All CPU frequencies of the device.
+ repeated int64 cpu_frequency = 7;
+
+ message DataConnection {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ oneof type {
+ android.telephony.NetworkTypeEnum name = 1;
+ // If is_none is not set, then the name is a valid network type.
+ bool is_none = 2;
+ }
+ optional TimerProto total = 3;
+ };
+ repeated DataConnection data_connection = 8;
+
+ optional ControllerActivityProto global_bluetooth_controller = 9;
+ optional ControllerActivityProto global_modem_controller = 10;
+ optional ControllerActivityProto global_wifi_controller = 11;
+
+ message GlobalNetwork {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ // Total Bytes received on mobile connections.
+ optional int64 mobile_bytes_rx = 1;
+ // Total Bytes transmitted on mobile connections.
+ optional int64 mobile_bytes_tx = 2;
+ // Total Bytes received on wifi connections.
+ optional int64 wifi_bytes_rx = 3;
+ // Total Bytes transmitted on wifi connections.
+ optional int64 wifi_bytes_tx = 4;
+ // Total Packets received on mobile connections.
+ optional int64 mobile_packets_rx = 5;
+ // Total Packets transmitted on mobile connections.
+ optional int64 mobile_packets_tx = 6;
+ // Total Packets received on wifi connections.
+ optional int64 wifi_packets_rx = 7;
+ // Total Packets transmitted on wifi connections.
+ optional int64 wifi_packets_tx = 8;
+ // Total Bytes received on bluetooth connections.
+ optional int64 bt_bytes_rx = 9;
+ // Total Bytes transmitted on bluetooth connections.
+ optional int64 bt_bytes_tx = 10;
+ };
+ optional GlobalNetwork global_network = 12;
+
+ message GlobalWifi {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ // The amount of time that wifi has been on while the device was running on
+ // battery.
+ optional int64 on_duration_ms = 1;
+ // The amount of time that wifi has been on and the driver has been in the
+ // running state while the device was running on battery.
+ optional int64 running_duration_ms = 2;
}
- // Battery Saver mode for the entire battery level step. MIXED is used
- // if there were multiple states for this step.
- optional PowerSaveMode power_save_mode = 4;
+ optional GlobalWifi global_wifi = 13;
- // Indicates status in idle mode.
- enum IdleMode {
- IM_MIXED = 0;
- IM_ON = 2;
- IM_OFF = 3;
+ // Kernel wakelock metrics are only recorded when the device is unplugged
+ // *and* the screen is off.
+ message KernelWakelock {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional string name = 1;
+ // Kernel wakelock stats aren't apportioned across all kernel wakelocks (as
+ // app wakelocks stats are).
+ optional TimerProto total = 2;
+ // The kernel doesn't have the data to enable printing out current and max
+ // durations.
+ };
+ repeated KernelWakelock kernel_wakelock = 14;
+
+ message Misc {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional int64 screen_on_duration_ms = 1;
+ optional int64 phone_on_duration_ms = 2;
+ optional int64 full_wakelock_total_duration_ms = 3;
+ // The total elapsed time that a partial wakelock was held. This duration
+ // does not double count wakelocks held at the same time.
+ optional int64 partial_wakelock_total_duration_ms = 4;
+ optional int64 mobile_radio_active_duration_ms = 5;
+ // The time that is the difference between the mobile radio time we saw
+ // based on the elapsed timestamp when going down vs. the given time stamp
+ // from the radio.
+ optional int64 mobile_radio_active_adjusted_time_ms = 6;
+ optional int32 mobile_radio_active_count = 7;
+ // The amount of time that the mobile network has been active (in a high
+ // power state) but not being able to blame on an app.
+ optional int32 mobile_radio_active_unknown_duration_ms = 8;
+ // Total amount of time the device was in the interactive state.
+ optional int64 interactive_duration_ms = 9;
+ optional int64 battery_saver_mode_enabled_duration_ms = 10;
+ optional int32 num_connectivity_changes = 11;
+ // Amount of time the device was in deep Doze.
+ optional int64 deep_doze_enabled_duration_ms = 12;
+ // How many times the device went into deep Doze mode.
+ optional int32 deep_doze_count = 13;
+ // Amount of time the device was idling in deep Doze. Idling time
+ // encompasses "doze" time and the maintenance windows that allow apps to
+ // operate.
+ optional int64 deep_doze_idling_duration_ms = 14;
+ // How many times the device idling for deep Doze mode.
+ optional int32 deep_doze_idling_count = 15;
+ optional int64 longest_deep_doze_duration_ms = 16;
+ // Amount of time the device was in Doze Light.
+ optional int64 light_doze_enabled_duration_ms = 17;
+ // How many times the device went into Doze Light mode.
+ optional int32 light_doze_count = 18;
+ // Amount of time the device was idling in Doze Light. Idling time
+ // encompasses "doze" time and the maintenance windows that allow apps to
+ // operate.
+ optional int64 light_doze_idling_duration_ms = 19;
+ // How many times the device idling for Doze Light mode.
+ optional int32 light_doze_idling_count = 20;
+ optional int64 longest_light_doze_duration_ms = 21;
}
- // Doze mode for the entire battery level step. MIXED is used if there were
- // multiple states for this step.
- optional IdleMode idle_mode = 5;
- };
- // Battery level steps when the device was charging.
- repeated BatteryLevelStep charge_step = 5;
- // Battery level steps when the device was discharging.
- repeated BatteryLevelStep discharge_step = 6;
+ optional Misc misc = 15;
- // All CPU frequencies of the device.
- repeated int64 cpu_frequency = 7;
+ message PhoneSignalStrength {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- message DataConnection {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
- oneof type {
- android.telephony.NetworkTypeEnum name = 1;
- // If is_none is not set, then the name is a valid network type.
- bool is_none = 2;
+ optional android.telephony.SignalStrengthEnum name = 1;
+ optional TimerProto total = 2;
+ };
+ repeated PhoneSignalStrength phone_signal_strength = 16;
+
+ message PowerUseItem {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ enum Sipper {
+ UNKNOWN_SIPPER = 0;
+ IDLE = 1;
+ CELL = 2;
+ PHONE = 3;
+ WIFI = 4;
+ BLUETOOTH = 5;
+ FLASHLIGHT = 6;
+ SCREEN = 7;
+ USER = 8;
+ UNACCOUNTED = 9;
+ OVERCOUNTED = 10;
+ CAMERA = 11;
+ MEMORY = 12;
+ AMBIENT_DISPLAY = 13;
+ };
+ optional Sipper name = 1;
+ // UID, only valid for the USER sipper.
+ optional int32 uid = 2;
+ // Estimated power use in mAh.
+ optional double computed_power_mah = 3;
+ // Starting in Oreo, Battery Settings has two modes to display the battery
+ // info. The first is "app usage list". In this mode, items with should_hide
+ // enabled are hidden.
+ optional bool should_hide = 4;
+ // Smeared power from screen usage. Screen usage power is split and smeared
+ // among apps, based on activity time.
+ optional double screen_power_mah = 5;
+ // Smeared power using proportional method. Power usage from hidden sippers
+ // is smeared to all apps proportionally (except for screen usage).
+ optional double proportional_smear_mah = 6;
+ };
+ repeated PowerUseItem power_use_item = 17;
+
+ message PowerUseSummary {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional double battery_capacity_mah = 1;
+ optional double computed_power_mah = 2;
+ // Lower bound of actual power drained.
+ optional double min_drained_power_mah = 3;
+ // Upper bound of actual power drained.
+ optional double max_drained_power_mah = 4;
+ };
+ optional PowerUseSummary power_use_summary = 18;
+
+ message ResourcePowerManager {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ // Either StateName or StateName.VoterName.
+ optional string name = 1;
+ optional TimerProto total = 2;
+ optional TimerProto screen_off = 3;
}
- optional TimerProto total = 3;
- };
- repeated DataConnection data_connection = 8;
+ repeated ResourcePowerManager resource_power_manager = 19;
- optional ControllerActivityProto global_bluetooth_controller = 9;
- optional ControllerActivityProto global_modem_controller = 10;
- optional ControllerActivityProto global_wifi_controller = 11;
+ message ScreenBrightness {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- message GlobalNetwork {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
-
- // Total Bytes received on mobile connections.
- optional int64 mobile_bytes_rx = 1;
- // Total Bytes transmitted on mobile connections.
- optional int64 mobile_bytes_tx = 2;
- // Total Bytes received on wifi connections.
- optional int64 wifi_bytes_rx = 3;
- // Total Bytes transmitted on wifi connections.
- optional int64 wifi_bytes_tx = 4;
- // Total Packets received on mobile connections.
- optional int64 mobile_packets_rx = 5;
- // Total Packets transmitted on mobile connections.
- optional int64 mobile_packets_tx = 6;
- // Total Packets received on wifi connections.
- optional int64 wifi_packets_rx = 7;
- // Total Packets transmitted on wifi connections.
- optional int64 wifi_packets_tx = 8;
- // Total Bytes received on bluetooth connections.
- optional int64 bt_bytes_rx = 9;
- // Total Bytes transmitted on bluetooth connections.
- optional int64 bt_bytes_tx = 10;
- };
- optional GlobalNetwork global_network = 12;
-
- message GlobalWifi {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
-
- // The amount of time that wifi has been on while the device was running on
- // battery.
- optional int64 on_duration_ms = 1;
- // The amount of time that wifi has been on and the driver has been in the
- // running state while the device was running on battery.
- optional int64 running_duration_ms = 2;
- }
- optional GlobalWifi global_wifi = 13;
-
- // Kernel wakelock metrics are only recorded when the device is unplugged
- // *and* the screen is off.
- message KernelWakelock {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional string name = 1;
- // Kernel wakelock stats aren't apportioned across all kernel wakelocks (as
- // app wakelocks stats are).
- optional TimerProto total = 2;
- // The kernel doesn't have the data to enable printing out current and max
- // durations.
- };
- repeated KernelWakelock kernel_wakelock = 14;
-
- message Misc {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional int64 screen_on_duration_ms = 1;
- optional int64 phone_on_duration_ms = 2;
- optional int64 full_wakelock_total_duration_ms = 3;
- // The total elapsed time that a partial wakelock was held. This duration
- // does not double count wakelocks held at the same time.
- optional int64 partial_wakelock_total_duration_ms = 4;
- optional int64 mobile_radio_active_duration_ms = 5;
- // The time that is the difference between the mobile radio time we saw
- // based on the elapsed timestamp when going down vs. the given time stamp
- // from the radio.
- optional int64 mobile_radio_active_adjusted_time_ms = 6;
- optional int32 mobile_radio_active_count = 7;
- // The amount of time that the mobile network has been active (in a high
- // power state) but not being able to blame on an app.
- optional int32 mobile_radio_active_unknown_duration_ms = 8;
- // Total amount of time the device was in the interactive state.
- optional int64 interactive_duration_ms = 9;
- optional int64 battery_saver_mode_enabled_duration_ms = 10;
- optional int32 num_connectivity_changes = 11;
- // Amount of time the device was in deep Doze.
- optional int64 deep_doze_enabled_duration_ms = 12;
- // How many times the device went into deep Doze mode.
- optional int32 deep_doze_count = 13;
- // Amount of time the device was idling in deep Doze. Idling time
- // encompasses "doze" time and the maintenance windows that allow apps to
- // operate.
- optional int64 deep_doze_idling_duration_ms = 14;
- // How many times the device idling for deep Doze mode.
- optional int32 deep_doze_idling_count = 15;
- optional int64 longest_deep_doze_duration_ms = 16;
- // Amount of time the device was in Doze Light.
- optional int64 light_doze_enabled_duration_ms = 17;
- // How many times the device went into Doze Light mode.
- optional int32 light_doze_count = 18;
- // Amount of time the device was idling in Doze Light. Idling time
- // encompasses "doze" time and the maintenance windows that allow apps to
- // operate.
- optional int64 light_doze_idling_duration_ms = 19;
- // How many times the device idling for Doze Light mode.
- optional int32 light_doze_idling_count = 20;
- optional int64 longest_light_doze_duration_ms = 21;
- }
- optional Misc misc = 15;
-
- message PhoneSignalStrength {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional android.telephony.SignalStrengthEnum name = 1;
- optional TimerProto total = 2;
- };
- repeated PhoneSignalStrength phone_signal_strength = 16;
-
- message PowerUseItem {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
-
- enum Sipper {
- UNKNOWN_SIPPER = 0;
- IDLE = 1;
- CELL = 2;
- PHONE = 3;
- WIFI = 4;
- BLUETOOTH = 5;
- FLASHLIGHT = 6;
- SCREEN = 7;
- USER = 8;
- UNACCOUNTED = 9;
- OVERCOUNTED = 10;
- CAMERA = 11;
- MEMORY = 12;
- AMBIENT_DISPLAY = 13;
+ enum Name {
+ DARK = 0; // Not screen-off.
+ DIM = 1;
+ MEDIUM = 2;
+ LIGHT = 3;
+ BRIGHT = 4;
+ };
+ optional Name name = 1;
+ optional TimerProto total = 2;
};
- optional Sipper name = 1;
- // UID, only valid for the USER sipper.
- optional int32 uid = 2;
- // Estimated power use in mAh.
- optional double computed_power_mah = 3;
- // Starting in Oreo, Battery Settings has two modes to display the battery
- // info. The first is "app usage list". In this mode, items with should_hide
- // enabled are hidden.
- optional bool should_hide = 4;
- // Smeared power from screen usage. Screen usage power is split and smeared
- // among apps, based on activity time.
- optional double screen_power_mah = 5;
- // Smeared power using proportional method. Power usage from hidden sippers
- // is smeared to all apps proportionally (except for screen usage).
- optional double proportional_smear_mah = 6;
- };
- repeated PowerUseItem power_use_item = 17;
+ repeated ScreenBrightness screen_brightness = 20;
- message PowerUseSummary {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ // Duration and number of times trying to acquire a signal
+ optional TimerProto signal_scanning = 21;
- optional double battery_capacity_mah = 1;
- optional double computed_power_mah = 2;
- // Lower bound of actual power drained.
- optional double min_drained_power_mah = 3;
- // Upper bound of actual power drained.
- optional double max_drained_power_mah = 4;
- };
- optional PowerUseSummary power_use_summary = 18;
+ message WakeupReason {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- message ResourcePowerManager {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
-
- // Either StateName or StateName.VoterName.
- optional string name = 1;
- optional TimerProto total = 2;
- optional TimerProto screen_off = 3;
- }
- repeated ResourcePowerManager resource_power_manager = 19;
-
- message ScreenBrightness {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
-
- enum Name {
- DARK = 0; // Not screen-off.
- DIM = 1;
- MEDIUM = 2;
- LIGHT = 3;
- BRIGHT = 4;
+ optional string name = 1;
+ optional TimerProto total = 2;
};
- optional Name name = 1;
- optional TimerProto total = 2;
- };
- repeated ScreenBrightness screen_brightness = 20;
+ repeated WakeupReason wakeup_reason = 22;
- // Duration and number of times trying to acquire a signal
- optional TimerProto signal_scanning = 21;
+ message WifiMulticastWakelockTotal {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- message WakeupReason {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ optional int64 duration_ms = 1;
+ optional int32 count = 2;
+ }
+ optional WifiMulticastWakelockTotal wifi_multicast_wakelock_total = 23;
- optional string name = 1;
- optional TimerProto total = 2;
- };
- repeated WakeupReason wakeup_reason = 22;
+ message WifiSignalStrength {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- message WifiMulticastWakelockTotal {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional int64 duration_ms = 1;
- optional int32 count = 2;
- }
- optional WifiMulticastWakelockTotal wifi_multicast_wakelock_total = 23;
-
- message WifiSignalStrength {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
-
- enum Name {
- NONE = 0;
- POOR = 1;
- MODERATE = 2;
- GOOD = 3;
- GREAT = 4;
+ enum Name {
+ NONE = 0;
+ POOR = 1;
+ MODERATE = 2;
+ GOOD = 3;
+ GREAT = 4;
+ };
+ optional Name name = 1;
+ optional TimerProto total = 2;
};
- optional Name name = 1;
- optional TimerProto total = 2;
- };
- repeated WifiSignalStrength wifi_signal_strength = 24;
+ repeated WifiSignalStrength wifi_signal_strength = 24;
- message WifiState {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ message WifiState {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- enum Name {
- OFF = 0;
- OFF_SCANNING = 1;
- ON_NO_NETWORKS = 2;
- ON_DISCONNECTED = 3;
- ON_CONNECTED_STA = 4;
- ON_CONNECTED_P2P = 5;
- ON_CONNECTED_STA_P2P = 6;
- SOFT_AP = 7;
+ enum Name {
+ OFF = 0;
+ OFF_SCANNING = 1;
+ ON_NO_NETWORKS = 2;
+ ON_DISCONNECTED = 3;
+ ON_CONNECTED_STA = 4;
+ ON_CONNECTED_P2P = 5;
+ ON_CONNECTED_STA_P2P = 6;
+ SOFT_AP = 7;
+ };
+ optional Name name = 1;
+ optional TimerProto total = 2;
};
- optional Name name = 1;
- optional TimerProto total = 2;
- };
- repeated WifiState wifi_state = 25;
+ repeated WifiState wifi_state = 25;
- message WifiSupplicantState {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ message WifiSupplicantState {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- enum Name {
- INVALID = 0;
- DISCONNECTED = 1;
- INTERFACE_DISABLED = 2;
- INACTIVE = 3;
- SCANNING = 4;
- AUTHENTICATING = 5;
- ASSOCIATING = 6;
- ASSOCIATED = 7;
- FOUR_WAY_HANDSHAKE = 8;
- GROUP_HANDSHAKE = 9;
- COMPLETED = 10;
- DORMANT = 11;
- UNINITIALIZED = 12;
+ enum Name {
+ INVALID = 0;
+ DISCONNECTED = 1;
+ INTERFACE_DISABLED = 2;
+ INACTIVE = 3;
+ SCANNING = 4;
+ AUTHENTICATING = 5;
+ ASSOCIATING = 6;
+ ASSOCIATED = 7;
+ FOUR_WAY_HANDSHAKE = 8;
+ GROUP_HANDSHAKE = 9;
+ COMPLETED = 10;
+ DORMANT = 11;
+ UNINITIALIZED = 12;
+ };
+ optional Name name = 1;
+ optional TimerProto total = 2;
};
- optional Name name = 1;
- optional TimerProto total = 2;
- };
- repeated WifiSupplicantState wifi_supplicant_state = 26;
+ repeated WifiSupplicantState wifi_supplicant_state = 26;
}
message TimerProto {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- // This may be an apportioned time.
- optional int64 duration_ms = 1;
- optional int64 count = 2;
- // The max duration if it is being tracked. Not all Timer subclasses
- // track the max duration.
- optional int64 max_duration_ms = 3;
- // The current time the timer has been active, if it is being tracked.
- // Not all Timer subclasses track the current duration.
- optional int64 current_duration_ms = 4;
- // The total cumulative duration (i.e. sum of past durations) that this timer
- // has been on since reset. This may differ from duration_ms since, depending
- // on the Timer, getTotalTimeLocked may represent the total 'blamed' or
- // 'pooled' time, rather than the actual time. By contrast, total_duration_ms
- // always gives the actual total time. Not all Timer subclasses track the
- // total duration.
- optional int64 total_duration_ms = 5;
+ // This may be an apportioned time.
+ optional int64 duration_ms = 1;
+ optional int64 count = 2;
+ // The max duration if it is being tracked. Not all Timer subclasses
+ // track the max duration.
+ optional int64 max_duration_ms = 3;
+ // The current time the timer has been active, if it is being tracked.
+ // Not all Timer subclasses track the current duration.
+ optional int64 current_duration_ms = 4;
+ // The total cumulative duration (i.e. sum of past durations) that this timer
+ // has been on since reset. This may differ from duration_ms since, depending
+ // on the Timer, getTotalTimeLocked may represent the total 'blamed' or
+ // 'pooled' time, rather than the actual time. By contrast, total_duration_ms
+ // always gives the actual total time. Not all Timer subclasses track the
+ // total duration.
+ optional int64 total_duration_ms = 5;
}
message UidProto {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
-
- // Combination of app ID and user ID.
- optional int32 uid = 1;
-
- // The statistics associated with a particular package.
- message Package {
option (android.msg_privacy).dest = DEST_AUTOMATIC;
- optional string name = 1;
+ // Combination of app ID and user ID.
+ optional int32 uid = 1;
- message Service {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ // The statistics associated with a particular package.
+ message Package {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- optional string name = 1;
- // Time spent started.
- optional int64 start_duration_ms = 2;
- optional int32 start_count = 3;
- optional int32 launch_count = 4;
+ optional string name = 1;
+
+ message Service {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional string name = 1;
+ // Time spent started.
+ optional int64 start_duration_ms = 2;
+ optional int32 start_count = 3;
+ optional int32 launch_count = 4;
+ }
+ repeated Service services = 2;
}
- repeated Service services = 2;
- }
- repeated Package packages = 2;
+ repeated Package packages = 2;
- optional ControllerActivityProto bluetooth_controller = 3;
- optional ControllerActivityProto modem_controller = 4;
- optional ControllerActivityProto wifi_controller = 5;
+ optional ControllerActivityProto bluetooth_controller = 3;
+ optional ControllerActivityProto modem_controller = 4;
+ optional ControllerActivityProto wifi_controller = 5;
- // Bluetooth misc data.
- message BluetoothMisc {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ // Bluetooth misc data.
+ message BluetoothMisc {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- // Duration spent BLE scanning blamed on this App (i.e. apportioned to this
- // app amongst all apps doing BLE scanning; see explanation of 'apportioned'
- // in App's comment).
- optional TimerProto apportioned_ble_scan = 1;
- // Background times aren't apportioned.
- optional TimerProto background_ble_scan = 2;
- // Running unoptimized BLE scanning, as defined by Bluetooth's
- // AppScanStats.recordScanStart. As of May 2017, these are unfiltered,
- // non-opportunistic, non-first-match scans. Durations are not
- // pooled/apportioned.
- optional TimerProto unoptimized_ble_scan = 3;
- // Running unoptimized BLE scanning when app is in background. Durations are
- // not pooled/apportioned.
- optional TimerProto background_unoptimized_ble_scan = 4;
- // Count of results returned by BLE scanning.
- optional int32 ble_scan_result_count = 5;
- // Count of results returned by BLE scans when app is in background.
- // (Included in ble_scan_result_count.)
- optional int32 background_ble_scan_result_count = 6;
- }
- optional BluetoothMisc bluetooth_misc = 6;
-
- message Cpu {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
-
- // Total CPU time with processes executing in userspace. Summed up across
- // multiple cores.
- optional int64 user_duration_ms = 1;
- // Total CPU time with processes executing kernel syscalls. Summed up across
- // multiple cores.
- optional int64 system_duration_ms = 2;
-
- // CPU time broken down by CPU frequency (go/cpu-battery-metrics).
- //
- // These are real CPU time measurement from the kernel, so their sum can
- // be different from the sum of user_duration_millis and
- // system_duration_millis, which are just approximations. Data is not
- // tracked when device is charging.
- message ByFrequency {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
-
- // Index of the frequency in system.cpu_frequency. It starts from 1, to
- // make it easier to analyze.
- optional int32 frequency_index = 1;
- // CPU time in milliseconds.
- optional int64 total_duration_ms = 2;
- // Screen-off CPU time in milliseconds.
- optional int64 screen_off_duration_ms = 3;
+ // Duration spent BLE scanning blamed on this App (i.e. apportioned to this
+ // app amongst all apps doing BLE scanning; see explanation of 'apportioned'
+ // in App's comment).
+ optional TimerProto apportioned_ble_scan = 1;
+ // Background times aren't apportioned.
+ optional TimerProto background_ble_scan = 2;
+ // Running unoptimized BLE scanning, as defined by Bluetooth's
+ // AppScanStats.recordScanStart. As of May 2017, these are unfiltered,
+ // non-opportunistic, non-first-match scans. Durations are not
+ // pooled/apportioned.
+ optional TimerProto unoptimized_ble_scan = 3;
+ // Running unoptimized BLE scanning when app is in background. Durations are
+ // not pooled/apportioned.
+ optional TimerProto background_unoptimized_ble_scan = 4;
+ // Count of results returned by BLE scanning.
+ optional int32 ble_scan_result_count = 5;
+ // Count of results returned by BLE scans when app is in background.
+ // (Included in ble_scan_result_count.)
+ optional int32 background_ble_scan_result_count = 6;
}
- // CPU times accumulated across all process states.
- repeated ByFrequency by_frequency = 3;
+ optional BluetoothMisc bluetooth_misc = 6;
- enum ProcessState {
- TOP = 0;
- FOREGROUND_SERVICE = 1;
- FOREGROUND = 2;
- BACKGROUND = 3;
- TOP_SLEEPING = 4;
- HEAVY_WEIGHT = 5;
- CACHED = 6;
+ message Cpu {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ // Total CPU time with processes executing in userspace. Summed up across
+ // multiple cores.
+ optional int64 user_duration_ms = 1;
+ // Total CPU time with processes executing kernel syscalls. Summed up across
+ // multiple cores.
+ optional int64 system_duration_ms = 2;
+
+ // CPU time broken down by CPU frequency (go/cpu-battery-metrics).
+ //
+ // These are real CPU time measurement from the kernel, so their sum can
+ // be different from the sum of user_duration_millis and
+ // system_duration_millis, which are just approximations. Data is not
+ // tracked when device is charging.
+ message ByFrequency {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ // Index of the frequency in system.cpu_frequency. It starts from 1, to
+ // make it easier to analyze.
+ optional int32 frequency_index = 1;
+ // CPU time in milliseconds.
+ optional int64 total_duration_ms = 2;
+ // Screen-off CPU time in milliseconds.
+ optional int64 screen_off_duration_ms = 3;
+ }
+ // CPU times accumulated across all process states.
+ repeated ByFrequency by_frequency = 3;
+
+ enum ProcessState {
+ TOP = 0;
+ FOREGROUND_SERVICE = 1;
+ FOREGROUND = 2;
+ BACKGROUND = 3;
+ TOP_SLEEPING = 4;
+ HEAVY_WEIGHT = 5;
+ CACHED = 6;
+ }
+ // CPU times at different process states.
+ message ByProcessState {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional ProcessState process_state = 1;
+ repeated ByFrequency by_frequency = 2;
+ }
+ repeated ByProcessState by_process_state = 4;
}
- // CPU times at different process states.
- message ByProcessState {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ optional Cpu cpu = 7;
- optional ProcessState process_state = 1;
- repeated ByFrequency by_frequency = 2;
+ // Duration is pooled/apportioned.
+ optional TimerProto audio = 8;
+ // Duration is pooled/apportioned.
+ optional TimerProto camera = 9;
+ // Duration is pooled/apportioned.
+ optional TimerProto flashlight = 10;
+ // Duration is not pooled/apportioned.
+ optional TimerProto foreground_activity = 11;
+ // Duration is not pooled/apportioned.
+ optional TimerProto foreground_service = 12;
+ // Duration is not pooled/apportioned.
+ optional TimerProto vibrator = 13;
+ // Duration is pooled/apportioned.
+ optional TimerProto video = 14;
+
+ message Job {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional string name = 1;
+ // Job times aren't apportioned.
+ optional TimerProto total = 2;
+ optional TimerProto background = 3;
}
- repeated ByProcessState by_process_state = 4;
- }
- optional Cpu cpu = 7;
+ repeated Job jobs = 15;
- // Duration is pooled/apportioned.
- optional TimerProto audio = 8;
- // Duration is pooled/apportioned.
- optional TimerProto camera = 9;
- // Duration is pooled/apportioned.
- optional TimerProto flashlight = 10;
- // Duration is not pooled/apportioned.
- optional TimerProto foreground_activity = 11;
- // Duration is not pooled/apportioned.
- optional TimerProto foreground_service = 12;
- // Duration is not pooled/apportioned.
- optional TimerProto vibrator = 13;
- // Duration is pooled/apportioned.
- optional TimerProto video = 14;
+ message JobCompletion {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- message Job {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ // Job name.
+ optional string name = 1;
- optional string name = 1;
- // Job times aren't apportioned.
- optional TimerProto total = 2;
- optional TimerProto background = 3;
- }
- repeated Job jobs = 15;
+ message ReasonCount {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- message JobCompletion {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ optional android.app.job.StopReasonEnum name = 1;
+ optional int32 count = 2;
+ }
+ repeated ReasonCount reason_count = 2;
+ };
+ repeated JobCompletion job_completion = 16;
- // Job name.
- optional string name = 1;
+ message Network {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- message ReasonCount {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ // Mobile data traffic (total, background + foreground).
+ optional int64 mobile_bytes_rx = 1;
+ optional int64 mobile_bytes_tx = 2;
+ // Wifi data traffic (total, background + foreground).
+ optional int64 wifi_bytes_rx = 3;
+ optional int64 wifi_bytes_tx = 4;
+ // Bluetooth data traffic (total, background + foreground).
+ optional int64 bt_bytes_rx = 5;
+ optional int64 bt_bytes_tx = 6;
+ // In packets (total, background + foreground).
+ optional int64 mobile_packets_rx = 7;
+ optional int64 mobile_packets_tx = 8;
+ optional int64 wifi_packets_rx = 9;
+ optional int64 wifi_packets_tx = 10;
+ // Radio active duration.
+ optional int64 mobile_active_duration_ms = 11;
+ optional int32 mobile_active_count = 12;
+ // Number of times the app woke up the mobile radio.
+ optional int32 mobile_wakeup_count = 13;
+ // Number of times the app woke up the wifi radio.
+ optional int32 wifi_wakeup_count = 14;
+ // Mobile data traffic in the background only, included in total above.
+ optional int64 mobile_bytes_bg_rx = 15;
+ optional int64 mobile_bytes_bg_tx = 16;
+ // Wifi data traffic in the background only, included in total above.
+ optional int64 wifi_bytes_bg_rx = 17;
+ optional int64 wifi_bytes_bg_tx = 18;
+ // In packets (background only, included in total packets above).
+ optional int64 mobile_packets_bg_rx = 19;
+ optional int64 mobile_packets_bg_tx = 20;
+ optional int64 wifi_packets_bg_rx = 21;
+ optional int64 wifi_packets_bg_tx = 22;
+ };
+ optional Network network = 17;
- optional android.app.job.StopReasonEnum name = 1;
- optional int32 count = 2;
+ // TODO: combine System and App messages?
+ message PowerUseItem {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ // Estimated power use in mAh.
+ optional double computed_power_mah = 1;
+ // Starting in Oreo, Battery Settings has two modes to display the battery
+ // info. The first is "app usage list". In this mode, items with should_hide
+ // enabled are hidden.
+ optional bool should_hide = 2;
+ // Smeared power from screen usage. Screen usage power is split and smeared
+ // among apps, based on activity time.
+ optional double screen_power_mah = 3;
+ // Smeared power using proportional method. Power usage from hidden sippers
+ // is smeared to all apps proportionally (except for screen usage).
+ optional double proportional_smear_mah = 4;
+ };
+ optional PowerUseItem power_use_item = 18;
+
+ // Durations are not pooled/apportioned.
+ message Process {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional string name = 1;
+ // Time spent executing in user code.
+ optional int64 user_duration_ms = 2;
+ // Time spent executing in kernel code.
+ optional int64 system_duration_ms = 3;
+ // Time the process was running in the foreground.
+ optional int64 foreground_duration_ms = 4;
+ // Number of times the process has been started.
+ optional int32 start_count = 5;
+ // Number of times the process has had an ANR.
+ optional int32 anr_count = 6;
+ // Number of times the process has crashed.
+ optional int32 crash_count = 7;
+ };
+ repeated Process process = 19;
+
+ message StateTime {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ // All of these (non-deprecated) states are mutually exclusive and can be
+ // added together to find the total time a uid has had any processes running
+ // at all.
+
+ // In approximate order or priority (top being what the framework considers
+ // most important and is thus least likely to kill when resources are
+ // needed:
+ // top > foreground service > foreground > background > top sleeping > heavy weight > cache
+ enum State {
+ // Time this uid has any processes in the top state.
+ PROCESS_STATE_TOP = 0;
+ // Time this uid has any process with a started foreground service, but
+ // none in the "top" state.
+ PROCESS_STATE_FOREGROUND_SERVICE = 1;
+ // Time this uid has any process in an active foreground state, but none in the
+ // "foreground service" or better state. Persistent and other foreground states go here.
+ PROCESS_STATE_FOREGROUND = 2;
+ // Time this uid has any process in an active background state, but none
+ // in the "foreground" or better state.
+ PROCESS_STATE_BACKGROUND = 3;
+ // Time this uid has any process that is top while the device is sleeping,
+ // but not active for any other reason. We consider is a kind of cached
+ // process for execution restrictions. Sleeping is mostly screen off, but
+ // also includes the time when the screen is on but the device has not yet
+ // been unlocked.
+ PROCESS_STATE_TOP_SLEEPING = 4;
+ // Time this uid has any process that is in the background but it has an
+ // activity marked as "can't save state". This is essentially a cached
+ // process, though the system will try much harder than normal to avoid
+ // killing it.
+ PROCESS_STATE_HEAVY_WEIGHT = 5;
+ // Time this uid has any processes that are sitting around cached, not in
+ // one of the other active states.
+ PROCESS_STATE_CACHED = 6;
+ }
+ optional State state = 1;
+ optional int64 duration_ms = 2;
}
- repeated ReasonCount reason_count = 2;
- };
- repeated JobCompletion job_completion = 16;
+ repeated StateTime states = 20;
- message Network {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ message Sensor {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- // Mobile data traffic (total, background + foreground).
- optional int64 mobile_bytes_rx = 1;
- optional int64 mobile_bytes_tx = 2;
- // Wifi data traffic (total, background + foreground).
- optional int64 wifi_bytes_rx = 3;
- optional int64 wifi_bytes_tx = 4;
- // Bluetooth data traffic (total, background + foreground).
- optional int64 bt_bytes_rx = 5;
- optional int64 bt_bytes_tx = 6;
- // In packets (total, background + foreground).
- optional int64 mobile_packets_rx = 7;
- optional int64 mobile_packets_tx = 8;
- optional int64 wifi_packets_rx = 9;
- optional int64 wifi_packets_tx = 10;
- // Radio active duration.
- optional int64 mobile_active_duration_ms = 11;
- optional int32 mobile_active_count = 12;
- // Number of times the app woke up the mobile radio.
- optional int32 mobile_wakeup_count = 13;
- // Number of times the app woke up the wifi radio.
- optional int32 wifi_wakeup_count = 14;
- // Mobile data traffic in the background only, included in total above.
- optional int64 mobile_bytes_bg_rx = 15;
- optional int64 mobile_bytes_bg_tx = 16;
- // Wifi data traffic in the background only, included in total above.
- optional int64 wifi_bytes_bg_rx = 17;
- optional int64 wifi_bytes_bg_tx = 18;
- // In packets (background only, included in total packets above).
- optional int64 mobile_packets_bg_rx = 19;
- optional int64 mobile_packets_bg_tx = 20;
- optional int64 wifi_packets_bg_rx = 21;
- optional int64 wifi_packets_bg_tx = 22;
- };
- optional Network network = 17;
-
- // TODO: combine System and App messages?
- message PowerUseItem {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
-
- // Estimated power use in mAh.
- optional double computed_power_mah = 1;
- // Starting in Oreo, Battery Settings has two modes to display the battery
- // info. The first is "app usage list". In this mode, items with should_hide
- // enabled are hidden.
- optional bool should_hide = 2;
- // Smeared power from screen usage. Screen usage power is split and smeared
- // among apps, based on activity time.
- optional double screen_power_mah = 3;
- // Smeared power using proportional method. Power usage from hidden sippers
- // is smeared to all apps proportionally (except for screen usage).
- optional double proportional_smear_mah = 4;
- };
- optional PowerUseItem power_use_item = 18;
-
- // Durations are not pooled/apportioned.
- message Process {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional string name = 1;
- // Time spent executing in user code.
- optional int64 user_duration_ms = 2;
- // Time spent executing in kernel code.
- optional int64 system_duration_ms = 3;
- // Time the process was running in the foreground.
- optional int64 foreground_duration_ms = 4;
- // Number of times the process has been started.
- optional int32 start_count = 5;
- // Number of times the process has had an ANR.
- optional int32 anr_count = 6;
- // Number of times the process has crashed.
- optional int32 crash_count = 7;
- };
- repeated Process process = 19;
-
- message StateTime {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
-
- // All of these (non-deprecated) states are mutually exclusive and can be
- // added together to find the total time a uid has had any processes running
- // at all.
-
- // In approximate order or priority (top being what the framework considers
- // most important and is thus least likely to kill when resources are
- // needed:
- // top > foreground service > foreground > background > top sleeping > heavy weight > cache
- enum State {
- // Time this uid has any processes in the top state.
- PROCESS_STATE_TOP = 0;
- // Time this uid has any process with a started foreground service, but
- // none in the "top" state.
- PROCESS_STATE_FOREGROUND_SERVICE = 1;
- // Time this uid has any process in an active foreground state, but none in the
- // "foreground service" or better state. Persistent and other foreground states go here.
- PROCESS_STATE_FOREGROUND = 2;
- // Time this uid has any process in an active background state, but none
- // in the "foreground" or better state.
- PROCESS_STATE_BACKGROUND = 3;
- // Time this uid has any process that is top while the device is sleeping,
- // but not active for any other reason. We consider is a kind of cached
- // process for execution restrictions. Sleeping is mostly screen off, but
- // also includes the time when the screen is on but the device has not yet
- // been unlocked.
- PROCESS_STATE_TOP_SLEEPING = 4;
- // Time this uid has any process that is in the background but it has an
- // activity marked as "can't save state". This is essentially a cached
- // process, though the system will try much harder than normal to avoid
- // killing it.
- PROCESS_STATE_HEAVY_WEIGHT = 5;
- // Time this uid has any processes that are sitting around cached, not in
- // one of the other active states.
- PROCESS_STATE_CACHED = 6;
+ optional int32 id = 1;
+ optional TimerProto apportioned = 2;
+ // Background times aren't apportioned.
+ optional TimerProto background = 3;
}
- optional State state = 1;
- optional int64 duration_ms = 2;
- }
- repeated StateTime states = 20;
+ repeated Sensor sensors = 21;
- message Sensor {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ message Sync {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 id = 1;
- optional TimerProto apportioned = 2;
- // Background times aren't apportioned.
- optional TimerProto background = 3;
- }
- repeated Sensor sensors = 21;
+ optional string name = 1;
+ // Sync times aren't apportioned.
+ optional TimerProto total = 2;
+ optional TimerProto background = 3;
+ }
+ repeated Sync syncs = 22;
- message Sync {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ message UserActivity {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- optional string name = 1;
- // Sync times aren't apportioned.
- optional TimerProto total = 2;
- optional TimerProto background = 3;
- }
- repeated Sync syncs = 22;
+ optional android.os.PowerManagerProto.UserActivityEvent name = 1;
+ optional int32 count = 2;
+ };
+ repeated UserActivity user_activity = 23;
- message UserActivity {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ // Aggregated wakelock data for an app overall, across all of its wakelocks.
+ // The Wakelock message holds data about each *individual* wakelock, but it
+ // cannot be used to ascertain the aggregated time the app spent holding
+ // wakelocks, since merely summing Wakelock data will either underestimate (in
+ // the case of wakelock.partial.duration_ms) or overestimate (in the case of
+ // wakelock.partial.total_duration_ms) the total time, due to overlapping
+ // wakelocks. AggregatedWakelock, on the other hand, holds overall per-app
+ // wakelock data.
+ message AggregatedWakelock {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- optional android.os.PowerManagerProto.UserActivityEvent name = 1;
- optional int32 count = 2;
- };
- repeated UserActivity user_activity = 23;
+ // The total duration that the app spent holding partial wakelocks.
+ // It includes both foreground + background use.
+ optional int64 partial_duration_ms = 1;
+ // The total duration that the app spent holding partial wakelocks while the
+ // app was in the background. Subtracting from partial_duration_ms will
+ // yield foreground usage.
+ optional int64 background_partial_duration_ms = 2;
+ };
+ optional AggregatedWakelock aggregated_wakelock = 24;
- // Aggregated wakelock data for an app overall, across all of its wakelocks.
- // The Wakelock message holds data about each *individual* wakelock, but it
- // cannot be used to ascertain the aggregated time the app spent holding
- // wakelocks, since merely summing Wakelock data will either underestimate (in
- // the case of wakelock.partial.duration_ms) or overestimate (in the case of
- // wakelock.partial.total_duration_ms) the total time, due to overlapping
- // wakelocks. AggregatedWakelock, on the other hand, holds overall per-app
- // wakelock data.
- message AggregatedWakelock {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ message Wakelock {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- // The total duration that the app spent holding partial wakelocks.
- // It includes both foreground + background use.
- optional int64 partial_duration_ms = 1;
- // The total duration that the app spent holding partial wakelocks while the
- // app was in the background. Subtracting from partial_duration_ms will
- // yield foreground usage.
- optional int64 background_partial_duration_ms = 2;
- };
- optional AggregatedWakelock aggregated_wakelock = 24;
+ optional string name = 1;
- message Wakelock {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ // Full wakelocks keep the screen on. Based on
+ // PowerManager.SCREEN_BRIGHT_WAKE_LOCK (deprecated in API 13) and
+ // PowerManager.SCREEN_DIM_WAKE_LOCK (deprecated in API 17). Current, max,
+ // and total durations are not tracked for full wakelocks.
+ optional TimerProto full = 2;
- optional string name = 1;
+ // Partial wakelocks ensure the CPU is running while allowing the screen
+ // to turn off. Based on PowerManager.PARTIAL_WAKE_LOCK.
+ // Partial wakelock metrics are only recorded when the device is unplugged
+ // *and* the screen is off. Current, max, and total durations are tracked
+ // for partial wakelocks.
+ optional TimerProto partial = 3;
- // Full wakelocks keep the screen on. Based on
- // PowerManager.SCREEN_BRIGHT_WAKE_LOCK (deprecated in API 13) and
- // PowerManager.SCREEN_DIM_WAKE_LOCK (deprecated in API 17). Current, max,
- // and total durations are not tracked for full wakelocks.
- optional TimerProto full = 2;
+ // These fields are for tracking partial wakelocks (see above), but only
+ // the time the wakelock was held while the app was in a background state.
+ // Since all background tracking is 'actual', not 'apportioned',
+ // background_partial.duration_ms is identical to
+ // background_partial.total_duration_ms.
+ optional TimerProto background_partial = 4;
- // Partial wakelocks ensure the CPU is running while allowing the screen
- // to turn off. Based on PowerManager.PARTIAL_WAKE_LOCK.
- // Partial wakelock metrics are only recorded when the device is unplugged
- // *and* the screen is off. Current, max, and total durations are tracked
- // for partial wakelocks.
- optional TimerProto partial = 3;
+ // Window wakelocks keep the screen on. Current, max, and total durations
+ // are not tracked for window wakelocks.
+ optional TimerProto window = 5;
+ };
+ repeated Wakelock wakelocks = 25;
- // These fields are for tracking partial wakelocks (see above), but only
- // the time the wakelock was held while the app was in a background state.
- // Since all background tracking is 'actual', not 'apportioned',
- // background_partial.duration_ms is identical to
- // background_partial.total_duration_ms.
- optional TimerProto background_partial = 4;
+ message WakeupAlarm {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- // Window wakelocks keep the screen on. Current, max, and total durations
- // are not tracked for window wakelocks.
- optional TimerProto window = 5;
- };
- repeated Wakelock wakelocks = 25;
+ // Wakeup alarm name.
+ optional string name = 1;
+ // Only includes counts when screen-off (& on battery).
+ optional int32 count = 2;
+ }
+ repeated WakeupAlarm wakeup_alarm = 26;
- message WakeupAlarm {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ message Wifi {
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- // Wakeup alarm name.
- optional string name = 1;
- // Only includes counts when screen-off (& on battery).
- optional int32 count = 2;
- }
- repeated WakeupAlarm wakeup_alarm = 26;
+ // Duration holding Wifi-lock. This time is apportioned.
+ optional int64 full_wifi_lock_duration_ms = 1;
+ // Duration running Wifi. This time is apportioned.
+ optional int64 running_duration_ms = 2;
+ // Duration performing Wifi-scan blamed on this App (i.e. apportioned to
+ // this app amongst all apps doing Wifi-scanning; see explanation of
+ // 'apportioned' in App's comment).
+ optional TimerProto apportioned_scan = 3;
+ // Scans performed when app is in background. (Included in
+ // apportioned_scan). This value is not apportioned. Subtracting
+ // background_scan.total_duration_ms from apportioned_scan.total_duration_ms
+ // will yield foreground usage.
+ optional TimerProto background_scan = 4;
+ };
+ optional Wifi wifi = 27;
- message Wifi {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
-
- // Duration holding Wifi-lock. This time is apportioned.
- optional int64 full_wifi_lock_duration_ms = 1;
- // Duration running Wifi. This time is apportioned.
- optional int64 running_duration_ms = 2;
- // Duration performing Wifi-scan blamed on this App (i.e. apportioned to
- // this app amongst all apps doing Wifi-scanning; see explanation of
- // 'apportioned' in App's comment).
- optional TimerProto apportioned_scan = 3;
- // Scans performed when app is in background. (Included in
- // apportioned_scan). This value is not apportioned. Subtracting
- // background_scan.total_duration_ms from apportioned_scan.total_duration_ms
- // will yield foreground usage.
- optional TimerProto background_scan = 4;
- };
- optional Wifi wifi = 27;
-
- // WiFi Multicast Wakelock
- // This timer tracks the duration and count for the app to request the
- // wakelock for wifi multicast traffic.
- // This wakelock disables the filtering of multicast packets to reach the host
- // processor, and results in a power penalty.
- // It is useful to monitor the applications resulting in that
- optional TimerProto wifi_multicast_wakelock = 28;
+ // WiFi Multicast Wakelock
+ // This timer tracks the duration and count for the app to request the
+ // wakelock for wifi multicast traffic.
+ // This wakelock disables the filtering of multicast packets to reach the host
+ // processor, and results in a power penalty.
+ // It is useful to monitor the applications resulting in that
+ optional TimerProto wifi_multicast_wakelock = 28;
}
diff --git a/core/proto/android/server/activitymanagerservice.proto b/core/proto/android/server/activitymanagerservice.proto
index 0c617ff..418e15b 100644
--- a/core/proto/android/server/activitymanagerservice.proto
+++ b/core/proto/android/server/activitymanagerservice.proto
@@ -38,995 +38,995 @@
option java_multiple_files = true;
message ActivityManagerServiceProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional ActivityManagerServiceDumpActivitiesProto activities = 1;
+ optional ActivityManagerServiceDumpActivitiesProto activities = 1;
- optional ActivityManagerServiceDumpBroadcastsProto broadcasts = 2;
+ optional ActivityManagerServiceDumpBroadcastsProto broadcasts = 2;
- optional ActivityManagerServiceDumpServicesProto services = 3;
+ optional ActivityManagerServiceDumpServicesProto services = 3;
- optional ActivityManagerServiceDumpProcessesProto processes = 4;
+ optional ActivityManagerServiceDumpProcessesProto processes = 4;
}
// "dumpsys activity --proto activities"
message ActivityManagerServiceDumpActivitiesProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional ActivityStackSupervisorProto activity_stack_supervisor = 1;
+ optional ActivityStackSupervisorProto activity_stack_supervisor = 1;
}
message ActivityStackSupervisorProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional .com.android.server.wm.ConfigurationContainerProto configuration_container = 1;
- repeated ActivityDisplayProto displays = 2;
- optional KeyguardControllerProto keyguard_controller = 3;
- optional int32 focused_stack_id = 4;
- optional .com.android.server.wm.IdentifierProto resumed_activity = 5;
- // Whether or not the home activity is the recents activity. This is needed for the CTS tests to
- // know what activity types to check for when invoking splitscreen multi-window.
- optional bool is_home_recents_component = 6;
+ optional .com.android.server.wm.ConfigurationContainerProto configuration_container = 1;
+ repeated ActivityDisplayProto displays = 2;
+ optional KeyguardControllerProto keyguard_controller = 3;
+ optional int32 focused_stack_id = 4;
+ optional .com.android.server.wm.IdentifierProto resumed_activity = 5;
+ // Whether or not the home activity is the recents activity. This is needed for the CTS tests to
+ // know what activity types to check for when invoking splitscreen multi-window.
+ optional bool is_home_recents_component = 6;
}
/* represents ActivityStackSupervisor.ActivityDisplay */
message ActivityDisplayProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional .com.android.server.wm.ConfigurationContainerProto configuration_container = 1;
- optional int32 id = 2;
- repeated ActivityStackProto stacks = 3;
+ optional .com.android.server.wm.ConfigurationContainerProto configuration_container = 1;
+ optional int32 id = 2;
+ repeated ActivityStackProto stacks = 3;
}
message ActivityStackProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional .com.android.server.wm.ConfigurationContainerProto configuration_container = 1;
- optional int32 id = 2;
- repeated TaskRecordProto tasks = 3;
- optional .com.android.server.wm.IdentifierProto resumed_activity = 4;
- optional int32 display_id = 5;
- optional bool fullscreen = 6;
- optional .android.graphics.RectProto bounds = 7;
+ optional .com.android.server.wm.ConfigurationContainerProto configuration_container = 1;
+ optional int32 id = 2;
+ repeated TaskRecordProto tasks = 3;
+ optional .com.android.server.wm.IdentifierProto resumed_activity = 4;
+ optional int32 display_id = 5;
+ optional bool fullscreen = 6;
+ optional .android.graphics.RectProto bounds = 7;
}
message TaskRecordProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional .com.android.server.wm.ConfigurationContainerProto configuration_container = 1;
- optional int32 id = 2;
- repeated ActivityRecordProto activities = 3;
- optional int32 stack_id = 4;
- optional .android.graphics.RectProto last_non_fullscreen_bounds = 5;
- optional string real_activity = 6;
- optional string orig_activity = 7;
- optional int32 activity_type = 8;
- optional int32 resize_mode = 9;
- optional bool fullscreen = 10;
- optional .android.graphics.RectProto bounds = 11;
- optional int32 min_width = 12;
- optional int32 min_height = 13;
+ optional .com.android.server.wm.ConfigurationContainerProto configuration_container = 1;
+ optional int32 id = 2;
+ repeated ActivityRecordProto activities = 3;
+ optional int32 stack_id = 4;
+ optional .android.graphics.RectProto last_non_fullscreen_bounds = 5;
+ optional string real_activity = 6;
+ optional string orig_activity = 7;
+ optional int32 activity_type = 8;
+ optional int32 resize_mode = 9;
+ optional bool fullscreen = 10;
+ optional .android.graphics.RectProto bounds = 11;
+ optional int32 min_width = 12;
+ optional int32 min_height = 13;
}
message ActivityRecordProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional .com.android.server.wm.ConfigurationContainerProto configuration_container = 1;
- optional .com.android.server.wm.IdentifierProto identifier = 2;
- optional string state = 3;
- optional bool visible = 4;
- optional bool front_of_task = 5;
- optional int32 proc_id = 6;
+ optional .com.android.server.wm.ConfigurationContainerProto configuration_container = 1;
+ optional .com.android.server.wm.IdentifierProto identifier = 2;
+ optional string state = 3;
+ optional bool visible = 4;
+ optional bool front_of_task = 5;
+ optional int32 proc_id = 6;
}
message KeyguardControllerProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional bool keyguard_showing = 1;
- optional bool keyguard_occluded = 2;
+ optional bool keyguard_showing = 1;
+ optional bool keyguard_occluded = 2;
}
// "dumpsys activity --proto broadcasts"
message ActivityManagerServiceDumpBroadcastsProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- repeated ReceiverListProto receiver_list = 1;
-
- optional .com.android.server.IntentResolverProto receiver_resolver = 2;
-
- repeated BroadcastQueueProto broadcast_queue = 3;
-
- repeated StickyBroadcastProto sticky_broadcasts = 4;
-
- message MainHandler {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional string handler = 1;
- optional .android.os.LooperProto looper = 2;
- }
- optional MainHandler handler = 5;
+ repeated ReceiverListProto receiver_list = 1;
+
+ optional .com.android.server.IntentResolverProto receiver_resolver = 2;
+
+ repeated BroadcastQueueProto broadcast_queue = 3;
+
+ repeated StickyBroadcastProto sticky_broadcasts = 4;
+
+ message MainHandler {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional string handler = 1;
+ optional .android.os.LooperProto looper = 2;
+ }
+ optional MainHandler handler = 5;
}
message ReceiverListProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional ProcessRecordProto app = 1;
- optional int32 pid = 2;
- optional int32 uid = 3;
- optional int32 user = 4;
- optional BroadcastRecordProto current = 5;
- optional bool linked_to_death = 6;
- repeated BroadcastFilterProto filters = 7;
- optional string hex_hash = 8; // used to find this ReceiverList object in IntentResolver
+ optional ProcessRecordProto app = 1;
+ optional int32 pid = 2;
+ optional int32 uid = 3;
+ optional int32 user = 4;
+ optional BroadcastRecordProto current = 5;
+ optional bool linked_to_death = 6;
+ repeated BroadcastFilterProto filters = 7;
+ optional string hex_hash = 8; // used to find this ReceiverList object in IntentResolver
}
message ProcessRecordProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional int32 pid = 1;
- optional string process_name = 2;
- optional int32 uid = 3;
- optional int32 user_id = 4;
- optional int32 app_id = 5;
- optional int32 isolated_app_id = 6;
- optional bool persistent = 7;
-}
-
-message BroadcastRecordProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional int32 user_id = 1;
- optional string intent_action = 2;
-}
-
-message BroadcastFilterProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional .android.content.IntentFilterProto intent_filter = 1;
- optional string required_permission = 2;
- optional string hex_hash = 3; // used to find the BroadcastFilter object in IntentResolver
- optional int32 owning_user_id = 4;
-}
-
-message BroadcastQueueProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional string queue_name = 1;
- repeated BroadcastRecordProto parallel_broadcasts = 2;
- repeated BroadcastRecordProto ordered_broadcasts = 3;
- optional BroadcastRecordProto pending_broadcast = 4;
- repeated BroadcastRecordProto historical_broadcasts = 5;
-
- message BroadcastSummary {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional .android.content.IntentProto intent = 1;
- optional int64 enqueue_clock_time_ms = 2;
- optional int64 dispatch_clock_time_ms = 3;
- optional int64 finish_clock_time_ms = 4;
- }
- repeated BroadcastSummary historical_broadcasts_summary = 6;
-}
-
-message MemInfoDumpProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional int64 uptime_duration_ms = 1;
- optional int64 elapsed_realtime_ms = 2;
-
- message ProcessMemory {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
optional int32 pid = 1;
optional string process_name = 2;
+ optional int32 uid = 3;
+ optional int32 user_id = 4;
+ optional int32 app_id = 5;
+ optional int32 isolated_app_id = 6;
+ optional bool persistent = 7;
+}
- message MemoryInfo {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional string name = 1;
- // The proportional set size for the heap.
- optional int32 total_pss_kb = 2;
- // The proportional set size that is swappable for the heap.
- optional int32 clean_pss_kb = 3;
- // The private dirty pages used by the heap.
- optional int32 shared_dirty_kb = 4;
- // The shared dirty pages used by the heap.
- optional int32 private_dirty_kb = 5;
- // The shared clean pages used by the heap.
- optional int32 shared_clean_kb = 6;
- // The private clean pages used by the heap.
- optional int32 private_clean_kb = 7;
- oneof dirty_swap {
- // The dirty the pages that have been swapped out.
- int32 dirty_swap_kb = 8;
- // The dirty the pages that have been swapped out, proportional.
- int32 dirty_swap_pss_kb = 9;
- }
- }
- message HeapInfo {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional MemoryInfo mem_info = 1;
- optional int32 heap_size_kb = 2;
- optional int32 heap_alloc_kb = 3;
- optional int32 heap_free_kb = 4;
- }
- optional HeapInfo native_heap = 3;
- optional HeapInfo dalvik_heap = 4;
- repeated MemoryInfo other_heaps = 5;
- optional MemoryInfo unknown_heap = 6;
- // Summation of native_heap, dalvik_heap, and other_heaps.
- optional HeapInfo total_heap = 7;
-
- repeated MemoryInfo dalvik_details = 8;
-
- message AppSummary {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional int32 java_heap_pss_kb = 1;
- optional int32 native_heap_pss_kb = 2;
- optional int32 code_pss_kb = 3;
- optional int32 stack_pss_kb = 4;
- optional int32 graphics_pss_kb = 5;
- optional int32 private_other_pss_kb = 6;
- optional int32 system_pss_kb = 7;
-
- oneof total_swap {
- int32 total_swap_pss = 8;
- int32 total_swap_kb = 9;
- }
- }
- optional AppSummary app_summary = 9;
- }
- repeated ProcessMemory native_processes = 3;
-
- message AppData {
+message BroadcastRecordProto {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional ProcessMemory process_memory = 1;
+ optional int32 user_id = 1;
+ optional string intent_action = 2;
+}
- message ObjectStats {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+message BroadcastFilterProto {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 view_instance_count = 1;
- optional int32 view_root_instance_count = 2;
- optional int32 app_context_instance_count = 3;
- optional int32 activity_instance_count = 4;
- optional int32 global_asset_count = 5;
- optional int32 global_asset_manager_count = 6;
- optional int32 local_binder_object_count = 7;
- optional int32 proxy_binder_object_count = 8;
- optional int64 parcel_memory_kb = 9;
- optional int32 parcel_count = 10;
- optional int32 binder_object_death_count = 11;
- optional int32 open_ssl_socket_count = 12;
- optional int32 webview_instance_count = 13;
- }
- optional ObjectStats objects = 2;
+ optional .android.content.IntentFilterProto intent_filter = 1;
+ optional string required_permission = 2;
+ optional string hex_hash = 3; // used to find the BroadcastFilter object in IntentResolver
+ optional int32 owning_user_id = 4;
+}
- message SqlStats {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+message BroadcastQueueProto {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 memory_used_kb = 1;
- optional int32 pagecache_overflow_kb = 2;
- optional int32 malloc_size_kb = 3;
+ optional string queue_name = 1;
+ repeated BroadcastRecordProto parallel_broadcasts = 2;
+ repeated BroadcastRecordProto ordered_broadcasts = 3;
+ optional BroadcastRecordProto pending_broadcast = 4;
+ repeated BroadcastRecordProto historical_broadcasts = 5;
- message Database {
+ message BroadcastSummary {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional string name = 1;
- optional int32 page_size = 2;
- optional int32 db_size = 3;
- // Number of lookaside slots:
- // http://www.sqlite.org/c3ref/c_dbstatus_lookaside_used.html
- optional int32 lookaside_b = 4;
- // Statement cache stats: hits/misses/cachesize
- optional string cache = 5;
- }
- repeated Database databases = 4;
+ optional .android.content.IntentProto intent = 1;
+ optional int64 enqueue_clock_time_ms = 2;
+ optional int64 dispatch_clock_time_ms = 3;
+ optional int64 finish_clock_time_ms = 4;
}
- optional SqlStats sql = 3;
+ repeated BroadcastSummary historical_broadcasts_summary = 6;
+}
- optional string asset_allocations = 4;
- optional string unreachable_memory = 5;
- }
- repeated AppData app_processes = 4;
-
- message MemItem {
+message MemInfoDumpProto {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional string tag = 1;
- optional string label = 2;
- optional int32 id = 3;
- optional bool is_proc = 4;
- optional bool has_activities = 5;
- optional int64 pss_kb = 6;
- optional int64 swap_pss_kb = 7;
- repeated MemItem sub_items = 8;
- }
- repeated MemItem total_pss_by_process = 5;
- repeated MemItem total_pss_by_oom_adjustment = 6;
- repeated MemItem total_pss_by_category = 7;
+ optional int64 uptime_duration_ms = 1;
+ optional int64 elapsed_realtime_ms = 2;
- optional int64 total_ram_kb = 8;
- optional .com.android.internal.app.procstats.ProcessStatsProto.MemoryFactor status = 9;
- // Total free RAM = cached_pss_kb + cached_kernel_kb + free_kb.
- optional int64 cached_pss_kb = 10;
- optional int64 cached_kernel_kb = 11;
- optional int64 free_kb = 12;
- // Total used RAM = used_pss_kb + used_kernel_kb.
- optional int64 used_pss_kb = 13;
- optional int64 used_kernel_kb = 14;
+ message ProcessMemory {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int64 lost_ram_kb = 15;
+ optional int32 pid = 1;
+ optional string process_name = 2;
- optional int64 total_zram_kb = 16;
- optional int64 zram_physical_used_in_swap_kb = 17;
- optional int64 total_zram_swap_kb = 18;
+ message MemoryInfo {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int64 ksm_sharing_kb = 19;
- optional int64 ksm_shared_kb = 20;
- optional int64 ksm_unshared_kb = 21;
- optional int64 ksm_volatile_kb = 22;
+ optional string name = 1;
+ // The proportional set size for the heap.
+ optional int32 total_pss_kb = 2;
+ // The proportional set size that is swappable for the heap.
+ optional int32 clean_pss_kb = 3;
+ // The private dirty pages used by the heap.
+ optional int32 shared_dirty_kb = 4;
+ // The shared dirty pages used by the heap.
+ optional int32 private_dirty_kb = 5;
+ // The shared clean pages used by the heap.
+ optional int32 shared_clean_kb = 6;
+ // The private clean pages used by the heap.
+ optional int32 private_clean_kb = 7;
+ oneof dirty_swap {
+ // The dirty the pages that have been swapped out.
+ int32 dirty_swap_kb = 8;
+ // The dirty the pages that have been swapped out, proportional.
+ int32 dirty_swap_pss_kb = 9;
+ }
+ }
+ message HeapInfo {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- // The approximate per-application memory class of the current device. This
- // gives developers an idea of how hard a memory limit you should impose on
- // their application to let the overall system work best. The value is in
- // megabytes; the baseline Android memory class is 16 (which happens to be the
- // Java heap limit of those devices); some devices with more memory may have
- // 24 or even higher numbers.
- optional int32 tuning_mb = 23;
- // The approximate per-application memory class of the current device when an
- // application is running with a large heap. This is the space available for
- // memory-intensive applications; most applications should not need this
- // amount of memory, and should instead stay with the tuning_mb limit. The
- // value is in megabytes. This may be the same size as tuning_mb on memory
- // constrained devices, or it may be significantly larger on devices with a
- // large amount of available RAM.
- // This is the size of the application's Dalvik heap if it has specified
- // 'android:largeHeap="true"' in its manifest.
- optional int32 tuning_large_mb = 24;
+ optional MemoryInfo mem_info = 1;
+ optional int32 heap_size_kb = 2;
+ optional int32 heap_alloc_kb = 3;
+ optional int32 heap_free_kb = 4;
+ }
+ optional HeapInfo native_heap = 3;
+ optional HeapInfo dalvik_heap = 4;
+ repeated MemoryInfo other_heaps = 5;
+ optional MemoryInfo unknown_heap = 6;
+ // Summation of native_heap, dalvik_heap, and other_heaps.
+ optional HeapInfo total_heap = 7;
- optional int64 oom_kb = 25;
+ repeated MemoryInfo dalvik_details = 8;
- // The maximum pss size in kb that we consider a process acceptable to restore
- // from its cached state for running in the background when RAM is low.
- optional int64 restore_limit_kb = 26;
+ message AppSummary {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional bool is_low_ram_device = 27;
- optional bool is_high_end_gfx = 28;
+ optional int32 java_heap_pss_kb = 1;
+ optional int32 native_heap_pss_kb = 2;
+ optional int32 code_pss_kb = 3;
+ optional int32 stack_pss_kb = 4;
+ optional int32 graphics_pss_kb = 5;
+ optional int32 private_other_pss_kb = 6;
+ optional int32 system_pss_kb = 7;
+
+ oneof total_swap {
+ int32 total_swap_pss = 8;
+ int32 total_swap_kb = 9;
+ }
+ }
+ optional AppSummary app_summary = 9;
+ }
+ repeated ProcessMemory native_processes = 3;
+
+ message AppData {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional ProcessMemory process_memory = 1;
+
+ message ObjectStats {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional int32 view_instance_count = 1;
+ optional int32 view_root_instance_count = 2;
+ optional int32 app_context_instance_count = 3;
+ optional int32 activity_instance_count = 4;
+ optional int32 global_asset_count = 5;
+ optional int32 global_asset_manager_count = 6;
+ optional int32 local_binder_object_count = 7;
+ optional int32 proxy_binder_object_count = 8;
+ optional int64 parcel_memory_kb = 9;
+ optional int32 parcel_count = 10;
+ optional int32 binder_object_death_count = 11;
+ optional int32 open_ssl_socket_count = 12;
+ optional int32 webview_instance_count = 13;
+ }
+ optional ObjectStats objects = 2;
+
+ message SqlStats {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional int32 memory_used_kb = 1;
+ optional int32 pagecache_overflow_kb = 2;
+ optional int32 malloc_size_kb = 3;
+
+ message Database {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional string name = 1;
+ optional int32 page_size = 2;
+ optional int32 db_size = 3;
+ // Number of lookaside slots:
+ // http://www.sqlite.org/c3ref/c_dbstatus_lookaside_used.html
+ optional int32 lookaside_b = 4;
+ // Statement cache stats: hits/misses/cachesize
+ optional string cache = 5;
+ }
+ repeated Database databases = 4;
+ }
+ optional SqlStats sql = 3;
+
+ optional string asset_allocations = 4;
+ optional string unreachable_memory = 5;
+ }
+ repeated AppData app_processes = 4;
+
+ message MemItem {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional string tag = 1;
+ optional string label = 2;
+ optional int32 id = 3;
+ optional bool is_proc = 4;
+ optional bool has_activities = 5;
+ optional int64 pss_kb = 6;
+ optional int64 swap_pss_kb = 7;
+ repeated MemItem sub_items = 8;
+ }
+ repeated MemItem total_pss_by_process = 5;
+ repeated MemItem total_pss_by_oom_adjustment = 6;
+ repeated MemItem total_pss_by_category = 7;
+
+ optional int64 total_ram_kb = 8;
+ optional .com.android.internal.app.procstats.ProcessStatsProto.MemoryFactor status = 9;
+ // Total free RAM = cached_pss_kb + cached_kernel_kb + free_kb.
+ optional int64 cached_pss_kb = 10;
+ optional int64 cached_kernel_kb = 11;
+ optional int64 free_kb = 12;
+ // Total used RAM = used_pss_kb + used_kernel_kb.
+ optional int64 used_pss_kb = 13;
+ optional int64 used_kernel_kb = 14;
+
+ optional int64 lost_ram_kb = 15;
+
+ optional int64 total_zram_kb = 16;
+ optional int64 zram_physical_used_in_swap_kb = 17;
+ optional int64 total_zram_swap_kb = 18;
+
+ optional int64 ksm_sharing_kb = 19;
+ optional int64 ksm_shared_kb = 20;
+ optional int64 ksm_unshared_kb = 21;
+ optional int64 ksm_volatile_kb = 22;
+
+ // The approximate per-application memory class of the current device. This
+ // gives developers an idea of how hard a memory limit you should impose on
+ // their application to let the overall system work best. The value is in
+ // megabytes; the baseline Android memory class is 16 (which happens to be the
+ // Java heap limit of those devices); some devices with more memory may have
+ // 24 or even higher numbers.
+ optional int32 tuning_mb = 23;
+ // The approximate per-application memory class of the current device when an
+ // application is running with a large heap. This is the space available for
+ // memory-intensive applications; most applications should not need this
+ // amount of memory, and should instead stay with the tuning_mb limit. The
+ // value is in megabytes. This may be the same size as tuning_mb on memory
+ // constrained devices, or it may be significantly larger on devices with a
+ // large amount of available RAM.
+ // This is the size of the application's Dalvik heap if it has specified
+ // 'android:largeHeap="true"' in its manifest.
+ optional int32 tuning_large_mb = 24;
+
+ optional int64 oom_kb = 25;
+
+ // The maximum pss size in kb that we consider a process acceptable to restore
+ // from its cached state for running in the background when RAM is low.
+ optional int64 restore_limit_kb = 26;
+
+ optional bool is_low_ram_device = 27;
+ optional bool is_high_end_gfx = 28;
}
message StickyBroadcastProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional int32 user = 1;
-
- message StickyAction {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional string name = 1;
- repeated .android.content.IntentProto intents = 2;
- }
- repeated StickyAction actions = 2;
+ optional int32 user = 1;
+
+ message StickyAction {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional string name = 1;
+ repeated .android.content.IntentProto intents = 2;
+ }
+ repeated StickyAction actions = 2;
}
// "dumpsys activity --proto service"
message ActivityManagerServiceDumpServicesProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional ActiveServicesProto active_services = 1;
+ optional ActiveServicesProto active_services = 1;
}
message ActiveServicesProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- message ServicesByUser {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 user_id = 1;
- repeated ServiceRecordProto service_records = 2;
- }
- repeated ServicesByUser services_by_users = 1;
+ message ServicesByUser {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional int32 user_id = 1;
+ repeated ServiceRecordProto service_records = 2;
+ }
+ repeated ServicesByUser services_by_users = 1;
}
// corresponds to ActivityManagerService.GrantUri Java class
message GrantUriProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 source_user_id = 1;
- optional string uri = 2 [ (.android.privacy).dest = DEST_EXPLICIT ];
+ optional int32 source_user_id = 1;
+ optional string uri = 2 [ (.android.privacy).dest = DEST_EXPLICIT ];
}
message NeededUriGrantsProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional string target_package = 1;
- optional int32 target_uid = 2;
- optional int32 flags = 3;
+ optional string target_package = 1;
+ optional int32 target_uid = 2;
+ optional int32 flags = 3;
- repeated GrantUriProto grants = 4;
+ repeated GrantUriProto grants = 4;
}
message UriPermissionOwnerProto {
- option (.android.msg_privacy).dest = DEST_EXPLICIT;
+ option (.android.msg_privacy).dest = DEST_EXPLICIT;
- optional string owner = 1;
- repeated GrantUriProto read_perms = 2;
- repeated GrantUriProto write_perms = 3;
+ optional string owner = 1;
+ repeated GrantUriProto read_perms = 2;
+ repeated GrantUriProto write_perms = 3;
}
message ServiceRecordProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional string short_name = 1;
- optional bool is_running = 2; // false if the application service is null
- optional int32 pid = 3;
- optional .android.content.IntentProto intent = 4;
- optional string package_name = 5;
- optional string process_name = 6;
- optional string permission = 7;
-
- message AppInfo {
- option (.android.msg_privacy).dest = DEST_EXPLICIT;
-
- optional string base_dir = 1;
- optional string res_dir = 2;
- optional string data_dir = 3;
- }
- optional AppInfo appinfo = 8;
- optional ProcessRecordProto app = 9;
- optional ProcessRecordProto isolated_proc = 10;
- optional bool whitelist_manager = 11;
- optional bool delayed = 12;
-
- message Foreground {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 id = 1;
- optional .android.app.NotificationProto notification = 2;
- }
- optional Foreground foreground = 13;
+ optional string short_name = 1;
+ optional bool is_running = 2; // false if the application service is null
+ optional int32 pid = 3;
+ optional .android.content.IntentProto intent = 4;
+ optional string package_name = 5;
+ optional string process_name = 6;
+ optional string permission = 7;
- optional .android.util.Duration create_real_time = 14;
- optional .android.util.Duration starting_bg_timeout = 15;
- optional .android.util.Duration last_activity_time = 16;
- optional .android.util.Duration restart_time = 17;
- optional bool created_from_fg = 18;
+ message AppInfo {
+ option (.android.msg_privacy).dest = DEST_EXPLICIT;
- // variables used to track states related to service start
- message Start {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ optional string base_dir = 1;
+ optional string res_dir = 2;
+ optional string data_dir = 3;
+ }
+ optional AppInfo appinfo = 8;
+ optional ProcessRecordProto app = 9;
+ optional ProcessRecordProto isolated_proc = 10;
+ optional bool whitelist_manager = 11;
+ optional bool delayed = 12;
- optional bool start_requested = 1;
- optional bool delayed_stop = 2;
- optional bool stop_if_killed = 3;
- optional bool call_start = 4;
- optional int32 last_start_id = 5;
- }
- optional Start start = 19;
+ message Foreground {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- message ExecuteNesting {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ optional int32 id = 1;
+ optional .android.app.NotificationProto notification = 2;
+ }
+ optional Foreground foreground = 13;
- optional int32 execute_nesting = 1;
- optional bool execute_fg = 2;
- optional .android.util.Duration executing_start = 3;
- }
- optional ExecuteNesting execute = 20;
+ optional .android.util.Duration create_real_time = 14;
+ optional .android.util.Duration starting_bg_timeout = 15;
+ optional .android.util.Duration last_activity_time = 16;
+ optional .android.util.Duration restart_time = 17;
+ optional bool created_from_fg = 18;
- optional .android.util.Duration destory_time = 21;
+ // variables used to track states related to service start
+ message Start {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- message Crash {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ optional bool start_requested = 1;
+ optional bool delayed_stop = 2;
+ optional bool stop_if_killed = 3;
+ optional bool call_start = 4;
+ optional int32 last_start_id = 5;
+ }
+ optional Start start = 19;
- optional int32 restart_count = 1;
- optional .android.util.Duration restart_delay = 2;
- optional .android.util.Duration next_restart_time = 3;
- optional int32 crash_count = 4;
- }
- optional Crash crash = 22;
+ message ExecuteNesting {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- message StartItem {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ optional int32 execute_nesting = 1;
+ optional bool execute_fg = 2;
+ optional .android.util.Duration executing_start = 3;
+ }
+ optional ExecuteNesting execute = 20;
- optional int32 id = 1;
- optional .android.util.Duration duration = 2;
- optional int32 delivery_count = 3;
- optional int32 done_executing_count = 4;
- optional .android.content.IntentProto intent = 5;
- optional NeededUriGrantsProto needed_grants = 6;
- optional UriPermissionOwnerProto uri_permissions = 7;
- }
- repeated StartItem delivered_starts = 23;
- repeated StartItem pending_starts = 24;
+ optional .android.util.Duration destory_time = 21;
- repeated IntentBindRecordProto bindings = 25;
- repeated ConnectionRecordProto connections = 26;
+ message Crash {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- // Next Tag: 27
+ optional int32 restart_count = 1;
+ optional .android.util.Duration restart_delay = 2;
+ optional .android.util.Duration next_restart_time = 3;
+ optional int32 crash_count = 4;
+ }
+ optional Crash crash = 22;
+
+ message StartItem {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional int32 id = 1;
+ optional .android.util.Duration duration = 2;
+ optional int32 delivery_count = 3;
+ optional int32 done_executing_count = 4;
+ optional .android.content.IntentProto intent = 5;
+ optional NeededUriGrantsProto needed_grants = 6;
+ optional UriPermissionOwnerProto uri_permissions = 7;
+ }
+ repeated StartItem delivered_starts = 23;
+ repeated StartItem pending_starts = 24;
+
+ repeated IntentBindRecordProto bindings = 25;
+ repeated ConnectionRecordProto connections = 26;
+
+ // Next Tag: 27
}
message ConnectionRecordProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- // used to find same record, e.g. AppBindRecord has the hex_hash
- optional string hex_hash = 1; // cross reference the object and avoid double logging.
- optional int32 user_id = 2;
+ // used to find same record, e.g. AppBindRecord has the hex_hash
+ optional string hex_hash = 1; // cross reference the object and avoid double logging.
+ optional int32 user_id = 2;
- enum Flag {
- AUTO_CREATE = 0;
- DEBUG_UNBIND = 1;
- NOT_FG = 2;
- IMPORTANT_BG = 3;
- ABOVE_CLIENT = 4;
- ALLOW_OOM_MANAGEMENT = 5;
- WAIVE_PRIORITY = 6;
- IMPORTANT = 7;
- ADJUST_WITH_ACTIVITY = 8;
- FG_SERVICE_WHILE_AWAKE = 9;
- FG_SERVICE = 10;
- TREAT_LIKE_ACTIVITY = 11;
- VISIBLE = 12;
- SHOWING_UI = 13;
- NOT_VISIBLE = 14;
- DEAD = 15;
- }
- repeated Flag flags = 3;
- optional string service_name = 4;
+ enum Flag {
+ AUTO_CREATE = 0;
+ DEBUG_UNBIND = 1;
+ NOT_FG = 2;
+ IMPORTANT_BG = 3;
+ ABOVE_CLIENT = 4;
+ ALLOW_OOM_MANAGEMENT = 5;
+ WAIVE_PRIORITY = 6;
+ IMPORTANT = 7;
+ ADJUST_WITH_ACTIVITY = 8;
+ FG_SERVICE_WHILE_AWAKE = 9;
+ FG_SERVICE = 10;
+ TREAT_LIKE_ACTIVITY = 11;
+ VISIBLE = 12;
+ SHOWING_UI = 13;
+ NOT_VISIBLE = 14;
+ DEAD = 15;
+ }
+ repeated Flag flags = 3;
+ optional string service_name = 4;
}
message AppBindRecordProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional string service_name = 1;
- optional string client_proc_name = 2;
- repeated string connections = 3; // hex_hash of ConnectionRecordProto
+ optional string service_name = 1;
+ optional string client_proc_name = 2;
+ repeated string connections = 3; // hex_hash of ConnectionRecordProto
}
message IntentBindRecordProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional .android.content.IntentProto intent = 1;
- optional string binder = 2;
- optional bool auto_create = 3; // value of BIND_AUTO_CREATE flag.
- optional bool requested = 4;
- optional bool received = 5;
- optional bool has_bound = 6;
- optional bool do_rebind = 7;
+ optional .android.content.IntentProto intent = 1;
+ optional string binder = 2;
+ optional bool auto_create = 3; // value of BIND_AUTO_CREATE flag.
+ optional bool requested = 4;
+ optional bool received = 5;
+ optional bool has_bound = 6;
+ optional bool do_rebind = 7;
- repeated AppBindRecordProto apps = 8;
+ repeated AppBindRecordProto apps = 8;
}
// TODO: "dumpsys activity --proto processes"
message ActivityManagerServiceDumpProcessesProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- repeated ProcessRecordProto procs = 1;
- repeated ProcessRecordProto isolated_procs = 2;
- repeated ActiveInstrumentationProto active_instrumentations = 3;
- repeated UidRecordProto active_uids = 4;
- repeated UidRecordProto validate_uids = 5;
-
- // Process LRU list (sorted by oom_adj)
- message LruProcesses {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 size = 1;
- optional int32 non_act_at = 2;
- optional int32 non_svc_at = 3;
- repeated ProcessOomProto list = 4;
- }
- optional LruProcesses lru_procs = 6;
- repeated ProcessRecordProto pids_self_locked = 7;
- // Foreground Processes
- repeated ImportanceTokenProto important_procs = 8;
- // Persisent processes that are starting
- repeated ProcessRecordProto persistent_starting_procs = 9;
- // Processes that are being removed
- repeated ProcessRecordProto removed_procs = 10;
- // Processes that are on old until the system is ready
- repeated ProcessRecordProto on_hold_procs = 11;
- // Processes that are waiting to GC
- repeated ProcessToGcProto gc_procs = 12;
- optional AppErrorsProto app_errors = 13;
- optional UserControllerProto user_controller = 14;
- optional ProcessRecordProto home_proc = 15;
- optional ProcessRecordProto previous_proc = 16;
- optional int64 previous_proc_visible_time_ms = 17;
- optional ProcessRecordProto heavy_weight_proc = 18;
- optional .android.content.ConfigurationProto global_configuration = 19;
- // ActivityStackSupervisorProto dumps these values as well, still here?
- // repeated ActivityDisplayProto displays = 20;
+ repeated ProcessRecordProto procs = 1;
+ repeated ProcessRecordProto isolated_procs = 2;
+ repeated ActiveInstrumentationProto active_instrumentations = 3;
+ repeated UidRecordProto active_uids = 4;
+ repeated UidRecordProto validate_uids = 5;
- optional bool config_will_change = 21;
+ // Process LRU list (sorted by oom_adj)
+ message LruProcesses {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- message ScreenCompatPackage {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional string package = 1;
- optional int32 mode = 2;
- }
- repeated ScreenCompatPackage screen_compat_packages = 22;
-
- message UidObserverRegistrationProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional int32 uid = 1;
- optional string package = 2;
- repeated .android.app.UidObserverFlag flags = 3;
- optional int32 cut_point = 4; // only available when UID_OBSERVER_PROCSTATE is on
-
- message ProcState {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional int32 uid = 1;
- optional int32 state = 2;
+ optional int32 size = 1;
+ optional int32 non_act_at = 2;
+ optional int32 non_svc_at = 3;
+ repeated ProcessOomProto list = 4;
}
- repeated ProcState last_proc_states = 5;
- }
- repeated UidObserverRegistrationProto uid_observers = 23;
- repeated int32 device_idle_whitelist = 24;
- repeated int32 device_idle_temp_whitelist = 25;
+ optional LruProcesses lru_procs = 6;
+ repeated ProcessRecordProto pids_self_locked = 7;
+ // Foreground Processes
+ repeated ImportanceTokenProto important_procs = 8;
+ // Persisent processes that are starting
+ repeated ProcessRecordProto persistent_starting_procs = 9;
+ // Processes that are being removed
+ repeated ProcessRecordProto removed_procs = 10;
+ // Processes that are on old until the system is ready
+ repeated ProcessRecordProto on_hold_procs = 11;
+ // Processes that are waiting to GC
+ repeated ProcessToGcProto gc_procs = 12;
+ optional AppErrorsProto app_errors = 13;
+ optional UserControllerProto user_controller = 14;
+ optional ProcessRecordProto home_proc = 15;
+ optional ProcessRecordProto previous_proc = 16;
+ optional int64 previous_proc_visible_time_ms = 17;
+ optional ProcessRecordProto heavy_weight_proc = 18;
+ optional .android.content.ConfigurationProto global_configuration = 19;
+ // ActivityStackSupervisorProto dumps these values as well, still here?
+ // repeated ActivityDisplayProto displays = 20;
- message PendingTempWhitelist {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ optional bool config_will_change = 21;
- optional int32 target_uid = 1;
- optional int64 duration_ms = 2;
- optional string tag = 3;
- }
- repeated PendingTempWhitelist pending_temp_whitelist = 26;
+ message ScreenCompatPackage {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- message SleepStatus {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ optional string package = 1;
+ optional int32 mode = 2;
+ }
+ repeated ScreenCompatPackage screen_compat_packages = 22;
- optional .android.os.PowerManagerInternalProto.Wakefulness wakefulness = 1;
- repeated string sleep_tokens = 2 [ (.android.privacy).dest = DEST_EXPLICIT ];
- optional bool sleeping = 3;
- optional bool shutting_down = 4;
- optional bool test_pss_mode = 5;
- }
- optional SleepStatus sleep_status = 27;
-
- message Voice {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional string session = 1;
- optional .android.os.PowerManagerProto.WakeLock wakelock = 2;
- }
- optional Voice running_voice = 28;
-
- optional VrControllerProto vr_controller = 29;
-
- message DebugApp {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional string debug_app = 1;
- optional string orig_debug_app = 2;
- optional bool debug_transient = 3;
- optional bool orig_wait_for_debugger = 4;
- }
- optional DebugApp debug = 30;
- optional AppTimeTrackerProto current_tracker = 31;
-
- message MemWatchProcess {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- message Process {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional string name = 1;
-
- message MemStats {
+ message UidObserverRegistrationProto {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
optional int32 uid = 1;
- optional string size = 2;
- optional string report_to = 3;
- }
- repeated MemStats mem_stats = 2;
+ optional string package = 2;
+ repeated .android.app.UidObserverFlag flags = 3;
+ optional int32 cut_point = 4; // only available when UID_OBSERVER_PROCSTATE is on
+
+ message ProcState {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional int32 uid = 1;
+ optional int32 state = 2;
+ }
+ repeated ProcState last_proc_states = 5;
}
- repeated Process procs = 1;
+ repeated UidObserverRegistrationProto uid_observers = 23;
+ repeated int32 device_idle_whitelist = 24;
+ repeated int32 device_idle_temp_whitelist = 25;
- message Dump {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ message PendingTempWhitelist {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional string proc_name = 1;
- optional string file = 2 [ (.android.privacy).dest = DEST_EXPLICIT ];
- optional int32 pid = 3;
- optional int32 uid = 4;
+ optional int32 target_uid = 1;
+ optional int64 duration_ms = 2;
+ optional string tag = 3;
}
- optional Dump dump = 2;
- }
- optional MemWatchProcess mem_watch_processes = 32;
- optional string track_allocation_app = 33;
+ repeated PendingTempWhitelist pending_temp_whitelist = 26;
- message Profile {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ message SleepStatus {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional string app_name = 1;
- optional ProcessRecordProto proc = 2;
- optional .android.app.ProfilerInfoProto info = 3;
- optional int32 type = 4;
- }
- optional Profile profile = 34;
- optional string native_debugging_app = 35;
- optional bool always_finish_activities = 36;
+ optional .android.os.PowerManagerInternalProto.Wakefulness wakefulness = 1;
+ repeated string sleep_tokens = 2 [ (.android.privacy).dest = DEST_EXPLICIT ];
+ optional bool sleeping = 3;
+ optional bool shutting_down = 4;
+ optional bool test_pss_mode = 5;
+ }
+ optional SleepStatus sleep_status = 27;
- message Controller {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ message Voice {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional string controller = 1;
- optional bool is_a_monkey = 2;
- }
- optional Controller controller = 37;
+ optional string session = 1;
+ optional .android.os.PowerManagerProto.WakeLock wakelock = 2;
+ }
+ optional Voice running_voice = 28;
- optional int32 total_persistent_procs = 38;
- optional bool processes_ready = 39;
- optional bool system_ready = 40;
- optional bool booted = 41;
- optional int32 factory_test = 42;
- optional bool booting = 43;
- optional bool call_finish_booting = 44;
- optional bool boot_animation_complete = 45;
- optional int64 last_power_check_uptime_ms = 46;
- optional .android.os.PowerManagerProto.WakeLock going_to_sleep = 47;
- optional .android.os.PowerManagerProto.WakeLock launching_activity = 48;
- optional int32 adj_seq = 49;
- optional int32 lru_seq = 50;
- optional int32 num_non_cached_procs = 51;
- optional int32 num_cached_hidden_procs = 52;
- optional int32 num_service_procs = 53;
- optional int32 new_num_service_procs = 54;
- optional bool allow_lower_mem_level = 55;
- optional int32 last_memory_level = 56;
- optional int32 last_num_processes = 57;
- optional .android.util.Duration last_idle_time = 58;
- optional int64 low_ram_since_last_idle_ms = 59;
+ optional VrControllerProto vr_controller = 29;
+
+ message DebugApp {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional string debug_app = 1;
+ optional string orig_debug_app = 2;
+ optional bool debug_transient = 3;
+ optional bool orig_wait_for_debugger = 4;
+ }
+ optional DebugApp debug = 30;
+ optional AppTimeTrackerProto current_tracker = 31;
+
+ message MemWatchProcess {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ message Process {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional string name = 1;
+
+ message MemStats {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional int32 uid = 1;
+ optional string size = 2;
+ optional string report_to = 3;
+ }
+ repeated MemStats mem_stats = 2;
+ }
+ repeated Process procs = 1;
+
+ message Dump {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional string proc_name = 1;
+ optional string file = 2 [ (.android.privacy).dest = DEST_EXPLICIT ];
+ optional int32 pid = 3;
+ optional int32 uid = 4;
+ }
+ optional Dump dump = 2;
+ }
+ optional MemWatchProcess mem_watch_processes = 32;
+ optional string track_allocation_app = 33;
+
+ message Profile {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional string app_name = 1;
+ optional ProcessRecordProto proc = 2;
+ optional .android.app.ProfilerInfoProto info = 3;
+ optional int32 type = 4;
+ }
+ optional Profile profile = 34;
+ optional string native_debugging_app = 35;
+ optional bool always_finish_activities = 36;
+
+ message Controller {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional string controller = 1;
+ optional bool is_a_monkey = 2;
+ }
+ optional Controller controller = 37;
+
+ optional int32 total_persistent_procs = 38;
+ optional bool processes_ready = 39;
+ optional bool system_ready = 40;
+ optional bool booted = 41;
+ optional int32 factory_test = 42;
+ optional bool booting = 43;
+ optional bool call_finish_booting = 44;
+ optional bool boot_animation_complete = 45;
+ optional int64 last_power_check_uptime_ms = 46;
+ optional .android.os.PowerManagerProto.WakeLock going_to_sleep = 47;
+ optional .android.os.PowerManagerProto.WakeLock launching_activity = 48;
+ optional int32 adj_seq = 49;
+ optional int32 lru_seq = 50;
+ optional int32 num_non_cached_procs = 51;
+ optional int32 num_cached_hidden_procs = 52;
+ optional int32 num_service_procs = 53;
+ optional int32 new_num_service_procs = 54;
+ optional bool allow_lower_mem_level = 55;
+ optional int32 last_memory_level = 56;
+ optional int32 last_num_processes = 57;
+ optional .android.util.Duration last_idle_time = 58;
+ optional int64 low_ram_since_last_idle_ms = 59;
}
message ActiveInstrumentationProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional .android.content.ComponentNameProto class = 1;
- optional bool finished = 2;
- repeated ProcessRecordProto running_processes = 3;
- repeated string target_processes = 4;
- optional .android.content.pm.ApplicationInfoProto target_info = 5;
- optional string profile_file = 6;
- optional string watcher = 7;
- optional string ui_automation_connection = 8;
- optional string arguments = 9 [ (.android.privacy).dest = DEST_EXPLICIT ];
+ optional .android.content.ComponentNameProto class = 1;
+ optional bool finished = 2;
+ repeated ProcessRecordProto running_processes = 3;
+ repeated string target_processes = 4;
+ optional .android.content.pm.ApplicationInfoProto target_info = 5;
+ optional string profile_file = 6;
+ optional string watcher = 7;
+ optional string ui_automation_connection = 8;
+ optional string arguments = 9 [ (.android.privacy).dest = DEST_EXPLICIT ];
}
// Proto definition of com.android.server.am.UidRecord.java
message UidRecordProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional int32 uid = 1;
- optional .android.app.ProcessStateEnum current = 2;
- optional bool ephemeral = 3;
- optional bool fg_services = 4;
- optional bool whilelist = 5;
- optional .android.util.Duration last_background_time = 6;
- optional bool idle = 7;
-
- enum Change {
- CHANGE_GONE = 0;
- CHANGE_IDLE = 1;
- CHANGE_ACTIVE = 2;
- CHANGE_CACHED = 3;
- CHANGE_UNCACHED = 4;
- }
- repeated Change last_reported_changes = 8;
- optional int32 num_procs = 9;
-
- message ProcStateSequence {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int64 cururent = 1;
- optional int64 last_network_updated = 2;
- optional int64 last_dispatched = 3;
- }
- optional ProcStateSequence network_state_update = 10;
+ optional int32 uid = 1;
+ optional .android.app.ProcessStateEnum current = 2;
+ optional bool ephemeral = 3;
+ optional bool fg_services = 4;
+ optional bool whilelist = 5;
+ optional .android.util.Duration last_background_time = 6;
+ optional bool idle = 7;
- // Next Tag: 11
+ enum Change {
+ CHANGE_GONE = 0;
+ CHANGE_IDLE = 1;
+ CHANGE_ACTIVE = 2;
+ CHANGE_CACHED = 3;
+ CHANGE_UNCACHED = 4;
+ }
+ repeated Change last_reported_changes = 8;
+ optional int32 num_procs = 9;
+
+ message ProcStateSequence {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional int64 cururent = 1;
+ optional int64 last_network_updated = 2;
+ optional int64 last_dispatched = 3;
+ }
+ optional ProcStateSequence network_state_update = 10;
+
+ // Next Tag: 11
}
// proto of class ImportanceToken in ActivityManagerService
message ImportanceTokenProto {
- option (.android.msg_privacy).dest = DEST_EXPLICIT;
+ option (.android.msg_privacy).dest = DEST_EXPLICIT;
- optional int32 pid = 1;
- optional string token = 2;
- optional string reason = 3;
+ optional int32 pid = 1;
+ optional string token = 2;
+ optional string reason = 3;
}
// proto of class VrController.java
message VrControllerProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- enum VrMode {
- FLAG_NON_VR_MODE = 0;
- FLAG_VR_MODE = 1;
- FLAG_PERSISTENT_VR_MODE = 2;
- }
- repeated VrMode vr_mode = 1;
- optional int32 render_thread_id = 2;
+ enum VrMode {
+ FLAG_NON_VR_MODE = 0;
+ FLAG_VR_MODE = 1;
+ FLAG_PERSISTENT_VR_MODE = 2;
+ }
+ repeated VrMode vr_mode = 1;
+ optional int32 render_thread_id = 2;
}
message ProcessOomProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional bool persistent = 1;
- optional int32 num = 2;
- optional string oom_adj = 3;
-
- // Activity manager's version of Process enum, see ProcessList.java
- enum SchedGroup {
- SCHED_GROUP_UNKNOWN = -1;
- SCHED_GROUP_BACKGROUND = 0;
- SCHED_GROUP_DEFAULT = 1;
- SCHED_GROUP_TOP_APP = 2;
- SCHED_GROUP_TOP_APP_BOUND = 3;
- }
- optional SchedGroup sched_group = 4 [ default = SCHED_GROUP_UNKNOWN];
-
- oneof Foreground {
- bool activities = 5;
- bool services = 6;
- }
-
- optional .android.app.ProcessStateEnum state = 7;
- optional int32 trim_memory_level = 8;
- optional ProcessRecordProto proc = 9;
- optional string adj_type = 10;
-
- oneof AdjTarget {
- .android.content.ComponentNameProto adj_target_component_name = 11;
- string adj_target_object = 12;
- }
-
- oneof AdjSource {
- ProcessRecordProto adj_source_proc = 13;
- string adj_source_object = 14;
- }
-
- message Detail {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 max_adj = 1;
- optional int32 cur_raw_adj = 2;
- optional int32 set_raw_adj = 3;
- optional int32 cur_adj = 4;
- optional int32 set_adj = 5;
- optional .android.app.ProcessStateEnum current_state = 7;
- optional .android.app.ProcessStateEnum set_state = 8;
- optional string last_pss = 9;
- optional string last_swap_pss = 10;
- optional string last_cached_pss = 11;
- optional bool cached = 12;
- optional bool empty = 13;
- optional bool has_above_client = 14;
+ optional bool persistent = 1;
+ optional int32 num = 2;
+ optional string oom_adj = 3;
- // only make sense if process is a service
- message CpuRunTime {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional int64 over_ms = 1;
- optional int64 used_ms = 2;
- optional float ultilization = 3; // ratio of cpu time usage
+ // Activity manager's version of Process enum, see ProcessList.java
+ enum SchedGroup {
+ SCHED_GROUP_UNKNOWN = -1;
+ SCHED_GROUP_BACKGROUND = 0;
+ SCHED_GROUP_DEFAULT = 1;
+ SCHED_GROUP_TOP_APP = 2;
+ SCHED_GROUP_TOP_APP_BOUND = 3;
}
- optional CpuRunTime service_run_time = 15;
- }
- optional Detail detail = 15;
+ optional SchedGroup sched_group = 4 [ default = SCHED_GROUP_UNKNOWN];
+
+ oneof Foreground {
+ bool activities = 5;
+ bool services = 6;
+ }
+
+ optional .android.app.ProcessStateEnum state = 7;
+ optional int32 trim_memory_level = 8;
+ optional ProcessRecordProto proc = 9;
+ optional string adj_type = 10;
+
+ oneof AdjTarget {
+ .android.content.ComponentNameProto adj_target_component_name = 11;
+ string adj_target_object = 12;
+ }
+
+ oneof AdjSource {
+ ProcessRecordProto adj_source_proc = 13;
+ string adj_source_object = 14;
+ }
+
+ message Detail {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional int32 max_adj = 1;
+ optional int32 cur_raw_adj = 2;
+ optional int32 set_raw_adj = 3;
+ optional int32 cur_adj = 4;
+ optional int32 set_adj = 5;
+ optional .android.app.ProcessStateEnum current_state = 7;
+ optional .android.app.ProcessStateEnum set_state = 8;
+ optional string last_pss = 9;
+ optional string last_swap_pss = 10;
+ optional string last_cached_pss = 11;
+ optional bool cached = 12;
+ optional bool empty = 13;
+ optional bool has_above_client = 14;
+
+ // only make sense if process is a service
+ message CpuRunTime {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional int64 over_ms = 1;
+ optional int64 used_ms = 2;
+ optional float ultilization = 3; // ratio of cpu time usage
+ }
+ optional CpuRunTime service_run_time = 15;
+ }
+ optional Detail detail = 15;
}
message ProcessToGcProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional ProcessRecordProto proc = 1;
- optional bool report_low_memory = 2;
- optional int64 now_uptime_ms = 3;
- optional int64 last_gced_ms = 4;
- optional int64 last_low_memory_ms = 5;
+ optional ProcessRecordProto proc = 1;
+ optional bool report_low_memory = 2;
+ optional int64 now_uptime_ms = 3;
+ optional int64 last_gced_ms = 4;
+ optional int64 last_low_memory_ms = 5;
}
// sync with com.android.server.am.AppErrors.java
message AppErrorsProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional int64 now_uptime_ms = 1;
-
- message ProcessCrashTime {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional string process_name = 1;
+ optional int64 now_uptime_ms = 1;
- message Entry {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ message ProcessCrashTime {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 uid = 1;
- optional int64 last_crashed_at_ms = 2;
+ optional string process_name = 1;
+
+ message Entry {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional int32 uid = 1;
+ optional int64 last_crashed_at_ms = 2;
+ }
+ repeated Entry entries = 2;
}
- repeated Entry entries = 2;
- }
- repeated ProcessCrashTime process_crash_times = 2;
+ repeated ProcessCrashTime process_crash_times = 2;
- message BadProcess {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ message BadProcess {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional string process_name = 1;
+ optional string process_name = 1;
- message Entry {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ message Entry {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 uid = 1;
- optional int64 crashed_at_ms = 2;
- optional string short_msg = 3;
- optional string long_msg = 4 [ (.android.privacy).dest = DEST_EXPLICIT ];
- optional string stack = 5 [ (.android.privacy).dest = DEST_EXPLICIT ];
+ optional int32 uid = 1;
+ optional int64 crashed_at_ms = 2;
+ optional string short_msg = 3;
+ optional string long_msg = 4 [ (.android.privacy).dest = DEST_EXPLICIT ];
+ optional string stack = 5 [ (.android.privacy).dest = DEST_EXPLICIT ];
+ }
+ repeated Entry entries = 2;
}
- repeated Entry entries = 2;
- }
- repeated BadProcess bad_processes = 3;
+ repeated BadProcess bad_processes = 3;
}
// sync with com.android.server.am.UserState.java
message UserStateProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- enum State {
- STATE_BOOTING = 0;
- STATE_RUNNING_LOCKED = 1;
- STATE_RUNNING_UNLOCKING = 2;
- STATE_RUNNING_UNLOCKED = 3;
- STATE_STOPPING = 4;
- STATE_SHUTDOWN = 5;
- }
- optional State state = 1;
- optional bool switching = 2;
+ enum State {
+ STATE_BOOTING = 0;
+ STATE_RUNNING_LOCKED = 1;
+ STATE_RUNNING_UNLOCKING = 2;
+ STATE_RUNNING_UNLOCKED = 3;
+ STATE_STOPPING = 4;
+ STATE_SHUTDOWN = 5;
+ }
+ optional State state = 1;
+ optional bool switching = 2;
}
// sync with com.android.server.am.UserController.java
message UserControllerProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- message User {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 id = 1;
- optional UserStateProto state = 2;
- }
- repeated User started_users = 1;
- repeated int32 started_user_array = 2;
- repeated int32 user_lru = 3;
+ message User {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- message UserProfile {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ optional int32 id = 1;
+ optional UserStateProto state = 2;
+ }
+ repeated User started_users = 1;
+ repeated int32 started_user_array = 2;
+ repeated int32 user_lru = 3;
- optional int32 user = 1;
- optional int32 profile = 2;
- }
- repeated UserProfile user_profile_group_ids = 4;
+ message UserProfile {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional int32 user = 1;
+ optional int32 profile = 2;
+ }
+ repeated UserProfile user_profile_group_ids = 4;
}
// sync with com.android.server.am.AppTimeTracker.java
message AppTimeTrackerProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional string receiver = 1;
- optional int64 total_duration_ms = 2;
-
- message PackageTime {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional string package = 1;
- optional int64 duration_ms = 2;
- }
- repeated PackageTime package_times = 3;
+ optional string receiver = 1;
+ optional int64 total_duration_ms = 2;
- optional .android.util.Duration started_time = 4;
- optional string started_package = 5;
+ message PackageTime {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional string package = 1;
+ optional int64 duration_ms = 2;
+ }
+ repeated PackageTime package_times = 3;
+
+ optional .android.util.Duration started_time = 4;
+ optional string started_package = 5;
}
diff --git a/core/proto/android/server/alarmmanagerservice.proto b/core/proto/android/server/alarmmanagerservice.proto
index 53e3ba9..eef78d1 100644
--- a/core/proto/android/server/alarmmanagerservice.proto
+++ b/core/proto/android/server/alarmmanagerservice.proto
@@ -29,254 +29,254 @@
// next ID: 43
message AlarmManagerServiceDumpProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional int64 current_time = 1;
- optional int64 elapsed_realtime = 2;
- optional int64 last_time_change_clock_time = 3;
- optional int64 last_time_change_realtime = 4;
- // Current settings
- optional ConstantsProto settings = 5;
-
- // Dump from ForceAppStandbyTracker.
- optional ForceAppStandbyTrackerProto force_app_standby_tracker = 6;
-
- optional bool is_interactive = 7;
- // Only valid if is_interactive is false.
- optional int64 time_since_non_interactive_ms = 8;
- // Only valid if is_interactive is false.
- optional int64 max_wakeup_delay_ms = 9;
- // Only valid if is_interactive is false.
- optional int64 time_since_last_dispatch_ms = 10;
- // Only valid if is_interactive is false.
- optional int64 time_until_next_non_wakeup_delivery_ms = 11;
-
- // Can be negative if the non-wakeup alarm time is in the past (non-wakeup
- // alarms aren't delivered unil the next time the device wakes up).
- optional int64 time_until_next_non_wakeup_alarm_ms = 12;
- optional int64 time_until_next_wakeup_ms = 13;
- optional int64 time_since_last_wakeup_ms = 14;
- // Time since the last wakeup was set.
- optional int64 time_since_last_wakeup_set_ms = 15;
- optional int64 time_change_event_count = 16;
- // The current set of user whitelisted apps for device idle mode, meaning
- // these are allowed to freely schedule alarms. These are app IDs, not UIDs.
- repeated int32 device_idle_user_whitelist_app_ids = 17;
-
- repeated AlarmClockMetadataProto next_alarm_clock_metadata = 18;
-
- repeated BatchProto pending_alarm_batches = 19;
-
- // List of alarms per uid deferred due to user applied background restrictions
- // on the source app.
- repeated AlarmProto pending_user_blocked_background_alarms = 20;
-
- // When idling mode will end. Will be empty if the device is not currently
- // idling.
- optional AlarmProto pending_idle_until = 21;
-
- // Any alarms that we don't want to run during idle mode. Will be empty if the
- // device is not currently idling.
- repeated AlarmProto pending_while_idle_alarms = 22;
-
- // This is a special alarm that will put the system into idle until it goes
- // off. The caller has given the time they want this to happen at.
- optional AlarmProto next_wake_from_idle = 23;
-
- repeated AlarmProto past_due_non_wakeup_alarms = 24;
-
- // Number of delayed alarms.
- optional int32 delayed_alarm_count = 25;
- // The total amount of time alarms had been delayed. Overlapping alarms are
- // only counted once (ie. If two alarms were meant to trigger at the same time
- // but were delayed by 5 seconds, the total time would be 5 seconds).
- optional int64 total_delay_time_ms = 26;
- optional int64 max_delay_duration_ms = 27;
- optional int64 max_non_interactive_duration_ms = 28;
-
- optional int32 broadcast_ref_count = 29;
- // Canonical count of (operation.send() - onSendFinished()) and listener
- // send/complete/timeout invocations.
- optional int32 pending_intent_send_count = 30;
- optional int32 pending_intent_finish_count = 31;
- optional int32 listener_send_count = 32;
- optional int32 listener_finish_count = 33;
-
- repeated InFlightProto outstanding_deliveries = 34;
-
- message LastAllowWhileIdleDispatch {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 uid = 1;
- // In the 'elapsed' timebase.
- optional int64 time_ms = 2;
+ optional int64 current_time = 1;
+ optional int64 elapsed_realtime = 2;
+ optional int64 last_time_change_clock_time = 3;
+ optional int64 last_time_change_realtime = 4;
+ // Current settings
+ optional ConstantsProto settings = 5;
- // Time when the next while-idle is allowed, in the 'elapsed' timebase.
- optional int64 next_allowed_ms = 3;
- }
+ // Dump from ForceAppStandbyTracker.
+ optional ForceAppStandbyTrackerProto force_app_standby_tracker = 6;
- // Whether the short or long while-idle timeout should be used for each UID.
- repeated int32 use_allow_while_idle_short_time = 35;
+ optional bool is_interactive = 7;
+ // Only valid if is_interactive is false.
+ optional int64 time_since_non_interactive_ms = 8;
+ // Only valid if is_interactive is false.
+ optional int64 max_wakeup_delay_ms = 9;
+ // Only valid if is_interactive is false.
+ optional int64 time_since_last_dispatch_ms = 10;
+ // Only valid if is_interactive is false.
+ optional int64 time_until_next_non_wakeup_delivery_ms = 11;
- // For each uid, this is the last time we dispatched an "allow while idle"
- // alarm, used to determine the earliest we can dispatch the next such alarm.
- repeated LastAllowWhileIdleDispatch last_allow_while_idle_dispatch_times = 36;
+ // Can be negative if the non-wakeup alarm time is in the past (non-wakeup
+ // alarms aren't delivered unil the next time the device wakes up).
+ optional int64 time_until_next_non_wakeup_alarm_ms = 12;
+ optional int64 time_until_next_wakeup_ms = 13;
+ optional int64 time_since_last_wakeup_ms = 14;
+ // Time since the last wakeup was set.
+ optional int64 time_since_last_wakeup_set_ms = 15;
+ optional int64 time_change_event_count = 16;
+ // The current set of user whitelisted apps for device idle mode, meaning
+ // these are allowed to freely schedule alarms. These are app IDs, not UIDs.
+ repeated int32 device_idle_user_whitelist_app_ids = 17;
- optional com.android.internal.util.LocalLogProto recent_problems = 37;
+ repeated AlarmClockMetadataProto next_alarm_clock_metadata = 18;
- message TopAlarm {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ repeated BatchProto pending_alarm_batches = 19;
- optional int32 uid = 1;
- optional string package_name = 2;
- optional FilterStatsProto filter = 3;
- }
- repeated TopAlarm top_alarms = 38;
+ // List of alarms per uid deferred due to user applied background restrictions
+ // on the source app.
+ repeated AlarmProto pending_user_blocked_background_alarms = 20;
- message AlarmStat {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ // When idling mode will end. Will be empty if the device is not currently
+ // idling.
+ optional AlarmProto pending_idle_until = 21;
- optional BroadcastStatsProto broadcast = 1;
- repeated FilterStatsProto filters = 2;
- }
- repeated AlarmStat alarm_stats = 39;
+ // Any alarms that we don't want to run during idle mode. Will be empty if the
+ // device is not currently idling.
+ repeated AlarmProto pending_while_idle_alarms = 22;
- repeated IdleDispatchEntryProto allow_while_idle_dispatches = 40;
- repeated WakeupEventProto recent_wakeup_history = 41;
+ // This is a special alarm that will put the system into idle until it goes
+ // off. The caller has given the time they want this to happen at.
+ optional AlarmProto next_wake_from_idle = 23;
+
+ repeated AlarmProto past_due_non_wakeup_alarms = 24;
+
+ // Number of delayed alarms.
+ optional int32 delayed_alarm_count = 25;
+ // The total amount of time alarms had been delayed. Overlapping alarms are
+ // only counted once (ie. If two alarms were meant to trigger at the same time
+ // but were delayed by 5 seconds, the total time would be 5 seconds).
+ optional int64 total_delay_time_ms = 26;
+ optional int64 max_delay_duration_ms = 27;
+ optional int64 max_non_interactive_duration_ms = 28;
+
+ optional int32 broadcast_ref_count = 29;
+ // Canonical count of (operation.send() - onSendFinished()) and listener
+ // send/complete/timeout invocations.
+ optional int32 pending_intent_send_count = 30;
+ optional int32 pending_intent_finish_count = 31;
+ optional int32 listener_send_count = 32;
+ optional int32 listener_finish_count = 33;
+
+ repeated InFlightProto outstanding_deliveries = 34;
+
+ message LastAllowWhileIdleDispatch {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional int32 uid = 1;
+ // In the 'elapsed' timebase.
+ optional int64 time_ms = 2;
+
+ // Time when the next while-idle is allowed, in the 'elapsed' timebase.
+ optional int64 next_allowed_ms = 3;
+ }
+
+ // Whether the short or long while-idle timeout should be used for each UID.
+ repeated int32 use_allow_while_idle_short_time = 35;
+
+ // For each uid, this is the last time we dispatched an "allow while idle"
+ // alarm, used to determine the earliest we can dispatch the next such alarm.
+ repeated LastAllowWhileIdleDispatch last_allow_while_idle_dispatch_times = 36;
+
+ optional com.android.internal.util.LocalLogProto recent_problems = 37;
+
+ message TopAlarm {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional int32 uid = 1;
+ optional string package_name = 2;
+ optional FilterStatsProto filter = 3;
+ }
+ repeated TopAlarm top_alarms = 38;
+
+ message AlarmStat {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional BroadcastStatsProto broadcast = 1;
+ repeated FilterStatsProto filters = 2;
+ }
+ repeated AlarmStat alarm_stats = 39;
+
+ repeated IdleDispatchEntryProto allow_while_idle_dispatches = 40;
+ repeated WakeupEventProto recent_wakeup_history = 41;
}
// This is a soft wrapper for alarm clock information. It is not representative
// of an android.app.AlarmManager.AlarmClockInfo object.
message AlarmClockMetadataProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 user = 1;
- optional bool is_pending_send = 2;
- // This value is UTC wall clock time in milliseconds, as returned by
- // System#currentTimeMillis() for example.
- optional int64 trigger_time_ms = 3;
+ optional int32 user = 1;
+ optional bool is_pending_send = 2;
+ // This value is UTC wall clock time in milliseconds, as returned by
+ // System#currentTimeMillis() for example.
+ optional int64 trigger_time_ms = 3;
}
// A com.android.server.AlarmManagerService.Alarm object.
message AlarmProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional string tag = 1 [ (.android.privacy).dest = DEST_EXPLICIT ];
- optional .android.app.AlarmManagerProto.AlarmType type = 2;
- // How long until the alarm goes off, in the 'elapsed' timebase. Can be
- // negative if 'when' is in the past.
- optional int64 time_until_when_elapsed_ms = 3;
- optional int64 window_length_ms = 4;
- optional int64 repeat_interval_ms = 5;
- optional int32 count = 6;
- optional int32 flags = 7;
- optional .android.app.AlarmClockInfoProto alarm_clock = 8;
- optional .android.app.PendingIntentProto operation = 9;
- optional string listener = 10 [ (.android.privacy).dest = DEST_EXPLICIT ];
+ optional string tag = 1 [ (.android.privacy).dest = DEST_EXPLICIT ];
+ optional .android.app.AlarmManagerProto.AlarmType type = 2;
+ // How long until the alarm goes off, in the 'elapsed' timebase. Can be
+ // negative if 'when' is in the past.
+ optional int64 time_until_when_elapsed_ms = 3;
+ optional int64 window_length_ms = 4;
+ optional int64 repeat_interval_ms = 5;
+ optional int32 count = 6;
+ optional int32 flags = 7;
+ optional .android.app.AlarmClockInfoProto alarm_clock = 8;
+ optional .android.app.PendingIntentProto operation = 9;
+ optional string listener = 10 [ (.android.privacy).dest = DEST_EXPLICIT ];
}
// A com.android.server.AlarmManagerService.Batch object.
message BatchProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- // Start time in terms of elapsed realtime.
- optional int64 start_realtime = 1;
- // End time in terms of elapsed realtime.
- optional int64 end_realtime = 2;
- optional int32 flags = 3;
- repeated AlarmProto alarms = 4;
+ // Start time in terms of elapsed realtime.
+ optional int64 start_realtime = 1;
+ // End time in terms of elapsed realtime.
+ optional int64 end_realtime = 2;
+ optional int32 flags = 3;
+ repeated AlarmProto alarms = 4;
}
// A com.android.server.AlarmManagerService.BroadcastStats object.
message BroadcastStatsProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 uid = 1;
- optional string package_name = 2;
- // The total amount of time this broadcast was in flight.
- optional int64 total_flight_duration_ms = 3;
- optional int32 count = 4;
- optional int32 wakeup_count = 5;
- // The last time this first became active (when nesting changed from 0 to 1)
- // in terms of elapsed realtime.
- optional int64 start_time_realtime = 6;
- // The broadcast is active if nesting > 0.
- optional int32 nesting = 7;
+ optional int32 uid = 1;
+ optional string package_name = 2;
+ // The total amount of time this broadcast was in flight.
+ optional int64 total_flight_duration_ms = 3;
+ optional int32 count = 4;
+ optional int32 wakeup_count = 5;
+ // The last time this first became active (when nesting changed from 0 to 1)
+ // in terms of elapsed realtime.
+ optional int64 start_time_realtime = 6;
+ // The broadcast is active if nesting > 0.
+ optional int32 nesting = 7;
}
// A com.android.server.AlarmManagerService.Constants object.
message ConstantsProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- // Minimum futurity of a new alarm.
- optional int64 min_futurity_duration_ms = 1;
- // Minimum alarm recurrence interval.
- optional int64 min_interval_duration_ms = 2;
- // Direct alarm listener callback timeout.
- optional int64 listener_timeout_duration_ms = 3;
- // Minimum time between ALLOW_WHILE_IDLE alarms when system is not idle.
- optional int64 allow_while_idle_short_duration_ms = 4;
- // Minimum time between ALLOW_WHILE_IDLE alarms when system is idling.
- optional int64 allow_while_idle_long_duration_ms = 5;
- // BroadcastOptions.setTemporaryAppWhitelistDuration() to use for FLAG_ALLOW_WHILE_IDLE.
- optional int64 allow_while_idle_whitelist_duration_ms = 6;
- // Maximum alarm recurrence interval.
- optional int64 max_interval_duration_ms = 7;
+ // Minimum futurity of a new alarm.
+ optional int64 min_futurity_duration_ms = 1;
+ // Minimum alarm recurrence interval.
+ optional int64 min_interval_duration_ms = 2;
+ // Direct alarm listener callback timeout.
+ optional int64 listener_timeout_duration_ms = 3;
+ // Minimum time between ALLOW_WHILE_IDLE alarms when system is not idle.
+ optional int64 allow_while_idle_short_duration_ms = 4;
+ // Minimum time between ALLOW_WHILE_IDLE alarms when system is idling.
+ optional int64 allow_while_idle_long_duration_ms = 5;
+ // BroadcastOptions.setTemporaryAppWhitelistDuration() to use for FLAG_ALLOW_WHILE_IDLE.
+ optional int64 allow_while_idle_whitelist_duration_ms = 6;
+ // Maximum alarm recurrence interval.
+ optional int64 max_interval_duration_ms = 7;
}
// A com.android.server.AlarmManagerService.FilterStats object.
message FilterStatsProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional string tag = 1 [ (.android.privacy).dest = DEST_EXPLICIT ];
- // The last time this filter when in flight, in terms of elapsed realtime.
- optional int64 last_flight_time_realtime = 2;
- // The total amount of time this filter was in flight.
- optional int64 total_flight_duration_ms = 3;
- optional int32 count = 4;
- optional int32 wakeup_count = 5;
- // The last time this first became active (when nesting changed from 0 to 1)
- // in terms of elapsed realtime.
- optional int64 start_time_realtime = 6;
- // The filter is active if nesting > 0.
- optional int32 nesting = 7;
+ optional string tag = 1 [ (.android.privacy).dest = DEST_EXPLICIT ];
+ // The last time this filter when in flight, in terms of elapsed realtime.
+ optional int64 last_flight_time_realtime = 2;
+ // The total amount of time this filter was in flight.
+ optional int64 total_flight_duration_ms = 3;
+ optional int32 count = 4;
+ optional int32 wakeup_count = 5;
+ // The last time this first became active (when nesting changed from 0 to 1)
+ // in terms of elapsed realtime.
+ optional int64 start_time_realtime = 6;
+ // The filter is active if nesting > 0.
+ optional int32 nesting = 7;
}
// A com.android.server.AlarmManagerService.IdleDispatchEntry object.
message IdleDispatchEntryProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 uid = 1;
- optional string pkg = 2;
- optional string tag = 3 [ (.android.privacy).dest = DEST_EXPLICIT ];
- optional string op = 4;
- // Time when this entry was created, in terms of elapsed realtime.
- optional int64 entry_creation_realtime = 5;
- // For a RESCHEDULED op, this is the last time we dispatched an "allow while
- // idle" alarm for the UID. For a SET op, this is when the alarm was
- // triggered. Times are in the 'elapsed' timebase.
- optional int64 arg_realtime = 6;
+ optional int32 uid = 1;
+ optional string pkg = 2;
+ optional string tag = 3 [ (.android.privacy).dest = DEST_EXPLICIT ];
+ optional string op = 4;
+ // Time when this entry was created, in terms of elapsed realtime.
+ optional int64 entry_creation_realtime = 5;
+ // For a RESCHEDULED op, this is the last time we dispatched an "allow while
+ // idle" alarm for the UID. For a SET op, this is when the alarm was
+ // triggered. Times are in the 'elapsed' timebase.
+ optional int64 arg_realtime = 6;
}
// A com.android.server.AlarmManagerService.InFlight object.
message InFlightProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 uid = 1;
- optional string tag = 2 [ (.android.privacy).dest = DEST_EXPLICIT ];
- optional int64 when_elapsed_ms = 3;
- optional .android.app.AlarmManagerProto.AlarmType alarm_type = 4;
- optional .android.app.PendingIntentProto pending_intent = 5;
- optional BroadcastStatsProto broadcast_stats = 6;
- optional FilterStatsProto filter_stats = 7;
- optional .android.os.WorkSourceProto work_source = 8;
+ optional int32 uid = 1;
+ optional string tag = 2 [ (.android.privacy).dest = DEST_EXPLICIT ];
+ optional int64 when_elapsed_ms = 3;
+ optional .android.app.AlarmManagerProto.AlarmType alarm_type = 4;
+ optional .android.app.PendingIntentProto pending_intent = 5;
+ optional BroadcastStatsProto broadcast_stats = 6;
+ optional FilterStatsProto filter_stats = 7;
+ optional .android.os.WorkSourceProto work_source = 8;
}
// A com.android.server.AlarmManagerService.WakeupEvent object.
message WakeupEventProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 uid = 1;
- optional string action = 2;
- optional int64 when = 3;
+ optional int32 uid = 1;
+ optional string action = 2;
+ optional int64 when = 3;
}
diff --git a/core/proto/android/server/animationadapter.proto b/core/proto/android/server/animationadapter.proto
index 9bfa794..0bcc488 100644
--- a/core/proto/android/server/animationadapter.proto
+++ b/core/proto/android/server/animationadapter.proto
@@ -24,55 +24,55 @@
option java_multiple_files = true;
message AnimationAdapterProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional LocalAnimationAdapterProto local = 1;
- optional RemoteAnimationAdapterWrapperProto remote = 2;
+ optional LocalAnimationAdapterProto local = 1;
+ optional RemoteAnimationAdapterWrapperProto remote = 2;
}
/* represents RemoteAnimationAdapterWrapper */
message RemoteAnimationAdapterWrapperProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional .android.view.RemoteAnimationTargetProto target = 1;
+ optional .android.view.RemoteAnimationTargetProto target = 1;
}
/* represents LocalAnimationAdapter */
message LocalAnimationAdapterProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional AnimationSpecProto animation_spec = 1;
+ optional AnimationSpecProto animation_spec = 1;
}
message AnimationSpecProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional WindowAnimationSpecProto window = 1;
- optional MoveAnimationSpecProto move = 2;
- optional AlphaAnimationSpecProto alpha = 3;
+ optional WindowAnimationSpecProto window = 1;
+ optional MoveAnimationSpecProto move = 2;
+ optional AlphaAnimationSpecProto alpha = 3;
}
/* represents WindowAnimationSpec */
message WindowAnimationSpecProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional string animation = 1;
+ optional string animation = 1;
}
/* represents MoveAnimationSpec*/
message MoveAnimationSpecProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional .android.graphics.PointProto from = 1;
- optional .android.graphics.PointProto to = 2;
- optional int64 duration = 3;
+ optional .android.graphics.PointProto from = 1;
+ optional .android.graphics.PointProto to = 2;
+ optional int64 duration_ms = 3;
}
/* represents AlphaAnimationSpec */
message AlphaAnimationSpecProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional float from = 1;
- optional float to = 2;
- optional int64 duration = 3;
-}
\ No newline at end of file
+ optional float from = 1;
+ optional float to = 2;
+ optional int64 duration_ms = 3;
+}
diff --git a/core/proto/android/server/appwindowthumbnail.proto b/core/proto/android/server/appwindowthumbnail.proto
index 54ad193..a1be721 100644
--- a/core/proto/android/server/appwindowthumbnail.proto
+++ b/core/proto/android/server/appwindowthumbnail.proto
@@ -26,9 +26,9 @@
* Represents a {@link com.android.server.wm.AppWindowThumbnail} object.
*/
message AppWindowThumbnailProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 width = 1;
- optional int32 height = 2;
- optional SurfaceAnimatorProto surface_animator = 3;
-}
\ No newline at end of file
+ optional int32 width = 1;
+ optional int32 height = 2;
+ optional SurfaceAnimatorProto surface_animator = 3;
+}
diff --git a/core/proto/android/server/forceappstandbytracker.proto b/core/proto/android/server/forceappstandbytracker.proto
index 5296e47..1113d6a 100644
--- a/core/proto/android/server/forceappstandbytracker.proto
+++ b/core/proto/android/server/forceappstandbytracker.proto
@@ -27,51 +27,51 @@
//
// Next ID: 12
message ForceAppStandbyTrackerProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- // Whether all apps are forced standby or not.
- optional bool force_all_apps_standby = 1;
-
- // UIDs currently active.
- repeated int32 active_uids = 2;
-
- // UIDs currently in the foreground.
- repeated int32 foreground_uids = 11;
-
- // App ids that are in power-save whitelist.
- repeated int32 power_save_whitelist_app_ids = 3;
-
- // App ids that are in temporary power-save whitelist.
- repeated int32 temp_power_save_whitelist_app_ids = 4;
-
- message RunAnyInBackgroundRestrictedPackages {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 uid = 1;
- optional string package_name = 2;
- }
- // Packages that are disallowed OP_RUN_ANY_IN_BACKGROUND.
- repeated RunAnyInBackgroundRestrictedPackages run_any_in_background_restricted_packages = 5;
+ // Whether all apps are forced standby or not.
+ optional bool force_all_apps_standby = 1;
- // Whether device is a small battery device
- optional bool is_small_battery_device = 6;
+ // UIDs currently active.
+ repeated int32 active_uids = 2;
- // Whether force app standby for small battery device setting is enabled
- optional bool force_all_apps_standby_for_small_battery = 7;
+ // UIDs currently in the foreground.
+ repeated int32 foreground_uids = 11;
- // Whether device is plugged in to the charger
- optional bool is_plugged_in = 8;
+ // App ids that are in power-save whitelist.
+ repeated int32 power_save_whitelist_app_ids = 3;
- // Performance stats.
- optional StatLoggerProto stats = 9;
+ // App ids that are in temporary power-save whitelist.
+ repeated int32 temp_power_save_whitelist_app_ids = 4;
- message ExemptedPackage {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ message RunAnyInBackgroundRestrictedPackages {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 userId = 1;
- optional string package_name = 2;
- }
+ optional int32 uid = 1;
+ optional string package_name = 2;
+ }
+ // Packages that are disallowed OP_RUN_ANY_IN_BACKGROUND.
+ repeated RunAnyInBackgroundRestrictedPackages run_any_in_background_restricted_packages = 5;
- // Packages that are in the EXEMPT bucket.
- repeated ExemptedPackage exempted_packages = 10;
+ // Whether device is a small battery device
+ optional bool is_small_battery_device = 6;
+
+ // Whether force app standby for small battery device setting is enabled
+ optional bool force_all_apps_standby_for_small_battery = 7;
+
+ // Whether device is plugged in to the charger
+ optional bool is_plugged_in = 8;
+
+ // Performance stats.
+ optional StatLoggerProto stats = 9;
+
+ message ExemptedPackage {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional int32 userId = 1;
+ optional string package_name = 2;
+ }
+
+ // Packages that are in the EXEMPT bucket.
+ repeated ExemptedPackage exempted_packages = 10;
}
diff --git a/core/proto/android/server/jobscheduler.proto b/core/proto/android/server/jobscheduler.proto
index 4df3b63..0a10cec 100644
--- a/core/proto/android/server/jobscheduler.proto
+++ b/core/proto/android/server/jobscheduler.proto
@@ -219,23 +219,6 @@
message StateControllerProto {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- message AppIdleController {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional bool is_parole_on = 1;
-
- message TrackedJob {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional JobStatusShortInfoProto info = 1;
- optional int32 source_uid = 2;
- optional string source_package_name = 3;
- // If the constraints are satisfied, then the controller will mark
- // the job as RUNNABLE, otherwise, it will be WAITING.
- optional bool are_constraints_satisfied = 4;
- }
- repeated TrackedJob tracked_jobs = 2;
- }
message BackgroundJobsController {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
@@ -413,15 +396,14 @@
repeated TrackedJob tracked_jobs = 4;
}
oneof controller {
- AppIdleController app_idle = 1;
- BackgroundJobsController background = 2;
- BatteryController battery = 3;
- ConnectivityController connectivity = 4;
- ContentObserverController content_observer = 5;
- DeviceIdleJobsController device_idle = 6;
- IdleController idle = 7;
- StorageController storage = 8;
- TimeController time = 9;
+ BackgroundJobsController background = 1;
+ BatteryController battery = 2;
+ ConnectivityController connectivity = 3;
+ ContentObserverController content_observer = 4;
+ DeviceIdleJobsController device_idle = 5;
+ IdleController idle = 6;
+ StorageController storage = 7;
+ TimeController time = 8;
}
}
@@ -618,8 +600,8 @@
CONSTRAINT_DEADLINE = 5;
CONSTRAINT_IDLE = 6;
CONSTRAINT_CONNECTIVITY = 7;
- CONSTRAINT_CONTENT_TRIGGER = 9;
- CONSTRAINT_DEVICE_NOT_DOZING = 10;
+ CONSTRAINT_CONTENT_TRIGGER = 8;
+ CONSTRAINT_DEVICE_NOT_DOZING = 9;
}
repeated Constraint required_constraints = 7;
repeated Constraint satisfied_constraints = 8;
diff --git a/core/proto/android/server/powermanagerservice.proto b/core/proto/android/server/powermanagerservice.proto
index eb60942..cee556a 100644
--- a/core/proto/android/server/powermanagerservice.proto
+++ b/core/proto/android/server/powermanagerservice.proto
@@ -313,36 +313,41 @@
}
message BatterySaverStateMachineProto {
- // Whether battery saver is enabled.
- optional bool enabled = 1;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- // Whether system has booted.
- optional bool boot_completed = 2;
+ // Whether battery saver is enabled.
+ optional bool enabled = 1;
- // Whether settings have been loaded already.
- optional bool settings_loaded = 3;
+ // Whether system has booted.
+ optional bool boot_completed = 2;
- // Whether battery status has been set at least once.
- optional bool battery_status_set = 4;
+ // Whether settings have been loaded already.
+ optional bool settings_loaded = 3;
- // Whether automatic battery saver has been canceled by the user.
- optional bool battery_saver_snoozing = 5;
+ // Whether battery status has been set at least once.
+ optional bool battery_status_set = 4;
- // Whether the device is connected to any power source.
- optional bool is_powered = 6;
+ // Whether automatic battery saver has been canceled by the user.
+ optional bool battery_saver_snoozing = 5;
- // Current battery level in %, 0-100.
- optional int32 battery_level = 7;
+ // Whether the device is connected to any power source.
+ optional bool is_powered = 6;
- // Whether battery level is low or not.
- optional bool is_battery_level_low = 8;
+ // Current battery level in %, 0-100.
+ optional int32 battery_level = 7;
- // The value of Global.LOW_POWER_MODE.
- optional bool setting_battery_saver_enabled = 9;
+ // Whether battery level is low or not.
+ optional bool is_battery_level_low = 8;
- // The value of Global.LOW_POWER_MODE_STICKY.
- optional bool setting_battery_saver_enabled_sticky = 10;
+ // The value of Global.LOW_POWER_MODE. This is a cached value, so it could
+ // be slightly different from what's in GlobalSettingsProto.LowPowerMode.
+ optional bool setting_battery_saver_enabled = 9;
- // The value of Global.LOW_POWER_MODE_TRIGGER_LEVEL.
- optional int32 setting_battery_saver_trigger_threshold = 11;
-}
\ No newline at end of file
+ // The value of Global.LOW_POWER_MODE_STICKY. This is a cached value, so it could
+ // be slightly different from what's in GlobalSettingsProto.LowPowerMode.
+ optional bool setting_battery_saver_enabled_sticky = 10;
+
+ // The value of Global.LOW_POWER_MODE_TRIGGER_LEVEL. This is a cached value, so it could
+ // be slightly different from what's in GlobalSettingsProto.LowPowerMode.
+ optional int32 setting_battery_saver_trigger_threshold = 11;
+}
diff --git a/core/proto/android/server/statlogger.proto b/core/proto/android/server/statlogger.proto
index 2b7daea..46badc4 100644
--- a/core/proto/android/server/statlogger.proto
+++ b/core/proto/android/server/statlogger.proto
@@ -24,17 +24,17 @@
// Dump from StatLogger.
message StatLoggerProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- message Event {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 eventId = 1;
- // Labels are hard-coded in Android framework code.
- optional string label = 2;
- optional int32 count = 3;
- optional int64 total_duration_micros = 4;
- }
+ message Event {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- repeated Event events = 1;
+ optional int32 eventId = 1;
+ // Labels are hard-coded in Android framework code.
+ optional string label = 2;
+ optional int32 count = 3;
+ optional int64 total_duration_micros = 4;
+ }
+
+ repeated Event events = 1;
}
diff --git a/core/proto/android/server/surfaceanimator.proto b/core/proto/android/server/surfaceanimator.proto
index 84560bc..e3e8baa 100644
--- a/core/proto/android/server/surfaceanimator.proto
+++ b/core/proto/android/server/surfaceanimator.proto
@@ -27,10 +27,9 @@
* Represents a {@link com.android.server.wm.SurfaceAnimator} object.
*/
message SurfaceAnimatorProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- reserved 1; // Was string animation_adapter = 1
- optional .android.view.SurfaceControlProto leash = 2;
- optional bool animation_start_delayed = 3;
- optional AnimationAdapterProto animation_adapter = 4;
-}
\ No newline at end of file
+ optional .android.view.SurfaceControlProto leash = 1;
+ optional bool animation_start_delayed = 2;
+ optional AnimationAdapterProto animation_adapter = 3;
+}
diff --git a/core/proto/android/server/windowmanagerservice.proto b/core/proto/android/server/windowmanagerservice.proto
index ee371c1..7467d8f 100644
--- a/core/proto/android/server/windowmanagerservice.proto
+++ b/core/proto/android/server/windowmanagerservice.proto
@@ -33,350 +33,350 @@
option java_multiple_files = true;
message WindowManagerServiceDumpProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional WindowManagerPolicyProto policy = 1;
- /* window hierarchy root */
- optional RootWindowContainerProto root_window_container = 2;
- optional IdentifierProto focused_window = 3;
- optional string focused_app = 4;
- optional IdentifierProto input_method_window = 5;
- optional bool display_frozen = 6;
- optional int32 rotation = 7;
- optional int32 last_orientation = 8;
- optional AppTransitionProto app_transition = 9;
+ optional WindowManagerPolicyProto policy = 1;
+ /* window hierarchy root */
+ optional RootWindowContainerProto root_window_container = 2;
+ optional IdentifierProto focused_window = 3;
+ optional string focused_app = 4;
+ optional IdentifierProto input_method_window = 5;
+ optional bool display_frozen = 6;
+ optional int32 rotation = 7;
+ optional int32 last_orientation = 8;
+ optional AppTransitionProto app_transition = 9;
}
/* represents DisplayContent */
message RootWindowContainerProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional WindowContainerProto window_container = 1;
- repeated DisplayProto displays = 2;
- /* window references in top down z order */
- repeated IdentifierProto windows = 3;
+ optional WindowContainerProto window_container = 1;
+ repeated DisplayProto displays = 2;
+ /* window references in top down z order */
+ repeated IdentifierProto windows = 3;
}
message BarControllerProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional .android.app.StatusBarManagerProto.WindowState state = 1;
- optional .android.app.StatusBarManagerProto.TransientWindowState transient_state = 2;
+ optional .android.app.StatusBarManagerProto.WindowState state = 1;
+ optional .android.app.StatusBarManagerProto.TransientWindowState transient_state = 2;
}
message WindowOrientationListenerProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional bool enabled = 1;
- optional .android.view.SurfaceProto.Rotation rotation = 2;
+ optional bool enabled = 1;
+ optional .android.view.SurfaceProto.Rotation rotation = 2;
}
message KeyguardServiceDelegateProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional bool showing = 1;
- optional bool occluded = 2;
- optional bool secure = 3;
- enum ScreenState {
- SCREEN_STATE_OFF = 0;
- SCREEN_STATE_TURNING_ON = 1;
- SCREEN_STATE_ON = 2;
- SCREEN_STATE_TURNING_OFF = 3;
- }
- optional ScreenState screen_state = 4;
- enum InteractiveState {
- INTERACTIVE_STATE_SLEEP = 0;
- INTERACTIVE_STATE_WAKING = 1;
- INTERACTIVE_STATE_AWAKE = 2;
- INTERACTIVE_STATE_GOING_TO_SLEEP = 3;
- }
- optional InteractiveState interactive_state = 5;
+ optional bool showing = 1;
+ optional bool occluded = 2;
+ optional bool secure = 3;
+ enum ScreenState {
+ SCREEN_STATE_OFF = 0;
+ SCREEN_STATE_TURNING_ON = 1;
+ SCREEN_STATE_ON = 2;
+ SCREEN_STATE_TURNING_OFF = 3;
+ }
+ optional ScreenState screen_state = 4;
+ enum InteractiveState {
+ INTERACTIVE_STATE_SLEEP = 0;
+ INTERACTIVE_STATE_WAKING = 1;
+ INTERACTIVE_STATE_AWAKE = 2;
+ INTERACTIVE_STATE_GOING_TO_SLEEP = 3;
+ }
+ optional InteractiveState interactive_state = 5;
}
/* represents PhoneWindowManager */
message WindowManagerPolicyProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 last_system_ui_flags = 1;
- enum UserRotationMode {
- USER_ROTATION_FREE = 0;
- USER_ROTATION_LOCKED = 1;
- }
- optional UserRotationMode rotation_mode = 2;
- optional .android.view.SurfaceProto.Rotation rotation = 3;
- optional .android.content.ActivityInfoProto.ScreenOrientation orientation = 4;
- optional bool screen_on_fully = 5;
- optional bool keyguard_draw_complete = 6;
- optional bool window_manager_draw_complete = 7;
- optional string focused_app_token = 8;
- optional IdentifierProto focused_window = 9;
- optional IdentifierProto top_fullscreen_opaque_window = 10;
- optional IdentifierProto top_fullscreen_opaque_or_dimming_window = 11;
- optional bool keyguard_occluded = 12;
- optional bool keyguard_occluded_changed = 13;
- optional bool keyguard_occluded_pending = 14;
- optional bool force_status_bar = 15;
- optional bool force_status_bar_from_keyguard = 16;
- optional BarControllerProto status_bar = 17;
- optional BarControllerProto navigation_bar = 18;
- optional WindowOrientationListenerProto orientation_listener = 19;
- optional KeyguardServiceDelegateProto keyguard_delegate = 20;
+ optional int32 last_system_ui_flags = 1;
+ enum UserRotationMode {
+ USER_ROTATION_FREE = 0;
+ USER_ROTATION_LOCKED = 1;
+ }
+ optional UserRotationMode rotation_mode = 2;
+ optional .android.view.SurfaceProto.Rotation rotation = 3;
+ optional .android.content.ActivityInfoProto.ScreenOrientation orientation = 4;
+ optional bool screen_on_fully = 5;
+ optional bool keyguard_draw_complete = 6;
+ optional bool window_manager_draw_complete = 7;
+ optional string focused_app_token = 8;
+ optional IdentifierProto focused_window = 9;
+ optional IdentifierProto top_fullscreen_opaque_window = 10;
+ optional IdentifierProto top_fullscreen_opaque_or_dimming_window = 11;
+ optional bool keyguard_occluded = 12;
+ optional bool keyguard_occluded_changed = 13;
+ optional bool keyguard_occluded_pending = 14;
+ optional bool force_status_bar = 15;
+ optional bool force_status_bar_from_keyguard = 16;
+ optional BarControllerProto status_bar = 17;
+ optional BarControllerProto navigation_bar = 18;
+ optional WindowOrientationListenerProto orientation_listener = 19;
+ optional KeyguardServiceDelegateProto keyguard_delegate = 20;
}
/* represents AppTransition */
message AppTransitionProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- enum AppState {
- APP_STATE_IDLE = 0;
- APP_STATE_READY = 1;
- APP_STATE_RUNNING = 2;
- APP_STATE_TIMEOUT = 3;
- }
- optional AppState app_transition_state = 1;
- /* definitions for constants found in {@link com.android.server.wm.AppTransition} */
- enum TransitionType {
- TRANSIT_NONE = 0;
- TRANSIT_UNSET = -1;
- TRANSIT_ACTIVITY_OPEN = 6;
- TRANSIT_ACTIVITY_CLOSE = 7;
- TRANSIT_TASK_OPEN = 8;
- TRANSIT_TASK_CLOSE = 9;
- TRANSIT_TASK_TO_FRONT = 10;
- TRANSIT_TASK_TO_BACK = 11;
- TRANSIT_WALLPAPER_CLOSE = 12;
- TRANSIT_WALLPAPER_OPEN = 13;
- TRANSIT_WALLPAPER_INTRA_OPEN = 14;
- TRANSIT_WALLPAPER_INTRA_CLOSE = 15;
- TRANSIT_TASK_OPEN_BEHIND = 16;
- TRANSIT_TASK_IN_PLACE = 17;
- TRANSIT_ACTIVITY_RELAUNCH = 18;
- TRANSIT_DOCK_TASK_FROM_RECENTS = 19;
- TRANSIT_KEYGUARD_GOING_AWAY = 20;
- TRANSIT_KEYGUARD_GOING_AWAY_ON_WALLPAPER = 21;
- TRANSIT_KEYGUARD_OCCLUDE = 22;
- TRANSIT_KEYGUARD_UNOCCLUDE = 23;
- TRANSIT_TRANSLUCENT_ACTIVITY_OPEN = 24;
- TRANSIT_TRANSLUCENT_ACTIVITY_CLOSE = 25;
- }
- optional TransitionType last_used_app_transition = 2;
+ enum AppState {
+ APP_STATE_IDLE = 0;
+ APP_STATE_READY = 1;
+ APP_STATE_RUNNING = 2;
+ APP_STATE_TIMEOUT = 3;
+ }
+ optional AppState app_transition_state = 1;
+ /* definitions for constants found in {@link com.android.server.wm.AppTransition} */
+ enum TransitionType {
+ TRANSIT_NONE = 0;
+ TRANSIT_UNSET = -1;
+ TRANSIT_ACTIVITY_OPEN = 6;
+ TRANSIT_ACTIVITY_CLOSE = 7;
+ TRANSIT_TASK_OPEN = 8;
+ TRANSIT_TASK_CLOSE = 9;
+ TRANSIT_TASK_TO_FRONT = 10;
+ TRANSIT_TASK_TO_BACK = 11;
+ TRANSIT_WALLPAPER_CLOSE = 12;
+ TRANSIT_WALLPAPER_OPEN = 13;
+ TRANSIT_WALLPAPER_INTRA_OPEN = 14;
+ TRANSIT_WALLPAPER_INTRA_CLOSE = 15;
+ TRANSIT_TASK_OPEN_BEHIND = 16;
+ TRANSIT_TASK_IN_PLACE = 17;
+ TRANSIT_ACTIVITY_RELAUNCH = 18;
+ TRANSIT_DOCK_TASK_FROM_RECENTS = 19;
+ TRANSIT_KEYGUARD_GOING_AWAY = 20;
+ TRANSIT_KEYGUARD_GOING_AWAY_ON_WALLPAPER = 21;
+ TRANSIT_KEYGUARD_OCCLUDE = 22;
+ TRANSIT_KEYGUARD_UNOCCLUDE = 23;
+ TRANSIT_TRANSLUCENT_ACTIVITY_OPEN = 24;
+ TRANSIT_TRANSLUCENT_ACTIVITY_CLOSE = 25;
+ }
+ optional TransitionType last_used_app_transition = 2;
}
/* represents DisplayContent */
message DisplayProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional WindowContainerProto window_container = 1;
- optional int32 id = 2;
- repeated StackProto stacks = 3;
- optional DockedStackDividerControllerProto docked_stack_divider_controller = 4;
- optional PinnedStackControllerProto pinned_stack_controller = 5;
- /* non app windows */
- repeated WindowTokenProto above_app_windows = 6;
- repeated WindowTokenProto below_app_windows = 7;
- repeated WindowTokenProto ime_windows = 8;
- optional int32 dpi = 9;
- optional .android.view.DisplayInfoProto display_info = 10;
- optional int32 rotation = 11;
- optional ScreenRotationAnimationProto screen_rotation_animation = 12;
- optional DisplayFramesProto display_frames = 13;
+ optional WindowContainerProto window_container = 1;
+ optional int32 id = 2;
+ repeated StackProto stacks = 3;
+ optional DockedStackDividerControllerProto docked_stack_divider_controller = 4;
+ optional PinnedStackControllerProto pinned_stack_controller = 5;
+ /* non app windows */
+ repeated WindowTokenProto above_app_windows = 6;
+ repeated WindowTokenProto below_app_windows = 7;
+ repeated WindowTokenProto ime_windows = 8;
+ optional int32 dpi = 9;
+ optional .android.view.DisplayInfoProto display_info = 10;
+ optional int32 rotation = 11;
+ optional ScreenRotationAnimationProto screen_rotation_animation = 12;
+ optional DisplayFramesProto display_frames = 13;
}
/* represents DisplayFrames */
message DisplayFramesProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional .android.graphics.RectProto stable_bounds = 1;
+ optional .android.graphics.RectProto stable_bounds = 1;
}
/* represents DockedStackDividerController */
message DockedStackDividerControllerProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional bool minimized_dock = 1;
+ optional bool minimized_dock = 1;
}
/* represents PinnedStackController */
message PinnedStackControllerProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional .android.graphics.RectProto default_bounds = 1;
- optional .android.graphics.RectProto movement_bounds = 2;
+ optional .android.graphics.RectProto default_bounds = 1;
+ optional .android.graphics.RectProto movement_bounds = 2;
}
/* represents TaskStack */
message StackProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional WindowContainerProto window_container = 1;
- optional int32 id = 2;
- repeated TaskProto tasks = 3;
- optional bool fills_parent = 4;
- optional .android.graphics.RectProto bounds = 5;
- optional bool animation_background_surface_is_dimming = 6;
- optional bool defer_removal = 7;
- optional float minimize_amount = 8;
- optional bool adjusted_for_ime = 9;
- optional float adjust_ime_amount = 10;
- optional float adjust_divider_amount = 11;
- optional .android.graphics.RectProto adjusted_bounds = 12;
- optional bool animating_bounds = 13;
+ optional WindowContainerProto window_container = 1;
+ optional int32 id = 2;
+ repeated TaskProto tasks = 3;
+ optional bool fills_parent = 4;
+ optional .android.graphics.RectProto bounds = 5;
+ optional bool animation_background_surface_is_dimming = 6;
+ optional bool defer_removal = 7;
+ optional float minimize_amount = 8;
+ optional bool adjusted_for_ime = 9;
+ optional float adjust_ime_amount = 10;
+ optional float adjust_divider_amount = 11;
+ optional .android.graphics.RectProto adjusted_bounds = 12;
+ optional bool animating_bounds = 13;
}
/* represents Task */
message TaskProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional WindowContainerProto window_container = 1;
- optional int32 id = 2;
- repeated AppWindowTokenProto app_window_tokens = 3;
- optional bool fills_parent = 4;
- optional .android.graphics.RectProto bounds = 5;
- optional .android.graphics.RectProto temp_inset_bounds = 6;
- optional bool defer_removal = 7;
+ optional WindowContainerProto window_container = 1;
+ optional int32 id = 2;
+ repeated AppWindowTokenProto app_window_tokens = 3;
+ optional bool fills_parent = 4;
+ optional .android.graphics.RectProto bounds = 5;
+ optional .android.graphics.RectProto temp_inset_bounds = 6;
+ optional bool defer_removal = 7;
}
/* represents AppWindowToken */
message AppWindowTokenProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- /* obtained from ActivityRecord */
- optional string name = 1 [ (.android.privacy).dest = DEST_EXPLICIT ];
- optional WindowTokenProto window_token = 2;
- optional bool last_surface_showing = 3;
- optional bool is_waiting_for_transition_start = 4;
- optional bool is_really_animating = 5;
- optional AppWindowThumbnailProto thumbnail = 6;
- optional bool fills_parent = 7;
- optional bool app_stopped = 8;
- optional bool hidden_requested = 9;
- optional bool client_hidden = 10;
- optional bool defer_hiding_client = 11;
- optional bool reported_drawn = 12;
- optional bool reported_visible = 13;
- optional int32 num_interesting_windows = 14;
- optional int32 num_drawn_windows = 15;
- optional bool all_drawn = 16;
- optional bool last_all_drawn = 17;
- optional bool removed = 18;
- optional IdentifierProto starting_window = 19;
- optional bool starting_displayed = 20;
- optional bool starting_moved = 21;
- optional bool hidden_set_from_transferred_starting_window = 22;
- repeated .android.graphics.RectProto frozen_bounds = 23;
+ /* obtained from ActivityRecord */
+ optional string name = 1 [ (.android.privacy).dest = DEST_EXPLICIT ];
+ optional WindowTokenProto window_token = 2;
+ optional bool last_surface_showing = 3;
+ optional bool is_waiting_for_transition_start = 4;
+ optional bool is_really_animating = 5;
+ optional AppWindowThumbnailProto thumbnail = 6;
+ optional bool fills_parent = 7;
+ optional bool app_stopped = 8;
+ optional bool hidden_requested = 9;
+ optional bool client_hidden = 10;
+ optional bool defer_hiding_client = 11;
+ optional bool reported_drawn = 12;
+ optional bool reported_visible = 13;
+ optional int32 num_interesting_windows = 14;
+ optional int32 num_drawn_windows = 15;
+ optional bool all_drawn = 16;
+ optional bool last_all_drawn = 17;
+ optional bool removed = 18;
+ optional IdentifierProto starting_window = 19;
+ optional bool starting_displayed = 20;
+ optional bool starting_moved = 21;
+ optional bool hidden_set_from_transferred_starting_window = 22;
+ repeated .android.graphics.RectProto frozen_bounds = 23;
}
/* represents WindowToken */
message WindowTokenProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional WindowContainerProto window_container = 1;
- optional int32 hash_code = 2;
- repeated WindowStateProto windows = 3;
- optional bool hidden = 4;
- optional bool waiting_to_show = 5;
- optional bool paused = 6;
+ optional WindowContainerProto window_container = 1;
+ optional int32 hash_code = 2;
+ repeated WindowStateProto windows = 3;
+ optional bool hidden = 4;
+ optional bool waiting_to_show = 5;
+ optional bool paused = 6;
}
/* represents WindowState */
message WindowStateProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional WindowContainerProto window_container = 1;
- optional IdentifierProto identifier = 2;
- optional int32 display_id = 3;
- optional int32 stack_id = 4;
- optional .android.view.WindowLayoutParamsProto attributes = 5;
- optional .android.graphics.RectProto given_content_insets = 6;
- optional .android.graphics.RectProto frame = 7;
- optional .android.graphics.RectProto containing_frame = 8;
- optional .android.graphics.RectProto parent_frame = 9;
- optional .android.graphics.RectProto content_frame = 10;
- optional .android.graphics.RectProto content_insets = 11;
- optional .android.graphics.RectProto surface_insets = 12;
- optional WindowStateAnimatorProto animator = 13;
- optional bool animating_exit = 14;
- repeated WindowStateProto child_windows = 15;
- optional .android.graphics.RectProto surface_position = 16;
- optional int32 requested_width = 18;
- optional int32 requested_height = 19;
- optional int32 view_visibility = 20;
- optional int32 system_ui_visibility = 21;
- optional bool has_surface = 22;
- optional bool is_ready_for_display = 23;
- optional .android.graphics.RectProto display_frame = 24;
- optional .android.graphics.RectProto overscan_frame = 25;
- optional .android.graphics.RectProto visible_frame = 26;
- optional .android.graphics.RectProto decor_frame = 27;
- optional .android.graphics.RectProto outset_frame = 28;
- optional .android.graphics.RectProto overscan_insets = 29;
- optional .android.graphics.RectProto visible_insets = 30;
- optional .android.graphics.RectProto stable_insets = 31;
- optional .android.graphics.RectProto outsets = 32;
- optional .android.view.DisplayCutoutProto cutout = 33;
- optional bool remove_on_exit = 34;
- optional bool destroying = 35;
- optional bool removed = 36;
- optional bool is_on_screen = 37;
- optional bool is_visible = 38;
+ optional WindowContainerProto window_container = 1;
+ optional IdentifierProto identifier = 2;
+ optional int32 display_id = 3;
+ optional int32 stack_id = 4;
+ optional .android.view.WindowLayoutParamsProto attributes = 5;
+ optional .android.graphics.RectProto given_content_insets = 6;
+ optional .android.graphics.RectProto frame = 7;
+ optional .android.graphics.RectProto containing_frame = 8;
+ optional .android.graphics.RectProto parent_frame = 9;
+ optional .android.graphics.RectProto content_frame = 10;
+ optional .android.graphics.RectProto content_insets = 11;
+ optional .android.graphics.RectProto surface_insets = 12;
+ optional WindowStateAnimatorProto animator = 13;
+ optional bool animating_exit = 14;
+ repeated WindowStateProto child_windows = 15;
+ optional .android.graphics.RectProto surface_position = 16;
+ optional int32 requested_width = 18;
+ optional int32 requested_height = 19;
+ optional int32 view_visibility = 20;
+ optional int32 system_ui_visibility = 21;
+ optional bool has_surface = 22;
+ optional bool is_ready_for_display = 23;
+ optional .android.graphics.RectProto display_frame = 24;
+ optional .android.graphics.RectProto overscan_frame = 25;
+ optional .android.graphics.RectProto visible_frame = 26;
+ optional .android.graphics.RectProto decor_frame = 27;
+ optional .android.graphics.RectProto outset_frame = 28;
+ optional .android.graphics.RectProto overscan_insets = 29;
+ optional .android.graphics.RectProto visible_insets = 30;
+ optional .android.graphics.RectProto stable_insets = 31;
+ optional .android.graphics.RectProto outsets = 32;
+ optional .android.view.DisplayCutoutProto cutout = 33;
+ optional bool remove_on_exit = 34;
+ optional bool destroying = 35;
+ optional bool removed = 36;
+ optional bool is_on_screen = 37;
+ optional bool is_visible = 38;
}
message IdentifierProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 hash_code = 1;
- optional int32 user_id = 2;
- optional string title = 3 [ (.android.privacy).dest = DEST_EXPLICIT ];
+ optional int32 hash_code = 1;
+ optional int32 user_id = 2;
+ optional string title = 3 [ (.android.privacy).dest = DEST_EXPLICIT ];
}
/* represents WindowStateAnimator */
message WindowStateAnimatorProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional .android.graphics.RectProto last_clip_rect = 1;
- optional WindowSurfaceControllerProto surface = 2;
- enum DrawState {
- NO_SURFACE = 0;
- DRAW_PENDING = 1;
- COMMIT_DRAW_PENDING = 2;
- READY_TO_SHOW = 3;
- HAS_DRAWN = 4;
- }
- optional DrawState draw_state = 3;
- optional .android.graphics.RectProto system_decor_rect = 4;
+ optional .android.graphics.RectProto last_clip_rect = 1;
+ optional WindowSurfaceControllerProto surface = 2;
+ enum DrawState {
+ NO_SURFACE = 0;
+ DRAW_PENDING = 1;
+ COMMIT_DRAW_PENDING = 2;
+ READY_TO_SHOW = 3;
+ HAS_DRAWN = 4;
+ }
+ optional DrawState draw_state = 3;
+ optional .android.graphics.RectProto system_decor_rect = 4;
}
/* represents WindowSurfaceController */
message WindowSurfaceControllerProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional bool shown = 1;
- optional int32 layer = 2;
+ optional bool shown = 1;
+ optional int32 layer = 2;
}
/* represents ScreenRotationAnimation */
message ScreenRotationAnimationProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional bool started = 1;
- optional bool animation_running = 2;
+ optional bool started = 1;
+ optional bool animation_running = 2;
}
/* represents WindowContainer */
message WindowContainerProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional ConfigurationContainerProto configuration_container = 1;
- optional int32 orientation = 2;
- optional bool visible = 3;
- optional SurfaceAnimatorProto surface_animator = 4;
+ optional ConfigurationContainerProto configuration_container = 1;
+ optional int32 orientation = 2;
+ optional bool visible = 3;
+ optional SurfaceAnimatorProto surface_animator = 4;
}
/* represents ConfigurationContainer */
message ConfigurationContainerProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional .android.content.ConfigurationProto override_configuration = 1;
- optional .android.content.ConfigurationProto full_configuration = 2;
- optional .android.content.ConfigurationProto merged_override_configuration = 3;
+ optional .android.content.ConfigurationProto override_configuration = 1;
+ optional .android.content.ConfigurationProto full_configuration = 2;
+ optional .android.content.ConfigurationProto merged_override_configuration = 3;
}
diff --git a/core/proto/android/service/appwidget.proto b/core/proto/android/service/appwidget.proto
index 3f46d2b..cd7173a 100644
--- a/core/proto/android/service/appwidget.proto
+++ b/core/proto/android/service/appwidget.proto
@@ -22,18 +22,18 @@
// represents the object holding the dump info of the app widget service
message AppWidgetServiceDumpProto {
- repeated WidgetProto widgets = 1; // the array of bound widgets
+ repeated WidgetProto widgets = 1; // the array of bound widgets
}
// represents a bound widget
message WidgetProto {
- optional bool isCrossProfile = 1; // true if host and provider belong to diff users
- optional bool isHostStopped = 2; // true if host has not called startListening yet
- optional string hostPackage = 3;
- optional string providerPackage = 4;
- optional string providerClass = 5;
- optional int32 minWidth = 6;
- optional int32 minHeight = 7;
- optional int32 maxWidth = 8;
- optional int32 maxHeight = 9;
+ optional bool isCrossProfile = 1; // true if host and provider belong to diff users
+ optional bool isHostStopped = 2; // true if host has not called startListening yet
+ optional string hostPackage = 3;
+ optional string providerPackage = 4;
+ optional string providerClass = 5;
+ optional int32 minWidth = 6;
+ optional int32 minHeight = 7;
+ optional int32 maxWidth = 8;
+ optional int32 maxHeight = 9;
}
diff --git a/core/proto/android/service/batterystats.proto b/core/proto/android/service/batterystats.proto
index e31e7f3..5586263 100644
--- a/core/proto/android/service/batterystats.proto
+++ b/core/proto/android/service/batterystats.proto
@@ -24,7 +24,7 @@
import "frameworks/base/libs/incident/proto/android/privacy.proto";
message BatteryStatsServiceDumpProto {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- optional android.os.BatteryStatsProto batterystats = 1;
+ optional android.os.BatteryStatsProto batterystats = 1;
}
diff --git a/core/proto/android/service/network_watchlist.proto b/core/proto/android/service/network_watchlist.proto
index fb03b93..66d79bdb 100644
--- a/core/proto/android/service/network_watchlist.proto
+++ b/core/proto/android/service/network_watchlist.proto
@@ -23,14 +23,14 @@
// generate network watchlist report.
message NetworkWatchlistReportProto {
- optional int32 report_version = 1;
+ optional int32 report_version = 1;
- optional string watchlist_config_hash = 2;
+ optional string watchlist_config_hash = 2;
- repeated NetworkWatchlistAppResultProto app_result = 3;
+ repeated NetworkWatchlistAppResultProto app_result = 3;
}
message NetworkWatchlistAppResultProto {
- optional string app_digest = 1;
- optional bool encoded_result = 2;
+ optional string app_digest = 1;
+ optional bool encoded_result = 2;
}
diff --git a/core/proto/android/view/displaycutout.proto b/core/proto/android/view/displaycutout.proto
index ee258b7..f4744da 100644
--- a/core/proto/android/view/displaycutout.proto
+++ b/core/proto/android/view/displaycutout.proto
@@ -23,8 +23,8 @@
option java_multiple_files = true;
message DisplayCutoutProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional .android.graphics.RectProto insets = 1;
- optional .android.graphics.RectProto bounds = 2;
+ optional .android.graphics.RectProto insets = 1;
+ optional .android.graphics.RectProto bounds = 2;
}
diff --git a/core/proto/android/view/displayinfo.proto b/core/proto/android/view/displayinfo.proto
index 2a03050..8583955 100644
--- a/core/proto/android/view/displayinfo.proto
+++ b/core/proto/android/view/displayinfo.proto
@@ -23,11 +23,11 @@
/* represents DisplayInfo */
message DisplayInfoProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 logical_width = 1;
- optional int32 logical_height = 2;
- optional int32 app_width = 3;
- optional int32 app_height = 4;
- optional string name = 5 [ (.android.privacy).dest = DEST_EXPLICIT ];
+ optional int32 logical_width = 1;
+ optional int32 logical_height = 2;
+ optional int32 app_width = 3;
+ optional int32 app_height = 4;
+ optional string name = 5 [ (.android.privacy).dest = DEST_EXPLICIT ];
}
diff --git a/core/proto/android/view/remote_animation_target.proto b/core/proto/android/view/remote_animation_target.proto
index d5da0a9..9139f25 100644
--- a/core/proto/android/view/remote_animation_target.proto
+++ b/core/proto/android/view/remote_animation_target.proto
@@ -28,16 +28,16 @@
/** Proto representation for RemoteAnimationTarget.java class. */
message RemoteAnimationTargetProto {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 task_id = 1;
- optional int32 mode = 2;
- optional .android.view.SurfaceControlProto leash = 3;
- optional bool is_translucent = 4;
- optional .android.graphics.RectProto clip_rect = 5;
- optional .android.graphics.RectProto contentInsets = 6;
- optional int32 prefix_order_index = 7;
- optional .android.graphics.PointProto position = 8;
- optional .android.graphics.RectProto source_container_bounds = 9;
- optional .android.app.WindowConfigurationProto window_configuration = 10;
+ optional int32 task_id = 1;
+ optional int32 mode = 2;
+ optional .android.view.SurfaceControlProto leash = 3;
+ optional bool is_translucent = 4;
+ optional .android.graphics.RectProto clip_rect = 5;
+ optional .android.graphics.RectProto contentInsets = 6;
+ optional int32 prefix_order_index = 7;
+ optional .android.graphics.PointProto position = 8;
+ optional .android.graphics.RectProto source_container_bounds = 9;
+ optional .android.app.WindowConfigurationProto window_configuration = 10;
}
diff --git a/core/proto/android/view/surface.proto b/core/proto/android/view/surface.proto
index 8f5f695..e20b094 100644
--- a/core/proto/android/view/surface.proto
+++ b/core/proto/android/view/surface.proto
@@ -19,10 +19,10 @@
option java_multiple_files = true;
message SurfaceProto {
- enum Rotation {
- ROTATION_0 = 0;
- ROTATION_90 = 1;
- ROTATION_180 = 2;
- ROTATION_270 = 3;
- }
+ enum Rotation {
+ ROTATION_0 = 0;
+ ROTATION_90 = 1;
+ ROTATION_180 = 2;
+ ROTATION_270 = 3;
+ }
}
diff --git a/core/proto/android/view/surfacecontrol.proto b/core/proto/android/view/surfacecontrol.proto
index 665d688..8a252be 100644
--- a/core/proto/android/view/surfacecontrol.proto
+++ b/core/proto/android/view/surfacecontrol.proto
@@ -25,8 +25,8 @@
* Represents a {@link android.view.SurfaceControl} object.
*/
message SurfaceControlProto {
- option (android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 hash_code = 1;
- optional string name = 2 [ (android.privacy).dest = DEST_EXPLICIT ];
+ optional int32 hash_code = 1;
+ optional string name = 2 [ (android.privacy).dest = DEST_EXPLICIT ];
}
diff --git a/core/proto/android/view/windowlayoutparams.proto b/core/proto/android/view/windowlayoutparams.proto
index 0362ab1..586321d 100644
--- a/core/proto/android/view/windowlayoutparams.proto
+++ b/core/proto/android/view/windowlayoutparams.proto
@@ -25,43 +25,47 @@
/* represents WindowManager.LayoutParams */
message WindowLayoutParamsProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional int32 type = 1;
- optional int32 x = 2;
- optional int32 y = 3;
- optional int32 width = 4;
- optional int32 height = 5;
- optional float horizontal_margin = 6;
- optional float vertical_margin = 7;
- optional int32 gravity = 8;
- optional int32 soft_input_mode = 9;
- optional .android.graphics.PixelFormatProto.Format format = 10;
- optional int32 window_animations = 11;
- optional float alpha = 12;
- optional float screen_brightness = 13;
- optional float button_brightness = 14;
- enum RotationAnimation {
- ROTATION_ANIMATION_UNSPECIFIED = -1;
- ROTATION_ANIMATION_CROSSFADE = 1;
- ROTATION_ANIMATION_JUMPCUT = 2;
- ROTATION_ANIMATION_SEAMLESS = 3;
- }
- optional RotationAnimation rotation_animation = 15;
- optional float preferred_refresh_rate = 16;
- optional int32 preferred_display_mode_id = 17;
- optional bool has_system_ui_listeners = 18;
- optional uint32 input_feature_flags = 19;
- optional int64 user_activity_timeout = 20;
- enum NeedsMenuState {
- NEEDS_MENU_UNSET = 0;
- NEEDS_MENU_SET_TRUE = 1;
- NEEDS_MENU_SET_FALSE = 2;
- }
- optional NeedsMenuState needs_menu_key = 22;
- optional .android.view.DisplayProto.ColorMode color_mode = 23;
- optional uint32 flags = 24;
- optional uint32 private_flags = 26;
- optional uint32 system_ui_visibility_flags = 27;
- optional uint32 subtree_system_ui_visibility_flags = 28;
+ optional int32 type = 1;
+ optional int32 x = 2;
+ optional int32 y = 3;
+ optional int32 width = 4;
+ optional int32 height = 5;
+ optional float horizontal_margin = 6;
+ optional float vertical_margin = 7;
+ optional int32 gravity = 8;
+ optional int32 soft_input_mode = 9;
+ optional .android.graphics.PixelFormatProto.Format format = 10;
+ optional int32 window_animations = 11;
+ optional float alpha = 12;
+ optional float screen_brightness = 13;
+ optional float button_brightness = 14;
+
+ enum RotationAnimation {
+ ROTATION_ANIMATION_UNSPECIFIED = -1;
+ ROTATION_ANIMATION_CROSSFADE = 1;
+ ROTATION_ANIMATION_JUMPCUT = 2;
+ ROTATION_ANIMATION_SEAMLESS = 3;
+ }
+ optional RotationAnimation rotation_animation = 15;
+
+ optional float preferred_refresh_rate = 16;
+ optional int32 preferred_display_mode_id = 17;
+ optional bool has_system_ui_listeners = 18;
+ optional uint32 input_feature_flags = 19;
+ optional int64 user_activity_timeout = 20;
+
+ enum NeedsMenuState {
+ NEEDS_MENU_UNSET = 0;
+ NEEDS_MENU_SET_TRUE = 1;
+ NEEDS_MENU_SET_FALSE = 2;
+ }
+ optional NeedsMenuState needs_menu_key = 22;
+
+ optional .android.view.DisplayProto.ColorMode color_mode = 23;
+ optional uint32 flags = 24;
+ optional uint32 private_flags = 26;
+ optional uint32 system_ui_visibility_flags = 27;
+ optional uint32 subtree_system_ui_visibility_flags = 28;
}
diff --git a/services/core/java/com/android/server/wm/Dimmer.java b/services/core/java/com/android/server/wm/Dimmer.java
index 1f95868..b8431b1 100644
--- a/services/core/java/com/android/server/wm/Dimmer.java
+++ b/services/core/java/com/android/server/wm/Dimmer.java
@@ -16,7 +16,7 @@
package com.android.server.wm;
-import static com.android.server.wm.AlphaAnimationSpecProto.DURATION;
+import static com.android.server.wm.AlphaAnimationSpecProto.DURATION_MS;
import static com.android.server.wm.AlphaAnimationSpecProto.FROM;
import static com.android.server.wm.AlphaAnimationSpecProto.TO;
import static com.android.server.wm.AnimationSpecProto.ALPHA;
@@ -35,6 +35,7 @@
*/
class Dimmer {
private static final String TAG = "WindowManager";
+ // This is in milliseconds.
private static final int DEFAULT_DIM_ANIM_DURATION = 200;
private class DimAnimatable implements SurfaceAnimator.Animatable {
@@ -370,7 +371,7 @@
final long token = proto.start(ALPHA);
proto.write(FROM, mFromAlpha);
proto.write(TO, mToAlpha);
- proto.write(DURATION, mDuration);
+ proto.write(DURATION_MS, mDuration);
proto.end(token);
}
}
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
index da5bc73..9d3a49d 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -112,7 +112,7 @@
import static com.android.server.wm.IdentifierProto.TITLE;
import static com.android.server.wm.IdentifierProto.USER_ID;
import static com.android.server.wm.AnimationSpecProto.MOVE;
-import static com.android.server.wm.MoveAnimationSpecProto.DURATION;
+import static com.android.server.wm.MoveAnimationSpecProto.DURATION_MS;
import static com.android.server.wm.MoveAnimationSpecProto.FROM;
import static com.android.server.wm.MoveAnimationSpecProto.TO;
import static com.android.server.wm.WindowStateProto.ANIMATING_EXIT;
@@ -4826,7 +4826,7 @@
final long token = proto.start(MOVE);
mFrom.writeToProto(proto, FROM);
mTo.writeToProto(proto, TO);
- proto.write(DURATION, mDuration);
+ proto.write(DURATION_MS, mDuration);
proto.end(token);
}
}