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);
         }
     }