Advertisement
Guest User

Untitled

a guest
Aug 14th, 2011
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 312.85 KB | None | 0 0
  1. .class Lcom/android/server/PowerManagerService;
  2. .super Landroid/os/IPowerManager$Stub;
  3. .source "PowerManagerService.java"
  4.  
  5. # interfaces
  6. .implements Landroid/os/LocalPowerManager;
  7. .implements Lcom/android/server/Watchdog$Monitor;
  8.  
  9.  
  10. # annotations
  11. .annotation system Ldalvik/annotation/MemberClasses;
  12. value = {
  13. Lcom/android/server/PowerManagerService$LockList;,
  14. Lcom/android/server/PowerManagerService$BrightnessState;,
  15. Lcom/android/server/PowerManagerService$TimeoutTask;,
  16. Lcom/android/server/PowerManagerService$PokeLock;,
  17. Lcom/android/server/PowerManagerService$WakeLock;,
  18. Lcom/android/server/PowerManagerService$SettingsObserver;,
  19. Lcom/android/server/PowerManagerService$DockReceiver;,
  20. Lcom/android/server/PowerManagerService$BootCompletedReceiver;,
  21. Lcom/android/server/PowerManagerService$BatteryReceiver;,
  22. Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  23. }
  24. .end annotation
  25.  
  26.  
  27. # static fields
  28. .field private static final ALL_BRIGHT:I = 0xf
  29.  
  30. .field private static final ANIM_SETTING_OFF:I = 0x10
  31.  
  32. .field private static final ANIM_SETTING_ON:I = 0x1
  33.  
  34. .field static final ANIM_STEPS:I = 0xa
  35.  
  36. .field static final AUTOBRIGHTNESS_ANIM_STEPS:I = 0xf
  37.  
  38. .field private static final BATTERY_LOW_BIT:I = 0x10
  39.  
  40. .field private static final BUTTON_BRIGHT_BIT:I = 0x4
  41.  
  42. .field private static final DEFAULT_SCREEN_OFF_TIMEOUT:I = 0x3a98
  43.  
  44. .field static final INITIAL_BUTTON_BRIGHTNESS:I = 0x0
  45.  
  46. .field static final INITIAL_KEYBOARD_BRIGHTNESS:I = 0x0
  47.  
  48. .field static final INITIAL_SCREEN_BRIGHTNESS:I = 0xff
  49.  
  50. .field private static final KEYBOARD_BRIGHT_BIT:I = 0x8
  51.  
  52. .field private static final LIGHTS_MASK:I = 0xe
  53.  
  54. .field private static final LIGHT_SENSOR_DELAY:I = 0x7d0
  55.  
  56. .field private static final LOCK_MASK:I = 0x3f
  57.  
  58. .field private static final LOG_PARTIAL_WL:Z = false
  59.  
  60. .field private static final LOG_TOUCH_DOWNS:Z = true
  61.  
  62. .field private static final LONG_DIM_TIME:I = 0x1b58
  63.  
  64. .field private static final LONG_KEYLIGHT_DELAY:I = 0xbb8
  65.  
  66. .field private static final MEDIUM_KEYLIGHT_DELAY:I = 0x3a98
  67.  
  68. .field static final PARTIAL_NAME:Ljava/lang/String; = "PowerManagerService"
  69.  
  70. .field private static final PROXIMITY_SENSOR_DELAY:I = 0x3e8
  71.  
  72. .field private static final PROXIMITY_THRESHOLD:F = 5.0f
  73.  
  74. .field private static final SAMSUNG_PHONECALL_DIM_DELAY:I = 0x1b58
  75.  
  76. .field private static final SAMSUNG_PHONECALL_KEYLIGHT_DELAY:I = 0xbb8
  77.  
  78. .field private static final SAMSUNG_PHONECALL_SCREENOFF_DELAY:I = 0x4e20
  79.  
  80. .field private static final SCREEN_BRIGHT:I = 0x3
  81.  
  82. .field private static final SCREEN_BRIGHT_BIT:I = 0x2
  83.  
  84. .field private static final SCREEN_BUTTON_BRIGHT:I = 0x7
  85.  
  86. .field private static final SCREEN_DIM:I = 0x1
  87.  
  88. .field private static final SCREEN_OFF:I = 0x0
  89.  
  90. .field private static final SCREEN_ON_BIT:I = 0x1
  91.  
  92. .field private static final SHORT_KEYLIGHT_DELAY_DEFAULT:I = 0xbb8
  93.  
  94. .field private static final TAG:Ljava/lang/String; = "PowerManagerService"
  95.  
  96. .field private static final mDebugLightSensor:Z = true
  97.  
  98. .field private static final mDebugProximitySensor:Z = true
  99.  
  100. .field private static final mSpew:Z
  101.  
  102.  
  103. # instance fields
  104. .field private final MY_PID:I
  105.  
  106. .field private final MY_UID:I
  107.  
  108. .field private mActivityService:Landroid/app/IActivityManager;
  109.  
  110. .field mAnimateScreenLights:Z
  111.  
  112. .field private mAnimationSetting:I
  113.  
  114. .field private mAttentionLight:Lcom/android/server/LightsService$Light;
  115.  
  116. .field private mAutoBrightessEnabled:Z
  117.  
  118. .field private mAutoBrightnessLevels:[I
  119.  
  120. .field private mAutoBrightnessTask:Ljava/lang/Runnable;
  121.  
  122. .field private mBatteryService:Lcom/android/server/BatteryService;
  123.  
  124. .field private mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  125.  
  126. .field private mBootCompleted:Z
  127.  
  128. .field private final mBroadcastQueue:[I
  129.  
  130. .field private mBroadcastWakeLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  131.  
  132. .field private final mBroadcastWhy:[I
  133.  
  134. .field private mButtonBacklightValues:[I
  135.  
  136. .field private mButtonBrightnessOverride:I
  137.  
  138. .field private mButtonLight:Lcom/android/server/LightsService$Light;
  139.  
  140. .field private mContext:Landroid/content/Context;
  141.  
  142. .field private mDimDelay:I
  143.  
  144. .field private mDimScreen:Z
  145.  
  146. .field private mDoneBooting:Z
  147.  
  148. .field private mForceReenableScreenTask:Ljava/lang/Runnable;
  149.  
  150. .field private mHandler:Landroid/os/Handler;
  151.  
  152. .field private mHandlerThread:Landroid/os/HandlerThread;
  153.  
  154. .field private mHighestLightSensorValue:I
  155.  
  156. .field private volatile mInitComplete:Z
  157.  
  158. .field private mIsDocked:Z
  159.  
  160. .field private mIsPowered:Z
  161.  
  162. .field private mKeyboardBacklightValues:[I
  163.  
  164. .field private mKeyboardLight:Lcom/android/server/LightsService$Light;
  165.  
  166. .field private mKeyboardVisible:Z
  167.  
  168. .field private mKeylightDelay:I
  169.  
  170. .field private mLastEventTime:J
  171.  
  172. .field private mLastProximityEventTime:J
  173.  
  174. .field private mLastScreenOnTime:J
  175.  
  176. .field private mLastTouchDown:J
  177.  
  178. .field private mLcdBacklightValues:[I
  179.  
  180. .field private mLcdLight:Lcom/android/server/LightsService$Light;
  181.  
  182. .field mLightListener:Landroid/hardware/SensorEventListener;
  183.  
  184. .field private mLightSensor:Landroid/hardware/Sensor;
  185.  
  186. .field private mLightSensorButtonBrightness:I
  187.  
  188. .field private mLightSensorEnabled:Z
  189.  
  190. .field private mLightSensorKeyboardBrightness:I
  191.  
  192. .field private mLightSensorPendingValue:F
  193.  
  194. .field private mLightSensorScreenBrightness:I
  195.  
  196. .field private mLightSensorValue:F
  197.  
  198. .field private mLightSensorWarmupTime:I
  199.  
  200. .field private mLightsService:Lcom/android/server/LightsService;
  201.  
  202. .field private final mLocks:Lcom/android/server/PowerManagerService$LockList;
  203.  
  204. .field private mMaximumScreenOffTimeout:I
  205.  
  206. .field private mNextTimeout:J
  207.  
  208. .field private mNotificationTask:Ljava/lang/Runnable;
  209.  
  210. .field private mPartialCount:I
  211.  
  212. .field private volatile mPokeAwakeOnSet:Z
  213.  
  214. .field private final mPokeLocks:Ljava/util/HashMap;
  215. .annotation system Ldalvik/annotation/Signature;
  216. value = {
  217. "Ljava/util/HashMap",
  218. "<",
  219. "Landroid/os/IBinder;",
  220. "Lcom/android/server/PowerManagerService$PokeLock;",
  221. ">;"
  222. }
  223. .end annotation
  224. .end field
  225.  
  226. .field private volatile mPokey:I
  227.  
  228. .field private volatile mPolicy:Landroid/view/WindowManagerPolicy;
  229.  
  230. .field private mPowerState:I
  231.  
  232. .field private mPreventScreenOn:Z
  233.  
  234. .field private mPreventScreenOnPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  235.  
  236. .field private mProxIgnoredBecauseScreenTurnedOff:Z
  237.  
  238. .field mProximityListener:Landroid/hardware/SensorEventListener;
  239.  
  240. .field private mProximityPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  241.  
  242. .field private mProximityPendingValue:I
  243.  
  244. .field private mProximitySensor:Landroid/hardware/Sensor;
  245.  
  246. .field private mProximitySensorActive:Z
  247.  
  248. .field private mProximitySensorEnabled:Z
  249.  
  250. .field private mProximityTask:Ljava/lang/Runnable;
  251.  
  252. .field private mProximityWakeLockCount:I
  253.  
  254. .field private final mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  255.  
  256. .field private mScreenBrightnessOverride:I
  257.  
  258. .field private mScreenOffBroadcastDone:Landroid/content/BroadcastReceiver;
  259.  
  260. .field private mScreenOffDelay:I
  261.  
  262. .field private mScreenOffHandler:Landroid/os/Handler;
  263.  
  264. .field private mScreenOffIntent:Landroid/content/Intent;
  265.  
  266. .field private mScreenOffReason:I
  267.  
  268. .field mScreenOffStart:J
  269.  
  270. .field private mScreenOffThread:Landroid/os/HandlerThread;
  271.  
  272. .field private mScreenOffTime:J
  273.  
  274. .field private mScreenOffTimeoutSetting:I
  275.  
  276. .field private mScreenOnBroadcastDone:Landroid/content/BroadcastReceiver;
  277.  
  278. .field private mScreenOnIntent:Landroid/content/Intent;
  279.  
  280. .field mScreenOnStart:J
  281.  
  282. .field private mSensorManager:Landroid/hardware/SensorManager;
  283.  
  284. .field private mSettings:Landroid/content/ContentQueryMap;
  285.  
  286. .field private mShortKeylightDelay:I
  287.  
  288. .field private mStayOnConditions:I
  289.  
  290. .field private mStayOnWhilePluggedInPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  291.  
  292. .field private mStayOnWhilePluggedInScreenDimLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  293.  
  294. .field private mStillNeedSleepNotification:Z
  295.  
  296. .field private final mTimeoutTask:Lcom/android/server/PowerManagerService$TimeoutTask;
  297.  
  298. .field private mTotalTouchDownTime:J
  299.  
  300. .field private mTouchCycles:I
  301.  
  302. .field mUnplugTurnsOnScreen:Z
  303.  
  304. .field private mUseSoftwareAutoBrightness:Z
  305.  
  306. .field private mUserActivityAllowed:Z
  307.  
  308. .field private mUserState:I
  309.  
  310. .field private mWakeLockState:I
  311.  
  312. .field private mWarningSpewThrottleCount:I
  313.  
  314. .field private mWarningSpewThrottleTime:J
  315.  
  316.  
  317. # direct methods
  318. .method constructor <init>()V
  319. .registers 9
  320.  
  321. .prologue
  322. const/4 v3, 0x3
  323.  
  324. const/high16 v7, -0x4080
  325.  
  326. const/4 v6, 0x1
  327.  
  328. const/4 v5, -0x1
  329.  
  330. const/4 v4, 0x0
  331.  
  332. .line 481
  333. invoke-direct {p0}, Landroid/os/IPowerManager$Stub;-><init>()V
  334.  
  335. .line 119
  336. const/16 v2, 0xbb8
  337.  
  338. iput v2, p0, Lcom/android/server/PowerManagerService;->mShortKeylightDelay:I
  339.  
  340. .line 151
  341. iput-boolean v6, p0, Lcom/android/server/PowerManagerService;->mAnimateScreenLights:Z
  342.  
  343. .line 167
  344. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mDoneBooting:Z
  345.  
  346. .line 168
  347. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mBootCompleted:Z
  348.  
  349. .line 169
  350. iput v4, p0, Lcom/android/server/PowerManagerService;->mStayOnConditions:I
  351.  
  352. .line 170
  353. new-array v2, v3, [I
  354.  
  355. fill-array-data v2, :array_d6
  356.  
  357. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mBroadcastQueue:[I
  358.  
  359. .line 171
  360. new-array v2, v3, [I
  361.  
  362. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mBroadcastWhy:[I
  363.  
  364. .line 172
  365. iput v4, p0, Lcom/android/server/PowerManagerService;->mPartialCount:I
  366.  
  367. .line 178
  368. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mKeyboardVisible:Z
  369.  
  370. .line 179
  371. iput-boolean v6, p0, Lcom/android/server/PowerManagerService;->mUserActivityAllowed:Z
  372.  
  373. .line 180
  374. iput v4, p0, Lcom/android/server/PowerManagerService;->mProximityWakeLockCount:I
  375.  
  376. .line 181
  377. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mProximitySensorEnabled:Z
  378.  
  379. .line 182
  380. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  381.  
  382. .line 183
  383. iput v5, p0, Lcom/android/server/PowerManagerService;->mProximityPendingValue:I
  384.  
  385. .line 186
  386. const v2, 0x7fffffff
  387.  
  388. iput v2, p0, Lcom/android/server/PowerManagerService;->mMaximumScreenOffTimeout:I
  389.  
  390. .line 191
  391. const-wide/16 v2, 0x0
  392.  
  393. iput-wide v2, p0, Lcom/android/server/PowerManagerService;->mLastEventTime:J
  394.  
  395. .line 194
  396. new-instance v2, Lcom/android/server/PowerManagerService$LockList;
  397.  
  398. const/4 v3, 0x0
  399.  
  400. invoke-direct {v2, p0, v3}, Lcom/android/server/PowerManagerService$LockList;-><init>(Lcom/android/server/PowerManagerService;Lcom/android/server/PowerManagerService$1;)V
  401.  
  402. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  403.  
  404. .line 212
  405. new-instance v2, Lcom/android/server/PowerManagerService$TimeoutTask;
  406.  
  407. const/4 v3, 0x0
  408.  
  409. invoke-direct {v2, p0, v3}, Lcom/android/server/PowerManagerService$TimeoutTask;-><init>(Lcom/android/server/PowerManagerService;Lcom/android/server/PowerManagerService$1;)V
  410.  
  411. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mTimeoutTask:Lcom/android/server/PowerManagerService$TimeoutTask;
  412.  
  413. .line 213
  414. new-instance v2, Lcom/android/server/PowerManagerService$BrightnessState;
  415.  
  416. const/4 v3, 0x2
  417.  
  418. invoke-direct {v2, p0, v3}, Lcom/android/server/PowerManagerService$BrightnessState;-><init>(Lcom/android/server/PowerManagerService;I)V
  419.  
  420. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  421.  
  422. .line 216
  423. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mIsPowered:Z
  424.  
  425. .line 224
  426. iput v7, p0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  427.  
  428. .line 225
  429. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mProxIgnoredBecauseScreenTurnedOff:Z
  430.  
  431. .line 226
  432. iput v5, p0, Lcom/android/server/PowerManagerService;->mHighestLightSensorValue:I
  433.  
  434. .line 227
  435. iput v7, p0, Lcom/android/server/PowerManagerService;->mLightSensorPendingValue:F
  436.  
  437. .line 228
  438. iput v5, p0, Lcom/android/server/PowerManagerService;->mLightSensorScreenBrightness:I
  439.  
  440. .line 229
  441. iput v5, p0, Lcom/android/server/PowerManagerService;->mLightSensorButtonBrightness:I
  442.  
  443. .line 230
  444. iput v5, p0, Lcom/android/server/PowerManagerService;->mLightSensorKeyboardBrightness:I
  445.  
  446. .line 231
  447. iput-boolean v6, p0, Lcom/android/server/PowerManagerService;->mDimScreen:Z
  448.  
  449. .line 232
  450. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mIsDocked:Z
  451.  
  452. .line 234
  453. iput v4, p0, Lcom/android/server/PowerManagerService;->mPokey:I
  454.  
  455. .line 235
  456. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mPokeAwakeOnSet:Z
  457.  
  458. .line 236
  459. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mInitComplete:Z
  460.  
  461. .line 237
  462. new-instance v2, Ljava/util/HashMap;
  463.  
  464. invoke-direct {v2}, Ljava/util/HashMap;-><init>()V
  465.  
  466. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mPokeLocks:Ljava/util/HashMap;
  467.  
  468. .line 241
  469. iput v5, p0, Lcom/android/server/PowerManagerService;->mScreenBrightnessOverride:I
  470.  
  471. .line 242
  472. iput v5, p0, Lcom/android/server/PowerManagerService;->mButtonBrightnessOverride:I
  473.  
  474. .line 253
  475. const/16 v2, 0x10
  476.  
  477. iput v2, p0, Lcom/android/server/PowerManagerService;->mAnimationSetting:I
  478.  
  479. .line 1370
  480. new-instance v2, Lcom/android/server/PowerManagerService$4;
  481.  
  482. invoke-direct {v2, p0}, Lcom/android/server/PowerManagerService$4;-><init>(Lcom/android/server/PowerManagerService;)V
  483.  
  484. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mNotificationTask:Ljava/lang/Runnable;
  485.  
  486. .line 1442
  487. new-instance v2, Lcom/android/server/PowerManagerService$5;
  488.  
  489. invoke-direct {v2, p0}, Lcom/android/server/PowerManagerService$5;-><init>(Lcom/android/server/PowerManagerService;)V
  490.  
  491. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mScreenOnBroadcastDone:Landroid/content/BroadcastReceiver;
  492.  
  493. .line 1453
  494. new-instance v2, Lcom/android/server/PowerManagerService$6;
  495.  
  496. invoke-direct {v2, p0}, Lcom/android/server/PowerManagerService$6;-><init>(Lcom/android/server/PowerManagerService;)V
  497.  
  498. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mScreenOffBroadcastDone:Landroid/content/BroadcastReceiver;
  499.  
  500. .line 1613
  501. new-instance v2, Lcom/android/server/PowerManagerService$7;
  502.  
  503. invoke-direct {v2, p0}, Lcom/android/server/PowerManagerService$7;-><init>(Lcom/android/server/PowerManagerService;)V
  504.  
  505. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mForceReenableScreenTask:Ljava/lang/Runnable;
  506.  
  507. .line 2341
  508. new-instance v2, Lcom/android/server/PowerManagerService$8;
  509.  
  510. invoke-direct {v2, p0}, Lcom/android/server/PowerManagerService$8;-><init>(Lcom/android/server/PowerManagerService;)V
  511.  
  512. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mProximityTask:Ljava/lang/Runnable;
  513.  
  514. .line 2355
  515. new-instance v2, Lcom/android/server/PowerManagerService$9;
  516.  
  517. invoke-direct {v2, p0}, Lcom/android/server/PowerManagerService$9;-><init>(Lcom/android/server/PowerManagerService;)V
  518.  
  519. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mAutoBrightnessTask:Ljava/lang/Runnable;
  520.  
  521. .line 2989
  522. new-instance v2, Lcom/android/server/PowerManagerService$12;
  523.  
  524. invoke-direct {v2, p0}, Lcom/android/server/PowerManagerService$12;-><init>(Lcom/android/server/PowerManagerService;)V
  525.  
  526. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mProximityListener:Landroid/hardware/SensorEventListener;
  527.  
  528. .line 3033
  529. new-instance v2, Lcom/android/server/PowerManagerService$13;
  530.  
  531. invoke-direct {v2, p0}, Lcom/android/server/PowerManagerService$13;-><init>(Lcom/android/server/PowerManagerService;)V
  532.  
  533. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mLightListener:Landroid/hardware/SensorEventListener;
  534.  
  535. .line 483
  536. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  537.  
  538. move-result-wide v0
  539.  
  540. .line 484
  541. .local v0, token:J
  542. invoke-static {}, Landroid/os/Process;->myUid()I
  543.  
  544. move-result v2
  545.  
  546. iput v2, p0, Lcom/android/server/PowerManagerService;->MY_UID:I
  547.  
  548. .line 485
  549. invoke-static {}, Landroid/os/Process;->myPid()I
  550.  
  551. move-result v2
  552.  
  553. iput v2, p0, Lcom/android/server/PowerManagerService;->MY_PID:I
  554.  
  555. .line 486
  556. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  557.  
  558. .line 489
  559. const-wide/32 v2, 0x240c8400
  560.  
  561. invoke-static {v2, v3}, Landroid/os/Power;->setLastUserActivityTimeout(J)I
  562.  
  563. .line 492
  564. iput v4, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  565.  
  566. iput v4, p0, Lcom/android/server/PowerManagerService;->mUserState:I
  567.  
  568. .line 495
  569. invoke-static {}, Lcom/android/server/Watchdog;->getInstance()Lcom/android/server/Watchdog;
  570.  
  571. move-result-object v2
  572.  
  573. invoke-virtual {v2, p0}, Lcom/android/server/Watchdog;->addMonitor(Lcom/android/server/Watchdog$Monitor;)V
  574.  
  575. .line 496
  576. return-void
  577.  
  578. .line 170
  579. nop
  580.  
  581. :array_d6
  582. .array-data 0x4
  583. 0xfft 0xfft 0xfft 0xfft
  584. 0xfft 0xfft 0xfft 0xfft
  585. 0xfft 0xfft 0xfft 0xfft
  586. .end array-data
  587. .end method
  588.  
  589. .method static synthetic access$1000(Lcom/android/server/PowerManagerService;)V
  590. .registers 1
  591. .parameter "x0"
  592.  
  593. .prologue
  594. .line 79
  595. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->forceUserActivityLocked()V
  596.  
  597. return-void
  598. .end method
  599.  
  600. .method static synthetic access$1100(Lcom/android/server/PowerManagerService;I)V
  601. .registers 2
  602. .parameter "x0"
  603. .parameter "x1"
  604.  
  605. .prologue
  606. .line 79
  607. invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->dockStateChanged(I)V
  608.  
  609. return-void
  610. .end method
  611.  
  612. .method static synthetic access$1200(Lcom/android/server/PowerManagerService;)Landroid/content/ContentQueryMap;
  613. .registers 2
  614. .parameter "x0"
  615.  
  616. .prologue
  617. .line 79
  618. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mSettings:Landroid/content/ContentQueryMap;
  619.  
  620. return-object v0
  621. .end method
  622.  
  623. .method static synthetic access$1302(Lcom/android/server/PowerManagerService;I)I
  624. .registers 2
  625. .parameter "x0"
  626. .parameter "x1"
  627.  
  628. .prologue
  629. .line 79
  630. iput p1, p0, Lcom/android/server/PowerManagerService;->mStayOnConditions:I
  631.  
  632. return p1
  633. .end method
  634.  
  635. .method static synthetic access$1402(Lcom/android/server/PowerManagerService;I)I
  636. .registers 2
  637. .parameter "x0"
  638. .parameter "x1"
  639.  
  640. .prologue
  641. .line 79
  642. iput p1, p0, Lcom/android/server/PowerManagerService;->mScreenOffTimeoutSetting:I
  643.  
  644. return p1
  645. .end method
  646.  
  647. .method static synthetic access$1500(Lcom/android/server/PowerManagerService;I)V
  648. .registers 2
  649. .parameter "x0"
  650. .parameter "x1"
  651.  
  652. .prologue
  653. .line 79
  654. invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->setScreenBrightnessMode(I)V
  655.  
  656. return-void
  657. .end method
  658.  
  659. .method static synthetic access$1600(Lcom/android/server/PowerManagerService;)V
  660. .registers 1
  661. .parameter "x0"
  662.  
  663. .prologue
  664. .line 79
  665. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->setScreenOffTimeoutsLocked()V
  666.  
  667. return-void
  668. .end method
  669.  
  670. .method static synthetic access$1700(Lcom/android/server/PowerManagerService;)I
  671. .registers 2
  672. .parameter "x0"
  673.  
  674. .prologue
  675. .line 79
  676. iget v0, p0, Lcom/android/server/PowerManagerService;->mAnimationSetting:I
  677.  
  678. return v0
  679. .end method
  680.  
  681. .method static synthetic access$1702(Lcom/android/server/PowerManagerService;I)I
  682. .registers 2
  683. .parameter "x0"
  684. .parameter "x1"
  685.  
  686. .prologue
  687. .line 79
  688. iput p1, p0, Lcom/android/server/PowerManagerService;->mAnimationSetting:I
  689.  
  690. return p1
  691. .end method
  692.  
  693. .method static synthetic access$1776(Lcom/android/server/PowerManagerService;I)I
  694. .registers 3
  695. .parameter "x0"
  696. .parameter "x1"
  697.  
  698. .prologue
  699. .line 79
  700. iget v0, p0, Lcom/android/server/PowerManagerService;->mAnimationSetting:I
  701.  
  702. or-int/2addr v0, p1
  703.  
  704. iput v0, p0, Lcom/android/server/PowerManagerService;->mAnimationSetting:I
  705.  
  706. return v0
  707. .end method
  708.  
  709. .method static synthetic access$1800(Lcom/android/server/PowerManagerService;)Landroid/os/Handler;
  710. .registers 2
  711. .parameter "x0"
  712.  
  713. .prologue
  714. .line 79
  715. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenOffHandler:Landroid/os/Handler;
  716.  
  717. return-object v0
  718. .end method
  719.  
  720. .method static synthetic access$1802(Lcom/android/server/PowerManagerService;Landroid/os/Handler;)Landroid/os/Handler;
  721. .registers 2
  722. .parameter "x0"
  723. .parameter "x1"
  724.  
  725. .prologue
  726. .line 79
  727. iput-object p1, p0, Lcom/android/server/PowerManagerService;->mScreenOffHandler:Landroid/os/Handler;
  728.  
  729. return-object p1
  730. .end method
  731.  
  732. .method static synthetic access$1900(Lcom/android/server/PowerManagerService;)Landroid/os/HandlerThread;
  733. .registers 2
  734. .parameter "x0"
  735.  
  736. .prologue
  737. .line 79
  738. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenOffThread:Landroid/os/HandlerThread;
  739.  
  740. return-object v0
  741. .end method
  742.  
  743. .method static synthetic access$200(Lcom/android/server/PowerManagerService;)I
  744. .registers 2
  745. .parameter "x0"
  746.  
  747. .prologue
  748. .line 79
  749. iget v0, p0, Lcom/android/server/PowerManagerService;->MY_UID:I
  750.  
  751. return v0
  752. .end method
  753.  
  754. .method static synthetic access$2002(Lcom/android/server/PowerManagerService;Z)Z
  755. .registers 2
  756. .parameter "x0"
  757. .parameter "x1"
  758.  
  759. .prologue
  760. .line 79
  761. iput-boolean p1, p0, Lcom/android/server/PowerManagerService;->mInitComplete:Z
  762.  
  763. return p1
  764. .end method
  765.  
  766. .method static synthetic access$2500(Lcom/android/server/PowerManagerService;)V
  767. .registers 1
  768. .parameter "x0"
  769.  
  770. .prologue
  771. .line 79
  772. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->updateSettingsValues()V
  773.  
  774. return-void
  775. .end method
  776.  
  777. .method static synthetic access$2600(Lcom/android/server/PowerManagerService;)I
  778. .registers 2
  779. .parameter "x0"
  780.  
  781. .prologue
  782. .line 79
  783. iget v0, p0, Lcom/android/server/PowerManagerService;->mUserState:I
  784.  
  785. return v0
  786. .end method
  787.  
  788. .method static synthetic access$2602(Lcom/android/server/PowerManagerService;I)I
  789. .registers 2
  790. .parameter "x0"
  791. .parameter "x1"
  792.  
  793. .prologue
  794. .line 79
  795. iput p1, p0, Lcom/android/server/PowerManagerService;->mUserState:I
  796.  
  797. return p1
  798. .end method
  799.  
  800. .method static synthetic access$2700(Lcom/android/server/PowerManagerService;)I
  801. .registers 2
  802. .parameter "x0"
  803.  
  804. .prologue
  805. .line 79
  806. iget v0, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  807.  
  808. return v0
  809. .end method
  810.  
  811. .method static synthetic access$2800(Lcom/android/server/PowerManagerService;I)V
  812. .registers 2
  813. .parameter "x0"
  814. .parameter "x1"
  815.  
  816. .prologue
  817. .line 79
  818. invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->printCurLock(I)V
  819.  
  820. return-void
  821. .end method
  822.  
  823. .method static synthetic access$2900(Lcom/android/server/PowerManagerService;I)V
  824. .registers 2
  825. .parameter "x0"
  826. .parameter "x1"
  827.  
  828. .prologue
  829. .line 79
  830. invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->setPowerState(I)V
  831.  
  832. return-void
  833. .end method
  834.  
  835. .method static synthetic access$300(Lcom/android/server/PowerManagerService;)I
  836. .registers 2
  837. .parameter "x0"
  838.  
  839. .prologue
  840. .line 79
  841. iget v0, p0, Lcom/android/server/PowerManagerService;->MY_PID:I
  842.  
  843. return v0
  844. .end method
  845.  
  846. .method static synthetic access$3000(Lcom/android/server/PowerManagerService;)I
  847. .registers 2
  848. .parameter "x0"
  849.  
  850. .prologue
  851. .line 79
  852. iget v0, p0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  853.  
  854. return v0
  855. .end method
  856.  
  857. .method static synthetic access$3100(Lcom/android/server/PowerManagerService;JJI)V
  858. .registers 6
  859. .parameter "x0"
  860. .parameter "x1"
  861. .parameter "x2"
  862. .parameter "x3"
  863.  
  864. .prologue
  865. .line 79
  866. invoke-direct/range {p0 .. p5}, Lcom/android/server/PowerManagerService;->setTimeoutLocked(JJI)V
  867.  
  868. return-void
  869. .end method
  870.  
  871. .method static synthetic access$3200(Lcom/android/server/PowerManagerService;)[I
  872. .registers 2
  873. .parameter "x0"
  874.  
  875. .prologue
  876. .line 79
  877. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mBroadcastQueue:[I
  878.  
  879. return-object v0
  880. .end method
  881.  
  882. .method static synthetic access$3300(Lcom/android/server/PowerManagerService;)[I
  883. .registers 2
  884. .parameter "x0"
  885.  
  886. .prologue
  887. .line 79
  888. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mBroadcastWhy:[I
  889.  
  890. return-object v0
  891. .end method
  892.  
  893. .method static synthetic access$3400(Lcom/android/server/PowerManagerService;)Landroid/content/Context;
  894. .registers 2
  895. .parameter "x0"
  896.  
  897. .prologue
  898. .line 79
  899. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  900.  
  901. return-object v0
  902. .end method
  903.  
  904. .method static synthetic access$3500(Lcom/android/server/PowerManagerService;)Landroid/content/Intent;
  905. .registers 2
  906. .parameter "x0"
  907.  
  908. .prologue
  909. .line 79
  910. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenOnIntent:Landroid/content/Intent;
  911.  
  912. return-object v0
  913. .end method
  914.  
  915. .method static synthetic access$3600(Lcom/android/server/PowerManagerService;)Landroid/content/BroadcastReceiver;
  916. .registers 2
  917. .parameter "x0"
  918.  
  919. .prologue
  920. .line 79
  921. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenOnBroadcastDone:Landroid/content/BroadcastReceiver;
  922.  
  923. return-object v0
  924. .end method
  925.  
  926. .method static synthetic access$3700(Lcom/android/server/PowerManagerService;)Landroid/os/Handler;
  927. .registers 2
  928. .parameter "x0"
  929.  
  930. .prologue
  931. .line 79
  932. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  933.  
  934. return-object v0
  935. .end method
  936.  
  937. .method static synthetic access$3800(Lcom/android/server/PowerManagerService;)Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  938. .registers 2
  939. .parameter "x0"
  940.  
  941. .prologue
  942. .line 79
  943. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mBroadcastWakeLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  944.  
  945. return-object v0
  946. .end method
  947.  
  948. .method static synthetic access$3900(Lcom/android/server/PowerManagerService;)Landroid/content/Intent;
  949. .registers 2
  950. .parameter "x0"
  951.  
  952. .prologue
  953. .line 79
  954. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenOffIntent:Landroid/content/Intent;
  955.  
  956. return-object v0
  957. .end method
  958.  
  959. .method static synthetic access$400(Lcom/android/server/PowerManagerService;Landroid/os/IBinder;IZ)V
  960. .registers 4
  961. .parameter "x0"
  962. .parameter "x1"
  963. .parameter "x2"
  964. .parameter "x3"
  965.  
  966. .prologue
  967. .line 79
  968. invoke-direct {p0, p1, p2, p3}, Lcom/android/server/PowerManagerService;->releaseWakeLockLocked(Landroid/os/IBinder;IZ)V
  969.  
  970. return-void
  971. .end method
  972.  
  973. .method static synthetic access$4000(Lcom/android/server/PowerManagerService;)Landroid/content/BroadcastReceiver;
  974. .registers 2
  975. .parameter "x0"
  976.  
  977. .prologue
  978. .line 79
  979. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenOffBroadcastDone:Landroid/content/BroadcastReceiver;
  980.  
  981. return-object v0
  982. .end method
  983.  
  984. .method static synthetic access$4100(Lcom/android/server/PowerManagerService;)V
  985. .registers 1
  986. .parameter "x0"
  987.  
  988. .prologue
  989. .line 79
  990. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->forceReenableScreen()V
  991.  
  992. return-void
  993. .end method
  994.  
  995. .method static synthetic access$4200(Lcom/android/server/PowerManagerService;II)V
  996. .registers 3
  997. .parameter "x0"
  998. .parameter "x1"
  999. .parameter "x2"
  1000.  
  1001. .prologue
  1002. .line 79
  1003. invoke-direct {p0, p1, p2}, Lcom/android/server/PowerManagerService;->setLightBrightness(II)V
  1004.  
  1005. return-void
  1006. .end method
  1007.  
  1008. .method static synthetic access$4300(Lcom/android/server/PowerManagerService;)I
  1009. .registers 2
  1010. .parameter "x0"
  1011.  
  1012. .prologue
  1013. .line 79
  1014. iget v0, p0, Lcom/android/server/PowerManagerService;->mScreenOffReason:I
  1015.  
  1016. return v0
  1017. .end method
  1018.  
  1019. .method static synthetic access$4400(Lcom/android/server/PowerManagerService;I)I
  1020. .registers 3
  1021. .parameter "x0"
  1022. .parameter "x1"
  1023.  
  1024. .prologue
  1025. .line 79
  1026. invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->screenOffFinishedAnimatingLocked(I)I
  1027.  
  1028. move-result v0
  1029.  
  1030. return v0
  1031. .end method
  1032.  
  1033. .method static synthetic access$4500(Lcom/android/server/PowerManagerService;)Lcom/android/server/PowerManagerService$BrightnessState;
  1034. .registers 2
  1035. .parameter "x0"
  1036.  
  1037. .prologue
  1038. .line 79
  1039. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  1040.  
  1041. return-object v0
  1042. .end method
  1043.  
  1044. .method static synthetic access$4600(Lcom/android/server/PowerManagerService;I)V
  1045. .registers 2
  1046. .parameter "x0"
  1047. .parameter "x1"
  1048.  
  1049. .prologue
  1050. .line 79
  1051. invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->nativeStartSurfaceFlingerAnimation(I)V
  1052.  
  1053. return-void
  1054. .end method
  1055.  
  1056. .method static synthetic access$4700(Lcom/android/server/PowerManagerService;)I
  1057. .registers 2
  1058. .parameter "x0"
  1059.  
  1060. .prologue
  1061. .line 79
  1062. iget v0, p0, Lcom/android/server/PowerManagerService;->mProximityPendingValue:I
  1063.  
  1064. return v0
  1065. .end method
  1066.  
  1067. .method static synthetic access$4702(Lcom/android/server/PowerManagerService;I)I
  1068. .registers 2
  1069. .parameter "x0"
  1070. .parameter "x1"
  1071.  
  1072. .prologue
  1073. .line 79
  1074. iput p1, p0, Lcom/android/server/PowerManagerService;->mProximityPendingValue:I
  1075.  
  1076. return p1
  1077. .end method
  1078.  
  1079. .method static synthetic access$4800(Lcom/android/server/PowerManagerService;Z)V
  1080. .registers 2
  1081. .parameter "x0"
  1082. .parameter "x1"
  1083.  
  1084. .prologue
  1085. .line 79
  1086. invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->proximityChangedLocked(Z)V
  1087.  
  1088. return-void
  1089. .end method
  1090.  
  1091. .method static synthetic access$4900(Lcom/android/server/PowerManagerService;)Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  1092. .registers 2
  1093. .parameter "x0"
  1094.  
  1095. .prologue
  1096. .line 79
  1097. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mProximityPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  1098.  
  1099. return-object v0
  1100. .end method
  1101.  
  1102. .method static synthetic access$500(Lcom/android/server/PowerManagerService;)Lcom/android/server/PowerManagerService$LockList;
  1103. .registers 2
  1104. .parameter "x0"
  1105.  
  1106. .prologue
  1107. .line 79
  1108. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  1109.  
  1110. return-object v0
  1111. .end method
  1112.  
  1113. .method static synthetic access$5000(Lcom/android/server/PowerManagerService;)F
  1114. .registers 2
  1115. .parameter "x0"
  1116.  
  1117. .prologue
  1118. .line 79
  1119. iget v0, p0, Lcom/android/server/PowerManagerService;->mLightSensorPendingValue:F
  1120.  
  1121. return v0
  1122. .end method
  1123.  
  1124. .method static synthetic access$5002(Lcom/android/server/PowerManagerService;F)F
  1125. .registers 2
  1126. .parameter "x0"
  1127. .parameter "x1"
  1128.  
  1129. .prologue
  1130. .line 79
  1131. iput p1, p0, Lcom/android/server/PowerManagerService;->mLightSensorPendingValue:F
  1132.  
  1133. return p1
  1134. .end method
  1135.  
  1136. .method static synthetic access$5100(Lcom/android/server/PowerManagerService;I)V
  1137. .registers 2
  1138. .parameter "x0"
  1139. .parameter "x1"
  1140.  
  1141. .prologue
  1142. .line 79
  1143. invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->lightSensorChangedLocked(I)V
  1144.  
  1145. return-void
  1146. .end method
  1147.  
  1148. .method static synthetic access$5200(Lcom/android/server/PowerManagerService;I)Z
  1149. .registers 3
  1150. .parameter "x0"
  1151. .parameter "x1"
  1152.  
  1153. .prologue
  1154. .line 79
  1155. invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->isScreenLock(I)Z
  1156.  
  1157. move-result v0
  1158.  
  1159. return v0
  1160. .end method
  1161.  
  1162. .method static synthetic access$5300(Lcom/android/server/PowerManagerService;)Z
  1163. .registers 2
  1164. .parameter "x0"
  1165.  
  1166. .prologue
  1167. .line 79
  1168. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mProxIgnoredBecauseScreenTurnedOff:Z
  1169.  
  1170. return v0
  1171. .end method
  1172.  
  1173. .method static synthetic access$5302(Lcom/android/server/PowerManagerService;Z)Z
  1174. .registers 2
  1175. .parameter "x0"
  1176. .parameter "x1"
  1177.  
  1178. .prologue
  1179. .line 79
  1180. iput-boolean p1, p0, Lcom/android/server/PowerManagerService;->mProxIgnoredBecauseScreenTurnedOff:Z
  1181.  
  1182. return p1
  1183. .end method
  1184.  
  1185. .method static synthetic access$5400(Lcom/android/server/PowerManagerService;)J
  1186. .registers 3
  1187. .parameter "x0"
  1188.  
  1189. .prologue
  1190. .line 79
  1191. iget-wide v0, p0, Lcom/android/server/PowerManagerService;->mLastProximityEventTime:J
  1192.  
  1193. return-wide v0
  1194. .end method
  1195.  
  1196. .method static synthetic access$5402(Lcom/android/server/PowerManagerService;J)J
  1197. .registers 3
  1198. .parameter "x0"
  1199. .parameter "x1"
  1200.  
  1201. .prologue
  1202. .line 79
  1203. iput-wide p1, p0, Lcom/android/server/PowerManagerService;->mLastProximityEventTime:J
  1204.  
  1205. return-wide p1
  1206. .end method
  1207.  
  1208. .method static synthetic access$5500(Lcom/android/server/PowerManagerService;)Ljava/lang/Runnable;
  1209. .registers 2
  1210. .parameter "x0"
  1211.  
  1212. .prologue
  1213. .line 79
  1214. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mProximityTask:Ljava/lang/Runnable;
  1215.  
  1216. return-object v0
  1217. .end method
  1218.  
  1219. .method static synthetic access$5600(Lcom/android/server/PowerManagerService;)Landroid/hardware/Sensor;
  1220. .registers 2
  1221. .parameter "x0"
  1222.  
  1223. .prologue
  1224. .line 79
  1225. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mProximitySensor:Landroid/hardware/Sensor;
  1226.  
  1227. return-object v0
  1228. .end method
  1229.  
  1230. .method static synthetic access$5700(Lcom/android/server/PowerManagerService;)Z
  1231. .registers 2
  1232. .parameter "x0"
  1233.  
  1234. .prologue
  1235. .line 79
  1236. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->isScreenTurningOffLocked()Z
  1237.  
  1238. move-result v0
  1239.  
  1240. return v0
  1241. .end method
  1242.  
  1243. .method static synthetic access$5800(Lcom/android/server/PowerManagerService;)Ljava/lang/Runnable;
  1244. .registers 2
  1245. .parameter "x0"
  1246.  
  1247. .prologue
  1248. .line 79
  1249. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mAutoBrightnessTask:Ljava/lang/Runnable;
  1250.  
  1251. return-object v0
  1252. .end method
  1253.  
  1254. .method static synthetic access$5900(Lcom/android/server/PowerManagerService;)F
  1255. .registers 2
  1256. .parameter "x0"
  1257.  
  1258. .prologue
  1259. .line 79
  1260. iget v0, p0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  1261.  
  1262. return v0
  1263. .end method
  1264.  
  1265. .method static synthetic access$600(Lcom/android/server/PowerManagerService;)Z
  1266. .registers 2
  1267. .parameter "x0"
  1268.  
  1269. .prologue
  1270. .line 79
  1271. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mIsPowered:Z
  1272.  
  1273. return v0
  1274. .end method
  1275.  
  1276. .method static synthetic access$6000(Lcom/android/server/PowerManagerService;)J
  1277. .registers 3
  1278. .parameter "x0"
  1279.  
  1280. .prologue
  1281. .line 79
  1282. iget-wide v0, p0, Lcom/android/server/PowerManagerService;->mLastScreenOnTime:J
  1283.  
  1284. return-wide v0
  1285. .end method
  1286.  
  1287. .method static synthetic access$602(Lcom/android/server/PowerManagerService;Z)Z
  1288. .registers 2
  1289. .parameter "x0"
  1290. .parameter "x1"
  1291.  
  1292. .prologue
  1293. .line 79
  1294. iput-boolean p1, p0, Lcom/android/server/PowerManagerService;->mIsPowered:Z
  1295.  
  1296. return p1
  1297. .end method
  1298.  
  1299. .method static synthetic access$6100(Lcom/android/server/PowerManagerService;)I
  1300. .registers 2
  1301. .parameter "x0"
  1302.  
  1303. .prologue
  1304. .line 79
  1305. iget v0, p0, Lcom/android/server/PowerManagerService;->mLightSensorWarmupTime:I
  1306.  
  1307. return v0
  1308. .end method
  1309.  
  1310. .method static synthetic access$700(Lcom/android/server/PowerManagerService;)Lcom/android/server/BatteryService;
  1311. .registers 2
  1312. .parameter "x0"
  1313.  
  1314. .prologue
  1315. .line 79
  1316. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mBatteryService:Lcom/android/server/BatteryService;
  1317.  
  1318. return-object v0
  1319. .end method
  1320.  
  1321. .method static synthetic access$800(Lcom/android/server/PowerManagerService;)V
  1322. .registers 1
  1323. .parameter "x0"
  1324.  
  1325. .prologue
  1326. .line 79
  1327. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->updateWakeLockLocked()V
  1328.  
  1329. return-void
  1330. .end method
  1331.  
  1332. .method static synthetic access$900(Lcom/android/server/PowerManagerService;)I
  1333. .registers 2
  1334. .parameter "x0"
  1335.  
  1336. .prologue
  1337. .line 79
  1338. iget v0, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  1339.  
  1340. return v0
  1341. .end method
  1342.  
  1343. .method private applyButtonState(I)I
  1344. .registers 4
  1345. .parameter "state"
  1346.  
  1347. .prologue
  1348. .line 2119
  1349. const/4 v0, -0x1
  1350.  
  1351. .line 2120
  1352. .local v0, brightness:I
  1353. and-int/lit8 v1, p1, 0x10
  1354.  
  1355. if-eqz v1, :cond_7
  1356.  
  1357. move v1, p1
  1358.  
  1359. .line 2134
  1360. :goto_6
  1361. return v1
  1362.  
  1363. .line 2124
  1364. :cond_7
  1365. iget v1, p0, Lcom/android/server/PowerManagerService;->mButtonBrightnessOverride:I
  1366.  
  1367. if-ltz v1, :cond_12
  1368.  
  1369. .line 2125
  1370. iget v0, p0, Lcom/android/server/PowerManagerService;->mButtonBrightnessOverride:I
  1371.  
  1372. .line 2129
  1373. :cond_d
  1374. :goto_d
  1375. if-lez v0, :cond_1d
  1376.  
  1377. .line 2130
  1378. or-int/lit8 v1, p1, 0x4
  1379.  
  1380. goto :goto_6
  1381.  
  1382. .line 2126
  1383. :cond_12
  1384. iget v1, p0, Lcom/android/server/PowerManagerService;->mLightSensorButtonBrightness:I
  1385.  
  1386. if-ltz v1, :cond_d
  1387.  
  1388. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  1389.  
  1390. if-eqz v1, :cond_d
  1391.  
  1392. .line 2127
  1393. iget v0, p0, Lcom/android/server/PowerManagerService;->mLightSensorButtonBrightness:I
  1394.  
  1395. goto :goto_d
  1396.  
  1397. .line 2131
  1398. :cond_1d
  1399. if-nez v0, :cond_22
  1400.  
  1401. .line 2132
  1402. and-int/lit8 v1, p1, -0x5
  1403.  
  1404. goto :goto_6
  1405.  
  1406. :cond_22
  1407. move v1, p1
  1408.  
  1409. .line 2134
  1410. goto :goto_6
  1411. .end method
  1412.  
  1413. .method private applyKeyboardState(I)I
  1414. .registers 4
  1415. .parameter "state"
  1416.  
  1417. .prologue
  1418. .line 2139
  1419. const/4 v0, -0x1
  1420.  
  1421. .line 2140
  1422. .local v0, brightness:I
  1423. and-int/lit8 v1, p1, 0x10
  1424.  
  1425. if-eqz v1, :cond_7
  1426.  
  1427. move v1, p1
  1428.  
  1429. .line 2156
  1430. :goto_6
  1431. return v1
  1432.  
  1433. .line 2144
  1434. :cond_7
  1435. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mKeyboardVisible:Z
  1436.  
  1437. if-nez v1, :cond_11
  1438.  
  1439. .line 2145
  1440. const/4 v0, 0x0
  1441.  
  1442. .line 2151
  1443. :cond_c
  1444. :goto_c
  1445. if-lez v0, :cond_23
  1446.  
  1447. .line 2152
  1448. or-int/lit8 v1, p1, 0x8
  1449.  
  1450. goto :goto_6
  1451.  
  1452. .line 2146
  1453. :cond_11
  1454. iget v1, p0, Lcom/android/server/PowerManagerService;->mButtonBrightnessOverride:I
  1455.  
  1456. if-ltz v1, :cond_18
  1457.  
  1458. .line 2147
  1459. iget v0, p0, Lcom/android/server/PowerManagerService;->mButtonBrightnessOverride:I
  1460.  
  1461. goto :goto_c
  1462.  
  1463. .line 2148
  1464. :cond_18
  1465. iget v1, p0, Lcom/android/server/PowerManagerService;->mLightSensorKeyboardBrightness:I
  1466.  
  1467. if-ltz v1, :cond_c
  1468.  
  1469. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  1470.  
  1471. if-eqz v1, :cond_c
  1472.  
  1473. .line 2149
  1474. iget v0, p0, Lcom/android/server/PowerManagerService;->mLightSensorKeyboardBrightness:I
  1475.  
  1476. goto :goto_c
  1477.  
  1478. .line 2153
  1479. :cond_23
  1480. if-nez v0, :cond_28
  1481.  
  1482. .line 2154
  1483. and-int/lit8 v1, p1, -0x9
  1484.  
  1485. goto :goto_6
  1486.  
  1487. :cond_28
  1488. move v1, p1
  1489.  
  1490. .line 2156
  1491. goto :goto_6
  1492. .end method
  1493.  
  1494. .method private batteryIsLow()Z
  1495. .registers 3
  1496.  
  1497. .prologue
  1498. .line 1812
  1499. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mIsPowered:Z
  1500.  
  1501. if-nez v0, :cond_10
  1502.  
  1503. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mBatteryService:Lcom/android/server/BatteryService;
  1504.  
  1505. invoke-virtual {v0}, Lcom/android/server/BatteryService;->getBatteryLevel()I
  1506.  
  1507. move-result v0
  1508.  
  1509. const/16 v1, 0xa
  1510.  
  1511. if-gt v0, v1, :cond_10
  1512.  
  1513. const/4 v0, 0x1
  1514.  
  1515. :goto_f
  1516. return v0
  1517.  
  1518. :cond_10
  1519. const/4 v0, 0x0
  1520.  
  1521. goto :goto_f
  1522. .end method
  1523.  
  1524. .method private cancelTimerLocked()V
  1525. .registers 3
  1526.  
  1527. .prologue
  1528. .line 1272
  1529. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  1530.  
  1531. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mTimeoutTask:Lcom/android/server/PowerManagerService$TimeoutTask;
  1532.  
  1533. invoke-virtual {v0, v1}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
  1534.  
  1535. .line 1273
  1536. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mTimeoutTask:Lcom/android/server/PowerManagerService$TimeoutTask;
  1537.  
  1538. const/4 v1, -0x1
  1539.  
  1540. iput v1, v0, Lcom/android/server/PowerManagerService$TimeoutTask;->nextState:I
  1541.  
  1542. .line 1274
  1543. return-void
  1544. .end method
  1545.  
  1546. .method private disableProximityLockLocked()V
  1547. .registers 7
  1548.  
  1549. .prologue
  1550. const/4 v4, 0x0
  1551.  
  1552. const-string v5, "PowerManagerService"
  1553.  
  1554. .line 2901
  1555. const-string v2, "PowerManagerService"
  1556.  
  1557. const-string v2, "disableProximityLockLocked"
  1558.  
  1559. invoke-static {v5, v2}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  1560.  
  1561. .line 2903
  1562. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mProximitySensorEnabled:Z
  1563.  
  1564. if-eqz v2, :cond_5a
  1565.  
  1566. .line 2905
  1567. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  1568.  
  1569. move-result-wide v0
  1570.  
  1571. .line 2907
  1572. .local v0, identity:J
  1573. :try_start_12
  1574. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mSensorManager:Landroid/hardware/SensorManager;
  1575.  
  1576. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mProximityListener:Landroid/hardware/SensorEventListener;
  1577.  
  1578. invoke-virtual {v2, v3}, Landroid/hardware/SensorManager;->unregisterListener(Landroid/hardware/SensorEventListener;)V
  1579.  
  1580. .line 2908
  1581. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  1582.  
  1583. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mProximityTask:Ljava/lang/Runnable;
  1584.  
  1585. invoke-virtual {v2, v3}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
  1586.  
  1587. .line 2909
  1588. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mProximityPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  1589.  
  1590. invoke-virtual {v2}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->isHeld()Z
  1591.  
  1592. move-result v2
  1593.  
  1594. if-eqz v2, :cond_2d
  1595.  
  1596. .line 2910
  1597. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mProximityPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  1598.  
  1599. invoke-virtual {v2}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->release()V
  1600.  
  1601. .line 2912
  1602. :cond_2d
  1603. const/4 v2, 0x0
  1604.  
  1605. iput-boolean v2, p0, Lcom/android/server/PowerManagerService;->mProximitySensorEnabled:Z
  1606. :try_end_30
  1607. .catchall {:try_start_12 .. :try_end_30} :catchall_5b
  1608.  
  1609. .line 2914
  1610. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  1611.  
  1612. .line 2916
  1613. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  1614.  
  1615. if-eqz v2, :cond_5a
  1616.  
  1617. .line 2917
  1618. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  1619.  
  1620. .line 2919
  1621. const-string v2, "PowerManagerService"
  1622.  
  1623. new-instance v2, Ljava/lang/StringBuilder;
  1624.  
  1625. invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
  1626.  
  1627. const-string v3, "disableProximityLockLocked mProxIgnoredBecauseScreenTurnedOff="
  1628.  
  1629. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1630.  
  1631. move-result-object v2
  1632.  
  1633. iget-boolean v3, p0, Lcom/android/server/PowerManagerService;->mProxIgnoredBecauseScreenTurnedOff:Z
  1634.  
  1635. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  1636.  
  1637. move-result-object v2
  1638.  
  1639. invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  1640.  
  1641. move-result-object v2
  1642.  
  1643. invoke-static {v5, v2}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  1644.  
  1645. .line 2922
  1646. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mProxIgnoredBecauseScreenTurnedOff:Z
  1647.  
  1648. if-nez v2, :cond_5a
  1649.  
  1650. .line 2923
  1651. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->forceUserActivityLocked()V
  1652.  
  1653. .line 2927
  1654. .end local v0 #identity:J
  1655. :cond_5a
  1656. return-void
  1657.  
  1658. .line 2914
  1659. .restart local v0 #identity:J
  1660. :catchall_5b
  1661. move-exception v2
  1662.  
  1663. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  1664.  
  1665. throw v2
  1666. .end method
  1667.  
  1668. .method private dockStateChanged(I)V
  1669. .registers 5
  1670. .parameter "state"
  1671.  
  1672. .prologue
  1673. .line 2368
  1674. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  1675.  
  1676. monitor-enter v1
  1677.  
  1678. .line 2369
  1679. if-eqz p1, :cond_21
  1680.  
  1681. const/4 v2, 0x1
  1682.  
  1683. :goto_6
  1684. :try_start_6
  1685. iput-boolean v2, p0, Lcom/android/server/PowerManagerService;->mIsDocked:Z
  1686.  
  1687. .line 2370
  1688. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mIsDocked:Z
  1689.  
  1690. if-eqz v2, :cond_f
  1691.  
  1692. .line 2371
  1693. const/4 v2, -0x1
  1694.  
  1695. iput v2, p0, Lcom/android/server/PowerManagerService;->mHighestLightSensorValue:I
  1696.  
  1697. .line 2373
  1698. :cond_f
  1699. iget v2, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  1700.  
  1701. and-int/lit8 v2, v2, 0x1
  1702.  
  1703. if-eqz v2, :cond_1f
  1704.  
  1705. .line 2375
  1706. iget v2, p0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  1707.  
  1708. float-to-int v0, v2
  1709.  
  1710. .line 2376
  1711. .local v0, value:I
  1712. const/high16 v2, -0x4080
  1713.  
  1714. iput v2, p0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  1715.  
  1716. .line 2377
  1717. invoke-direct {p0, v0}, Lcom/android/server/PowerManagerService;->lightSensorChangedLocked(I)V
  1718.  
  1719. .line 2379
  1720. .end local v0 #value:I
  1721. :cond_1f
  1722. monitor-exit v1
  1723.  
  1724. .line 2380
  1725. return-void
  1726.  
  1727. .line 2369
  1728. :cond_21
  1729. const/4 v2, 0x0
  1730.  
  1731. goto :goto_6
  1732.  
  1733. .line 2379
  1734. :catchall_23
  1735. move-exception v2
  1736.  
  1737. monitor-exit v1
  1738. :try_end_25
  1739. .catchall {:try_start_6 .. :try_end_25} :catchall_23
  1740.  
  1741. throw v2
  1742. .end method
  1743.  
  1744. .method private static dumpPowerState(I)Ljava/lang/String;
  1745. .registers 4
  1746. .parameter "state"
  1747.  
  1748. .prologue
  1749. const-string v2, ""
  1750.  
  1751. .line 1086
  1752. new-instance v0, Ljava/lang/StringBuilder;
  1753.  
  1754. invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
  1755.  
  1756. and-int/lit8 v1, p0, 0x8
  1757.  
  1758. if-eqz v1, :cond_34
  1759.  
  1760. const-string v1, "KEYBOARD_BRIGHT_BIT "
  1761.  
  1762. :goto_d
  1763. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1764.  
  1765. move-result-object v0
  1766.  
  1767. and-int/lit8 v1, p0, 0x2
  1768.  
  1769. if-eqz v1, :cond_38
  1770.  
  1771. const-string v1, "SCREEN_BRIGHT_BIT "
  1772.  
  1773. :goto_17
  1774. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1775.  
  1776. move-result-object v0
  1777.  
  1778. and-int/lit8 v1, p0, 0x1
  1779.  
  1780. if-eqz v1, :cond_3c
  1781.  
  1782. const-string v1, "SCREEN_ON_BIT "
  1783.  
  1784. :goto_21
  1785. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1786.  
  1787. move-result-object v0
  1788.  
  1789. and-int/lit8 v1, p0, 0x10
  1790.  
  1791. if-eqz v1, :cond_40
  1792.  
  1793. const-string v1, "BATTERY_LOW_BIT "
  1794.  
  1795. :goto_2b
  1796. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1797.  
  1798. move-result-object v0
  1799.  
  1800. invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  1801.  
  1802. move-result-object v0
  1803.  
  1804. return-object v0
  1805.  
  1806. :cond_34
  1807. const-string v1, ""
  1808.  
  1809. move-object v1, v2
  1810.  
  1811. goto :goto_d
  1812.  
  1813. :cond_38
  1814. const-string v1, ""
  1815.  
  1816. move-object v1, v2
  1817.  
  1818. goto :goto_17
  1819.  
  1820. :cond_3c
  1821. const-string v1, ""
  1822.  
  1823. move-object v1, v2
  1824.  
  1825. goto :goto_21
  1826.  
  1827. :cond_40
  1828. const-string v1, ""
  1829.  
  1830. move-object v1, v2
  1831.  
  1832. goto :goto_2b
  1833. .end method
  1834.  
  1835. .method private enableLightSensor(Z)V
  1836. .registers 8
  1837. .parameter "enable"
  1838.  
  1839. .prologue
  1840. .line 2969
  1841. const-string v2, "PowerManagerService"
  1842.  
  1843. new-instance v3, Ljava/lang/StringBuilder;
  1844.  
  1845. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  1846.  
  1847. const-string v4, "enableLightSensor "
  1848.  
  1849. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1850.  
  1851. move-result-object v3
  1852.  
  1853. invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  1854.  
  1855. move-result-object v3
  1856.  
  1857. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  1858.  
  1859. move-result-object v3
  1860.  
  1861. invoke-static {v2, v3}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  1862.  
  1863. .line 2971
  1864. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mSensorManager:Landroid/hardware/SensorManager;
  1865.  
  1866. if-eqz v2, :cond_35
  1867.  
  1868. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mLightSensorEnabled:Z
  1869.  
  1870. if-eq v2, p1, :cond_35
  1871.  
  1872. .line 2972
  1873. iput-boolean p1, p0, Lcom/android/server/PowerManagerService;->mLightSensorEnabled:Z
  1874.  
  1875. .line 2974
  1876. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  1877.  
  1878. move-result-wide v0
  1879.  
  1880. .line 2976
  1881. .local v0, identity:J
  1882. if-eqz p1, :cond_36
  1883.  
  1884. .line 2977
  1885. :try_start_28
  1886. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mSensorManager:Landroid/hardware/SensorManager;
  1887.  
  1888. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mLightListener:Landroid/hardware/SensorEventListener;
  1889.  
  1890. iget-object v4, p0, Lcom/android/server/PowerManagerService;->mLightSensor:Landroid/hardware/Sensor;
  1891.  
  1892. const/4 v5, 0x3
  1893.  
  1894. invoke-virtual {v2, v3, v4, v5}, Landroid/hardware/SensorManager;->registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;I)Z
  1895. :try_end_32
  1896. .catchall {:try_start_28 .. :try_end_32} :catchall_45
  1897.  
  1898. .line 2984
  1899. :goto_32
  1900. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  1901.  
  1902. .line 2987
  1903. .end local v0 #identity:J
  1904. :cond_35
  1905. return-void
  1906.  
  1907. .line 2980
  1908. .restart local v0 #identity:J
  1909. :cond_36
  1910. :try_start_36
  1911. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mSensorManager:Landroid/hardware/SensorManager;
  1912.  
  1913. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mLightListener:Landroid/hardware/SensorEventListener;
  1914.  
  1915. invoke-virtual {v2, v3}, Landroid/hardware/SensorManager;->unregisterListener(Landroid/hardware/SensorEventListener;)V
  1916.  
  1917. .line 2981
  1918. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  1919.  
  1920. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mAutoBrightnessTask:Ljava/lang/Runnable;
  1921.  
  1922. invoke-virtual {v2, v3}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
  1923. :try_end_44
  1924. .catchall {:try_start_36 .. :try_end_44} :catchall_45
  1925.  
  1926. goto :goto_32
  1927.  
  1928. .line 2984
  1929. :catchall_45
  1930. move-exception v2
  1931.  
  1932. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  1933.  
  1934. throw v2
  1935. .end method
  1936.  
  1937. .method private enableProximityLockLocked()V
  1938. .registers 7
  1939.  
  1940. .prologue
  1941. .line 2884
  1942. const-string v2, "PowerManagerService"
  1943.  
  1944. const-string v3, "enableProximityLockLocked"
  1945.  
  1946. invoke-static {v2, v3}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  1947.  
  1948. .line 2886
  1949. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mProximitySensorEnabled:Z
  1950.  
  1951. if-nez v2, :cond_1f
  1952.  
  1953. .line 2888
  1954. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  1955.  
  1956. move-result-wide v0
  1957.  
  1958. .line 2890
  1959. .local v0, identity:J
  1960. :try_start_f
  1961. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mSensorManager:Landroid/hardware/SensorManager;
  1962.  
  1963. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mProximityListener:Landroid/hardware/SensorEventListener;
  1964.  
  1965. iget-object v4, p0, Lcom/android/server/PowerManagerService;->mProximitySensor:Landroid/hardware/Sensor;
  1966.  
  1967. const/4 v5, 0x3
  1968.  
  1969. invoke-virtual {v2, v3, v4, v5}, Landroid/hardware/SensorManager;->registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;I)Z
  1970.  
  1971. .line 2892
  1972. const/4 v2, 0x1
  1973.  
  1974. iput-boolean v2, p0, Lcom/android/server/PowerManagerService;->mProximitySensorEnabled:Z
  1975. :try_end_1c
  1976. .catchall {:try_start_f .. :try_end_1c} :catchall_20
  1977.  
  1978. .line 2894
  1979. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  1980.  
  1981. .line 2897
  1982. .end local v0 #identity:J
  1983. :cond_1f
  1984. return-void
  1985.  
  1986. .line 2894
  1987. .restart local v0 #identity:J
  1988. :catchall_20
  1989. move-exception v2
  1990.  
  1991. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  1992.  
  1993. throw v2
  1994. .end method
  1995.  
  1996. .method private forceReenableScreen()V
  1997. .registers 3
  1998.  
  1999. .prologue
  2000. const-string v1, "PowerManagerService"
  2001.  
  2002. .line 1595
  2003. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mPreventScreenOn:Z
  2004.  
  2005. if-nez v0, :cond_e
  2006.  
  2007. .line 1596
  2008. const-string v0, "PowerManagerService"
  2009.  
  2010. const-string v0, "forceReenableScreen: mPreventScreenOn is false, nothing to do"
  2011.  
  2012. invoke-static {v1, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
  2013.  
  2014. .line 1611
  2015. :goto_d
  2016. return-void
  2017.  
  2018. .line 1608
  2019. :cond_e
  2020. const-string v0, "PowerManagerService"
  2021.  
  2022. const-string v0, "App called preventScreenOn(true) but didn\'t promptly reenable the screen! Forcing the screen back on..."
  2023.  
  2024. invoke-static {v1, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
  2025.  
  2026. .line 1610
  2027. const/4 v0, 0x0
  2028.  
  2029. invoke-virtual {p0, v0}, Lcom/android/server/PowerManagerService;->preventScreenOn(Z)V
  2030.  
  2031. goto :goto_d
  2032. .end method
  2033.  
  2034. .method private forceUserActivityLocked()V
  2035. .registers 5
  2036.  
  2037. .prologue
  2038. const/4 v3, 0x0
  2039.  
  2040. .line 2192
  2041. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->isScreenTurningOffLocked()Z
  2042.  
  2043. move-result v1
  2044.  
  2045. if-eqz v1, :cond_b
  2046.  
  2047. .line 2194
  2048. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  2049.  
  2050. iput-boolean v3, v1, Lcom/android/server/PowerManagerService$BrightnessState;->animating:Z
  2051.  
  2052. .line 2196
  2053. :cond_b
  2054. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mUserActivityAllowed:Z
  2055.  
  2056. .line 2197
  2057. .local v0, savedActivityAllowed:Z
  2058. const/4 v1, 0x1
  2059.  
  2060. iput-boolean v1, p0, Lcom/android/server/PowerManagerService;->mUserActivityAllowed:Z
  2061.  
  2062. .line 2198
  2063. invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
  2064.  
  2065. move-result-wide v1
  2066.  
  2067. invoke-virtual {p0, v1, v2, v3}, Lcom/android/server/PowerManagerService;->userActivity(JZ)V
  2068.  
  2069. .line 2199
  2070. iput-boolean v0, p0, Lcom/android/server/PowerManagerService;->mUserActivityAllowed:Z
  2071.  
  2072. .line 2200
  2073. return-void
  2074. .end method
  2075.  
  2076. .method private getAutoBrightnessValue(I[I)I
  2077. .registers 7
  2078. .parameter "sensorValue"
  2079. .parameter "values"
  2080.  
  2081. .prologue
  2082. .line 2328
  2083. const/4 v1, 0x0
  2084.  
  2085. .local v1, i:I
  2086. :goto_1
  2087. :try_start_1
  2088. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mAutoBrightnessLevels:[I
  2089.  
  2090. array-length v2, v2
  2091.  
  2092. if-ge v1, v2, :cond_c
  2093.  
  2094. .line 2329
  2095. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mAutoBrightnessLevels:[I
  2096.  
  2097. aget v2, v2, v1
  2098.  
  2099. if-ge p1, v2, :cond_f
  2100.  
  2101. .line 2333
  2102. :cond_c
  2103. aget v2, p2, v1
  2104. :try_end_e
  2105. .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_e} :catch_12
  2106.  
  2107. .line 2337
  2108. :goto_e
  2109. return v2
  2110.  
  2111. .line 2328
  2112. :cond_f
  2113. add-int/lit8 v1, v1, 0x1
  2114.  
  2115. goto :goto_1
  2116.  
  2117. .line 2334
  2118. :catch_12
  2119. move-exception v2
  2120.  
  2121. move-object v0, v2
  2122.  
  2123. .line 2336
  2124. .local v0, e:Ljava/lang/Exception;
  2125. const-string v2, "PowerManagerService"
  2126.  
  2127. const-string v3, "getAutoBrightnessValue"
  2128.  
  2129. invoke-static {v2, v3, v0}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  2130.  
  2131. .line 2337
  2132. const/16 v2, 0xff
  2133.  
  2134. goto :goto_e
  2135. .end method
  2136.  
  2137. .method static synthetic getContextZZ(Lcom/android/server/PowerManagerService;)Landroid/content/Context;
  2138. .registers 2
  2139. .parameter "x0"
  2140.  
  2141. .prologue
  2142. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  2143.  
  2144. return-object v0
  2145. .end method
  2146.  
  2147. .method private getPreferredBrightness()I
  2148. .registers 5
  2149.  
  2150. .prologue
  2151. .line 2103
  2152. :try_start_0
  2153. iget v2, p0, Lcom/android/server/PowerManagerService;->mScreenBrightnessOverride:I
  2154.  
  2155. if-ltz v2, :cond_7
  2156.  
  2157. .line 2104
  2158. iget v2, p0, Lcom/android/server/PowerManagerService;->mScreenBrightnessOverride:I
  2159.  
  2160. .line 2114
  2161. :goto_6
  2162. return v2
  2163.  
  2164. .line 2105
  2165. :cond_7
  2166. iget v2, p0, Lcom/android/server/PowerManagerService;->mLightSensorScreenBrightness:I
  2167.  
  2168. if-ltz v2, :cond_16
  2169.  
  2170. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  2171.  
  2172. if-eqz v2, :cond_16
  2173.  
  2174. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mAutoBrightessEnabled:Z
  2175.  
  2176. if-eqz v2, :cond_16
  2177.  
  2178. .line 2107
  2179. iget v2, p0, Lcom/android/server/PowerManagerService;->mLightSensorScreenBrightness:I
  2180.  
  2181. goto :goto_6
  2182.  
  2183. .line 2109
  2184. :cond_16
  2185. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  2186.  
  2187. invoke-virtual {v2}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
  2188.  
  2189. move-result-object v2
  2190.  
  2191. const-string v3, "screen_brightness"
  2192.  
  2193. invoke-static {v2, v3}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;)I
  2194.  
  2195. move-result v0
  2196.  
  2197. .line 2112
  2198. .local v0, brightness:I
  2199. const/16 v2, 0x14
  2200.  
  2201. invoke-static {v0, v2}, Ljava/lang/Math;->max(II)I
  2202. :try_end_27
  2203. .catch Landroid/provider/Settings$SettingNotFoundException; {:try_start_0 .. :try_end_27} :catch_29
  2204.  
  2205. move-result v2
  2206.  
  2207. goto :goto_6
  2208.  
  2209. .line 2113
  2210. .end local v0 #brightness:I
  2211. :catch_29
  2212. move-exception v2
  2213.  
  2214. move-object v1, v2
  2215.  
  2216. .line 2114
  2217. .local v1, snfe:Landroid/provider/Settings$SettingNotFoundException;
  2218. const/16 v2, 0xff
  2219.  
  2220. goto :goto_6
  2221. .end method
  2222.  
  2223. .method private goToSleepLocked(JI)V
  2224. .registers 13
  2225. .parameter "time"
  2226. .parameter "reason"
  2227.  
  2228. .prologue
  2229. const/4 v8, 0x1
  2230.  
  2231. const/4 v7, 0x0
  2232.  
  2233. .line 2518
  2234. iget-wide v5, p0, Lcom/android/server/PowerManagerService;->mLastEventTime:J
  2235.  
  2236. cmp-long v5, v5, p1
  2237.  
  2238. if-gtz v5, :cond_5d
  2239.  
  2240. .line 2519
  2241. iput-wide p1, p0, Lcom/android/server/PowerManagerService;->mLastEventTime:J
  2242.  
  2243. .line 2521
  2244. iput v7, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  2245.  
  2246. .line 2522
  2247. iget-object v5, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  2248.  
  2249. invoke-virtual {v5}, Lcom/android/server/PowerManagerService$LockList;->size()I
  2250.  
  2251. move-result v0
  2252.  
  2253. .line 2523
  2254. .local v0, N:I
  2255. const/4 v2, 0x0
  2256.  
  2257. .line 2524
  2258. .local v2, numCleared:I
  2259. const/4 v3, 0x0
  2260.  
  2261. .line 2525
  2262. .local v3, proxLock:Z
  2263. const/4 v1, 0x0
  2264.  
  2265. .local v1, i:I
  2266. :goto_15
  2267. if-ge v1, v0, :cond_43
  2268.  
  2269. .line 2526
  2270. iget-object v5, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  2271.  
  2272. invoke-virtual {v5, v1}, Lcom/android/server/PowerManagerService$LockList;->get(I)Ljava/lang/Object;
  2273.  
  2274. move-result-object v4
  2275.  
  2276. check-cast v4, Lcom/android/server/PowerManagerService$WakeLock;
  2277.  
  2278. .line 2527
  2279. .local v4, wl:Lcom/android/server/PowerManagerService$WakeLock;
  2280. iget v5, v4, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  2281.  
  2282. invoke-direct {p0, v5}, Lcom/android/server/PowerManagerService;->isScreenLock(I)Z
  2283.  
  2284. move-result v5
  2285.  
  2286. if-eqz v5, :cond_33
  2287.  
  2288. .line 2528
  2289. iget v5, v4, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  2290.  
  2291. and-int/lit8 v5, v5, 0x3f
  2292.  
  2293. const/16 v6, 0x20
  2294.  
  2295. if-ne v5, v6, :cond_36
  2296.  
  2297. const/4 v5, 0x4
  2298.  
  2299. if-ne p3, v5, :cond_36
  2300.  
  2301. .line 2530
  2302. const/4 v3, 0x1
  2303.  
  2304. .line 2525
  2305. :cond_33
  2306. :goto_33
  2307. add-int/lit8 v1, v1, 0x1
  2308.  
  2309. goto :goto_15
  2310.  
  2311. .line 2532
  2312. :cond_36
  2313. iget-object v5, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  2314.  
  2315. invoke-virtual {v5, v1}, Lcom/android/server/PowerManagerService$LockList;->get(I)Ljava/lang/Object;
  2316.  
  2317. move-result-object v5
  2318.  
  2319. check-cast v5, Lcom/android/server/PowerManagerService$WakeLock;
  2320.  
  2321. iput-boolean v7, v5, Lcom/android/server/PowerManagerService$WakeLock;->activated:Z
  2322.  
  2323. .line 2533
  2324. add-int/lit8 v2, v2, 0x1
  2325.  
  2326. goto :goto_33
  2327.  
  2328. .line 2537
  2329. .end local v4 #wl:Lcom/android/server/PowerManagerService$WakeLock;
  2330. :cond_43
  2331. if-nez v3, :cond_4e
  2332.  
  2333. .line 2538
  2334. iput-boolean v8, p0, Lcom/android/server/PowerManagerService;->mProxIgnoredBecauseScreenTurnedOff:Z
  2335.  
  2336. .line 2540
  2337. const-string v5, "PowerManagerService"
  2338.  
  2339. const-string v6, "setting mProxIgnoredBecauseScreenTurnedOff"
  2340.  
  2341. invoke-static {v5, v6}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  2342.  
  2343. .line 2543
  2344. :cond_4e
  2345. const/16 v5, 0xaa4
  2346.  
  2347. invoke-static {v5, v2}, Landroid/util/EventLog;->writeEvent(II)I
  2348.  
  2349. .line 2544
  2350. iput-boolean v8, p0, Lcom/android/server/PowerManagerService;->mStillNeedSleepNotification:Z
  2351.  
  2352. .line 2545
  2353. iput v7, p0, Lcom/android/server/PowerManagerService;->mUserState:I
  2354.  
  2355. .line 2546
  2356. invoke-direct {p0, v7, v7, p3}, Lcom/android/server/PowerManagerService;->setPowerState(IZI)V
  2357.  
  2358. .line 2547
  2359. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->cancelTimerLocked()V
  2360.  
  2361. .line 2549
  2362. .end local v0 #N:I
  2363. .end local v1 #i:I
  2364. .end local v2 #numCleared:I
  2365. .end local v3 #proxLock:Z
  2366. :cond_5d
  2367. return-void
  2368. .end method
  2369.  
  2370. .method private isScreenLock(I)Z
  2371. .registers 4
  2372. .parameter "flags"
  2373.  
  2374. .prologue
  2375. .line 709
  2376. and-int/lit8 v0, p1, 0x3f
  2377.  
  2378. .line 710
  2379. .local v0, n:I
  2380. const/16 v1, 0x1a
  2381.  
  2382. if-eq v0, v1, :cond_11
  2383.  
  2384. const/16 v1, 0xa
  2385.  
  2386. if-eq v0, v1, :cond_11
  2387.  
  2388. const/4 v1, 0x6
  2389.  
  2390. if-eq v0, v1, :cond_11
  2391.  
  2392. const/16 v1, 0x20
  2393.  
  2394. if-ne v0, v1, :cond_13
  2395.  
  2396. :cond_11
  2397. const/4 v1, 0x1
  2398.  
  2399. :goto_12
  2400. return v1
  2401.  
  2402. :cond_13
  2403. const/4 v1, 0x0
  2404.  
  2405. goto :goto_12
  2406. .end method
  2407.  
  2408. .method private isScreenTurningOffLocked()Z
  2409. .registers 2
  2410.  
  2411. .prologue
  2412. .line 2173
  2413. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  2414.  
  2415. iget-boolean v0, v0, Lcom/android/server/PowerManagerService$BrightnessState;->animating:Z
  2416.  
  2417. if-eqz v0, :cond_e
  2418.  
  2419. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  2420.  
  2421. iget v0, v0, Lcom/android/server/PowerManagerService$BrightnessState;->targetValue:I
  2422.  
  2423. if-nez v0, :cond_e
  2424.  
  2425. const/4 v0, 0x1
  2426.  
  2427. :goto_d
  2428. return v0
  2429.  
  2430. :cond_e
  2431. const/4 v0, 0x0
  2432.  
  2433. goto :goto_d
  2434. .end method
  2435.  
  2436. .method private lightSensorChangedLocked(I)V
  2437. .registers 9
  2438. .parameter "value"
  2439.  
  2440. .prologue
  2441. const-string v5, "PowerManagerService"
  2442.  
  2443. .line 2384
  2444. const-string v3, "PowerManagerService"
  2445.  
  2446. new-instance v3, Ljava/lang/StringBuilder;
  2447.  
  2448. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  2449.  
  2450. const-string v4, "lightSensorChangedLocked "
  2451.  
  2452. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2453.  
  2454. move-result-object v3
  2455.  
  2456. invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  2457.  
  2458. move-result-object v3
  2459.  
  2460. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  2461.  
  2462. move-result-object v3
  2463.  
  2464. invoke-static {v5, v3}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  2465.  
  2466. .line 2389
  2467. iget v3, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  2468.  
  2469. and-int/lit8 v3, v3, 0x2
  2470.  
  2471. if-nez v3, :cond_28
  2472.  
  2473. .line 2391
  2474. const-string v3, "PowerManagerService"
  2475.  
  2476. const-string v3, "dropping lightSensorChangedLocked because screen is off"
  2477.  
  2478. invoke-static {v5, v3}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  2479.  
  2480. .line 2439
  2481. :cond_27
  2482. :goto_27
  2483. return-void
  2484.  
  2485. .line 2397
  2486. :cond_28
  2487. iget v3, p0, Lcom/android/server/PowerManagerService;->mHighestLightSensorValue:I
  2488.  
  2489. if-ge v3, p1, :cond_2e
  2490.  
  2491. .line 2398
  2492. iput p1, p0, Lcom/android/server/PowerManagerService;->mHighestLightSensorValue:I
  2493.  
  2494. .line 2401
  2495. :cond_2e
  2496. iget v3, p0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  2497.  
  2498. int-to-float v4, p1
  2499.  
  2500. cmpl-float v3, v3, v4
  2501.  
  2502. if-eqz v3, :cond_27
  2503.  
  2504. .line 2402
  2505. int-to-float v3, p1
  2506.  
  2507. iput v3, p0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  2508.  
  2509. .line 2403
  2510. iget v3, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  2511.  
  2512. and-int/lit8 v3, v3, 0x10
  2513.  
  2514. if-nez v3, :cond_27
  2515.  
  2516. .line 2407
  2517. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mLcdBacklightValues:[I
  2518.  
  2519. invoke-direct {p0, p1, v3}, Lcom/android/server/PowerManagerService;->getAutoBrightnessValue(I[I)I
  2520.  
  2521. move-result v2
  2522.  
  2523. .line 2410
  2524. .local v2, lcdValue:I
  2525. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mButtonBacklightValues:[I
  2526.  
  2527. invoke-direct {p0, p1, v3}, Lcom/android/server/PowerManagerService;->getAutoBrightnessValue(I[I)I
  2528.  
  2529. move-result v0
  2530.  
  2531. .line 2412
  2532. .local v0, buttonValue:I
  2533. iget-boolean v3, p0, Lcom/android/server/PowerManagerService;->mKeyboardVisible:Z
  2534.  
  2535. if-eqz v3, :cond_d0
  2536.  
  2537. .line 2413
  2538. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mKeyboardBacklightValues:[I
  2539.  
  2540. invoke-direct {p0, p1, v3}, Lcom/android/server/PowerManagerService;->getAutoBrightnessValue(I[I)I
  2541.  
  2542. move-result v1
  2543.  
  2544. .line 2417
  2545. .local v1, keyboardValue:I
  2546. :goto_54
  2547. iput v2, p0, Lcom/android/server/PowerManagerService;->mLightSensorScreenBrightness:I
  2548.  
  2549. .line 2418
  2550. iput v0, p0, Lcom/android/server/PowerManagerService;->mLightSensorButtonBrightness:I
  2551.  
  2552. .line 2419
  2553. iput v1, p0, Lcom/android/server/PowerManagerService;->mLightSensorKeyboardBrightness:I
  2554.  
  2555. .line 2422
  2556. const-string v3, "PowerManagerService"
  2557.  
  2558. new-instance v3, Ljava/lang/StringBuilder;
  2559.  
  2560. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  2561.  
  2562. const-string v4, "lcdValue "
  2563.  
  2564. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2565.  
  2566. move-result-object v3
  2567.  
  2568. invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  2569.  
  2570. move-result-object v3
  2571.  
  2572. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  2573.  
  2574. move-result-object v3
  2575.  
  2576. invoke-static {v5, v3}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  2577.  
  2578. .line 2423
  2579. const-string v3, "PowerManagerService"
  2580.  
  2581. new-instance v3, Ljava/lang/StringBuilder;
  2582.  
  2583. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  2584.  
  2585. const-string v4, "buttonValue "
  2586.  
  2587. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2588.  
  2589. move-result-object v3
  2590.  
  2591. invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  2592.  
  2593. move-result-object v3
  2594.  
  2595. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  2596.  
  2597. move-result-object v3
  2598.  
  2599. invoke-static {v5, v3}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  2600.  
  2601. .line 2424
  2602. const-string v3, "PowerManagerService"
  2603.  
  2604. new-instance v3, Ljava/lang/StringBuilder;
  2605.  
  2606. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  2607.  
  2608. const-string v4, "keyboardValue "
  2609.  
  2610. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2611.  
  2612. move-result-object v3
  2613.  
  2614. invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  2615.  
  2616. move-result-object v3
  2617.  
  2618. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  2619.  
  2620. move-result-object v3
  2621.  
  2622. invoke-static {v5, v3}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  2623.  
  2624. .line 2427
  2625. iget-boolean v3, p0, Lcom/android/server/PowerManagerService;->mAutoBrightessEnabled:Z
  2626.  
  2627. if-eqz v3, :cond_b8
  2628.  
  2629. iget v3, p0, Lcom/android/server/PowerManagerService;->mScreenBrightnessOverride:I
  2630.  
  2631. if-gez v3, :cond_b8
  2632.  
  2633. .line 2428
  2634. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  2635.  
  2636. const/16 v4, 0xf
  2637.  
  2638. const/16 v5, 0xff
  2639.  
  2640. iget-object v6, p0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  2641.  
  2642. iget v6, v6, Lcom/android/server/PowerManagerService$BrightnessState;->curValue:F
  2643.  
  2644. float-to-int v6, v6
  2645.  
  2646. invoke-virtual {v3, v2, v4, v5, v6}, Lcom/android/server/PowerManagerService$BrightnessState;->setTargetLocked(IIII)V
  2647.  
  2648. .line 2431
  2649. :cond_b8
  2650. iget v3, p0, Lcom/android/server/PowerManagerService;->mButtonBrightnessOverride:I
  2651.  
  2652. if-gez v3, :cond_c1
  2653.  
  2654. .line 2432
  2655. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mButtonLight:Lcom/android/server/LightsService$Light;
  2656.  
  2657. invoke-virtual {v3, v0}, Lcom/android/server/LightsService$Light;->setBrightness(I)V
  2658.  
  2659. .line 2434
  2660. :cond_c1
  2661. iget v3, p0, Lcom/android/server/PowerManagerService;->mButtonBrightnessOverride:I
  2662.  
  2663. if-ltz v3, :cond_c9
  2664.  
  2665. iget-boolean v3, p0, Lcom/android/server/PowerManagerService;->mKeyboardVisible:Z
  2666.  
  2667. if-nez v3, :cond_27
  2668.  
  2669. .line 2435
  2670. :cond_c9
  2671. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mKeyboardLight:Lcom/android/server/LightsService$Light;
  2672.  
  2673. invoke-virtual {v3, v1}, Lcom/android/server/LightsService$Light;->setBrightness(I)V
  2674.  
  2675. goto/16 :goto_27
  2676.  
  2677. .line 2415
  2678. .end local v1 #keyboardValue:I
  2679. :cond_d0
  2680. const/4 v1, 0x0
  2681.  
  2682. .restart local v1 #keyboardValue:I
  2683. goto :goto_54
  2684. .end method
  2685.  
  2686. .method private static lockType(I)Ljava/lang/String;
  2687. .registers 2
  2688. .parameter "type"
  2689.  
  2690. .prologue
  2691. .line 1068
  2692. sparse-switch p0, :sswitch_data_16
  2693.  
  2694. .line 1081
  2695. const-string v0, "??? "
  2696.  
  2697. :goto_5
  2698. return-object v0
  2699.  
  2700. .line 1071
  2701. :sswitch_6
  2702. const-string v0, "FULL_WAKE_LOCK "
  2703.  
  2704. goto :goto_5
  2705.  
  2706. .line 1073
  2707. :sswitch_9
  2708. const-string v0, "SCREEN_BRIGHT_WAKE_LOCK "
  2709.  
  2710. goto :goto_5
  2711.  
  2712. .line 1075
  2713. :sswitch_c
  2714. const-string v0, "SCREEN_DIM_WAKE_LOCK "
  2715.  
  2716. goto :goto_5
  2717.  
  2718. .line 1077
  2719. :sswitch_f
  2720. const-string v0, "PARTIAL_WAKE_LOCK "
  2721.  
  2722. goto :goto_5
  2723.  
  2724. .line 1079
  2725. :sswitch_12
  2726. const-string v0, "PROXIMITY_SCREEN_OFF_WAKE_LOCK"
  2727.  
  2728. goto :goto_5
  2729.  
  2730. .line 1068
  2731. nop
  2732.  
  2733. :sswitch_data_16
  2734. .sparse-switch
  2735. 0x1 -> :sswitch_f
  2736. 0x6 -> :sswitch_c
  2737. 0xa -> :sswitch_9
  2738. 0x1a -> :sswitch_6
  2739. 0x20 -> :sswitch_12
  2740. .end sparse-switch
  2741. .end method
  2742.  
  2743. .method private native nativeInit()V
  2744. .end method
  2745.  
  2746. .method private native nativeSetPowerState(ZZ)V
  2747. .end method
  2748.  
  2749. .method private native nativeStartSurfaceFlingerAnimation(I)V
  2750. .end method
  2751.  
  2752. .method private printCurLock(I)V
  2753. .registers 15
  2754. .parameter "pos"
  2755.  
  2756. .prologue
  2757. const-string v12, "PowerManagerService"
  2758.  
  2759. .line 3073
  2760. iget v10, p0, Lcom/android/server/PowerManagerService;->mUserState:I
  2761.  
  2762. if-nez v10, :cond_b5
  2763.  
  2764. iget v10, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  2765.  
  2766. if-eqz v10, :cond_b5
  2767.  
  2768. .line 3075
  2769. const-string v10, "PowerManagerService"
  2770.  
  2771. new-instance v10, Ljava/lang/StringBuilder;
  2772.  
  2773. invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
  2774.  
  2775. const-string v11, "CurLock p:"
  2776.  
  2777. invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2778.  
  2779. move-result-object v10
  2780.  
  2781. invoke-virtual {v10, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  2782.  
  2783. move-result-object v10
  2784.  
  2785. const-string v11, " mPS:"
  2786.  
  2787. invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2788.  
  2789. move-result-object v10
  2790.  
  2791. iget v11, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  2792.  
  2793. invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  2794.  
  2795. move-result-object v10
  2796.  
  2797. invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  2798.  
  2799. move-result-object v10
  2800.  
  2801. invoke-static {v12, v10}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
  2802.  
  2803. .line 3076
  2804. iget-object v10, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  2805.  
  2806. invoke-virtual {v10}, Lcom/android/server/PowerManagerService$LockList;->size()I
  2807.  
  2808. move-result v0
  2809.  
  2810. .line 3077
  2811. .local v0, N:I
  2812. invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
  2813.  
  2814. move-result-wide v3
  2815.  
  2816. .line 3078
  2817. .local v3, cTime:J
  2818. const-wide/16 v5, 0x0
  2819.  
  2820. .line 3079
  2821. .local v5, eTime:J
  2822. const/4 v7, 0x0
  2823.  
  2824. .local v7, i:I
  2825. :goto_3b
  2826. if-ge v7, v0, :cond_b5
  2827.  
  2828. .line 3081
  2829. iget-object v10, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  2830.  
  2831. invoke-virtual {v10, v7}, Lcom/android/server/PowerManagerService$LockList;->get(I)Ljava/lang/Object;
  2832.  
  2833. move-result-object v9
  2834.  
  2835. check-cast v9, Lcom/android/server/PowerManagerService$WakeLock;
  2836.  
  2837. .line 3082
  2838. .local v9, wl:Lcom/android/server/PowerManagerService$WakeLock;
  2839. iget v10, v9, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  2840.  
  2841. and-int/lit8 v10, v10, 0x3f
  2842.  
  2843. invoke-static {v10}, Lcom/android/server/PowerManagerService;->lockType(I)Ljava/lang/String;
  2844.  
  2845. move-result-object v8
  2846.  
  2847. .line 3083
  2848. .local v8, type:Ljava/lang/String;
  2849. const-string v1, ""
  2850.  
  2851. .line 3084
  2852. .local v1, acquireCausesWakeup:Ljava/lang/String;
  2853. iget v10, v9, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  2854.  
  2855. const/high16 v11, 0x1000
  2856.  
  2857. and-int/2addr v10, v11
  2858.  
  2859. if-eqz v10, :cond_58
  2860.  
  2861. .line 3085
  2862. const-string v1, " AW "
  2863.  
  2864. .line 3087
  2865. :cond_58
  2866. const-string v2, ""
  2867.  
  2868. .line 3088
  2869. .local v2, activated:Ljava/lang/String;
  2870. iget-boolean v10, v9, Lcom/android/server/PowerManagerService$WakeLock;->activated:Z
  2871.  
  2872. if-eqz v10, :cond_60
  2873.  
  2874. .line 3089
  2875. const-string v2, " active"
  2876.  
  2877. .line 3091
  2878. :cond_60
  2879. iget-wide v10, v9, Lcom/android/server/PowerManagerService$WakeLock;->acqTime:J
  2880.  
  2881. sub-long v5, v3, v10
  2882.  
  2883. .line 3092
  2884. const-string v10, "PowerManagerService"
  2885.  
  2886. new-instance v10, Ljava/lang/StringBuilder;
  2887.  
  2888. invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
  2889.  
  2890. const-string v11, "type="
  2891.  
  2892. invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2893.  
  2894. move-result-object v10
  2895.  
  2896. invoke-virtual {v10, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2897.  
  2898. move-result-object v10
  2899.  
  2900. const-string v11, " \'"
  2901.  
  2902. invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2903.  
  2904. move-result-object v10
  2905.  
  2906. iget-object v11, v9, Lcom/android/server/PowerManagerService$WakeLock;->tag:Ljava/lang/String;
  2907.  
  2908. invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2909.  
  2910. move-result-object v10
  2911.  
  2912. const-string v11, "\'"
  2913.  
  2914. invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2915.  
  2916. move-result-object v10
  2917.  
  2918. invoke-virtual {v10, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2919.  
  2920. move-result-object v10
  2921.  
  2922. invoke-virtual {v10, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2923.  
  2924. move-result-object v10
  2925.  
  2926. const-string v11, " (minState="
  2927.  
  2928. invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2929.  
  2930. move-result-object v10
  2931.  
  2932. iget v11, v9, Lcom/android/server/PowerManagerService$WakeLock;->minState:I
  2933.  
  2934. invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  2935.  
  2936. move-result-object v10
  2937.  
  2938. const-string v11, ")"
  2939.  
  2940. invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2941.  
  2942. move-result-object v10
  2943.  
  2944. const-string v11, " activeT="
  2945.  
  2946. invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2947.  
  2948. move-result-object v10
  2949.  
  2950. invoke-virtual {v10, v5, v6}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  2951.  
  2952. move-result-object v10
  2953.  
  2954. invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  2955.  
  2956. move-result-object v10
  2957.  
  2958. invoke-static {v12, v10}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
  2959.  
  2960. .line 3079
  2961. add-int/lit8 v7, v7, 0x1
  2962.  
  2963. goto :goto_3b
  2964.  
  2965. .line 3096
  2966. .end local v0 #N:I
  2967. .end local v1 #acquireCausesWakeup:Ljava/lang/String;
  2968. .end local v2 #activated:Ljava/lang/String;
  2969. .end local v3 #cTime:J
  2970. .end local v5 #eTime:J
  2971. .end local v7 #i:I
  2972. .end local v8 #type:Ljava/lang/String;
  2973. .end local v9 #wl:Lcom/android/server/PowerManagerService$WakeLock;
  2974. :cond_b5
  2975. return-void
  2976. .end method
  2977.  
  2978. .method private printCurLockForce(Z)V
  2979. .registers 17
  2980. .parameter "screenOn"
  2981.  
  2982. .prologue
  2983. .line 3102
  2984. if-nez p1, :cond_116
  2985.  
  2986. .line 3104
  2987. const-string v12, "PowerManagerService"
  2988.  
  2989. new-instance v13, Ljava/lang/StringBuilder;
  2990.  
  2991. invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
  2992.  
  2993. const-string v14, "CurLockF mPS:"
  2994.  
  2995. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2996.  
  2997. move-result-object v13
  2998.  
  2999. iget v14, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  3000.  
  3001. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  3002.  
  3003. move-result-object v13
  3004.  
  3005. const-string v14, " mUS="
  3006.  
  3007. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3008.  
  3009. move-result-object v13
  3010.  
  3011. iget v14, p0, Lcom/android/server/PowerManagerService;->mUserState:I
  3012.  
  3013. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  3014.  
  3015. move-result-object v13
  3016.  
  3017. invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3018.  
  3019. move-result-object v13
  3020.  
  3021. invoke-static {v12, v13}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
  3022.  
  3023. .line 3105
  3024. iget-object v12, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  3025.  
  3026. invoke-virtual {v12}, Lcom/android/server/PowerManagerService$LockList;->size()I
  3027.  
  3028. move-result v0
  3029.  
  3030. .line 3106
  3031. .local v0, N:I
  3032. invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
  3033.  
  3034. move-result-wide v3
  3035.  
  3036. .line 3107
  3037. .local v3, cTime:J
  3038. const-wide/16 v5, 0x0
  3039.  
  3040. .line 3108
  3041. .local v5, eTime:J
  3042. const/4 v7, 0x0
  3043.  
  3044. .local v7, i:I
  3045. :goto_35
  3046. if-ge v7, v0, :cond_af
  3047.  
  3048. .line 3110
  3049. iget-object v12, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  3050.  
  3051. invoke-virtual {v12, v7}, Lcom/android/server/PowerManagerService$LockList;->get(I)Ljava/lang/Object;
  3052.  
  3053. move-result-object v11
  3054.  
  3055. check-cast v11, Lcom/android/server/PowerManagerService$WakeLock;
  3056.  
  3057. .line 3111
  3058. .local v11, wl:Lcom/android/server/PowerManagerService$WakeLock;
  3059. iget v12, v11, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  3060.  
  3061. and-int/lit8 v12, v12, 0x3f
  3062.  
  3063. invoke-static {v12}, Lcom/android/server/PowerManagerService;->lockType(I)Ljava/lang/String;
  3064.  
  3065. move-result-object v10
  3066.  
  3067. .line 3112
  3068. .local v10, type:Ljava/lang/String;
  3069. const-string v1, ""
  3070.  
  3071. .line 3113
  3072. .local v1, acquireCausesWakeup:Ljava/lang/String;
  3073. iget v12, v11, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  3074.  
  3075. const/high16 v13, 0x1000
  3076.  
  3077. and-int/2addr v12, v13
  3078.  
  3079. if-eqz v12, :cond_52
  3080.  
  3081. .line 3114
  3082. const-string v1, " AW "
  3083.  
  3084. .line 3116
  3085. :cond_52
  3086. const-string v2, ""
  3087.  
  3088. .line 3117
  3089. .local v2, activated:Ljava/lang/String;
  3090. iget-boolean v12, v11, Lcom/android/server/PowerManagerService$WakeLock;->activated:Z
  3091.  
  3092. if-eqz v12, :cond_5a
  3093.  
  3094. .line 3118
  3095. const-string v2, " active"
  3096.  
  3097. .line 3120
  3098. :cond_5a
  3099. iget-wide v12, v11, Lcom/android/server/PowerManagerService$WakeLock;->acqTime:J
  3100.  
  3101. sub-long v5, v3, v12
  3102.  
  3103. .line 3121
  3104. const-string v12, "PowerManagerService"
  3105.  
  3106. new-instance v13, Ljava/lang/StringBuilder;
  3107.  
  3108. invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
  3109.  
  3110. const-string v14, "type="
  3111.  
  3112. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3113.  
  3114. move-result-object v13
  3115.  
  3116. invoke-virtual {v13, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3117.  
  3118. move-result-object v13
  3119.  
  3120. const-string v14, " \'"
  3121.  
  3122. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3123.  
  3124. move-result-object v13
  3125.  
  3126. iget-object v14, v11, Lcom/android/server/PowerManagerService$WakeLock;->tag:Ljava/lang/String;
  3127.  
  3128. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3129.  
  3130. move-result-object v13
  3131.  
  3132. const-string v14, "\'"
  3133.  
  3134. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3135.  
  3136. move-result-object v13
  3137.  
  3138. invoke-virtual {v13, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3139.  
  3140. move-result-object v13
  3141.  
  3142. invoke-virtual {v13, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3143.  
  3144. move-result-object v13
  3145.  
  3146. const-string v14, " (mS="
  3147.  
  3148. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3149.  
  3150. move-result-object v13
  3151.  
  3152. iget v14, v11, Lcom/android/server/PowerManagerService$WakeLock;->minState:I
  3153.  
  3154. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  3155.  
  3156. move-result-object v13
  3157.  
  3158. const-string v14, ")"
  3159.  
  3160. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3161.  
  3162. move-result-object v13
  3163.  
  3164. const-string v14, " activeT="
  3165.  
  3166. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3167.  
  3168. move-result-object v13
  3169.  
  3170. invoke-virtual {v13, v5, v6}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  3171.  
  3172. move-result-object v13
  3173.  
  3174. invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3175.  
  3176. move-result-object v13
  3177.  
  3178. invoke-static {v12, v13}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
  3179.  
  3180. .line 3108
  3181. add-int/lit8 v7, v7, 0x1
  3182.  
  3183. goto :goto_35
  3184.  
  3185. .line 3125
  3186. .end local v1 #acquireCausesWakeup:Ljava/lang/String;
  3187. .end local v2 #activated:Ljava/lang/String;
  3188. .end local v10 #type:Ljava/lang/String;
  3189. .end local v11 #wl:Lcom/android/server/PowerManagerService$WakeLock;
  3190. :cond_af
  3191. const-string v12, "PowerManagerService"
  3192.  
  3193. new-instance v13, Ljava/lang/StringBuilder;
  3194.  
  3195. invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
  3196.  
  3197. const-string v14, "mPokeLocks.size="
  3198.  
  3199. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3200.  
  3201. move-result-object v13
  3202.  
  3203. iget-object v14, p0, Lcom/android/server/PowerManagerService;->mPokeLocks:Ljava/util/HashMap;
  3204.  
  3205. invoke-virtual {v14}, Ljava/util/HashMap;->size()I
  3206.  
  3207. move-result v14
  3208.  
  3209. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  3210.  
  3211. move-result-object v13
  3212.  
  3213. const-string v14, ":"
  3214.  
  3215. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3216.  
  3217. move-result-object v13
  3218.  
  3219. invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3220.  
  3221. move-result-object v13
  3222.  
  3223. invoke-static {v12, v13}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
  3224.  
  3225. .line 3126
  3226. iget-object v12, p0, Lcom/android/server/PowerManagerService;->mPokeLocks:Ljava/util/HashMap;
  3227.  
  3228. invoke-virtual {v12}, Ljava/util/HashMap;->values()Ljava/util/Collection;
  3229.  
  3230. move-result-object v12
  3231.  
  3232. invoke-interface {v12}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
  3233.  
  3234. move-result-object v8
  3235.  
  3236. .local v8, i$:Ljava/util/Iterator;
  3237. :goto_dd
  3238. invoke-interface {v8}, Ljava/util/Iterator;->hasNext()Z
  3239.  
  3240. move-result v12
  3241.  
  3242. if-eqz v12, :cond_116
  3243.  
  3244. invoke-interface {v8}, Ljava/util/Iterator;->next()Ljava/lang/Object;
  3245.  
  3246. move-result-object v9
  3247.  
  3248. check-cast v9, Lcom/android/server/PowerManagerService$PokeLock;
  3249.  
  3250. .line 3128
  3251. .local v9, p:Lcom/android/server/PowerManagerService$PokeLock;
  3252. const-string v12, "PowerManagerService"
  3253.  
  3254. new-instance v13, Ljava/lang/StringBuilder;
  3255.  
  3256. invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
  3257.  
  3258. const-string v14, " pokeLock "
  3259.  
  3260. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3261.  
  3262. move-result-object v13
  3263.  
  3264. iget v14, v9, Lcom/android/server/PowerManagerService$PokeLock;->pokey:I
  3265.  
  3266. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  3267.  
  3268. move-result-object v13
  3269.  
  3270. const-string v14, " \'"
  3271.  
  3272. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3273.  
  3274. move-result-object v13
  3275.  
  3276. iget-object v14, v9, Lcom/android/server/PowerManagerService$PokeLock;->tag:Ljava/lang/String;
  3277.  
  3278. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3279.  
  3280. move-result-object v13
  3281.  
  3282. const-string v14, "\'"
  3283.  
  3284. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3285.  
  3286. move-result-object v13
  3287.  
  3288. invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3289.  
  3290. move-result-object v13
  3291.  
  3292. invoke-static {v12, v13}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
  3293.  
  3294. goto :goto_dd
  3295.  
  3296. .line 3132
  3297. .end local v0 #N:I
  3298. .end local v3 #cTime:J
  3299. .end local v5 #eTime:J
  3300. .end local v7 #i:I
  3301. .end local v8 #i$:Ljava/util/Iterator;
  3302. .end local v9 #p:Lcom/android/server/PowerManagerService$PokeLock;
  3303. :cond_116
  3304. return-void
  3305. .end method
  3306.  
  3307. .method private proximityChangedLocked(Z)V
  3308. .registers 6
  3309. .parameter "active"
  3310.  
  3311. .prologue
  3312. const-string v3, "b mProxIgnoredBecauseScreenTurnedOff="
  3313.  
  3314. const-string v2, "PowerManagerService"
  3315.  
  3316. .line 2931
  3317. const-string v0, "PowerManagerService"
  3318.  
  3319. new-instance v0, Ljava/lang/StringBuilder;
  3320.  
  3321. invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
  3322.  
  3323. const-string v1, "proximityChangedLocked, active: "
  3324.  
  3325. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3326.  
  3327. move-result-object v0
  3328.  
  3329. invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  3330.  
  3331. move-result-object v0
  3332.  
  3333. invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3334.  
  3335. move-result-object v0
  3336.  
  3337. invoke-static {v2, v0}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  3338.  
  3339. .line 2933
  3340. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mProximitySensorEnabled:Z
  3341.  
  3342. if-nez v0, :cond_28
  3343.  
  3344. .line 2934
  3345. const-string v0, "PowerManagerService"
  3346.  
  3347. const-string v0, "Ignoring proximity change after sensor is disabled"
  3348.  
  3349. invoke-static {v2, v0}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  3350.  
  3351. .line 2965
  3352. :cond_27
  3353. :goto_27
  3354. return-void
  3355.  
  3356. .line 2937
  3357. :cond_28
  3358. if-eqz p1, :cond_54
  3359.  
  3360. .line 2939
  3361. const-string v0, "PowerManagerService"
  3362.  
  3363. new-instance v0, Ljava/lang/StringBuilder;
  3364.  
  3365. invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
  3366.  
  3367. const-string v1, "b mProxIgnoredBecauseScreenTurnedOff="
  3368.  
  3369. invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3370.  
  3371. move-result-object v0
  3372.  
  3373. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mProxIgnoredBecauseScreenTurnedOff:Z
  3374.  
  3375. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  3376.  
  3377. move-result-object v0
  3378.  
  3379. invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3380.  
  3381. move-result-object v0
  3382.  
  3383. invoke-static {v2, v0}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  3384.  
  3385. .line 2942
  3386. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mProxIgnoredBecauseScreenTurnedOff:Z
  3387.  
  3388. if-nez v0, :cond_50
  3389.  
  3390. .line 2943
  3391. invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
  3392.  
  3393. move-result-wide v0
  3394.  
  3395. const/4 v2, 0x4
  3396.  
  3397. invoke-direct {p0, v0, v1, v2}, Lcom/android/server/PowerManagerService;->goToSleepLocked(JI)V
  3398.  
  3399. .line 2946
  3400. :cond_50
  3401. const/4 v0, 0x1
  3402.  
  3403. iput-boolean v0, p0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  3404.  
  3405. goto :goto_27
  3406.  
  3407. .line 2951
  3408. :cond_54
  3409. const/4 v0, 0x0
  3410.  
  3411. iput-boolean v0, p0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  3412.  
  3413. .line 2953
  3414. const-string v0, "PowerManagerService"
  3415.  
  3416. new-instance v0, Ljava/lang/StringBuilder;
  3417.  
  3418. invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
  3419.  
  3420. const-string v1, "b mProxIgnoredBecauseScreenTurnedOff="
  3421.  
  3422. invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3423.  
  3424. move-result-object v0
  3425.  
  3426. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mProxIgnoredBecauseScreenTurnedOff:Z
  3427.  
  3428. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  3429.  
  3430. move-result-object v0
  3431.  
  3432. invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3433.  
  3434. move-result-object v0
  3435.  
  3436. invoke-static {v2, v0}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  3437.  
  3438. .line 2956
  3439. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mProxIgnoredBecauseScreenTurnedOff:Z
  3440.  
  3441. if-nez v0, :cond_78
  3442.  
  3443. .line 2957
  3444. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->forceUserActivityLocked()V
  3445.  
  3446. .line 2960
  3447. :cond_78
  3448. iget v0, p0, Lcom/android/server/PowerManagerService;->mProximityWakeLockCount:I
  3449.  
  3450. if-nez v0, :cond_27
  3451.  
  3452. .line 2962
  3453. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->disableProximityLockLocked()V
  3454.  
  3455. goto :goto_27
  3456. .end method
  3457.  
  3458. .method private releaseWakeLockLocked(Landroid/os/IBinder;IZ)V
  3459. .registers 13
  3460. .parameter "lock"
  3461. .parameter "flags"
  3462. .parameter "death"
  3463.  
  3464. .prologue
  3465. const/4 v2, 0x1
  3466.  
  3467. const/4 v5, 0x0
  3468.  
  3469. const-string v3, "PowerManagerService"
  3470.  
  3471. .line 936
  3472. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  3473.  
  3474. invoke-virtual {v0, p1}, Lcom/android/server/PowerManagerService$LockList;->removeLock(Landroid/os/IBinder;)Lcom/android/server/PowerManagerService$WakeLock;
  3475.  
  3476. move-result-object v8
  3477.  
  3478. .line 937
  3479. .local v8, wl:Lcom/android/server/PowerManagerService$WakeLock;
  3480. if-nez v8, :cond_d
  3481.  
  3482. .line 981
  3483. :goto_c
  3484. return-void
  3485.  
  3486. .line 946
  3487. :cond_d
  3488. iget v0, v8, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  3489.  
  3490. invoke-direct {p0, v0}, Lcom/android/server/PowerManagerService;->isScreenLock(I)Z
  3491.  
  3492. move-result v0
  3493.  
  3494. if-eqz v0, :cond_6c
  3495.  
  3496. .line 947
  3497. iget v0, v8, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  3498.  
  3499. and-int/lit8 v0, v0, 0x3f
  3500.  
  3501. const/16 v1, 0x20
  3502.  
  3503. if-ne v0, v1, :cond_44
  3504.  
  3505. .line 948
  3506. iget v0, p0, Lcom/android/server/PowerManagerService;->mProximityWakeLockCount:I
  3507.  
  3508. sub-int/2addr v0, v2
  3509.  
  3510. iput v0, p0, Lcom/android/server/PowerManagerService;->mProximityWakeLockCount:I
  3511.  
  3512. .line 949
  3513. iget v0, p0, Lcom/android/server/PowerManagerService;->mProximityWakeLockCount:I
  3514.  
  3515. if-nez v0, :cond_35
  3516.  
  3517. .line 950
  3518. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  3519.  
  3520. if-eqz v0, :cond_40
  3521.  
  3522. and-int/lit8 v0, p2, 0x1
  3523.  
  3524. if-eqz v0, :cond_40
  3525.  
  3526. .line 954
  3527. const-string v0, "PowerManagerService"
  3528.  
  3529. const-string v0, "waiting for proximity sensor to go negative"
  3530.  
  3531. invoke-static {v3, v0}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  3532.  
  3533. .line 978
  3534. :cond_35
  3535. :goto_35
  3536. iget-object v0, v8, Lcom/android/server/PowerManagerService$WakeLock;->binder:Landroid/os/IBinder;
  3537.  
  3538. invoke-interface {v0, v8, v5}, Landroid/os/IBinder;->unlinkToDeath(Landroid/os/IBinder$DeathRecipient;I)Z
  3539.  
  3540. .line 980
  3541. iget-object v0, v8, Lcom/android/server/PowerManagerService$WakeLock;->ws:Landroid/os/WorkSource;
  3542.  
  3543. invoke-virtual {p0, v8, v0}, Lcom/android/server/PowerManagerService;->noteStopWakeLocked(Lcom/android/server/PowerManagerService$WakeLock;Landroid/os/WorkSource;)V
  3544.  
  3545. goto :goto_c
  3546.  
  3547. .line 957
  3548. :cond_40
  3549. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->disableProximityLockLocked()V
  3550.  
  3551. goto :goto_35
  3552.  
  3553. .line 961
  3554. :cond_44
  3555. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  3556.  
  3557. invoke-virtual {v0}, Lcom/android/server/PowerManagerService$LockList;->gatherState()I
  3558.  
  3559. move-result v0
  3560.  
  3561. iput v0, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  3562.  
  3563. .line 963
  3564. iget v0, v8, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  3565.  
  3566. const/high16 v1, 0x2000
  3567.  
  3568. and-int/2addr v0, v1
  3569.  
  3570. if-eqz v0, :cond_5f
  3571.  
  3572. .line 964
  3573. invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
  3574.  
  3575. move-result-wide v1
  3576.  
  3577. const-wide/16 v3, -0x1
  3578.  
  3579. move-object v0, p0
  3580.  
  3581. move v6, v5
  3582.  
  3583. move v7, v5
  3584.  
  3585. invoke-direct/range {v0 .. v7}, Lcom/android/server/PowerManagerService;->userActivity(JJZIZ)V
  3586.  
  3587. .line 966
  3588. :cond_5f
  3589. const/4 v0, 0x2
  3590.  
  3591. invoke-direct {p0, v0}, Lcom/android/server/PowerManagerService;->printCurLock(I)V
  3592.  
  3593. .line 967
  3594. iget v0, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  3595.  
  3596. iget v1, p0, Lcom/android/server/PowerManagerService;->mUserState:I
  3597.  
  3598. or-int/2addr v0, v1
  3599.  
  3600. invoke-direct {p0, v0}, Lcom/android/server/PowerManagerService;->setPowerState(I)V
  3601.  
  3602. goto :goto_35
  3603.  
  3604. .line 970
  3605. :cond_6c
  3606. iget v0, v8, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  3607.  
  3608. and-int/lit8 v0, v0, 0x3f
  3609.  
  3610. if-ne v0, v2, :cond_35
  3611.  
  3612. .line 971
  3613. iget v0, p0, Lcom/android/server/PowerManagerService;->mPartialCount:I
  3614.  
  3615. sub-int/2addr v0, v2
  3616.  
  3617. iput v0, p0, Lcom/android/server/PowerManagerService;->mPartialCount:I
  3618.  
  3619. .line 972
  3620. iget v0, p0, Lcom/android/server/PowerManagerService;->mPartialCount:I
  3621.  
  3622. if-nez v0, :cond_35
  3623.  
  3624. .line 974
  3625. const-string v0, "PowerManagerService"
  3626.  
  3627. invoke-static {v3}, Landroid/os/Power;->releaseWakeLock(Ljava/lang/String;)V
  3628.  
  3629. goto :goto_35
  3630. .end method
  3631.  
  3632. .method private screenOffFinishedAnimatingLocked(I)I
  3633. .registers 9
  3634. .parameter "reason"
  3635.  
  3636. .prologue
  3637. const/4 v6, 0x0
  3638.  
  3639. .line 1800
  3640. const/16 v1, 0xaa8
  3641.  
  3642. const/4 v2, 0x4
  3643.  
  3644. new-array v2, v2, [Ljava/lang/Object;
  3645.  
  3646. invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  3647.  
  3648. move-result-object v3
  3649.  
  3650. aput-object v3, v2, v6
  3651.  
  3652. const/4 v3, 0x1
  3653.  
  3654. invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  3655.  
  3656. move-result-object v4
  3657.  
  3658. aput-object v4, v2, v3
  3659.  
  3660. const/4 v3, 0x2
  3661.  
  3662. iget-wide v4, p0, Lcom/android/server/PowerManagerService;->mTotalTouchDownTime:J
  3663.  
  3664. invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
  3665.  
  3666. move-result-object v4
  3667.  
  3668. aput-object v4, v2, v3
  3669.  
  3670. const/4 v3, 0x3
  3671.  
  3672. iget v4, p0, Lcom/android/server/PowerManagerService;->mTouchCycles:I
  3673.  
  3674. invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  3675.  
  3676. move-result-object v4
  3677.  
  3678. aput-object v4, v2, v3
  3679.  
  3680. invoke-static {v1, v2}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
  3681.  
  3682. .line 1802
  3683. const-wide/16 v1, 0x0
  3684.  
  3685. iput-wide v1, p0, Lcom/android/server/PowerManagerService;->mLastTouchDown:J
  3686.  
  3687. .line 1803
  3688. invoke-direct {p0, v6}, Lcom/android/server/PowerManagerService;->setScreenStateLocked(Z)I
  3689.  
  3690. move-result v0
  3691.  
  3692. .line 1804
  3693. .local v0, err:I
  3694. if-nez v0, :cond_37
  3695.  
  3696. .line 1805
  3697. iput p1, p0, Lcom/android/server/PowerManagerService;->mScreenOffReason:I
  3698.  
  3699. .line 1806
  3700. invoke-direct {p0, v6, p1}, Lcom/android/server/PowerManagerService;->sendNotificationLocked(ZI)V
  3701.  
  3702. .line 1808
  3703. :cond_37
  3704. return v0
  3705. .end method
  3706.  
  3707. .method private sendNotificationLocked(ZI)V
  3708. .registers 11
  3709. .parameter "on"
  3710. .parameter "why"
  3711.  
  3712. .prologue
  3713. const/4 v7, 0x2
  3714.  
  3715. const/4 v6, -0x1
  3716.  
  3717. const/4 v5, 0x1
  3718.  
  3719. const/4 v4, 0x0
  3720.  
  3721. .line 1315
  3722. if-nez p1, :cond_20
  3723.  
  3724. .line 1316
  3725. const-string v1, "PowerManagerService"
  3726.  
  3727. new-instance v2, Ljava/lang/StringBuilder;
  3728.  
  3729. invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
  3730.  
  3731. const-string v3, "sendNotificationLocked on="
  3732.  
  3733. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3734.  
  3735. move-result-object v2
  3736.  
  3737. invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  3738.  
  3739. move-result-object v2
  3740.  
  3741. invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3742.  
  3743. move-result-object v2
  3744.  
  3745. invoke-static {v1, v2}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  3746.  
  3747. .line 1317
  3748. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mStillNeedSleepNotification:Z
  3749.  
  3750. .line 1321
  3751. :cond_20
  3752. const/4 v0, 0x0
  3753.  
  3754. .line 1322
  3755. .local v0, index:I
  3756. :goto_21
  3757. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastQueue:[I
  3758.  
  3759. aget v1, v1, v0
  3760.  
  3761. if-eq v1, v6, :cond_2a
  3762.  
  3763. .line 1323
  3764. add-int/lit8 v0, v0, 0x1
  3765.  
  3766. goto :goto_21
  3767.  
  3768. .line 1325
  3769. :cond_2a
  3770. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastQueue:[I
  3771.  
  3772. if-eqz p1, :cond_9e
  3773.  
  3774. move v2, v5
  3775.  
  3776. :goto_2f
  3777. aput v2, v1, v0
  3778.  
  3779. .line 1326
  3780. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastWhy:[I
  3781.  
  3782. aput p2, v1, v0
  3783.  
  3784. .line 1335
  3785. if-ne v0, v7, :cond_5d
  3786.  
  3787. .line 1338
  3788. if-nez p1, :cond_43
  3789.  
  3790. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastWhy:[I
  3791.  
  3792. aget v1, v1, v4
  3793.  
  3794. if-le v1, p2, :cond_43
  3795.  
  3796. .line 1339
  3797. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastWhy:[I
  3798.  
  3799. aput p2, v1, v4
  3800.  
  3801. .line 1341
  3802. :cond_43
  3803. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastQueue:[I
  3804.  
  3805. if-eqz p1, :cond_a0
  3806.  
  3807. move v2, v5
  3808.  
  3809. :goto_48
  3810. aput v2, v1, v4
  3811.  
  3812. .line 1342
  3813. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastQueue:[I
  3814.  
  3815. aput v6, v1, v5
  3816.  
  3817. .line 1343
  3818. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastQueue:[I
  3819.  
  3820. aput v6, v1, v7
  3821.  
  3822. .line 1344
  3823. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastWakeLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  3824.  
  3825. invoke-virtual {v1}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->release()V
  3826.  
  3827. .line 1345
  3828. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastWakeLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  3829.  
  3830. invoke-virtual {v1}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->release()V
  3831.  
  3832. .line 1346
  3833. const/4 v0, 0x0
  3834.  
  3835. .line 1348
  3836. :cond_5d
  3837. if-ne v0, v5, :cond_86
  3838.  
  3839. if-nez p1, :cond_86
  3840.  
  3841. .line 1349
  3842. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastQueue:[I
  3843.  
  3844. aput v6, v1, v4
  3845.  
  3846. .line 1350
  3847. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastQueue:[I
  3848.  
  3849. aput v6, v1, v5
  3850.  
  3851. .line 1351
  3852. const/4 v0, -0x1
  3853.  
  3854. .line 1354
  3855. const/16 v1, 0xaa7
  3856.  
  3857. new-array v2, v7, [Ljava/lang/Object;
  3858.  
  3859. invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  3860.  
  3861. move-result-object v3
  3862.  
  3863. aput-object v3, v2, v4
  3864.  
  3865. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mBroadcastWakeLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  3866.  
  3867. iget v3, v3, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->mCount:I
  3868.  
  3869. invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  3870.  
  3871. move-result-object v3
  3872.  
  3873. aput-object v3, v2, v5
  3874.  
  3875. invoke-static {v1, v2}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
  3876.  
  3877. .line 1355
  3878. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastWakeLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  3879.  
  3880. invoke-virtual {v1}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->release()V
  3881.  
  3882. .line 1359
  3883. :cond_86
  3884. if-ltz v0, :cond_9d
  3885.  
  3886. .line 1364
  3887. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastWakeLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  3888.  
  3889. invoke-virtual {v1}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->acquire()V
  3890.  
  3891. .line 1365
  3892. const/16 v1, 0xaa5
  3893.  
  3894. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mBroadcastWakeLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  3895.  
  3896. iget v2, v2, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->mCount:I
  3897.  
  3898. invoke-static {v1, v2}, Landroid/util/EventLog;->writeEvent(II)I
  3899.  
  3900. .line 1366
  3901. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  3902.  
  3903. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mNotificationTask:Ljava/lang/Runnable;
  3904.  
  3905. invoke-virtual {v1, v2}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
  3906.  
  3907. .line 1368
  3908. :cond_9d
  3909. return-void
  3910.  
  3911. :cond_9e
  3912. move v2, v4
  3913.  
  3914. .line 1325
  3915. goto :goto_2f
  3916.  
  3917. :cond_a0
  3918. move v2, v4
  3919.  
  3920. .line 1341
  3921. goto :goto_48
  3922. .end method
  3923.  
  3924. .method private setLightBrightness(II)V
  3925. .registers 5
  3926. .parameter "mask"
  3927. .parameter "value"
  3928.  
  3929. .prologue
  3930. .line 1965
  3931. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mAutoBrightessEnabled:Z
  3932.  
  3933. if-eqz v1, :cond_22
  3934.  
  3935. const/4 v1, 0x1
  3936.  
  3937. move v0, v1
  3938.  
  3939. .line 1968
  3940. .local v0, brightnessMode:I
  3941. :goto_6
  3942. and-int/lit8 v1, p1, 0x2
  3943.  
  3944. if-eqz v1, :cond_f
  3945.  
  3946. .line 1969
  3947. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mLcdLight:Lcom/android/server/LightsService$Light;
  3948.  
  3949. invoke-virtual {v1, p2, v0}, Lcom/android/server/LightsService$Light;->setBrightness(II)V
  3950.  
  3951. .line 1971
  3952. :cond_f
  3953. and-int/lit8 v1, p1, 0x4
  3954.  
  3955. if-eqz v1, :cond_18
  3956.  
  3957. .line 1972
  3958. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mButtonLight:Lcom/android/server/LightsService$Light;
  3959.  
  3960. invoke-virtual {v1, p2}, Lcom/android/server/LightsService$Light;->setBrightness(I)V
  3961.  
  3962. .line 1974
  3963. :cond_18
  3964. and-int/lit8 v1, p1, 0x8
  3965.  
  3966. if-eqz v1, :cond_21
  3967.  
  3968. .line 1975
  3969. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mKeyboardLight:Lcom/android/server/LightsService$Light;
  3970.  
  3971. invoke-virtual {v1, p2}, Lcom/android/server/LightsService$Light;->setBrightness(I)V
  3972.  
  3973. .line 1977
  3974. :cond_21
  3975. return-void
  3976.  
  3977. .line 1965
  3978. .end local v0 #brightnessMode:I
  3979. :cond_22
  3980. const/4 v1, 0x0
  3981.  
  3982. move v0, v1
  3983.  
  3984. goto :goto_6
  3985. .end method
  3986.  
  3987. .method private setPowerState(I)V
  3988. .registers 4
  3989. .parameter "state"
  3990.  
  3991. .prologue
  3992. .line 1646
  3993. const/4 v0, 0x0
  3994.  
  3995. const/4 v1, 0x3
  3996.  
  3997. invoke-direct {p0, p1, v0, v1}, Lcom/android/server/PowerManagerService;->setPowerState(IZI)V
  3998.  
  3999. .line 1647
  4000. return-void
  4001. .end method
  4002.  
  4003. .method private setPowerState(IZI)V
  4004. .registers 20
  4005. .parameter "newState"
  4006. .parameter "noChangeLights"
  4007. .parameter "reason"
  4008.  
  4009. .prologue
  4010. .line 1651
  4011. move-object/from16 v0, p0
  4012.  
  4013. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  4014.  
  4015. move-object v10, v0
  4016.  
  4017. monitor-enter v10
  4018.  
  4019. .line 1661
  4020. if-eqz p2, :cond_13
  4021.  
  4022. .line 1662
  4023. and-int/lit8 v11, p1, -0xf
  4024.  
  4025. :try_start_a
  4026. move-object/from16 v0, p0
  4027.  
  4028. iget v0, v0, Lcom/android/server/PowerManagerService;->mPowerState:I
  4029.  
  4030. move v12, v0
  4031.  
  4032. and-int/lit8 v12, v12, 0xe
  4033.  
  4034. or-int p1, v11, v12
  4035.  
  4036. .line 1664
  4037. :cond_13
  4038. move-object/from16 v0, p0
  4039.  
  4040. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  4041.  
  4042. move v11, v0
  4043.  
  4044. if-eqz v11, :cond_37
  4045.  
  4046. .line 1666
  4047. const-string v11, "PowerManagerService"
  4048.  
  4049. new-instance v12, Ljava/lang/StringBuilder;
  4050.  
  4051. invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
  4052.  
  4053. const-string v13, "setPowerState : mProximitySensorActive is true , so SCREEN_BRIGHT bits is cleared, orig newState : "
  4054.  
  4055. invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4056.  
  4057. move-result-object v12
  4058.  
  4059. move-object v0, v12
  4060.  
  4061. move/from16 v1, p1
  4062.  
  4063. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  4064.  
  4065. move-result-object v12
  4066.  
  4067. invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  4068.  
  4069. move-result-object v12
  4070.  
  4071. invoke-static {v11, v12}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  4072.  
  4073. .line 1667
  4074. and-int/lit8 p1, p1, -0x4
  4075.  
  4076. .line 1670
  4077. :cond_37
  4078. invoke-direct/range {p0 .. p0}, Lcom/android/server/PowerManagerService;->batteryIsLow()Z
  4079.  
  4080. move-result v11
  4081.  
  4082. if-eqz v11, :cond_4d
  4083.  
  4084. .line 1671
  4085. and-int/lit8 v11, p1, -0xf
  4086.  
  4087. or-int/lit8 p1, v11, 0x10
  4088.  
  4089. .line 1675
  4090. :goto_41
  4091. move-object/from16 v0, p0
  4092.  
  4093. iget v0, v0, Lcom/android/server/PowerManagerService;->mPowerState:I
  4094.  
  4095. move v11, v0
  4096.  
  4097. move/from16 v0, p1
  4098.  
  4099. move v1, v11
  4100.  
  4101. if-ne v0, v1, :cond_50
  4102.  
  4103. .line 1676
  4104. monitor-exit v10
  4105.  
  4106. .line 1788
  4107. :goto_4c
  4108. return-void
  4109.  
  4110. .line 1673
  4111. :cond_4d
  4112. and-int/lit8 p1, p1, -0x11
  4113.  
  4114. goto :goto_41
  4115.  
  4116. .line 1679
  4117. :cond_50
  4118. move-object/from16 v0, p0
  4119.  
  4120. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mBootCompleted:Z
  4121.  
  4122. move v11, v0
  4123.  
  4124. if-nez v11, :cond_60
  4125.  
  4126. move-object/from16 v0, p0
  4127.  
  4128. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  4129.  
  4130. move v11, v0
  4131.  
  4132. if-nez v11, :cond_60
  4133.  
  4134. .line 1680
  4135. or-int/lit8 p1, p1, 0xf
  4136.  
  4137. .line 1683
  4138. :cond_60
  4139. move-object/from16 v0, p0
  4140.  
  4141. iget v0, v0, Lcom/android/server/PowerManagerService;->mPowerState:I
  4142.  
  4143. move v11, v0
  4144.  
  4145. and-int/lit8 v11, v11, 0x1
  4146.  
  4147. if-eqz v11, :cond_13f
  4148.  
  4149. const/4 v11, 0x1
  4150.  
  4151. move v8, v11
  4152.  
  4153. .line 1684
  4154. .local v8, oldScreenOn:Z
  4155. :goto_6b
  4156. and-int/lit8 v11, p1, 0x1
  4157.  
  4158. if-eqz v11, :cond_143
  4159.  
  4160. const/4 v11, 0x1
  4161.  
  4162. move v7, v11
  4163.  
  4164. .line 1701
  4165. .local v7, newScreenOn:Z
  4166. :goto_71
  4167. move-object/from16 v0, p0
  4168.  
  4169. iget v0, v0, Lcom/android/server/PowerManagerService;->mPowerState:I
  4170.  
  4171. move v11, v0
  4172.  
  4173. move v0, v11
  4174.  
  4175. move/from16 v1, p1
  4176.  
  4177. if-eq v0, v1, :cond_93
  4178.  
  4179. .line 1702
  4180. const/4 v11, 0x0
  4181.  
  4182. move-object/from16 v0, p0
  4183.  
  4184. move/from16 v1, p1
  4185.  
  4186. move v2, v11
  4187.  
  4188. invoke-direct {v0, v1, v2}, Lcom/android/server/PowerManagerService;->updateLightsLocked(II)V
  4189.  
  4190. .line 1703
  4191. move-object/from16 v0, p0
  4192.  
  4193. iget v0, v0, Lcom/android/server/PowerManagerService;->mPowerState:I
  4194.  
  4195. move v11, v0
  4196.  
  4197. and-int/lit8 v11, v11, -0x1f
  4198.  
  4199. and-int/lit8 v12, p1, 0x1e
  4200.  
  4201. or-int/2addr v11, v12
  4202.  
  4203. move v0, v11
  4204.  
  4205. move-object/from16 v1, p0
  4206.  
  4207. iput v0, v1, Lcom/android/server/PowerManagerService;->mPowerState:I
  4208.  
  4209. .line 1707
  4210. :cond_93
  4211. if-eq v8, v7, :cond_136
  4212.  
  4213. .line 1708
  4214. if-eqz v7, :cond_182
  4215.  
  4216. .line 1713
  4217. move-object/from16 v0, p0
  4218.  
  4219. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mStillNeedSleepNotification:Z
  4220.  
  4221. move v11, v0
  4222.  
  4223. if-eqz v11, :cond_a7
  4224.  
  4225. .line 1714
  4226. const/4 v11, 0x0
  4227.  
  4228. const/4 v12, 0x2
  4229.  
  4230. move-object/from16 v0, p0
  4231.  
  4232. move v1, v11
  4233.  
  4234. move v2, v12
  4235.  
  4236. invoke-direct {v0, v1, v2}, Lcom/android/server/PowerManagerService;->sendNotificationLocked(ZI)V
  4237.  
  4238. .line 1722
  4239. :cond_a7
  4240. const/4 v9, 0x1
  4241.  
  4242. .line 1728
  4243. .local v9, reallyTurnScreenOn:Z
  4244. move-object/from16 v0, p0
  4245.  
  4246. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mPreventScreenOn:Z
  4247.  
  4248. move v11, v0
  4249.  
  4250. if-eqz v11, :cond_b7
  4251.  
  4252. .line 1730
  4253. const-string v11, "PowerManagerService"
  4254.  
  4255. const-string v12, "- PREVENTING screen from really turning on!"
  4256.  
  4257. invoke-static {v11, v12}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  4258.  
  4259. .line 1732
  4260. const/4 v9, 0x0
  4261.  
  4262. .line 1734
  4263. :cond_b7
  4264. if-eqz v9, :cond_159
  4265.  
  4266. .line 1735
  4267. const/4 v11, 0x1
  4268.  
  4269. move-object/from16 v0, p0
  4270.  
  4271. move v1, v11
  4272.  
  4273. invoke-direct {v0, v1}, Lcom/android/server/PowerManagerService;->setScreenStateLocked(Z)I
  4274.  
  4275. move-result v4
  4276.  
  4277. .line 1736
  4278. .local v4, err:I
  4279. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  4280. :try_end_c4
  4281. .catchall {:try_start_a .. :try_end_c4} :catchall_13c
  4282.  
  4283. move-result-wide v5
  4284.  
  4285. .line 1738
  4286. .local v5, identity:J
  4287. :try_start_c5
  4288. move-object/from16 v0, p0
  4289.  
  4290. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  4291.  
  4292. move-object v11, v0
  4293.  
  4294. invoke-direct/range {p0 .. p0}, Lcom/android/server/PowerManagerService;->getPreferredBrightness()I
  4295.  
  4296. move-result v12
  4297.  
  4298. invoke-interface {v11, v12}, Lcom/android/internal/app/IBatteryStats;->noteScreenBrightness(I)V
  4299.  
  4300. .line 1739
  4301. move-object/from16 v0, p0
  4302.  
  4303. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  4304.  
  4305. move-object v11, v0
  4306.  
  4307. invoke-interface {v11}, Lcom/android/internal/app/IBatteryStats;->noteScreenOn()V
  4308. :try_end_d9
  4309. .catchall {:try_start_c5 .. :try_end_d9} :catchall_154
  4310. .catch Landroid/os/RemoteException; {:try_start_c5 .. :try_end_d9} :catch_147
  4311.  
  4312. .line 1743
  4313. :try_start_d9
  4314. invoke-static {v5, v6}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  4315.  
  4316. .line 1751
  4317. .end local v5 #identity:J
  4318. :goto_dc
  4319. const-wide/16 v11, 0x0
  4320.  
  4321. move-wide v0, v11
  4322.  
  4323. move-object/from16 v2, p0
  4324.  
  4325. iput-wide v0, v2, Lcom/android/server/PowerManagerService;->mLastTouchDown:J
  4326.  
  4327. .line 1752
  4328. const-wide/16 v11, 0x0
  4329.  
  4330. move-wide v0, v11
  4331.  
  4332. move-object/from16 v2, p0
  4333.  
  4334. iput-wide v0, v2, Lcom/android/server/PowerManagerService;->mTotalTouchDownTime:J
  4335.  
  4336. .line 1753
  4337. const/4 v11, 0x0
  4338.  
  4339. move v0, v11
  4340.  
  4341. move-object/from16 v1, p0
  4342.  
  4343. iput v0, v1, Lcom/android/server/PowerManagerService;->mTouchCycles:I
  4344.  
  4345. .line 1754
  4346. const/16 v11, 0xaa8
  4347.  
  4348. const/4 v12, 0x4
  4349.  
  4350. new-array v12, v12, [Ljava/lang/Object;
  4351.  
  4352. const/4 v13, 0x0
  4353.  
  4354. const/4 v14, 0x1
  4355.  
  4356. invoke-static {v14}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  4357.  
  4358. move-result-object v14
  4359.  
  4360. aput-object v14, v12, v13
  4361.  
  4362. const/4 v13, 0x1
  4363.  
  4364. invoke-static/range {p3 .. p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  4365.  
  4366. move-result-object v14
  4367.  
  4368. aput-object v14, v12, v13
  4369.  
  4370. const/4 v13, 0x2
  4371.  
  4372. move-object/from16 v0, p0
  4373.  
  4374. iget-wide v0, v0, Lcom/android/server/PowerManagerService;->mTotalTouchDownTime:J
  4375.  
  4376. move-wide v14, v0
  4377.  
  4378. invoke-static {v14, v15}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
  4379.  
  4380. move-result-object v14
  4381.  
  4382. aput-object v14, v12, v13
  4383.  
  4384. const/4 v13, 0x3
  4385.  
  4386. move-object/from16 v0, p0
  4387.  
  4388. iget v0, v0, Lcom/android/server/PowerManagerService;->mTouchCycles:I
  4389.  
  4390. move v14, v0
  4391.  
  4392. invoke-static {v14}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  4393.  
  4394. move-result-object v14
  4395.  
  4396. aput-object v14, v12, v13
  4397.  
  4398. invoke-static {v11, v12}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
  4399.  
  4400. .line 1756
  4401. if-nez v4, :cond_163
  4402.  
  4403. .line 1757
  4404. move-object/from16 v0, p0
  4405.  
  4406. iget v0, v0, Lcom/android/server/PowerManagerService;->mPowerState:I
  4407.  
  4408. move v11, v0
  4409.  
  4410. or-int/lit8 v11, v11, 0x1
  4411.  
  4412. move v0, v11
  4413.  
  4414. move-object/from16 v1, p0
  4415.  
  4416. iput v0, v1, Lcom/android/server/PowerManagerService;->mPowerState:I
  4417.  
  4418. .line 1758
  4419. const/4 v11, 0x1
  4420.  
  4421. const/4 v12, -0x1
  4422.  
  4423. move-object/from16 v0, p0
  4424.  
  4425. move v1, v11
  4426.  
  4427. move v2, v12
  4428.  
  4429. invoke-direct {v0, v1, v2}, Lcom/android/server/PowerManagerService;->sendNotificationLocked(ZI)V
  4430.  
  4431. .line 1786
  4432. .end local v4 #err:I
  4433. .end local v9 #reallyTurnScreenOn:Z
  4434. :cond_136
  4435. :goto_136
  4436. invoke-direct/range {p0 .. p0}, Lcom/android/server/PowerManagerService;->updateNativePowerStateLocked()V
  4437.  
  4438. .line 1787
  4439. monitor-exit v10
  4440.  
  4441. goto/16 :goto_4c
  4442.  
  4443. .end local v7 #newScreenOn:Z
  4444. .end local v8 #oldScreenOn:Z
  4445. :catchall_13c
  4446. move-exception v11
  4447.  
  4448. monitor-exit v10
  4449. :try_end_13e
  4450. .catchall {:try_start_d9 .. :try_end_13e} :catchall_13c
  4451.  
  4452. throw v11
  4453.  
  4454. .line 1683
  4455. :cond_13f
  4456. const/4 v11, 0x0
  4457.  
  4458. move v8, v11
  4459.  
  4460. goto/16 :goto_6b
  4461.  
  4462. .line 1684
  4463. .restart local v8 #oldScreenOn:Z
  4464. :cond_143
  4465. const/4 v11, 0x0
  4466.  
  4467. move v7, v11
  4468.  
  4469. goto/16 :goto_71
  4470.  
  4471. .line 1740
  4472. .restart local v4 #err:I
  4473. .restart local v5 #identity:J
  4474. .restart local v7 #newScreenOn:Z
  4475. .restart local v9 #reallyTurnScreenOn:Z
  4476. :catch_147
  4477. move-exception v11
  4478.  
  4479. move-object v3, v11
  4480.  
  4481. .line 1741
  4482. .local v3, e:Landroid/os/RemoteException;
  4483. :try_start_149
  4484. const-string v11, "PowerManagerService"
  4485.  
  4486. const-string v12, "RemoteException calling noteScreenOn on BatteryStatsService"
  4487.  
  4488. invoke-static {v11, v12, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  4489. :try_end_150
  4490. .catchall {:try_start_149 .. :try_end_150} :catchall_154
  4491.  
  4492. .line 1743
  4493. :try_start_150
  4494. invoke-static {v5, v6}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  4495.  
  4496. goto :goto_dc
  4497.  
  4498. .end local v3 #e:Landroid/os/RemoteException;
  4499. :catchall_154
  4500. move-exception v11
  4501.  
  4502. invoke-static {v5, v6}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  4503.  
  4504. throw v11
  4505.  
  4506. .line 1746
  4507. .end local v4 #err:I
  4508. .end local v5 #identity:J
  4509. :cond_159
  4510. const/4 v11, 0x0
  4511.  
  4512. move-object/from16 v0, p0
  4513.  
  4514. move v1, v11
  4515.  
  4516. invoke-direct {v0, v1}, Lcom/android/server/PowerManagerService;->setScreenStateLocked(Z)I
  4517.  
  4518. .line 1748
  4519. const/4 v4, 0x0
  4520.  
  4521. .restart local v4 #err:I
  4522. goto/16 :goto_dc
  4523.  
  4524. .line 1761
  4525. :cond_163
  4526. const-string v11, "PowerManagerService"
  4527.  
  4528. new-instance v12, Ljava/lang/StringBuilder;
  4529.  
  4530. invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
  4531.  
  4532. const-string v13, "setPowerState : err : "
  4533.  
  4534. invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4535.  
  4536. move-result-object v12
  4537.  
  4538. invoke-virtual {v12, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  4539.  
  4540. move-result-object v12
  4541.  
  4542. const-string v13, " SCREEN_ON_BIT is not written"
  4543.  
  4544. invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4545.  
  4546. move-result-object v12
  4547.  
  4548. invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  4549.  
  4550. move-result-object v12
  4551.  
  4552. invoke-static {v11, v12}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
  4553.  
  4554. goto :goto_136
  4555.  
  4556. .line 1765
  4557. .end local v4 #err:I
  4558. .end local v9 #reallyTurnScreenOn:Z
  4559. :cond_182
  4560. move-object/from16 v0, p0
  4561.  
  4562. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  4563.  
  4564. move-object v11, v0
  4565.  
  4566. move-object/from16 v0, p0
  4567.  
  4568. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mAutoBrightnessTask:Ljava/lang/Runnable;
  4569.  
  4570. move-object v12, v0
  4571.  
  4572. invoke-virtual {v11, v12}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
  4573.  
  4574. .line 1766
  4575. invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
  4576.  
  4577. move-result-wide v11
  4578.  
  4579. move-wide v0, v11
  4580.  
  4581. move-object/from16 v2, p0
  4582.  
  4583. iput-wide v0, v2, Lcom/android/server/PowerManagerService;->mScreenOffTime:J
  4584.  
  4585. .line 1767
  4586. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  4587. :try_end_19b
  4588. .catchall {:try_start_150 .. :try_end_19b} :catchall_13c
  4589.  
  4590. move-result-wide v5
  4591.  
  4592. .line 1769
  4593. .restart local v5 #identity:J
  4594. :try_start_19c
  4595. move-object/from16 v0, p0
  4596.  
  4597. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  4598.  
  4599. move-object v11, v0
  4600.  
  4601. invoke-interface {v11}, Lcom/android/internal/app/IBatteryStats;->noteScreenOff()V
  4602. :try_end_1a4
  4603. .catchall {:try_start_19c .. :try_end_1a4} :catchall_1d9
  4604. .catch Landroid/os/RemoteException; {:try_start_19c .. :try_end_1a4} :catch_1cc
  4605.  
  4606. .line 1773
  4607. :try_start_1a4
  4608. invoke-static {v5, v6}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  4609.  
  4610. .line 1775
  4611. :goto_1a7
  4612. move-object/from16 v0, p0
  4613.  
  4614. iget v0, v0, Lcom/android/server/PowerManagerService;->mPowerState:I
  4615.  
  4616. move v11, v0
  4617.  
  4618. and-int/lit8 v11, v11, -0x2
  4619.  
  4620. move v0, v11
  4621.  
  4622. move-object/from16 v1, p0
  4623.  
  4624. iput v0, v1, Lcom/android/server/PowerManagerService;->mPowerState:I
  4625.  
  4626. .line 1776
  4627. move/from16 v0, p3
  4628.  
  4629. move-object/from16 v1, p0
  4630.  
  4631. iput v0, v1, Lcom/android/server/PowerManagerService;->mScreenOffReason:I
  4632.  
  4633. .line 1777
  4634. move-object/from16 v0, p0
  4635.  
  4636. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  4637.  
  4638. move-object v11, v0
  4639.  
  4640. iget-boolean v11, v11, Lcom/android/server/PowerManagerService$BrightnessState;->animating:Z
  4641.  
  4642. if-nez v11, :cond_1de
  4643.  
  4644. .line 1778
  4645. move-object/from16 v0, p0
  4646.  
  4647. move/from16 v1, p3
  4648.  
  4649. invoke-direct {v0, v1}, Lcom/android/server/PowerManagerService;->screenOffFinishedAnimatingLocked(I)I
  4650. :try_end_1c9
  4651. .catchall {:try_start_1a4 .. :try_end_1c9} :catchall_13c
  4652.  
  4653. move-result v4
  4654.  
  4655. .restart local v4 #err:I
  4656. goto/16 :goto_136
  4657.  
  4658. .line 1770
  4659. .end local v4 #err:I
  4660. :catch_1cc
  4661. move-exception v11
  4662.  
  4663. move-object v3, v11
  4664.  
  4665. .line 1771
  4666. .restart local v3 #e:Landroid/os/RemoteException;
  4667. :try_start_1ce
  4668. const-string v11, "PowerManagerService"
  4669.  
  4670. const-string v12, "RemoteException calling noteScreenOff on BatteryStatsService"
  4671.  
  4672. invoke-static {v11, v12, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  4673. :try_end_1d5
  4674. .catchall {:try_start_1ce .. :try_end_1d5} :catchall_1d9
  4675.  
  4676. .line 1773
  4677. :try_start_1d5
  4678. invoke-static {v5, v6}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  4679.  
  4680. goto :goto_1a7
  4681.  
  4682. .end local v3 #e:Landroid/os/RemoteException;
  4683. :catchall_1d9
  4684. move-exception v11
  4685.  
  4686. invoke-static {v5, v6}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  4687.  
  4688. throw v11
  4689.  
  4690. .line 1780
  4691. :cond_1de
  4692. const/4 v4, 0x0
  4693.  
  4694. .line 1781
  4695. .restart local v4 #err:I
  4696. const-wide/16 v11, 0x0
  4697.  
  4698. move-wide v0, v11
  4699.  
  4700. move-object/from16 v2, p0
  4701.  
  4702. iput-wide v0, v2, Lcom/android/server/PowerManagerService;->mLastTouchDown:J
  4703. :try_end_1e6
  4704. .catchall {:try_start_1d5 .. :try_end_1e6} :catchall_13c
  4705.  
  4706. goto/16 :goto_136
  4707. .end method
  4708.  
  4709. .method private setScreenBrightnessMode(I)V
  4710. .registers 7
  4711. .parameter "mode"
  4712.  
  4713. .prologue
  4714. const/4 v2, 0x1
  4715.  
  4716. .line 2604
  4717. if-ne p1, v2, :cond_44
  4718.  
  4719. move v0, v2
  4720.  
  4721. .line 2605
  4722. .local v0, enabled:Z
  4723. :goto_4
  4724. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  4725.  
  4726. if-eqz v2, :cond_43
  4727.  
  4728. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mAutoBrightessEnabled:Z
  4729.  
  4730. if-eq v2, v0, :cond_43
  4731.  
  4732. .line 2606
  4733. const-string v2, "PowerManagerService"
  4734.  
  4735. new-instance v3, Ljava/lang/StringBuilder;
  4736.  
  4737. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  4738.  
  4739. const-string v4, "setScreenBrightnessMode : mAutoBrightessEnabled : "
  4740.  
  4741. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4742.  
  4743. move-result-object v3
  4744.  
  4745. invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  4746.  
  4747. move-result-object v3
  4748.  
  4749. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  4750.  
  4751. move-result-object v3
  4752.  
  4753. invoke-static {v2, v3}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  4754.  
  4755. .line 2607
  4756. iput-boolean v0, p0, Lcom/android/server/PowerManagerService;->mAutoBrightessEnabled:Z
  4757.  
  4758. .line 2608
  4759. invoke-virtual {p0}, Lcom/android/server/PowerManagerService;->isScreenOn()Z
  4760.  
  4761. move-result v2
  4762.  
  4763. if-eqz v2, :cond_43
  4764.  
  4765. .line 2609
  4766. invoke-virtual {p0}, Lcom/android/server/PowerManagerService;->isScreenBright()Z
  4767.  
  4768. move-result v2
  4769.  
  4770. if-eqz v2, :cond_47
  4771.  
  4772. .line 2611
  4773. iget v2, p0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  4774.  
  4775. const/4 v3, 0x0
  4776.  
  4777. cmpl-float v2, v2, v3
  4778.  
  4779. if-ltz v2, :cond_43
  4780.  
  4781. .line 2612
  4782. iget v2, p0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  4783.  
  4784. float-to-int v1, v2
  4785.  
  4786. .line 2613
  4787. .local v1, value:I
  4788. const/high16 v2, -0x4080
  4789.  
  4790. iput v2, p0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  4791.  
  4792. .line 2614
  4793. invoke-direct {p0, v1}, Lcom/android/server/PowerManagerService;->lightSensorChangedLocked(I)V
  4794.  
  4795. .line 2622
  4796. .end local v1 #value:I
  4797. :cond_43
  4798. :goto_43
  4799. return-void
  4800.  
  4801. .line 2604
  4802. .end local v0 #enabled:Z
  4803. :cond_44
  4804. const/4 v2, 0x0
  4805.  
  4806. move v0, v2
  4807.  
  4808. goto :goto_4
  4809.  
  4810. .line 2618
  4811. .restart local v0 #enabled:Z
  4812. :cond_47
  4813. const/16 v2, 0x14
  4814.  
  4815. invoke-virtual {p0, v2}, Lcom/android/server/PowerManagerService;->setBacklightBrightness(I)V
  4816.  
  4817. goto :goto_43
  4818. .end method
  4819.  
  4820. .method private setScreenOffTimeoutsLocked()V
  4821. .registers 7
  4822.  
  4823. .prologue
  4824. const/16 v5, 0xbb8
  4825.  
  4826. const/16 v4, 0x1b58
  4827.  
  4828. const/4 v3, 0x0
  4829.  
  4830. const/4 v2, -0x1
  4831.  
  4832. .line 2630
  4833. iget v1, p0, Lcom/android/server/PowerManagerService;->mPokey:I
  4834.  
  4835. and-int/lit8 v1, v1, 0x2
  4836.  
  4837. if-eqz v1, :cond_53
  4838.  
  4839. .line 2631
  4840. iget v1, p0, Lcom/android/server/PowerManagerService;->mShortKeylightDelay:I
  4841.  
  4842. iput v1, p0, Lcom/android/server/PowerManagerService;->mKeylightDelay:I
  4843.  
  4844. .line 2632
  4845. iput v2, p0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  4846.  
  4847. .line 2633
  4848. iput v3, p0, Lcom/android/server/PowerManagerService;->mScreenOffDelay:I
  4849.  
  4850. .line 2666
  4851. :goto_14
  4852. const-string v1, "PowerManagerService"
  4853.  
  4854. new-instance v2, Ljava/lang/StringBuilder;
  4855.  
  4856. invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
  4857.  
  4858. const-string v3, "setScreenOffTimeouts mKeylightDelay="
  4859.  
  4860. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4861.  
  4862. move-result-object v2
  4863.  
  4864. iget v3, p0, Lcom/android/server/PowerManagerService;->mKeylightDelay:I
  4865.  
  4866. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  4867.  
  4868. move-result-object v2
  4869.  
  4870. const-string v3, " mDimDelay="
  4871.  
  4872. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4873.  
  4874. move-result-object v2
  4875.  
  4876. iget v3, p0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  4877.  
  4878. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  4879.  
  4880. move-result-object v2
  4881.  
  4882. const-string v3, " mScreenOffDelay="
  4883.  
  4884. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4885.  
  4886. move-result-object v2
  4887.  
  4888. iget v3, p0, Lcom/android/server/PowerManagerService;->mScreenOffDelay:I
  4889.  
  4890. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  4891.  
  4892. move-result-object v2
  4893.  
  4894. const-string v3, " mDimScreen="
  4895.  
  4896. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4897.  
  4898. move-result-object v2
  4899.  
  4900. iget-boolean v3, p0, Lcom/android/server/PowerManagerService;->mDimScreen:Z
  4901.  
  4902. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  4903.  
  4904. move-result-object v2
  4905.  
  4906. invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  4907.  
  4908. move-result-object v2
  4909.  
  4910. invoke-static {v1, v2}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  4911.  
  4912. .line 2670
  4913. return-void
  4914.  
  4915. .line 2634
  4916. :cond_53
  4917. iget v1, p0, Lcom/android/server/PowerManagerService;->mPokey:I
  4918.  
  4919. and-int/lit8 v1, v1, 0x4
  4920.  
  4921. if-eqz v1, :cond_62
  4922.  
  4923. .line 2635
  4924. const/16 v1, 0x3a98
  4925.  
  4926. iput v1, p0, Lcom/android/server/PowerManagerService;->mKeylightDelay:I
  4927.  
  4928. .line 2636
  4929. iput v2, p0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  4930.  
  4931. .line 2637
  4932. iput v3, p0, Lcom/android/server/PowerManagerService;->mScreenOffDelay:I
  4933.  
  4934. goto :goto_14
  4935.  
  4936. .line 2638
  4937. :cond_62
  4938. iget v1, p0, Lcom/android/server/PowerManagerService;->mPokey:I
  4939.  
  4940. and-int/lit8 v1, v1, 0x10
  4941.  
  4942. if-eqz v1, :cond_71
  4943.  
  4944. .line 2639
  4945. iput v5, p0, Lcom/android/server/PowerManagerService;->mKeylightDelay:I
  4946.  
  4947. .line 2640
  4948. iput v4, p0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  4949.  
  4950. .line 2641
  4951. const/16 v1, 0x4e20
  4952.  
  4953. iput v1, p0, Lcom/android/server/PowerManagerService;->mScreenOffDelay:I
  4954.  
  4955. goto :goto_14
  4956.  
  4957. .line 2643
  4958. :cond_71
  4959. iget v0, p0, Lcom/android/server/PowerManagerService;->mScreenOffTimeoutSetting:I
  4960.  
  4961. .line 2644
  4962. .local v0, totalDelay:I
  4963. iget v1, p0, Lcom/android/server/PowerManagerService;->mMaximumScreenOffTimeout:I
  4964.  
  4965. if-le v0, v1, :cond_79
  4966.  
  4967. .line 2645
  4968. iget v0, p0, Lcom/android/server/PowerManagerService;->mMaximumScreenOffTimeout:I
  4969.  
  4970. .line 2647
  4971. :cond_79
  4972. iput v5, p0, Lcom/android/server/PowerManagerService;->mKeylightDelay:I
  4973.  
  4974. .line 2648
  4975. if-gez v0, :cond_92
  4976.  
  4977. .line 2649
  4978. const v1, 0x7fffffff
  4979.  
  4980. iput v1, p0, Lcom/android/server/PowerManagerService;->mScreenOffDelay:I
  4981.  
  4982. .line 2658
  4983. :goto_82
  4984. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mDimScreen:Z
  4985.  
  4986. if-eqz v1, :cond_a0
  4987.  
  4988. const/16 v1, 0x2710
  4989.  
  4990. if-lt v0, v1, :cond_a0
  4991.  
  4992. .line 2659
  4993. iget v1, p0, Lcom/android/server/PowerManagerService;->mScreenOffDelay:I
  4994.  
  4995. sub-int/2addr v1, v4
  4996.  
  4997. iput v1, p0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  4998.  
  4999. .line 2660
  5000. iput v4, p0, Lcom/android/server/PowerManagerService;->mScreenOffDelay:I
  5001.  
  5002. goto :goto_14
  5003.  
  5004. .line 2650
  5005. :cond_92
  5006. iget v1, p0, Lcom/android/server/PowerManagerService;->mKeylightDelay:I
  5007.  
  5008. if-ge v1, v0, :cond_9d
  5009.  
  5010. .line 2654
  5011. iget v1, p0, Lcom/android/server/PowerManagerService;->mKeylightDelay:I
  5012.  
  5013. sub-int v1, v0, v1
  5014.  
  5015. iput v1, p0, Lcom/android/server/PowerManagerService;->mScreenOffDelay:I
  5016.  
  5017. goto :goto_82
  5018.  
  5019. .line 2656
  5020. :cond_9d
  5021. iput v3, p0, Lcom/android/server/PowerManagerService;->mScreenOffDelay:I
  5022.  
  5023. goto :goto_82
  5024.  
  5025. .line 2662
  5026. :cond_a0
  5027. iput v2, p0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  5028.  
  5029. goto/16 :goto_14
  5030. .end method
  5031.  
  5032. .method private setScreenStateLocked(Z)I
  5033. .registers 6
  5034. .parameter "on"
  5035.  
  5036. .prologue
  5037. .line 1620
  5038. invoke-static {p1}, Landroid/os/Power;->setScreenState(Z)I
  5039.  
  5040. move-result v0
  5041.  
  5042. .line 1621
  5043. .local v0, err:I
  5044. if-nez v0, :cond_2f
  5045.  
  5046. .line 1622
  5047. if-eqz p1, :cond_2c
  5048.  
  5049. invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
  5050.  
  5051. move-result-wide v1
  5052.  
  5053. :goto_c
  5054. iput-wide v1, p0, Lcom/android/server/PowerManagerService;->mLastScreenOnTime:J
  5055.  
  5056. .line 1623
  5057. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  5058.  
  5059. if-eqz v1, :cond_28
  5060.  
  5061. .line 1624
  5062. invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->enableLightSensor(Z)V
  5063.  
  5064. .line 1625
  5065. if-nez p1, :cond_28
  5066.  
  5067. .line 1627
  5068. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mButtonLight:Lcom/android/server/LightsService$Light;
  5069.  
  5070. invoke-virtual {v1}, Lcom/android/server/LightsService$Light;->turnOff()V
  5071.  
  5072. .line 1628
  5073. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mKeyboardLight:Lcom/android/server/LightsService$Light;
  5074.  
  5075. invoke-virtual {v1}, Lcom/android/server/LightsService$Light;->turnOff()V
  5076.  
  5077. .line 1631
  5078. const/high16 v1, -0x4080
  5079.  
  5080. iput v1, p0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  5081.  
  5082. .line 1633
  5083. const/4 v1, -0x1
  5084.  
  5085. iput v1, p0, Lcom/android/server/PowerManagerService;->mHighestLightSensorValue:I
  5086.  
  5087. .line 1640
  5088. :cond_28
  5089. :goto_28
  5090. invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->printCurLockForce(Z)V
  5091.  
  5092. .line 1641
  5093. return v0
  5094.  
  5095. .line 1622
  5096. :cond_2c
  5097. const-wide/16 v1, 0x0
  5098.  
  5099. goto :goto_c
  5100.  
  5101. .line 1638
  5102. :cond_2f
  5103. const-string v1, "PowerManagerService"
  5104.  
  5105. new-instance v2, Ljava/lang/StringBuilder;
  5106.  
  5107. invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
  5108.  
  5109. const-string v3, "setScreenStateLocked : native code : error : "
  5110.  
  5111. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5112.  
  5113. move-result-object v2
  5114.  
  5115. invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  5116.  
  5117. move-result-object v2
  5118.  
  5119. invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  5120.  
  5121. move-result-object v2
  5122.  
  5123. invoke-static {v1, v2}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
  5124.  
  5125. goto :goto_28
  5126. .end method
  5127.  
  5128. .method private setTimeoutLocked(JI)V
  5129. .registers 10
  5130. .parameter "now"
  5131. .parameter "nextState"
  5132.  
  5133. .prologue
  5134. .line 1198
  5135. const-wide/16 v3, -0x1
  5136.  
  5137. move-object v0, p0
  5138.  
  5139. move-wide v1, p1
  5140.  
  5141. move v5, p3
  5142.  
  5143. invoke-direct/range {v0 .. v5}, Lcom/android/server/PowerManagerService;->setTimeoutLocked(JJI)V
  5144.  
  5145. .line 1199
  5146. return-void
  5147. .end method
  5148.  
  5149. .method private setTimeoutLocked(JJI)V
  5150. .registers 16
  5151. .parameter "now"
  5152. .parameter "originalTimeoutOverride"
  5153. .parameter "nextState"
  5154.  
  5155. .prologue
  5156. const-wide/16 v8, 0x0
  5157.  
  5158. .line 1205
  5159. move-wide v0, p3
  5160.  
  5161. .line 1206
  5162. .local v0, timeoutOverride:J
  5163. iget-boolean v4, p0, Lcom/android/server/PowerManagerService;->mBootCompleted:Z
  5164.  
  5165. if-eqz v4, :cond_33
  5166.  
  5167. .line 1207
  5168. iget-object v4, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  5169.  
  5170. monitor-enter v4
  5171.  
  5172. .line 1208
  5173. const-wide/16 v2, 0x0
  5174.  
  5175. .line 1209
  5176. .local v2, when:J
  5177. cmp-long v5, v0, v8
  5178.  
  5179. if-gtz v5, :cond_74
  5180.  
  5181. .line 1210
  5182. packed-switch p5, :pswitch_data_9e
  5183.  
  5184. .line 1228
  5185. :pswitch_13
  5186. move-wide v2, p1
  5187.  
  5188. .line 1259
  5189. :goto_14
  5190. :try_start_14
  5191. iget-object v5, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  5192.  
  5193. iget-object v6, p0, Lcom/android/server/PowerManagerService;->mTimeoutTask:Lcom/android/server/PowerManagerService$TimeoutTask;
  5194.  
  5195. invoke-virtual {v5, v6}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
  5196.  
  5197. .line 1260
  5198. iget-object v5, p0, Lcom/android/server/PowerManagerService;->mTimeoutTask:Lcom/android/server/PowerManagerService$TimeoutTask;
  5199.  
  5200. iput p5, v5, Lcom/android/server/PowerManagerService$TimeoutTask;->nextState:I
  5201.  
  5202. .line 1261
  5203. iget-object v5, p0, Lcom/android/server/PowerManagerService;->mTimeoutTask:Lcom/android/server/PowerManagerService$TimeoutTask;
  5204.  
  5205. cmp-long v6, v0, v8
  5206.  
  5207. if-lez v6, :cond_9b
  5208.  
  5209. sub-long v6, p3, v0
  5210.  
  5211. :goto_27
  5212. iput-wide v6, v5, Lcom/android/server/PowerManagerService$TimeoutTask;->remainingTimeoutOverride:J
  5213.  
  5214. .line 1264
  5215. iget-object v5, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  5216.  
  5217. iget-object v6, p0, Lcom/android/server/PowerManagerService;->mTimeoutTask:Lcom/android/server/PowerManagerService$TimeoutTask;
  5218.  
  5219. invoke-virtual {v5, v6, v2, v3}, Landroid/os/Handler;->postAtTime(Ljava/lang/Runnable;J)Z
  5220.  
  5221. .line 1265
  5222. iput-wide v2, p0, Lcom/android/server/PowerManagerService;->mNextTimeout:J
  5223.  
  5224. .line 1266
  5225. monitor-exit v4
  5226.  
  5227. .line 1268
  5228. .end local v2 #when:J
  5229. :cond_33
  5230. return-void
  5231.  
  5232. .line 1213
  5233. .restart local v2 #when:J
  5234. :pswitch_34
  5235. iget v5, p0, Lcom/android/server/PowerManagerService;->mKeylightDelay:I
  5236.  
  5237. int-to-long v5, v5
  5238.  
  5239. add-long v2, p1, v5
  5240.  
  5241. .line 1214
  5242. goto :goto_14
  5243.  
  5244. .line 1216
  5245. :pswitch_3a
  5246. iget v5, p0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  5247.  
  5248. if-ltz v5, :cond_44
  5249.  
  5250. .line 1217
  5251. iget v5, p0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  5252.  
  5253. int-to-long v5, v5
  5254.  
  5255. add-long v2, p1, v5
  5256.  
  5257. .line 1218
  5258. goto :goto_14
  5259.  
  5260. .line 1220
  5261. :cond_44
  5262. const-string v5, "PowerManagerService"
  5263.  
  5264. new-instance v6, Ljava/lang/StringBuilder;
  5265.  
  5266. invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
  5267.  
  5268. const-string v7, "mDimDelay="
  5269.  
  5270. invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5271.  
  5272. move-result-object v6
  5273.  
  5274. iget v7, p0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  5275.  
  5276. invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  5277.  
  5278. move-result-object v6
  5279.  
  5280. const-string v7, " while trying to dim"
  5281.  
  5282. invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5283.  
  5284. move-result-object v6
  5285.  
  5286. invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  5287.  
  5288. move-result-object v6
  5289.  
  5290. invoke-static {v5, v6}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
  5291.  
  5292. .line 1223
  5293. :pswitch_64
  5294. iget-object v5, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  5295.  
  5296. monitor-enter v5
  5297. :try_end_67
  5298. .catchall {:try_start_14 .. :try_end_67} :catchall_71
  5299.  
  5300. .line 1224
  5301. :try_start_67
  5302. iget v6, p0, Lcom/android/server/PowerManagerService;->mScreenOffDelay:I
  5303.  
  5304. int-to-long v6, v6
  5305.  
  5306. add-long v2, p1, v6
  5307.  
  5308. .line 1225
  5309. monitor-exit v5
  5310.  
  5311. goto :goto_14
  5312.  
  5313. :catchall_6e
  5314. move-exception v6
  5315.  
  5316. monitor-exit v5
  5317. :try_end_70
  5318. .catchall {:try_start_67 .. :try_end_70} :catchall_6e
  5319.  
  5320. :try_start_70
  5321. throw v6
  5322.  
  5323. .line 1266
  5324. :catchall_71
  5325. move-exception v5
  5326.  
  5327. monitor-exit v4
  5328. :try_end_73
  5329. .catchall {:try_start_70 .. :try_end_73} :catchall_71
  5330.  
  5331. throw v5
  5332.  
  5333. .line 1233
  5334. :cond_74
  5335. :try_start_74
  5336. iget v5, p0, Lcom/android/server/PowerManagerService;->mScreenOffDelay:I
  5337.  
  5338. int-to-long v5, v5
  5339.  
  5340. cmp-long v5, v0, v5
  5341.  
  5342. if-gtz v5, :cond_7f
  5343.  
  5344. .line 1234
  5345. add-long v2, p1, v0
  5346.  
  5347. .line 1235
  5348. const/4 p5, 0x0
  5349.  
  5350. .line 1236
  5351. goto :goto_14
  5352.  
  5353. .line 1238
  5354. :cond_7f
  5355. iget v5, p0, Lcom/android/server/PowerManagerService;->mScreenOffDelay:I
  5356.  
  5357. int-to-long v5, v5
  5358.  
  5359. sub-long/2addr v0, v5
  5360.  
  5361. .line 1240
  5362. iget v5, p0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  5363.  
  5364. if-ltz v5, :cond_96
  5365.  
  5366. .line 1241
  5367. iget v5, p0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  5368.  
  5369. int-to-long v5, v5
  5370.  
  5371. cmp-long v5, v0, v5
  5372.  
  5373. if-gtz v5, :cond_92
  5374.  
  5375. .line 1242
  5376. add-long v2, p1, v0
  5377.  
  5378. .line 1243
  5379. const/4 p5, 0x1
  5380.  
  5381. .line 1244
  5382. goto :goto_14
  5383.  
  5384. .line 1246
  5385. :cond_92
  5386. iget v5, p0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  5387. :try_end_94
  5388. .catchall {:try_start_74 .. :try_end_94} :catchall_71
  5389.  
  5390. int-to-long v5, v5
  5391.  
  5392. sub-long/2addr v0, v5
  5393.  
  5394. .line 1249
  5395. :cond_96
  5396. add-long v2, p1, v0
  5397.  
  5398. .line 1250
  5399. const/4 p5, 0x3
  5400.  
  5401. goto/16 :goto_14
  5402.  
  5403. .line 1261
  5404. :cond_9b
  5405. const-wide/16 v6, -0x1
  5406.  
  5407. goto :goto_27
  5408.  
  5409. .line 1210
  5410. :pswitch_data_9e
  5411. .packed-switch 0x0
  5412. :pswitch_64
  5413. :pswitch_3a
  5414. :pswitch_13
  5415. :pswitch_34
  5416. .end packed-switch
  5417. .end method
  5418.  
  5419. .method private shouldLog(J)Z
  5420. .registers 10
  5421. .parameter "time"
  5422.  
  5423. .prologue
  5424. const/4 v6, 0x1
  5425.  
  5426. const/4 v5, 0x0
  5427.  
  5428. .line 2177
  5429. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  5430.  
  5431. monitor-enter v0
  5432.  
  5433. .line 2178
  5434. :try_start_5
  5435. iget-wide v1, p0, Lcom/android/server/PowerManagerService;->mWarningSpewThrottleTime:J
  5436.  
  5437. const-wide/32 v3, 0x36ee80
  5438.  
  5439. add-long/2addr v1, v3
  5440.  
  5441. cmp-long v1, p1, v1
  5442.  
  5443. if-lez v1, :cond_17
  5444.  
  5445. .line 2179
  5446. iput-wide p1, p0, Lcom/android/server/PowerManagerService;->mWarningSpewThrottleTime:J
  5447.  
  5448. .line 2180
  5449. const/4 v1, 0x0
  5450.  
  5451. iput v1, p0, Lcom/android/server/PowerManagerService;->mWarningSpewThrottleCount:I
  5452.  
  5453. .line 2181
  5454. monitor-exit v0
  5455.  
  5456. move v0, v6
  5457.  
  5458. .line 2186
  5459. :goto_16
  5460. return v0
  5461.  
  5462. .line 2182
  5463. :cond_17
  5464. iget v1, p0, Lcom/android/server/PowerManagerService;->mWarningSpewThrottleCount:I
  5465.  
  5466. const/16 v2, 0x1e
  5467.  
  5468. if-ge v1, v2, :cond_26
  5469.  
  5470. .line 2183
  5471. iget v1, p0, Lcom/android/server/PowerManagerService;->mWarningSpewThrottleCount:I
  5472.  
  5473. add-int/lit8 v1, v1, 0x1
  5474.  
  5475. iput v1, p0, Lcom/android/server/PowerManagerService;->mWarningSpewThrottleCount:I
  5476.  
  5477. .line 2184
  5478. monitor-exit v0
  5479.  
  5480. move v0, v6
  5481.  
  5482. goto :goto_16
  5483.  
  5484. .line 2186
  5485. :cond_26
  5486. monitor-exit v0
  5487.  
  5488. move v0, v5
  5489.  
  5490. goto :goto_16
  5491.  
  5492. .line 2188
  5493. :catchall_29
  5494. move-exception v1
  5495.  
  5496. monitor-exit v0
  5497. :try_end_2b
  5498. .catchall {:try_start_5 .. :try_end_2b} :catchall_29
  5499.  
  5500. throw v1
  5501. .end method
  5502.  
  5503. .method private updateLightsLocked(II)V
  5504. .registers 25
  5505. .parameter "newState"
  5506. .parameter "forceState"
  5507.  
  5508. .prologue
  5509. .line 1817
  5510. move-object/from16 v0, p0
  5511.  
  5512. iget v0, v0, Lcom/android/server/PowerManagerService;->mPowerState:I
  5513.  
  5514. move v12, v0
  5515.  
  5516. .line 1826
  5517. .local v12, oldState:I
  5518. xor-int v16, p1, v12
  5519.  
  5520. .line 1827
  5521. .local v16, realDifference:I
  5522. or-int v6, v16, p2
  5523.  
  5524. .line 1828
  5525. .local v6, difference:I
  5526. if-nez v6, :cond_c
  5527.  
  5528. .line 1962
  5529. :cond_b
  5530. :goto_b
  5531. return-void
  5532.  
  5533. .line 1832
  5534. :cond_c
  5535. const/4 v11, 0x0
  5536.  
  5537. .line 1833
  5538. .local v11, offMask:I
  5539. const/4 v7, 0x0
  5540.  
  5541. .line 1834
  5542. .local v7, dimMask:I
  5543. const/4 v13, 0x0
  5544.  
  5545. .line 1836
  5546. .local v13, onMask:I
  5547. invoke-direct/range {p0 .. p0}, Lcom/android/server/PowerManagerService;->getPreferredBrightness()I
  5548.  
  5549. move-result v14
  5550.  
  5551. .line 1838
  5552. .local v14, preferredBrightness:I
  5553. const-string v19, "PowerManagerService"
  5554.  
  5555. new-instance v20, Ljava/lang/StringBuilder;
  5556.  
  5557. invoke-direct/range {v20 .. v20}, Ljava/lang/StringBuilder;-><init>()V
  5558.  
  5559. const-string v21, "Ulight "
  5560.  
  5561. invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5562.  
  5563. move-result-object v20
  5564.  
  5565. move-object/from16 v0, v20
  5566.  
  5567. move v1, v12
  5568.  
  5569. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  5570.  
  5571. move-result-object v20
  5572.  
  5573. const-string v21, "->"
  5574.  
  5575. invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5576.  
  5577. move-result-object v20
  5578.  
  5579. move-object/from16 v0, v20
  5580.  
  5581. move/from16 v1, p1
  5582.  
  5583. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  5584.  
  5585. move-result-object v20
  5586.  
  5587. const-string v21, "|"
  5588.  
  5589. invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5590.  
  5591. move-result-object v20
  5592.  
  5593. move-object/from16 v0, v20
  5594.  
  5595. move/from16 v1, p2
  5596.  
  5597. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  5598.  
  5599. move-result-object v20
  5600.  
  5601. invoke-virtual/range {v20 .. v20}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  5602.  
  5603. move-result-object v20
  5604.  
  5605. invoke-static/range {v19 .. v20}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
  5606.  
  5607. .line 1840
  5608. and-int/lit8 v19, v6, 0x8
  5609.  
  5610. if-eqz v19, :cond_54
  5611.  
  5612. .line 1841
  5613. and-int/lit8 v19, p1, 0x8
  5614.  
  5615. if-nez v19, :cond_106
  5616.  
  5617. .line 1842
  5618. or-int/lit8 v11, v11, 0x8
  5619.  
  5620. .line 1848
  5621. :cond_54
  5622. :goto_54
  5623. and-int/lit8 v19, v6, 0x4
  5624.  
  5625. if-eqz v19, :cond_5e
  5626.  
  5627. .line 1849
  5628. and-int/lit8 v19, p1, 0x4
  5629.  
  5630. if-nez v19, :cond_10a
  5631.  
  5632. .line 1850
  5633. or-int/lit8 v11, v11, 0x4
  5634.  
  5635. .line 1856
  5636. :cond_5e
  5637. :goto_5e
  5638. and-int/lit8 v19, v6, 0x3
  5639.  
  5640. if-eqz v19, :cond_c6
  5641.  
  5642. .line 1857
  5643. const/4 v10, -0x1
  5644.  
  5645. .line 1863
  5646. .local v10, nominalCurrentValue:I
  5647. and-int/lit8 v19, v16, 0x3
  5648.  
  5649. if-eqz v19, :cond_7c
  5650.  
  5651. .line 1864
  5652. and-int/lit8 v19, v12, 0x3
  5653.  
  5654. packed-switch v19, :pswitch_data_176
  5655.  
  5656. .line 1877
  5657. :pswitch_6c
  5658. move-object/from16 v0, p0
  5659.  
  5660. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  5661.  
  5662. move-object/from16 v19, v0
  5663.  
  5664. move-object/from16 v0, v19
  5665.  
  5666. iget v0, v0, Lcom/android/server/PowerManagerService$BrightnessState;->curValue:F
  5667.  
  5668. move/from16 v19, v0
  5669.  
  5670. move/from16 v0, v19
  5671.  
  5672. float-to-int v0, v0
  5673.  
  5674. move v10, v0
  5675.  
  5676. .line 1881
  5677. :cond_7c
  5678. :goto_7c
  5679. move v5, v14
  5680.  
  5681. .line 1882
  5682. .local v5, brightness:I
  5683. const/16 v18, 0xa
  5684.  
  5685. .line 1883
  5686. .local v18, steps:I
  5687. and-int/lit8 v19, p1, 0x2
  5688.  
  5689. if-nez v19, :cond_a0
  5690.  
  5691. .line 1887
  5692. const/high16 v17, 0x3fc0
  5693.  
  5694. .line 1888
  5695. .local v17, scale:F
  5696. const/high16 v19, 0x41a0
  5697.  
  5698. move v0, v14
  5699.  
  5700. int-to-float v0, v0
  5701.  
  5702. move/from16 v20, v0
  5703.  
  5704. div-float v15, v19, v20
  5705.  
  5706. .line 1889
  5707. .local v15, ratio:F
  5708. const/high16 v19, 0x3f80
  5709.  
  5710. cmpl-float v19, v15, v19
  5711.  
  5712. if-lez v19, :cond_95
  5713.  
  5714. const/high16 v15, 0x3f80
  5715.  
  5716. .line 1890
  5717. :cond_95
  5718. and-int/lit8 v19, p1, 0x1
  5719.  
  5720. if-nez v19, :cond_127
  5721.  
  5722. .line 1891
  5723. and-int/lit8 v19, v12, 0x2
  5724.  
  5725. if-eqz v19, :cond_118
  5726.  
  5727. .line 1893
  5728. const/16 v18, 0xa
  5729.  
  5730. .line 1898
  5731. :goto_9f
  5732. const/4 v5, 0x0
  5733.  
  5734. .line 1918
  5735. .end local v15 #ratio:F
  5736. .end local v17 #scale:F
  5737. :cond_a0
  5738. :goto_a0
  5739. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  5740.  
  5741. move-result-wide v8
  5742.  
  5743. .line 1920
  5744. .local v8, identity:J
  5745. :try_start_a4
  5746. move-object/from16 v0, p0
  5747.  
  5748. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  5749.  
  5750. move-object/from16 v19, v0
  5751.  
  5752. move-object/from16 v0, v19
  5753.  
  5754. move v1, v5
  5755.  
  5756. invoke-interface {v0, v1}, Lcom/android/internal/app/IBatteryStats;->noteScreenBrightness(I)V
  5757. :try_end_b0
  5758. .catchall {:try_start_a4 .. :try_end_b0} :catchall_16e
  5759. .catch Landroid/os/RemoteException; {:try_start_a4 .. :try_end_b0} :catch_173
  5760.  
  5761. .line 1924
  5762. :goto_b0
  5763. invoke-static {v8, v9}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  5764.  
  5765. .line 1926
  5766. move-object/from16 v0, p0
  5767.  
  5768. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  5769.  
  5770. move-object/from16 v19, v0
  5771.  
  5772. const/16 v20, 0xff
  5773.  
  5774. move-object/from16 v0, v19
  5775.  
  5776. move v1, v5
  5777.  
  5778. move/from16 v2, v18
  5779.  
  5780. move/from16 v3, v20
  5781.  
  5782. move v4, v10
  5783.  
  5784. invoke-virtual {v0, v1, v2, v3, v4}, Lcom/android/server/PowerManagerService$BrightnessState;->setTargetLocked(IIII)V
  5785.  
  5786. .line 1940
  5787. .end local v5 #brightness:I
  5788. .end local v8 #identity:J
  5789. .end local v10 #nominalCurrentValue:I
  5790. .end local v18 #steps:I
  5791. :cond_c6
  5792. if-eqz v11, :cond_d2
  5793.  
  5794. .line 1942
  5795. const/16 v19, 0x0
  5796.  
  5797. move-object/from16 v0, p0
  5798.  
  5799. move v1, v11
  5800.  
  5801. move/from16 v2, v19
  5802.  
  5803. invoke-direct {v0, v1, v2}, Lcom/android/server/PowerManagerService;->setLightBrightness(II)V
  5804.  
  5805. .line 1944
  5806. :cond_d2
  5807. if-eqz v7, :cond_ea
  5808.  
  5809. .line 1945
  5810. const/16 v5, 0x14
  5811.  
  5812. .line 1946
  5813. .restart local v5 #brightness:I
  5814. and-int/lit8 v19, p1, 0x10
  5815.  
  5816. if-eqz v19, :cond_e3
  5817.  
  5818. const/16 v19, 0xa
  5819.  
  5820. move v0, v5
  5821.  
  5822. move/from16 v1, v19
  5823.  
  5824. if-le v0, v1, :cond_e3
  5825.  
  5826. .line 1948
  5827. const/16 v5, 0xa
  5828.  
  5829. .line 1951
  5830. :cond_e3
  5831. move-object/from16 v0, p0
  5832.  
  5833. move v1, v7
  5834.  
  5835. move v2, v5
  5836.  
  5837. invoke-direct {v0, v1, v2}, Lcom/android/server/PowerManagerService;->setLightBrightness(II)V
  5838.  
  5839. .line 1953
  5840. .end local v5 #brightness:I
  5841. :cond_ea
  5842. if-eqz v13, :cond_b
  5843.  
  5844. .line 1954
  5845. invoke-direct/range {p0 .. p0}, Lcom/android/server/PowerManagerService;->getPreferredBrightness()I
  5846.  
  5847. move-result v5
  5848.  
  5849. .line 1955
  5850. .restart local v5 #brightness:I
  5851. and-int/lit8 v19, p1, 0x10
  5852.  
  5853. if-eqz v19, :cond_fd
  5854.  
  5855. const/16 v19, 0xa
  5856.  
  5857. move v0, v5
  5858.  
  5859. move/from16 v1, v19
  5860.  
  5861. if-le v0, v1, :cond_fd
  5862.  
  5863. .line 1957
  5864. const/16 v5, 0xa
  5865.  
  5866. .line 1960
  5867. :cond_fd
  5868. move-object/from16 v0, p0
  5869.  
  5870. move v1, v13
  5871.  
  5872. move v2, v5
  5873.  
  5874. invoke-direct {v0, v1, v2}, Lcom/android/server/PowerManagerService;->setLightBrightness(II)V
  5875.  
  5876. goto/16 :goto_b
  5877.  
  5878. .line 1844
  5879. .end local v5 #brightness:I
  5880. :cond_106
  5881. or-int/lit8 v13, v13, 0x8
  5882.  
  5883. goto/16 :goto_54
  5884.  
  5885. .line 1852
  5886. :cond_10a
  5887. or-int/lit8 v13, v13, 0x4
  5888.  
  5889. goto/16 :goto_5e
  5890.  
  5891. .line 1866
  5892. .restart local v10 #nominalCurrentValue:I
  5893. :pswitch_10e
  5894. move v10, v14
  5895.  
  5896. .line 1867
  5897. goto/16 :goto_7c
  5898.  
  5899. .line 1869
  5900. :pswitch_111
  5901. const/16 v10, 0x14
  5902.  
  5903. .line 1870
  5904. goto/16 :goto_7c
  5905.  
  5906. .line 1872
  5907. :pswitch_115
  5908. const/4 v10, 0x0
  5909.  
  5910. .line 1873
  5911. goto/16 :goto_7c
  5912.  
  5913. .line 1896
  5914. .restart local v5 #brightness:I
  5915. .restart local v15 #ratio:F
  5916. .restart local v17 #scale:F
  5917. .restart local v18 #steps:I
  5918. :cond_118
  5919. const/high16 v19, 0x4120
  5920.  
  5921. mul-float v19, v19, v15
  5922.  
  5923. const/high16 v20, 0x3fc0
  5924.  
  5925. mul-float v19, v19, v20
  5926.  
  5927. move/from16 v0, v19
  5928.  
  5929. float-to-int v0, v0
  5930.  
  5931. move/from16 v18, v0
  5932.  
  5933. goto/16 :goto_9f
  5934.  
  5935. .line 1900
  5936. :cond_127
  5937. and-int/lit8 v19, v12, 0x1
  5938.  
  5939. if-eqz v19, :cond_164
  5940.  
  5941. .line 1902
  5942. const/high16 v19, 0x4120
  5943.  
  5944. const/high16 v20, 0x3f80
  5945.  
  5946. sub-float v20, v20, v15
  5947.  
  5948. mul-float v19, v19, v20
  5949.  
  5950. const/high16 v20, 0x3fc0
  5951.  
  5952. mul-float v19, v19, v20
  5953.  
  5954. move/from16 v0, v19
  5955.  
  5956. float-to-int v0, v0
  5957.  
  5958. move/from16 v18, v0
  5959.  
  5960. .line 1907
  5961. :goto_13c
  5962. move-object/from16 v0, p0
  5963.  
  5964. iget v0, v0, Lcom/android/server/PowerManagerService;->mStayOnConditions:I
  5965.  
  5966. move/from16 v19, v0
  5967.  
  5968. if-eqz v19, :cond_160
  5969.  
  5970. move-object/from16 v0, p0
  5971.  
  5972. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mBatteryService:Lcom/android/server/BatteryService;
  5973.  
  5974. move-object/from16 v19, v0
  5975.  
  5976. move-object/from16 v0, p0
  5977.  
  5978. iget v0, v0, Lcom/android/server/PowerManagerService;->mStayOnConditions:I
  5979.  
  5980. move/from16 v20, v0
  5981.  
  5982. invoke-virtual/range {v19 .. v20}, Lcom/android/server/BatteryService;->isPowered(I)Z
  5983.  
  5984. move-result v19
  5985.  
  5986. if-eqz v19, :cond_160
  5987.  
  5988. .line 1913
  5989. invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
  5990.  
  5991. move-result-wide v19
  5992.  
  5993. move-wide/from16 v0, v19
  5994.  
  5995. move-object/from16 v2, p0
  5996.  
  5997. iput-wide v0, v2, Lcom/android/server/PowerManagerService;->mScreenOffTime:J
  5998.  
  5999. .line 1915
  6000. :cond_160
  6001. const/16 v5, 0x14
  6002.  
  6003. goto/16 :goto_a0
  6004.  
  6005. .line 1905
  6006. :cond_164
  6007. const/high16 v19, 0x4120
  6008.  
  6009. mul-float v19, v19, v15
  6010.  
  6011. move/from16 v0, v19
  6012.  
  6013. float-to-int v0, v0
  6014.  
  6015. move/from16 v18, v0
  6016.  
  6017. goto :goto_13c
  6018.  
  6019. .line 1924
  6020. .end local v15 #ratio:F
  6021. .end local v17 #scale:F
  6022. .restart local v8 #identity:J
  6023. :catchall_16e
  6024. move-exception v19
  6025.  
  6026. invoke-static {v8, v9}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  6027.  
  6028. throw v19
  6029.  
  6030. .line 1921
  6031. :catch_173
  6032. move-exception v19
  6033.  
  6034. goto/16 :goto_b0
  6035.  
  6036. .line 1864
  6037. :pswitch_data_176
  6038. .packed-switch 0x0
  6039. :pswitch_115
  6040. :pswitch_111
  6041. :pswitch_6c
  6042. :pswitch_10e
  6043. .end packed-switch
  6044. .end method
  6045.  
  6046. .method private updateNativePowerStateLocked()V
  6047. .registers 6
  6048.  
  6049. .prologue
  6050. const/4 v4, 0x1
  6051.  
  6052. const/4 v3, 0x0
  6053.  
  6054. .line 1791
  6055. iget v0, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  6056.  
  6057. and-int/lit8 v0, v0, 0x1
  6058.  
  6059. if-eqz v0, :cond_15
  6060.  
  6061. move v0, v4
  6062.  
  6063. :goto_9
  6064. iget v1, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  6065.  
  6066. and-int/lit8 v1, v1, 0x3
  6067.  
  6068. const/4 v2, 0x3
  6069.  
  6070. if-ne v1, v2, :cond_17
  6071.  
  6072. move v1, v4
  6073.  
  6074. :goto_11
  6075. invoke-direct {p0, v0, v1}, Lcom/android/server/PowerManagerService;->nativeSetPowerState(ZZ)V
  6076.  
  6077. .line 1794
  6078. return-void
  6079.  
  6080. :cond_15
  6081. move v0, v3
  6082.  
  6083. .line 1791
  6084. goto :goto_9
  6085.  
  6086. :cond_17
  6087. move v1, v3
  6088.  
  6089. goto :goto_11
  6090. .end method
  6091.  
  6092. .method private updateSettingsValues()V
  6093. .registers 4
  6094.  
  6095. .prologue
  6096. .line 2677
  6097. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  6098.  
  6099. invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
  6100.  
  6101. move-result-object v0
  6102.  
  6103. const-string v1, "short_keylight_delay_ms"
  6104.  
  6105. const/16 v2, 0xbb8
  6106.  
  6107. invoke-static {v0, v1, v2}, Landroid/provider/Settings$Secure;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
  6108.  
  6109. move-result v0
  6110.  
  6111. iput v0, p0, Lcom/android/server/PowerManagerService;->mShortKeylightDelay:I
  6112.  
  6113. .line 2682
  6114. return-void
  6115. .end method
  6116.  
  6117. .method private updateWakeLockLocked()V
  6118. .registers 3
  6119.  
  6120. .prologue
  6121. .line 697
  6122. iget v0, p0, Lcom/android/server/PowerManagerService;->mStayOnConditions:I
  6123.  
  6124. if-eqz v0, :cond_19
  6125.  
  6126. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mBatteryService:Lcom/android/server/BatteryService;
  6127.  
  6128. iget v1, p0, Lcom/android/server/PowerManagerService;->mStayOnConditions:I
  6129.  
  6130. invoke-virtual {v0, v1}, Lcom/android/server/BatteryService;->isPowered(I)Z
  6131.  
  6132. move-result v0
  6133.  
  6134. if-eqz v0, :cond_19
  6135.  
  6136. .line 699
  6137. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mStayOnWhilePluggedInScreenDimLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  6138.  
  6139. invoke-virtual {v0}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->acquire()V
  6140.  
  6141. .line 700
  6142. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mStayOnWhilePluggedInPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  6143.  
  6144. invoke-virtual {v0}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->acquire()V
  6145.  
  6146. .line 705
  6147. :goto_18
  6148. return-void
  6149.  
  6150. .line 702
  6151. :cond_19
  6152. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mStayOnWhilePluggedInScreenDimLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  6153.  
  6154. invoke-virtual {v0}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->release()V
  6155.  
  6156. .line 703
  6157. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mStayOnWhilePluggedInPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  6158.  
  6159. invoke-virtual {v0}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->release()V
  6160.  
  6161. goto :goto_18
  6162. .end method
  6163.  
  6164. .method private userActivity(JJZIZ)V
  6165. .registers 22
  6166. .parameter "time"
  6167. .parameter "timeoutOverride"
  6168. .parameter "noChangeLights"
  6169. .parameter "eventType"
  6170. .parameter "force"
  6171.  
  6172. .prologue
  6173. .line 2244
  6174. iget v4, p0, Lcom/android/server/PowerManagerService;->mPokey:I
  6175.  
  6176. and-int/lit8 v4, v4, 0x1
  6177.  
  6178. if-eqz v4, :cond_13
  6179.  
  6180. const/4 v4, 0x1
  6181.  
  6182. move/from16 v0, p6
  6183.  
  6184. move v1, v4
  6185.  
  6186. if-eq v0, v1, :cond_12
  6187.  
  6188. const/4 v4, 0x2
  6189.  
  6190. move/from16 v0, p6
  6191.  
  6192. move v1, v4
  6193.  
  6194. if-ne v0, v1, :cond_13
  6195.  
  6196. .line 2323
  6197. :cond_12
  6198. :goto_12
  6199. return-void
  6200.  
  6201. .line 2252
  6202. :cond_13
  6203. iget v4, p0, Lcom/android/server/PowerManagerService;->mPokey:I
  6204.  
  6205. and-int/lit8 v4, v4, 0x8
  6206.  
  6207. if-eqz v4, :cond_31
  6208.  
  6209. const/4 v4, 0x2
  6210.  
  6211. move/from16 v0, p6
  6212.  
  6213. move v1, v4
  6214.  
  6215. if-eq v0, v1, :cond_12
  6216.  
  6217. const/4 v4, 0x4
  6218.  
  6219. move/from16 v0, p6
  6220.  
  6221. move v1, v4
  6222.  
  6223. if-eq v0, v1, :cond_12
  6224.  
  6225. const/4 v4, 0x3
  6226.  
  6227. move/from16 v0, p6
  6228.  
  6229. move v1, v4
  6230.  
  6231. if-eq v0, v1, :cond_12
  6232.  
  6233. const/4 v4, 0x1
  6234.  
  6235. move/from16 v0, p6
  6236.  
  6237. move v1, v4
  6238.  
  6239. if-eq v0, v1, :cond_12
  6240.  
  6241. .line 2269
  6242. :cond_31
  6243. iget-object v13, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  6244.  
  6245. monitor-enter v13
  6246.  
  6247. .line 2280
  6248. :try_start_34
  6249. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->isScreenTurningOffLocked()Z
  6250.  
  6251. move-result v4
  6252.  
  6253. if-eqz v4, :cond_46
  6254.  
  6255. .line 2281
  6256. const-string v4, "PowerManagerService"
  6257.  
  6258. const-string v5, "ignoring user activity while turning off screen"
  6259.  
  6260. invoke-static {v4, v5}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  6261.  
  6262. .line 2282
  6263. monitor-exit v13
  6264.  
  6265. goto :goto_12
  6266.  
  6267. .line 2318
  6268. :catchall_43
  6269. move-exception v4
  6270.  
  6271. monitor-exit v13
  6272. :try_end_45
  6273. .catchall {:try_start_34 .. :try_end_45} :catchall_43
  6274.  
  6275. throw v4
  6276.  
  6277. .line 2286
  6278. :cond_46
  6279. :try_start_46
  6280. iget-boolean v4, p0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  6281.  
  6282. if-eqz v4, :cond_51
  6283.  
  6284. iget v4, p0, Lcom/android/server/PowerManagerService;->mProximityWakeLockCount:I
  6285.  
  6286. if-nez v4, :cond_51
  6287.  
  6288. .line 2287
  6289. const/4 v4, 0x0
  6290.  
  6291. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  6292.  
  6293. .line 2289
  6294. :cond_51
  6295. iget-wide v4, p0, Lcom/android/server/PowerManagerService;->mLastEventTime:J
  6296.  
  6297. cmp-long v4, v4, p1
  6298.  
  6299. if-lez v4, :cond_59
  6300.  
  6301. if-eqz p7, :cond_a9
  6302.  
  6303. .line 2290
  6304. :cond_59
  6305. iput-wide p1, p0, Lcom/android/server/PowerManagerService;->mLastEventTime:J
  6306.  
  6307. .line 2291
  6308. iget-boolean v4, p0, Lcom/android/server/PowerManagerService;->mUserActivityAllowed:Z
  6309.  
  6310. if-eqz v4, :cond_63
  6311.  
  6312. iget-boolean v4, p0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  6313.  
  6314. if-eqz v4, :cond_65
  6315.  
  6316. :cond_63
  6317. if-eqz p7, :cond_a9
  6318.  
  6319. .line 2294
  6320. :cond_65
  6321. const/4 v4, 0x5
  6322.  
  6323. move/from16 v0, p6
  6324.  
  6325. move v1, v4
  6326.  
  6327. if-ne v0, v1, :cond_b7
  6328.  
  6329. .line 2295
  6330. iget-boolean v4, p0, Lcom/android/server/PowerManagerService;->mKeyboardVisible:Z
  6331.  
  6332. if-eqz v4, :cond_b5
  6333.  
  6334. const/16 v4, 0xf
  6335.  
  6336. :goto_71
  6337. iput v4, p0, Lcom/android/server/PowerManagerService;->mUserState:I
  6338.  
  6339. .line 2301
  6340. :goto_73
  6341. invoke-static {}, Landroid/os/Binder;->getCallingUid()I
  6342.  
  6343. move-result v12
  6344.  
  6345. .line 2302
  6346. .local v12, uid:I
  6347. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  6348. :try_end_7a
  6349. .catchall {:try_start_46 .. :try_end_7a} :catchall_43
  6350.  
  6351. move-result-wide v10
  6352.  
  6353. .line 2304
  6354. .local v10, ident:J
  6355. :try_start_7b
  6356. iget-object v4, p0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  6357.  
  6358. move-object v0, v4
  6359.  
  6360. move v1, v12
  6361.  
  6362. move/from16 v2, p6
  6363.  
  6364. invoke-interface {v0, v1, v2}, Lcom/android/internal/app/IBatteryStats;->noteUserActivity(II)V
  6365. :try_end_84
  6366. .catchall {:try_start_7b .. :try_end_84} :catchall_be
  6367. .catch Landroid/os/RemoteException; {:try_start_7b .. :try_end_84} :catch_c3
  6368.  
  6369. .line 2308
  6370. :try_start_84
  6371. invoke-static {v10, v11}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  6372.  
  6373. .line 2311
  6374. :goto_87
  6375. iget-object v4, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  6376.  
  6377. invoke-virtual {v4}, Lcom/android/server/PowerManagerService$LockList;->reactivateScreenLocksLocked()I
  6378.  
  6379. move-result v4
  6380.  
  6381. iput v4, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  6382.  
  6383. .line 2312
  6384. const/4 v4, 0x4
  6385.  
  6386. invoke-direct {p0, v4}, Lcom/android/server/PowerManagerService;->printCurLock(I)V
  6387.  
  6388. .line 2313
  6389. iget v4, p0, Lcom/android/server/PowerManagerService;->mUserState:I
  6390.  
  6391. iget v5, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  6392.  
  6393. or-int/2addr v4, v5
  6394.  
  6395. const/4 v5, 0x2
  6396.  
  6397. move-object v0, p0
  6398.  
  6399. move v1, v4
  6400.  
  6401. move/from16 v2, p5
  6402.  
  6403. move v3, v5
  6404.  
  6405. invoke-direct {v0, v1, v2, v3}, Lcom/android/server/PowerManagerService;->setPowerState(IZI)V
  6406.  
  6407. .line 2315
  6408. const/4 v9, 0x3
  6409.  
  6410. move-object v4, p0
  6411.  
  6412. move-wide v5, p1
  6413.  
  6414. move-wide/from16 v7, p3
  6415.  
  6416. invoke-direct/range {v4 .. v9}, Lcom/android/server/PowerManagerService;->setTimeoutLocked(JJI)V
  6417.  
  6418. .line 2318
  6419. .end local v10 #ident:J
  6420. .end local v12 #uid:I
  6421. :cond_a9
  6422. monitor-exit v13
  6423. :try_end_aa
  6424. .catchall {:try_start_84 .. :try_end_aa} :catchall_43
  6425.  
  6426. .line 2320
  6427. iget-object v4, p0, Lcom/android/server/PowerManagerService;->mPolicy:Landroid/view/WindowManagerPolicy;
  6428.  
  6429. if-eqz v4, :cond_12
  6430.  
  6431. .line 2321
  6432. iget-object v4, p0, Lcom/android/server/PowerManagerService;->mPolicy:Landroid/view/WindowManagerPolicy;
  6433.  
  6434. invoke-interface {v4}, Landroid/view/WindowManagerPolicy;->userActivity()V
  6435.  
  6436. goto/16 :goto_12
  6437.  
  6438. .line 2295
  6439. :cond_b5
  6440. const/4 v4, 0x7
  6441.  
  6442. goto :goto_71
  6443.  
  6444. .line 2298
  6445. :cond_b7
  6446. :try_start_b7
  6447. iget v4, p0, Lcom/android/server/PowerManagerService;->mUserState:I
  6448.  
  6449. or-int/lit8 v4, v4, 0x3
  6450.  
  6451. iput v4, p0, Lcom/android/server/PowerManagerService;->mUserState:I
  6452.  
  6453. goto :goto_73
  6454.  
  6455. .line 2308
  6456. .restart local v10 #ident:J
  6457. .restart local v12 #uid:I
  6458. :catchall_be
  6459. move-exception v4
  6460.  
  6461. invoke-static {v10, v11}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  6462.  
  6463. throw v4
  6464.  
  6465. .line 2305
  6466. :catch_c3
  6467. move-exception v4
  6468.  
  6469. .line 2308
  6470. invoke-static {v10, v11}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  6471. :try_end_c7
  6472. .catchall {:try_start_b7 .. :try_end_c7} :catchall_43
  6473.  
  6474. goto :goto_87
  6475. .end method
  6476.  
  6477.  
  6478. # virtual methods
  6479. .method public acquireDVFSlock(II)I
  6480. .registers 6
  6481. .parameter "level"
  6482. .parameter "timeMS"
  6483.  
  6484. .prologue
  6485. .line 3136
  6486. const-string v0, "PowerManagerService"
  6487.  
  6488. new-instance v1, Ljava/lang/StringBuilder;
  6489.  
  6490. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  6491.  
  6492. const-string v2, "acquireDVFSlock : level : "
  6493.  
  6494. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6495.  
  6496. move-result-object v1
  6497.  
  6498. invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  6499.  
  6500. move-result-object v1
  6501.  
  6502. const-string v2, ", timeMS : "
  6503.  
  6504. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6505.  
  6506. move-result-object v1
  6507.  
  6508. invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  6509.  
  6510. move-result-object v1
  6511.  
  6512. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  6513.  
  6514. move-result-object v1
  6515.  
  6516. invoke-static {v0, v1}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  6517.  
  6518. .line 3137
  6519. invoke-static {p1, p2}, Landroid/os/Power;->acquireDVFSlock(II)I
  6520.  
  6521. move-result v0
  6522.  
  6523. return v0
  6524. .end method
  6525.  
  6526. .method public acquireWakeLock(ILandroid/os/IBinder;Ljava/lang/String;Landroid/os/WorkSource;)V
  6527. .registers 15
  6528. .parameter "flags"
  6529. .parameter "lock"
  6530. .parameter "tag"
  6531. .parameter "ws"
  6532.  
  6533. .prologue
  6534. .line 725
  6535. invoke-static {}, Landroid/os/Binder;->getCallingUid()I
  6536.  
  6537. move-result v3
  6538.  
  6539. .line 726
  6540. .local v3, uid:I
  6541. invoke-static {}, Landroid/os/Binder;->getCallingPid()I
  6542.  
  6543. move-result v4
  6544.  
  6545. .line 727
  6546. .local v4, pid:I
  6547. invoke-static {}, Landroid/os/Process;->myUid()I
  6548.  
  6549. move-result v0
  6550.  
  6551. if-eq v3, v0, :cond_16
  6552.  
  6553. .line 728
  6554. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  6555.  
  6556. const-string v1, "android.permission.WAKE_LOCK"
  6557.  
  6558. const/4 v2, 0x0
  6559.  
  6560. invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  6561.  
  6562. .line 730
  6563. :cond_16
  6564. if-eqz p4, :cond_1b
  6565.  
  6566. .line 731
  6567. invoke-virtual {p0, v3, v4}, Lcom/android/server/PowerManagerService;->enforceWakeSourcePermission(II)V
  6568.  
  6569. .line 733
  6570. :cond_1b
  6571. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  6572.  
  6573. move-result-wide v7
  6574.  
  6575. .line 735
  6576. .local v7, ident:J
  6577. :try_start_1f
  6578. iget-object v9, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  6579.  
  6580. monitor-enter v9
  6581. :try_end_22
  6582. .catchall {:try_start_1f .. :try_end_22} :catchall_32
  6583.  
  6584. move-object v0, p0
  6585.  
  6586. move v1, p1
  6587.  
  6588. move-object v2, p2
  6589.  
  6590. move-object v5, p3
  6591.  
  6592. move-object v6, p4
  6593.  
  6594. .line 736
  6595. :try_start_27
  6596. invoke-virtual/range {v0 .. v6}, Lcom/android/server/PowerManagerService;->acquireWakeLockLocked(ILandroid/os/IBinder;IILjava/lang/String;Landroid/os/WorkSource;)V
  6597.  
  6598. .line 737
  6599. monitor-exit v9
  6600. :try_end_2b
  6601. .catchall {:try_start_27 .. :try_end_2b} :catchall_2f
  6602.  
  6603. .line 739
  6604. invoke-static {v7, v8}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  6605.  
  6606. .line 741
  6607. return-void
  6608.  
  6609. .line 737
  6610. :catchall_2f
  6611. move-exception v0
  6612.  
  6613. :try_start_30
  6614. monitor-exit v9
  6615. :try_end_31
  6616. .catchall {:try_start_30 .. :try_end_31} :catchall_2f
  6617.  
  6618. :try_start_31
  6619. throw v0
  6620. :try_end_32
  6621. .catchall {:try_start_31 .. :try_end_32} :catchall_32
  6622.  
  6623. .line 739
  6624. :catchall_32
  6625. move-exception v0
  6626.  
  6627. invoke-static {v7, v8}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  6628.  
  6629. throw v0
  6630. .end method
  6631.  
  6632. .method public acquireWakeLockLocked(ILandroid/os/IBinder;IILjava/lang/String;Landroid/os/WorkSource;)V
  6633. .registers 22
  6634. .parameter "flags"
  6635. .parameter "lock"
  6636. .parameter "uid"
  6637. .parameter "pid"
  6638. .parameter "tag"
  6639. .parameter "ws"
  6640.  
  6641. .prologue
  6642. .line 785
  6643. if-eqz p6, :cond_a
  6644.  
  6645. invoke-virtual/range {p6 .. p6}, Landroid/os/WorkSource;->size()I
  6646.  
  6647. move-result v4
  6648.  
  6649. if-nez v4, :cond_a
  6650.  
  6651. .line 786
  6652. const/16 p6, 0x0
  6653.  
  6654. .line 789
  6655. :cond_a
  6656. iget-object v4, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  6657.  
  6658. move-object v0, v4
  6659.  
  6660. move-object/from16 v1, p2
  6661.  
  6662. invoke-virtual {v0, v1}, Lcom/android/server/PowerManagerService$LockList;->getIndex(Landroid/os/IBinder;)I
  6663.  
  6664. move-result v11
  6665.  
  6666. .line 794
  6667. .local v11, index:I
  6668. if-gez v11, :cond_ba
  6669.  
  6670. .line 795
  6671. new-instance v3, Lcom/android/server/PowerManagerService$WakeLock;
  6672.  
  6673. move-object v4, p0
  6674.  
  6675. move/from16 v5, p1
  6676.  
  6677. move-object/from16 v6, p2
  6678.  
  6679. move-object/from16 v7, p5
  6680.  
  6681. move/from16 v8, p3
  6682.  
  6683. move/from16 v9, p4
  6684.  
  6685. invoke-direct/range {v3 .. v9}, Lcom/android/server/PowerManagerService$WakeLock;-><init>(Lcom/android/server/PowerManagerService;ILandroid/os/IBinder;Ljava/lang/String;II)V
  6686.  
  6687. .line 796
  6688. .local v3, wl:Lcom/android/server/PowerManagerService$WakeLock;
  6689. iget v4, v3, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  6690.  
  6691. and-int/lit8 v4, v4, 0x3f
  6692.  
  6693. sparse-switch v4, :sswitch_data_12c
  6694.  
  6695. .line 817
  6696. const-string v4, "PowerManagerService"
  6697.  
  6698. new-instance v5, Ljava/lang/StringBuilder;
  6699.  
  6700. invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
  6701.  
  6702. const-string v6, "bad wakelock type for lock \'"
  6703.  
  6704. invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6705.  
  6706. move-result-object v5
  6707.  
  6708. move-object v0, v5
  6709.  
  6710. move-object/from16 v1, p5
  6711.  
  6712. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6713.  
  6714. move-result-object v5
  6715.  
  6716. const-string v6, "\' "
  6717.  
  6718. invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6719.  
  6720. move-result-object v5
  6721.  
  6722. const-string v6, " flags="
  6723.  
  6724. invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6725.  
  6726. move-result-object v5
  6727.  
  6728. move-object v0, v5
  6729.  
  6730. move/from16 v1, p1
  6731.  
  6732. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  6733.  
  6734. move-result-object v5
  6735.  
  6736. invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  6737.  
  6738. move-result-object v5
  6739.  
  6740. invoke-static {v4, v5}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
  6741.  
  6742. .line 900
  6743. :cond_5a
  6744. :goto_5a
  6745. return-void
  6746.  
  6747. .line 799
  6748. :sswitch_5b
  6749. iget-boolean v4, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  6750.  
  6751. if-eqz v4, :cond_a7
  6752.  
  6753. .line 800
  6754. const/4 v4, 0x3
  6755.  
  6756. iput v4, v3, Lcom/android/server/PowerManagerService$WakeLock;->minState:I
  6757.  
  6758. .line 821
  6759. :goto_62
  6760. :sswitch_62
  6761. iget-object v4, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  6762.  
  6763. invoke-virtual {v4, v3}, Lcom/android/server/PowerManagerService$LockList;->addLock(Lcom/android/server/PowerManagerService$WakeLock;)V
  6764.  
  6765. .line 822
  6766. if-eqz p6, :cond_73
  6767.  
  6768. .line 823
  6769. new-instance v4, Landroid/os/WorkSource;
  6770.  
  6771. move-object v0, v4
  6772.  
  6773. move-object/from16 v1, p6
  6774.  
  6775. invoke-direct {v0, v1}, Landroid/os/WorkSource;-><init>(Landroid/os/WorkSource;)V
  6776.  
  6777. iput-object v4, v3, Lcom/android/server/PowerManagerService$WakeLock;->ws:Landroid/os/WorkSource;
  6778.  
  6779. .line 825
  6780. :cond_73
  6781. const/4 v12, 0x1
  6782.  
  6783. .line 826
  6784. .local v12, newlock:Z
  6785. const/4 v10, 0x0
  6786.  
  6787. .line 827
  6788. .local v10, diffsource:Z
  6789. const/4 v14, 0x0
  6790.  
  6791. .line 848
  6792. .local v14, oldsource:Landroid/os/WorkSource;
  6793. :cond_76
  6794. :goto_76
  6795. invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
  6796.  
  6797. move-result-wide v4
  6798.  
  6799. iput-wide v4, v3, Lcom/android/server/PowerManagerService$WakeLock;->acqTime:J
  6800.  
  6801. .line 849
  6802. invoke-direct/range {p0 .. p1}, Lcom/android/server/PowerManagerService;->isScreenLock(I)Z
  6803.  
  6804. move-result v4
  6805.  
  6806. if-eqz v4, :cond_111
  6807.  
  6808. .line 854
  6809. and-int/lit8 v4, p1, 0x3f
  6810.  
  6811. const/16 v5, 0x20
  6812.  
  6813. if-ne v4, v5, :cond_e8
  6814.  
  6815. .line 855
  6816. iget v4, p0, Lcom/android/server/PowerManagerService;->mProximityWakeLockCount:I
  6817.  
  6818. add-int/lit8 v4, v4, 0x1
  6819.  
  6820. iput v4, p0, Lcom/android/server/PowerManagerService;->mProximityWakeLockCount:I
  6821.  
  6822. .line 856
  6823. iget v4, p0, Lcom/android/server/PowerManagerService;->mProximityWakeLockCount:I
  6824.  
  6825. const/4 v5, 0x1
  6826.  
  6827. if-ne v4, v5, :cond_96
  6828.  
  6829. .line 857
  6830. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->enableProximityLockLocked()V
  6831.  
  6832. .line 892
  6833. :cond_96
  6834. :goto_96
  6835. if-eqz v10, :cond_9b
  6836.  
  6837. .line 895
  6838. invoke-virtual {p0, v3, v14}, Lcom/android/server/PowerManagerService;->noteStopWakeLocked(Lcom/android/server/PowerManagerService$WakeLock;Landroid/os/WorkSource;)V
  6839.  
  6840. .line 897
  6841. :cond_9b
  6842. if-nez v12, :cond_9f
  6843.  
  6844. if-eqz v10, :cond_5a
  6845.  
  6846. .line 898
  6847. :cond_9f
  6848. move-object v0, p0
  6849.  
  6850. move-object v1, v3
  6851.  
  6852. move-object/from16 v2, p6
  6853.  
  6854. invoke-virtual {v0, v1, v2}, Lcom/android/server/PowerManagerService;->noteStartWakeLocked(Lcom/android/server/PowerManagerService$WakeLock;Landroid/os/WorkSource;)V
  6855.  
  6856. goto :goto_5a
  6857.  
  6858. .line 802
  6859. .end local v10 #diffsource:Z
  6860. .end local v12 #newlock:Z
  6861. .end local v14 #oldsource:Landroid/os/WorkSource;
  6862. :cond_a7
  6863. iget-boolean v4, p0, Lcom/android/server/PowerManagerService;->mKeyboardVisible:Z
  6864.  
  6865. if-eqz v4, :cond_b0
  6866.  
  6867. const/16 v4, 0xf
  6868.  
  6869. :goto_ad
  6870. iput v4, v3, Lcom/android/server/PowerManagerService$WakeLock;->minState:I
  6871.  
  6872. goto :goto_62
  6873.  
  6874. :cond_b0
  6875. const/4 v4, 0x7
  6876.  
  6877. goto :goto_ad
  6878.  
  6879. .line 806
  6880. :sswitch_b2
  6881. const/4 v4, 0x3
  6882.  
  6883. iput v4, v3, Lcom/android/server/PowerManagerService$WakeLock;->minState:I
  6884.  
  6885. goto :goto_62
  6886.  
  6887. .line 809
  6888. :sswitch_b6
  6889. const/4 v4, 0x1
  6890.  
  6891. iput v4, v3, Lcom/android/server/PowerManagerService$WakeLock;->minState:I
  6892.  
  6893. goto :goto_62
  6894.  
  6895. .line 829
  6896. .end local v3 #wl:Lcom/android/server/PowerManagerService$WakeLock;
  6897. :cond_ba
  6898. iget-object v4, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  6899.  
  6900. invoke-virtual {v4, v11}, Lcom/android/server/PowerManagerService$LockList;->get(I)Ljava/lang/Object;
  6901.  
  6902. move-result-object v3
  6903.  
  6904. check-cast v3, Lcom/android/server/PowerManagerService$WakeLock;
  6905.  
  6906. .line 830
  6907. .restart local v3 #wl:Lcom/android/server/PowerManagerService$WakeLock;
  6908. const/4 v12, 0x0
  6909.  
  6910. .line 831
  6911. .restart local v12 #newlock:Z
  6912. iget-object v14, v3, Lcom/android/server/PowerManagerService$WakeLock;->ws:Landroid/os/WorkSource;
  6913.  
  6914. .line 832
  6915. .restart local v14 #oldsource:Landroid/os/WorkSource;
  6916. if-eqz v14, :cond_e2
  6917.  
  6918. .line 833
  6919. if-nez p6, :cond_da
  6920.  
  6921. .line 834
  6922. const/4 v4, 0x0
  6923.  
  6924. iput-object v4, v3, Lcom/android/server/PowerManagerService$WakeLock;->ws:Landroid/os/WorkSource;
  6925.  
  6926. .line 835
  6927. const/4 v10, 0x1
  6928.  
  6929. .line 844
  6930. .restart local v10 #diffsource:Z
  6931. :goto_cd
  6932. if-eqz v10, :cond_76
  6933.  
  6934. .line 845
  6935. new-instance v4, Landroid/os/WorkSource;
  6936.  
  6937. move-object v0, v4
  6938.  
  6939. move-object/from16 v1, p6
  6940.  
  6941. invoke-direct {v0, v1}, Landroid/os/WorkSource;-><init>(Landroid/os/WorkSource;)V
  6942.  
  6943. iput-object v4, v3, Lcom/android/server/PowerManagerService$WakeLock;->ws:Landroid/os/WorkSource;
  6944.  
  6945. goto :goto_76
  6946.  
  6947. .line 837
  6948. .end local v10 #diffsource:Z
  6949. :cond_da
  6950. move-object v0, v14
  6951.  
  6952. move-object/from16 v1, p6
  6953.  
  6954. invoke-virtual {v0, v1}, Landroid/os/WorkSource;->diff(Landroid/os/WorkSource;)Z
  6955.  
  6956. move-result v10
  6957.  
  6958. .restart local v10 #diffsource:Z
  6959. goto :goto_cd
  6960.  
  6961. .line 839
  6962. .end local v10 #diffsource:Z
  6963. :cond_e2
  6964. if-eqz p6, :cond_e6
  6965.  
  6966. .line 840
  6967. const/4 v10, 0x1
  6968.  
  6969. .restart local v10 #diffsource:Z
  6970. goto :goto_cd
  6971.  
  6972. .line 842
  6973. .end local v10 #diffsource:Z
  6974. :cond_e6
  6975. const/4 v10, 0x0
  6976.  
  6977. .restart local v10 #diffsource:Z
  6978. goto :goto_cd
  6979.  
  6980. .line 860
  6981. :cond_e8
  6982. iget v4, v3, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  6983.  
  6984. const/high16 v5, 0x1000
  6985.  
  6986. and-int/2addr v4, v5
  6987.  
  6988. if-eqz v4, :cond_102
  6989.  
  6990. .line 861
  6991. iget v13, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  6992.  
  6993. .line 862
  6994. .local v13, oldWakeLockState:I
  6995. iget-object v4, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  6996.  
  6997. invoke-virtual {v4}, Lcom/android/server/PowerManagerService$LockList;->reactivateScreenLocksLocked()I
  6998.  
  6999. move-result v4
  7000.  
  7001. iput v4, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  7002.  
  7003. .line 879
  7004. .end local v13 #oldWakeLockState:I
  7005. :goto_f9
  7006. iget v4, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  7007.  
  7008. iget v5, p0, Lcom/android/server/PowerManagerService;->mUserState:I
  7009.  
  7010. or-int/2addr v4, v5
  7011.  
  7012. invoke-direct {p0, v4}, Lcom/android/server/PowerManagerService;->setPowerState(I)V
  7013.  
  7014. goto :goto_96
  7015.  
  7016. .line 877
  7017. :cond_102
  7018. iget v4, p0, Lcom/android/server/PowerManagerService;->mUserState:I
  7019.  
  7020. iget v5, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  7021.  
  7022. or-int/2addr v4, v5
  7023.  
  7024. iget-object v5, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  7025.  
  7026. invoke-virtual {v5}, Lcom/android/server/PowerManagerService$LockList;->gatherState()I
  7027.  
  7028. move-result v5
  7029.  
  7030. and-int/2addr v4, v5
  7031.  
  7032. iput v4, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  7033.  
  7034. goto :goto_f9
  7035.  
  7036. .line 882
  7037. :cond_111
  7038. and-int/lit8 v4, p1, 0x3f
  7039.  
  7040. const/4 v5, 0x1
  7041.  
  7042. if-ne v4, v5, :cond_96
  7043.  
  7044. .line 883
  7045. if-eqz v12, :cond_123
  7046.  
  7047. .line 884
  7048. iget v4, p0, Lcom/android/server/PowerManagerService;->mPartialCount:I
  7049.  
  7050. add-int/lit8 v4, v4, 0x1
  7051.  
  7052. iput v4, p0, Lcom/android/server/PowerManagerService;->mPartialCount:I
  7053.  
  7054. .line 885
  7055. iget v4, p0, Lcom/android/server/PowerManagerService;->mPartialCount:I
  7056.  
  7057. const/4 v5, 0x1
  7058.  
  7059. if-ne v4, v5, :cond_123
  7060.  
  7061. .line 889
  7062. :cond_123
  7063. const/4 v4, 0x1
  7064.  
  7065. const-string v5, "PowerManagerService"
  7066.  
  7067. invoke-static {v4, v5}, Landroid/os/Power;->acquireWakeLock(ILjava/lang/String;)V
  7068.  
  7069. goto/16 :goto_96
  7070.  
  7071. .line 796
  7072. nop
  7073.  
  7074. :sswitch_data_12c
  7075. .sparse-switch
  7076. 0x1 -> :sswitch_62
  7077. 0x6 -> :sswitch_b6
  7078. 0xa -> :sswitch_b2
  7079. 0x1a -> :sswitch_5b
  7080. 0x20 -> :sswitch_62
  7081. .end sparse-switch
  7082. .end method
  7083.  
  7084. .method bootCompleted()V
  7085. .registers 8
  7086.  
  7087. .prologue
  7088. .line 2805
  7089. const-string v0, "PowerManagerService"
  7090.  
  7091. const-string v1, "bootCompleted"
  7092.  
  7093. invoke-static {v0, v1}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  7094.  
  7095. .line 2806
  7096. iget-object v6, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  7097.  
  7098. monitor-enter v6
  7099.  
  7100. .line 2807
  7101. const/4 v0, 0x1
  7102.  
  7103. :try_start_b
  7104. iput-boolean v0, p0, Lcom/android/server/PowerManagerService;->mBootCompleted:Z
  7105.  
  7106. .line 2808
  7107. invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
  7108.  
  7109. move-result-wide v1
  7110.  
  7111. const/4 v3, 0x0
  7112.  
  7113. const/4 v4, 0x5
  7114.  
  7115. const/4 v5, 0x1
  7116.  
  7117. move-object v0, p0
  7118.  
  7119. invoke-virtual/range {v0 .. v5}, Lcom/android/server/PowerManagerService;->userActivity(JZIZ)V
  7120.  
  7121. .line 2809
  7122. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->updateWakeLockLocked()V
  7123.  
  7124. .line 2810
  7125. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  7126.  
  7127. invoke-virtual {v0}, Ljava/lang/Object;->notifyAll()V
  7128.  
  7129. .line 2811
  7130. monitor-exit v6
  7131.  
  7132. .line 2812
  7133. return-void
  7134.  
  7135. .line 2811
  7136. :catchall_22
  7137. move-exception v0
  7138.  
  7139. monitor-exit v6
  7140. :try_end_24
  7141. .catchall {:try_start_b .. :try_end_24} :catchall_22
  7142.  
  7143. throw v0
  7144. .end method
  7145.  
  7146. .method public clearUserActivityTimeout(JJ)V
  7147. .registers 13
  7148. .parameter "now"
  7149. .parameter "timeout"
  7150.  
  7151. .prologue
  7152. const/4 v5, 0x0
  7153.  
  7154. .line 2236
  7155. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  7156.  
  7157. const-string v1, "android.permission.DEVICE_POWER"
  7158.  
  7159. const/4 v2, 0x0
  7160.  
  7161. invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  7162.  
  7163. .line 2237
  7164. const-string v0, "PowerManagerService"
  7165.  
  7166. new-instance v1, Ljava/lang/StringBuilder;
  7167.  
  7168. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  7169.  
  7170. const-string v2, "clearUserActivity for "
  7171.  
  7172. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7173.  
  7174. move-result-object v1
  7175.  
  7176. invoke-virtual {v1, p3, p4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  7177.  
  7178. move-result-object v1
  7179.  
  7180. const-string v2, "ms from now"
  7181.  
  7182. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7183.  
  7184. move-result-object v1
  7185.  
  7186. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  7187.  
  7188. move-result-object v1
  7189.  
  7190. invoke-static {v0, v1}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
  7191.  
  7192. move-object v0, p0
  7193.  
  7194. move-wide v1, p1
  7195.  
  7196. move-wide v3, p3
  7197.  
  7198. move v6, v5
  7199.  
  7200. move v7, v5
  7201.  
  7202. .line 2238
  7203. invoke-direct/range {v0 .. v7}, Lcom/android/server/PowerManagerService;->userActivity(JJZIZ)V
  7204.  
  7205. .line 2239
  7206. return-void
  7207. .end method
  7208.  
  7209. .method public crash(Ljava/lang/String;)V
  7210. .registers 7
  7211. .parameter "message"
  7212.  
  7213. .prologue
  7214. .line 2504
  7215. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  7216.  
  7217. const-string v3, "android.permission.REBOOT"
  7218.  
  7219. const/4 v4, 0x0
  7220.  
  7221. invoke-virtual {v2, v3, v4}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  7222.  
  7223. .line 2505
  7224. new-instance v1, Lcom/android/server/PowerManagerService$11;
  7225.  
  7226. const-string v2, "PowerManagerService.crash()"
  7227.  
  7228. invoke-direct {v1, p0, v2, p1}, Lcom/android/server/PowerManagerService$11;-><init>(Lcom/android/server/PowerManagerService;Ljava/lang/String;Ljava/lang/String;)V
  7229.  
  7230. .line 2509
  7231. .local v1, t:Ljava/lang/Thread;
  7232. :try_start_f
  7233. invoke-virtual {v1}, Ljava/lang/Thread;->start()V
  7234.  
  7235. .line 2510
  7236. invoke-virtual {v1}, Ljava/lang/Thread;->join()V
  7237. :try_end_15
  7238. .catch Ljava/lang/InterruptedException; {:try_start_f .. :try_end_15} :catch_16
  7239.  
  7240. .line 2514
  7241. :goto_15
  7242. return-void
  7243.  
  7244. .line 2511
  7245. :catch_16
  7246. move-exception v2
  7247.  
  7248. move-object v0, v2
  7249.  
  7250. .line 2512
  7251. .local v0, e:Ljava/lang/InterruptedException;
  7252. const-string v2, "PowerManagerService"
  7253.  
  7254. invoke-static {v2, v0}, Landroid/util/Log;->wtf(Ljava/lang/String;Ljava/lang/Throwable;)I
  7255.  
  7256. goto :goto_15
  7257. .end method
  7258.  
  7259. .method public dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
  7260. .registers 23
  7261. .parameter "fd"
  7262. .parameter "pw"
  7263. .parameter "args"
  7264.  
  7265. .prologue
  7266. .line 1098
  7267. move-object/from16 v0, p0
  7268.  
  7269. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  7270.  
  7271. move-object v13, v0
  7272.  
  7273. const-string v14, "android.permission.DUMP"
  7274.  
  7275. invoke-virtual {v13, v14}, Landroid/content/Context;->checkCallingOrSelfPermission(Ljava/lang/String;)I
  7276.  
  7277. move-result v13
  7278.  
  7279. if-eqz v13, :cond_39
  7280.  
  7281. .line 1100
  7282. new-instance v13, Ljava/lang/StringBuilder;
  7283.  
  7284. invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
  7285.  
  7286. const-string v14, "Permission Denial: can\'t dump PowerManager from from pid="
  7287.  
  7288. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7289.  
  7290. move-result-object v13
  7291.  
  7292. invoke-static {}, Landroid/os/Binder;->getCallingPid()I
  7293.  
  7294. move-result v14
  7295.  
  7296. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  7297.  
  7298. move-result-object v13
  7299.  
  7300. const-string v14, ", uid="
  7301.  
  7302. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7303.  
  7304. move-result-object v13
  7305.  
  7306. invoke-static {}, Landroid/os/Binder;->getCallingUid()I
  7307.  
  7308. move-result v14
  7309.  
  7310. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  7311.  
  7312. move-result-object v13
  7313.  
  7314. invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  7315.  
  7316. move-result-object v13
  7317.  
  7318. move-object/from16 v0, p2
  7319.  
  7320. move-object v1, v13
  7321.  
  7322. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  7323.  
  7324. .line 1195
  7325. :goto_38
  7326. return-void
  7327.  
  7328. .line 1106
  7329. :cond_39
  7330. invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
  7331.  
  7332. move-result-wide v8
  7333.  
  7334. .line 1108
  7335. .local v8, now:J
  7336. move-object/from16 v0, p0
  7337.  
  7338. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  7339.  
  7340. move-object v13, v0
  7341.  
  7342. monitor-enter v13
  7343.  
  7344. .line 1109
  7345. :try_start_43
  7346. const-string v14, "Power Manager State:"
  7347.  
  7348. move-object/from16 v0, p2
  7349.  
  7350. move-object v1, v14
  7351.  
  7352. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  7353.  
  7354. .line 1110
  7355. new-instance v14, Ljava/lang/StringBuilder;
  7356.  
  7357. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  7358.  
  7359. const-string v15, " mIsPowered="
  7360.  
  7361. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7362.  
  7363. move-result-object v14
  7364.  
  7365. move-object/from16 v0, p0
  7366.  
  7367. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mIsPowered:Z
  7368.  
  7369. move v15, v0
  7370.  
  7371. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  7372.  
  7373. move-result-object v14
  7374.  
  7375. const-string v15, " mPowerState="
  7376.  
  7377. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7378.  
  7379. move-result-object v14
  7380.  
  7381. move-object/from16 v0, p0
  7382.  
  7383. iget v0, v0, Lcom/android/server/PowerManagerService;->mPowerState:I
  7384.  
  7385. move v15, v0
  7386.  
  7387. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  7388.  
  7389. move-result-object v14
  7390.  
  7391. const-string v15, " mScreenOffTime="
  7392.  
  7393. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7394.  
  7395. move-result-object v14
  7396.  
  7397. invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
  7398.  
  7399. move-result-wide v15
  7400.  
  7401. move-object/from16 v0, p0
  7402.  
  7403. iget-wide v0, v0, Lcom/android/server/PowerManagerService;->mScreenOffTime:J
  7404.  
  7405. move-wide/from16 v17, v0
  7406.  
  7407. sub-long v15, v15, v17
  7408.  
  7409. invoke-virtual/range {v14 .. v16}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  7410.  
  7411. move-result-object v14
  7412.  
  7413. const-string v15, " ms"
  7414.  
  7415. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7416.  
  7417. move-result-object v14
  7418.  
  7419. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  7420.  
  7421. move-result-object v14
  7422.  
  7423. move-object/from16 v0, p2
  7424.  
  7425. move-object v1, v14
  7426.  
  7427. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  7428.  
  7429. .line 1114
  7430. new-instance v14, Ljava/lang/StringBuilder;
  7431.  
  7432. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  7433.  
  7434. const-string v15, " mPartialCount="
  7435.  
  7436. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7437.  
  7438. move-result-object v14
  7439.  
  7440. move-object/from16 v0, p0
  7441.  
  7442. iget v0, v0, Lcom/android/server/PowerManagerService;->mPartialCount:I
  7443.  
  7444. move v15, v0
  7445.  
  7446. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  7447.  
  7448. move-result-object v14
  7449.  
  7450. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  7451.  
  7452. move-result-object v14
  7453.  
  7454. move-object/from16 v0, p2
  7455.  
  7456. move-object v1, v14
  7457.  
  7458. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  7459.  
  7460. .line 1115
  7461. new-instance v14, Ljava/lang/StringBuilder;
  7462.  
  7463. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  7464.  
  7465. const-string v15, " mWakeLockState="
  7466.  
  7467. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7468.  
  7469. move-result-object v14
  7470.  
  7471. move-object/from16 v0, p0
  7472.  
  7473. iget v0, v0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  7474.  
  7475. move v15, v0
  7476.  
  7477. invoke-static {v15}, Lcom/android/server/PowerManagerService;->dumpPowerState(I)Ljava/lang/String;
  7478.  
  7479. move-result-object v15
  7480.  
  7481. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7482.  
  7483. move-result-object v14
  7484.  
  7485. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  7486.  
  7487. move-result-object v14
  7488.  
  7489. move-object/from16 v0, p2
  7490.  
  7491. move-object v1, v14
  7492.  
  7493. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  7494.  
  7495. .line 1116
  7496. new-instance v14, Ljava/lang/StringBuilder;
  7497.  
  7498. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  7499.  
  7500. const-string v15, " mUserState="
  7501.  
  7502. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7503.  
  7504. move-result-object v14
  7505.  
  7506. move-object/from16 v0, p0
  7507.  
  7508. iget v0, v0, Lcom/android/server/PowerManagerService;->mUserState:I
  7509.  
  7510. move v15, v0
  7511.  
  7512. invoke-static {v15}, Lcom/android/server/PowerManagerService;->dumpPowerState(I)Ljava/lang/String;
  7513.  
  7514. move-result-object v15
  7515.  
  7516. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7517.  
  7518. move-result-object v14
  7519.  
  7520. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  7521.  
  7522. move-result-object v14
  7523.  
  7524. move-object/from16 v0, p2
  7525.  
  7526. move-object v1, v14
  7527.  
  7528. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  7529.  
  7530. .line 1117
  7531. new-instance v14, Ljava/lang/StringBuilder;
  7532.  
  7533. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  7534.  
  7535. const-string v15, " mPowerState="
  7536.  
  7537. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7538.  
  7539. move-result-object v14
  7540.  
  7541. move-object/from16 v0, p0
  7542.  
  7543. iget v0, v0, Lcom/android/server/PowerManagerService;->mPowerState:I
  7544.  
  7545. move v15, v0
  7546.  
  7547. invoke-static {v15}, Lcom/android/server/PowerManagerService;->dumpPowerState(I)Ljava/lang/String;
  7548.  
  7549. move-result-object v15
  7550.  
  7551. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7552.  
  7553. move-result-object v14
  7554.  
  7555. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  7556.  
  7557. move-result-object v14
  7558.  
  7559. move-object/from16 v0, p2
  7560.  
  7561. move-object v1, v14
  7562.  
  7563. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  7564.  
  7565. .line 1118
  7566. new-instance v14, Ljava/lang/StringBuilder;
  7567.  
  7568. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  7569.  
  7570. const-string v15, " mLocks.gather="
  7571.  
  7572. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7573.  
  7574. move-result-object v14
  7575.  
  7576. move-object/from16 v0, p0
  7577.  
  7578. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  7579.  
  7580. move-object v15, v0
  7581.  
  7582. invoke-virtual {v15}, Lcom/android/server/PowerManagerService$LockList;->gatherState()I
  7583.  
  7584. move-result v15
  7585.  
  7586. invoke-static {v15}, Lcom/android/server/PowerManagerService;->dumpPowerState(I)Ljava/lang/String;
  7587.  
  7588. move-result-object v15
  7589.  
  7590. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7591.  
  7592. move-result-object v14
  7593.  
  7594. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  7595.  
  7596. move-result-object v14
  7597.  
  7598. move-object/from16 v0, p2
  7599.  
  7600. move-object v1, v14
  7601.  
  7602. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  7603.  
  7604. .line 1119
  7605. new-instance v14, Ljava/lang/StringBuilder;
  7606.  
  7607. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  7608.  
  7609. const-string v15, " mNextTimeout="
  7610.  
  7611. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7612.  
  7613. move-result-object v14
  7614.  
  7615. move-object/from16 v0, p0
  7616.  
  7617. iget-wide v0, v0, Lcom/android/server/PowerManagerService;->mNextTimeout:J
  7618.  
  7619. move-wide v15, v0
  7620.  
  7621. invoke-virtual/range {v14 .. v16}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  7622.  
  7623. move-result-object v14
  7624.  
  7625. const-string v15, " now="
  7626.  
  7627. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7628.  
  7629. move-result-object v14
  7630.  
  7631. invoke-virtual {v14, v8, v9}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  7632.  
  7633. move-result-object v14
  7634.  
  7635. const-string v15, " "
  7636.  
  7637. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7638.  
  7639. move-result-object v14
  7640.  
  7641. move-object/from16 v0, p0
  7642.  
  7643. iget-wide v0, v0, Lcom/android/server/PowerManagerService;->mNextTimeout:J
  7644.  
  7645. move-wide v15, v0
  7646.  
  7647. sub-long/2addr v15, v8
  7648.  
  7649. const-wide/16 v17, 0x3e8
  7650.  
  7651. div-long v15, v15, v17
  7652.  
  7653. invoke-virtual/range {v14 .. v16}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  7654.  
  7655. move-result-object v14
  7656.  
  7657. const-string v15, "s from now"
  7658.  
  7659. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7660.  
  7661. move-result-object v14
  7662.  
  7663. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  7664.  
  7665. move-result-object v14
  7666.  
  7667. move-object/from16 v0, p2
  7668.  
  7669. move-object v1, v14
  7670.  
  7671. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  7672.  
  7673. .line 1121
  7674. new-instance v14, Ljava/lang/StringBuilder;
  7675.  
  7676. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  7677.  
  7678. const-string v15, " mDimScreen="
  7679.  
  7680. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7681.  
  7682. move-result-object v14
  7683.  
  7684. move-object/from16 v0, p0
  7685.  
  7686. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mDimScreen:Z
  7687.  
  7688. move v15, v0
  7689.  
  7690. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  7691.  
  7692. move-result-object v14
  7693.  
  7694. const-string v15, " mStayOnConditions="
  7695.  
  7696. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7697.  
  7698. move-result-object v14
  7699.  
  7700. move-object/from16 v0, p0
  7701.  
  7702. iget v0, v0, Lcom/android/server/PowerManagerService;->mStayOnConditions:I
  7703.  
  7704. move v15, v0
  7705.  
  7706. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  7707.  
  7708. move-result-object v14
  7709.  
  7710. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  7711.  
  7712. move-result-object v14
  7713.  
  7714. move-object/from16 v0, p2
  7715.  
  7716. move-object v1, v14
  7717.  
  7718. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  7719.  
  7720. .line 1123
  7721. new-instance v14, Ljava/lang/StringBuilder;
  7722.  
  7723. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  7724.  
  7725. const-string v15, " mScreenOffReason="
  7726.  
  7727. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7728.  
  7729. move-result-object v14
  7730.  
  7731. move-object/from16 v0, p0
  7732.  
  7733. iget v0, v0, Lcom/android/server/PowerManagerService;->mScreenOffReason:I
  7734.  
  7735. move v15, v0
  7736.  
  7737. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  7738.  
  7739. move-result-object v14
  7740.  
  7741. const-string v15, " mUserState="
  7742.  
  7743. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7744.  
  7745. move-result-object v14
  7746.  
  7747. move-object/from16 v0, p0
  7748.  
  7749. iget v0, v0, Lcom/android/server/PowerManagerService;->mUserState:I
  7750.  
  7751. move v15, v0
  7752.  
  7753. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  7754.  
  7755. move-result-object v14
  7756.  
  7757. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  7758.  
  7759. move-result-object v14
  7760.  
  7761. move-object/from16 v0, p2
  7762.  
  7763. move-object v1, v14
  7764.  
  7765. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  7766.  
  7767. .line 1125
  7768. new-instance v14, Ljava/lang/StringBuilder;
  7769.  
  7770. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  7771.  
  7772. const-string v15, " mBroadcastQueue={"
  7773.  
  7774. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7775.  
  7776. move-result-object v14
  7777.  
  7778. move-object/from16 v0, p0
  7779.  
  7780. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mBroadcastQueue:[I
  7781.  
  7782. move-object v15, v0
  7783.  
  7784. const/16 v16, 0x0
  7785.  
  7786. aget v15, v15, v16
  7787.  
  7788. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  7789.  
  7790. move-result-object v14
  7791.  
  7792. const/16 v15, 0x2c
  7793.  
  7794. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
  7795.  
  7796. move-result-object v14
  7797.  
  7798. move-object/from16 v0, p0
  7799.  
  7800. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mBroadcastQueue:[I
  7801.  
  7802. move-object v15, v0
  7803.  
  7804. const/16 v16, 0x1
  7805.  
  7806. aget v15, v15, v16
  7807.  
  7808. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  7809.  
  7810. move-result-object v14
  7811.  
  7812. const/16 v15, 0x2c
  7813.  
  7814. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
  7815.  
  7816. move-result-object v14
  7817.  
  7818. move-object/from16 v0, p0
  7819.  
  7820. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mBroadcastQueue:[I
  7821.  
  7822. move-object v15, v0
  7823.  
  7824. const/16 v16, 0x2
  7825.  
  7826. aget v15, v15, v16
  7827.  
  7828. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  7829.  
  7830. move-result-object v14
  7831.  
  7832. const-string v15, "}"
  7833.  
  7834. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7835.  
  7836. move-result-object v14
  7837.  
  7838. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  7839.  
  7840. move-result-object v14
  7841.  
  7842. move-object/from16 v0, p2
  7843.  
  7844. move-object v1, v14
  7845.  
  7846. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  7847.  
  7848. .line 1127
  7849. new-instance v14, Ljava/lang/StringBuilder;
  7850.  
  7851. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  7852.  
  7853. const-string v15, " mBroadcastWhy={"
  7854.  
  7855. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7856.  
  7857. move-result-object v14
  7858.  
  7859. move-object/from16 v0, p0
  7860.  
  7861. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mBroadcastWhy:[I
  7862.  
  7863. move-object v15, v0
  7864.  
  7865. const/16 v16, 0x0
  7866.  
  7867. aget v15, v15, v16
  7868.  
  7869. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  7870.  
  7871. move-result-object v14
  7872.  
  7873. const/16 v15, 0x2c
  7874.  
  7875. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
  7876.  
  7877. move-result-object v14
  7878.  
  7879. move-object/from16 v0, p0
  7880.  
  7881. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mBroadcastWhy:[I
  7882.  
  7883. move-object v15, v0
  7884.  
  7885. const/16 v16, 0x1
  7886.  
  7887. aget v15, v15, v16
  7888.  
  7889. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  7890.  
  7891. move-result-object v14
  7892.  
  7893. const/16 v15, 0x2c
  7894.  
  7895. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
  7896.  
  7897. move-result-object v14
  7898.  
  7899. move-object/from16 v0, p0
  7900.  
  7901. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mBroadcastWhy:[I
  7902.  
  7903. move-object v15, v0
  7904.  
  7905. const/16 v16, 0x2
  7906.  
  7907. aget v15, v15, v16
  7908.  
  7909. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  7910.  
  7911. move-result-object v14
  7912.  
  7913. const-string v15, "}"
  7914.  
  7915. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7916.  
  7917. move-result-object v14
  7918.  
  7919. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  7920.  
  7921. move-result-object v14
  7922.  
  7923. move-object/from16 v0, p2
  7924.  
  7925. move-object v1, v14
  7926.  
  7927. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  7928.  
  7929. .line 1129
  7930. new-instance v14, Ljava/lang/StringBuilder;
  7931.  
  7932. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  7933.  
  7934. const-string v15, " mPokey="
  7935.  
  7936. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7937.  
  7938. move-result-object v14
  7939.  
  7940. move-object/from16 v0, p0
  7941.  
  7942. iget v0, v0, Lcom/android/server/PowerManagerService;->mPokey:I
  7943.  
  7944. move v15, v0
  7945.  
  7946. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  7947.  
  7948. move-result-object v14
  7949.  
  7950. const-string v15, " mPokeAwakeonSet="
  7951.  
  7952. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7953.  
  7954. move-result-object v14
  7955.  
  7956. move-object/from16 v0, p0
  7957.  
  7958. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mPokeAwakeOnSet:Z
  7959.  
  7960. move v15, v0
  7961.  
  7962. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  7963.  
  7964. move-result-object v14
  7965.  
  7966. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  7967.  
  7968. move-result-object v14
  7969.  
  7970. move-object/from16 v0, p2
  7971.  
  7972. move-object v1, v14
  7973.  
  7974. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  7975.  
  7976. .line 1130
  7977. new-instance v14, Ljava/lang/StringBuilder;
  7978.  
  7979. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  7980.  
  7981. const-string v15, " mKeyboardVisible="
  7982.  
  7983. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7984.  
  7985. move-result-object v14
  7986.  
  7987. move-object/from16 v0, p0
  7988.  
  7989. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mKeyboardVisible:Z
  7990.  
  7991. move v15, v0
  7992.  
  7993. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  7994.  
  7995. move-result-object v14
  7996.  
  7997. const-string v15, " mUserActivityAllowed="
  7998.  
  7999. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8000.  
  8001. move-result-object v14
  8002.  
  8003. move-object/from16 v0, p0
  8004.  
  8005. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mUserActivityAllowed:Z
  8006.  
  8007. move v15, v0
  8008.  
  8009. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  8010.  
  8011. move-result-object v14
  8012.  
  8013. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8014.  
  8015. move-result-object v14
  8016.  
  8017. move-object/from16 v0, p2
  8018.  
  8019. move-object v1, v14
  8020.  
  8021. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  8022.  
  8023. .line 1132
  8024. new-instance v14, Ljava/lang/StringBuilder;
  8025.  
  8026. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  8027.  
  8028. const-string v15, " mKeylightDelay="
  8029.  
  8030. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8031.  
  8032. move-result-object v14
  8033.  
  8034. move-object/from16 v0, p0
  8035.  
  8036. iget v0, v0, Lcom/android/server/PowerManagerService;->mKeylightDelay:I
  8037.  
  8038. move v15, v0
  8039.  
  8040. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  8041.  
  8042. move-result-object v14
  8043.  
  8044. const-string v15, " mDimDelay="
  8045.  
  8046. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8047.  
  8048. move-result-object v14
  8049.  
  8050. move-object/from16 v0, p0
  8051.  
  8052. iget v0, v0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  8053.  
  8054. move v15, v0
  8055.  
  8056. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  8057.  
  8058. move-result-object v14
  8059.  
  8060. const-string v15, " mScreenOffDelay="
  8061.  
  8062. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8063.  
  8064. move-result-object v14
  8065.  
  8066. move-object/from16 v0, p0
  8067.  
  8068. iget v0, v0, Lcom/android/server/PowerManagerService;->mScreenOffDelay:I
  8069.  
  8070. move v15, v0
  8071.  
  8072. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  8073.  
  8074. move-result-object v14
  8075.  
  8076. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8077.  
  8078. move-result-object v14
  8079.  
  8080. move-object/from16 v0, p2
  8081.  
  8082. move-object v1, v14
  8083.  
  8084. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  8085.  
  8086. .line 1134
  8087. new-instance v14, Ljava/lang/StringBuilder;
  8088.  
  8089. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  8090.  
  8091. const-string v15, " mPreventScreenOn="
  8092.  
  8093. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8094.  
  8095. move-result-object v14
  8096.  
  8097. move-object/from16 v0, p0
  8098.  
  8099. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mPreventScreenOn:Z
  8100.  
  8101. move v15, v0
  8102.  
  8103. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  8104.  
  8105. move-result-object v14
  8106.  
  8107. const-string v15, " mScreenBrightnessOverride="
  8108.  
  8109. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8110.  
  8111. move-result-object v14
  8112.  
  8113. move-object/from16 v0, p0
  8114.  
  8115. iget v0, v0, Lcom/android/server/PowerManagerService;->mScreenBrightnessOverride:I
  8116.  
  8117. move v15, v0
  8118.  
  8119. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  8120.  
  8121. move-result-object v14
  8122.  
  8123. const-string v15, " mButtonBrightnessOverride="
  8124.  
  8125. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8126.  
  8127. move-result-object v14
  8128.  
  8129. move-object/from16 v0, p0
  8130.  
  8131. iget v0, v0, Lcom/android/server/PowerManagerService;->mButtonBrightnessOverride:I
  8132.  
  8133. move v15, v0
  8134.  
  8135. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  8136.  
  8137. move-result-object v14
  8138.  
  8139. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8140.  
  8141. move-result-object v14
  8142.  
  8143. move-object/from16 v0, p2
  8144.  
  8145. move-object v1, v14
  8146.  
  8147. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  8148.  
  8149. .line 1137
  8150. new-instance v14, Ljava/lang/StringBuilder;
  8151.  
  8152. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  8153.  
  8154. const-string v15, " mScreenOffTimeoutSetting="
  8155.  
  8156. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8157.  
  8158. move-result-object v14
  8159.  
  8160. move-object/from16 v0, p0
  8161.  
  8162. iget v0, v0, Lcom/android/server/PowerManagerService;->mScreenOffTimeoutSetting:I
  8163.  
  8164. move v15, v0
  8165.  
  8166. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  8167.  
  8168. move-result-object v14
  8169.  
  8170. const-string v15, " mMaximumScreenOffTimeout="
  8171.  
  8172. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8173.  
  8174. move-result-object v14
  8175.  
  8176. move-object/from16 v0, p0
  8177.  
  8178. iget v0, v0, Lcom/android/server/PowerManagerService;->mMaximumScreenOffTimeout:I
  8179.  
  8180. move v15, v0
  8181.  
  8182. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  8183.  
  8184. move-result-object v14
  8185.  
  8186. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8187.  
  8188. move-result-object v14
  8189.  
  8190. move-object/from16 v0, p2
  8191.  
  8192. move-object v1, v14
  8193.  
  8194. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  8195.  
  8196. .line 1139
  8197. new-instance v14, Ljava/lang/StringBuilder;
  8198.  
  8199. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  8200.  
  8201. const-string v15, " mLastScreenOnTime="
  8202.  
  8203. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8204.  
  8205. move-result-object v14
  8206.  
  8207. move-object/from16 v0, p0
  8208.  
  8209. iget-wide v0, v0, Lcom/android/server/PowerManagerService;->mLastScreenOnTime:J
  8210.  
  8211. move-wide v15, v0
  8212.  
  8213. invoke-virtual/range {v14 .. v16}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  8214.  
  8215. move-result-object v14
  8216.  
  8217. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8218.  
  8219. move-result-object v14
  8220.  
  8221. move-object/from16 v0, p2
  8222.  
  8223. move-object v1, v14
  8224.  
  8225. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  8226.  
  8227. .line 1140
  8228. new-instance v14, Ljava/lang/StringBuilder;
  8229.  
  8230. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  8231.  
  8232. const-string v15, " mBroadcastWakeLock="
  8233.  
  8234. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8235.  
  8236. move-result-object v14
  8237.  
  8238. move-object/from16 v0, p0
  8239.  
  8240. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mBroadcastWakeLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  8241.  
  8242. move-object v15, v0
  8243.  
  8244. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  8245.  
  8246. move-result-object v14
  8247.  
  8248. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8249.  
  8250. move-result-object v14
  8251.  
  8252. move-object/from16 v0, p2
  8253.  
  8254. move-object v1, v14
  8255.  
  8256. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  8257.  
  8258. .line 1141
  8259. new-instance v14, Ljava/lang/StringBuilder;
  8260.  
  8261. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  8262.  
  8263. const-string v15, " mStayOnWhilePluggedInScreenDimLock="
  8264.  
  8265. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8266.  
  8267. move-result-object v14
  8268.  
  8269. move-object/from16 v0, p0
  8270.  
  8271. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mStayOnWhilePluggedInScreenDimLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  8272.  
  8273. move-object v15, v0
  8274.  
  8275. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  8276.  
  8277. move-result-object v14
  8278.  
  8279. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8280.  
  8281. move-result-object v14
  8282.  
  8283. move-object/from16 v0, p2
  8284.  
  8285. move-object v1, v14
  8286.  
  8287. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  8288.  
  8289. .line 1142
  8290. new-instance v14, Ljava/lang/StringBuilder;
  8291.  
  8292. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  8293.  
  8294. const-string v15, " mStayOnWhilePluggedInPartialLock="
  8295.  
  8296. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8297.  
  8298. move-result-object v14
  8299.  
  8300. move-object/from16 v0, p0
  8301.  
  8302. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mStayOnWhilePluggedInPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  8303.  
  8304. move-object v15, v0
  8305.  
  8306. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  8307.  
  8308. move-result-object v14
  8309.  
  8310. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8311.  
  8312. move-result-object v14
  8313.  
  8314. move-object/from16 v0, p2
  8315.  
  8316. move-object v1, v14
  8317.  
  8318. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  8319.  
  8320. .line 1143
  8321. new-instance v14, Ljava/lang/StringBuilder;
  8322.  
  8323. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  8324.  
  8325. const-string v15, " mPreventScreenOnPartialLock="
  8326.  
  8327. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8328.  
  8329. move-result-object v14
  8330.  
  8331. move-object/from16 v0, p0
  8332.  
  8333. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mPreventScreenOnPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  8334.  
  8335. move-object v15, v0
  8336.  
  8337. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  8338.  
  8339. move-result-object v14
  8340.  
  8341. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8342.  
  8343. move-result-object v14
  8344.  
  8345. move-object/from16 v0, p2
  8346.  
  8347. move-object v1, v14
  8348.  
  8349. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  8350.  
  8351. .line 1144
  8352. new-instance v14, Ljava/lang/StringBuilder;
  8353.  
  8354. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  8355.  
  8356. const-string v15, " mProximityPartialLock="
  8357.  
  8358. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8359.  
  8360. move-result-object v14
  8361.  
  8362. move-object/from16 v0, p0
  8363.  
  8364. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mProximityPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  8365.  
  8366. move-object v15, v0
  8367.  
  8368. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  8369.  
  8370. move-result-object v14
  8371.  
  8372. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8373.  
  8374. move-result-object v14
  8375.  
  8376. move-object/from16 v0, p2
  8377.  
  8378. move-object v1, v14
  8379.  
  8380. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  8381.  
  8382. .line 1145
  8383. new-instance v14, Ljava/lang/StringBuilder;
  8384.  
  8385. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  8386.  
  8387. const-string v15, " mProximityWakeLockCount="
  8388.  
  8389. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8390.  
  8391. move-result-object v14
  8392.  
  8393. move-object/from16 v0, p0
  8394.  
  8395. iget v0, v0, Lcom/android/server/PowerManagerService;->mProximityWakeLockCount:I
  8396.  
  8397. move v15, v0
  8398.  
  8399. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  8400.  
  8401. move-result-object v14
  8402.  
  8403. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8404.  
  8405. move-result-object v14
  8406.  
  8407. move-object/from16 v0, p2
  8408.  
  8409. move-object v1, v14
  8410.  
  8411. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  8412.  
  8413. .line 1146
  8414. new-instance v14, Ljava/lang/StringBuilder;
  8415.  
  8416. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  8417.  
  8418. const-string v15, " mProximitySensorEnabled="
  8419.  
  8420. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8421.  
  8422. move-result-object v14
  8423.  
  8424. move-object/from16 v0, p0
  8425.  
  8426. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mProximitySensorEnabled:Z
  8427.  
  8428. move v15, v0
  8429.  
  8430. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  8431.  
  8432. move-result-object v14
  8433.  
  8434. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8435.  
  8436. move-result-object v14
  8437.  
  8438. move-object/from16 v0, p2
  8439.  
  8440. move-object v1, v14
  8441.  
  8442. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  8443.  
  8444. .line 1147
  8445. new-instance v14, Ljava/lang/StringBuilder;
  8446.  
  8447. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  8448.  
  8449. const-string v15, " mProximitySensorActive="
  8450.  
  8451. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8452.  
  8453. move-result-object v14
  8454.  
  8455. move-object/from16 v0, p0
  8456.  
  8457. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  8458.  
  8459. move v15, v0
  8460.  
  8461. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  8462.  
  8463. move-result-object v14
  8464.  
  8465. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8466.  
  8467. move-result-object v14
  8468.  
  8469. move-object/from16 v0, p2
  8470.  
  8471. move-object v1, v14
  8472.  
  8473. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  8474.  
  8475. .line 1148
  8476. new-instance v14, Ljava/lang/StringBuilder;
  8477.  
  8478. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  8479.  
  8480. const-string v15, " mProximityPendingValue="
  8481.  
  8482. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8483.  
  8484. move-result-object v14
  8485.  
  8486. move-object/from16 v0, p0
  8487.  
  8488. iget v0, v0, Lcom/android/server/PowerManagerService;->mProximityPendingValue:I
  8489.  
  8490. move v15, v0
  8491.  
  8492. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  8493.  
  8494. move-result-object v14
  8495.  
  8496. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8497.  
  8498. move-result-object v14
  8499.  
  8500. move-object/from16 v0, p2
  8501.  
  8502. move-object v1, v14
  8503.  
  8504. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  8505.  
  8506. .line 1149
  8507. new-instance v14, Ljava/lang/StringBuilder;
  8508.  
  8509. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  8510.  
  8511. const-string v15, " mLastProximityEventTime="
  8512.  
  8513. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8514.  
  8515. move-result-object v14
  8516.  
  8517. move-object/from16 v0, p0
  8518.  
  8519. iget-wide v0, v0, Lcom/android/server/PowerManagerService;->mLastProximityEventTime:J
  8520.  
  8521. move-wide v15, v0
  8522.  
  8523. invoke-virtual/range {v14 .. v16}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  8524.  
  8525. move-result-object v14
  8526.  
  8527. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8528.  
  8529. move-result-object v14
  8530.  
  8531. move-object/from16 v0, p2
  8532.  
  8533. move-object v1, v14
  8534.  
  8535. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  8536.  
  8537. .line 1150
  8538. new-instance v14, Ljava/lang/StringBuilder;
  8539.  
  8540. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  8541.  
  8542. const-string v15, " mLightSensorEnabled="
  8543.  
  8544. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8545.  
  8546. move-result-object v14
  8547.  
  8548. move-object/from16 v0, p0
  8549.  
  8550. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mLightSensorEnabled:Z
  8551.  
  8552. move v15, v0
  8553.  
  8554. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  8555.  
  8556. move-result-object v14
  8557.  
  8558. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8559.  
  8560. move-result-object v14
  8561.  
  8562. move-object/from16 v0, p2
  8563.  
  8564. move-object v1, v14
  8565.  
  8566. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  8567.  
  8568. .line 1151
  8569. new-instance v14, Ljava/lang/StringBuilder;
  8570.  
  8571. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  8572.  
  8573. const-string v15, " mLightSensorValue="
  8574.  
  8575. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8576.  
  8577. move-result-object v14
  8578.  
  8579. move-object/from16 v0, p0
  8580.  
  8581. iget v0, v0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  8582.  
  8583. move v15, v0
  8584.  
  8585. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
  8586.  
  8587. move-result-object v14
  8588.  
  8589. const-string v15, " mLightSensorPendingValue="
  8590.  
  8591. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8592.  
  8593. move-result-object v14
  8594.  
  8595. move-object/from16 v0, p0
  8596.  
  8597. iget v0, v0, Lcom/android/server/PowerManagerService;->mLightSensorPendingValue:F
  8598.  
  8599. move v15, v0
  8600.  
  8601. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
  8602.  
  8603. move-result-object v14
  8604.  
  8605. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8606.  
  8607. move-result-object v14
  8608.  
  8609. move-object/from16 v0, p2
  8610.  
  8611. move-object v1, v14
  8612.  
  8613. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  8614.  
  8615. .line 1153
  8616. new-instance v14, Ljava/lang/StringBuilder;
  8617.  
  8618. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  8619.  
  8620. const-string v15, " mLightSensorScreenBrightness="
  8621.  
  8622. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8623.  
  8624. move-result-object v14
  8625.  
  8626. move-object/from16 v0, p0
  8627.  
  8628. iget v0, v0, Lcom/android/server/PowerManagerService;->mLightSensorScreenBrightness:I
  8629.  
  8630. move v15, v0
  8631.  
  8632. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  8633.  
  8634. move-result-object v14
  8635.  
  8636. const-string v15, " mLightSensorButtonBrightness="
  8637.  
  8638. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8639.  
  8640. move-result-object v14
  8641.  
  8642. move-object/from16 v0, p0
  8643.  
  8644. iget v0, v0, Lcom/android/server/PowerManagerService;->mLightSensorButtonBrightness:I
  8645.  
  8646. move v15, v0
  8647.  
  8648. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  8649.  
  8650. move-result-object v14
  8651.  
  8652. const-string v15, " mLightSensorKeyboardBrightness="
  8653.  
  8654. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8655.  
  8656. move-result-object v14
  8657.  
  8658. move-object/from16 v0, p0
  8659.  
  8660. iget v0, v0, Lcom/android/server/PowerManagerService;->mLightSensorKeyboardBrightness:I
  8661.  
  8662. move v15, v0
  8663.  
  8664. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  8665.  
  8666. move-result-object v14
  8667.  
  8668. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8669.  
  8670. move-result-object v14
  8671.  
  8672. move-object/from16 v0, p2
  8673.  
  8674. move-object v1, v14
  8675.  
  8676. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  8677.  
  8678. .line 1156
  8679. new-instance v14, Ljava/lang/StringBuilder;
  8680.  
  8681. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  8682.  
  8683. const-string v15, " mUseSoftwareAutoBrightness="
  8684.  
  8685. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8686.  
  8687. move-result-object v14
  8688.  
  8689. move-object/from16 v0, p0
  8690.  
  8691. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  8692.  
  8693. move v15, v0
  8694.  
  8695. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  8696.  
  8697. move-result-object v14
  8698.  
  8699. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8700.  
  8701. move-result-object v14
  8702.  
  8703. move-object/from16 v0, p2
  8704.  
  8705. move-object v1, v14
  8706.  
  8707. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  8708.  
  8709. .line 1157
  8710. new-instance v14, Ljava/lang/StringBuilder;
  8711.  
  8712. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  8713.  
  8714. const-string v15, " mAutoBrightessEnabled="
  8715.  
  8716. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8717.  
  8718. move-result-object v14
  8719.  
  8720. move-object/from16 v0, p0
  8721.  
  8722. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mAutoBrightessEnabled:Z
  8723.  
  8724. move v15, v0
  8725.  
  8726. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  8727.  
  8728. move-result-object v14
  8729.  
  8730. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8731.  
  8732. move-result-object v14
  8733.  
  8734. move-object/from16 v0, p2
  8735.  
  8736. move-object v1, v14
  8737.  
  8738. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  8739.  
  8740. .line 1158
  8741. move-object/from16 v0, p0
  8742.  
  8743. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  8744.  
  8745. move-object v14, v0
  8746.  
  8747. const-string v15, " mScreenBrightness: "
  8748.  
  8749. move-object v0, v14
  8750.  
  8751. move-object/from16 v1, p2
  8752.  
  8753. move-object v2, v15
  8754.  
  8755. invoke-virtual {v0, v1, v2}, Lcom/android/server/PowerManagerService$BrightnessState;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
  8756.  
  8757. .line 1160
  8758. move-object/from16 v0, p0
  8759.  
  8760. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  8761.  
  8762. move-object v14, v0
  8763.  
  8764. invoke-virtual {v14}, Lcom/android/server/PowerManagerService$LockList;->size()I
  8765.  
  8766. move-result v3
  8767.  
  8768. .line 1161
  8769. .local v3, N:I
  8770. invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->println()V
  8771.  
  8772. .line 1162
  8773. new-instance v14, Ljava/lang/StringBuilder;
  8774.  
  8775. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  8776.  
  8777. const-string v15, "mLocks.size="
  8778.  
  8779. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8780.  
  8781. move-result-object v14
  8782.  
  8783. invoke-virtual {v14, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  8784.  
  8785. move-result-object v14
  8786.  
  8787. const-string v15, ":"
  8788.  
  8789. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8790.  
  8791. move-result-object v14
  8792.  
  8793. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8794.  
  8795. move-result-object v14
  8796.  
  8797. move-object/from16 v0, p2
  8798.  
  8799. move-object v1, v14
  8800.  
  8801. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  8802.  
  8803. .line 1163
  8804. const/4 v6, 0x0
  8805.  
  8806. .local v6, i:I
  8807. :goto_5bc
  8808. if-ge v6, v3, :cond_645
  8809.  
  8810. .line 1164
  8811. move-object/from16 v0, p0
  8812.  
  8813. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  8814.  
  8815. move-object v14, v0
  8816.  
  8817. invoke-virtual {v14, v6}, Lcom/android/server/PowerManagerService$LockList;->get(I)Ljava/lang/Object;
  8818.  
  8819. move-result-object v12
  8820.  
  8821. check-cast v12, Lcom/android/server/PowerManagerService$WakeLock;
  8822.  
  8823. .line 1165
  8824. .local v12, wl:Lcom/android/server/PowerManagerService$WakeLock;
  8825. iget v14, v12, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  8826.  
  8827. and-int/lit8 v14, v14, 0x3f
  8828.  
  8829. invoke-static {v14}, Lcom/android/server/PowerManagerService;->lockType(I)Ljava/lang/String;
  8830.  
  8831. move-result-object v11
  8832.  
  8833. .line 1166
  8834. .local v11, type:Ljava/lang/String;
  8835. const-string v4, ""
  8836.  
  8837. .line 1167
  8838. .local v4, acquireCausesWakeup:Ljava/lang/String;
  8839. iget v14, v12, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  8840.  
  8841. const/high16 v15, 0x1000
  8842.  
  8843. and-int/2addr v14, v15
  8844.  
  8845. if-eqz v14, :cond_5dc
  8846.  
  8847. .line 1168
  8848. const-string v4, "ACQUIRE_CAUSES_WAKEUP "
  8849.  
  8850. .line 1170
  8851. :cond_5dc
  8852. const-string v5, ""
  8853.  
  8854. .line 1171
  8855. .local v5, activated:Ljava/lang/String;
  8856. iget-boolean v14, v12, Lcom/android/server/PowerManagerService$WakeLock;->activated:Z
  8857.  
  8858. if-eqz v14, :cond_5e4
  8859.  
  8860. .line 1172
  8861. const-string v5, " activated"
  8862.  
  8863. .line 1174
  8864. :cond_5e4
  8865. new-instance v14, Ljava/lang/StringBuilder;
  8866.  
  8867. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  8868.  
  8869. const-string v15, " "
  8870.  
  8871. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8872.  
  8873. move-result-object v14
  8874.  
  8875. invoke-virtual {v14, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8876.  
  8877. move-result-object v14
  8878.  
  8879. const-string v15, " \'"
  8880.  
  8881. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8882.  
  8883. move-result-object v14
  8884.  
  8885. iget-object v15, v12, Lcom/android/server/PowerManagerService$WakeLock;->tag:Ljava/lang/String;
  8886.  
  8887. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8888.  
  8889. move-result-object v14
  8890.  
  8891. const-string v15, "\'"
  8892.  
  8893. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8894.  
  8895. move-result-object v14
  8896.  
  8897. invoke-virtual {v14, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8898.  
  8899. move-result-object v14
  8900.  
  8901. invoke-virtual {v14, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8902.  
  8903. move-result-object v14
  8904.  
  8905. const-string v15, " (minState="
  8906.  
  8907. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8908.  
  8909. move-result-object v14
  8910.  
  8911. iget v15, v12, Lcom/android/server/PowerManagerService$WakeLock;->minState:I
  8912.  
  8913. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  8914.  
  8915. move-result-object v14
  8916.  
  8917. const-string v15, ", uid="
  8918.  
  8919. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8920.  
  8921. move-result-object v14
  8922.  
  8923. iget v15, v12, Lcom/android/server/PowerManagerService$WakeLock;->uid:I
  8924.  
  8925. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  8926.  
  8927. move-result-object v14
  8928.  
  8929. const-string v15, ", pid="
  8930.  
  8931. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8932.  
  8933. move-result-object v14
  8934.  
  8935. iget v15, v12, Lcom/android/server/PowerManagerService$WakeLock;->pid:I
  8936.  
  8937. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  8938.  
  8939. move-result-object v14
  8940.  
  8941. const-string v15, ")"
  8942.  
  8943. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8944.  
  8945. move-result-object v14
  8946.  
  8947. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8948.  
  8949. move-result-object v14
  8950.  
  8951. move-object/from16 v0, p2
  8952.  
  8953. move-object v1, v14
  8954.  
  8955. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  8956.  
  8957. .line 1163
  8958. add-int/lit8 v6, v6, 0x1
  8959.  
  8960. goto/16 :goto_5bc
  8961.  
  8962. .line 1179
  8963. .end local v4 #acquireCausesWakeup:Ljava/lang/String;
  8964. .end local v5 #activated:Ljava/lang/String;
  8965. .end local v11 #type:Ljava/lang/String;
  8966. .end local v12 #wl:Lcom/android/server/PowerManagerService$WakeLock;
  8967. :cond_645
  8968. invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->println()V
  8969.  
  8970. .line 1180
  8971. new-instance v14, Ljava/lang/StringBuilder;
  8972.  
  8973. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  8974.  
  8975. const-string v15, "mPokeLocks.size="
  8976.  
  8977. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8978.  
  8979. move-result-object v14
  8980.  
  8981. move-object/from16 v0, p0
  8982.  
  8983. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mPokeLocks:Ljava/util/HashMap;
  8984.  
  8985. move-object v15, v0
  8986.  
  8987. invoke-virtual {v15}, Ljava/util/HashMap;->size()I
  8988.  
  8989. move-result v15
  8990.  
  8991. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  8992.  
  8993. move-result-object v14
  8994.  
  8995. const-string v15, ":"
  8996.  
  8997. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8998.  
  8999. move-result-object v14
  9000.  
  9001. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  9002.  
  9003. move-result-object v14
  9004.  
  9005. move-object/from16 v0, p2
  9006.  
  9007. move-object v1, v14
  9008.  
  9009. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  9010.  
  9011. .line 1181
  9012. move-object/from16 v0, p0
  9013.  
  9014. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mPokeLocks:Ljava/util/HashMap;
  9015.  
  9016. move-object v14, v0
  9017.  
  9018. invoke-virtual {v14}, Ljava/util/HashMap;->values()Ljava/util/Collection;
  9019.  
  9020. move-result-object v14
  9021.  
  9022. invoke-interface {v14}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
  9023.  
  9024. move-result-object v7
  9025.  
  9026. .local v7, i$:Ljava/util/Iterator;
  9027. :goto_67d
  9028. invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z
  9029.  
  9030. move-result v14
  9031.  
  9032. if-eqz v14, :cond_6ea
  9033.  
  9034. invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;
  9035.  
  9036. move-result-object v10
  9037.  
  9038. check-cast v10, Lcom/android/server/PowerManagerService$PokeLock;
  9039.  
  9040. .line 1182
  9041. .local v10, p:Lcom/android/server/PowerManagerService$PokeLock;
  9042. new-instance v14, Ljava/lang/StringBuilder;
  9043.  
  9044. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  9045.  
  9046. const-string v15, " poke lock \'"
  9047.  
  9048. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9049.  
  9050. move-result-object v14
  9051.  
  9052. iget-object v15, v10, Lcom/android/server/PowerManagerService$PokeLock;->tag:Ljava/lang/String;
  9053.  
  9054. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9055.  
  9056. move-result-object v14
  9057.  
  9058. const-string v15, "\':"
  9059.  
  9060. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9061.  
  9062. move-result-object v14
  9063.  
  9064. iget v15, v10, Lcom/android/server/PowerManagerService$PokeLock;->pokey:I
  9065.  
  9066. and-int/lit8 v15, v15, 0x1
  9067.  
  9068. if-eqz v15, :cond_6de
  9069.  
  9070. const-string v15, " POKE_LOCK_IGNORE_CHEEK_EVENTS"
  9071.  
  9072. :goto_6a8
  9073. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9074.  
  9075. move-result-object v14
  9076.  
  9077. iget v15, v10, Lcom/android/server/PowerManagerService$PokeLock;->pokey:I
  9078.  
  9079. and-int/lit8 v15, v15, 0x8
  9080.  
  9081. if-eqz v15, :cond_6e1
  9082.  
  9083. const-string v15, " POKE_LOCK_IGNORE_TOUCH_AND_CHEEK_EVENTS"
  9084.  
  9085. :goto_6b4
  9086. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9087.  
  9088. move-result-object v14
  9089.  
  9090. iget v15, v10, Lcom/android/server/PowerManagerService$PokeLock;->pokey:I
  9091.  
  9092. and-int/lit8 v15, v15, 0x2
  9093.  
  9094. if-eqz v15, :cond_6e4
  9095.  
  9096. const-string v15, " POKE_LOCK_SHORT_TIMEOUT"
  9097.  
  9098. :goto_6c0
  9099. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9100.  
  9101. move-result-object v14
  9102.  
  9103. iget v15, v10, Lcom/android/server/PowerManagerService$PokeLock;->pokey:I
  9104.  
  9105. and-int/lit8 v15, v15, 0x4
  9106.  
  9107. if-eqz v15, :cond_6e7
  9108.  
  9109. const-string v15, " POKE_LOCK_MEDIUM_TIMEOUT"
  9110.  
  9111. :goto_6cc
  9112. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9113.  
  9114. move-result-object v14
  9115.  
  9116. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  9117.  
  9118. move-result-object v14
  9119.  
  9120. move-object/from16 v0, p2
  9121.  
  9122. move-object v1, v14
  9123.  
  9124. invoke-virtual {v0, v1}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  9125.  
  9126. goto :goto_67d
  9127.  
  9128. .line 1194
  9129. .end local v3 #N:I
  9130. .end local v6 #i:I
  9131. .end local v7 #i$:Ljava/util/Iterator;
  9132. .end local v10 #p:Lcom/android/server/PowerManagerService$PokeLock;
  9133. :catchall_6db
  9134. move-exception v14
  9135.  
  9136. monitor-exit v13
  9137. :try_end_6dd
  9138. .catchall {:try_start_43 .. :try_end_6dd} :catchall_6db
  9139.  
  9140. throw v14
  9141.  
  9142. .line 1182
  9143. .restart local v3 #N:I
  9144. .restart local v6 #i:I
  9145. .restart local v7 #i$:Ljava/util/Iterator;
  9146. .restart local v10 #p:Lcom/android/server/PowerManagerService$PokeLock;
  9147. :cond_6de
  9148. :try_start_6de
  9149. const-string v15, ""
  9150.  
  9151. goto :goto_6a8
  9152.  
  9153. :cond_6e1
  9154. const-string v15, ""
  9155.  
  9156. goto :goto_6b4
  9157.  
  9158. :cond_6e4
  9159. const-string v15, ""
  9160.  
  9161. goto :goto_6c0
  9162.  
  9163. :cond_6e7
  9164. const-string v15, ""
  9165.  
  9166. goto :goto_6cc
  9167.  
  9168. .line 1193
  9169. .end local v10 #p:Lcom/android/server/PowerManagerService$PokeLock;
  9170. :cond_6ea
  9171. invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->println()V
  9172.  
  9173. .line 1194
  9174. monitor-exit v13
  9175. :try_end_6ee
  9176. .catchall {:try_start_6de .. :try_end_6ee} :catchall_6db
  9177.  
  9178. goto/16 :goto_38
  9179. .end method
  9180.  
  9181. .method public enableUserActivity(Z)V
  9182. .registers 6
  9183. .parameter "enabled"
  9184.  
  9185. .prologue
  9186. .line 2592
  9187. const-string v0, "PowerManagerService"
  9188.  
  9189. new-instance v1, Ljava/lang/StringBuilder;
  9190.  
  9191. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  9192.  
  9193. const-string v2, "enableUserActivity "
  9194.  
  9195. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9196.  
  9197. move-result-object v1
  9198.  
  9199. invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  9200.  
  9201. move-result-object v1
  9202.  
  9203. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  9204.  
  9205. move-result-object v1
  9206.  
  9207. invoke-static {v0, v1}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  9208.  
  9209. .line 2594
  9210. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  9211.  
  9212. monitor-enter v0
  9213.  
  9214. .line 2595
  9215. :try_start_1b
  9216. iput-boolean p1, p0, Lcom/android/server/PowerManagerService;->mUserActivityAllowed:Z
  9217.  
  9218. .line 2596
  9219. if-nez p1, :cond_27
  9220.  
  9221. .line 2598
  9222. invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
  9223.  
  9224. move-result-wide v1
  9225.  
  9226. const/4 v3, 0x0
  9227.  
  9228. invoke-direct {p0, v1, v2, v3}, Lcom/android/server/PowerManagerService;->setTimeoutLocked(JI)V
  9229.  
  9230. .line 2600
  9231. :cond_27
  9232. monitor-exit v0
  9233.  
  9234. .line 2601
  9235. return-void
  9236.  
  9237. .line 2600
  9238. :catchall_29
  9239. move-exception v1
  9240.  
  9241. monitor-exit v0
  9242. :try_end_2b
  9243. .catchall {:try_start_1b .. :try_end_2b} :catchall_29
  9244.  
  9245. throw v1
  9246. .end method
  9247.  
  9248. .method enforceWakeSourcePermission(II)V
  9249. .registers 6
  9250. .parameter "uid"
  9251. .parameter "pid"
  9252.  
  9253. .prologue
  9254. .line 717
  9255. invoke-static {}, Landroid/os/Process;->myUid()I
  9256.  
  9257. move-result v0
  9258.  
  9259. if-ne p1, v0, :cond_7
  9260.  
  9261. .line 722
  9262. :goto_6
  9263. return-void
  9264.  
  9265. .line 720
  9266. :cond_7
  9267. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  9268.  
  9269. const-string v1, "android.permission.UPDATE_DEVICE_STATS"
  9270.  
  9271. const/4 v2, 0x0
  9272.  
  9273. invoke-virtual {v0, v1, p2, p1, v2}, Landroid/content/Context;->enforcePermission(Ljava/lang/String;IILjava/lang/String;)V
  9274.  
  9275. goto :goto_6
  9276. .end method
  9277.  
  9278. .method public getPlugType()I
  9279. .registers 2
  9280.  
  9281. .prologue
  9282. .line 2224
  9283. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mBatteryService:Lcom/android/server/BatteryService;
  9284.  
  9285. invoke-virtual {v0}, Lcom/android/server/BatteryService;->getPlugType()I
  9286.  
  9287. move-result v0
  9288.  
  9289. return v0
  9290. .end method
  9291.  
  9292. .method getPolicyLocked()Landroid/view/WindowManagerPolicy;
  9293. .registers 2
  9294.  
  9295. .prologue
  9296. .line 2758
  9297. :goto_0
  9298. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mPolicy:Landroid/view/WindowManagerPolicy;
  9299.  
  9300. if-eqz v0, :cond_8
  9301.  
  9302. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mDoneBooting:Z
  9303.  
  9304. if-nez v0, :cond_10
  9305.  
  9306. .line 2760
  9307. :cond_8
  9308. :try_start_8
  9309. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  9310.  
  9311. invoke-virtual {v0}, Ljava/lang/Object;->wait()V
  9312. :try_end_d
  9313. .catch Ljava/lang/InterruptedException; {:try_start_8 .. :try_end_d} :catch_e
  9314.  
  9315. goto :goto_0
  9316.  
  9317. .line 2761
  9318. :catch_e
  9319. move-exception v0
  9320.  
  9321. goto :goto_0
  9322.  
  9323. .line 2765
  9324. :cond_10
  9325. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mPolicy:Landroid/view/WindowManagerPolicy;
  9326.  
  9327. return-object v0
  9328. .end method
  9329.  
  9330. .method public getSupportedWakeLockFlags()I
  9331. .registers 3
  9332.  
  9333. .prologue
  9334. .line 2820
  9335. const/16 v0, 0x1f
  9336.  
  9337. .line 2824
  9338. .local v0, result:I
  9339. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mProximitySensor:Landroid/hardware/Sensor;
  9340.  
  9341. if-eqz v1, :cond_8
  9342.  
  9343. .line 2825
  9344. or-int/lit8 v0, v0, 0x20
  9345.  
  9346. .line 2828
  9347. :cond_8
  9348. return v0
  9349. .end method
  9350.  
  9351. .method public goToSleep(J)V
  9352. .registers 4
  9353. .parameter "time"
  9354.  
  9355. .prologue
  9356. .line 2447
  9357. const/4 v0, 0x2
  9358.  
  9359. invoke-virtual {p0, p1, p2, v0}, Lcom/android/server/PowerManagerService;->goToSleepWithReason(JI)V
  9360.  
  9361. .line 2448
  9362. return-void
  9363. .end method
  9364.  
  9365. .method public goToSleepWithReason(JI)V
  9366. .registers 7
  9367. .parameter "time"
  9368. .parameter "reason"
  9369.  
  9370. .prologue
  9371. .line 2456
  9372. const-string v0, "PowerManagerService"
  9373.  
  9374. new-instance v1, Ljava/lang/StringBuilder;
  9375.  
  9376. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  9377.  
  9378. const-string v2, "goToSleepWithReason : time : "
  9379.  
  9380. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9381.  
  9382. move-result-object v1
  9383.  
  9384. invoke-virtual {v1, p1, p2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  9385.  
  9386. move-result-object v1
  9387.  
  9388. const-string v2, " reason : "
  9389.  
  9390. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9391.  
  9392. move-result-object v1
  9393.  
  9394. invoke-virtual {v1, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  9395.  
  9396. move-result-object v1
  9397.  
  9398. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  9399.  
  9400. move-result-object v1
  9401.  
  9402. invoke-static {v0, v1}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  9403.  
  9404. .line 2457
  9405. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  9406.  
  9407. const-string v1, "android.permission.DEVICE_POWER"
  9408.  
  9409. const/4 v2, 0x0
  9410.  
  9411. invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  9412.  
  9413. .line 2458
  9414. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  9415.  
  9416. monitor-enter v0
  9417.  
  9418. .line 2459
  9419. :try_start_2d
  9420. invoke-direct {p0, p1, p2, p3}, Lcom/android/server/PowerManagerService;->goToSleepLocked(JI)V
  9421.  
  9422. .line 2460
  9423. monitor-exit v0
  9424.  
  9425. .line 2461
  9426. return-void
  9427.  
  9428. .line 2460
  9429. :catchall_32
  9430. move-exception v1
  9431.  
  9432. monitor-exit v0
  9433. :try_end_34
  9434. .catchall {:try_start_2d .. :try_end_34} :catchall_32
  9435.  
  9436. throw v1
  9437. .end method
  9438.  
  9439. .method init(Landroid/content/Context;Lcom/android/server/LightsService;Landroid/app/IActivityManager;Lcom/android/server/BatteryService;)V
  9440. .registers 8
  9441. .parameter "context"
  9442. .parameter "lights"
  9443. .parameter "activity"
  9444. .parameter "battery"
  9445.  
  9446. .prologue
  9447. const/4 v2, 0x0
  9448.  
  9449. .line 502
  9450. iput-object p2, p0, Lcom/android/server/PowerManagerService;->mLightsService:Lcom/android/server/LightsService;
  9451.  
  9452. .line 503
  9453. iput-object p1, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  9454.  
  9455. .line 504
  9456. iput-object p3, p0, Lcom/android/server/PowerManagerService;->mActivityService:Landroid/app/IActivityManager;
  9457.  
  9458. .line 505
  9459. invoke-static {}, Lcom/android/server/am/BatteryStatsService;->getService()Lcom/android/internal/app/IBatteryStats;
  9460.  
  9461. move-result-object v0
  9462.  
  9463. iput-object v0, p0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  9464.  
  9465. .line 506
  9466. iput-object p4, p0, Lcom/android/server/PowerManagerService;->mBatteryService:Lcom/android/server/BatteryService;
  9467.  
  9468. .line 508
  9469. invoke-virtual {p2, v2}, Lcom/android/server/LightsService;->getLight(I)Lcom/android/server/LightsService$Light;
  9470.  
  9471. move-result-object v0
  9472.  
  9473. iput-object v0, p0, Lcom/android/server/PowerManagerService;->mLcdLight:Lcom/android/server/LightsService$Light;
  9474.  
  9475. .line 509
  9476. const/4 v0, 0x2
  9477.  
  9478. invoke-virtual {p2, v0}, Lcom/android/server/LightsService;->getLight(I)Lcom/android/server/LightsService$Light;
  9479.  
  9480. move-result-object v0
  9481.  
  9482. iput-object v0, p0, Lcom/android/server/PowerManagerService;->mButtonLight:Lcom/android/server/LightsService$Light;
  9483.  
  9484. .line 510
  9485. const/4 v0, 0x1
  9486.  
  9487. invoke-virtual {p2, v0}, Lcom/android/server/LightsService;->getLight(I)Lcom/android/server/LightsService$Light;
  9488.  
  9489. move-result-object v0
  9490.  
  9491. iput-object v0, p0, Lcom/android/server/PowerManagerService;->mKeyboardLight:Lcom/android/server/LightsService$Light;
  9492.  
  9493. .line 511
  9494. const/4 v0, 0x5
  9495.  
  9496. invoke-virtual {p2, v0}, Lcom/android/server/LightsService;->getLight(I)Lcom/android/server/LightsService$Light;
  9497.  
  9498. move-result-object v0
  9499.  
  9500. iput-object v0, p0, Lcom/android/server/PowerManagerService;->mAttentionLight:Lcom/android/server/LightsService$Light;
  9501.  
  9502. .line 513
  9503. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->nativeInit()V
  9504.  
  9505. .line 514
  9506. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  9507.  
  9508. monitor-enter v0
  9509.  
  9510. .line 515
  9511. :try_start_30
  9512. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->updateNativePowerStateLocked()V
  9513.  
  9514. .line 516
  9515. monitor-exit v0
  9516. :try_end_34
  9517. .catchall {:try_start_30 .. :try_end_34} :catchall_53
  9518.  
  9519. .line 518
  9520. iput-boolean v2, p0, Lcom/android/server/PowerManagerService;->mInitComplete:Z
  9521.  
  9522. .line 519
  9523. new-instance v0, Lcom/android/server/PowerManagerService$1;
  9524.  
  9525. const-string v1, "PowerManagerService.mScreenOffThread"
  9526.  
  9527. invoke-direct {v0, p0, v1}, Lcom/android/server/PowerManagerService$1;-><init>(Lcom/android/server/PowerManagerService;Ljava/lang/String;)V
  9528.  
  9529. iput-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenOffThread:Landroid/os/HandlerThread;
  9530.  
  9531. .line 529
  9532. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenOffThread:Landroid/os/HandlerThread;
  9533.  
  9534. invoke-virtual {v0}, Landroid/os/HandlerThread;->start()V
  9535.  
  9536. .line 531
  9537. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenOffThread:Landroid/os/HandlerThread;
  9538.  
  9539. monitor-enter v0
  9540.  
  9541. .line 532
  9542. :goto_47
  9543. :try_start_47
  9544. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mInitComplete:Z
  9545. :try_end_49
  9546. .catchall {:try_start_47 .. :try_end_49} :catchall_76
  9547.  
  9548. if-nez v1, :cond_56
  9549.  
  9550. .line 534
  9551. :try_start_4b
  9552. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mScreenOffThread:Landroid/os/HandlerThread;
  9553.  
  9554. invoke-virtual {v1}, Ljava/lang/Object;->wait()V
  9555. :try_end_50
  9556. .catchall {:try_start_4b .. :try_end_50} :catchall_76
  9557. .catch Ljava/lang/InterruptedException; {:try_start_4b .. :try_end_50} :catch_51
  9558.  
  9559. goto :goto_47
  9560.  
  9561. .line 535
  9562. :catch_51
  9563. move-exception v1
  9564.  
  9565. goto :goto_47
  9566.  
  9567. .line 516
  9568. :catchall_53
  9569. move-exception v1
  9570.  
  9571. :try_start_54
  9572. monitor-exit v0
  9573. :try_end_55
  9574. .catchall {:try_start_54 .. :try_end_55} :catchall_53
  9575.  
  9576. throw v1
  9577.  
  9578. .line 539
  9579. :cond_56
  9580. :try_start_56
  9581. monitor-exit v0
  9582. :try_end_57
  9583. .catchall {:try_start_56 .. :try_end_57} :catchall_76
  9584.  
  9585. .line 541
  9586. iput-boolean v2, p0, Lcom/android/server/PowerManagerService;->mInitComplete:Z
  9587.  
  9588. .line 542
  9589. new-instance v0, Lcom/android/server/PowerManagerService$2;
  9590.  
  9591. const-string v1, "PowerManagerService"
  9592.  
  9593. invoke-direct {v0, p0, v1}, Lcom/android/server/PowerManagerService$2;-><init>(Lcom/android/server/PowerManagerService;Ljava/lang/String;)V
  9594.  
  9595. iput-object v0, p0, Lcom/android/server/PowerManagerService;->mHandlerThread:Landroid/os/HandlerThread;
  9596.  
  9597. .line 549
  9598. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mHandlerThread:Landroid/os/HandlerThread;
  9599.  
  9600. invoke-virtual {v0}, Landroid/os/HandlerThread;->start()V
  9601.  
  9602. .line 551
  9603. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mHandlerThread:Landroid/os/HandlerThread;
  9604.  
  9605. monitor-enter v0
  9606.  
  9607. .line 552
  9608. :goto_6a
  9609. :try_start_6a
  9610. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mInitComplete:Z
  9611. :try_end_6c
  9612. .catchall {:try_start_6a .. :try_end_6c} :catchall_85
  9613.  
  9614. if-nez v1, :cond_79
  9615.  
  9616. .line 554
  9617. :try_start_6e
  9618. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mHandlerThread:Landroid/os/HandlerThread;
  9619.  
  9620. invoke-virtual {v1}, Ljava/lang/Object;->wait()V
  9621. :try_end_73
  9622. .catchall {:try_start_6e .. :try_end_73} :catchall_85
  9623. .catch Ljava/lang/InterruptedException; {:try_start_6e .. :try_end_73} :catch_74
  9624.  
  9625. goto :goto_6a
  9626.  
  9627. .line 555
  9628. :catch_74
  9629. move-exception v1
  9630.  
  9631. goto :goto_6a
  9632.  
  9633. .line 539
  9634. :catchall_76
  9635. move-exception v1
  9636.  
  9637. :try_start_77
  9638. monitor-exit v0
  9639. :try_end_78
  9640. .catchall {:try_start_77 .. :try_end_78} :catchall_76
  9641.  
  9642. throw v1
  9643.  
  9644. .line 559
  9645. :cond_79
  9646. :try_start_79
  9647. monitor-exit v0
  9648. :try_end_7a
  9649. .catchall {:try_start_79 .. :try_end_7a} :catchall_85
  9650.  
  9651. .line 561
  9652. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->nativeInit()V
  9653.  
  9654. .line 562
  9655. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  9656.  
  9657. monitor-enter v0
  9658.  
  9659. .line 563
  9660. :try_start_80
  9661. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->updateNativePowerStateLocked()V
  9662.  
  9663. .line 564
  9664. monitor-exit v0
  9665. :try_end_84
  9666. .catchall {:try_start_80 .. :try_end_84} :catchall_88
  9667.  
  9668. .line 565
  9669. return-void
  9670.  
  9671. .line 559
  9672. :catchall_85
  9673. move-exception v1
  9674.  
  9675. :try_start_86
  9676. monitor-exit v0
  9677. :try_end_87
  9678. .catchall {:try_start_86 .. :try_end_87} :catchall_85
  9679.  
  9680. throw v1
  9681.  
  9682. .line 564
  9683. :catchall_88
  9684. move-exception v1
  9685.  
  9686. :try_start_89
  9687. monitor-exit v0
  9688. :try_end_8a
  9689. .catchall {:try_start_89 .. :try_end_8a} :catchall_88
  9690.  
  9691. throw v1
  9692. .end method
  9693.  
  9694. .method initInThread()V
  9695. .registers 13
  9696.  
  9697. .prologue
  9698. const/high16 v5, 0x4000
  9699.  
  9700. const/4 v4, 0x6
  9701.  
  9702. const/4 v10, 0x0
  9703.  
  9704. const/4 v2, 0x0
  9705.  
  9706. const/4 v11, 0x1
  9707.  
  9708. .line 568
  9709. new-instance v1, Landroid/os/Handler;
  9710.  
  9711. invoke-direct {v1}, Landroid/os/Handler;-><init>()V
  9712.  
  9713. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  9714.  
  9715. .line 570
  9716. new-instance v1, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  9717.  
  9718. const-string v3, "sleep_broadcast"
  9719.  
  9720. invoke-direct {v1, p0, v11, v3, v11}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;-><init>(Lcom/android/server/PowerManagerService;ILjava/lang/String;Z)V
  9721.  
  9722. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastWakeLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  9723.  
  9724. .line 572
  9725. new-instance v1, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  9726.  
  9727. const-string v3, "StayOnWhilePluggedIn Screen Dim"
  9728.  
  9729. invoke-direct {v1, p0, v4, v3, v10}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;-><init>(Lcom/android/server/PowerManagerService;ILjava/lang/String;Z)V
  9730.  
  9731. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mStayOnWhilePluggedInScreenDimLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  9732.  
  9733. .line 574
  9734. new-instance v1, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  9735.  
  9736. const-string v3, "StayOnWhilePluggedIn Partial"
  9737.  
  9738. invoke-direct {v1, p0, v11, v3, v10}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;-><init>(Lcom/android/server/PowerManagerService;ILjava/lang/String;Z)V
  9739.  
  9740. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mStayOnWhilePluggedInPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  9741.  
  9742. .line 576
  9743. new-instance v1, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  9744.  
  9745. const-string v3, "PreventScreenOn Partial"
  9746.  
  9747. invoke-direct {v1, p0, v11, v3, v10}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;-><init>(Lcom/android/server/PowerManagerService;ILjava/lang/String;Z)V
  9748.  
  9749. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mPreventScreenOnPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  9750.  
  9751. .line 578
  9752. new-instance v1, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  9753.  
  9754. const-string v3, "Proximity Partial"
  9755.  
  9756. invoke-direct {v1, p0, v11, v3, v10}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;-><init>(Lcom/android/server/PowerManagerService;ILjava/lang/String;Z)V
  9757.  
  9758. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mProximityPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  9759.  
  9760. .line 581
  9761. new-instance v1, Landroid/content/Intent;
  9762.  
  9763. const-string v3, "android.intent.action.SCREEN_ON"
  9764.  
  9765. invoke-direct {v1, v3}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
  9766.  
  9767. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mScreenOnIntent:Landroid/content/Intent;
  9768.  
  9769. .line 582
  9770. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mScreenOnIntent:Landroid/content/Intent;
  9771.  
  9772. invoke-virtual {v1, v5}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
  9773.  
  9774. .line 583
  9775. new-instance v1, Landroid/content/Intent;
  9776.  
  9777. const-string v3, "android.intent.action.SCREEN_OFF"
  9778.  
  9779. invoke-direct {v1, v3}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
  9780.  
  9781. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mScreenOffIntent:Landroid/content/Intent;
  9782.  
  9783. .line 584
  9784. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mScreenOffIntent:Landroid/content/Intent;
  9785.  
  9786. invoke-virtual {v1, v5}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
  9787.  
  9788. .line 586
  9789. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  9790.  
  9791. invoke-virtual {v1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
  9792.  
  9793. move-result-object v7
  9794.  
  9795. .line 588
  9796. .local v7, resources:Landroid/content/res/Resources;
  9797. const v1, 0x10d000d
  9798.  
  9799. invoke-virtual {v7, v1}, Landroid/content/res/Resources;->getBoolean(I)Z
  9800.  
  9801. move-result v1
  9802.  
  9803. iput-boolean v1, p0, Lcom/android/server/PowerManagerService;->mAnimateScreenLights:Z
  9804.  
  9805. .line 591
  9806. const v1, 0x10d000c
  9807.  
  9808. invoke-virtual {v7, v1}, Landroid/content/res/Resources;->getBoolean(I)Z
  9809.  
  9810. move-result v1
  9811.  
  9812. iput-boolean v1, p0, Lcom/android/server/PowerManagerService;->mUnplugTurnsOnScreen:Z
  9813.  
  9814. .line 595
  9815. const v1, 0x10d000a
  9816.  
  9817. invoke-virtual {v7, v1}, Landroid/content/res/Resources;->getBoolean(I)Z
  9818.  
  9819. move-result v1
  9820.  
  9821. iput-boolean v1, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  9822.  
  9823. .line 597
  9824. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  9825.  
  9826. if-eqz v1, :cond_a8
  9827.  
  9828. .line 598
  9829. const v1, 0x107001a
  9830.  
  9831. invoke-virtual {v7, v1}, Landroid/content/res/Resources;->getIntArray(I)[I
  9832.  
  9833. move-result-object v1
  9834.  
  9835. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mAutoBrightnessLevels:[I
  9836.  
  9837. .line 600
  9838. const v1, 0x107001b
  9839.  
  9840. invoke-virtual {v7, v1}, Landroid/content/res/Resources;->getIntArray(I)[I
  9841.  
  9842. move-result-object v1
  9843.  
  9844. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mLcdBacklightValues:[I
  9845.  
  9846. .line 602
  9847. const v1, 0x107001c
  9848.  
  9849. invoke-virtual {v7, v1}, Landroid/content/res/Resources;->getIntArray(I)[I
  9850.  
  9851. move-result-object v1
  9852.  
  9853. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mButtonBacklightValues:[I
  9854.  
  9855. .line 604
  9856. const v1, 0x107001d
  9857.  
  9858. invoke-virtual {v7, v1}, Landroid/content/res/Resources;->getIntArray(I)[I
  9859.  
  9860. move-result-object v1
  9861.  
  9862. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mKeyboardBacklightValues:[I
  9863.  
  9864. .line 606
  9865. const v1, 0x10e000f
  9866.  
  9867. invoke-virtual {v7, v1}, Landroid/content/res/Resources;->getInteger(I)I
  9868.  
  9869. move-result v1
  9870.  
  9871. iput v1, p0, Lcom/android/server/PowerManagerService;->mLightSensorWarmupTime:I
  9872.  
  9873. .line 610
  9874. :cond_a8
  9875. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  9876.  
  9877. invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
  9878.  
  9879. move-result-object v0
  9880.  
  9881. .line 611
  9882. .local v0, resolver:Landroid/content/ContentResolver;
  9883. sget-object v1, Landroid/provider/Settings$System;->CONTENT_URI:Landroid/net/Uri;
  9884.  
  9885. const-string v3, "(name=?) or (name=?) or (name=?) or (name=?) or (name=?) or (name=?)"
  9886.  
  9887. new-array v4, v4, [Ljava/lang/String;
  9888.  
  9889. const-string v5, "stay_on_while_plugged_in"
  9890.  
  9891. aput-object v5, v4, v10
  9892.  
  9893. const-string v5, "screen_off_timeout"
  9894.  
  9895. aput-object v5, v4, v11
  9896.  
  9897. const/4 v5, 0x2
  9898.  
  9899. const-string v10, "dim_screen"
  9900.  
  9901. aput-object v10, v4, v5
  9902.  
  9903. const/4 v5, 0x3
  9904.  
  9905. const-string v10, "screen_brightness_mode"
  9906.  
  9907. aput-object v10, v4, v5
  9908.  
  9909. const/4 v5, 0x4
  9910.  
  9911. const-string v10, "window_animation_scale"
  9912.  
  9913. aput-object v10, v4, v5
  9914.  
  9915. const/4 v5, 0x5
  9916.  
  9917. const-string v10, "transition_animation_scale"
  9918.  
  9919. aput-object v10, v4, v5
  9920.  
  9921. move-object v5, v2
  9922.  
  9923. invoke-virtual/range {v0 .. v5}, Landroid/content/ContentResolver;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
  9924.  
  9925. move-result-object v8
  9926.  
  9927. .line 621
  9928. .local v8, settingsCursor:Landroid/database/Cursor;
  9929. new-instance v1, Landroid/content/ContentQueryMap;
  9930.  
  9931. const-string v3, "name"
  9932.  
  9933. iget-object v4, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  9934.  
  9935. invoke-direct {v1, v8, v3, v11, v4}, Landroid/content/ContentQueryMap;-><init>(Landroid/database/Cursor;Ljava/lang/String;ZLandroid/os/Handler;)V
  9936.  
  9937. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mSettings:Landroid/content/ContentQueryMap;
  9938.  
  9939. .line 622
  9940. new-instance v9, Lcom/android/server/PowerManagerService$SettingsObserver;
  9941.  
  9942. invoke-direct {v9, p0, v2}, Lcom/android/server/PowerManagerService$SettingsObserver;-><init>(Lcom/android/server/PowerManagerService;Lcom/android/server/PowerManagerService$1;)V
  9943.  
  9944. .line 623
  9945. .local v9, settingsObserver:Lcom/android/server/PowerManagerService$SettingsObserver;
  9946. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mSettings:Landroid/content/ContentQueryMap;
  9947.  
  9948. invoke-virtual {v1, v9}, Landroid/content/ContentQueryMap;->addObserver(Ljava/util/Observer;)V
  9949.  
  9950. .line 626
  9951. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mSettings:Landroid/content/ContentQueryMap;
  9952.  
  9953. invoke-virtual {v9, v1, v2}, Lcom/android/server/PowerManagerService$SettingsObserver;->update(Ljava/util/Observable;Ljava/lang/Object;)V
  9954.  
  9955. .line 629
  9956. new-instance v6, Landroid/content/IntentFilter;
  9957.  
  9958. invoke-direct {v6}, Landroid/content/IntentFilter;-><init>()V
  9959.  
  9960. .line 630
  9961. .local v6, filter:Landroid/content/IntentFilter;
  9962. const-string v1, "android.intent.action.BATTERY_CHANGED"
  9963.  
  9964. invoke-virtual {v6, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
  9965.  
  9966. .line 631
  9967. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  9968.  
  9969. new-instance v3, Lcom/android/server/PowerManagerService$BatteryReceiver;
  9970.  
  9971. invoke-direct {v3, p0, v2}, Lcom/android/server/PowerManagerService$BatteryReceiver;-><init>(Lcom/android/server/PowerManagerService;Lcom/android/server/PowerManagerService$1;)V
  9972.  
  9973. invoke-virtual {v1, v3, v6}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
  9974.  
  9975. .line 632
  9976. new-instance v6, Landroid/content/IntentFilter;
  9977.  
  9978. .end local v6 #filter:Landroid/content/IntentFilter;
  9979. invoke-direct {v6}, Landroid/content/IntentFilter;-><init>()V
  9980.  
  9981. .line 633
  9982. .restart local v6 #filter:Landroid/content/IntentFilter;
  9983. const-string v1, "android.intent.action.BOOT_COMPLETED"
  9984.  
  9985. invoke-virtual {v6, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
  9986.  
  9987. .line 634
  9988. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  9989.  
  9990. new-instance v3, Lcom/android/server/PowerManagerService$BootCompletedReceiver;
  9991.  
  9992. invoke-direct {v3, p0, v2}, Lcom/android/server/PowerManagerService$BootCompletedReceiver;-><init>(Lcom/android/server/PowerManagerService;Lcom/android/server/PowerManagerService$1;)V
  9993.  
  9994. invoke-virtual {v1, v3, v6}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
  9995.  
  9996. .line 635
  9997. new-instance v6, Landroid/content/IntentFilter;
  9998.  
  9999. .end local v6 #filter:Landroid/content/IntentFilter;
  10000. invoke-direct {v6}, Landroid/content/IntentFilter;-><init>()V
  10001.  
  10002. .line 636
  10003. .restart local v6 #filter:Landroid/content/IntentFilter;
  10004. const-string v1, "android.intent.action.DOCK_EVENT"
  10005.  
  10006. invoke-virtual {v6, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
  10007.  
  10008. .line 637
  10009. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  10010.  
  10011. new-instance v3, Lcom/android/server/PowerManagerService$DockReceiver;
  10012.  
  10013. invoke-direct {v3, p0, v2}, Lcom/android/server/PowerManagerService$DockReceiver;-><init>(Lcom/android/server/PowerManagerService;Lcom/android/server/PowerManagerService$1;)V
  10014.  
  10015. invoke-virtual {v1, v3, v6}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
  10016.  
  10017. .line 640
  10018. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  10019.  
  10020. invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
  10021.  
  10022. move-result-object v1
  10023.  
  10024. sget-object v2, Landroid/provider/Settings$Secure;->CONTENT_URI:Landroid/net/Uri;
  10025.  
  10026. new-instance v3, Lcom/android/server/PowerManagerService$3;
  10027.  
  10028. new-instance v4, Landroid/os/Handler;
  10029.  
  10030. invoke-direct {v4}, Landroid/os/Handler;-><init>()V
  10031.  
  10032. invoke-direct {v3, p0, v4}, Lcom/android/server/PowerManagerService$3;-><init>(Lcom/android/server/PowerManagerService;Landroid/os/Handler;)V
  10033.  
  10034. invoke-virtual {v1, v2, v11, v3}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
  10035.  
  10036. .line 647
  10037. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->updateSettingsValues()V
  10038.  
  10039. .line 649
  10040. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mHandlerThread:Landroid/os/HandlerThread;
  10041.  
  10042. monitor-enter v1
  10043.  
  10044. .line 650
  10045. const/4 v2, 0x1
  10046.  
  10047. :try_start_147
  10048. iput-boolean v2, p0, Lcom/android/server/PowerManagerService;->mInitComplete:Z
  10049.  
  10050. .line 651
  10051. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mHandlerThread:Landroid/os/HandlerThread;
  10052.  
  10053. invoke-virtual {v2}, Ljava/lang/Object;->notifyAll()V
  10054.  
  10055. .line 652
  10056. monitor-exit v1
  10057.  
  10058. .line 653
  10059. return-void
  10060.  
  10061. .line 652
  10062. :catchall_150
  10063. move-exception v2
  10064.  
  10065. monitor-exit v1
  10066. :try_end_152
  10067. .catchall {:try_start_147 .. :try_end_152} :catchall_150
  10068.  
  10069. throw v2
  10070. .end method
  10071.  
  10072. .method isScreenBright()Z
  10073. .registers 4
  10074.  
  10075. .prologue
  10076. .line 2167
  10077. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  10078.  
  10079. monitor-enter v0
  10080.  
  10081. .line 2168
  10082. :try_start_3
  10083. iget v1, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  10084.  
  10085. and-int/lit8 v1, v1, 0x3
  10086.  
  10087. const/4 v2, 0x3
  10088.  
  10089. if-ne v1, v2, :cond_d
  10090.  
  10091. const/4 v1, 0x1
  10092.  
  10093. :goto_b
  10094. monitor-exit v0
  10095.  
  10096. return v1
  10097.  
  10098. :cond_d
  10099. const/4 v1, 0x0
  10100.  
  10101. goto :goto_b
  10102.  
  10103. .line 2169
  10104. :catchall_f
  10105. move-exception v1
  10106.  
  10107. monitor-exit v0
  10108. :try_end_11
  10109. .catchall {:try_start_3 .. :try_end_11} :catchall_f
  10110.  
  10111. throw v1
  10112. .end method
  10113.  
  10114. .method public isScreenOn()Z
  10115. .registers 3
  10116.  
  10117. .prologue
  10118. .line 2161
  10119. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  10120.  
  10121. monitor-enter v0
  10122.  
  10123. .line 2162
  10124. :try_start_3
  10125. iget v1, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  10126.  
  10127. and-int/lit8 v1, v1, 0x1
  10128.  
  10129. if-eqz v1, :cond_c
  10130.  
  10131. const/4 v1, 0x1
  10132.  
  10133. :goto_a
  10134. monitor-exit v0
  10135.  
  10136. return v1
  10137.  
  10138. :cond_c
  10139. const/4 v1, 0x0
  10140.  
  10141. goto :goto_a
  10142.  
  10143. .line 2163
  10144. :catchall_e
  10145. move-exception v1
  10146.  
  10147. monitor-exit v0
  10148. :try_end_10
  10149. .catchall {:try_start_3 .. :try_end_10} :catchall_e
  10150.  
  10151. throw v1
  10152. .end method
  10153.  
  10154. .method logPointerDownEvent()V
  10155. .registers 5
  10156.  
  10157. .prologue
  10158. .line 1473
  10159. iget-wide v0, p0, Lcom/android/server/PowerManagerService;->mLastTouchDown:J
  10160.  
  10161. const-wide/16 v2, 0x0
  10162.  
  10163. cmp-long v0, v0, v2
  10164.  
  10165. if-nez v0, :cond_14
  10166.  
  10167. .line 1474
  10168. invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
  10169.  
  10170. move-result-wide v0
  10171.  
  10172. iput-wide v0, p0, Lcom/android/server/PowerManagerService;->mLastTouchDown:J
  10173.  
  10174. .line 1475
  10175. iget v0, p0, Lcom/android/server/PowerManagerService;->mTouchCycles:I
  10176.  
  10177. add-int/lit8 v0, v0, 0x1
  10178.  
  10179. iput v0, p0, Lcom/android/server/PowerManagerService;->mTouchCycles:I
  10180.  
  10181. .line 1478
  10182. :cond_14
  10183. return-void
  10184. .end method
  10185.  
  10186. .method logPointerUpEvent()V
  10187. .registers 7
  10188.  
  10189. .prologue
  10190. .line 1465
  10191. iget-wide v0, p0, Lcom/android/server/PowerManagerService;->mTotalTouchDownTime:J
  10192.  
  10193. invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
  10194.  
  10195. move-result-wide v2
  10196.  
  10197. iget-wide v4, p0, Lcom/android/server/PowerManagerService;->mLastTouchDown:J
  10198.  
  10199. sub-long/2addr v2, v4
  10200.  
  10201. add-long/2addr v0, v2
  10202.  
  10203. iput-wide v0, p0, Lcom/android/server/PowerManagerService;->mTotalTouchDownTime:J
  10204.  
  10205. .line 1466
  10206. const-wide/16 v0, 0x0
  10207.  
  10208. iput-wide v0, p0, Lcom/android/server/PowerManagerService;->mLastTouchDown:J
  10209.  
  10210. .line 1468
  10211. return-void
  10212. .end method
  10213.  
  10214. .method public monitor()V
  10215. .registers 3
  10216.  
  10217. .prologue
  10218. .line 2816
  10219. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  10220.  
  10221. monitor-enter v0
  10222.  
  10223. :try_start_3
  10224. monitor-exit v0
  10225.  
  10226. .line 2817
  10227. return-void
  10228.  
  10229. .line 2816
  10230. :catchall_5
  10231. move-exception v1
  10232.  
  10233. monitor-exit v0
  10234. :try_end_7
  10235. .catchall {:try_start_3 .. :try_end_7} :catchall_5
  10236.  
  10237. throw v1
  10238. .end method
  10239.  
  10240. .method noteStartWakeLocked(Lcom/android/server/PowerManagerService$WakeLock;Landroid/os/WorkSource;)V
  10241. .registers 10
  10242. .parameter "wl"
  10243. .parameter "ws"
  10244.  
  10245. .prologue
  10246. .line 744
  10247. iget v2, p1, Lcom/android/server/PowerManagerService$WakeLock;->monitorType:I
  10248.  
  10249. if-ltz v2, :cond_18
  10250.  
  10251. .line 745
  10252. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  10253.  
  10254. move-result-wide v0
  10255.  
  10256. .line 747
  10257. .local v0, origId:J
  10258. if-eqz p2, :cond_19
  10259.  
  10260. .line 748
  10261. :try_start_a
  10262. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  10263.  
  10264. iget v3, p1, Lcom/android/server/PowerManagerService$WakeLock;->pid:I
  10265.  
  10266. iget-object v4, p1, Lcom/android/server/PowerManagerService$WakeLock;->tag:Ljava/lang/String;
  10267.  
  10268. iget v5, p1, Lcom/android/server/PowerManagerService$WakeLock;->monitorType:I
  10269.  
  10270. invoke-interface {v2, p2, v3, v4, v5}, Lcom/android/internal/app/IBatteryStats;->noteStartWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;I)V
  10271. :try_end_15
  10272. .catchall {:try_start_a .. :try_end_15} :catchall_29
  10273. .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_15} :catch_27
  10274.  
  10275. .line 756
  10276. :goto_15
  10277. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  10278.  
  10279. .line 759
  10280. .end local v0 #origId:J
  10281. :cond_18
  10282. return-void
  10283.  
  10284. .line 751
  10285. .restart local v0 #origId:J
  10286. :cond_19
  10287. :try_start_19
  10288. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  10289.  
  10290. iget v3, p1, Lcom/android/server/PowerManagerService$WakeLock;->uid:I
  10291.  
  10292. iget v4, p1, Lcom/android/server/PowerManagerService$WakeLock;->pid:I
  10293.  
  10294. iget-object v5, p1, Lcom/android/server/PowerManagerService$WakeLock;->tag:Ljava/lang/String;
  10295.  
  10296. iget v6, p1, Lcom/android/server/PowerManagerService$WakeLock;->monitorType:I
  10297.  
  10298. invoke-interface {v2, v3, v4, v5, v6}, Lcom/android/internal/app/IBatteryStats;->noteStartWakelock(IILjava/lang/String;I)V
  10299. :try_end_26
  10300. .catchall {:try_start_19 .. :try_end_26} :catchall_29
  10301. .catch Landroid/os/RemoteException; {:try_start_19 .. :try_end_26} :catch_27
  10302.  
  10303. goto :goto_15
  10304.  
  10305. .line 753
  10306. :catch_27
  10307. move-exception v2
  10308.  
  10309. goto :goto_15
  10310.  
  10311. .line 756
  10312. :catchall_29
  10313. move-exception v2
  10314.  
  10315. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  10316.  
  10317. throw v2
  10318. .end method
  10319.  
  10320. .method noteStopWakeLocked(Lcom/android/server/PowerManagerService$WakeLock;Landroid/os/WorkSource;)V
  10321. .registers 10
  10322. .parameter "wl"
  10323. .parameter "ws"
  10324.  
  10325. .prologue
  10326. .line 762
  10327. iget v2, p1, Lcom/android/server/PowerManagerService$WakeLock;->monitorType:I
  10328.  
  10329. if-ltz v2, :cond_18
  10330.  
  10331. .line 763
  10332. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  10333.  
  10334. move-result-wide v0
  10335.  
  10336. .line 765
  10337. .local v0, origId:J
  10338. if-eqz p2, :cond_19
  10339.  
  10340. .line 766
  10341. :try_start_a
  10342. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  10343.  
  10344. iget v3, p1, Lcom/android/server/PowerManagerService$WakeLock;->pid:I
  10345.  
  10346. iget-object v4, p1, Lcom/android/server/PowerManagerService$WakeLock;->tag:Ljava/lang/String;
  10347.  
  10348. iget v5, p1, Lcom/android/server/PowerManagerService$WakeLock;->monitorType:I
  10349.  
  10350. invoke-interface {v2, p2, v3, v4, v5}, Lcom/android/internal/app/IBatteryStats;->noteStopWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;I)V
  10351. :try_end_15
  10352. .catchall {:try_start_a .. :try_end_15} :catchall_29
  10353. .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_15} :catch_27
  10354.  
  10355. .line 774
  10356. :goto_15
  10357. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  10358.  
  10359. .line 777
  10360. .end local v0 #origId:J
  10361. :cond_18
  10362. return-void
  10363.  
  10364. .line 769
  10365. .restart local v0 #origId:J
  10366. :cond_19
  10367. :try_start_19
  10368. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  10369.  
  10370. iget v3, p1, Lcom/android/server/PowerManagerService$WakeLock;->uid:I
  10371.  
  10372. iget v4, p1, Lcom/android/server/PowerManagerService$WakeLock;->pid:I
  10373.  
  10374. iget-object v5, p1, Lcom/android/server/PowerManagerService$WakeLock;->tag:Ljava/lang/String;
  10375.  
  10376. iget v6, p1, Lcom/android/server/PowerManagerService$WakeLock;->monitorType:I
  10377.  
  10378. invoke-interface {v2, v3, v4, v5, v6}, Lcom/android/internal/app/IBatteryStats;->noteStopWakelock(IILjava/lang/String;I)V
  10379. :try_end_26
  10380. .catchall {:try_start_19 .. :try_end_26} :catchall_29
  10381. .catch Landroid/os/RemoteException; {:try_start_19 .. :try_end_26} :catch_27
  10382.  
  10383. goto :goto_15
  10384.  
  10385. .line 771
  10386. :catch_27
  10387. move-exception v2
  10388.  
  10389. goto :goto_15
  10390.  
  10391. .line 774
  10392. :catchall_29
  10393. move-exception v2
  10394.  
  10395. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  10396.  
  10397. throw v2
  10398. .end method
  10399.  
  10400. .method public preventScreenOn(Z)V
  10401. .registers 8
  10402. .parameter "prevent"
  10403.  
  10404. .prologue
  10405. .line 1510
  10406. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  10407.  
  10408. const-string v2, "android.permission.DEVICE_POWER"
  10409.  
  10410. const/4 v3, 0x0
  10411.  
  10412. invoke-virtual {v1, v2, v3}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  10413.  
  10414. .line 1512
  10415. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  10416.  
  10417. monitor-enter v1
  10418.  
  10419. .line 1513
  10420. if-eqz p1, :cond_27
  10421.  
  10422. .line 1517
  10423. :try_start_d
  10424. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mPreventScreenOnPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  10425.  
  10426. invoke-virtual {v2}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->acquire()V
  10427.  
  10428. .line 1522
  10429. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  10430.  
  10431. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mForceReenableScreenTask:Ljava/lang/Runnable;
  10432.  
  10433. invoke-virtual {v2, v3}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
  10434.  
  10435. .line 1523
  10436. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  10437.  
  10438. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mForceReenableScreenTask:Ljava/lang/Runnable;
  10439.  
  10440. const-wide/16 v4, 0x1388
  10441.  
  10442. invoke-virtual {v2, v3, v4, v5}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z
  10443.  
  10444. .line 1528
  10445. const/4 v2, 0x1
  10446.  
  10447. iput-boolean v2, p0, Lcom/android/server/PowerManagerService;->mPreventScreenOn:Z
  10448.  
  10449. .line 1555
  10450. :goto_25
  10451. monitor-exit v1
  10452.  
  10453. .line 1556
  10454. return-void
  10455.  
  10456. .line 1531
  10457. :cond_27
  10458. const/4 v2, 0x0
  10459.  
  10460. iput-boolean v2, p0, Lcom/android/server/PowerManagerService;->mPreventScreenOn:Z
  10461.  
  10462. .line 1535
  10463. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  10464.  
  10465. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mForceReenableScreenTask:Ljava/lang/Runnable;
  10466.  
  10467. invoke-virtual {v2, v3}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
  10468.  
  10469. .line 1540
  10470. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  10471.  
  10472. if-nez v2, :cond_5a
  10473.  
  10474. iget v2, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  10475.  
  10476. and-int/lit8 v2, v2, 0x1
  10477.  
  10478. if-eqz v2, :cond_5a
  10479.  
  10480. .line 1545
  10481. const/4 v2, 0x1
  10482.  
  10483. invoke-direct {p0, v2}, Lcom/android/server/PowerManagerService;->setScreenStateLocked(Z)I
  10484.  
  10485. move-result v0
  10486.  
  10487. .line 1546
  10488. .local v0, err:I
  10489. if-eqz v0, :cond_5a
  10490.  
  10491. .line 1547
  10492. const-string v2, "PowerManagerService"
  10493.  
  10494. new-instance v3, Ljava/lang/StringBuilder;
  10495.  
  10496. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  10497.  
  10498. const-string v4, "preventScreenOn: error from setScreenStateLocked(): "
  10499.  
  10500. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10501.  
  10502. move-result-object v3
  10503.  
  10504. invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  10505.  
  10506. move-result-object v3
  10507.  
  10508. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  10509.  
  10510. move-result-object v3
  10511.  
  10512. invoke-static {v2, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
  10513.  
  10514. .line 1553
  10515. .end local v0 #err:I
  10516. :cond_5a
  10517. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mPreventScreenOnPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  10518.  
  10519. invoke-virtual {v2}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->release()V
  10520.  
  10521. goto :goto_25
  10522.  
  10523. .line 1555
  10524. :catchall_60
  10525. move-exception v2
  10526.  
  10527. monitor-exit v1
  10528. :try_end_62
  10529. .catchall {:try_start_d .. :try_end_62} :catchall_60
  10530.  
  10531. throw v2
  10532. .end method
  10533.  
  10534. .method public reboot(Ljava/lang/String;)V
  10535. .registers 7
  10536. .parameter "reason"
  10537.  
  10538. .prologue
  10539. .line 2469
  10540. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  10541.  
  10542. const-string v3, "android.permission.REBOOT"
  10543.  
  10544. const/4 v4, 0x0
  10545.  
  10546. invoke-virtual {v2, v3, v4}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  10547.  
  10548. .line 2471
  10549. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  10550.  
  10551. if-eqz v2, :cond_12
  10552.  
  10553. invoke-static {}, Landroid/app/ActivityManagerNative;->isSystemReady()Z
  10554.  
  10555. move-result v2
  10556.  
  10557. if-nez v2, :cond_1a
  10558.  
  10559. .line 2472
  10560. :cond_12
  10561. new-instance v2, Ljava/lang/IllegalStateException;
  10562.  
  10563. const-string v3, "Too early to call reboot()"
  10564.  
  10565. invoke-direct {v2, v3}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
  10566.  
  10567. throw v2
  10568.  
  10569. .line 2475
  10570. :cond_1a
  10571. move-object v0, p1
  10572.  
  10573. .line 2476
  10574. .local v0, finalReason:Ljava/lang/String;
  10575. new-instance v1, Lcom/android/server/PowerManagerService$10;
  10576.  
  10577. invoke-direct {v1, p0, v0}, Lcom/android/server/PowerManagerService$10;-><init>(Lcom/android/server/PowerManagerService;Ljava/lang/String;)V
  10578.  
  10579. .line 2485
  10580. .local v1, runnable:Ljava/lang/Runnable;
  10581. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  10582.  
  10583. invoke-virtual {v2, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
  10584.  
  10585. .line 2488
  10586. monitor-enter v1
  10587.  
  10588. .line 2491
  10589. :goto_26
  10590. :try_start_26
  10591. invoke-virtual {v1}, Ljava/lang/Object;->wait()V
  10592. :try_end_29
  10593. .catchall {:try_start_26 .. :try_end_29} :catchall_2c
  10594. .catch Ljava/lang/InterruptedException; {:try_start_26 .. :try_end_29} :catch_2a
  10595.  
  10596. goto :goto_26
  10597.  
  10598. .line 2492
  10599. :catch_2a
  10600. move-exception v2
  10601.  
  10602. goto :goto_26
  10603.  
  10604. .line 2495
  10605. :catchall_2c
  10606. move-exception v2
  10607.  
  10608. :try_start_2d
  10609. monitor-exit v1
  10610. :try_end_2e
  10611. .catchall {:try_start_2d .. :try_end_2e} :catchall_2c
  10612.  
  10613. throw v2
  10614. .end method
  10615.  
  10616. .method public releaseWakeLock(Landroid/os/IBinder;I)V
  10617. .registers 7
  10618. .parameter "lock"
  10619. .parameter "flags"
  10620.  
  10621. .prologue
  10622. .line 925
  10623. invoke-static {}, Landroid/os/Binder;->getCallingUid()I
  10624.  
  10625. move-result v0
  10626.  
  10627. .line 926
  10628. .local v0, uid:I
  10629. invoke-static {}, Landroid/os/Process;->myUid()I
  10630.  
  10631. move-result v1
  10632.  
  10633. if-eq v0, v1, :cond_12
  10634.  
  10635. .line 927
  10636. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  10637.  
  10638. const-string v2, "android.permission.WAKE_LOCK"
  10639.  
  10640. const/4 v3, 0x0
  10641.  
  10642. invoke-virtual {v1, v2, v3}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  10643.  
  10644. .line 930
  10645. :cond_12
  10646. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  10647.  
  10648. monitor-enter v1
  10649.  
  10650. .line 931
  10651. const/4 v2, 0x0
  10652.  
  10653. :try_start_16
  10654. invoke-direct {p0, p1, p2, v2}, Lcom/android/server/PowerManagerService;->releaseWakeLockLocked(Landroid/os/IBinder;IZ)V
  10655.  
  10656. .line 932
  10657. monitor-exit v1
  10658.  
  10659. .line 933
  10660. return-void
  10661.  
  10662. .line 932
  10663. :catchall_1b
  10664. move-exception v2
  10665.  
  10666. monitor-exit v1
  10667. :try_end_1d
  10668. .catchall {:try_start_16 .. :try_end_1d} :catchall_1b
  10669.  
  10670. throw v2
  10671. .end method
  10672.  
  10673. .method public setAttentionLight(ZI)V
  10674. .registers 7
  10675. .parameter "on"
  10676. .parameter "color"
  10677.  
  10678. .prologue
  10679. const/4 v3, 0x0
  10680.  
  10681. .line 2878
  10682. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  10683.  
  10684. const-string v1, "android.permission.DEVICE_POWER"
  10685.  
  10686. const/4 v2, 0x0
  10687.  
  10688. invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  10689.  
  10690. .line 2879
  10691. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mAttentionLight:Lcom/android/server/LightsService$Light;
  10692.  
  10693. const/4 v1, 0x2
  10694.  
  10695. if-eqz p1, :cond_13
  10696.  
  10697. const/4 v2, 0x3
  10698.  
  10699. :goto_f
  10700. invoke-virtual {v0, p2, v1, v2, v3}, Lcom/android/server/LightsService$Light;->setFlashing(IIII)V
  10701.  
  10702. .line 2880
  10703. return-void
  10704.  
  10705. :cond_13
  10706. move v2, v3
  10707.  
  10708. .line 2879
  10709. goto :goto_f
  10710. .end method
  10711.  
  10712. .method public setBacklightBrightness(I)V
  10713. .registers 9
  10714. .parameter "brightness"
  10715.  
  10716. .prologue
  10717. const-string v6, "PowerManagerService"
  10718.  
  10719. .line 2842
  10720. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  10721.  
  10722. const-string v4, "android.permission.DEVICE_POWER"
  10723.  
  10724. const/4 v5, 0x0
  10725.  
  10726. invoke-virtual {v3, v4, v5}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  10727.  
  10728. .line 2844
  10729. const-string v3, "PowerManagerService"
  10730.  
  10731. new-instance v3, Ljava/lang/StringBuilder;
  10732.  
  10733. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  10734.  
  10735. const-string v4, "setBacklightBrightness "
  10736.  
  10737. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10738.  
  10739. move-result-object v3
  10740.  
  10741. invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  10742.  
  10743. move-result-object v3
  10744.  
  10745. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  10746.  
  10747. move-result-object v3
  10748.  
  10749. invoke-static {v6, v3}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  10750.  
  10751. .line 2846
  10752. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->isScreenTurningOffLocked()Z
  10753.  
  10754. move-result v3
  10755.  
  10756. if-eqz v3, :cond_30
  10757.  
  10758. .line 2847
  10759. const-string v3, "PowerManagerService"
  10760.  
  10761. const-string v3, "but, isScreenTurningOffLocked : TRUE , so should be ignored"
  10762.  
  10763. invoke-static {v6, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
  10764.  
  10765. .line 2875
  10766. :goto_2f
  10767. return-void
  10768.  
  10769. .line 2852
  10770. :cond_30
  10771. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  10772.  
  10773. monitor-enter v3
  10774.  
  10775. .line 2853
  10776. const/16 v4, 0x14
  10777.  
  10778. :try_start_35
  10779. invoke-static {p1, v4}, Ljava/lang/Math;->max(II)I
  10780.  
  10781. move-result p1
  10782.  
  10783. .line 2854
  10784. iget-object v4, p0, Lcom/android/server/PowerManagerService;->mLcdLight:Lcom/android/server/LightsService$Light;
  10785.  
  10786. invoke-virtual {v4, p1}, Lcom/android/server/LightsService$Light;->setBrightness(I)V
  10787.  
  10788. .line 2860
  10789. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  10790. :try_end_41
  10791. .catchall {:try_start_35 .. :try_end_41} :catchall_59
  10792.  
  10793. move-result-wide v1
  10794.  
  10795. .line 2862
  10796. .local v1, identity:J
  10797. :try_start_42
  10798. iget-object v4, p0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  10799.  
  10800. invoke-interface {v4, p1}, Lcom/android/internal/app/IBatteryStats;->noteScreenBrightness(I)V
  10801. :try_end_47
  10802. .catchall {:try_start_42 .. :try_end_47} :catchall_69
  10803. .catch Landroid/os/RemoteException; {:try_start_42 .. :try_end_47} :catch_5c
  10804.  
  10805. .line 2866
  10806. :try_start_47
  10807. invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  10808.  
  10809. .line 2870
  10810. :goto_4a
  10811. iget-object v4, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  10812.  
  10813. monitor-enter v4
  10814. :try_end_4d
  10815. .catchall {:try_start_47 .. :try_end_4d} :catchall_59
  10816.  
  10817. .line 2871
  10818. :try_start_4d
  10819. iget-object v5, p0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  10820.  
  10821. iput p1, v5, Lcom/android/server/PowerManagerService$BrightnessState;->targetValue:I
  10822.  
  10823. .line 2872
  10824. iget-object v5, p0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  10825.  
  10826. invoke-virtual {v5}, Lcom/android/server/PowerManagerService$BrightnessState;->jumpToTargetLocked()V
  10827.  
  10828. .line 2873
  10829. monitor-exit v4
  10830. :try_end_57
  10831. .catchall {:try_start_4d .. :try_end_57} :catchall_6e
  10832.  
  10833. .line 2874
  10834. :try_start_57
  10835. monitor-exit v3
  10836.  
  10837. goto :goto_2f
  10838.  
  10839. .end local v1 #identity:J
  10840. :catchall_59
  10841. move-exception v4
  10842.  
  10843. monitor-exit v3
  10844. :try_end_5b
  10845. .catchall {:try_start_57 .. :try_end_5b} :catchall_59
  10846.  
  10847. throw v4
  10848.  
  10849. .line 2863
  10850. .restart local v1 #identity:J
  10851. :catch_5c
  10852. move-exception v4
  10853.  
  10854. move-object v0, v4
  10855.  
  10856. .line 2864
  10857. .local v0, e:Landroid/os/RemoteException;
  10858. :try_start_5e
  10859. const-string v4, "PowerManagerService"
  10860.  
  10861. const-string v5, "RemoteException calling noteScreenBrightness on BatteryStatsService"
  10862.  
  10863. invoke-static {v4, v5, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  10864. :try_end_65
  10865. .catchall {:try_start_5e .. :try_end_65} :catchall_69
  10866.  
  10867. .line 2866
  10868. :try_start_65
  10869. invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  10870.  
  10871. goto :goto_4a
  10872.  
  10873. .end local v0 #e:Landroid/os/RemoteException;
  10874. :catchall_69
  10875. move-exception v4
  10876.  
  10877. invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  10878.  
  10879. throw v4
  10880. :try_end_6e
  10881. .catchall {:try_start_65 .. :try_end_6e} :catchall_59
  10882.  
  10883. .line 2873
  10884. :catchall_6e
  10885. move-exception v5
  10886.  
  10887. :try_start_6f
  10888. monitor-exit v4
  10889. :try_end_70
  10890. .catchall {:try_start_6f .. :try_end_70} :catchall_6e
  10891.  
  10892. :try_start_70
  10893. throw v5
  10894. :try_end_71
  10895. .catchall {:try_start_70 .. :try_end_71} :catchall_59
  10896. .end method
  10897.  
  10898. .method public setButtonBrightnessOverride(I)V
  10899. .registers 5
  10900. .parameter "brightness"
  10901.  
  10902. .prologue
  10903. .line 1573
  10904. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  10905.  
  10906. const-string v1, "android.permission.DEVICE_POWER"
  10907.  
  10908. const/4 v2, 0x0
  10909.  
  10910. invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  10911.  
  10912. .line 1576
  10913. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  10914.  
  10915. monitor-enter v0
  10916.  
  10917. .line 1577
  10918. :try_start_b
  10919. iget v1, p0, Lcom/android/server/PowerManagerService;->mButtonBrightnessOverride:I
  10920.  
  10921. if-eq v1, p1, :cond_1e
  10922.  
  10923. .line 1578
  10924. iput p1, p0, Lcom/android/server/PowerManagerService;->mButtonBrightnessOverride:I
  10925.  
  10926. .line 1579
  10927. invoke-virtual {p0}, Lcom/android/server/PowerManagerService;->isScreenOn()Z
  10928.  
  10929. move-result v1
  10930.  
  10931. if-eqz v1, :cond_1e
  10932.  
  10933. .line 1580
  10934. iget v1, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  10935.  
  10936. const/16 v2, 0xc
  10937.  
  10938. invoke-direct {p0, v1, v2}, Lcom/android/server/PowerManagerService;->updateLightsLocked(II)V
  10939.  
  10940. .line 1583
  10941. :cond_1e
  10942. monitor-exit v0
  10943.  
  10944. .line 1584
  10945. return-void
  10946.  
  10947. .line 1583
  10948. :catchall_20
  10949. move-exception v1
  10950.  
  10951. monitor-exit v0
  10952. :try_end_22
  10953. .catchall {:try_start_b .. :try_end_22} :catchall_20
  10954.  
  10955. throw v1
  10956. .end method
  10957.  
  10958. .method public setKeyboardVisibility(Z)V
  10959. .registers 10
  10960. .parameter "visible"
  10961.  
  10962. .prologue
  10963. .line 2561
  10964. iget-object v7, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  10965.  
  10966. monitor-enter v7
  10967.  
  10968. .line 2565
  10969. :try_start_3
  10970. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mKeyboardVisible:Z
  10971.  
  10972. if-eq v0, p1, :cond_2f
  10973.  
  10974. .line 2566
  10975. iput-boolean p1, p0, Lcom/android/server/PowerManagerService;->mKeyboardVisible:Z
  10976.  
  10977. .line 2570
  10978. iget v0, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  10979.  
  10980. and-int/lit8 v0, v0, 0x1
  10981.  
  10982. if-eqz v0, :cond_2f
  10983.  
  10984. .line 2571
  10985. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  10986.  
  10987. if-eqz v0, :cond_24
  10988.  
  10989. .line 2573
  10990. iget v0, p0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  10991.  
  10992. const/4 v1, 0x0
  10993.  
  10994. cmpl-float v0, v0, v1
  10995.  
  10996. if-ltz v0, :cond_24
  10997.  
  10998. .line 2574
  10999. iget v0, p0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  11000.  
  11001. float-to-int v6, v0
  11002.  
  11003. .line 2575
  11004. .local v6, value:I
  11005. const/high16 v0, -0x4080
  11006.  
  11007. iput v0, p0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  11008.  
  11009. .line 2576
  11010. invoke-direct {p0, v6}, Lcom/android/server/PowerManagerService;->lightSensorChangedLocked(I)V
  11011.  
  11012. .line 2579
  11013. .end local v6 #value:I
  11014. :cond_24
  11015. invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
  11016.  
  11017. move-result-wide v1
  11018.  
  11019. const/4 v3, 0x0
  11020.  
  11021. const/4 v4, 0x5
  11022.  
  11023. const/4 v5, 0x1
  11024.  
  11025. move-object v0, p0
  11026.  
  11027. invoke-virtual/range {v0 .. v5}, Lcom/android/server/PowerManagerService;->userActivity(JZIZ)V
  11028.  
  11029. .line 2582
  11030. :cond_2f
  11031. monitor-exit v7
  11032.  
  11033. .line 2583
  11034. return-void
  11035.  
  11036. .line 2582
  11037. :catchall_31
  11038. move-exception v0
  11039.  
  11040. monitor-exit v7
  11041. :try_end_33
  11042. .catchall {:try_start_3 .. :try_end_33} :catchall_31
  11043.  
  11044. throw v0
  11045. .end method
  11046.  
  11047. .method public setMaximumScreenOffTimeount(I)V
  11048. .registers 5
  11049. .parameter "timeMs"
  11050.  
  11051. .prologue
  11052. .line 425
  11053. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  11054.  
  11055. const-string v1, "android.permission.WRITE_SECURE_SETTINGS"
  11056.  
  11057. const/4 v2, 0x0
  11058.  
  11059. invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  11060.  
  11061. .line 427
  11062. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  11063.  
  11064. monitor-enter v0
  11065.  
  11066. .line 428
  11067. :try_start_b
  11068. iput p1, p0, Lcom/android/server/PowerManagerService;->mMaximumScreenOffTimeout:I
  11069.  
  11070. .line 430
  11071. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->setScreenOffTimeoutsLocked()V
  11072.  
  11073. .line 431
  11074. monitor-exit v0
  11075.  
  11076. .line 432
  11077. return-void
  11078.  
  11079. .line 431
  11080. :catchall_12
  11081. move-exception v1
  11082.  
  11083. monitor-exit v0
  11084. :try_end_14
  11085. .catchall {:try_start_b .. :try_end_14} :catchall_12
  11086.  
  11087. throw v1
  11088. .end method
  11089.  
  11090. .method public setPokeLock(ILandroid/os/IBinder;Ljava/lang/String;)V
  11091. .registers 24
  11092. .parameter "pokey"
  11093. .parameter "token"
  11094. .parameter "tag"
  11095.  
  11096. .prologue
  11097. .line 1006
  11098. move-object/from16 v0, p0
  11099.  
  11100. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  11101.  
  11102. move-object/from16 v16, v0
  11103.  
  11104. const-string v17, "android.permission.DEVICE_POWER"
  11105.  
  11106. const/16 v18, 0x0
  11107.  
  11108. invoke-virtual/range {v16 .. v18}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  11109.  
  11110. .line 1007
  11111. const-string v16, "PowerManagerService"
  11112.  
  11113. new-instance v17, Ljava/lang/StringBuilder;
  11114.  
  11115. invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
  11116.  
  11117. const-string v18, "setPokeLock pokey="
  11118.  
  11119. invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11120.  
  11121. move-result-object v17
  11122.  
  11123. move-object/from16 v0, v17
  11124.  
  11125. move/from16 v1, p1
  11126.  
  11127. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  11128.  
  11129. move-result-object v17
  11130.  
  11131. const-string v18, " tag="
  11132.  
  11133. invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11134.  
  11135. move-result-object v17
  11136.  
  11137. move-object/from16 v0, v17
  11138.  
  11139. move-object/from16 v1, p3
  11140.  
  11141. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11142.  
  11143. move-result-object v17
  11144.  
  11145. invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  11146.  
  11147. move-result-object v17
  11148.  
  11149. invoke-static/range {v16 .. v17}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  11150.  
  11151. .line 1008
  11152. if-nez p2, :cond_5c
  11153.  
  11154. .line 1009
  11155. const-string v16, "PowerManagerService"
  11156.  
  11157. new-instance v17, Ljava/lang/StringBuilder;
  11158.  
  11159. invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
  11160.  
  11161. const-string v18, "setPokeLock got null token for tag=\'"
  11162.  
  11163. invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11164.  
  11165. move-result-object v17
  11166.  
  11167. move-object/from16 v0, v17
  11168.  
  11169. move-object/from16 v1, p3
  11170.  
  11171. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11172.  
  11173. move-result-object v17
  11174.  
  11175. const-string v18, "\'"
  11176.  
  11177. invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11178.  
  11179. move-result-object v17
  11180.  
  11181. invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  11182.  
  11183. move-result-object v17
  11184.  
  11185. invoke-static/range {v16 .. v17}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
  11186.  
  11187. .line 1064
  11188. :goto_5b
  11189. return-void
  11190.  
  11191. .line 1013
  11192. :cond_5c
  11193. and-int/lit8 v16, p1, 0x16
  11194.  
  11195. const/16 v17, 0x16
  11196.  
  11197. move/from16 v0, v16
  11198.  
  11199. move/from16 v1, v17
  11200.  
  11201. if-ne v0, v1, :cond_6e
  11202.  
  11203. .line 1014
  11204. new-instance v16, Ljava/lang/IllegalArgumentException;
  11205.  
  11206. const-string v17, "setPokeLock can\'t have both POKE_LOCK_SHORT_TIMEOUT and POKE_LOCK_MEDIUM_TIMEOUT"
  11207.  
  11208. invoke-direct/range {v16 .. v17}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
  11209.  
  11210. throw v16
  11211.  
  11212. .line 1018
  11213. :cond_6e
  11214. move-object/from16 v0, p0
  11215.  
  11216. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  11217.  
  11218. move-object/from16 v16, v0
  11219.  
  11220. monitor-enter v16
  11221.  
  11222. .line 1019
  11223. if-eqz p1, :cond_fe
  11224.  
  11225. .line 1020
  11226. :try_start_77
  11227. move-object/from16 v0, p0
  11228.  
  11229. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mPokeLocks:Ljava/util/HashMap;
  11230.  
  11231. move-object/from16 v17, v0
  11232.  
  11233. move-object/from16 v0, v17
  11234.  
  11235. move-object/from16 v1, p2
  11236.  
  11237. invoke-virtual {v0, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
  11238.  
  11239. move-result-object v14
  11240.  
  11241. check-cast v14, Lcom/android/server/PowerManagerService$PokeLock;
  11242.  
  11243. .line 1021
  11244. .local v14, p:Lcom/android/server/PowerManagerService$PokeLock;
  11245. const/4 v12, 0x0
  11246.  
  11247. .line 1022
  11248. .local v12, oldPokey:I
  11249. if-eqz v14, :cond_de
  11250.  
  11251. .line 1023
  11252. iget v12, v14, Lcom/android/server/PowerManagerService$PokeLock;->pokey:I
  11253.  
  11254. .line 1024
  11255. move/from16 v0, p1
  11256.  
  11257. move-object v1, v14
  11258.  
  11259. iput v0, v1, Lcom/android/server/PowerManagerService$PokeLock;->pokey:I
  11260.  
  11261. .line 1029
  11262. :goto_91
  11263. and-int/lit8 v13, v12, 0x16
  11264.  
  11265. .line 1030
  11266. .local v13, oldTimeout:I
  11267. and-int/lit8 v9, p1, 0x16
  11268.  
  11269. .line 1031
  11270. .local v9, newTimeout:I
  11271. move-object/from16 v0, p0
  11272.  
  11273. iget v0, v0, Lcom/android/server/PowerManagerService;->mPowerState:I
  11274.  
  11275. move/from16 v17, v0
  11276.  
  11277. and-int/lit8 v17, v17, 0x1
  11278.  
  11279. if-nez v17, :cond_a8
  11280.  
  11281. if-eq v13, v9, :cond_a8
  11282.  
  11283. .line 1032
  11284. const/16 v17, 0x1
  11285.  
  11286. move/from16 v0, v17
  11287.  
  11288. move-object v1, v14
  11289.  
  11290. iput-boolean v0, v1, Lcom/android/server/PowerManagerService$PokeLock;->awakeOnSet:Z
  11291.  
  11292. .line 1041
  11293. .end local v9 #newTimeout:I
  11294. .end local v12 #oldPokey:I
  11295. .end local v13 #oldTimeout:I
  11296. .end local v14 #p:Lcom/android/server/PowerManagerService$PokeLock;
  11297. :cond_a8
  11298. :goto_a8
  11299. move-object/from16 v0, p0
  11300.  
  11301. iget v0, v0, Lcom/android/server/PowerManagerService;->mPokey:I
  11302.  
  11303. move v12, v0
  11304.  
  11305. .line 1042
  11306. .restart local v12 #oldPokey:I
  11307. const/4 v6, 0x0
  11308.  
  11309. .line 1043
  11310. .local v6, cumulative:I
  11311. move-object/from16 v0, p0
  11312.  
  11313. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mPokeAwakeOnSet:Z
  11314.  
  11315. move v10, v0
  11316.  
  11317. .line 1044
  11318. .local v10, oldAwakeOnSet:Z
  11319. const/4 v5, 0x0
  11320.  
  11321. .line 1045
  11322. .local v5, awakeOnSet:Z
  11323. move-object/from16 v0, p0
  11324.  
  11325. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mPokeLocks:Ljava/util/HashMap;
  11326.  
  11327. move-object/from16 v17, v0
  11328.  
  11329. invoke-virtual/range {v17 .. v17}, Ljava/util/HashMap;->values()Ljava/util/Collection;
  11330.  
  11331. move-result-object v17
  11332.  
  11333. invoke-interface/range {v17 .. v17}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
  11334.  
  11335. move-result-object v7
  11336.  
  11337. .local v7, i$:Ljava/util/Iterator;
  11338. :cond_c2
  11339. :goto_c2
  11340. invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z
  11341.  
  11342. move-result v17
  11343.  
  11344. if-eqz v17, :cond_11b
  11345.  
  11346. invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;
  11347.  
  11348. move-result-object v14
  11349.  
  11350. check-cast v14, Lcom/android/server/PowerManagerService$PokeLock;
  11351.  
  11352. .line 1046
  11353. .restart local v14 #p:Lcom/android/server/PowerManagerService$PokeLock;
  11354. move-object v0, v14
  11355.  
  11356. iget v0, v0, Lcom/android/server/PowerManagerService$PokeLock;->pokey:I
  11357.  
  11358. move/from16 v17, v0
  11359.  
  11360. or-int v6, v6, v17
  11361.  
  11362. .line 1047
  11363. move-object v0, v14
  11364.  
  11365. iget-boolean v0, v0, Lcom/android/server/PowerManagerService$PokeLock;->awakeOnSet:Z
  11366.  
  11367. move/from16 v17, v0
  11368.  
  11369. if-eqz v17, :cond_c2
  11370.  
  11371. .line 1048
  11372. const/4 v5, 0x1
  11373.  
  11374. goto :goto_c2
  11375.  
  11376. .line 1026
  11377. .end local v5 #awakeOnSet:Z
  11378. .end local v6 #cumulative:I
  11379. .end local v7 #i$:Ljava/util/Iterator;
  11380. .end local v10 #oldAwakeOnSet:Z
  11381. :cond_de
  11382. new-instance v14, Lcom/android/server/PowerManagerService$PokeLock;
  11383.  
  11384. .end local v14 #p:Lcom/android/server/PowerManagerService$PokeLock;
  11385. move-object v0, v14
  11386.  
  11387. move-object/from16 v1, p0
  11388.  
  11389. move/from16 v2, p1
  11390.  
  11391. move-object/from16 v3, p2
  11392.  
  11393. move-object/from16 v4, p3
  11394.  
  11395. invoke-direct {v0, v1, v2, v3, v4}, Lcom/android/server/PowerManagerService$PokeLock;-><init>(Lcom/android/server/PowerManagerService;ILandroid/os/IBinder;Ljava/lang/String;)V
  11396.  
  11397. .line 1027
  11398. .restart local v14 #p:Lcom/android/server/PowerManagerService$PokeLock;
  11399. move-object/from16 v0, p0
  11400.  
  11401. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mPokeLocks:Ljava/util/HashMap;
  11402.  
  11403. move-object/from16 v17, v0
  11404.  
  11405. move-object/from16 v0, v17
  11406.  
  11407. move-object/from16 v1, p2
  11408.  
  11409. move-object v2, v14
  11410.  
  11411. invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  11412.  
  11413. goto :goto_91
  11414.  
  11415. .line 1063
  11416. .end local v12 #oldPokey:I
  11417. .end local v14 #p:Lcom/android/server/PowerManagerService$PokeLock;
  11418. :catchall_fb
  11419. move-exception v17
  11420.  
  11421. monitor-exit v16
  11422. :try_end_fd
  11423. .catchall {:try_start_77 .. :try_end_fd} :catchall_fb
  11424.  
  11425. throw v17
  11426.  
  11427. .line 1035
  11428. :cond_fe
  11429. :try_start_fe
  11430. move-object/from16 v0, p0
  11431.  
  11432. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mPokeLocks:Ljava/util/HashMap;
  11433.  
  11434. move-object/from16 v17, v0
  11435.  
  11436. move-object/from16 v0, v17
  11437.  
  11438. move-object/from16 v1, p2
  11439.  
  11440. invoke-virtual {v0, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
  11441.  
  11442. move-result-object v15
  11443.  
  11444. check-cast v15, Lcom/android/server/PowerManagerService$PokeLock;
  11445.  
  11446. .line 1036
  11447. .local v15, rLock:Lcom/android/server/PowerManagerService$PokeLock;
  11448. if-eqz v15, :cond_a8
  11449.  
  11450. .line 1037
  11451. const/16 v17, 0x0
  11452.  
  11453. move-object/from16 v0, p2
  11454.  
  11455. move-object v1, v15
  11456.  
  11457. move/from16 v2, v17
  11458.  
  11459. invoke-interface {v0, v1, v2}, Landroid/os/IBinder;->unlinkToDeath(Landroid/os/IBinder$DeathRecipient;I)Z
  11460.  
  11461. goto :goto_a8
  11462.  
  11463. .line 1051
  11464. .end local v15 #rLock:Lcom/android/server/PowerManagerService$PokeLock;
  11465. .restart local v5 #awakeOnSet:Z
  11466. .restart local v6 #cumulative:I
  11467. .restart local v7 #i$:Ljava/util/Iterator;
  11468. .restart local v10 #oldAwakeOnSet:Z
  11469. .restart local v12 #oldPokey:I
  11470. :cond_11b
  11471. move v0, v6
  11472.  
  11473. move-object/from16 v1, p0
  11474.  
  11475. iput v0, v1, Lcom/android/server/PowerManagerService;->mPokey:I
  11476.  
  11477. .line 1052
  11478. move v0, v5
  11479.  
  11480. move-object/from16 v1, p0
  11481.  
  11482. iput-boolean v0, v1, Lcom/android/server/PowerManagerService;->mPokeAwakeOnSet:Z
  11483.  
  11484. .line 1054
  11485. and-int/lit8 v11, v12, 0x16
  11486.  
  11487. .line 1055
  11488. .local v11, oldCumulativeTimeout:I
  11489. and-int/lit8 v8, p1, 0x16
  11490.  
  11491. .line 1057
  11492. .local v8, newCumulativeTimeout:I
  11493. if-eq v11, v8, :cond_147
  11494.  
  11495. .line 1058
  11496. invoke-direct/range {p0 .. p0}, Lcom/android/server/PowerManagerService;->setScreenOffTimeoutsLocked()V
  11497.  
  11498. .line 1061
  11499. invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
  11500.  
  11501. move-result-wide v17
  11502.  
  11503. move-object/from16 v0, p0
  11504.  
  11505. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mTimeoutTask:Lcom/android/server/PowerManagerService$TimeoutTask;
  11506.  
  11507. move-object/from16 v19, v0
  11508.  
  11509. move-object/from16 v0, v19
  11510.  
  11511. iget v0, v0, Lcom/android/server/PowerManagerService$TimeoutTask;->nextState:I
  11512.  
  11513. move/from16 v19, v0
  11514.  
  11515. move-object/from16 v0, p0
  11516.  
  11517. move-wide/from16 v1, v17
  11518.  
  11519. move/from16 v3, v19
  11520.  
  11521. invoke-direct {v0, v1, v2, v3}, Lcom/android/server/PowerManagerService;->setTimeoutLocked(JI)V
  11522.  
  11523. .line 1063
  11524. :cond_147
  11525. monitor-exit v16
  11526. :try_end_148
  11527. .catchall {:try_start_fe .. :try_end_148} :catchall_fb
  11528.  
  11529. goto/16 :goto_5b
  11530. .end method
  11531.  
  11532. .method setPolicy(Landroid/view/WindowManagerPolicy;)V
  11533. .registers 4
  11534. .parameter "p"
  11535.  
  11536. .prologue
  11537. .line 2751
  11538. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  11539.  
  11540. monitor-enter v0
  11541.  
  11542. .line 2752
  11543. :try_start_3
  11544. iput-object p1, p0, Lcom/android/server/PowerManagerService;->mPolicy:Landroid/view/WindowManagerPolicy;
  11545.  
  11546. .line 2753
  11547. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  11548.  
  11549. invoke-virtual {v1}, Ljava/lang/Object;->notifyAll()V
  11550.  
  11551. .line 2754
  11552. monitor-exit v0
  11553.  
  11554. .line 2755
  11555. return-void
  11556.  
  11557. .line 2754
  11558. :catchall_c
  11559. move-exception v1
  11560.  
  11561. monitor-exit v0
  11562. :try_end_e
  11563. .catchall {:try_start_3 .. :try_end_e} :catchall_c
  11564.  
  11565. throw v1
  11566. .end method
  11567.  
  11568. .method public setScreenBrightnessOverride(I)V
  11569. .registers 5
  11570. .parameter "brightness"
  11571.  
  11572. .prologue
  11573. .line 1559
  11574. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  11575.  
  11576. const-string v1, "android.permission.DEVICE_POWER"
  11577.  
  11578. const/4 v2, 0x0
  11579.  
  11580. invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  11581.  
  11582. .line 1562
  11583. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  11584.  
  11585. monitor-enter v0
  11586.  
  11587. .line 1563
  11588. :try_start_b
  11589. iget v1, p0, Lcom/android/server/PowerManagerService;->mScreenBrightnessOverride:I
  11590.  
  11591. if-eq v1, p1, :cond_1d
  11592.  
  11593. .line 1564
  11594. iput p1, p0, Lcom/android/server/PowerManagerService;->mScreenBrightnessOverride:I
  11595.  
  11596. .line 1565
  11597. invoke-virtual {p0}, Lcom/android/server/PowerManagerService;->isScreenOn()Z
  11598.  
  11599. move-result v1
  11600.  
  11601. if-eqz v1, :cond_1d
  11602.  
  11603. .line 1566
  11604. iget v1, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  11605.  
  11606. const/4 v2, 0x1
  11607.  
  11608. invoke-direct {p0, v1, v2}, Lcom/android/server/PowerManagerService;->updateLightsLocked(II)V
  11609.  
  11610. .line 1569
  11611. :cond_1d
  11612. monitor-exit v0
  11613.  
  11614. .line 1570
  11615. return-void
  11616.  
  11617. .line 1569
  11618. :catchall_1f
  11619. move-exception v1
  11620.  
  11621. monitor-exit v0
  11622. :try_end_21
  11623. .catchall {:try_start_b .. :try_end_21} :catchall_1f
  11624.  
  11625. throw v1
  11626. .end method
  11627.  
  11628. .method public setStayOnSetting(I)V
  11629. .registers 5
  11630. .parameter "val"
  11631.  
  11632. .prologue
  11633. .line 419
  11634. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  11635.  
  11636. const-string v1, "android.permission.WRITE_SETTINGS"
  11637.  
  11638. const/4 v2, 0x0
  11639.  
  11640. invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  11641.  
  11642. .line 420
  11643. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  11644.  
  11645. invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
  11646.  
  11647. move-result-object v0
  11648.  
  11649. const-string v1, "stay_on_while_plugged_in"
  11650.  
  11651. invoke-static {v0, v1, p1}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
  11652.  
  11653. .line 422
  11654. return-void
  11655. .end method
  11656.  
  11657. .method systemReady()V
  11658. .registers 6
  11659.  
  11660. .prologue
  11661. const/4 v4, 0x1
  11662.  
  11663. .line 2769
  11664. new-instance v2, Landroid/hardware/SensorManager;
  11665.  
  11666. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mHandlerThread:Landroid/os/HandlerThread;
  11667.  
  11668. invoke-virtual {v3}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper;
  11669.  
  11670. move-result-object v3
  11671.  
  11672. invoke-direct {v2, v3}, Landroid/hardware/SensorManager;-><init>(Landroid/os/Looper;)V
  11673.  
  11674. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mSensorManager:Landroid/hardware/SensorManager;
  11675.  
  11676. .line 2770
  11677. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mSensorManager:Landroid/hardware/SensorManager;
  11678.  
  11679. const/16 v3, 0x8
  11680.  
  11681. invoke-virtual {v2, v3}, Landroid/hardware/SensorManager;->getDefaultSensor(I)Landroid/hardware/Sensor;
  11682.  
  11683. move-result-object v2
  11684.  
  11685. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mProximitySensor:Landroid/hardware/Sensor;
  11686.  
  11687. .line 2772
  11688. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  11689.  
  11690. if-eqz v2, :cond_28
  11691.  
  11692. .line 2773
  11693. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mSensorManager:Landroid/hardware/SensorManager;
  11694.  
  11695. const/4 v3, 0x5
  11696.  
  11697. invoke-virtual {v2, v3}, Landroid/hardware/SensorManager;->getDefaultSensor(I)Landroid/hardware/Sensor;
  11698.  
  11699. move-result-object v2
  11700.  
  11701. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mLightSensor:Landroid/hardware/Sensor;
  11702.  
  11703. .line 2774
  11704. invoke-direct {p0, v4}, Lcom/android/server/PowerManagerService;->enableLightSensor(Z)V
  11705.  
  11706. .line 2780
  11707. :cond_28
  11708. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  11709.  
  11710. if-eqz v2, :cond_54
  11711.  
  11712. .line 2782
  11713. const/4 v2, 0x3
  11714.  
  11715. invoke-direct {p0, v2}, Lcom/android/server/PowerManagerService;->setPowerState(I)V
  11716.  
  11717. .line 2788
  11718. :goto_30
  11719. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  11720.  
  11721. monitor-enter v2
  11722.  
  11723. .line 2789
  11724. :try_start_33
  11725. const-string v3, "PowerManagerService"
  11726.  
  11727. const-string v4, "system ready!"
  11728.  
  11729. invoke-static {v3, v4}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  11730.  
  11731. .line 2790
  11732. const/4 v3, 0x1
  11733.  
  11734. iput-boolean v3, p0, Lcom/android/server/PowerManagerService;->mDoneBooting:Z
  11735.  
  11736. .line 2792
  11737. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  11738. :try_end_40
  11739. .catchall {:try_start_33 .. :try_end_40} :catchall_5f
  11740.  
  11741. move-result-wide v0
  11742.  
  11743. .line 2794
  11744. .local v0, identity:J
  11745. :try_start_41
  11746. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  11747.  
  11748. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->getPreferredBrightness()I
  11749.  
  11750. move-result v4
  11751.  
  11752. invoke-interface {v3, v4}, Lcom/android/internal/app/IBatteryStats;->noteScreenBrightness(I)V
  11753.  
  11754. .line 2795
  11755. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  11756.  
  11757. invoke-interface {v3}, Lcom/android/internal/app/IBatteryStats;->noteScreenOn()V
  11758. :try_end_4f
  11759. .catchall {:try_start_41 .. :try_end_4f} :catchall_5a
  11760. .catch Landroid/os/RemoteException; {:try_start_41 .. :try_end_4f} :catch_62
  11761.  
  11762. .line 2799
  11763. :try_start_4f
  11764. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  11765.  
  11766. .line 2801
  11767. :goto_52
  11768. monitor-exit v2
  11769. :try_end_53
  11770. .catchall {:try_start_4f .. :try_end_53} :catchall_5f
  11771.  
  11772. .line 2802
  11773. return-void
  11774.  
  11775. .line 2785
  11776. .end local v0 #identity:J
  11777. :cond_54
  11778. const/16 v2, 0xf
  11779.  
  11780. invoke-direct {p0, v2}, Lcom/android/server/PowerManagerService;->setPowerState(I)V
  11781.  
  11782. goto :goto_30
  11783.  
  11784. .line 2799
  11785. .restart local v0 #identity:J
  11786. :catchall_5a
  11787. move-exception v3
  11788.  
  11789. :try_start_5b
  11790. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  11791.  
  11792. throw v3
  11793.  
  11794. .line 2801
  11795. .end local v0 #identity:J
  11796. :catchall_5f
  11797. move-exception v3
  11798.  
  11799. monitor-exit v2
  11800. :try_end_61
  11801. .catchall {:try_start_5b .. :try_end_61} :catchall_5f
  11802.  
  11803. throw v3
  11804.  
  11805. .line 2796
  11806. .restart local v0 #identity:J
  11807. :catch_62
  11808. move-exception v3
  11809.  
  11810. .line 2799
  11811. :try_start_63
  11812. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  11813. :try_end_66
  11814. .catchall {:try_start_63 .. :try_end_66} :catchall_5f
  11815.  
  11816. goto :goto_52
  11817. .end method
  11818.  
  11819. .method public systemReboot_Fota()V
  11820. .registers 4
  11821.  
  11822. .prologue
  11823. const-string v2, "PowerManagerService"
  11824.  
  11825. .line 2833
  11826. const-string v1, "PowerManagerService"
  11827.  
  11828. const-string v1, "System reboot FOTA!"
  11829.  
  11830. invoke-static {v2, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  11831.  
  11832. .line 2835
  11833. :try_start_9
  11834. const-string v1, "arm11_fota"
  11835.  
  11836. invoke-static {v1}, Landroid/os/Power;->reboot(Ljava/lang/String;)V
  11837. :try_end_e
  11838. .catch Ljava/io/IOException; {:try_start_9 .. :try_end_e} :catch_f
  11839.  
  11840. .line 2839
  11841. :goto_e
  11842. return-void
  11843.  
  11844. .line 2836
  11845. :catch_f
  11846. move-exception v1
  11847.  
  11848. move-object v0, v1
  11849.  
  11850. .line 2837
  11851. .local v0, e:Ljava/io/IOException;
  11852. const-string v1, "PowerManagerService"
  11853.  
  11854. const-string v1, "Reboot failed!"
  11855.  
  11856. invoke-static {v2, v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  11857.  
  11858. goto :goto_e
  11859. .end method
  11860.  
  11861. .method public timeSinceScreenOn()J
  11862. .registers 6
  11863.  
  11864. .prologue
  11865. .line 2552
  11866. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  11867.  
  11868. monitor-enter v0
  11869.  
  11870. .line 2553
  11871. :try_start_3
  11872. iget v1, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  11873.  
  11874. and-int/lit8 v1, v1, 0x1
  11875.  
  11876. if-eqz v1, :cond_e
  11877.  
  11878. .line 2554
  11879. const-wide/16 v1, 0x0
  11880.  
  11881. monitor-exit v0
  11882.  
  11883. move-wide v0, v1
  11884.  
  11885. .line 2556
  11886. :goto_d
  11887. return-wide v0
  11888.  
  11889. :cond_e
  11890. invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
  11891.  
  11892. move-result-wide v1
  11893.  
  11894. iget-wide v3, p0, Lcom/android/server/PowerManagerService;->mScreenOffTime:J
  11895.  
  11896. sub-long/2addr v1, v3
  11897.  
  11898. monitor-exit v0
  11899.  
  11900. move-wide v0, v1
  11901.  
  11902. goto :goto_d
  11903.  
  11904. .line 2557
  11905. :catchall_18
  11906. move-exception v1
  11907.  
  11908. monitor-exit v0
  11909. :try_end_1a
  11910. .catchall {:try_start_3 .. :try_end_1a} :catchall_18
  11911.  
  11912. throw v1
  11913. .end method
  11914.  
  11915. .method public updateWakeLockWorkSource(Landroid/os/IBinder;Landroid/os/WorkSource;)V
  11916. .registers 11
  11917. .parameter "lock"
  11918. .parameter "ws"
  11919.  
  11920. .prologue
  11921. .line 903
  11922. invoke-static {}, Landroid/os/Binder;->getCallingUid()I
  11923.  
  11924. move-result v3
  11925.  
  11926. .line 904
  11927. .local v3, uid:I
  11928. invoke-static {}, Landroid/os/Binder;->getCallingPid()I
  11929.  
  11930. move-result v2
  11931.  
  11932. .line 905
  11933. .local v2, pid:I
  11934. if-eqz p2, :cond_11
  11935.  
  11936. invoke-virtual {p2}, Landroid/os/WorkSource;->size()I
  11937.  
  11938. move-result v5
  11939.  
  11940. if-nez v5, :cond_11
  11941.  
  11942. .line 906
  11943. const/4 p2, 0x0
  11944.  
  11945. .line 908
  11946. :cond_11
  11947. if-eqz p2, :cond_16
  11948.  
  11949. .line 909
  11950. invoke-virtual {p0, v3, v2}, Lcom/android/server/PowerManagerService;->enforceWakeSourcePermission(II)V
  11951.  
  11952. .line 911
  11953. :cond_16
  11954. iget-object v5, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  11955.  
  11956. monitor-enter v5
  11957.  
  11958. .line 912
  11959. :try_start_19
  11960. iget-object v6, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  11961.  
  11962. invoke-virtual {v6, p1}, Lcom/android/server/PowerManagerService$LockList;->getIndex(Landroid/os/IBinder;)I
  11963.  
  11964. move-result v0
  11965.  
  11966. .line 913
  11967. .local v0, index:I
  11968. if-gez v0, :cond_2c
  11969.  
  11970. .line 914
  11971. new-instance v6, Ljava/lang/IllegalArgumentException;
  11972.  
  11973. const-string v7, "Wake lock not active"
  11974.  
  11975. invoke-direct {v6, v7}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
  11976.  
  11977. throw v6
  11978.  
  11979. .line 921
  11980. .end local v0 #index:I
  11981. :catchall_29
  11982. move-exception v6
  11983.  
  11984. monitor-exit v5
  11985. :try_end_2b
  11986. .catchall {:try_start_19 .. :try_end_2b} :catchall_29
  11987.  
  11988. throw v6
  11989.  
  11990. .line 916
  11991. .restart local v0 #index:I
  11992. :cond_2c
  11993. :try_start_2c
  11994. iget-object v6, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  11995.  
  11996. invoke-virtual {v6, v0}, Lcom/android/server/PowerManagerService$LockList;->get(I)Ljava/lang/Object;
  11997.  
  11998. move-result-object v4
  11999.  
  12000. check-cast v4, Lcom/android/server/PowerManagerService$WakeLock;
  12001.  
  12002. .line 917
  12003. .local v4, wl:Lcom/android/server/PowerManagerService$WakeLock;
  12004. iget-object v1, v4, Lcom/android/server/PowerManagerService$WakeLock;->ws:Landroid/os/WorkSource;
  12005.  
  12006. .line 918
  12007. .local v1, oldsource:Landroid/os/WorkSource;
  12008. if-eqz p2, :cond_47
  12009.  
  12010. new-instance v6, Landroid/os/WorkSource;
  12011.  
  12012. invoke-direct {v6, p2}, Landroid/os/WorkSource;-><init>(Landroid/os/WorkSource;)V
  12013.  
  12014. :goto_3d
  12015. iput-object v6, v4, Lcom/android/server/PowerManagerService$WakeLock;->ws:Landroid/os/WorkSource;
  12016.  
  12017. .line 919
  12018. invoke-virtual {p0, v4, v1}, Lcom/android/server/PowerManagerService;->noteStopWakeLocked(Lcom/android/server/PowerManagerService$WakeLock;Landroid/os/WorkSource;)V
  12019.  
  12020. .line 920
  12021. invoke-virtual {p0, v4, p2}, Lcom/android/server/PowerManagerService;->noteStartWakeLocked(Lcom/android/server/PowerManagerService$WakeLock;Landroid/os/WorkSource;)V
  12022.  
  12023. .line 921
  12024. monitor-exit v5
  12025. :try_end_46
  12026. .catchall {:try_start_2c .. :try_end_46} :catchall_29
  12027.  
  12028. .line 922
  12029. return-void
  12030.  
  12031. .line 918
  12032. :cond_47
  12033. const/4 v6, 0x0
  12034.  
  12035. goto :goto_3d
  12036. .end method
  12037.  
  12038. .method public userActivity(JZ)V
  12039. .registers 12
  12040. .parameter "time"
  12041. .parameter "noChangeLights"
  12042.  
  12043. .prologue
  12044. const/4 v6, 0x0
  12045.  
  12046. .line 2208
  12047. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  12048.  
  12049. const-string v1, "android.permission.DEVICE_POWER"
  12050.  
  12051. invoke-virtual {v0, v1}, Landroid/content/Context;->checkCallingOrSelfPermission(Ljava/lang/String;)I
  12052.  
  12053. move-result v0
  12054.  
  12055. if-eqz v0, :cond_3c
  12056.  
  12057. .line 2210
  12058. invoke-direct {p0, p1, p2}, Lcom/android/server/PowerManagerService;->shouldLog(J)Z
  12059.  
  12060. move-result v0
  12061.  
  12062. if-eqz v0, :cond_3b
  12063.  
  12064. .line 2211
  12065. const-string v0, "PowerManagerService"
  12066.  
  12067. new-instance v1, Ljava/lang/StringBuilder;
  12068.  
  12069. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  12070.  
  12071. const-string v2, "Caller does not have DEVICE_POWER permission. pid="
  12072.  
  12073. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12074.  
  12075. move-result-object v1
  12076.  
  12077. invoke-static {}, Landroid/os/Binder;->getCallingPid()I
  12078.  
  12079. move-result v2
  12080.  
  12081. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  12082.  
  12083. move-result-object v1
  12084.  
  12085. const-string v2, " uid="
  12086.  
  12087. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12088.  
  12089. move-result-object v1
  12090.  
  12091. invoke-static {}, Landroid/os/Binder;->getCallingUid()I
  12092.  
  12093. move-result v2
  12094.  
  12095. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  12096.  
  12097. move-result-object v1
  12098.  
  12099. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  12100.  
  12101. move-result-object v1
  12102.  
  12103. invoke-static {v0, v1}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
  12104.  
  12105. .line 2218
  12106. :cond_3b
  12107. :goto_3b
  12108. return-void
  12109.  
  12110. .line 2217
  12111. :cond_3c
  12112. const-wide/16 v3, -0x1
  12113.  
  12114. move-object v0, p0
  12115.  
  12116. move-wide v1, p1
  12117.  
  12118. move v5, p3
  12119.  
  12120. move v7, v6
  12121.  
  12122. invoke-direct/range {v0 .. v7}, Lcom/android/server/PowerManagerService;->userActivity(JJZIZ)V
  12123.  
  12124. goto :goto_3b
  12125. .end method
  12126.  
  12127. .method public userActivity(JZI)V
  12128. .registers 13
  12129. .parameter "time"
  12130. .parameter "noChangeLights"
  12131. .parameter "eventType"
  12132.  
  12133. .prologue
  12134. .line 2221
  12135. const-wide/16 v3, -0x1
  12136.  
  12137. const/4 v7, 0x0
  12138.  
  12139. move-object v0, p0
  12140.  
  12141. move-wide v1, p1
  12142.  
  12143. move v5, p3
  12144.  
  12145. move v6, p4
  12146.  
  12147. invoke-direct/range {v0 .. v7}, Lcom/android/server/PowerManagerService;->userActivity(JJZIZ)V
  12148.  
  12149. .line 2222
  12150. return-void
  12151. .end method
  12152.  
  12153. .method public userActivity(JZIZ)V
  12154. .registers 14
  12155. .parameter "time"
  12156. .parameter "noChangeLights"
  12157. .parameter "eventType"
  12158. .parameter "force"
  12159.  
  12160. .prologue
  12161. .line 2228
  12162. const-wide/16 v3, -0x1
  12163.  
  12164. move-object v0, p0
  12165.  
  12166. move-wide v1, p1
  12167.  
  12168. move v5, p3
  12169.  
  12170. move v6, p4
  12171.  
  12172. move v7, p5
  12173.  
  12174. invoke-direct/range {v0 .. v7}, Lcom/android/server/PowerManagerService;->userActivity(JJZIZ)V
  12175.  
  12176. .line 2229
  12177. return-void
  12178. .end method
  12179.  
  12180. .method public userActivityWithForce(JZZ)V
  12181. .registers 13
  12182. .parameter "time"
  12183. .parameter "noChangeLights"
  12184. .parameter "force"
  12185.  
  12186. .prologue
  12187. .line 2203
  12188. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  12189.  
  12190. const-string v1, "android.permission.DEVICE_POWER"
  12191.  
  12192. const/4 v2, 0x0
  12193.  
  12194. invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  12195.  
  12196. .line 2204
  12197. const-wide/16 v3, -0x1
  12198.  
  12199. const/4 v6, 0x0
  12200.  
  12201. move-object v0, p0
  12202.  
  12203. move-wide v1, p1
  12204.  
  12205. move v5, p3
  12206.  
  12207. move v7, p4
  12208.  
  12209. invoke-direct/range {v0 .. v7}, Lcom/android/server/PowerManagerService;->userActivity(JJZIZ)V
  12210.  
  12211. .line 2205
  12212. return-void
  12213. .end method
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement