1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386
|
/*
* Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
syntax = "proto2";
package com.android.server.power;
option java_multiple_files = true;
import "frameworks/base/core/proto/android/app/enums.proto";
import "frameworks/base/core/proto/android/content/intent.proto";
import "frameworks/base/core/proto/android/os/enums.proto";
import "frameworks/base/core/proto/android/os/looper.proto";
import "frameworks/base/core/proto/android/os/powermanager.proto";
import "frameworks/base/core/proto/android/os/worksource.proto";
import "frameworks/base/core/proto/android/providers/settings.proto";
import "frameworks/base/core/proto/android/server/wirelesschargerdetector.proto";
import "frameworks/base/core/proto/android/view/enums.proto";
import "frameworks/base/core/proto/android/privacy.proto";
message PowerManagerServiceDumpProto {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
// A com.android.server.power.PowerManagerService.Constants object.
message ConstantsProto {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
optional bool is_no_cached_wake_locks = 1;
}
message ActiveWakeLocksProto {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
optional bool is_cpu = 1;
optional bool is_screen_bright = 2;
optional bool is_screen_dim = 3;
optional bool is_button_bright = 4;
optional bool is_proximity_screen_off = 5;
// only set if already awake
optional bool is_stay_awake = 6;
optional bool is_doze = 7;
optional bool is_draw = 8;
}
message UserActivityProto {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
optional bool is_screen_bright = 1;
optional bool is_screen_dim = 2;
optional bool is_screen_dream = 3;
}
// A com.android.server.power.PowerManagerService.UidState object.
message UidStateProto {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
optional int32 uid = 1;
optional string uid_string = 2;
optional bool is_active = 3;
optional int32 num_wake_locks = 4;
optional .android.app.ProcessStateEnum process_state = 5;
}
optional ConstantsProto constants = 1;
// A bitfield that indicates what parts of the power state have
// changed and need to be recalculated.
optional int32 dirty = 2;
// Indicates whether the device is awake or asleep or somewhere in between.
optional .android.os.PowerManagerInternalProto.Wakefulness wakefulness = 3;
optional bool is_wakefulness_changing = 4;
// True if the device is plugged into a power source.
optional bool is_powered = 5;
// The current plug type
optional .android.os.BatteryPluggedStateEnum plug_type = 6;
// The current battery level percentage.
optional int32 battery_level = 7;
// The battery level percentage at the time the dream started.
optional int32 battery_level_when_dream_started = 8;
// The current dock state.
optional .android.content.IntentProto.DockState dock_state = 9;
// True if the device should stay on.
optional bool is_stay_on = 10;
// True if the proximity sensor reads a positive result.
optional bool is_proximity_positive = 11;
// True if boot completed occurred. We keep the screen on until this happens.
optional bool is_boot_completed = 12;
// True if systemReady() has been called.
optional bool is_system_ready = 13;
// True if auto-suspend mode is enabled.
optional bool is_hal_auto_suspend_mode_enabled = 14;
// True if interactive mode is enabled.
optional bool is_hal_auto_interactive_mode_enabled = 15;
// Summarizes the state of all active wakelocks.
optional ActiveWakeLocksProto active_wake_locks = 16;
// Have we scheduled a message to check for long wake locks? This is when
// we will check. (In milliseconds timestamp)
optional int64 notify_long_scheduled_ms = 17;
// Last time we checked for long wake locks. (In milliseconds timestamp)
optional int64 notify_long_dispatched_ms = 18;
// The time we decided to do next long check. (In milliseconds timestamp)
optional int64 notify_long_next_check_ms = 19;
// Summarizes the effect of the user activity timer.
optional UserActivityProto user_activity = 20;
// If true, instructs the display controller to wait for the proximity
// sensor to go negative before turning the screen on.
optional bool is_request_wait_for_negative_proximity = 21;
// True if MSG_SANDMAN has been scheduled.
optional bool is_sandman_scheduled = 22;
// True if the sandman has just been summoned for the first time since entering
// the dreaming or dozing state. Indicates whether a new dream should begin.
optional bool is_sandman_summoned = 23;
// True if the battery level is currently considered low.
optional bool is_battery_level_low = 24;
// True if we are currently in light device idle mode.
optional bool is_light_device_idle_mode = 25;
// True if we are currently in device idle mode.
optional bool is_device_idle_mode = 26;
// Set of app ids that we will always respect the wake locks for.
repeated int32 device_idle_whitelist = 27;
// Set of app ids that are temporarily allowed to acquire wakelocks due to
// high-pri message
repeated int32 device_idle_temp_whitelist = 28;
// Timestamp of the last time the device was awoken.
optional int64 last_wake_time_ms = 29;
// Timestamp of the last time the device was put to sleep.
optional int64 last_sleep_time_ms = 30;
// Timestamp of the last call to user activity.
optional int64 last_user_activity_time_ms = 31;
optional int64 last_user_activity_time_no_change_lights_ms = 32;
// Timestamp of last interactive power hint.
optional int64 last_interactive_power_hint_time_ms = 33;
// Timestamp of the last screen brightness boost.
optional int64 last_screen_brightness_boost_time_ms = 34;
// True if screen brightness boost is in progress.
optional bool is_screen_brightness_boost_in_progress = 35;
// True if the display power state has been fully applied, which means the
// display is actually on or actually off or whatever was requested.
optional bool is_display_ready = 36;
// True if the wake lock suspend blocker has been acquired.
optional bool is_holding_wake_lock_suspend_blocker = 37;
// The suspend blocker used to keep the CPU alive when the display is on, the
// display is getting ready or there is user activity (in which case the
// display must be on).
optional bool is_holding_display_suspend_blocker = 38;
// Settings and configuration
optional PowerServiceSettingsAndConfigurationDumpProto settings_and_configuration = 39;
// Sleep timeout in ms. This can be -1.
optional sint32 sleep_timeout_ms = 40;
// Screen off timeout in ms
optional int32 screen_off_timeout_ms = 41;
// Screen dim duration in ms
optional int32 screen_dim_duration_ms = 42;
// We are currently in the middle of a batch change of uids.
optional bool are_uids_changing = 43;
// Some uids have actually changed while mUidsChanging was true.
optional bool are_uids_changed = 44;
// List of UIDs and their states
repeated UidStateProto uid_states = 45;
optional .android.os.LooperProto looper = 46;
// List of all wake locks acquired by applications.
repeated WakeLockProto wake_locks = 47;
// List of all suspend blockers.
repeated SuspendBlockerProto suspend_blockers = 48;
optional WirelessChargerDetectorProto wireless_charger_detector = 49;
optional BatterySaverStateMachineProto battery_saver_state_machine = 50;
}
// A com.android.server.power.PowerManagerService.SuspendBlockerImpl object.
message SuspendBlockerProto {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
optional string name = 1;
optional int32 reference_count = 2;
}
// A com.android.server.power.PowerManagerService.WakeLock object.
message WakeLockProto {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
message WakeLockFlagsProto {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
// Turn the screen on when the wake lock is acquired.
optional bool is_acquire_causes_wakeup = 1;
// When this wake lock is released, poke the user activity timer
// so the screen stays on for a little longer.
optional bool is_on_after_release = 2;
}
optional .android.os.WakeLockLevelEnum lock_level = 1;
optional string tag = 2;
optional WakeLockFlagsProto flags = 3;
optional bool is_disabled = 4;
// Acquire time in ms
optional int64 acq_ms = 5;
optional bool is_notified_long = 6;
// Owner UID
optional int32 uid = 7;
// Owner PID
optional int32 pid = 8;
optional .android.os.WorkSourceProto work_source = 9;
}
message PowerServiceSettingsAndConfigurationDumpProto {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
message StayOnWhilePluggedInProto {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
optional bool is_stay_on_while_plugged_in_ac = 1;
optional bool is_stay_on_while_plugged_in_usb = 2;
optional bool is_stay_on_while_plugged_in_wireless = 3;
}
message ScreenBrightnessSettingLimitsProto {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
optional int32 setting_minimum = 1;
optional int32 setting_maximum = 2;
optional int32 setting_default = 3;
}
// True to decouple auto-suspend mode from the display state.
optional bool is_decouple_hal_auto_suspend_mode_from_display_config = 1;
// True to decouple interactive mode from the display state.
optional bool is_decouple_hal_interactive_mode_from_display_config = 2;
// True if the device should wake up when plugged or unplugged.
optional bool is_wake_up_when_plugged_or_unplugged_config = 3;
// True if the device should wake up when plugged or unplugged in theater mode.
optional bool is_wake_up_when_plugged_or_unplugged_in_theater_mode_config = 4;
// True if theater mode is enabled
optional bool is_theater_mode_enabled = 5;
// True if the device should suspend when the screen is off due to proximity.
optional bool is_suspend_when_screen_off_due_to_proximity_config = 6;
// True if dreams are supported on this device.
optional bool are_dreams_supported_config = 7;
// Default value for dreams enabled
optional bool are_dreams_enabled_by_default_config = 8;
// Default value for dreams activate-on-sleep
optional bool are_dreams_activated_on_sleep_by_default_config = 9;
// Default value for dreams activate-on-dock
optional bool are_dreams_activated_on_dock_by_default_config = 10;
// True if dreams can run while not plugged in.
optional bool are_dreams_enabled_on_battery_config = 11;
// Minimum battery level to allow dreaming when powered.
// Use -1 to disable this safety feature.
optional sint32 dreams_battery_level_minimum_when_powered_config = 12;
// Minimum battery level to allow dreaming when not powered.
// Use -1 to disable this safety feature.
optional sint32 dreams_battery_level_minimum_when_not_powered_config = 13;
// If the battery level drops by this percentage and the user activity
// timeout has expired, then assume the device is receiving insufficient
// current to charge effectively and terminate the dream. Use -1 to disable
// this safety feature.
optional sint32 dreams_battery_level_drain_cutoff_config = 14;
// True if dreams are enabled by the user.
optional bool are_dreams_enabled_setting = 15;
// True if dreams should be activated on sleep.
optional bool are_dreams_activate_on_sleep_setting = 16;
// True if dreams should be activated on dock.
optional bool are_dreams_activate_on_dock_setting = 17;
// True if doze should not be started until after the screen off transition.
optional bool is_doze_after_screen_off_config = 18;
// The minimum screen off timeout, in milliseconds.
optional int32 minimum_screen_off_timeout_config_ms = 19;
// The screen dim duration, in milliseconds.
optional int32 maximum_screen_dim_duration_config_ms = 20;
// The maximum screen dim time expressed as a ratio relative to the screen off timeout.
optional float maximum_screen_dim_ratio_config = 21;
// The screen off timeout setting value in milliseconds.
optional int32 screen_off_timeout_setting_ms = 22;
// The sleep timeout setting value in milliseconds. Default value is -1.
optional sint32 sleep_timeout_setting_ms = 23;
// The maximum allowable screen off timeout according to the device administration policy.
optional int32 maximum_screen_off_timeout_from_device_admin_ms = 24;
optional bool is_maximum_screen_off_timeout_from_device_admin_enforced_locked = 25;
// The stay on while plugged in setting.
// A set of battery conditions under which to make the screen stay on.
optional StayOnWhilePluggedInProto stay_on_while_plugged_in = 26;
// The screen brightness mode.
optional .android.providers.settings.SettingsProto.ScreenBrightnessMode screen_brightness_mode_setting = 27;
// The screen brightness setting override from the window manager
// to allow the current foreground activity to override the brightness.
// Use -1 to disable.
optional sint32 screen_brightness_override_from_window_manager = 28;
// The user activity timeout override from the window manager
// to allow the current foreground activity to override the user activity
// timeout. Use -1 to disable.
optional sint64 user_activity_timeout_override_from_window_manager_ms = 29;
// The window manager has determined the user to be inactive via other means.
// Set this to false to disable.
optional bool is_user_inactive_override_from_window_manager = 30;
// The screen state to use while dozing.
optional .android.view.DisplayStateEnum doze_screen_state_override_from_dream_manager = 31;
// The screen brightness to use while dozing.
optional float dozed_screen_brightness_override_from_dream_manager = 32;
// Screen brightness settings limits.
optional ScreenBrightnessSettingLimitsProto screen_brightness_setting_limits = 33;
// True if double tap to wake is enabled
optional bool is_double_tap_wake_enabled = 34;
// True if we are currently in VR Mode.
optional bool is_vr_mode_enabled = 35;
// True if Sidekick is controlling the display and we shouldn't change its power mode.
optional bool draw_wake_lock_override_from_sidekick = 36;
}
message BatterySaverStateMachineProto {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
// Whether battery saver is enabled.
optional bool enabled = 1;
enum StateEnum {
STATE_UNKNOWN = 0;
STATE_OFF = 1;
STATE_MANUAL_ON = 2;
STATE_AUTOMATIC_ON = 3;
STATE_OFF_AUTOMATIC_SNOOZED = 4;
STATE_PENDING_STICKY_ON = 5;
}
optional StateEnum state = 18;
// Whether full battery saver is enabled.
optional bool is_full_enabled = 14;
// Whether adaptive battery saver is enabled.
optional bool is_adaptive_enabled = 15;
// Whether the battery saver policy indicates that is_enabled should be
// advertised.
optional bool should_advertise_is_enabled = 16;
// Whether system has booted.
optional bool boot_completed = 2;
// Whether settings have been loaded already.
optional bool settings_loaded = 3;
// Whether battery status has been set at least once.
optional bool battery_status_set = 4;
reserved 5; // battery_saver_snoozing
// Whether the device is connected to any power source.
optional bool is_powered = 6;
// Current battery level in %, 0-100.
optional int32 battery_level = 7;
// Whether battery level is low or not.
optional bool is_battery_level_low = 8;
// 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_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;
// The value of Global.LOW_POWER_MODE_STICKY_AUTO_DISABLE_ENABLED. This is a cached value, so
// it could be slightly different from what's in GlobalSettingsProto.LowPowerMode.
optional bool setting_battery_saver_sticky_auto_disable_enabled = 12;
// The value of Global.LOW_POWER_MODE_STICKY_AUTO_DISABLE_LEVEL. This is a cached value, so it
// could be slightly different from what's in GlobalSettingsProto.LowPowerMode.
optional int32 setting_battery_saver_sticky_auto_disable_threshold = 13;
// The last time adaptive battery saver was changed by an external service,
// using elapsed realtime as the timebase.
optional int64 last_adaptive_battery_saver_changed_externally_elapsed = 17;
// Next tag: 19
}
|