Advertisement
Guest User

Untitled

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