Advertisement
Guest User

Untitled

a guest
May 12th, 2013
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 477.50 KB | None | 0 0
  1. .class public 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. .implements Lcom/android/server/CameraFocusManager$Listener;
  9.  
  10.  
  11. # annotations
  12. .annotation system Ldalvik/annotation/MemberClasses;
  13. value = {
  14. Lcom/android/server/PowerManagerService$LockList;,
  15. Lcom/android/server/PowerManagerService$BrightnessState;,
  16. Lcom/android/server/PowerManagerService$TimeoutTask;,
  17. Lcom/android/server/PowerManagerService$AutoFocusCallback;,
  18. Lcom/android/server/PowerManagerService$PokeLock;,
  19. Lcom/android/server/PowerManagerService$WakeLock;,
  20. Lcom/android/server/PowerManagerService$SettingsObserver;,
  21. Lcom/android/server/PowerManagerService$DockReceiver;,
  22. Lcom/android/server/PowerManagerService$SyncKeyguard;,
  23. Lcom/android/server/PowerManagerService$KeyguardDoneDrawReceiver;,
  24. Lcom/android/server/PowerManagerService$BootCompletedReceiver;,
  25. Lcom/android/server/PowerManagerService$SDHotPlugReceiver;,
  26. Lcom/android/server/PowerManagerService$BatteryReceiver;,
  27. Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  28. }
  29. .end annotation
  30.  
  31.  
  32. # static fields
  33. .field private static final ALL_BRIGHT:I = 0xf
  34.  
  35. .field private static final ANIM_SETTING_OFF:I = 0x10
  36.  
  37. .field private static final ANIM_SETTING_ON:I = 0x1
  38.  
  39. .field static final ANIM_STEPS:I = 0xa
  40.  
  41. .field static final AUTOBRIGHTNESS_ANIM_STEPS:I = 0xf
  42.  
  43. .field private static final BATTERY_LOW_BIT:I = 0x10
  44.  
  45. .field private static final BUTTON_BRIGHT_BIT:I = 0x4
  46.  
  47. .field static final DEBUG_SCREEN_ON:Z = false
  48.  
  49. .field private static final DEFAULT_SCREEN_OFF_TIMEOUT:I = 0x3a98
  50.  
  51. .field private static final DETECT_FACE_MAX_TIME:J = 0xfa0L
  52.  
  53. .field private static final FEATURE_ALIGN_BKL_ENABLED:Z = true
  54.  
  55. .field private static FEATURE_AUTO_BRIGHTNESS_DECREASE:Z = false
  56.  
  57. .field private static final FEATURE_DISABLE_LS_ENABLED:Z = true
  58.  
  59. .field private static final FOCUSING:I = 0x2
  60.  
  61. .field protected static final IDLE:I = 0x1
  62.  
  63. .field private static final IGNORE_PREVENT_SCREEN_ON_FOR_SET_SCREEN_STATE:Z = true
  64.  
  65. .field static final INITIAL_BUTTON_BRIGHTNESS:I = 0x0
  66.  
  67. .field static final INITIAL_KEYBOARD_BRIGHTNESS:I = 0x0
  68.  
  69. .field static final INITIAL_SCREEN_BRIGHTNESS:I = 0xff
  70.  
  71. .field private static final KEYBOARD_BRIGHT_BIT:I = 0x8
  72.  
  73. .field private static final LIGHTS_MASK:I = 0xe
  74.  
  75. .field private static final LIGHT_SENSOR_DELAY:I = 0x7d0
  76.  
  77. .field private static final LIGHT_SENSOR_RATE:I = 0xf4240
  78.  
  79. .field private static final LOCK_MASK:I = 0x3f
  80.  
  81. .field private static final LOG_PARTIAL_WL:Z = false
  82.  
  83. .field private static final LOG_TOUCH_DOWNS:Z = true
  84.  
  85. .field private static final LONG_DIM_TIME:I = 0x1b58
  86.  
  87. .field private static final LONG_KEYLIGHT_DELAY:I = 0x1770
  88.  
  89. .field private static final MEDIUM_KEYLIGHT_DELAY:I = 0x3a98
  90.  
  91. .field private static final NORMALTAG:Ljava/lang/String; = "undernormal"
  92.  
  93. .field private static final NOT_FOUND:I = -0x1
  94.  
  95. .field static final PARTIAL_NAME:Ljava/lang/String; = "PowerManagerService"
  96.  
  97. .field private static final PREVIEW_STOPPED:I = 0x0
  98.  
  99. .field private static final PROXIMITY_SENSOR_DELAY:I = 0xc8
  100.  
  101. .field private static final PROXIMITY_THRESHOLD:F = 5.0f
  102.  
  103. .field private static final PZDTAG:Ljava/lang/String; = "pengzhongdong"
  104.  
  105. .field private static final SCREEN_BRIGHT:I = 0x3
  106.  
  107. .field private static final SCREEN_BRIGHT_BIT:I = 0x2
  108.  
  109. .field private static final SCREEN_BUTTON_BRIGHT:I = 0x7
  110.  
  111. .field private static final SCREEN_DIM:I = 0x1
  112.  
  113. .field private static final SCREEN_OFF:I = 0x0
  114.  
  115. .field private static final SCREEN_ON_BIT:I = 0x1
  116.  
  117. .field private static final SELFTIMER_COUNTING:I = 0x4
  118.  
  119. .field private static final SHORT_KEYLIGHT_DELAY_DEFAULT:I = 0x1770
  120.  
  121. .field private static final SNAPSHOT_IN_PROGRESS:I = 0x3
  122.  
  123. .field private static final TAG:Ljava/lang/String; = "PowerManagerService"
  124.  
  125. .field private static final UPDATE_PARAM_ALL:I = -0x1
  126.  
  127. .field private static final UPDATE_PARAM_INITIALIZE:I = 0x1
  128.  
  129. .field private static final UPDATE_PARAM_PREFERENCE:I = 0x4
  130.  
  131. .field private static final UPDATE_PARAM_ZOOM:I = 0x2
  132.  
  133. .field private static final WAKELOCK_DUMP_ENABLED:Z = true
  134.  
  135. .field private static final WAKELOCK_SKIPPED_TAG:[Ljava/lang/String; = null
  136.  
  137. .field private static final mDebugLightSensor:Z = true
  138.  
  139. .field private static final mDebugProximitySensor:Z = true
  140.  
  141. .field private static mShutdownConfig:Z = false
  142.  
  143. .field private static final mSpew:Z = true
  144.  
  145.  
  146. # instance fields
  147. .field private final MY_PID:I
  148.  
  149. .field private final MY_UID:I
  150.  
  151. .field inPowerOff:Z
  152.  
  153. .field private mActivityService:Landroid/app/IActivityManager;
  154.  
  155. .field private mAeLockSupported:Z
  156.  
  157. .field mAnimateScreenLights:Z
  158.  
  159. .field private mAnimationSetting:I
  160.  
  161. .field private mAttentionLight:Lcom/android/server/LightsService$Light;
  162.  
  163. .field private mAutoBrightessEnabled:Z
  164.  
  165. .field private mAutoBrightnessLevels:[I
  166.  
  167. .field private mAutoBrightnessTask:Ljava/lang/Runnable;
  168.  
  169. .field private final mAutoFocusCallback:Lcom/android/server/PowerManagerService$AutoFocusCallback;
  170.  
  171. .field public mAutoFocusTime:J
  172.  
  173. .field private mAwbLockSupported:Z
  174.  
  175. .field private mBatteryService:Lcom/android/server/BatteryService;
  176.  
  177. .field private mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  178.  
  179. .field private mBootCompleted:Z
  180.  
  181. .field private final mBroadcastQueue:[I
  182.  
  183. .field private mBroadcastWakeLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  184.  
  185. .field private final mBroadcastWhy:[I
  186.  
  187. .field private mButtonBacklightValues:[I
  188.  
  189. .field private mButtonBrightnessOverride:I
  190.  
  191. .field private mButtonLight:Lcom/android/server/LightsService$Light;
  192.  
  193. .field protected mCameraDevice:Landroid/hardware/Camera;
  194.  
  195. .field private mCameraDisabled:Z
  196.  
  197. .field mCameraId:I
  198.  
  199. .field private mCameraState:I
  200.  
  201. .field private mContext:Landroid/content/Context;
  202.  
  203. .field private mDimDelay:I
  204.  
  205. .field private mDimScreen:Z
  206.  
  207. .field private mDisplayOrientation:I
  208.  
  209. .field private mDisplayRotation:I
  210.  
  211. .field private mDoDelayLightAnimation:Z
  212.  
  213. .field private mDoneBooting:Z
  214.  
  215. .field private final mErrorCallback:Lcom/android/server/CameraErrorCallback;
  216.  
  217. .field private mFaceDetectionStarted:Z
  218.  
  219. .field private mFocusAreaSupported:Z
  220.  
  221. .field mFocusManager:Lcom/android/server/CameraFocusManager;
  222.  
  223. .field private mFocusStartTime:J
  224.  
  225. .field private mForceReenableScreenTask:Ljava/lang/Runnable;
  226.  
  227. .field private mHDMI:Lcom/mediatek/hdmi/HDMINative;
  228.  
  229. .field private mHandler:Landroid/os/Handler;
  230.  
  231. .field private mHandlerThread:Landroid/os/HandlerThread;
  232.  
  233. .field private mHighestLightSensorValue:I
  234.  
  235. .field private volatile mInitComplete:Z
  236.  
  237. .field private mInitialParams:Landroid/hardware/Camera$Parameters;
  238.  
  239. .field private mInitialized:Z
  240.  
  241. .field private mIsDocked:Z
  242.  
  243. .field private mIsLowBattery:Z
  244.  
  245. .field private mIsPowered:Z
  246.  
  247. .field private mIsSmartStayOn:Z
  248.  
  249. .field private mIsSupportSmartStay:Z
  250.  
  251. .field private mIsWakeLockBGDbgModeRunning:Z
  252.  
  253. .field private mIsWakeLockSkippedByTag:Z
  254.  
  255. .field private mKeyboardBacklightValues:[I
  256.  
  257. .field private mKeyboardLight:Lcom/android/server/LightsService$Light;
  258.  
  259. .field private mKeyboardVisible:Z
  260.  
  261. .field private mKeylightDelay:I
  262.  
  263. .field private mLastEventTime:J
  264.  
  265. .field private mLastProximityEventTime:J
  266.  
  267. .field private mLastScreenOnTime:J
  268.  
  269. .field private mLastTouchDown:J
  270.  
  271. .field private mLcdBacklightValues:[I
  272.  
  273. .field private mLcdLight:Lcom/android/server/LightsService$Light;
  274.  
  275. .field mLightListener:Landroid/hardware/SensorEventListener;
  276.  
  277. .field private mLightSensor:Landroid/hardware/Sensor;
  278.  
  279. .field private mLightSensorButtonBrightness:I
  280.  
  281. .field private mLightSensorEnabled:Z
  282.  
  283. .field private mLightSensorKeyboardBrightness:I
  284.  
  285. .field private mLightSensorPendingDecrease:Z
  286.  
  287. .field private mLightSensorPendingIncrease:Z
  288.  
  289. .field private mLightSensorPendingValue:F
  290.  
  291. .field private mLightSensorScreenBrightness:I
  292.  
  293. .field private mLightSensorScreenBrightnessWait:I
  294.  
  295. .field private mLightSensorValue:F
  296.  
  297. .field private mLightSensorWarmupTime:I
  298.  
  299. .field private mLightsService:Lcom/android/server/LightsService;
  300.  
  301. .field private mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;
  302.  
  303. .field private final mLocks:Lcom/android/server/PowerManagerService$LockList;
  304.  
  305. .field private mMaxBrightness:I
  306.  
  307. .field private mMaximumScreenOffTimeout:I
  308.  
  309. .field private mMeteringAreaSupported:Z
  310.  
  311. .field private mNextTimeout:J
  312.  
  313. .field private mNotificationTask:Ljava/lang/Runnable;
  314.  
  315. .field private mOldBacklightValue:I
  316.  
  317. .field private mOpenCameraFail:Z
  318.  
  319. .field private mParameters:Landroid/hardware/Camera$Parameters;
  320.  
  321. .field private mPartialCount:I
  322.  
  323. .field private volatile mPokeAwakeOnSet:Z
  324.  
  325. .field private final mPokeLocks:Ljava/util/HashMap;
  326. .annotation system Ldalvik/annotation/Signature;
  327. value = {
  328. "Ljava/util/HashMap",
  329. "<",
  330. "Landroid/os/IBinder;",
  331. "Lcom/android/server/PowerManagerService$PokeLock;",
  332. ">;"
  333. }
  334. .end annotation
  335. .end field
  336.  
  337. .field private volatile mPokey:I
  338.  
  339. .field private volatile mPolicy:Landroid/view/WindowManagerPolicy;
  340.  
  341. .field private mPowerState:I
  342.  
  343. .field private mPreparingForScreenOn:Z
  344.  
  345. .field private mPreventScreenOn:Z
  346.  
  347. .field private mPreventScreenOnPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  348.  
  349. .field private mProxIgnoredBecauseScreenTurnedOff:Z
  350.  
  351. .field mProximityListener:Landroid/hardware/SensorEventListener;
  352.  
  353. .field private mProximityPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  354.  
  355. .field private mProximityPendingValue:I
  356.  
  357. .field private mProximitySensor:Landroid/hardware/Sensor;
  358.  
  359. .field private mProximitySensorActive:Z
  360.  
  361. .field private mProximitySensorEnabled:Z
  362.  
  363. .field private mProximityTask:Ljava/lang/Runnable;
  364.  
  365. .field private mProximityWakeLockCount:I
  366.  
  367. .field private mScanBeginTime:J
  368.  
  369. .field private mScanEndTime:J
  370.  
  371. .field private mScanWhen:J
  372.  
  373. .field private final mScanoriginalTimeoutOverride:J
  374.  
  375. .field private mScantimeoutOverride:J
  376.  
  377. .field private final mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  378.  
  379. .field private mScreenBrightnessDim:I
  380.  
  381. .field private mScreenBrightnessOverride:I
  382.  
  383. .field private mScreenOffBroadcastDone:Landroid/content/BroadcastReceiver;
  384.  
  385. .field private mScreenOffDelay:I
  386.  
  387. .field private mScreenOffHandler:Landroid/os/Handler;
  388.  
  389. .field private mScreenOffIntent:Landroid/content/Intent;
  390.  
  391. .field private mScreenOffReason:I
  392.  
  393. .field mScreenOffStart:J
  394.  
  395. .field private mScreenOffThread:Landroid/os/HandlerThread;
  396.  
  397. .field private mScreenOffTime:J
  398.  
  399. .field private mScreenOffTimeoutSetting:I
  400.  
  401. .field private mScreenOnBroadcastDone:Landroid/content/BroadcastReceiver;
  402.  
  403. .field private mScreenOnIntent:Landroid/content/Intent;
  404.  
  405. .field private mScreenOnListener:Landroid/view/WindowManagerPolicy$ScreenOnListener;
  406.  
  407. .field mScreenOnStart:J
  408.  
  409. .field private mSensorManager:Landroid/hardware/SensorManager;
  410.  
  411. .field private mSettings:Landroid/content/ContentQueryMap;
  412.  
  413. .field private mShortKeylightDelay:I
  414.  
  415. .field private mShutdownFlag:Z
  416.  
  417. .field private mSkippedScreenOn:Z
  418.  
  419. .field private mStayOnConditions:I
  420.  
  421. .field private mStayOnWhilePluggedInPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  422.  
  423. .field private mStayOnWhilePluggedInScreenDimLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  424.  
  425. .field private mStillNeedSleepNotification:Z
  426.  
  427. .field private mSyncKeyguard:Lcom/android/server/PowerManagerService$SyncKeyguard;
  428.  
  429. .field private mTexture:Landroid/graphics/SurfaceTexture;
  430.  
  431. .field private mTextureId:I
  432.  
  433. .field private mTextures:[I
  434.  
  435. .field private final mTimeoutTask:Lcom/android/server/PowerManagerService$TimeoutTask;
  436.  
  437. .field private mTotalTouchDownTime:J
  438.  
  439. .field private mTouchCycles:I
  440.  
  441. .field private mTvOut:Lcom/mediatek/tvOut/TvOut;
  442.  
  443. .field mUnplugTurnsOnScreen:Z
  444.  
  445. .field private mUseSoftwareAutoBrightness:Z
  446.  
  447. .field private mUserActivityAllowed:Z
  448.  
  449. .field private mUserState:I
  450.  
  451. .field private mWaitKeyguardDraw:Z
  452.  
  453. .field private mWakeLockBGDbgModeResult:Ljava/lang/String;
  454.  
  455. .field private mWakeLockState:I
  456.  
  457. .field private mWarningSpewThrottleCount:I
  458.  
  459. .field private mWarningSpewThrottleTime:J
  460.  
  461.  
  462. # direct methods
  463. .method static constructor <clinit>()V
  464. .registers 4
  465.  
  466. .prologue
  467. const/4 v3, 0x1
  468.  
  469. const/4 v2, 0x0
  470.  
  471. .line 378
  472. sput-boolean v3, Lcom/android/server/PowerManagerService;->FEATURE_AUTO_BRIGHTNESS_DECREASE:Z
  473.  
  474. .line 380
  475. sput-boolean v2, Lcom/android/server/PowerManagerService;->mShutdownConfig:Z
  476.  
  477. .line 4278
  478. const/16 v0, 0xd
  479.  
  480. new-array v0, v0, [Ljava/lang/String;
  481.  
  482. const-string v1, "ActivityManager-Launch"
  483.  
  484. aput-object v1, v0, v2
  485.  
  486. const-string v1, "ActivityManager-Sleep"
  487.  
  488. aput-object v1, v0, v3
  489.  
  490. const/4 v1, 0x2
  491.  
  492. const-string v2, "AlarmManager"
  493.  
  494. aput-object v2, v0, v1
  495.  
  496. const/4 v1, 0x3
  497.  
  498. const-string v2, "KeyInputQueue"
  499.  
  500. aput-object v2, v0, v1
  501.  
  502. const/4 v1, 0x4
  503.  
  504. const-string v2, "KEEP_SCREEN_ON_FLAG"
  505.  
  506. aput-object v2, v0, v1
  507.  
  508. const/4 v1, 0x5
  509.  
  510. const-string v2, "SCREEN_FROZEN"
  511.  
  512. aput-object v2, v0, v1
  513.  
  514. const/4 v1, 0x6
  515.  
  516. const-string v2, "sleep_broadcast"
  517.  
  518. aput-object v2, v0, v1
  519.  
  520. const/4 v1, 0x7
  521.  
  522. const-string v2, "Proximity Partial"
  523.  
  524. aput-object v2, v0, v1
  525.  
  526. const/16 v1, 0x8
  527.  
  528. const-string v2, "RILJ"
  529.  
  530. aput-object v2, v0, v1
  531.  
  532. const/16 v1, 0x9
  533.  
  534. const-string v2, "show keyguard"
  535.  
  536. aput-object v2, v0, v1
  537.  
  538. const/16 v1, 0xa
  539.  
  540. const-string v2, "keyguard"
  541.  
  542. aput-object v2, v0, v1
  543.  
  544. const/16 v1, 0xb
  545.  
  546. const-string v2, "keyguardWakeAndHandOff"
  547.  
  548. aput-object v2, v0, v1
  549.  
  550. const/16 v1, 0xc
  551.  
  552. const-string v2, "VibratorService"
  553.  
  554. aput-object v2, v0, v1
  555.  
  556. sput-object v0, Lcom/android/server/PowerManagerService;->WAKELOCK_SKIPPED_TAG:[Ljava/lang/String;
  557.  
  558. return-void
  559. .end method
  560.  
  561. .method constructor <init>()V
  562. .registers 11
  563.  
  564. .prologue
  565. const-wide/16 v8, 0x0
  566.  
  567. const/4 v7, 0x0
  568.  
  569. const/4 v6, 0x1
  570.  
  571. const/4 v5, -0x1
  572.  
  573. const/4 v4, 0x0
  574.  
  575. .line 669
  576. invoke-direct {p0}, Landroid/os/IPowerManager$Stub;-><init>()V
  577.  
  578. .line 146
  579. const/16 v2, 0x1770
  580.  
  581. iput v2, p0, Lcom/android/server/PowerManagerService;->mShortKeylightDelay:I
  582.  
  583. .line 178
  584. iput-boolean v6, p0, Lcom/android/server/PowerManagerService;->mAnimateScreenLights:Z
  585.  
  586. .line 179
  587. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->inPowerOff:Z
  588.  
  589. .line 214
  590. iput v5, p0, Lcom/android/server/PowerManagerService;->mCameraId:I
  591.  
  592. .line 215
  593. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mIsSupportSmartStay:Z
  594.  
  595. .line 216
  596. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mIsSmartStayOn:Z
  597.  
  598. .line 217
  599. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mOpenCameraFail:Z
  600.  
  601. .line 218
  602. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mCameraDisabled:Z
  603.  
  604. .line 223
  605. new-instance v2, Lcom/android/server/CameraErrorCallback;
  606.  
  607. invoke-direct {v2}, Lcom/android/server/CameraErrorCallback;-><init>()V
  608.  
  609. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mErrorCallback:Lcom/android/server/CameraErrorCallback;
  610.  
  611. .line 224
  612. iput-object v7, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  613.  
  614. .line 225
  615. iput v4, p0, Lcom/android/server/PowerManagerService;->mCameraState:I
  616.  
  617. .line 232
  618. new-array v2, v6, [I
  619.  
  620. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mTextures:[I
  621.  
  622. .line 233
  623. iput-object v7, p0, Lcom/android/server/PowerManagerService;->mTexture:Landroid/graphics/SurfaceTexture;
  624.  
  625. .line 235
  626. iput-wide v8, p0, Lcom/android/server/PowerManagerService;->mScanBeginTime:J
  627.  
  628. .line 236
  629. iput-wide v8, p0, Lcom/android/server/PowerManagerService;->mScanEndTime:J
  630.  
  631. .line 237
  632. iput-wide v8, p0, Lcom/android/server/PowerManagerService;->mScanWhen:J
  633.  
  634. .line 238
  635. const-wide/16 v2, -0x1
  636.  
  637. iput-wide v2, p0, Lcom/android/server/PowerManagerService;->mScanoriginalTimeoutOverride:J
  638.  
  639. .line 239
  640. iput-wide v8, p0, Lcom/android/server/PowerManagerService;->mScantimeoutOverride:J
  641.  
  642. .line 245
  643. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mFaceDetectionStarted:Z
  644.  
  645. .line 249
  646. new-instance v2, Lcom/android/server/PowerManagerService$AutoFocusCallback;
  647.  
  648. invoke-direct {v2, p0, v7}, Lcom/android/server/PowerManagerService$AutoFocusCallback;-><init>(Lcom/android/server/PowerManagerService;Lcom/android/server/PowerManagerService$1;)V
  649.  
  650. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mAutoFocusCallback:Lcom/android/server/PowerManagerService$AutoFocusCallback;
  651.  
  652. .line 251
  653. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mDoneBooting:Z
  654.  
  655. .line 252
  656. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mBootCompleted:Z
  657.  
  658. .line 253
  659. iput v4, p0, Lcom/android/server/PowerManagerService;->mStayOnConditions:I
  660.  
  661. .line 254
  662. const/4 v2, 0x3
  663.  
  664. new-array v2, v2, [I
  665.  
  666. fill-array-data v2, :array_142
  667.  
  668. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mBroadcastQueue:[I
  669.  
  670. .line 255
  671. const/4 v2, 0x3
  672.  
  673. new-array v2, v2, [I
  674.  
  675. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mBroadcastWhy:[I
  676.  
  677. .line 256
  678. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mPreparingForScreenOn:Z
  679.  
  680. .line 257
  681. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mSkippedScreenOn:Z
  682.  
  683. .line 258
  684. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mInitialized:Z
  685.  
  686. .line 259
  687. iput v4, p0, Lcom/android/server/PowerManagerService;->mPartialCount:I
  688.  
  689. .line 265
  690. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mKeyboardVisible:Z
  691.  
  692. .line 266
  693. iput-boolean v6, p0, Lcom/android/server/PowerManagerService;->mUserActivityAllowed:Z
  694.  
  695. .line 267
  696. iput v4, p0, Lcom/android/server/PowerManagerService;->mProximityWakeLockCount:I
  697.  
  698. .line 268
  699. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mProximitySensorEnabled:Z
  700.  
  701. .line 269
  702. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  703.  
  704. .line 270
  705. iput v5, p0, Lcom/android/server/PowerManagerService;->mProximityPendingValue:I
  706.  
  707. .line 273
  708. const v2, 0x7fffffff
  709.  
  710. iput v2, p0, Lcom/android/server/PowerManagerService;->mMaximumScreenOffTimeout:I
  711.  
  712. .line 278
  713. iput-wide v8, p0, Lcom/android/server/PowerManagerService;->mLastEventTime:J
  714.  
  715. .line 281
  716. new-instance v2, Lcom/android/server/PowerManagerService$LockList;
  717.  
  718. invoke-direct {v2, p0, v7}, Lcom/android/server/PowerManagerService$LockList;-><init>(Lcom/android/server/PowerManagerService;Lcom/android/server/PowerManagerService$1;)V
  719.  
  720. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  721.  
  722. .line 295
  723. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mWaitKeyguardDraw:Z
  724.  
  725. .line 300
  726. new-instance v2, Lcom/android/server/PowerManagerService$TimeoutTask;
  727.  
  728. invoke-direct {v2, p0, v7}, Lcom/android/server/PowerManagerService$TimeoutTask;-><init>(Lcom/android/server/PowerManagerService;Lcom/android/server/PowerManagerService$1;)V
  729.  
  730. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mTimeoutTask:Lcom/android/server/PowerManagerService$TimeoutTask;
  731.  
  732. .line 301
  733. new-instance v2, Lcom/android/server/PowerManagerService$BrightnessState;
  734.  
  735. const/4 v3, 0x2
  736.  
  737. invoke-direct {v2, p0, v3}, Lcom/android/server/PowerManagerService$BrightnessState;-><init>(Lcom/android/server/PowerManagerService;I)V
  738.  
  739. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  740.  
  741. .line 304
  742. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mIsPowered:Z
  743.  
  744. .line 312
  745. const/high16 v2, -0x4080
  746.  
  747. iput v2, p0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  748.  
  749. .line 313
  750. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mProxIgnoredBecauseScreenTurnedOff:Z
  751.  
  752. .line 314
  753. iput v5, p0, Lcom/android/server/PowerManagerService;->mHighestLightSensorValue:I
  754.  
  755. .line 315
  756. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mLightSensorPendingDecrease:Z
  757.  
  758. .line 316
  759. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mLightSensorPendingIncrease:Z
  760.  
  761. .line 317
  762. const/high16 v2, -0x4080
  763.  
  764. iput v2, p0, Lcom/android/server/PowerManagerService;->mLightSensorPendingValue:F
  765.  
  766. .line 318
  767. iput v5, p0, Lcom/android/server/PowerManagerService;->mLightSensorScreenBrightness:I
  768.  
  769. .line 319
  770. iput v5, p0, Lcom/android/server/PowerManagerService;->mLightSensorScreenBrightnessWait:I
  771.  
  772. .line 320
  773. iput v5, p0, Lcom/android/server/PowerManagerService;->mLightSensorButtonBrightness:I
  774.  
  775. .line 321
  776. iput v5, p0, Lcom/android/server/PowerManagerService;->mLightSensorKeyboardBrightness:I
  777.  
  778. .line 322
  779. iput v5, p0, Lcom/android/server/PowerManagerService;->mMaxBrightness:I
  780.  
  781. .line 323
  782. iput-boolean v6, p0, Lcom/android/server/PowerManagerService;->mDimScreen:Z
  783.  
  784. .line 324
  785. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mIsDocked:Z
  786.  
  787. .line 326
  788. iput v4, p0, Lcom/android/server/PowerManagerService;->mPokey:I
  789.  
  790. .line 327
  791. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mPokeAwakeOnSet:Z
  792.  
  793. .line 328
  794. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mInitComplete:Z
  795.  
  796. .line 329
  797. new-instance v2, Ljava/util/HashMap;
  798.  
  799. invoke-direct {v2}, Ljava/util/HashMap;-><init>()V
  800.  
  801. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mPokeLocks:Ljava/util/HashMap;
  802.  
  803. .line 333
  804. iput v5, p0, Lcom/android/server/PowerManagerService;->mScreenBrightnessOverride:I
  805.  
  806. .line 334
  807. iput v5, p0, Lcom/android/server/PowerManagerService;->mButtonBrightnessOverride:I
  808.  
  809. .line 346
  810. const/16 v2, 0x10
  811.  
  812. iput v2, p0, Lcom/android/server/PowerManagerService;->mAnimationSetting:I
  813.  
  814. .line 366
  815. new-instance v2, Lcom/android/server/PowerManagerService$SyncKeyguard;
  816.  
  817. invoke-direct {v2, p0}, Lcom/android/server/PowerManagerService$SyncKeyguard;-><init>(Lcom/android/server/PowerManagerService;)V
  818.  
  819. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mSyncKeyguard:Lcom/android/server/PowerManagerService$SyncKeyguard;
  820.  
  821. .line 367
  822. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mDoDelayLightAnimation:Z
  823.  
  824. .line 379
  825. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mIsLowBattery:Z
  826.  
  827. .line 381
  828. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mShutdownFlag:Z
  829.  
  830. .line 383
  831. iput v4, p0, Lcom/android/server/PowerManagerService;->mOldBacklightValue:I
  832.  
  833. .line 384
  834. new-instance v2, Lcom/mediatek/tvOut/TvOut;
  835.  
  836. invoke-direct {v2}, Lcom/mediatek/tvOut/TvOut;-><init>()V
  837.  
  838. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mTvOut:Lcom/mediatek/tvOut/TvOut;
  839.  
  840. .line 385
  841. new-instance v2, Lcom/mediatek/hdmi/HDMINative;
  842.  
  843. invoke-direct {v2}, Lcom/mediatek/hdmi/HDMINative;-><init>()V
  844.  
  845. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mHDMI:Lcom/mediatek/hdmi/HDMINative;
  846.  
  847. .line 2182
  848. new-instance v2, Lcom/android/server/PowerManagerService$6;
  849.  
  850. invoke-direct {v2, p0}, Lcom/android/server/PowerManagerService$6;-><init>(Lcom/android/server/PowerManagerService;)V
  851.  
  852. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mScreenOnListener:Landroid/view/WindowManagerPolicy$ScreenOnListener;
  853.  
  854. .line 2197
  855. new-instance v2, Lcom/android/server/PowerManagerService$7;
  856.  
  857. invoke-direct {v2, p0}, Lcom/android/server/PowerManagerService$7;-><init>(Lcom/android/server/PowerManagerService;)V
  858.  
  859. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mNotificationTask:Ljava/lang/Runnable;
  860.  
  861. .line 2276
  862. new-instance v2, Lcom/android/server/PowerManagerService$8;
  863.  
  864. invoke-direct {v2, p0}, Lcom/android/server/PowerManagerService$8;-><init>(Lcom/android/server/PowerManagerService;)V
  865.  
  866. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mScreenOnBroadcastDone:Landroid/content/BroadcastReceiver;
  867.  
  868. .line 2287
  869. new-instance v2, Lcom/android/server/PowerManagerService$9;
  870.  
  871. invoke-direct {v2, p0}, Lcom/android/server/PowerManagerService$9;-><init>(Lcom/android/server/PowerManagerService;)V
  872.  
  873. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mScreenOffBroadcastDone:Landroid/content/BroadcastReceiver;
  874.  
  875. .line 2455
  876. new-instance v2, Lcom/android/server/PowerManagerService$10;
  877.  
  878. invoke-direct {v2, p0}, Lcom/android/server/PowerManagerService$10;-><init>(Lcom/android/server/PowerManagerService;)V
  879.  
  880. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mForceReenableScreenTask:Ljava/lang/Runnable;
  881.  
  882. .line 3394
  883. new-instance v2, Lcom/android/server/PowerManagerService$11;
  884.  
  885. invoke-direct {v2, p0}, Lcom/android/server/PowerManagerService$11;-><init>(Lcom/android/server/PowerManagerService;)V
  886.  
  887. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mProximityTask:Ljava/lang/Runnable;
  888.  
  889. .line 3408
  890. new-instance v2, Lcom/android/server/PowerManagerService$12;
  891.  
  892. invoke-direct {v2, p0}, Lcom/android/server/PowerManagerService$12;-><init>(Lcom/android/server/PowerManagerService;)V
  893.  
  894. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mAutoBrightnessTask:Ljava/lang/Runnable;
  895.  
  896. .line 4166
  897. new-instance v2, Lcom/android/server/PowerManagerService$15;
  898.  
  899. invoke-direct {v2, p0}, Lcom/android/server/PowerManagerService$15;-><init>(Lcom/android/server/PowerManagerService;)V
  900.  
  901. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mProximityListener:Landroid/hardware/SensorEventListener;
  902.  
  903. .line 4210
  904. new-instance v2, Lcom/android/server/PowerManagerService$16;
  905.  
  906. invoke-direct {v2, p0}, Lcom/android/server/PowerManagerService$16;-><init>(Lcom/android/server/PowerManagerService;)V
  907.  
  908. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mLightListener:Landroid/hardware/SensorEventListener;
  909.  
  910. .line 4276
  911. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mIsWakeLockBGDbgModeRunning:Z
  912.  
  913. .line 4277
  914. iput-boolean v6, p0, Lcom/android/server/PowerManagerService;->mIsWakeLockSkippedByTag:Z
  915.  
  916. .line 671
  917. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  918.  
  919. move-result-wide v0
  920.  
  921. .line 672
  922. .local v0, token:J
  923. invoke-static {}, Landroid/os/Process;->myUid()I
  924.  
  925. move-result v2
  926.  
  927. iput v2, p0, Lcom/android/server/PowerManagerService;->MY_UID:I
  928.  
  929. .line 673
  930. invoke-static {}, Landroid/os/Process;->myPid()I
  931.  
  932. move-result v2
  933.  
  934. iput v2, p0, Lcom/android/server/PowerManagerService;->MY_PID:I
  935.  
  936. .line 674
  937. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  938.  
  939. .line 677
  940. const-wide/32 v2, 0x240c8400
  941.  
  942. invoke-static {v2, v3}, Landroid/os/Power;->setLastUserActivityTimeout(J)I
  943.  
  944. .line 680
  945. iput v4, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  946.  
  947. iput v4, p0, Lcom/android/server/PowerManagerService;->mUserState:I
  948.  
  949. .line 683
  950. invoke-static {}, Lcom/android/server/Watchdog;->getInstance()Lcom/android/server/Watchdog;
  951.  
  952. move-result-object v2
  953.  
  954. invoke-virtual {v2, p0}, Lcom/android/server/Watchdog;->addMonitor(Lcom/android/server/Watchdog$Monitor;)V
  955.  
  956. .line 684
  957. return-void
  958.  
  959. .line 254
  960. nop
  961.  
  962. :array_142
  963. .array-data 0x4
  964. 0xfft 0xfft 0xfft 0xfft
  965. 0xfft 0xfft 0xfft 0xfft
  966. 0xfft 0xfft 0xfft 0xfft
  967. .end array-data
  968. .end method
  969.  
  970. .method private SmartStayOnOffChanged()V
  971. .registers 5
  972.  
  973. .prologue
  974. const/4 v0, 0x1
  975.  
  976. const/4 v1, 0x0
  977.  
  978. .line 1641
  979. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  980.  
  981. invoke-virtual {v2}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
  982.  
  983. move-result-object v2
  984.  
  985. const-string v3, "isSmartStayEnabled"
  986.  
  987. invoke-static {v2, v3, v1}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
  988.  
  989. move-result v2
  990.  
  991. if-ne v2, v0, :cond_13
  992.  
  993. :goto_10
  994. iput-boolean v0, p0, Lcom/android/server/PowerManagerService;->mIsSmartStayOn:Z
  995.  
  996. .line 1645
  997. return-void
  998.  
  999. :cond_13
  1000. move v0, v1
  1001.  
  1002. .line 1641
  1003. goto :goto_10
  1004. .end method
  1005.  
  1006. .method static synthetic access$1000(Lcom/android/server/PowerManagerService;)Z
  1007. .registers 2
  1008. .parameter "x0"
  1009.  
  1010. .prologue
  1011. .line 98
  1012. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->batteryIsLow()Z
  1013.  
  1014. move-result v0
  1015.  
  1016. return v0
  1017. .end method
  1018.  
  1019. .method static synthetic access$1100(Lcom/android/server/PowerManagerService;)Z
  1020. .registers 2
  1021. .parameter "x0"
  1022.  
  1023. .prologue
  1024. .line 98
  1025. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  1026.  
  1027. return v0
  1028. .end method
  1029.  
  1030. .method static synthetic access$1200(Lcom/android/server/PowerManagerService;)Z
  1031. .registers 2
  1032. .parameter "x0"
  1033.  
  1034. .prologue
  1035. .line 98
  1036. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mDoneBooting:Z
  1037.  
  1038. return v0
  1039. .end method
  1040.  
  1041. .method static synthetic access$1300(Lcom/android/server/PowerManagerService;)I
  1042. .registers 2
  1043. .parameter "x0"
  1044.  
  1045. .prologue
  1046. .line 98
  1047. iget v0, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  1048.  
  1049. return v0
  1050. .end method
  1051.  
  1052. .method static synthetic access$1400(Lcom/android/server/PowerManagerService;)Z
  1053. .registers 2
  1054. .parameter "x0"
  1055.  
  1056. .prologue
  1057. .line 98
  1058. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mAutoBrightessEnabled:Z
  1059.  
  1060. return v0
  1061. .end method
  1062.  
  1063. .method static synthetic access$1500(Lcom/android/server/PowerManagerService;Z)V
  1064. .registers 2
  1065. .parameter "x0"
  1066. .parameter "x1"
  1067.  
  1068. .prologue
  1069. .line 98
  1070. invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->enableLightSensorLocked(Z)V
  1071.  
  1072. return-void
  1073. .end method
  1074.  
  1075. .method static synthetic access$1600(Lcom/android/server/PowerManagerService;)F
  1076. .registers 2
  1077. .parameter "x0"
  1078.  
  1079. .prologue
  1080. .line 98
  1081. iget v0, p0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  1082.  
  1083. return v0
  1084. .end method
  1085.  
  1086. .method static synthetic access$1602(Lcom/android/server/PowerManagerService;F)F
  1087. .registers 2
  1088. .parameter "x0"
  1089. .parameter "x1"
  1090.  
  1091. .prologue
  1092. .line 98
  1093. iput p1, p0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  1094.  
  1095. return p1
  1096. .end method
  1097.  
  1098. .method static synthetic access$1700(Lcom/android/server/PowerManagerService;)I
  1099. .registers 2
  1100. .parameter "x0"
  1101.  
  1102. .prologue
  1103. .line 98
  1104. iget v0, p0, Lcom/android/server/PowerManagerService;->mHighestLightSensorValue:I
  1105.  
  1106. return v0
  1107. .end method
  1108.  
  1109. .method static synthetic access$1702(Lcom/android/server/PowerManagerService;I)I
  1110. .registers 2
  1111. .parameter "x0"
  1112. .parameter "x1"
  1113.  
  1114. .prologue
  1115. .line 98
  1116. iput p1, p0, Lcom/android/server/PowerManagerService;->mHighestLightSensorValue:I
  1117.  
  1118. return p1
  1119. .end method
  1120.  
  1121. .method static synthetic access$1800(Lcom/android/server/PowerManagerService;)I
  1122. .registers 2
  1123. .parameter "x0"
  1124.  
  1125. .prologue
  1126. .line 98
  1127. iget v0, p0, Lcom/android/server/PowerManagerService;->mLightSensorScreenBrightnessWait:I
  1128.  
  1129. return v0
  1130. .end method
  1131.  
  1132. .method static synthetic access$1802(Lcom/android/server/PowerManagerService;I)I
  1133. .registers 2
  1134. .parameter "x0"
  1135. .parameter "x1"
  1136.  
  1137. .prologue
  1138. .line 98
  1139. iput p1, p0, Lcom/android/server/PowerManagerService;->mLightSensorScreenBrightnessWait:I
  1140.  
  1141. return p1
  1142. .end method
  1143.  
  1144. .method static synthetic access$1900(Lcom/android/server/PowerManagerService;)V
  1145. .registers 1
  1146. .parameter "x0"
  1147.  
  1148. .prologue
  1149. .line 98
  1150. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->updateWakeLockLocked()V
  1151.  
  1152. return-void
  1153. .end method
  1154.  
  1155. .method static synthetic access$2000(Lcom/android/server/PowerManagerService;)V
  1156. .registers 1
  1157. .parameter "x0"
  1158.  
  1159. .prologue
  1160. .line 98
  1161. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->forceUserActivityLocked()V
  1162.  
  1163. return-void
  1164. .end method
  1165.  
  1166. .method static synthetic access$2100(Lcom/android/server/PowerManagerService;)Z
  1167. .registers 2
  1168. .parameter "x0"
  1169.  
  1170. .prologue
  1171. .line 98
  1172. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mWaitKeyguardDraw:Z
  1173.  
  1174. return v0
  1175. .end method
  1176.  
  1177. .method static synthetic access$2102(Lcom/android/server/PowerManagerService;Z)Z
  1178. .registers 2
  1179. .parameter "x0"
  1180. .parameter "x1"
  1181.  
  1182. .prologue
  1183. .line 98
  1184. iput-boolean p1, p0, Lcom/android/server/PowerManagerService;->mWaitKeyguardDraw:Z
  1185.  
  1186. return p1
  1187. .end method
  1188.  
  1189. .method static synthetic access$2200(Lcom/android/server/PowerManagerService;)I
  1190. .registers 2
  1191. .parameter "x0"
  1192.  
  1193. .prologue
  1194. .line 98
  1195. iget v0, p0, Lcom/android/server/PowerManagerService;->mScreenOffReason:I
  1196.  
  1197. return v0
  1198. .end method
  1199.  
  1200. .method static synthetic access$2300(Lcom/android/server/PowerManagerService;I)I
  1201. .registers 3
  1202. .parameter "x0"
  1203. .parameter "x1"
  1204.  
  1205. .prologue
  1206. .line 98
  1207. invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->screenOffFinishedAnimatingLocked(I)I
  1208.  
  1209. move-result v0
  1210.  
  1211. return v0
  1212. .end method
  1213.  
  1214. .method static synthetic access$2400(Lcom/android/server/PowerManagerService;)Lcom/android/server/PowerManagerService$SyncKeyguard;
  1215. .registers 2
  1216. .parameter "x0"
  1217.  
  1218. .prologue
  1219. .line 98
  1220. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mSyncKeyguard:Lcom/android/server/PowerManagerService$SyncKeyguard;
  1221.  
  1222. return-object v0
  1223. .end method
  1224.  
  1225. .method static synthetic access$2500(Lcom/android/server/PowerManagerService;I)V
  1226. .registers 2
  1227. .parameter "x0"
  1228. .parameter "x1"
  1229.  
  1230. .prologue
  1231. .line 98
  1232. invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->dockStateChanged(I)V
  1233.  
  1234. return-void
  1235. .end method
  1236.  
  1237. .method static synthetic access$2600(Lcom/android/server/PowerManagerService;)Landroid/content/ContentQueryMap;
  1238. .registers 2
  1239. .parameter "x0"
  1240.  
  1241. .prologue
  1242. .line 98
  1243. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mSettings:Landroid/content/ContentQueryMap;
  1244.  
  1245. return-object v0
  1246. .end method
  1247.  
  1248. .method static synthetic access$2702(Lcom/android/server/PowerManagerService;I)I
  1249. .registers 2
  1250. .parameter "x0"
  1251. .parameter "x1"
  1252.  
  1253. .prologue
  1254. .line 98
  1255. iput p1, p0, Lcom/android/server/PowerManagerService;->mStayOnConditions:I
  1256.  
  1257. return p1
  1258. .end method
  1259.  
  1260. .method static synthetic access$2802(Lcom/android/server/PowerManagerService;I)I
  1261. .registers 2
  1262. .parameter "x0"
  1263. .parameter "x1"
  1264.  
  1265. .prologue
  1266. .line 98
  1267. iput p1, p0, Lcom/android/server/PowerManagerService;->mScreenOffTimeoutSetting:I
  1268.  
  1269. return p1
  1270. .end method
  1271.  
  1272. .method static synthetic access$2902(Lcom/android/server/PowerManagerService;Z)Z
  1273. .registers 2
  1274. .parameter "x0"
  1275. .parameter "x1"
  1276.  
  1277. .prologue
  1278. .line 98
  1279. iput-boolean p1, p0, Lcom/android/server/PowerManagerService;->mIsSmartStayOn:Z
  1280.  
  1281. return p1
  1282. .end method
  1283.  
  1284. .method static synthetic access$300(Lcom/android/server/PowerManagerService;)I
  1285. .registers 2
  1286. .parameter "x0"
  1287.  
  1288. .prologue
  1289. .line 98
  1290. iget v0, p0, Lcom/android/server/PowerManagerService;->MY_UID:I
  1291.  
  1292. return v0
  1293. .end method
  1294.  
  1295. .method static synthetic access$3000(Lcom/android/server/PowerManagerService;)Landroid/content/Context;
  1296. .registers 2
  1297. .parameter "x0"
  1298.  
  1299. .prologue
  1300. .line 98
  1301. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  1302.  
  1303. return-object v0
  1304. .end method
  1305.  
  1306. .method static synthetic access$3100(Lcom/android/server/PowerManagerService;I)V
  1307. .registers 2
  1308. .parameter "x0"
  1309. .parameter "x1"
  1310.  
  1311. .prologue
  1312. .line 98
  1313. invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->setScreenBrightnessMode(I)V
  1314.  
  1315. return-void
  1316. .end method
  1317.  
  1318. .method static synthetic access$3200(Lcom/android/server/PowerManagerService;)V
  1319. .registers 1
  1320. .parameter "x0"
  1321.  
  1322. .prologue
  1323. .line 98
  1324. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->setScreenOffTimeoutsLocked()V
  1325.  
  1326. return-void
  1327. .end method
  1328.  
  1329. .method static synthetic access$3300(Lcom/android/server/PowerManagerService;)I
  1330. .registers 2
  1331. .parameter "x0"
  1332.  
  1333. .prologue
  1334. .line 98
  1335. iget v0, p0, Lcom/android/server/PowerManagerService;->mAnimationSetting:I
  1336.  
  1337. return v0
  1338. .end method
  1339.  
  1340. .method static synthetic access$3302(Lcom/android/server/PowerManagerService;I)I
  1341. .registers 2
  1342. .parameter "x0"
  1343. .parameter "x1"
  1344.  
  1345. .prologue
  1346. .line 98
  1347. iput p1, p0, Lcom/android/server/PowerManagerService;->mAnimationSetting:I
  1348.  
  1349. return p1
  1350. .end method
  1351.  
  1352. .method static synthetic access$3376(Lcom/android/server/PowerManagerService;I)I
  1353. .registers 3
  1354. .parameter "x0"
  1355. .parameter "x1"
  1356.  
  1357. .prologue
  1358. .line 98
  1359. iget v0, p0, Lcom/android/server/PowerManagerService;->mAnimationSetting:I
  1360.  
  1361. or-int/2addr v0, p1
  1362.  
  1363. iput v0, p0, Lcom/android/server/PowerManagerService;->mAnimationSetting:I
  1364.  
  1365. return v0
  1366. .end method
  1367.  
  1368. .method static synthetic access$3400(Lcom/android/server/PowerManagerService;)Landroid/os/Handler;
  1369. .registers 2
  1370. .parameter "x0"
  1371.  
  1372. .prologue
  1373. .line 98
  1374. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenOffHandler:Landroid/os/Handler;
  1375.  
  1376. return-object v0
  1377. .end method
  1378.  
  1379. .method static synthetic access$3402(Lcom/android/server/PowerManagerService;Landroid/os/Handler;)Landroid/os/Handler;
  1380. .registers 2
  1381. .parameter "x0"
  1382. .parameter "x1"
  1383.  
  1384. .prologue
  1385. .line 98
  1386. iput-object p1, p0, Lcom/android/server/PowerManagerService;->mScreenOffHandler:Landroid/os/Handler;
  1387.  
  1388. return-object p1
  1389. .end method
  1390.  
  1391. .method static synthetic access$3500(Lcom/android/server/PowerManagerService;)Landroid/os/HandlerThread;
  1392. .registers 2
  1393. .parameter "x0"
  1394.  
  1395. .prologue
  1396. .line 98
  1397. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenOffThread:Landroid/os/HandlerThread;
  1398.  
  1399. return-object v0
  1400. .end method
  1401.  
  1402. .method static synthetic access$3602(Lcom/android/server/PowerManagerService;Z)Z
  1403. .registers 2
  1404. .parameter "x0"
  1405. .parameter "x1"
  1406.  
  1407. .prologue
  1408. .line 98
  1409. iput-boolean p1, p0, Lcom/android/server/PowerManagerService;->mInitComplete:Z
  1410.  
  1411. return p1
  1412. .end method
  1413.  
  1414. .method static synthetic access$400(Lcom/android/server/PowerManagerService;)I
  1415. .registers 2
  1416. .parameter "x0"
  1417.  
  1418. .prologue
  1419. .line 98
  1420. iget v0, p0, Lcom/android/server/PowerManagerService;->MY_PID:I
  1421.  
  1422. return v0
  1423. .end method
  1424.  
  1425. .method static synthetic access$4300(Lcom/android/server/PowerManagerService;)V
  1426. .registers 1
  1427. .parameter "x0"
  1428.  
  1429. .prologue
  1430. .line 98
  1431. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->updateSettingsValues()V
  1432.  
  1433. return-void
  1434. .end method
  1435.  
  1436. .method static synthetic access$4400(Lcom/android/server/PowerManagerService;)J
  1437. .registers 3
  1438. .parameter "x0"
  1439.  
  1440. .prologue
  1441. .line 98
  1442. iget-wide v0, p0, Lcom/android/server/PowerManagerService;->mScanEndTime:J
  1443.  
  1444. return-wide v0
  1445. .end method
  1446.  
  1447. .method static synthetic access$4402(Lcom/android/server/PowerManagerService;J)J
  1448. .registers 3
  1449. .parameter "x0"
  1450. .parameter "x1"
  1451.  
  1452. .prologue
  1453. .line 98
  1454. iput-wide p1, p0, Lcom/android/server/PowerManagerService;->mScanEndTime:J
  1455.  
  1456. return-wide p1
  1457. .end method
  1458.  
  1459. .method static synthetic access$4500(Lcom/android/server/PowerManagerService;)J
  1460. .registers 3
  1461. .parameter "x0"
  1462.  
  1463. .prologue
  1464. .line 98
  1465. iget-wide v0, p0, Lcom/android/server/PowerManagerService;->mScanBeginTime:J
  1466.  
  1467. return-wide v0
  1468. .end method
  1469.  
  1470. .method static synthetic access$4600(Lcom/android/server/PowerManagerService;)V
  1471. .registers 1
  1472. .parameter "x0"
  1473.  
  1474. .prologue
  1475. .line 98
  1476. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->stopPreview()V
  1477.  
  1478. return-void
  1479. .end method
  1480.  
  1481. .method static synthetic access$4700(Lcom/android/server/PowerManagerService;)V
  1482. .registers 1
  1483. .parameter "x0"
  1484.  
  1485. .prologue
  1486. .line 98
  1487. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->closeCamera()V
  1488.  
  1489. return-void
  1490. .end method
  1491.  
  1492. .method static synthetic access$4800(Lcom/android/server/PowerManagerService;)J
  1493. .registers 3
  1494. .parameter "x0"
  1495.  
  1496. .prologue
  1497. .line 98
  1498. iget-wide v0, p0, Lcom/android/server/PowerManagerService;->mScanWhen:J
  1499.  
  1500. return-wide v0
  1501. .end method
  1502.  
  1503. .method static synthetic access$4900(Lcom/android/server/PowerManagerService;)V
  1504. .registers 1
  1505. .parameter "x0"
  1506.  
  1507. .prologue
  1508. .line 98
  1509. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->setNextScreenOffTimeOut()V
  1510.  
  1511. return-void
  1512. .end method
  1513.  
  1514. .method static synthetic access$500(Lcom/android/server/PowerManagerService;Landroid/os/IBinder;IZ)V
  1515. .registers 4
  1516. .parameter "x0"
  1517. .parameter "x1"
  1518. .parameter "x2"
  1519. .parameter "x3"
  1520.  
  1521. .prologue
  1522. .line 98
  1523. invoke-direct {p0, p1, p2, p3}, Lcom/android/server/PowerManagerService;->releaseWakeLockLocked(Landroid/os/IBinder;IZ)V
  1524.  
  1525. return-void
  1526. .end method
  1527.  
  1528. .method static synthetic access$5000(Lcom/android/server/PowerManagerService;)J
  1529. .registers 3
  1530. .parameter "x0"
  1531.  
  1532. .prologue
  1533. .line 98
  1534. iget-wide v0, p0, Lcom/android/server/PowerManagerService;->mFocusStartTime:J
  1535.  
  1536. return-wide v0
  1537. .end method
  1538.  
  1539. .method static synthetic access$5102(Lcom/android/server/PowerManagerService;I)I
  1540. .registers 2
  1541. .parameter "x0"
  1542. .parameter "x1"
  1543.  
  1544. .prologue
  1545. .line 98
  1546. iput p1, p0, Lcom/android/server/PowerManagerService;->mCameraState:I
  1547.  
  1548. return p1
  1549. .end method
  1550.  
  1551. .method static synthetic access$5202(Lcom/android/server/PowerManagerService;I)I
  1552. .registers 2
  1553. .parameter "x0"
  1554. .parameter "x1"
  1555.  
  1556. .prologue
  1557. .line 98
  1558. iput p1, p0, Lcom/android/server/PowerManagerService;->mUserState:I
  1559.  
  1560. return p1
  1561. .end method
  1562.  
  1563. .method static synthetic access$5300(Lcom/android/server/PowerManagerService;)I
  1564. .registers 2
  1565. .parameter "x0"
  1566.  
  1567. .prologue
  1568. .line 98
  1569. iget v0, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  1570.  
  1571. return v0
  1572. .end method
  1573.  
  1574. .method static synthetic access$5400(Lcom/android/server/PowerManagerService;I)V
  1575. .registers 2
  1576. .parameter "x0"
  1577. .parameter "x1"
  1578.  
  1579. .prologue
  1580. .line 98
  1581. invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->setPowerState(I)V
  1582.  
  1583. return-void
  1584. .end method
  1585.  
  1586. .method static synthetic access$5500(Lcom/android/server/PowerManagerService;)I
  1587. .registers 2
  1588. .parameter "x0"
  1589.  
  1590. .prologue
  1591. .line 98
  1592. iget v0, p0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  1593.  
  1594. return v0
  1595. .end method
  1596.  
  1597. .method static synthetic access$5600(Lcom/android/server/PowerManagerService;JJI)V
  1598. .registers 6
  1599. .parameter "x0"
  1600. .parameter "x1"
  1601. .parameter "x2"
  1602. .parameter "x3"
  1603.  
  1604. .prologue
  1605. .line 98
  1606. invoke-direct/range {p0 .. p5}, Lcom/android/server/PowerManagerService;->setTimeoutLocked(JJI)V
  1607.  
  1608. return-void
  1609. .end method
  1610.  
  1611. .method static synthetic access$5700(Lcom/android/server/PowerManagerService;)Z
  1612. .registers 2
  1613. .parameter "x0"
  1614.  
  1615. .prologue
  1616. .line 98
  1617. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mPreparingForScreenOn:Z
  1618.  
  1619. return v0
  1620. .end method
  1621.  
  1622. .method static synthetic access$5702(Lcom/android/server/PowerManagerService;Z)Z
  1623. .registers 2
  1624. .parameter "x0"
  1625. .parameter "x1"
  1626.  
  1627. .prologue
  1628. .line 98
  1629. iput-boolean p1, p0, Lcom/android/server/PowerManagerService;->mPreparingForScreenOn:Z
  1630.  
  1631. return p1
  1632. .end method
  1633.  
  1634. .method static synthetic access$5800(Lcom/android/server/PowerManagerService;II)V
  1635. .registers 3
  1636. .parameter "x0"
  1637. .parameter "x1"
  1638. .parameter "x2"
  1639.  
  1640. .prologue
  1641. .line 98
  1642. invoke-direct {p0, p1, p2}, Lcom/android/server/PowerManagerService;->updateLightsLocked(II)V
  1643.  
  1644. return-void
  1645. .end method
  1646.  
  1647. .method static synthetic access$5900(Lcom/android/server/PowerManagerService;)Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  1648. .registers 2
  1649. .parameter "x0"
  1650.  
  1651. .prologue
  1652. .line 98
  1653. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mBroadcastWakeLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  1654.  
  1655. return-object v0
  1656. .end method
  1657.  
  1658. .method static synthetic access$600(Lcom/android/server/PowerManagerService;)Lcom/android/server/PowerManagerService$LockList;
  1659. .registers 2
  1660. .parameter "x0"
  1661.  
  1662. .prologue
  1663. .line 98
  1664. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  1665.  
  1666. return-object v0
  1667. .end method
  1668.  
  1669. .method static synthetic access$6000(Lcom/android/server/PowerManagerService;)[I
  1670. .registers 2
  1671. .parameter "x0"
  1672.  
  1673. .prologue
  1674. .line 98
  1675. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mBroadcastQueue:[I
  1676.  
  1677. return-object v0
  1678. .end method
  1679.  
  1680. .method static synthetic access$6100(Lcom/android/server/PowerManagerService;)[I
  1681. .registers 2
  1682. .parameter "x0"
  1683.  
  1684. .prologue
  1685. .line 98
  1686. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mBroadcastWhy:[I
  1687.  
  1688. return-object v0
  1689. .end method
  1690.  
  1691. .method static synthetic access$6200(Lcom/android/server/PowerManagerService;)Landroid/view/WindowManagerPolicy$ScreenOnListener;
  1692. .registers 2
  1693. .parameter "x0"
  1694.  
  1695. .prologue
  1696. .line 98
  1697. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenOnListener:Landroid/view/WindowManagerPolicy$ScreenOnListener;
  1698.  
  1699. return-object v0
  1700. .end method
  1701.  
  1702. .method static synthetic access$6300(Lcom/android/server/PowerManagerService;)Landroid/content/Intent;
  1703. .registers 2
  1704. .parameter "x0"
  1705.  
  1706. .prologue
  1707. .line 98
  1708. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenOnIntent:Landroid/content/Intent;
  1709.  
  1710. return-object v0
  1711. .end method
  1712.  
  1713. .method static synthetic access$6400(Lcom/android/server/PowerManagerService;)Landroid/content/BroadcastReceiver;
  1714. .registers 2
  1715. .parameter "x0"
  1716.  
  1717. .prologue
  1718. .line 98
  1719. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenOnBroadcastDone:Landroid/content/BroadcastReceiver;
  1720.  
  1721. return-object v0
  1722. .end method
  1723.  
  1724. .method static synthetic access$6500(Lcom/android/server/PowerManagerService;)Landroid/os/Handler;
  1725. .registers 2
  1726. .parameter "x0"
  1727.  
  1728. .prologue
  1729. .line 98
  1730. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  1731.  
  1732. return-object v0
  1733. .end method
  1734.  
  1735. .method static synthetic access$6600(Lcom/android/server/PowerManagerService;)Landroid/content/Intent;
  1736. .registers 2
  1737. .parameter "x0"
  1738.  
  1739. .prologue
  1740. .line 98
  1741. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenOffIntent:Landroid/content/Intent;
  1742.  
  1743. return-object v0
  1744. .end method
  1745.  
  1746. .method static synthetic access$6700(Lcom/android/server/PowerManagerService;)Landroid/content/BroadcastReceiver;
  1747. .registers 2
  1748. .parameter "x0"
  1749.  
  1750. .prologue
  1751. .line 98
  1752. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenOffBroadcastDone:Landroid/content/BroadcastReceiver;
  1753.  
  1754. return-object v0
  1755. .end method
  1756.  
  1757. .method static synthetic access$6800(Lcom/android/server/PowerManagerService;)V
  1758. .registers 1
  1759. .parameter "x0"
  1760.  
  1761. .prologue
  1762. .line 98
  1763. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->forceReenableScreen()V
  1764.  
  1765. return-void
  1766. .end method
  1767.  
  1768. .method static synthetic access$6900(Lcom/android/server/PowerManagerService;II)V
  1769. .registers 3
  1770. .parameter "x0"
  1771. .parameter "x1"
  1772. .parameter "x2"
  1773.  
  1774. .prologue
  1775. .line 98
  1776. invoke-direct {p0, p1, p2}, Lcom/android/server/PowerManagerService;->setLightBrightness(II)V
  1777.  
  1778. return-void
  1779. .end method
  1780.  
  1781. .method static synthetic access$700(Lcom/android/server/PowerManagerService;)Z
  1782. .registers 2
  1783. .parameter "x0"
  1784.  
  1785. .prologue
  1786. .line 98
  1787. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mIsPowered:Z
  1788.  
  1789. return v0
  1790. .end method
  1791.  
  1792. .method static synthetic access$7000(Lcom/android/server/PowerManagerService;)Z
  1793. .registers 2
  1794. .parameter "x0"
  1795.  
  1796. .prologue
  1797. .line 98
  1798. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mPreventScreenOn:Z
  1799.  
  1800. return v0
  1801. .end method
  1802.  
  1803. .method static synthetic access$702(Lcom/android/server/PowerManagerService;Z)Z
  1804. .registers 2
  1805. .parameter "x0"
  1806. .parameter "x1"
  1807.  
  1808. .prologue
  1809. .line 98
  1810. iput-boolean p1, p0, Lcom/android/server/PowerManagerService;->mIsPowered:Z
  1811.  
  1812. return p1
  1813. .end method
  1814.  
  1815. .method static synthetic access$7100(Lcom/android/server/PowerManagerService;)Z
  1816. .registers 2
  1817. .parameter "x0"
  1818.  
  1819. .prologue
  1820. .line 98
  1821. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mDoDelayLightAnimation:Z
  1822.  
  1823. return v0
  1824. .end method
  1825.  
  1826. .method static synthetic access$7200(Lcom/android/server/PowerManagerService;)V
  1827. .registers 1
  1828. .parameter "x0"
  1829.  
  1830. .prologue
  1831. .line 98
  1832. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->clearLightSensorValue()V
  1833.  
  1834. return-void
  1835. .end method
  1836.  
  1837. .method static synthetic access$7300(Lcom/android/server/PowerManagerService;)Lcom/android/internal/widget/LockPatternUtils;
  1838. .registers 2
  1839. .parameter "x0"
  1840.  
  1841. .prologue
  1842. .line 98
  1843. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;
  1844.  
  1845. return-object v0
  1846. .end method
  1847.  
  1848. .method static synthetic access$7400(Lcom/android/server/PowerManagerService;ZI)V
  1849. .registers 3
  1850. .parameter "x0"
  1851. .parameter "x1"
  1852. .parameter "x2"
  1853.  
  1854. .prologue
  1855. .line 98
  1856. invoke-direct {p0, p1, p2}, Lcom/android/server/PowerManagerService;->sendNotificationLocked(ZI)V
  1857.  
  1858. return-void
  1859. .end method
  1860.  
  1861. .method static synthetic access$7500(Lcom/android/server/PowerManagerService;)Lcom/android/server/PowerManagerService$BrightnessState;
  1862. .registers 2
  1863. .parameter "x0"
  1864.  
  1865. .prologue
  1866. .line 98
  1867. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  1868.  
  1869. return-object v0
  1870. .end method
  1871.  
  1872. .method static synthetic access$7600(Lcom/android/server/PowerManagerService;I)V
  1873. .registers 2
  1874. .parameter "x0"
  1875. .parameter "x1"
  1876.  
  1877. .prologue
  1878. .line 98
  1879. invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->nativeStartSurfaceFlingerAnimation(I)V
  1880.  
  1881. return-void
  1882. .end method
  1883.  
  1884. .method static synthetic access$7700(Lcom/android/server/PowerManagerService;)I
  1885. .registers 2
  1886. .parameter "x0"
  1887.  
  1888. .prologue
  1889. .line 98
  1890. iget v0, p0, Lcom/android/server/PowerManagerService;->mProximityPendingValue:I
  1891.  
  1892. return v0
  1893. .end method
  1894.  
  1895. .method static synthetic access$7702(Lcom/android/server/PowerManagerService;I)I
  1896. .registers 2
  1897. .parameter "x0"
  1898. .parameter "x1"
  1899.  
  1900. .prologue
  1901. .line 98
  1902. iput p1, p0, Lcom/android/server/PowerManagerService;->mProximityPendingValue:I
  1903.  
  1904. return p1
  1905. .end method
  1906.  
  1907. .method static synthetic access$7800(Lcom/android/server/PowerManagerService;Z)V
  1908. .registers 2
  1909. .parameter "x0"
  1910. .parameter "x1"
  1911.  
  1912. .prologue
  1913. .line 98
  1914. invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->proximityChangedLocked(Z)V
  1915.  
  1916. return-void
  1917. .end method
  1918.  
  1919. .method static synthetic access$7900(Lcom/android/server/PowerManagerService;)Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  1920. .registers 2
  1921. .parameter "x0"
  1922.  
  1923. .prologue
  1924. .line 98
  1925. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mProximityPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  1926.  
  1927. return-object v0
  1928. .end method
  1929.  
  1930. .method static synthetic access$800(Lcom/android/server/PowerManagerService;)Lcom/android/server/BatteryService;
  1931. .registers 2
  1932. .parameter "x0"
  1933.  
  1934. .prologue
  1935. .line 98
  1936. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mBatteryService:Lcom/android/server/BatteryService;
  1937.  
  1938. return-object v0
  1939. .end method
  1940.  
  1941. .method static synthetic access$8000(Lcom/android/server/PowerManagerService;)Z
  1942. .registers 2
  1943. .parameter "x0"
  1944.  
  1945. .prologue
  1946. .line 98
  1947. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mLightSensorPendingDecrease:Z
  1948.  
  1949. return v0
  1950. .end method
  1951.  
  1952. .method static synthetic access$8002(Lcom/android/server/PowerManagerService;Z)Z
  1953. .registers 2
  1954. .parameter "x0"
  1955. .parameter "x1"
  1956.  
  1957. .prologue
  1958. .line 98
  1959. iput-boolean p1, p0, Lcom/android/server/PowerManagerService;->mLightSensorPendingDecrease:Z
  1960.  
  1961. return p1
  1962. .end method
  1963.  
  1964. .method static synthetic access$8100(Lcom/android/server/PowerManagerService;)Z
  1965. .registers 2
  1966. .parameter "x0"
  1967.  
  1968. .prologue
  1969. .line 98
  1970. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mLightSensorPendingIncrease:Z
  1971.  
  1972. return v0
  1973. .end method
  1974.  
  1975. .method static synthetic access$8102(Lcom/android/server/PowerManagerService;Z)Z
  1976. .registers 2
  1977. .parameter "x0"
  1978. .parameter "x1"
  1979.  
  1980. .prologue
  1981. .line 98
  1982. iput-boolean p1, p0, Lcom/android/server/PowerManagerService;->mLightSensorPendingIncrease:Z
  1983.  
  1984. return p1
  1985. .end method
  1986.  
  1987. .method static synthetic access$8200(Lcom/android/server/PowerManagerService;)F
  1988. .registers 2
  1989. .parameter "x0"
  1990.  
  1991. .prologue
  1992. .line 98
  1993. iget v0, p0, Lcom/android/server/PowerManagerService;->mLightSensorPendingValue:F
  1994.  
  1995. return v0
  1996. .end method
  1997.  
  1998. .method static synthetic access$8202(Lcom/android/server/PowerManagerService;F)F
  1999. .registers 2
  2000. .parameter "x0"
  2001. .parameter "x1"
  2002.  
  2003. .prologue
  2004. .line 98
  2005. iput p1, p0, Lcom/android/server/PowerManagerService;->mLightSensorPendingValue:F
  2006.  
  2007. return p1
  2008. .end method
  2009.  
  2010. .method static synthetic access$8300(Lcom/android/server/PowerManagerService;I)V
  2011. .registers 2
  2012. .parameter "x0"
  2013. .parameter "x1"
  2014.  
  2015. .prologue
  2016. .line 98
  2017. invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->lightSensorChangedLocked(I)V
  2018.  
  2019. return-void
  2020. .end method
  2021.  
  2022. .method static synthetic access$8400(Lcom/android/server/PowerManagerService;I)Z
  2023. .registers 3
  2024. .parameter "x0"
  2025. .parameter "x1"
  2026.  
  2027. .prologue
  2028. .line 98
  2029. invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->isScreenLock(I)Z
  2030.  
  2031. move-result v0
  2032.  
  2033. return v0
  2034. .end method
  2035.  
  2036. .method static synthetic access$8500(Lcom/android/server/PowerManagerService;)Z
  2037. .registers 2
  2038. .parameter "x0"
  2039.  
  2040. .prologue
  2041. .line 98
  2042. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mProxIgnoredBecauseScreenTurnedOff:Z
  2043.  
  2044. return v0
  2045. .end method
  2046.  
  2047. .method static synthetic access$8502(Lcom/android/server/PowerManagerService;Z)Z
  2048. .registers 2
  2049. .parameter "x0"
  2050. .parameter "x1"
  2051.  
  2052. .prologue
  2053. .line 98
  2054. iput-boolean p1, p0, Lcom/android/server/PowerManagerService;->mProxIgnoredBecauseScreenTurnedOff:Z
  2055.  
  2056. return p1
  2057. .end method
  2058.  
  2059. .method static synthetic access$8600(Lcom/android/server/PowerManagerService;)J
  2060. .registers 3
  2061. .parameter "x0"
  2062.  
  2063. .prologue
  2064. .line 98
  2065. iget-wide v0, p0, Lcom/android/server/PowerManagerService;->mLastProximityEventTime:J
  2066.  
  2067. return-wide v0
  2068. .end method
  2069.  
  2070. .method static synthetic access$8602(Lcom/android/server/PowerManagerService;J)J
  2071. .registers 3
  2072. .parameter "x0"
  2073. .parameter "x1"
  2074.  
  2075. .prologue
  2076. .line 98
  2077. iput-wide p1, p0, Lcom/android/server/PowerManagerService;->mLastProximityEventTime:J
  2078.  
  2079. return-wide p1
  2080. .end method
  2081.  
  2082. .method static synthetic access$8700(Lcom/android/server/PowerManagerService;)Ljava/lang/Runnable;
  2083. .registers 2
  2084. .parameter "x0"
  2085.  
  2086. .prologue
  2087. .line 98
  2088. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mProximityTask:Ljava/lang/Runnable;
  2089.  
  2090. return-object v0
  2091. .end method
  2092.  
  2093. .method static synthetic access$8800(Lcom/android/server/PowerManagerService;)Landroid/hardware/Sensor;
  2094. .registers 2
  2095. .parameter "x0"
  2096.  
  2097. .prologue
  2098. .line 98
  2099. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mProximitySensor:Landroid/hardware/Sensor;
  2100.  
  2101. return-object v0
  2102. .end method
  2103.  
  2104. .method static synthetic access$8900(Lcom/android/server/PowerManagerService;)Z
  2105. .registers 2
  2106. .parameter "x0"
  2107.  
  2108. .prologue
  2109. .line 98
  2110. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->isScreenTurningOffLocked()Z
  2111.  
  2112. move-result v0
  2113.  
  2114. return v0
  2115. .end method
  2116.  
  2117. .method static synthetic access$900(Lcom/android/server/PowerManagerService;)Z
  2118. .registers 2
  2119. .parameter "x0"
  2120.  
  2121. .prologue
  2122. .line 98
  2123. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mIsLowBattery:Z
  2124.  
  2125. return v0
  2126. .end method
  2127.  
  2128. .method static synthetic access$9000()Z
  2129. .registers 1
  2130.  
  2131. .prologue
  2132. .line 98
  2133. sget-boolean v0, Lcom/android/server/PowerManagerService;->FEATURE_AUTO_BRIGHTNESS_DECREASE:Z
  2134.  
  2135. return v0
  2136. .end method
  2137.  
  2138. .method static synthetic access$902(Lcom/android/server/PowerManagerService;Z)Z
  2139. .registers 2
  2140. .parameter "x0"
  2141. .parameter "x1"
  2142.  
  2143. .prologue
  2144. .line 98
  2145. iput-boolean p1, p0, Lcom/android/server/PowerManagerService;->mIsLowBattery:Z
  2146.  
  2147. return p1
  2148. .end method
  2149.  
  2150. .method static synthetic access$9100(Lcom/android/server/PowerManagerService;)[I
  2151. .registers 2
  2152. .parameter "x0"
  2153.  
  2154. .prologue
  2155. .line 98
  2156. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mLcdBacklightValues:[I
  2157.  
  2158. return-object v0
  2159. .end method
  2160.  
  2161. .method static synthetic access$9200(Lcom/android/server/PowerManagerService;I[I)I
  2162. .registers 4
  2163. .parameter "x0"
  2164. .parameter "x1"
  2165. .parameter "x2"
  2166.  
  2167. .prologue
  2168. .line 98
  2169. invoke-direct {p0, p1, p2}, Lcom/android/server/PowerManagerService;->getAutoBrightnessValue(I[I)I
  2170.  
  2171. move-result v0
  2172.  
  2173. return v0
  2174. .end method
  2175.  
  2176. .method static synthetic access$9300(Lcom/android/server/PowerManagerService;)J
  2177. .registers 3
  2178. .parameter "x0"
  2179.  
  2180. .prologue
  2181. .line 98
  2182. iget-wide v0, p0, Lcom/android/server/PowerManagerService;->mLastScreenOnTime:J
  2183.  
  2184. return-wide v0
  2185. .end method
  2186.  
  2187. .method static synthetic access$9400(Lcom/android/server/PowerManagerService;)I
  2188. .registers 2
  2189. .parameter "x0"
  2190.  
  2191. .prologue
  2192. .line 98
  2193. iget v0, p0, Lcom/android/server/PowerManagerService;->mLightSensorWarmupTime:I
  2194.  
  2195. return v0
  2196. .end method
  2197.  
  2198. .method static synthetic access$9500(Lcom/android/server/PowerManagerService;)Ljava/lang/Runnable;
  2199. .registers 2
  2200. .parameter "x0"
  2201.  
  2202. .prologue
  2203. .line 98
  2204. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mAutoBrightnessTask:Ljava/lang/Runnable;
  2205.  
  2206. return-object v0
  2207. .end method
  2208.  
  2209. .method private applyButtonState(I)I
  2210. .registers 4
  2211. .parameter "state"
  2212.  
  2213. .prologue
  2214. .line 3189
  2215. const/4 v0, -0x1
  2216.  
  2217. .line 3190
  2218. .local v0, brightness:I
  2219. and-int/lit8 v1, p1, 0x10
  2220.  
  2221. if-eqz v1, :cond_6
  2222.  
  2223. .line 3204
  2224. .end local p1
  2225. :cond_5
  2226. :goto_5
  2227. return p1
  2228.  
  2229. .line 3194
  2230. .restart local p1
  2231. :cond_6
  2232. iget v1, p0, Lcom/android/server/PowerManagerService;->mButtonBrightnessOverride:I
  2233.  
  2234. if-ltz v1, :cond_11
  2235.  
  2236. .line 3195
  2237. iget v0, p0, Lcom/android/server/PowerManagerService;->mButtonBrightnessOverride:I
  2238.  
  2239. .line 3199
  2240. :cond_c
  2241. :goto_c
  2242. if-lez v0, :cond_1a
  2243.  
  2244. .line 3200
  2245. or-int/lit8 p1, p1, 0x4
  2246.  
  2247. goto :goto_5
  2248.  
  2249. .line 3196
  2250. :cond_11
  2251. iget v1, p0, Lcom/android/server/PowerManagerService;->mLightSensorButtonBrightness:I
  2252.  
  2253. if-ltz v1, :cond_c
  2254.  
  2255. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  2256.  
  2257. if-eqz v1, :cond_c
  2258.  
  2259. goto :goto_c
  2260.  
  2261. .line 3201
  2262. :cond_1a
  2263. if-nez v0, :cond_5
  2264.  
  2265. .line 3202
  2266. and-int/lit8 p1, p1, -0x5
  2267.  
  2268. goto :goto_5
  2269. .end method
  2270.  
  2271. .method private applyKeyboardState(I)I
  2272. .registers 4
  2273. .parameter "state"
  2274.  
  2275. .prologue
  2276. .line 3209
  2277. const/4 v0, -0x1
  2278.  
  2279. .line 3210
  2280. .local v0, brightness:I
  2281. and-int/lit8 v1, p1, 0x10
  2282.  
  2283. if-eqz v1, :cond_6
  2284.  
  2285. .line 3226
  2286. .end local p1
  2287. :cond_5
  2288. :goto_5
  2289. return p1
  2290.  
  2291. .line 3214
  2292. .restart local p1
  2293. :cond_6
  2294. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mKeyboardVisible:Z
  2295.  
  2296. if-nez v1, :cond_10
  2297.  
  2298. .line 3215
  2299. const/4 v0, 0x0
  2300.  
  2301. .line 3221
  2302. :cond_b
  2303. :goto_b
  2304. if-lez v0, :cond_20
  2305.  
  2306. .line 3222
  2307. or-int/lit8 p1, p1, 0x8
  2308.  
  2309. goto :goto_5
  2310.  
  2311. .line 3216
  2312. :cond_10
  2313. iget v1, p0, Lcom/android/server/PowerManagerService;->mButtonBrightnessOverride:I
  2314.  
  2315. if-ltz v1, :cond_17
  2316.  
  2317. .line 3217
  2318. iget v0, p0, Lcom/android/server/PowerManagerService;->mButtonBrightnessOverride:I
  2319.  
  2320. goto :goto_b
  2321.  
  2322. .line 3218
  2323. :cond_17
  2324. iget v1, p0, Lcom/android/server/PowerManagerService;->mLightSensorKeyboardBrightness:I
  2325.  
  2326. if-ltz v1, :cond_b
  2327.  
  2328. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  2329.  
  2330. if-eqz v1, :cond_b
  2331.  
  2332. goto :goto_b
  2333.  
  2334. .line 3223
  2335. :cond_20
  2336. if-nez v0, :cond_5
  2337.  
  2338. .line 3224
  2339. and-int/lit8 p1, p1, -0x9
  2340.  
  2341. goto :goto_5
  2342. .end method
  2343.  
  2344. .method private batteryIsLow()Z
  2345. .registers 3
  2346.  
  2347. .prologue
  2348. .line 2723
  2349. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mIsPowered:Z
  2350.  
  2351. if-nez v0, :cond_10
  2352.  
  2353. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mBatteryService:Lcom/android/server/BatteryService;
  2354.  
  2355. invoke-virtual {v0}, Lcom/android/server/BatteryService;->getBatteryLevel()I
  2356.  
  2357. move-result v0
  2358.  
  2359. const/16 v1, 0xa
  2360.  
  2361. if-gt v0, v1, :cond_10
  2362.  
  2363. const/4 v0, 0x1
  2364.  
  2365. :goto_f
  2366. return v0
  2367.  
  2368. :cond_10
  2369. const/4 v0, 0x0
  2370.  
  2371. goto :goto_f
  2372. .end method
  2373.  
  2374. .method private cancelTimerLocked()V
  2375. .registers 3
  2376.  
  2377. .prologue
  2378. .line 1629
  2379. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  2380.  
  2381. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mTimeoutTask:Lcom/android/server/PowerManagerService$TimeoutTask;
  2382.  
  2383. invoke-virtual {v0, v1}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
  2384.  
  2385. .line 1630
  2386. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mTimeoutTask:Lcom/android/server/PowerManagerService$TimeoutTask;
  2387.  
  2388. const/4 v1, -0x1
  2389.  
  2390. iput v1, v0, Lcom/android/server/PowerManagerService$TimeoutTask;->nextState:I
  2391.  
  2392. .line 1631
  2393. return-void
  2394. .end method
  2395.  
  2396. .method private clearLightSensorValue()V
  2397. .registers 4
  2398.  
  2399. .prologue
  2400. const/4 v2, -0x1
  2401.  
  2402. .line 2468
  2403. const/high16 v0, -0x4080
  2404.  
  2405. iput v0, p0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  2406.  
  2407. .line 2469
  2408. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mProximitySensorEnabled:Z
  2409.  
  2410. if-nez v0, :cond_12
  2411.  
  2412. .line 2471
  2413. const-string v0, "PowerManagerService"
  2414.  
  2415. const-string v1, "clearLightSensorValue: mHighestLightSensorValue = -1"
  2416.  
  2417. invoke-static {v0, v1}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  2418.  
  2419. .line 2472
  2420. iput v2, p0, Lcom/android/server/PowerManagerService;->mHighestLightSensorValue:I
  2421.  
  2422. .line 2474
  2423. :cond_12
  2424. iput v2, p0, Lcom/android/server/PowerManagerService;->mLightSensorScreenBrightnessWait:I
  2425.  
  2426. .line 2475
  2427. return-void
  2428. .end method
  2429.  
  2430. .method private closeCamera()V
  2431. .registers 5
  2432.  
  2433. .prologue
  2434. const/4 v3, 0x0
  2435.  
  2436. const/4 v2, 0x0
  2437.  
  2438. .line 1899
  2439. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  2440.  
  2441. if-eqz v0, :cond_39
  2442.  
  2443. .line 1900
  2444. const-string v0, "undernormal"
  2445.  
  2446. const-string v1, "closeCamera"
  2447.  
  2448. invoke-static {v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
  2449.  
  2450. .line 1901
  2451. invoke-static {}, Lcom/android/server/CameraHolder;->instance()Lcom/android/server/CameraHolder;
  2452.  
  2453. move-result-object v0
  2454.  
  2455. invoke-virtual {v0}, Lcom/android/server/CameraHolder;->release()V
  2456.  
  2457. .line 1902
  2458. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  2459.  
  2460. invoke-virtual {v0, v2}, Landroid/hardware/Camera;->setZoomChangeListener(Landroid/hardware/Camera$OnZoomChangeListener;)V
  2461.  
  2462. .line 1903
  2463. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  2464.  
  2465. invoke-virtual {v0, v2}, Landroid/hardware/Camera;->setFaceDetectionListener(Landroid/hardware/Camera$FaceDetectionListener;)V
  2466.  
  2467. .line 1904
  2468. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  2469.  
  2470. invoke-virtual {v0, v2}, Landroid/hardware/Camera;->setErrorCallback(Landroid/hardware/Camera$ErrorCallback;)V
  2471.  
  2472. .line 1905
  2473. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  2474.  
  2475. .line 1906
  2476. const/4 v0, 0x1
  2477.  
  2478. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mTextures:[I
  2479.  
  2480. invoke-static {v0, v1, v3}, Landroid/opengl/GLES20;->glDeleteTextures(I[II)V
  2481.  
  2482. .line 1907
  2483. iput-object v2, p0, Lcom/android/server/PowerManagerService;->mTexture:Landroid/graphics/SurfaceTexture;
  2484.  
  2485. .line 1908
  2486. iput v3, p0, Lcom/android/server/PowerManagerService;->mCameraState:I
  2487.  
  2488. .line 1909
  2489. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mFocusManager:Lcom/android/server/CameraFocusManager;
  2490.  
  2491. invoke-virtual {v0}, Lcom/android/server/CameraFocusManager;->removeMessages()V
  2492.  
  2493. .line 1910
  2494. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mFocusManager:Lcom/android/server/CameraFocusManager;
  2495.  
  2496. invoke-virtual {v0}, Lcom/android/server/CameraFocusManager;->onCameraReleased()V
  2497.  
  2498. .line 1912
  2499. :cond_39
  2500. return-void
  2501. .end method
  2502.  
  2503. .method private disableProximityLockLocked()V
  2504. .registers 6
  2505.  
  2506. .prologue
  2507. const/4 v4, 0x0
  2508.  
  2509. .line 4069
  2510. const-string v2, "PowerManagerService"
  2511.  
  2512. const-string v3, "disableProximityLockLocked"
  2513.  
  2514. invoke-static {v2, v3}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  2515.  
  2516. .line 4071
  2517. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mProximitySensorEnabled:Z
  2518.  
  2519. if-eqz v2, :cond_58
  2520.  
  2521. .line 4073
  2522. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  2523.  
  2524. move-result-wide v0
  2525.  
  2526. .line 4075
  2527. .local v0, identity:J
  2528. :try_start_10
  2529. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mSensorManager:Landroid/hardware/SensorManager;
  2530.  
  2531. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mProximityListener:Landroid/hardware/SensorEventListener;
  2532.  
  2533. invoke-virtual {v2, v3}, Landroid/hardware/SensorManager;->unregisterListener(Landroid/hardware/SensorEventListener;)V
  2534.  
  2535. .line 4076
  2536. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  2537.  
  2538. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mProximityTask:Ljava/lang/Runnable;
  2539.  
  2540. invoke-virtual {v2, v3}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
  2541.  
  2542. .line 4077
  2543. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mProximityPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  2544.  
  2545. invoke-virtual {v2}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->isHeld()Z
  2546.  
  2547. move-result v2
  2548.  
  2549. if-eqz v2, :cond_2b
  2550.  
  2551. .line 4078
  2552. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mProximityPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  2553.  
  2554. invoke-virtual {v2}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->release()V
  2555.  
  2556. .line 4080
  2557. :cond_2b
  2558. const/4 v2, 0x0
  2559.  
  2560. iput-boolean v2, p0, Lcom/android/server/PowerManagerService;->mProximitySensorEnabled:Z
  2561. :try_end_2e
  2562. .catchall {:try_start_10 .. :try_end_2e} :catchall_59
  2563.  
  2564. .line 4082
  2565. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  2566.  
  2567. .line 4084
  2568. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  2569.  
  2570. if-eqz v2, :cond_58
  2571.  
  2572. .line 4085
  2573. iput-boolean v4, p0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  2574.  
  2575. .line 4087
  2576. const-string v2, "PowerManagerService"
  2577.  
  2578. new-instance v3, Ljava/lang/StringBuilder;
  2579.  
  2580. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  2581.  
  2582. const-string v4, "disableProximityLockLocked mProxIgnoredBecauseScreenTurnedOff="
  2583.  
  2584. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2585.  
  2586. move-result-object v3
  2587.  
  2588. iget-boolean v4, p0, Lcom/android/server/PowerManagerService;->mProxIgnoredBecauseScreenTurnedOff:Z
  2589.  
  2590. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  2591.  
  2592. move-result-object v3
  2593.  
  2594. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  2595.  
  2596. move-result-object v3
  2597.  
  2598. invoke-static {v2, v3}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  2599.  
  2600. .line 4090
  2601. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mProxIgnoredBecauseScreenTurnedOff:Z
  2602.  
  2603. if-nez v2, :cond_58
  2604.  
  2605. .line 4091
  2606. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->forceUserActivityLocked()V
  2607.  
  2608. .line 4095
  2609. .end local v0 #identity:J
  2610. :cond_58
  2611. return-void
  2612.  
  2613. .line 4082
  2614. .restart local v0 #identity:J
  2615. :catchall_59
  2616. move-exception v2
  2617.  
  2618. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  2619.  
  2620. throw v2
  2621. .end method
  2622.  
  2623. .method private dockStateChanged(I)V
  2624. .registers 5
  2625. .parameter "state"
  2626.  
  2627. .prologue
  2628. .line 3423
  2629. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  2630.  
  2631. monitor-enter v2
  2632.  
  2633. .line 3424
  2634. if-eqz p1, :cond_21
  2635.  
  2636. const/4 v1, 0x1
  2637.  
  2638. :goto_6
  2639. :try_start_6
  2640. iput-boolean v1, p0, Lcom/android/server/PowerManagerService;->mIsDocked:Z
  2641.  
  2642. .line 3425
  2643. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mIsDocked:Z
  2644.  
  2645. if-eqz v1, :cond_f
  2646.  
  2647. .line 3426
  2648. const/4 v1, -0x1
  2649.  
  2650. iput v1, p0, Lcom/android/server/PowerManagerService;->mHighestLightSensorValue:I
  2651.  
  2652. .line 3428
  2653. :cond_f
  2654. iget v1, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  2655.  
  2656. and-int/lit8 v1, v1, 0x1
  2657.  
  2658. if-eqz v1, :cond_1f
  2659.  
  2660. .line 3430
  2661. iget v1, p0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  2662.  
  2663. float-to-int v0, v1
  2664.  
  2665. .line 3431
  2666. .local v0, value:I
  2667. const/high16 v1, -0x4080
  2668.  
  2669. iput v1, p0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  2670.  
  2671. .line 3432
  2672. invoke-direct {p0, v0}, Lcom/android/server/PowerManagerService;->lightSensorChangedLocked(I)V
  2673.  
  2674. .line 3434
  2675. .end local v0 #value:I
  2676. :cond_1f
  2677. monitor-exit v2
  2678.  
  2679. .line 3435
  2680. return-void
  2681.  
  2682. .line 3424
  2683. :cond_21
  2684. const/4 v1, 0x0
  2685.  
  2686. goto :goto_6
  2687.  
  2688. .line 3434
  2689. :catchall_23
  2690. move-exception v1
  2691.  
  2692. monitor-exit v2
  2693. :try_end_25
  2694. .catchall {:try_start_6 .. :try_end_25} :catchall_23
  2695.  
  2696. throw v1
  2697. .end method
  2698.  
  2699. .method private static dumpPowerState(I)Ljava/lang/String;
  2700. .registers 3
  2701. .parameter "state"
  2702.  
  2703. .prologue
  2704. .line 1355
  2705. new-instance v1, Ljava/lang/StringBuilder;
  2706.  
  2707. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  2708.  
  2709. and-int/lit8 v0, p0, 0x8
  2710.  
  2711. if-eqz v0, :cond_32
  2712.  
  2713. const-string v0, "KEYBOARD_BRIGHT_BIT "
  2714.  
  2715. :goto_b
  2716. invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2717.  
  2718. move-result-object v1
  2719.  
  2720. and-int/lit8 v0, p0, 0x2
  2721.  
  2722. if-eqz v0, :cond_35
  2723.  
  2724. const-string v0, "SCREEN_BRIGHT_BIT "
  2725.  
  2726. :goto_15
  2727. invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2728.  
  2729. move-result-object v1
  2730.  
  2731. and-int/lit8 v0, p0, 0x1
  2732.  
  2733. if-eqz v0, :cond_38
  2734.  
  2735. const-string v0, "SCREEN_ON_BIT "
  2736.  
  2737. :goto_1f
  2738. invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2739.  
  2740. move-result-object v1
  2741.  
  2742. and-int/lit8 v0, p0, 0x10
  2743.  
  2744. if-eqz v0, :cond_3b
  2745.  
  2746. const-string v0, "BATTERY_LOW_BIT "
  2747.  
  2748. :goto_29
  2749. invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2750.  
  2751. move-result-object v0
  2752.  
  2753. invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  2754.  
  2755. move-result-object v0
  2756.  
  2757. return-object v0
  2758.  
  2759. :cond_32
  2760. const-string v0, ""
  2761.  
  2762. goto :goto_b
  2763.  
  2764. :cond_35
  2765. const-string v0, ""
  2766.  
  2767. goto :goto_15
  2768.  
  2769. :cond_38
  2770. const-string v0, ""
  2771.  
  2772. goto :goto_1f
  2773.  
  2774. :cond_3b
  2775. const-string v0, ""
  2776.  
  2777. goto :goto_29
  2778. .end method
  2779.  
  2780. .method private dumpWakeLockLocked()V
  2781. .registers 12
  2782.  
  2783. .prologue
  2784. .line 1473
  2785. iget-object v7, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  2786.  
  2787. invoke-virtual {v7}, Lcom/android/server/PowerManagerService$LockList;->size()I
  2788.  
  2789. move-result v0
  2790.  
  2791. .line 1474
  2792. .local v0, N:I
  2793. const-string v7, "PowerManagerService"
  2794.  
  2795. new-instance v8, Ljava/lang/StringBuilder;
  2796.  
  2797. invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
  2798.  
  2799. const-string v9, "wakelock list dump: mLocks.size="
  2800.  
  2801. invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2802.  
  2803. move-result-object v8
  2804.  
  2805. invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  2806.  
  2807. move-result-object v8
  2808.  
  2809. const-string v9, ":"
  2810.  
  2811. invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2812.  
  2813. move-result-object v8
  2814.  
  2815. invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  2816.  
  2817. move-result-object v8
  2818.  
  2819. invoke-static {v7, v8}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  2820.  
  2821. .line 1475
  2822. const/4 v2, 0x0
  2823.  
  2824. .local v2, i:I
  2825. :goto_25
  2826. if-ge v2, v0, :cond_c5
  2827.  
  2828. .line 1476
  2829. iget-object v7, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  2830.  
  2831. invoke-virtual {v7, v2}, Lcom/android/server/PowerManagerService$LockList;->get(I)Ljava/lang/Object;
  2832.  
  2833. move-result-object v6
  2834.  
  2835. check-cast v6, Lcom/android/server/PowerManagerService$WakeLock;
  2836.  
  2837. .line 1477
  2838. .local v6, wl:Lcom/android/server/PowerManagerService$WakeLock;
  2839. iget v7, v6, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  2840.  
  2841. and-int/lit8 v7, v7, 0x3f
  2842.  
  2843. invoke-static {v7}, Lcom/android/server/PowerManagerService;->lockType(I)Ljava/lang/String;
  2844.  
  2845. move-result-object v5
  2846.  
  2847. .line 1478
  2848. .local v5, type:Ljava/lang/String;
  2849. const-string v1, ""
  2850.  
  2851. .line 1479
  2852. .local v1, activated:Ljava/lang/String;
  2853. iget-wide v3, v6, Lcom/android/server/PowerManagerService$WakeLock;->total_time:J
  2854.  
  2855. .line 1480
  2856. .local v3, total_time:J
  2857. iget-boolean v7, v6, Lcom/android/server/PowerManagerService$WakeLock;->activated:Z
  2858.  
  2859. if-eqz v7, :cond_49
  2860.  
  2861. .line 1481
  2862. const-string v1, " activated"
  2863.  
  2864. .line 1482
  2865. invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
  2866.  
  2867. move-result-wide v7
  2868.  
  2869. iget-wide v9, v6, Lcom/android/server/PowerManagerService$WakeLock;->active_since:J
  2870.  
  2871. sub-long/2addr v7, v9
  2872.  
  2873. add-long/2addr v3, v7
  2874.  
  2875. .line 1484
  2876. :cond_49
  2877. const-string v7, "PowerManagerService"
  2878.  
  2879. new-instance v8, Ljava/lang/StringBuilder;
  2880.  
  2881. invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
  2882.  
  2883. const-string v9, "No."
  2884.  
  2885. invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2886.  
  2887. move-result-object v8
  2888.  
  2889. invoke-virtual {v8, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  2890.  
  2891. move-result-object v8
  2892.  
  2893. const-string v9, ": "
  2894.  
  2895. invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2896.  
  2897. move-result-object v8
  2898.  
  2899. invoke-virtual {v8, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2900.  
  2901. move-result-object v8
  2902.  
  2903. const-string v9, " \'"
  2904.  
  2905. invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2906.  
  2907. move-result-object v8
  2908.  
  2909. iget-object v9, v6, Lcom/android/server/PowerManagerService$WakeLock;->tag:Ljava/lang/String;
  2910.  
  2911. invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2912.  
  2913. move-result-object v8
  2914.  
  2915. const-string v9, "\'"
  2916.  
  2917. invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2918.  
  2919. move-result-object v8
  2920.  
  2921. invoke-virtual {v8, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2922.  
  2923. move-result-object v8
  2924.  
  2925. const-string v9, "(flags="
  2926.  
  2927. invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2928.  
  2929. move-result-object v8
  2930.  
  2931. iget v9, v6, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  2932.  
  2933. invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  2934.  
  2935. move-result-object v8
  2936.  
  2937. const-string v9, ", minState="
  2938.  
  2939. invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2940.  
  2941. move-result-object v8
  2942.  
  2943. iget v9, v6, Lcom/android/server/PowerManagerService$WakeLock;->minState:I
  2944.  
  2945. invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  2946.  
  2947. move-result-object v8
  2948.  
  2949. const-string v9, ", uid="
  2950.  
  2951. invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2952.  
  2953. move-result-object v8
  2954.  
  2955. iget v9, v6, Lcom/android/server/PowerManagerService$WakeLock;->uid:I
  2956.  
  2957. invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  2958.  
  2959. move-result-object v8
  2960.  
  2961. const-string v9, ", pid="
  2962.  
  2963. invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2964.  
  2965. move-result-object v8
  2966.  
  2967. iget v9, v6, Lcom/android/server/PowerManagerService$WakeLock;->pid:I
  2968.  
  2969. invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  2970.  
  2971. move-result-object v8
  2972.  
  2973. const-string v9, " total="
  2974.  
  2975. invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2976.  
  2977. move-result-object v8
  2978.  
  2979. invoke-virtual {v8, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  2980.  
  2981. move-result-object v8
  2982.  
  2983. const-string v9, "ms)"
  2984.  
  2985. invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2986.  
  2987. move-result-object v8
  2988.  
  2989. invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  2990.  
  2991. move-result-object v8
  2992.  
  2993. invoke-static {v7, v8}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  2994.  
  2995. .line 1475
  2996. add-int/lit8 v2, v2, 0x1
  2997.  
  2998. goto/16 :goto_25
  2999.  
  3000. .line 1489
  3001. .end local v1 #activated:Ljava/lang/String;
  3002. .end local v3 #total_time:J
  3003. .end local v5 #type:Ljava/lang/String;
  3004. .end local v6 #wl:Lcom/android/server/PowerManagerService$WakeLock;
  3005. :cond_c5
  3006. return-void
  3007. .end method
  3008.  
  3009. .method private enableLightSensorLocked(Z)V
  3010. .registers 8
  3011. .parameter "enable"
  3012.  
  3013. .prologue
  3014. .line 4137
  3015. const-string v2, "PowerManagerService"
  3016.  
  3017. new-instance v3, Ljava/lang/StringBuilder;
  3018.  
  3019. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  3020.  
  3021. const-string v4, "enableLightSensorLocked enable="
  3022.  
  3023. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3024.  
  3025. move-result-object v3
  3026.  
  3027. invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  3028.  
  3029. move-result-object v3
  3030.  
  3031. const-string v4, " mAutoBrightessEnabled="
  3032.  
  3033. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3034.  
  3035. move-result-object v3
  3036.  
  3037. iget-boolean v4, p0, Lcom/android/server/PowerManagerService;->mAutoBrightessEnabled:Z
  3038.  
  3039. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  3040.  
  3041. move-result-object v3
  3042.  
  3043. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3044.  
  3045. move-result-object v3
  3046.  
  3047. invoke-static {v2, v3}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  3048.  
  3049. .line 4140
  3050. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mAutoBrightessEnabled:Z
  3051.  
  3052. if-nez v2, :cond_29
  3053.  
  3054. .line 4141
  3055. const/4 p1, 0x0
  3056.  
  3057. .line 4143
  3058. :cond_29
  3059. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mSensorManager:Landroid/hardware/SensorManager;
  3060.  
  3061. if-eqz v2, :cond_4f
  3062.  
  3063. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mLightSensorEnabled:Z
  3064.  
  3065. if-eq v2, p1, :cond_4f
  3066.  
  3067. .line 4144
  3068. iput-boolean p1, p0, Lcom/android/server/PowerManagerService;->mLightSensorEnabled:Z
  3069.  
  3070. .line 4147
  3071. const/4 v2, -0x1
  3072.  
  3073. iput v2, p0, Lcom/android/server/PowerManagerService;->mHighestLightSensorValue:I
  3074.  
  3075. .line 4148
  3076. const/high16 v2, -0x4080
  3077.  
  3078. iput v2, p0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  3079.  
  3080. .line 4151
  3081. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  3082.  
  3083. move-result-wide v0
  3084.  
  3085. .line 4153
  3086. .local v0, identity:J
  3087. if-eqz p1, :cond_50
  3088.  
  3089. .line 4154
  3090. :try_start_40
  3091. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mSensorManager:Landroid/hardware/SensorManager;
  3092.  
  3093. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mLightListener:Landroid/hardware/SensorEventListener;
  3094.  
  3095. iget-object v4, p0, Lcom/android/server/PowerManagerService;->mLightSensor:Landroid/hardware/Sensor;
  3096.  
  3097. const v5, 0xf4240
  3098.  
  3099. invoke-virtual {v2, v3, v4, v5}, Landroid/hardware/SensorManager;->registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;I)Z
  3100. :try_end_4c
  3101. .catchall {:try_start_40 .. :try_end_4c} :catchall_5f
  3102.  
  3103. .line 4161
  3104. :goto_4c
  3105. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  3106.  
  3107. .line 4164
  3108. .end local v0 #identity:J
  3109. :cond_4f
  3110. return-void
  3111.  
  3112. .line 4157
  3113. .restart local v0 #identity:J
  3114. :cond_50
  3115. :try_start_50
  3116. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mSensorManager:Landroid/hardware/SensorManager;
  3117.  
  3118. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mLightListener:Landroid/hardware/SensorEventListener;
  3119.  
  3120. invoke-virtual {v2, v3}, Landroid/hardware/SensorManager;->unregisterListener(Landroid/hardware/SensorEventListener;)V
  3121.  
  3122. .line 4158
  3123. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  3124.  
  3125. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mAutoBrightnessTask:Ljava/lang/Runnable;
  3126.  
  3127. invoke-virtual {v2, v3}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
  3128. :try_end_5e
  3129. .catchall {:try_start_50 .. :try_end_5e} :catchall_5f
  3130.  
  3131. goto :goto_4c
  3132.  
  3133. .line 4161
  3134. :catchall_5f
  3135. move-exception v2
  3136.  
  3137. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  3138.  
  3139. throw v2
  3140. .end method
  3141.  
  3142. .method private enableProximityLockLocked()V
  3143. .registers 7
  3144.  
  3145. .prologue
  3146. .line 4052
  3147. const-string v2, "PowerManagerService"
  3148.  
  3149. const-string v3, "enableProximityLockLocked"
  3150.  
  3151. invoke-static {v2, v3}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  3152.  
  3153. .line 4054
  3154. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mProximitySensorEnabled:Z
  3155.  
  3156. if-nez v2, :cond_1f
  3157.  
  3158. .line 4056
  3159. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  3160.  
  3161. move-result-wide v0
  3162.  
  3163. .line 4058
  3164. .local v0, identity:J
  3165. :try_start_f
  3166. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mSensorManager:Landroid/hardware/SensorManager;
  3167.  
  3168. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mProximityListener:Landroid/hardware/SensorEventListener;
  3169.  
  3170. iget-object v4, p0, Lcom/android/server/PowerManagerService;->mProximitySensor:Landroid/hardware/Sensor;
  3171.  
  3172. const/4 v5, 0x3
  3173.  
  3174. invoke-virtual {v2, v3, v4, v5}, Landroid/hardware/SensorManager;->registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;I)Z
  3175.  
  3176. .line 4060
  3177. const/4 v2, 0x1
  3178.  
  3179. iput-boolean v2, p0, Lcom/android/server/PowerManagerService;->mProximitySensorEnabled:Z
  3180. :try_end_1c
  3181. .catchall {:try_start_f .. :try_end_1c} :catchall_20
  3182.  
  3183. .line 4062
  3184. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  3185.  
  3186. .line 4065
  3187. .end local v0 #identity:J
  3188. :cond_1f
  3189. return-void
  3190.  
  3191. .line 4062
  3192. .restart local v0 #identity:J
  3193. :catchall_20
  3194. move-exception v2
  3195.  
  3196. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  3197.  
  3198. throw v2
  3199. .end method
  3200.  
  3201. .method private forceReenableScreen()V
  3202. .registers 3
  3203.  
  3204. .prologue
  3205. .line 2437
  3206. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mPreventScreenOn:Z
  3207.  
  3208. if-nez v0, :cond_c
  3209.  
  3210. .line 2438
  3211. const-string v0, "PowerManagerService"
  3212.  
  3213. const-string v1, "forceReenableScreen: mPreventScreenOn is false, nothing to do"
  3214.  
  3215. invoke-static {v0, v1}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
  3216.  
  3217. .line 2453
  3218. :goto_b
  3219. return-void
  3220.  
  3221. .line 2450
  3222. :cond_c
  3223. const-string v0, "PowerManagerService"
  3224.  
  3225. const-string v1, "App called preventScreenOn(true) but didn\'t promptly reenable the screen! Forcing the screen back on..."
  3226.  
  3227. invoke-static {v0, v1}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
  3228.  
  3229. .line 2452
  3230. const/4 v0, 0x0
  3231.  
  3232. invoke-virtual {p0, v0}, Lcom/android/server/PowerManagerService;->preventScreenOn(Z)V
  3233.  
  3234. goto :goto_b
  3235. .end method
  3236.  
  3237. .method private forceUserActivityLocked()V
  3238. .registers 5
  3239.  
  3240. .prologue
  3241. const/4 v3, 0x0
  3242.  
  3243. .line 3262
  3244. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->isScreenTurningOffLocked()Z
  3245.  
  3246. move-result v1
  3247.  
  3248. if-eqz v1, :cond_b
  3249.  
  3250. .line 3264
  3251. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  3252.  
  3253. iput-boolean v3, v1, Lcom/android/server/PowerManagerService$BrightnessState;->animating:Z
  3254.  
  3255. .line 3266
  3256. :cond_b
  3257. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mUserActivityAllowed:Z
  3258.  
  3259. .line 3267
  3260. .local v0, savedActivityAllowed:Z
  3261. const/4 v1, 0x1
  3262.  
  3263. iput-boolean v1, p0, Lcom/android/server/PowerManagerService;->mUserActivityAllowed:Z
  3264.  
  3265. .line 3268
  3266. invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
  3267.  
  3268. move-result-wide v1
  3269.  
  3270. invoke-virtual {p0, v1, v2, v3}, Lcom/android/server/PowerManagerService;->userActivity(JZ)V
  3271.  
  3272. .line 3269
  3273. iput-boolean v0, p0, Lcom/android/server/PowerManagerService;->mUserActivityAllowed:Z
  3274.  
  3275. .line 3270
  3276. return-void
  3277. .end method
  3278.  
  3279. .method private getAutoBrightnessValue(I[I)I
  3280. .registers 7
  3281. .parameter "sensorValue"
  3282. .parameter "values"
  3283.  
  3284. .prologue
  3285. .line 3381
  3286. const/4 v1, 0x0
  3287.  
  3288. .local v1, i:I
  3289. :goto_1
  3290. :try_start_1
  3291. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mAutoBrightnessLevels:[I
  3292.  
  3293. array-length v2, v2
  3294.  
  3295. if-ge v1, v2, :cond_c
  3296.  
  3297. .line 3382
  3298. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mAutoBrightnessLevels:[I
  3299.  
  3300. aget v2, v2, v1
  3301.  
  3302. if-ge p1, v2, :cond_f
  3303.  
  3304. .line 3386
  3305. :cond_c
  3306. aget v2, p2, v1
  3307. :try_end_e
  3308. .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_e} :catch_12
  3309.  
  3310. .line 3390
  3311. :goto_e
  3312. return v2
  3313.  
  3314. .line 3381
  3315. :cond_f
  3316. add-int/lit8 v1, v1, 0x1
  3317.  
  3318. goto :goto_1
  3319.  
  3320. .line 3387
  3321. :catch_12
  3322. move-exception v0
  3323.  
  3324. .line 3389
  3325. .local v0, e:Ljava/lang/Exception;
  3326. const-string v2, "PowerManagerService"
  3327.  
  3328. const-string v3, "getAutoBrightnessValue"
  3329.  
  3330. invoke-static {v2, v3, v0}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  3331.  
  3332. .line 3390
  3333. const/16 v2, 0xff
  3334.  
  3335. goto :goto_e
  3336. .end method
  3337.  
  3338. .method private getDynamicWakeLockLocked(Lcom/android/server/PowerManagerService$WakeLock;Z)V
  3339. .registers 7
  3340. .parameter "wl"
  3341. .parameter "isAcquire"
  3342.  
  3343. .prologue
  3344. .line 4336
  3345. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mIsWakeLockBGDbgModeRunning:Z
  3346.  
  3347. if-nez v1, :cond_5
  3348.  
  3349. .line 4350
  3350. :cond_4
  3351. :goto_4
  3352. return-void
  3353.  
  3354. .line 4339
  3355. :cond_5
  3356. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mIsWakeLockSkippedByTag:Z
  3357.  
  3358. if-eqz v1, :cond_1e
  3359.  
  3360. .line 4340
  3361. const/4 v0, 0x0
  3362.  
  3363. .local v0, i:I
  3364. :goto_a
  3365. sget-object v1, Lcom/android/server/PowerManagerService;->WAKELOCK_SKIPPED_TAG:[Ljava/lang/String;
  3366.  
  3367. array-length v1, v1
  3368.  
  3369. if-ge v0, v1, :cond_1e
  3370.  
  3371. .line 4341
  3372. iget-object v1, p1, Lcom/android/server/PowerManagerService$WakeLock;->tag:Ljava/lang/String;
  3373.  
  3374. sget-object v2, Lcom/android/server/PowerManagerService;->WAKELOCK_SKIPPED_TAG:[Ljava/lang/String;
  3375.  
  3376. aget-object v2, v2, v0
  3377.  
  3378. invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  3379.  
  3380. move-result v1
  3381.  
  3382. if-nez v1, :cond_4
  3383.  
  3384. .line 4340
  3385. add-int/lit8 v0, v0, 0x1
  3386.  
  3387. goto :goto_a
  3388.  
  3389. .line 4346
  3390. .end local v0 #i:I
  3391. :cond_1e
  3392. if-eqz p2, :cond_4c
  3393.  
  3394. .line 4347
  3395. new-instance v1, Ljava/lang/StringBuilder;
  3396.  
  3397. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  3398.  
  3399. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mWakeLockBGDbgModeResult:Ljava/lang/String;
  3400.  
  3401. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3402.  
  3403. move-result-object v1
  3404.  
  3405. const-string v2, "\nAcquired: TAG = "
  3406.  
  3407. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3408.  
  3409. move-result-object v1
  3410.  
  3411. iget-object v2, p1, Lcom/android/server/PowerManagerService$WakeLock;->tag:Ljava/lang/String;
  3412.  
  3413. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3414.  
  3415. move-result-object v1
  3416.  
  3417. const-string v2, " , FLAG = "
  3418.  
  3419. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3420.  
  3421. move-result-object v1
  3422.  
  3423. invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->getWakeLockFlagLocked(Lcom/android/server/PowerManagerService$WakeLock;)Ljava/lang/String;
  3424.  
  3425. move-result-object v2
  3426.  
  3427. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3428.  
  3429. move-result-object v1
  3430.  
  3431. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3432.  
  3433. move-result-object v1
  3434.  
  3435. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mWakeLockBGDbgModeResult:Ljava/lang/String;
  3436.  
  3437. goto :goto_4
  3438.  
  3439. .line 4349
  3440. :cond_4c
  3441. new-instance v1, Ljava/lang/StringBuilder;
  3442.  
  3443. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  3444.  
  3445. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mWakeLockBGDbgModeResult:Ljava/lang/String;
  3446.  
  3447. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3448.  
  3449. move-result-object v1
  3450.  
  3451. const-string v2, "\nReleased: TAG = "
  3452.  
  3453. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3454.  
  3455. move-result-object v1
  3456.  
  3457. iget-object v2, p1, Lcom/android/server/PowerManagerService$WakeLock;->tag:Ljava/lang/String;
  3458.  
  3459. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3460.  
  3461. move-result-object v1
  3462.  
  3463. const-string v2, "("
  3464.  
  3465. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3466.  
  3467. move-result-object v1
  3468.  
  3469. iget-wide v2, p1, Lcom/android/server/PowerManagerService$WakeLock;->total_time:J
  3470.  
  3471. invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  3472.  
  3473. move-result-object v1
  3474.  
  3475. const-string v2, "ms)"
  3476.  
  3477. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3478.  
  3479. move-result-object v1
  3480.  
  3481. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3482.  
  3483. move-result-object v1
  3484.  
  3485. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mWakeLockBGDbgModeResult:Ljava/lang/String;
  3486.  
  3487. goto :goto_4
  3488. .end method
  3489.  
  3490. .method static synthetic getContextZZ(Lcom/android/server/PowerManagerService;)Landroid/content/Context;
  3491. .registers 2
  3492. .parameter "x0"
  3493.  
  3494. .prologue
  3495. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  3496.  
  3497. return-object v0
  3498. .end method
  3499.  
  3500.  
  3501. .method private getPreferredBrightness()I
  3502. .registers 5
  3503.  
  3504. .prologue
  3505. .line 3173
  3506. :try_start_0
  3507. iget v2, p0, Lcom/android/server/PowerManagerService;->mScreenBrightnessOverride:I
  3508.  
  3509. if-ltz v2, :cond_7
  3510.  
  3511. .line 3174
  3512. iget v2, p0, Lcom/android/server/PowerManagerService;->mScreenBrightnessOverride:I
  3513.  
  3514. .line 3184
  3515. :goto_6
  3516. return v2
  3517.  
  3518. .line 3175
  3519. :cond_7
  3520. iget v2, p0, Lcom/android/server/PowerManagerService;->mLightSensorScreenBrightness:I
  3521.  
  3522. if-ltz v2, :cond_1a
  3523.  
  3524. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  3525.  
  3526. if-eqz v2, :cond_1a
  3527.  
  3528. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mAutoBrightessEnabled:Z
  3529.  
  3530. if-eqz v2, :cond_1a
  3531.  
  3532. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mIsLowBattery:Z
  3533.  
  3534. if-nez v2, :cond_1a
  3535.  
  3536. .line 3177
  3537. iget v2, p0, Lcom/android/server/PowerManagerService;->mLightSensorScreenBrightness:I
  3538.  
  3539. goto :goto_6
  3540.  
  3541. .line 3179
  3542. :cond_1a
  3543. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  3544.  
  3545. invoke-virtual {v2}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
  3546.  
  3547. move-result-object v2
  3548.  
  3549. const-string v3, "screen_brightness"
  3550.  
  3551. invoke-static {v2, v3}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;)I
  3552.  
  3553. move-result v0
  3554.  
  3555. .line 3182
  3556. .local v0, brightness:I
  3557. iget v2, p0, Lcom/android/server/PowerManagerService;->mScreenBrightnessDim:I
  3558.  
  3559. invoke-static {v0, v2}, Ljava/lang/Math;->max(II)I
  3560. :try_end_2b
  3561. .catch Landroid/provider/Settings$SettingNotFoundException; {:try_start_0 .. :try_end_2b} :catch_2d
  3562.  
  3563. move-result v2
  3564.  
  3565. goto :goto_6
  3566.  
  3567. .line 3183
  3568. .end local v0 #brightness:I
  3569. :catch_2d
  3570. move-exception v1
  3571.  
  3572. .line 3184
  3573. .local v1, snfe:Landroid/provider/Settings$SettingNotFoundException;
  3574. const/16 v2, 0xff
  3575.  
  3576. goto :goto_6
  3577. .end method
  3578.  
  3579. .method private getWakeLockFlagLocked(Lcom/android/server/PowerManagerService$WakeLock;)Ljava/lang/String;
  3580. .registers 10
  3581. .parameter "wl"
  3582.  
  3583. .prologue
  3584. const/high16 v7, 0x2000
  3585.  
  3586. const/high16 v6, 0x1000
  3587.  
  3588. const/4 v5, 0x1
  3589.  
  3590. .line 4290
  3591. const-string v0, ""
  3592.  
  3593. .line 4291
  3594. .local v0, flag:Ljava/lang/String;
  3595. const/4 v2, 0x0
  3596.  
  3597. .line 4293
  3598. .local v2, isMultiFlag:Z
  3599. if-nez p1, :cond_c
  3600.  
  3601. move-object v1, v0
  3602.  
  3603. .line 4331
  3604. .end local v0 #flag:Ljava/lang/String;
  3605. .local v1, flag:Ljava/lang/String;
  3606. :goto_b
  3607. return-object v1
  3608.  
  3609. .line 4297
  3610. .end local v1 #flag:Ljava/lang/String;
  3611. .restart local v0 #flag:Ljava/lang/String;
  3612. :cond_c
  3613. iget v3, p1, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  3614.  
  3615. and-int/lit8 v3, v3, 0x1
  3616.  
  3617. if-ne v3, v5, :cond_26
  3618.  
  3619. .line 4298
  3620. new-instance v3, Ljava/lang/StringBuilder;
  3621.  
  3622. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  3623.  
  3624. invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3625.  
  3626. move-result-object v3
  3627.  
  3628. const-string v4, "PARTIAL_WAKE_LOCK"
  3629.  
  3630. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3631.  
  3632. move-result-object v3
  3633.  
  3634. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3635.  
  3636. move-result-object v0
  3637.  
  3638. .line 4299
  3639. const/4 v2, 0x1
  3640.  
  3641. .line 4301
  3642. :cond_26
  3643. iget v3, p1, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  3644.  
  3645. and-int/lit8 v3, v3, 0x1a
  3646.  
  3647. const/16 v4, 0x1a
  3648.  
  3649. if-ne v3, v4, :cond_11b
  3650.  
  3651. .line 4302
  3652. new-instance v3, Ljava/lang/StringBuilder;
  3653.  
  3654. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  3655.  
  3656. invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3657.  
  3658. move-result-object v4
  3659.  
  3660. if-ne v2, v5, :cond_117
  3661.  
  3662. const-string v3, "|"
  3663.  
  3664. :goto_3b
  3665. invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3666.  
  3667. move-result-object v3
  3668.  
  3669. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3670.  
  3671. move-result-object v0
  3672.  
  3673. .line 4303
  3674. new-instance v3, Ljava/lang/StringBuilder;
  3675.  
  3676. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  3677.  
  3678. invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3679.  
  3680. move-result-object v3
  3681.  
  3682. const-string v4, "FULL_WAKE_LOCK"
  3683.  
  3684. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3685.  
  3686. move-result-object v3
  3687.  
  3688. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3689.  
  3690. move-result-object v0
  3691.  
  3692. .line 4304
  3693. const/4 v2, 0x1
  3694.  
  3695. .line 4310
  3696. :cond_57
  3697. :goto_57
  3698. iget v3, p1, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  3699.  
  3700. and-int/lit8 v3, v3, 0x6
  3701.  
  3702. const/4 v4, 0x6
  3703.  
  3704. if-ne v3, v4, :cond_87
  3705.  
  3706. .line 4311
  3707. new-instance v3, Ljava/lang/StringBuilder;
  3708.  
  3709. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  3710.  
  3711. invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3712.  
  3713. move-result-object v4
  3714.  
  3715. if-ne v2, v5, :cond_151
  3716.  
  3717. const-string v3, "|"
  3718.  
  3719. :goto_6b
  3720. invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3721.  
  3722. move-result-object v3
  3723.  
  3724. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3725.  
  3726. move-result-object v0
  3727.  
  3728. .line 4312
  3729. new-instance v3, Ljava/lang/StringBuilder;
  3730.  
  3731. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  3732.  
  3733. invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3734.  
  3735. move-result-object v3
  3736.  
  3737. const-string v4, "SCREEN_DIM_WAKE_LOCK"
  3738.  
  3739. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3740.  
  3741. move-result-object v3
  3742.  
  3743. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3744.  
  3745. move-result-object v0
  3746.  
  3747. .line 4313
  3748. const/4 v2, 0x1
  3749.  
  3750. .line 4315
  3751. :cond_87
  3752. iget v3, p1, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  3753.  
  3754. and-int/lit8 v3, v3, 0x20
  3755.  
  3756. const/16 v4, 0x20
  3757.  
  3758. if-ne v3, v4, :cond_b8
  3759.  
  3760. .line 4316
  3761. new-instance v3, Ljava/lang/StringBuilder;
  3762.  
  3763. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  3764.  
  3765. invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3766.  
  3767. move-result-object v4
  3768.  
  3769. if-ne v2, v5, :cond_155
  3770.  
  3771. const-string v3, "|"
  3772.  
  3773. :goto_9c
  3774. invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3775.  
  3776. move-result-object v3
  3777.  
  3778. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3779.  
  3780. move-result-object v0
  3781.  
  3782. .line 4317
  3783. new-instance v3, Ljava/lang/StringBuilder;
  3784.  
  3785. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  3786.  
  3787. invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3788.  
  3789. move-result-object v3
  3790.  
  3791. const-string v4, "PROXIMITY_SCREEN_OFF_WAKE_LOCK"
  3792.  
  3793. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3794.  
  3795. move-result-object v3
  3796.  
  3797. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3798.  
  3799. move-result-object v0
  3800.  
  3801. .line 4318
  3802. const/4 v2, 0x1
  3803.  
  3804. .line 4320
  3805. :cond_b8
  3806. iget v3, p1, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  3807.  
  3808. and-int/2addr v3, v6
  3809.  
  3810. if-ne v3, v6, :cond_e6
  3811.  
  3812. .line 4321
  3813. new-instance v3, Ljava/lang/StringBuilder;
  3814.  
  3815. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  3816.  
  3817. invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3818.  
  3819. move-result-object v4
  3820.  
  3821. if-ne v2, v5, :cond_159
  3822.  
  3823. const-string v3, "|"
  3824.  
  3825. :goto_ca
  3826. invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3827.  
  3828. move-result-object v3
  3829.  
  3830. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3831.  
  3832. move-result-object v0
  3833.  
  3834. .line 4322
  3835. new-instance v3, Ljava/lang/StringBuilder;
  3836.  
  3837. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  3838.  
  3839. invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3840.  
  3841. move-result-object v3
  3842.  
  3843. const-string v4, "ACQUIRE_CAUSES_WAKEUP"
  3844.  
  3845. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3846.  
  3847. move-result-object v3
  3848.  
  3849. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3850.  
  3851. move-result-object v0
  3852.  
  3853. .line 4323
  3854. const/4 v2, 0x1
  3855.  
  3856. .line 4325
  3857. :cond_e6
  3858. iget v3, p1, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  3859.  
  3860. and-int/2addr v3, v7
  3861.  
  3862. if-ne v3, v7, :cond_114
  3863.  
  3864. .line 4326
  3865. new-instance v3, Ljava/lang/StringBuilder;
  3866.  
  3867. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  3868.  
  3869. invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3870.  
  3871. move-result-object v4
  3872.  
  3873. if-ne v2, v5, :cond_15d
  3874.  
  3875. const-string v3, "|"
  3876.  
  3877. :goto_f8
  3878. invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3879.  
  3880. move-result-object v3
  3881.  
  3882. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3883.  
  3884. move-result-object v0
  3885.  
  3886. .line 4327
  3887. new-instance v3, Ljava/lang/StringBuilder;
  3888.  
  3889. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  3890.  
  3891. invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3892.  
  3893. move-result-object v3
  3894.  
  3895. const-string v4, "ON_AFTER_RELEASE"
  3896.  
  3897. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3898.  
  3899. move-result-object v3
  3900.  
  3901. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3902.  
  3903. move-result-object v0
  3904.  
  3905. .line 4328
  3906. const/4 v2, 0x1
  3907.  
  3908. :cond_114
  3909. move-object v1, v0
  3910.  
  3911. .line 4331
  3912. .end local v0 #flag:Ljava/lang/String;
  3913. .restart local v1 #flag:Ljava/lang/String;
  3914. goto/16 :goto_b
  3915.  
  3916. .line 4302
  3917. .end local v1 #flag:Ljava/lang/String;
  3918. .restart local v0 #flag:Ljava/lang/String;
  3919. :cond_117
  3920. const-string v3, ""
  3921.  
  3922. goto/16 :goto_3b
  3923.  
  3924. .line 4305
  3925. :cond_11b
  3926. iget v3, p1, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  3927.  
  3928. and-int/lit8 v3, v3, 0xa
  3929.  
  3930. const/16 v4, 0xa
  3931.  
  3932. if-ne v3, v4, :cond_57
  3933.  
  3934. .line 4306
  3935. new-instance v3, Ljava/lang/StringBuilder;
  3936.  
  3937. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  3938.  
  3939. invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3940.  
  3941. move-result-object v4
  3942.  
  3943. if-ne v2, v5, :cond_14e
  3944.  
  3945. const-string v3, "|"
  3946.  
  3947. :goto_130
  3948. invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3949.  
  3950. move-result-object v3
  3951.  
  3952. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3953.  
  3954. move-result-object v0
  3955.  
  3956. .line 4307
  3957. new-instance v3, Ljava/lang/StringBuilder;
  3958.  
  3959. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  3960.  
  3961. invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3962.  
  3963. move-result-object v3
  3964.  
  3965. const-string v4, "SCREEN_BRIGHT_WAKE_LOCK"
  3966.  
  3967. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3968.  
  3969. move-result-object v3
  3970.  
  3971. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3972.  
  3973. move-result-object v0
  3974.  
  3975. .line 4308
  3976. const/4 v2, 0x1
  3977.  
  3978. goto/16 :goto_57
  3979.  
  3980. .line 4306
  3981. :cond_14e
  3982. const-string v3, ""
  3983.  
  3984. goto :goto_130
  3985.  
  3986. .line 4311
  3987. :cond_151
  3988. const-string v3, ""
  3989.  
  3990. goto/16 :goto_6b
  3991.  
  3992. .line 4316
  3993. :cond_155
  3994. const-string v3, ""
  3995.  
  3996. goto/16 :goto_9c
  3997.  
  3998. .line 4321
  3999. :cond_159
  4000. const-string v3, ""
  4001.  
  4002. goto/16 :goto_ca
  4003.  
  4004. .line 4326
  4005. :cond_15d
  4006. const-string v3, ""
  4007.  
  4008. goto :goto_f8
  4009. .end method
  4010.  
  4011. .method private goToSleepLocked(JI)V
  4012. .registers 15
  4013. .parameter "time"
  4014. .parameter "reason"
  4015.  
  4016. .prologue
  4017. .line 3599
  4018. iget-wide v5, p0, Lcom/android/server/PowerManagerService;->mLastEventTime:J
  4019.  
  4020. cmp-long v5, v5, p1
  4021.  
  4022. if-gtz v5, :cond_76
  4023.  
  4024. .line 3600
  4025. iput-wide p1, p0, Lcom/android/server/PowerManagerService;->mLastEventTime:J
  4026.  
  4027. .line 3602
  4028. const/4 v5, 0x0
  4029.  
  4030. iput v5, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  4031.  
  4032. .line 3603
  4033. iget-object v5, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  4034.  
  4035. invoke-virtual {v5}, Lcom/android/server/PowerManagerService$LockList;->size()I
  4036.  
  4037. move-result v0
  4038.  
  4039. .line 3604
  4040. .local v0, N:I
  4041. const/4 v2, 0x0
  4042.  
  4043. .line 3605
  4044. .local v2, numCleared:I
  4045. const/4 v3, 0x0
  4046.  
  4047. .line 3606
  4048. .local v3, proxLock:Z
  4049. const/4 v1, 0x0
  4050.  
  4051. .local v1, i:I
  4052. :goto_14
  4053. if-ge v1, v0, :cond_57
  4054.  
  4055. .line 3607
  4056. iget-object v5, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  4057.  
  4058. invoke-virtual {v5, v1}, Lcom/android/server/PowerManagerService$LockList;->get(I)Ljava/lang/Object;
  4059.  
  4060. move-result-object v4
  4061.  
  4062. check-cast v4, Lcom/android/server/PowerManagerService$WakeLock;
  4063.  
  4064. .line 3608
  4065. .local v4, wl:Lcom/android/server/PowerManagerService$WakeLock;
  4066. iget v5, v4, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  4067.  
  4068. invoke-direct {p0, v5}, Lcom/android/server/PowerManagerService;->isScreenLock(I)Z
  4069.  
  4070. move-result v5
  4071.  
  4072. if-eqz v5, :cond_32
  4073.  
  4074. .line 3609
  4075. iget v5, v4, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  4076.  
  4077. and-int/lit8 v5, v5, 0x3f
  4078.  
  4079. const/16 v6, 0x20
  4080.  
  4081. if-ne v5, v6, :cond_35
  4082.  
  4083. const/4 v5, 0x4
  4084.  
  4085. if-ne p3, v5, :cond_35
  4086.  
  4087. .line 3611
  4088. const/4 v3, 0x1
  4089.  
  4090. .line 3606
  4091. :cond_32
  4092. :goto_32
  4093. add-int/lit8 v1, v1, 0x1
  4094.  
  4095. goto :goto_14
  4096.  
  4097. .line 3613
  4098. :cond_35
  4099. iget-boolean v5, v4, Lcom/android/server/PowerManagerService$WakeLock;->activated:Z
  4100.  
  4101. if-eqz v5, :cond_49
  4102.  
  4103. .line 3614
  4104. iget-wide v5, v4, Lcom/android/server/PowerManagerService$WakeLock;->total_time:J
  4105.  
  4106. invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
  4107.  
  4108. move-result-wide v7
  4109.  
  4110. iget-wide v9, v4, Lcom/android/server/PowerManagerService$WakeLock;->active_since:J
  4111.  
  4112. sub-long/2addr v7, v9
  4113.  
  4114. add-long/2addr v5, v7
  4115.  
  4116. iput-wide v5, v4, Lcom/android/server/PowerManagerService$WakeLock;->total_time:J
  4117.  
  4118. .line 3615
  4119. const-wide/16 v5, 0x0
  4120.  
  4121. iput-wide v5, v4, Lcom/android/server/PowerManagerService$WakeLock;->active_since:J
  4122.  
  4123. .line 3617
  4124. :cond_49
  4125. iget-object v5, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  4126.  
  4127. invoke-virtual {v5, v1}, Lcom/android/server/PowerManagerService$LockList;->get(I)Ljava/lang/Object;
  4128.  
  4129. move-result-object v5
  4130.  
  4131. check-cast v5, Lcom/android/server/PowerManagerService$WakeLock;
  4132.  
  4133. const/4 v6, 0x0
  4134.  
  4135. iput-boolean v6, v5, Lcom/android/server/PowerManagerService$WakeLock;->activated:Z
  4136.  
  4137. .line 3618
  4138. add-int/lit8 v2, v2, 0x1
  4139.  
  4140. goto :goto_32
  4141.  
  4142. .line 3622
  4143. .end local v4 #wl:Lcom/android/server/PowerManagerService$WakeLock;
  4144. :cond_57
  4145. if-nez v3, :cond_63
  4146.  
  4147. .line 3623
  4148. const/4 v5, 0x1
  4149.  
  4150. iput-boolean v5, p0, Lcom/android/server/PowerManagerService;->mProxIgnoredBecauseScreenTurnedOff:Z
  4151.  
  4152. .line 3625
  4153. const-string v5, "PowerManagerService"
  4154.  
  4155. const-string v6, "setting mProxIgnoredBecauseScreenTurnedOff"
  4156.  
  4157. invoke-static {v5, v6}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  4158.  
  4159. .line 3628
  4160. :cond_63
  4161. const/16 v5, 0xaa4
  4162.  
  4163. invoke-static {v5, v2}, Landroid/util/EventLog;->writeEvent(II)I
  4164.  
  4165. .line 3629
  4166. const/4 v5, 0x1
  4167.  
  4168. iput-boolean v5, p0, Lcom/android/server/PowerManagerService;->mStillNeedSleepNotification:Z
  4169.  
  4170. .line 3630
  4171. const/4 v5, 0x0
  4172.  
  4173. iput v5, p0, Lcom/android/server/PowerManagerService;->mUserState:I
  4174.  
  4175. .line 3631
  4176. const/4 v5, 0x0
  4177.  
  4178. const/4 v6, 0x0
  4179.  
  4180. invoke-direct {p0, v5, v6, p3}, Lcom/android/server/PowerManagerService;->setPowerState(IZI)V
  4181.  
  4182. .line 3632
  4183. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->cancelTimerLocked()V
  4184.  
  4185. .line 3634
  4186. .end local v0 #N:I
  4187. .end local v1 #i:I
  4188. .end local v2 #numCleared:I
  4189. .end local v3 #proxLock:Z
  4190. :cond_76
  4191. return-void
  4192. .end method
  4193.  
  4194. .method private initializeCapabilities()V
  4195. .registers 5
  4196.  
  4197. .prologue
  4198. const/4 v1, 0x1
  4199.  
  4200. const/4 v2, 0x0
  4201.  
  4202. .line 2057
  4203. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  4204.  
  4205. invoke-virtual {v0}, Landroid/hardware/Camera;->getParameters()Landroid/hardware/Camera$Parameters;
  4206.  
  4207. move-result-object v0
  4208.  
  4209. iput-object v0, p0, Lcom/android/server/PowerManagerService;->mInitialParams:Landroid/hardware/Camera$Parameters;
  4210.  
  4211. .line 2058
  4212. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mFocusManager:Lcom/android/server/CameraFocusManager;
  4213.  
  4214. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mInitialParams:Landroid/hardware/Camera$Parameters;
  4215.  
  4216. invoke-virtual {v0, v3}, Lcom/android/server/CameraFocusManager;->initializeParameters(Landroid/hardware/Camera$Parameters;)V
  4217.  
  4218. .line 2059
  4219. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mInitialParams:Landroid/hardware/Camera$Parameters;
  4220.  
  4221. invoke-virtual {v0}, Landroid/hardware/Camera$Parameters;->getMaxNumFocusAreas()I
  4222.  
  4223. move-result v0
  4224.  
  4225. if-lez v0, :cond_6b
  4226.  
  4227. const-string v0, "auto"
  4228.  
  4229. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mInitialParams:Landroid/hardware/Camera$Parameters;
  4230.  
  4231. invoke-virtual {v3}, Landroid/hardware/Camera$Parameters;->getSupportedFocusModes()Ljava/util/List;
  4232.  
  4233. move-result-object v3
  4234.  
  4235. invoke-static {v0, v3}, Lcom/android/server/PowerManagerService;->isSupported(Ljava/lang/String;Ljava/util/List;)Z
  4236.  
  4237. move-result v0
  4238.  
  4239. if-eqz v0, :cond_6b
  4240.  
  4241. move v0, v1
  4242.  
  4243. :goto_28
  4244. iput-boolean v0, p0, Lcom/android/server/PowerManagerService;->mFocusAreaSupported:Z
  4245.  
  4246. .line 2062
  4247. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mInitialParams:Landroid/hardware/Camera$Parameters;
  4248.  
  4249. invoke-virtual {v0}, Landroid/hardware/Camera$Parameters;->getMaxNumMeteringAreas()I
  4250.  
  4251. move-result v0
  4252.  
  4253. if-lez v0, :cond_6d
  4254.  
  4255. :goto_32
  4256. iput-boolean v1, p0, Lcom/android/server/PowerManagerService;->mMeteringAreaSupported:Z
  4257.  
  4258. .line 2063
  4259. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mInitialParams:Landroid/hardware/Camera$Parameters;
  4260.  
  4261. invoke-virtual {v0}, Landroid/hardware/Camera$Parameters;->isAutoExposureLockSupported()Z
  4262.  
  4263. move-result v0
  4264.  
  4265. iput-boolean v0, p0, Lcom/android/server/PowerManagerService;->mAeLockSupported:Z
  4266.  
  4267. .line 2064
  4268. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mInitialParams:Landroid/hardware/Camera$Parameters;
  4269.  
  4270. invoke-virtual {v0}, Landroid/hardware/Camera$Parameters;->isAutoWhiteBalanceLockSupported()Z
  4271.  
  4272. move-result v0
  4273.  
  4274. iput-boolean v0, p0, Lcom/android/server/PowerManagerService;->mAwbLockSupported:Z
  4275.  
  4276. .line 2065
  4277. const-string v0, "FocusManager"
  4278.  
  4279. new-instance v1, Ljava/lang/StringBuilder;
  4280.  
  4281. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  4282.  
  4283. const-string v2, "initializeCapabilities: mAeLockSupported = "
  4284.  
  4285. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4286.  
  4287. move-result-object v1
  4288.  
  4289. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mAeLockSupported:Z
  4290.  
  4291. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  4292.  
  4293. move-result-object v1
  4294.  
  4295. const-string v2, "mAwbLockSupported = "
  4296.  
  4297. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4298.  
  4299. move-result-object v1
  4300.  
  4301. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mAwbLockSupported:Z
  4302.  
  4303. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  4304.  
  4305. move-result-object v1
  4306.  
  4307. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  4308.  
  4309. move-result-object v1
  4310.  
  4311. invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
  4312.  
  4313. .line 2066
  4314. return-void
  4315.  
  4316. :cond_6b
  4317. move v0, v2
  4318.  
  4319. .line 2059
  4320. goto :goto_28
  4321.  
  4322. :cond_6d
  4323. move v1, v2
  4324.  
  4325. .line 2062
  4326. goto :goto_32
  4327. .end method
  4328.  
  4329. .method private initializeFirstTime()V
  4330. .registers 4
  4331.  
  4332. .prologue
  4333. .line 1915
  4334. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mFocusManager:Lcom/android/server/CameraFocusManager;
  4335.  
  4336. const/4 v1, 0x1
  4337.  
  4338. iget v2, p0, Lcom/android/server/PowerManagerService;->mDisplayOrientation:I
  4339.  
  4340. invoke-virtual {v0, p0, v1, v2}, Lcom/android/server/CameraFocusManager;->initialize(Lcom/android/server/CameraFocusManager$Listener;ZI)V
  4341.  
  4342. .line 1916
  4343. invoke-virtual {p0}, Lcom/android/server/PowerManagerService;->startFaceDetection()V
  4344.  
  4345. .line 1917
  4346. return-void
  4347. .end method
  4348.  
  4349. .method private isScreenLock(I)Z
  4350. .registers 4
  4351. .parameter "flags"
  4352.  
  4353. .prologue
  4354. .line 954
  4355. and-int/lit8 v0, p1, 0x3f
  4356.  
  4357. .line 955
  4358. .local v0, n:I
  4359. const/16 v1, 0x1a
  4360.  
  4361. if-eq v0, v1, :cond_11
  4362.  
  4363. const/16 v1, 0xa
  4364.  
  4365. if-eq v0, v1, :cond_11
  4366.  
  4367. const/4 v1, 0x6
  4368.  
  4369. if-eq v0, v1, :cond_11
  4370.  
  4371. const/16 v1, 0x20
  4372.  
  4373. if-ne v0, v1, :cond_13
  4374.  
  4375. :cond_11
  4376. const/4 v1, 0x1
  4377.  
  4378. :goto_12
  4379. return v1
  4380.  
  4381. :cond_13
  4382. const/4 v1, 0x0
  4383.  
  4384. goto :goto_12
  4385. .end method
  4386.  
  4387. .method private isScreenTurningOffLocked()Z
  4388. .registers 2
  4389.  
  4390. .prologue
  4391. .line 3243
  4392. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  4393.  
  4394. iget-boolean v0, v0, Lcom/android/server/PowerManagerService$BrightnessState;->animating:Z
  4395.  
  4396. if-eqz v0, :cond_e
  4397.  
  4398. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  4399.  
  4400. iget v0, v0, Lcom/android/server/PowerManagerService$BrightnessState;->targetValue:I
  4401.  
  4402. if-nez v0, :cond_e
  4403.  
  4404. const/4 v0, 0x1
  4405.  
  4406. :goto_d
  4407. return v0
  4408.  
  4409. :cond_e
  4410. const/4 v0, 0x0
  4411.  
  4412. goto :goto_d
  4413. .end method
  4414.  
  4415. .method private static isSupported(Ljava/lang/String;Ljava/util/List;)Z
  4416. .registers 4
  4417. .parameter "value"
  4418. .parameter
  4419. .annotation system Ldalvik/annotation/Signature;
  4420. value = {
  4421. "(",
  4422. "Ljava/lang/String;",
  4423. "Ljava/util/List",
  4424. "<",
  4425. "Ljava/lang/String;",
  4426. ">;)Z"
  4427. }
  4428. .end annotation
  4429.  
  4430. .prologue
  4431. .local p1, supported:Ljava/util/List;,"Ljava/util/List<Ljava/lang/String;>;"
  4432. const/4 v0, 0x0
  4433.  
  4434. .line 1742
  4435. if-nez p1, :cond_4
  4436.  
  4437. :cond_3
  4438. :goto_3
  4439. return v0
  4440.  
  4441. :cond_4
  4442. invoke-interface {p1, p0}, Ljava/util/List;->indexOf(Ljava/lang/Object;)I
  4443.  
  4444. move-result v1
  4445.  
  4446. if-ltz v1, :cond_3
  4447.  
  4448. const/4 v0, 0x1
  4449.  
  4450. goto :goto_3
  4451. .end method
  4452.  
  4453. .method private lightSensorChangedLocked(I)V
  4454. .registers 9
  4455. .parameter "value"
  4456.  
  4457. .prologue
  4458. .line 3439
  4459. const-string v3, "PowerManagerService"
  4460.  
  4461. new-instance v4, Ljava/lang/StringBuilder;
  4462.  
  4463. invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
  4464.  
  4465. const-string v5, "lightSensorChangedLocked "
  4466.  
  4467. invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4468.  
  4469. move-result-object v4
  4470.  
  4471. invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  4472.  
  4473. move-result-object v4
  4474.  
  4475. invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  4476.  
  4477. move-result-object v4
  4478.  
  4479. invoke-static {v3, v4}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  4480.  
  4481. .line 3443
  4482. iget v3, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  4483.  
  4484. and-int/lit8 v3, v3, 0x1
  4485.  
  4486. if-nez v3, :cond_26
  4487.  
  4488. .line 3445
  4489. const-string v3, "PowerManagerService"
  4490.  
  4491. const-string v4, "dropping lightSensorChangedLocked because screen is off"
  4492.  
  4493. invoke-static {v3, v4}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  4494.  
  4495. .line 3515
  4496. :cond_25
  4497. :goto_25
  4498. return-void
  4499.  
  4500. .line 3451
  4501. :cond_26
  4502. iget v3, p0, Lcom/android/server/PowerManagerService;->mHighestLightSensorValue:I
  4503.  
  4504. if-ge v3, p1, :cond_2c
  4505.  
  4506. .line 3452
  4507. iput p1, p0, Lcom/android/server/PowerManagerService;->mHighestLightSensorValue:I
  4508.  
  4509. .line 3455
  4510. :cond_2c
  4511. iget v3, p0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  4512.  
  4513. int-to-float v4, p1
  4514.  
  4515. cmpl-float v3, v3, v4
  4516.  
  4517. if-eqz v3, :cond_25
  4518.  
  4519. .line 3456
  4520. int-to-float v3, p1
  4521.  
  4522. iput v3, p0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  4523.  
  4524. .line 3457
  4525. iget v3, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  4526.  
  4527. and-int/lit8 v3, v3, 0x10
  4528.  
  4529. if-nez v3, :cond_25
  4530.  
  4531. .line 3461
  4532. iget-boolean v3, p0, Lcom/android/server/PowerManagerService;->mIsDocked:Z
  4533.  
  4534. if-nez v3, :cond_44
  4535.  
  4536. sget-boolean v3, Lcom/android/server/PowerManagerService;->FEATURE_AUTO_BRIGHTNESS_DECREASE:Z
  4537.  
  4538. if-eqz v3, :cond_f8
  4539.  
  4540. :cond_44
  4541. move v3, p1
  4542.  
  4543. :goto_45
  4544. iget-object v4, p0, Lcom/android/server/PowerManagerService;->mLcdBacklightValues:[I
  4545.  
  4546. invoke-direct {p0, v3, v4}, Lcom/android/server/PowerManagerService;->getAutoBrightnessValue(I[I)I
  4547.  
  4548. move-result v2
  4549.  
  4550. .line 3464
  4551. .local v2, lcdValue:I
  4552. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mButtonBacklightValues:[I
  4553.  
  4554. invoke-direct {p0, p1, v3}, Lcom/android/server/PowerManagerService;->getAutoBrightnessValue(I[I)I
  4555.  
  4556. move-result v0
  4557.  
  4558. .line 3466
  4559. .local v0, buttonValue:I
  4560. iget-boolean v3, p0, Lcom/android/server/PowerManagerService;->mKeyboardVisible:Z
  4561.  
  4562. if-eqz v3, :cond_fc
  4563.  
  4564. .line 3467
  4565. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mKeyboardBacklightValues:[I
  4566.  
  4567. invoke-direct {p0, p1, v3}, Lcom/android/server/PowerManagerService;->getAutoBrightnessValue(I[I)I
  4568.  
  4569. move-result v1
  4570.  
  4571. .line 3471
  4572. .local v1, keyboardValue:I
  4573. :goto_5b
  4574. iput v2, p0, Lcom/android/server/PowerManagerService;->mLightSensorScreenBrightness:I
  4575.  
  4576. .line 3472
  4577. iput v0, p0, Lcom/android/server/PowerManagerService;->mLightSensorButtonBrightness:I
  4578.  
  4579. .line 3473
  4580. iput v1, p0, Lcom/android/server/PowerManagerService;->mLightSensorKeyboardBrightness:I
  4581.  
  4582. .line 3476
  4583. const-string v3, "PowerManagerService"
  4584.  
  4585. new-instance v4, Ljava/lang/StringBuilder;
  4586.  
  4587. invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
  4588.  
  4589. const-string v5, "lcdValue "
  4590.  
  4591. invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4592.  
  4593. move-result-object v4
  4594.  
  4595. invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  4596.  
  4597. move-result-object v4
  4598.  
  4599. invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  4600.  
  4601. move-result-object v4
  4602.  
  4603. invoke-static {v3, v4}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  4604.  
  4605. .line 3477
  4606. const-string v3, "PowerManagerService"
  4607.  
  4608. new-instance v4, Ljava/lang/StringBuilder;
  4609.  
  4610. invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
  4611.  
  4612. const-string v5, "buttonValue "
  4613.  
  4614. invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4615.  
  4616. move-result-object v4
  4617.  
  4618. invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  4619.  
  4620. move-result-object v4
  4621.  
  4622. invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  4623.  
  4624. move-result-object v4
  4625.  
  4626. invoke-static {v3, v4}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  4627.  
  4628. .line 3478
  4629. const-string v3, "PowerManagerService"
  4630.  
  4631. new-instance v4, Ljava/lang/StringBuilder;
  4632.  
  4633. invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
  4634.  
  4635. const-string v5, "keyboardValue "
  4636.  
  4637. invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4638.  
  4639. move-result-object v4
  4640.  
  4641. invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  4642.  
  4643. move-result-object v4
  4644.  
  4645. invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  4646.  
  4647. move-result-object v4
  4648.  
  4649. invoke-static {v3, v4}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  4650.  
  4651. .line 3481
  4652. iget-boolean v3, p0, Lcom/android/server/PowerManagerService;->mAutoBrightessEnabled:Z
  4653.  
  4654. if-eqz v3, :cond_c6
  4655.  
  4656. iget v3, p0, Lcom/android/server/PowerManagerService;->mScreenBrightnessOverride:I
  4657.  
  4658. if-gez v3, :cond_c6
  4659.  
  4660. .line 3482
  4661. iget-boolean v3, p0, Lcom/android/server/PowerManagerService;->mAnimateScreenLights:Z
  4662.  
  4663. if-eqz v3, :cond_c6
  4664.  
  4665. iget-boolean v3, p0, Lcom/android/server/PowerManagerService;->mSkippedScreenOn:Z
  4666.  
  4667. if-nez v3, :cond_c6
  4668.  
  4669. .line 3484
  4670. iget v3, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  4671.  
  4672. and-int/lit8 v3, v3, 0x2
  4673.  
  4674. if-nez v3, :cond_ff
  4675.  
  4676. .line 3486
  4677. const-string v3, "PowerManagerService"
  4678.  
  4679. const-string v4, "Skip animation in DIM state"
  4680.  
  4681. invoke-static {v3, v4}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  4682.  
  4683. .line 3499
  4684. :cond_c6
  4685. :goto_c6
  4686. iget v3, p0, Lcom/android/server/PowerManagerService;->mButtonBrightnessOverride:I
  4687.  
  4688. if-gez v3, :cond_dc
  4689.  
  4690. iget v3, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  4691.  
  4692. and-int/lit8 v3, v3, 0x4
  4693.  
  4694. if-eqz v3, :cond_dc
  4695.  
  4696. .line 3502
  4697. const-string v3, "PowerManagerService"
  4698.  
  4699. const-string v4, "<<<<< FEATURE_ALIGN_BKL >>>>> BUTTON BKL Changes because of LS"
  4700.  
  4701. invoke-static {v3, v4}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  4702.  
  4703. .line 3504
  4704. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mButtonLight:Lcom/android/server/LightsService$Light;
  4705.  
  4706. invoke-virtual {v3, v0}, Lcom/android/server/LightsService$Light;->setBrightness(I)V
  4707.  
  4708. .line 3506
  4709. :cond_dc
  4710. iget v3, p0, Lcom/android/server/PowerManagerService;->mButtonBrightnessOverride:I
  4711.  
  4712. if-ltz v3, :cond_e4
  4713.  
  4714. iget-boolean v3, p0, Lcom/android/server/PowerManagerService;->mKeyboardVisible:Z
  4715.  
  4716. if-nez v3, :cond_25
  4717.  
  4718. :cond_e4
  4719. iget v3, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  4720.  
  4721. and-int/lit8 v3, v3, 0x8
  4722.  
  4723. if-eqz v3, :cond_25
  4724.  
  4725. .line 3509
  4726. const-string v3, "PowerManagerService"
  4727.  
  4728. const-string v4, "<<<<< FEATURE_ALIGN_BKL >>>>> KEYBOARD BKL Changes because of LS"
  4729.  
  4730. invoke-static {v3, v4}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  4731.  
  4732. .line 3511
  4733. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mKeyboardLight:Lcom/android/server/LightsService$Light;
  4734.  
  4735. invoke-virtual {v3, v1}, Lcom/android/server/LightsService$Light;->setBrightness(I)V
  4736.  
  4737. goto/16 :goto_25
  4738.  
  4739. .line 3461
  4740. .end local v0 #buttonValue:I
  4741. .end local v1 #keyboardValue:I
  4742. .end local v2 #lcdValue:I
  4743. :cond_f8
  4744. iget v3, p0, Lcom/android/server/PowerManagerService;->mHighestLightSensorValue:I
  4745.  
  4746. goto/16 :goto_45
  4747.  
  4748. .line 3469
  4749. .restart local v0 #buttonValue:I
  4750. .restart local v2 #lcdValue:I
  4751. :cond_fc
  4752. const/4 v1, 0x0
  4753.  
  4754. .restart local v1 #keyboardValue:I
  4755. goto/16 :goto_5b
  4756.  
  4757. .line 3490
  4758. :cond_ff
  4759. const/4 v3, 0x0
  4760.  
  4761. iput-boolean v3, p0, Lcom/android/server/PowerManagerService;->mDoDelayLightAnimation:Z
  4762.  
  4763. .line 3492
  4764. const-string v3, "PowerManagerService"
  4765.  
  4766. const-string v4, "<<<<< FEATURE_ALIGN_BKL >>>>> LCD BKL Changes because of LS"
  4767.  
  4768. invoke-static {v3, v4}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  4769.  
  4770. .line 3494
  4771. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  4772.  
  4773. const/16 v4, 0x3c
  4774.  
  4775. const/16 v5, 0xff
  4776.  
  4777. iget-object v6, p0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  4778.  
  4779. iget v6, v6, Lcom/android/server/PowerManagerService$BrightnessState;->curValue:F
  4780.  
  4781. float-to-int v6, v6
  4782.  
  4783. invoke-virtual {v3, v2, v4, v5, v6}, Lcom/android/server/PowerManagerService$BrightnessState;->setTargetLocked(IIII)V
  4784.  
  4785. goto :goto_c6
  4786. .end method
  4787.  
  4788. .method private static lockType(I)Ljava/lang/String;
  4789. .registers 2
  4790. .parameter "type"
  4791.  
  4792. .prologue
  4793. .line 1337
  4794. sparse-switch p0, :sswitch_data_16
  4795.  
  4796. .line 1350
  4797. const-string v0, "??? "
  4798.  
  4799. :goto_5
  4800. return-object v0
  4801.  
  4802. .line 1340
  4803. :sswitch_6
  4804. const-string v0, "FULL_WAKE_LOCK "
  4805.  
  4806. goto :goto_5
  4807.  
  4808. .line 1342
  4809. :sswitch_9
  4810. const-string v0, "SCREEN_BRIGHT_WAKE_LOCK "
  4811.  
  4812. goto :goto_5
  4813.  
  4814. .line 1344
  4815. :sswitch_c
  4816. const-string v0, "SCREEN_DIM_WAKE_LOCK "
  4817.  
  4818. goto :goto_5
  4819.  
  4820. .line 1346
  4821. :sswitch_f
  4822. const-string v0, "PARTIAL_WAKE_LOCK "
  4823.  
  4824. goto :goto_5
  4825.  
  4826. .line 1348
  4827. :sswitch_12
  4828. const-string v0, "PROXIMITY_SCREEN_OFF_WAKE_LOCK"
  4829.  
  4830. goto :goto_5
  4831.  
  4832. .line 1337
  4833. nop
  4834.  
  4835. :sswitch_data_16
  4836. .sparse-switch
  4837. 0x1 -> :sswitch_f
  4838. 0x6 -> :sswitch_c
  4839. 0xa -> :sswitch_9
  4840. 0x1a -> :sswitch_6
  4841. 0x20 -> :sswitch_12
  4842. .end sparse-switch
  4843. .end method
  4844.  
  4845. .method private native nativeInit()V
  4846. .end method
  4847.  
  4848. .method private native nativeSetPowerState(ZZ)V
  4849. .end method
  4850.  
  4851. .method private native nativeStartSurfaceFlingerAnimation(I)V
  4852. .end method
  4853.  
  4854. .method private proximityChangedLocked(Z)V
  4855. .registers 5
  4856. .parameter "active"
  4857.  
  4858. .prologue
  4859. .line 4099
  4860. const-string v0, "PowerManagerService"
  4861.  
  4862. new-instance v1, Ljava/lang/StringBuilder;
  4863.  
  4864. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  4865.  
  4866. const-string v2, "proximityChangedLocked, active: "
  4867.  
  4868. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4869.  
  4870. move-result-object v1
  4871.  
  4872. invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  4873.  
  4874. move-result-object v1
  4875.  
  4876. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  4877.  
  4878. move-result-object v1
  4879.  
  4880. invoke-static {v0, v1}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  4881.  
  4882. .line 4101
  4883. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mProximitySensorEnabled:Z
  4884.  
  4885. if-nez v0, :cond_24
  4886.  
  4887. .line 4102
  4888. const-string v0, "PowerManagerService"
  4889.  
  4890. const-string v1, "Ignoring proximity change after sensor is disabled"
  4891.  
  4892. invoke-static {v0, v1}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  4893.  
  4894. .line 4133
  4895. :cond_23
  4896. :goto_23
  4897. return-void
  4898.  
  4899. .line 4105
  4900. :cond_24
  4901. if-eqz p1, :cond_50
  4902.  
  4903. .line 4107
  4904. const-string v0, "PowerManagerService"
  4905.  
  4906. new-instance v1, Ljava/lang/StringBuilder;
  4907.  
  4908. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  4909.  
  4910. const-string v2, "b mProxIgnoredBecauseScreenTurnedOff="
  4911.  
  4912. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4913.  
  4914. move-result-object v1
  4915.  
  4916. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mProxIgnoredBecauseScreenTurnedOff:Z
  4917.  
  4918. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  4919.  
  4920. move-result-object v1
  4921.  
  4922. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  4923.  
  4924. move-result-object v1
  4925.  
  4926. invoke-static {v0, v1}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  4927.  
  4928. .line 4110
  4929. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mProxIgnoredBecauseScreenTurnedOff:Z
  4930.  
  4931. if-nez v0, :cond_4c
  4932.  
  4933. .line 4111
  4934. invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
  4935.  
  4936. move-result-wide v0
  4937.  
  4938. const/4 v2, 0x4
  4939.  
  4940. invoke-direct {p0, v0, v1, v2}, Lcom/android/server/PowerManagerService;->goToSleepLocked(JI)V
  4941.  
  4942. .line 4114
  4943. :cond_4c
  4944. const/4 v0, 0x1
  4945.  
  4946. iput-boolean v0, p0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  4947.  
  4948. goto :goto_23
  4949.  
  4950. .line 4119
  4951. :cond_50
  4952. const/4 v0, 0x0
  4953.  
  4954. iput-boolean v0, p0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  4955.  
  4956. .line 4121
  4957. const-string v0, "PowerManagerService"
  4958.  
  4959. new-instance v1, Ljava/lang/StringBuilder;
  4960.  
  4961. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  4962.  
  4963. const-string v2, "b mProxIgnoredBecauseScreenTurnedOff="
  4964.  
  4965. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4966.  
  4967. move-result-object v1
  4968.  
  4969. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mProxIgnoredBecauseScreenTurnedOff:Z
  4970.  
  4971. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  4972.  
  4973. move-result-object v1
  4974.  
  4975. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  4976.  
  4977. move-result-object v1
  4978.  
  4979. invoke-static {v0, v1}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  4980.  
  4981. .line 4124
  4982. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mProxIgnoredBecauseScreenTurnedOff:Z
  4983.  
  4984. if-nez v0, :cond_74
  4985.  
  4986. .line 4125
  4987. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->forceUserActivityLocked()V
  4988.  
  4989. .line 4128
  4990. :cond_74
  4991. iget v0, p0, Lcom/android/server/PowerManagerService;->mProximityWakeLockCount:I
  4992.  
  4993. if-nez v0, :cond_23
  4994.  
  4995. .line 4130
  4996. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->disableProximityLockLocked()V
  4997.  
  4998. goto :goto_23
  4999. .end method
  5000.  
  5001. .method private releaseWakeLockLocked(Landroid/os/IBinder;IZ)V
  5002. .registers 13
  5003. .parameter "lock"
  5004. .parameter "flags"
  5005. .parameter "death"
  5006.  
  5007. .prologue
  5008. const/4 v8, 0x1
  5009.  
  5010. const/4 v7, 0x0
  5011.  
  5012. .line 1194
  5013. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  5014.  
  5015. invoke-virtual {v1, p1}, Lcom/android/server/PowerManagerService$LockList;->removeLock(Landroid/os/IBinder;)Lcom/android/server/PowerManagerService$WakeLock;
  5016.  
  5017. move-result-object v0
  5018.  
  5019. .line 1195
  5020. .local v0, wl:Lcom/android/server/PowerManagerService$WakeLock;
  5021. if-nez v0, :cond_b
  5022.  
  5023. .line 1251
  5024. :cond_a
  5025. :goto_a
  5026. return-void
  5027.  
  5028. .line 1199
  5029. :cond_b
  5030. iget-boolean v1, v0, Lcom/android/server/PowerManagerService$WakeLock;->activated:Z
  5031.  
  5032. if-eqz v1, :cond_1b
  5033.  
  5034. .line 1200
  5035. iget-wide v1, v0, Lcom/android/server/PowerManagerService$WakeLock;->total_time:J
  5036.  
  5037. invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
  5038.  
  5039. move-result-wide v3
  5040.  
  5041. iget-wide v5, v0, Lcom/android/server/PowerManagerService$WakeLock;->active_since:J
  5042.  
  5043. sub-long/2addr v3, v5
  5044.  
  5045. add-long/2addr v1, v3
  5046.  
  5047. iput-wide v1, v0, Lcom/android/server/PowerManagerService$WakeLock;->total_time:J
  5048.  
  5049. .line 1204
  5050. :cond_1b
  5051. const-string v1, "PowerManagerService"
  5052.  
  5053. new-instance v2, Ljava/lang/StringBuilder;
  5054.  
  5055. invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
  5056.  
  5057. const-string v3, "releaseWakeLock flags=0x"
  5058.  
  5059. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5060.  
  5061. move-result-object v2
  5062.  
  5063. iget v3, v0, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  5064.  
  5065. invoke-static {v3}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
  5066.  
  5067. move-result-object v3
  5068.  
  5069. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5070.  
  5071. move-result-object v2
  5072.  
  5073. const-string v3, " tag="
  5074.  
  5075. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5076.  
  5077. move-result-object v2
  5078.  
  5079. iget-object v3, v0, Lcom/android/server/PowerManagerService$WakeLock;->tag:Ljava/lang/String;
  5080.  
  5081. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5082.  
  5083. move-result-object v2
  5084.  
  5085. const-string v3, " total_time="
  5086.  
  5087. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5088.  
  5089. move-result-object v2
  5090.  
  5091. iget-wide v3, v0, Lcom/android/server/PowerManagerService$WakeLock;->total_time:J
  5092.  
  5093. invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  5094.  
  5095. move-result-object v2
  5096.  
  5097. const-string v3, "ms"
  5098.  
  5099. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5100.  
  5101. move-result-object v2
  5102.  
  5103. invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  5104.  
  5105. move-result-object v2
  5106.  
  5107. invoke-static {v1, v2}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  5108.  
  5109. .line 1208
  5110. iget v1, v0, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  5111.  
  5112. invoke-direct {p0, v1}, Lcom/android/server/PowerManagerService;->isScreenLock(I)Z
  5113.  
  5114. move-result v1
  5115.  
  5116. if-eqz v1, :cond_c2
  5117.  
  5118. .line 1209
  5119. iget v1, v0, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  5120.  
  5121. and-int/lit8 v1, v1, 0x3f
  5122.  
  5123. const/16 v2, 0x20
  5124.  
  5125. if-ne v1, v2, :cond_97
  5126.  
  5127. .line 1210
  5128. iget v1, p0, Lcom/android/server/PowerManagerService;->mProximityWakeLockCount:I
  5129.  
  5130. add-int/lit8 v1, v1, -0x1
  5131.  
  5132. iput v1, p0, Lcom/android/server/PowerManagerService;->mProximityWakeLockCount:I
  5133.  
  5134. .line 1211
  5135. iget v1, p0, Lcom/android/server/PowerManagerService;->mProximityWakeLockCount:I
  5136.  
  5137. if-nez v1, :cond_80
  5138.  
  5139. .line 1212
  5140. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  5141.  
  5142. if-eqz v1, :cond_93
  5143.  
  5144. and-int/lit8 v1, p2, 0x1
  5145.  
  5146. if-eqz v1, :cond_93
  5147.  
  5148. .line 1216
  5149. const-string v1, "PowerManagerService"
  5150.  
  5151. const-string v2, "waiting for proximity sensor to go negative"
  5152.  
  5153. invoke-static {v1, v2}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  5154.  
  5155. .line 1243
  5156. :cond_80
  5157. :goto_80
  5158. iget-object v1, v0, Lcom/android/server/PowerManagerService$WakeLock;->binder:Landroid/os/IBinder;
  5159.  
  5160. invoke-interface {v1, v0, v7}, Landroid/os/IBinder;->unlinkToDeath(Landroid/os/IBinder$DeathRecipient;I)Z
  5161.  
  5162. .line 1245
  5163. iget-object v1, v0, Lcom/android/server/PowerManagerService$WakeLock;->ws:Landroid/os/WorkSource;
  5164.  
  5165. invoke-virtual {p0, v0, v1}, Lcom/android/server/PowerManagerService;->noteStopWakeLocked(Lcom/android/server/PowerManagerService$WakeLock;Landroid/os/WorkSource;)V
  5166.  
  5167. .line 1248
  5168. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mIsWakeLockBGDbgModeRunning:Z
  5169.  
  5170. if-eqz v1, :cond_a
  5171.  
  5172. .line 1249
  5173. invoke-direct {p0, v0, v7}, Lcom/android/server/PowerManagerService;->getDynamicWakeLockLocked(Lcom/android/server/PowerManagerService$WakeLock;Z)V
  5174.  
  5175. goto/16 :goto_a
  5176.  
  5177. .line 1219
  5178. :cond_93
  5179. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->disableProximityLockLocked()V
  5180.  
  5181. goto :goto_80
  5182.  
  5183. .line 1223
  5184. :cond_97
  5185. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  5186.  
  5187. invoke-virtual {v1}, Lcom/android/server/PowerManagerService$LockList;->gatherState()I
  5188.  
  5189. move-result v1
  5190.  
  5191. iput v1, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  5192.  
  5193. .line 1225
  5194. iget v1, v0, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  5195.  
  5196. const/high16 v2, 0x2000
  5197.  
  5198. and-int/2addr v1, v2
  5199.  
  5200. if-eqz v1, :cond_b9
  5201.  
  5202. .line 1226
  5203. invoke-virtual {p0}, Lcom/android/server/PowerManagerService;->isScreenOn()Z
  5204.  
  5205. move-result v1
  5206.  
  5207. if-nez v1, :cond_b6
  5208.  
  5209. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mSyncKeyguard:Lcom/android/server/PowerManagerService$SyncKeyguard;
  5210.  
  5211. iget-boolean v1, v1, Lcom/android/server/PowerManagerService$SyncKeyguard;->mKeyguardDoneDraw:Z
  5212.  
  5213. if-nez v1, :cond_b6
  5214.  
  5215. .line 1227
  5216. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mSyncKeyguard:Lcom/android/server/PowerManagerService$SyncKeyguard;
  5217.  
  5218. iput-boolean v8, v1, Lcom/android/server/PowerManagerService$SyncKeyguard;->mKeyguardDoneDraw:Z
  5219.  
  5220. .line 1229
  5221. :cond_b6
  5222. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->forceUserActivityLocked()V
  5223.  
  5224. .line 1232
  5225. :cond_b9
  5226. iget v1, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  5227.  
  5228. iget v2, p0, Lcom/android/server/PowerManagerService;->mUserState:I
  5229.  
  5230. or-int/2addr v1, v2
  5231.  
  5232. invoke-direct {p0, v1}, Lcom/android/server/PowerManagerService;->setPowerState(I)V
  5233.  
  5234. goto :goto_80
  5235.  
  5236. .line 1235
  5237. :cond_c2
  5238. iget v1, v0, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  5239.  
  5240. and-int/lit8 v1, v1, 0x3f
  5241.  
  5242. if-ne v1, v8, :cond_80
  5243.  
  5244. .line 1236
  5245. iget v1, p0, Lcom/android/server/PowerManagerService;->mPartialCount:I
  5246.  
  5247. add-int/lit8 v1, v1, -0x1
  5248.  
  5249. iput v1, p0, Lcom/android/server/PowerManagerService;->mPartialCount:I
  5250.  
  5251. .line 1237
  5252. iget v1, p0, Lcom/android/server/PowerManagerService;->mPartialCount:I
  5253.  
  5254. if-nez v1, :cond_80
  5255.  
  5256. .line 1239
  5257. const-string v1, "PowerManagerService"
  5258.  
  5259. invoke-static {v1}, Landroid/os/Power;->releaseWakeLock(Ljava/lang/String;)V
  5260.  
  5261. goto :goto_80
  5262. .end method
  5263.  
  5264. .method private screenOffFinishedAnimatingLocked(I)I
  5265. .registers 9
  5266. .parameter "reason"
  5267.  
  5268. .prologue
  5269. const/4 v6, 0x0
  5270.  
  5271. .line 2715
  5272. const/16 v1, 0xaa8
  5273.  
  5274. const/4 v2, 0x4
  5275.  
  5276. new-array v2, v2, [Ljava/lang/Object;
  5277.  
  5278. invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  5279.  
  5280. move-result-object v3
  5281.  
  5282. aput-object v3, v2, v6
  5283.  
  5284. const/4 v3, 0x1
  5285.  
  5286. invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  5287.  
  5288. move-result-object v4
  5289.  
  5290. aput-object v4, v2, v3
  5291.  
  5292. const/4 v3, 0x2
  5293.  
  5294. iget-wide v4, p0, Lcom/android/server/PowerManagerService;->mTotalTouchDownTime:J
  5295.  
  5296. invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
  5297.  
  5298. move-result-object v4
  5299.  
  5300. aput-object v4, v2, v3
  5301.  
  5302. const/4 v3, 0x3
  5303.  
  5304. iget v4, p0, Lcom/android/server/PowerManagerService;->mTouchCycles:I
  5305.  
  5306. invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  5307.  
  5308. move-result-object v4
  5309.  
  5310. aput-object v4, v2, v3
  5311.  
  5312. invoke-static {v1, v2}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
  5313.  
  5314. .line 2717
  5315. const-wide/16 v1, 0x0
  5316.  
  5317. iput-wide v1, p0, Lcom/android/server/PowerManagerService;->mLastTouchDown:J
  5318.  
  5319. .line 2718
  5320. invoke-direct {p0, v6}, Lcom/android/server/PowerManagerService;->setScreenStateLocked(Z)I
  5321.  
  5322. move-result v0
  5323.  
  5324. .line 2719
  5325. .local v0, err:I
  5326. return v0
  5327. .end method
  5328.  
  5329. .method private sendNotificationLocked(ZI)V
  5330. .registers 11
  5331. .parameter "on"
  5332. .parameter "why"
  5333.  
  5334. .prologue
  5335. const/16 v7, 0xaa7
  5336.  
  5337. const/4 v6, 0x2
  5338.  
  5339. const/4 v5, -0x1
  5340.  
  5341. const/4 v3, 0x0
  5342.  
  5343. const/4 v2, 0x1
  5344.  
  5345. .line 2104
  5346. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mInitialized:Z
  5347.  
  5348. if-nez v1, :cond_b
  5349.  
  5350. .line 2180
  5351. :cond_a
  5352. :goto_a
  5353. return-void
  5354.  
  5355. .line 2120
  5356. :cond_b
  5357. if-nez p1, :cond_f
  5358.  
  5359. .line 2121
  5360. iput-boolean v3, p0, Lcom/android/server/PowerManagerService;->mStillNeedSleepNotification:Z
  5361.  
  5362. .line 2125
  5363. :cond_f
  5364. const/4 v0, 0x0
  5365.  
  5366. .line 2126
  5367. .local v0, index:I
  5368. :goto_10
  5369. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastQueue:[I
  5370.  
  5371. aget v1, v1, v0
  5372.  
  5373. if-eq v1, v5, :cond_19
  5374.  
  5375. .line 2127
  5376. add-int/lit8 v0, v0, 0x1
  5377.  
  5378. goto :goto_10
  5379.  
  5380. .line 2129
  5381. :cond_19
  5382. iget-object v4, p0, Lcom/android/server/PowerManagerService;->mBroadcastQueue:[I
  5383.  
  5384. if-eqz p1, :cond_c3
  5385.  
  5386. move v1, v2
  5387.  
  5388. :goto_1e
  5389. aput v1, v4, v0
  5390.  
  5391. .line 2130
  5392. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastWhy:[I
  5393.  
  5394. aput p2, v1, v0
  5395.  
  5396. .line 2139
  5397. if-ne v0, v6, :cond_76
  5398.  
  5399. .line 2142
  5400. if-nez p1, :cond_32
  5401.  
  5402. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastWhy:[I
  5403.  
  5404. aget v1, v1, v3
  5405.  
  5406. if-le v1, p2, :cond_32
  5407.  
  5408. .line 2143
  5409. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastWhy:[I
  5410.  
  5411. aput p2, v1, v3
  5412.  
  5413. .line 2145
  5414. :cond_32
  5415. iget-object v4, p0, Lcom/android/server/PowerManagerService;->mBroadcastQueue:[I
  5416.  
  5417. if-eqz p1, :cond_c6
  5418.  
  5419. move v1, v2
  5420.  
  5421. :goto_37
  5422. aput v1, v4, v3
  5423.  
  5424. .line 2146
  5425. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastQueue:[I
  5426.  
  5427. aput v5, v1, v2
  5428.  
  5429. .line 2147
  5430. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastQueue:[I
  5431.  
  5432. aput v5, v1, v6
  5433.  
  5434. .line 2148
  5435. new-array v1, v6, [Ljava/lang/Object;
  5436.  
  5437. invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  5438.  
  5439. move-result-object v4
  5440.  
  5441. aput-object v4, v1, v3
  5442.  
  5443. iget-object v4, p0, Lcom/android/server/PowerManagerService;->mBroadcastWakeLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  5444.  
  5445. iget v4, v4, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->mCount:I
  5446.  
  5447. invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  5448.  
  5449. move-result-object v4
  5450.  
  5451. aput-object v4, v1, v2
  5452.  
  5453. invoke-static {v7, v1}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
  5454.  
  5455. .line 2149
  5456. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastWakeLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  5457.  
  5458. invoke-virtual {v1}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->release()V
  5459.  
  5460. .line 2150
  5461. new-array v1, v6, [Ljava/lang/Object;
  5462.  
  5463. invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  5464.  
  5465. move-result-object v4
  5466.  
  5467. aput-object v4, v1, v3
  5468.  
  5469. iget-object v4, p0, Lcom/android/server/PowerManagerService;->mBroadcastWakeLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  5470.  
  5471. iget v4, v4, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->mCount:I
  5472.  
  5473. invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  5474.  
  5475. move-result-object v4
  5476.  
  5477. aput-object v4, v1, v2
  5478.  
  5479. invoke-static {v7, v1}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
  5480.  
  5481. .line 2151
  5482. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastWakeLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  5483.  
  5484. invoke-virtual {v1}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->release()V
  5485.  
  5486. .line 2152
  5487. const/4 v0, 0x0
  5488.  
  5489. .line 2154
  5490. :cond_76
  5491. if-ne v0, v2, :cond_9d
  5492.  
  5493. if-nez p1, :cond_9d
  5494.  
  5495. .line 2155
  5496. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastQueue:[I
  5497.  
  5498. aput v5, v1, v3
  5499.  
  5500. .line 2156
  5501. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastQueue:[I
  5502.  
  5503. aput v5, v1, v2
  5504.  
  5505. .line 2157
  5506. const/4 v0, -0x1
  5507.  
  5508. .line 2160
  5509. new-array v1, v6, [Ljava/lang/Object;
  5510.  
  5511. invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  5512.  
  5513. move-result-object v4
  5514.  
  5515. aput-object v4, v1, v3
  5516.  
  5517. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mBroadcastWakeLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  5518.  
  5519. iget v3, v3, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->mCount:I
  5520.  
  5521. invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  5522.  
  5523. move-result-object v3
  5524.  
  5525. aput-object v3, v1, v2
  5526.  
  5527. invoke-static {v7, v1}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
  5528.  
  5529. .line 2161
  5530. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastWakeLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  5531.  
  5532. invoke-virtual {v1}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->release()V
  5533.  
  5534. .line 2166
  5535. :cond_9d
  5536. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mSkippedScreenOn:Z
  5537.  
  5538. if-eqz v1, :cond_aa
  5539.  
  5540. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->inPowerOff:Z
  5541.  
  5542. if-nez v1, :cond_aa
  5543.  
  5544. .line 2167
  5545. iget v1, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  5546.  
  5547. invoke-direct {p0, v1, v2}, Lcom/android/server/PowerManagerService;->updateLightsLocked(II)V
  5548.  
  5549. .line 2171
  5550. :cond_aa
  5551. if-ltz v0, :cond_a
  5552.  
  5553. .line 2176
  5554. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastWakeLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  5555.  
  5556. invoke-virtual {v1}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->acquire()V
  5557.  
  5558. .line 2177
  5559. const/16 v1, 0xaa5
  5560.  
  5561. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mBroadcastWakeLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  5562.  
  5563. iget v2, v2, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->mCount:I
  5564.  
  5565. invoke-static {v1, v2}, Landroid/util/EventLog;->writeEvent(II)I
  5566.  
  5567. .line 2178
  5568. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  5569.  
  5570. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mNotificationTask:Ljava/lang/Runnable;
  5571.  
  5572. invoke-virtual {v1, v2}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
  5573.  
  5574. goto/16 :goto_a
  5575.  
  5576. :cond_c3
  5577. move v1, v3
  5578.  
  5579. .line 2129
  5580. goto/16 :goto_1e
  5581.  
  5582. :cond_c6
  5583. move v1, v3
  5584.  
  5585. .line 2145
  5586. goto/16 :goto_37
  5587. .end method
  5588.  
  5589. .method private setCameraParameters(I)V
  5590. .registers 4
  5591. .parameter "updateSet"
  5592.  
  5593. .prologue
  5594. .line 1876
  5595. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  5596.  
  5597. invoke-virtual {v0}, Landroid/hardware/Camera;->getParameters()Landroid/hardware/Camera$Parameters;
  5598.  
  5599. move-result-object v0
  5600.  
  5601. iput-object v0, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  5602.  
  5603. .line 1878
  5604. and-int/lit8 v0, p1, 0x1
  5605.  
  5606. if-eqz v0, :cond_f
  5607.  
  5608. .line 1879
  5609. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->updateCameraParametersInitialize()V
  5610.  
  5611. .line 1882
  5612. :cond_f
  5613. and-int/lit8 v0, p1, 0x2
  5614.  
  5615. if-eqz v0, :cond_16
  5616.  
  5617. .line 1883
  5618. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->updateCameraParametersZoom()V
  5619.  
  5620. .line 1886
  5621. :cond_16
  5622. and-int/lit8 v0, p1, 0x4
  5623.  
  5624. if-eqz v0, :cond_1d
  5625.  
  5626. .line 1887
  5627. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->updateCameraParametersPreference()V
  5628.  
  5629. .line 1890
  5630. :cond_1d
  5631. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  5632.  
  5633. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  5634.  
  5635. invoke-virtual {v0, v1}, Landroid/hardware/Camera;->setParameters(Landroid/hardware/Camera$Parameters;)V
  5636.  
  5637. .line 1892
  5638. return-void
  5639. .end method
  5640.  
  5641. .method public static setCameraPictureSize(Ljava/lang/String;Ljava/util/List;Landroid/hardware/Camera$Parameters;I)Z
  5642. .registers 13
  5643. .parameter "candidate"
  5644. .parameter
  5645. .parameter "parameters"
  5646. .parameter "orientation"
  5647. .annotation system Ldalvik/annotation/Signature;
  5648. value = {
  5649. "(",
  5650. "Ljava/lang/String;",
  5651. "Ljava/util/List",
  5652. "<",
  5653. "Landroid/hardware/Camera$Size;",
  5654. ">;",
  5655. "Landroid/hardware/Camera$Parameters;",
  5656. "I)Z"
  5657. }
  5658. .end annotation
  5659.  
  5660. .prologue
  5661. .local p1, supported:Ljava/util/List;,"Ljava/util/List<Landroid/hardware/Camera$Size;>;"
  5662. const/4 v6, 0x1
  5663.  
  5664. const/4 v5, 0x0
  5665.  
  5666. .line 1712
  5667. const/16 v7, 0x78
  5668.  
  5669. invoke-virtual {p0, v7}, Ljava/lang/String;->indexOf(I)I
  5670.  
  5671. move-result v2
  5672.  
  5673. .line 1713
  5674. .local v2, index:I
  5675. const/4 v7, -0x1
  5676.  
  5677. if-ne v2, v7, :cond_c
  5678.  
  5679. .line 1733
  5680. :cond_b
  5681. :goto_b
  5682. return v5
  5683.  
  5684. .line 1714
  5685. :cond_c
  5686. invoke-virtual {p0, v5, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
  5687.  
  5688. move-result-object v7
  5689.  
  5690. invoke-static {v7}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
  5691.  
  5692. move-result v4
  5693.  
  5694. .line 1715
  5695. .local v4, width:I
  5696. add-int/lit8 v7, v2, 0x1
  5697.  
  5698. invoke-virtual {p0, v7}, Ljava/lang/String;->substring(I)Ljava/lang/String;
  5699.  
  5700. move-result-object v7
  5701.  
  5702. invoke-static {v7}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
  5703.  
  5704. move-result v0
  5705.  
  5706. .line 1716
  5707. .local v0, height:I
  5708. if-eqz p3, :cond_24
  5709.  
  5710. const/16 v7, 0xb4
  5711.  
  5712. if-ne p3, v7, :cond_63
  5713.  
  5714. .line 1717
  5715. :cond_24
  5716. invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
  5717.  
  5718. move-result-object v1
  5719.  
  5720. .local v1, i$:Ljava/util/Iterator;
  5721. :cond_28
  5722. invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
  5723.  
  5724. move-result v7
  5725.  
  5726. if-eqz v7, :cond_b
  5727.  
  5728. invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
  5729.  
  5730. move-result-object v3
  5731.  
  5732. check-cast v3, Landroid/hardware/Camera$Size;
  5733.  
  5734. .line 1718
  5735. .local v3, size:Landroid/hardware/Camera$Size;
  5736. iget v7, v3, Landroid/hardware/Camera$Size;->width:I
  5737.  
  5738. if-ne v7, v4, :cond_28
  5739.  
  5740. iget v7, v3, Landroid/hardware/Camera$Size;->height:I
  5741.  
  5742. if-ne v7, v0, :cond_28
  5743.  
  5744. .line 1719
  5745. invoke-virtual {p2, v0, v4}, Landroid/hardware/Camera$Parameters;->setPictureSize(II)V
  5746.  
  5747. .line 1720
  5748. const-string v5, "undernormal"
  5749.  
  5750. new-instance v7, Ljava/lang/StringBuilder;
  5751.  
  5752. invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
  5753.  
  5754. const-string v8, "setCameraPictureSize, height = "
  5755.  
  5756. invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5757.  
  5758. move-result-object v7
  5759.  
  5760. invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  5761.  
  5762. move-result-object v7
  5763.  
  5764. const-string v8, "width = "
  5765.  
  5766. invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5767.  
  5768. move-result-object v7
  5769.  
  5770. invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  5771.  
  5772. move-result-object v7
  5773.  
  5774. invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  5775.  
  5776. move-result-object v7
  5777.  
  5778. invoke-static {v5, v7}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
  5779.  
  5780. move v5, v6
  5781.  
  5782. .line 1721
  5783. goto :goto_b
  5784.  
  5785. .line 1725
  5786. .end local v1 #i$:Ljava/util/Iterator;
  5787. .end local v3 #size:Landroid/hardware/Camera$Size;
  5788. :cond_63
  5789. invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
  5790.  
  5791. move-result-object v1
  5792.  
  5793. .restart local v1 #i$:Ljava/util/Iterator;
  5794. :cond_67
  5795. invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
  5796.  
  5797. move-result v7
  5798.  
  5799. if-eqz v7, :cond_b
  5800.  
  5801. invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
  5802.  
  5803. move-result-object v3
  5804.  
  5805. check-cast v3, Landroid/hardware/Camera$Size;
  5806.  
  5807. .line 1726
  5808. .restart local v3 #size:Landroid/hardware/Camera$Size;
  5809. iget v7, v3, Landroid/hardware/Camera$Size;->width:I
  5810.  
  5811. if-ne v7, v4, :cond_67
  5812.  
  5813. iget v7, v3, Landroid/hardware/Camera$Size;->height:I
  5814.  
  5815. if-ne v7, v0, :cond_67
  5816.  
  5817. .line 1727
  5818. invoke-virtual {p2, v4, v0}, Landroid/hardware/Camera$Parameters;->setPictureSize(II)V
  5819.  
  5820. .line 1728
  5821. const-string v5, "undernormal"
  5822.  
  5823. new-instance v7, Ljava/lang/StringBuilder;
  5824.  
  5825. invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
  5826.  
  5827. const-string v8, "setCameraPictureSize, width = "
  5828.  
  5829. invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5830.  
  5831. move-result-object v7
  5832.  
  5833. invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  5834.  
  5835. move-result-object v7
  5836.  
  5837. const-string v8, "height= "
  5838.  
  5839. invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5840.  
  5841. move-result-object v7
  5842.  
  5843. invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  5844.  
  5845. move-result-object v7
  5846.  
  5847. invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  5848.  
  5849. move-result-object v7
  5850.  
  5851. invoke-static {v5, v7}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
  5852.  
  5853. move v5, v6
  5854.  
  5855. .line 1729
  5856. goto/16 :goto_b
  5857. .end method
  5858.  
  5859. .method private setDisplayOrientation()V
  5860. .registers 4
  5861.  
  5862. .prologue
  5863. .line 1696
  5864. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  5865.  
  5866. invoke-static {v0}, Lcom/android/server/CameraServiceUtil;->getDisplayRotation(Landroid/content/Context;)I
  5867.  
  5868. move-result v0
  5869.  
  5870. iput v0, p0, Lcom/android/server/PowerManagerService;->mDisplayRotation:I
  5871.  
  5872. .line 1697
  5873. iget v0, p0, Lcom/android/server/PowerManagerService;->mDisplayRotation:I
  5874.  
  5875. iget v1, p0, Lcom/android/server/PowerManagerService;->mCameraId:I
  5876.  
  5877. invoke-static {v0, v1}, Lcom/android/server/CameraServiceUtil;->getDisplayOrientation(II)I
  5878.  
  5879. move-result v0
  5880.  
  5881. iput v0, p0, Lcom/android/server/PowerManagerService;->mDisplayOrientation:I
  5882.  
  5883. .line 1699
  5884. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  5885.  
  5886. iget v1, p0, Lcom/android/server/PowerManagerService;->mDisplayOrientation:I
  5887.  
  5888. invoke-virtual {v0, v1}, Landroid/hardware/Camera;->setDisplayOrientation(I)V
  5889.  
  5890. .line 1700
  5891. const-string v0, "undernormal"
  5892.  
  5893. new-instance v1, Ljava/lang/StringBuilder;
  5894.  
  5895. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  5896.  
  5897. const-string v2, "setDisplayOrientation : mDisplayRotation = "
  5898.  
  5899. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5900.  
  5901. move-result-object v1
  5902.  
  5903. iget v2, p0, Lcom/android/server/PowerManagerService;->mDisplayRotation:I
  5904.  
  5905. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  5906.  
  5907. move-result-object v1
  5908.  
  5909. const-string v2, "mDisaplayOrientation = "
  5910.  
  5911. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5912.  
  5913. move-result-object v1
  5914.  
  5915. iget v2, p0, Lcom/android/server/PowerManagerService;->mDisplayOrientation:I
  5916.  
  5917. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  5918.  
  5919. move-result-object v1
  5920.  
  5921. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  5922.  
  5923. move-result-object v1
  5924.  
  5925. invoke-static {v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
  5926.  
  5927. .line 1701
  5928. return-void
  5929. .end method
  5930.  
  5931. .method private setLightBrightness(II)V
  5932. .registers 8
  5933. .parameter "mask"
  5934. .parameter "value"
  5935.  
  5936. .prologue
  5937. const/4 v1, 0x1
  5938.  
  5939. const/4 v2, 0x0
  5940.  
  5941. .line 2922
  5942. iget-boolean v3, p0, Lcom/android/server/PowerManagerService;->mAutoBrightessEnabled:Z
  5943.  
  5944. if-eqz v3, :cond_21
  5945.  
  5946. move v0, v1
  5947.  
  5948. .line 2925
  5949. .local v0, brightnessMode:I
  5950. :goto_7
  5951. and-int/lit8 v3, p1, 0x2
  5952.  
  5953. if-eqz v3, :cond_48
  5954.  
  5955. .line 2933
  5956. const-string v3, "1"
  5957.  
  5958. const-string v4, "sys.ipo.shutdown"
  5959.  
  5960. invoke-static {v4}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
  5961.  
  5962. move-result-object v4
  5963.  
  5964. invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  5965.  
  5966. move-result v3
  5967.  
  5968. if-eqz v3, :cond_23
  5969.  
  5970. .line 2934
  5971. const-string v1, "PowerManagerService"
  5972.  
  5973. const-string v2, "do not turn backlight off/on when/after shutdown with IPO mode!"
  5974.  
  5975. invoke-static {v1, v2}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  5976.  
  5977. .line 2991
  5978. :cond_20
  5979. :goto_20
  5980. return-void
  5981.  
  5982. .end local v0 #brightnessMode:I
  5983. :cond_21
  5984. move v0, v2
  5985.  
  5986. .line 2922
  5987. goto :goto_7
  5988.  
  5989. .line 2939
  5990. .restart local v0 #brightnessMode:I
  5991. :cond_23
  5992. iget v3, p0, Lcom/android/server/PowerManagerService;->mMaxBrightness:I
  5993.  
  5994. if-lez v3, :cond_2d
  5995.  
  5996. .line 2940
  5997. iget v3, p0, Lcom/android/server/PowerManagerService;->mMaxBrightness:I
  5998.  
  5999. if-le p2, v3, :cond_2d
  6000.  
  6001. .line 2941
  6002. iget p2, p0, Lcom/android/server/PowerManagerService;->mMaxBrightness:I
  6003.  
  6004. .line 2944
  6005. :cond_2d
  6006. iget v3, p0, Lcom/android/server/PowerManagerService;->mOldBacklightValue:I
  6007.  
  6008. if-nez v3, :cond_68
  6009.  
  6010. .line 2945
  6011. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mShutdownFlag:Z
  6012.  
  6013. if-nez v2, :cond_3a
  6014.  
  6015. .line 2946
  6016. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mLcdLight:Lcom/android/server/LightsService$Light;
  6017.  
  6018. invoke-virtual {v2, p2, v0}, Lcom/android/server/LightsService$Light;->setBrightness(II)V
  6019.  
  6020. .line 2948
  6021. :cond_3a
  6022. if-lez p2, :cond_46
  6023.  
  6024. .line 2950
  6025. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mTvOut:Lcom/mediatek/tvOut/TvOut;
  6026.  
  6027. invoke-virtual {v2, v1}, Lcom/mediatek/tvOut/TvOut;->tvoutPowerEnable(Z)Z
  6028.  
  6029. .line 2952
  6030. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mHDMI:Lcom/mediatek/hdmi/HDMINative;
  6031.  
  6032. invoke-virtual {v2, v1}, Lcom/mediatek/hdmi/HDMINative;->hdmiPowerEnable(Z)Z
  6033.  
  6034. .line 2965
  6035. :cond_46
  6036. :goto_46
  6037. iput p2, p0, Lcom/android/server/PowerManagerService;->mOldBacklightValue:I
  6038.  
  6039. .line 2967
  6040. :cond_48
  6041. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mShutdownFlag:Z
  6042.  
  6043. if-nez v1, :cond_20
  6044.  
  6045. .line 2969
  6046. and-int/lit8 v1, p1, 0x4
  6047.  
  6048. if-eqz v1, :cond_83
  6049.  
  6050. .line 2970
  6051. if-eqz p2, :cond_7e
  6052.  
  6053. .line 2972
  6054. const-string v1, "1"
  6055.  
  6056. const-string v2, "sys.ipo.shutdown"
  6057.  
  6058. invoke-static {v2}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
  6059.  
  6060. move-result-object v2
  6061.  
  6062. invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  6063.  
  6064. move-result v1
  6065.  
  6066. if-eqz v1, :cond_7e
  6067.  
  6068. .line 2973
  6069. const-string v1, "PowerManagerService"
  6070.  
  6071. const-string v2, "do not turn button on after shutdown with IPO mode!"
  6072.  
  6073. invoke-static {v1, v2}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  6074.  
  6075. goto :goto_20
  6076.  
  6077. .line 2955
  6078. :cond_68
  6079. if-nez p2, :cond_74
  6080.  
  6081. .line 2957
  6082. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mTvOut:Lcom/mediatek/tvOut/TvOut;
  6083.  
  6084. invoke-virtual {v1, v2}, Lcom/mediatek/tvOut/TvOut;->tvoutPowerEnable(Z)Z
  6085.  
  6086. .line 2959
  6087. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mHDMI:Lcom/mediatek/hdmi/HDMINative;
  6088.  
  6089. invoke-virtual {v1, v2}, Lcom/mediatek/hdmi/HDMINative;->hdmiPowerEnable(Z)Z
  6090.  
  6091. .line 2961
  6092. :cond_74
  6093. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mShutdownFlag:Z
  6094.  
  6095. if-nez v1, :cond_46
  6096.  
  6097. .line 2962
  6098. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mLcdLight:Lcom/android/server/LightsService$Light;
  6099.  
  6100. invoke-virtual {v1, p2, v0}, Lcom/android/server/LightsService$Light;->setBrightness(II)V
  6101.  
  6102. goto :goto_46
  6103.  
  6104. .line 2978
  6105. :cond_7e
  6106. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mButtonLight:Lcom/android/server/LightsService$Light;
  6107.  
  6108. invoke-virtual {v1, p2}, Lcom/android/server/LightsService$Light;->setBrightness(I)V
  6109.  
  6110. .line 2980
  6111. :cond_83
  6112. and-int/lit8 v1, p1, 0x8
  6113.  
  6114. if-eqz v1, :cond_20
  6115.  
  6116. .line 2981
  6117. if-eqz p2, :cond_9f
  6118.  
  6119. .line 2983
  6120. const-string v1, "1"
  6121.  
  6122. const-string v2, "sys.ipo.shutdown"
  6123.  
  6124. invoke-static {v2}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
  6125.  
  6126. move-result-object v2
  6127.  
  6128. invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  6129.  
  6130. move-result v1
  6131.  
  6132. if-eqz v1, :cond_9f
  6133.  
  6134. .line 2984
  6135. const-string v1, "PowerManagerService"
  6136.  
  6137. const-string v2, "do not turn keyboard on after shutdown with IPO mode!"
  6138.  
  6139. invoke-static {v1, v2}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  6140.  
  6141. goto :goto_20
  6142.  
  6143. .line 2989
  6144. :cond_9f
  6145. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mKeyboardLight:Lcom/android/server/LightsService$Light;
  6146.  
  6147. invoke-virtual {v1, p2}, Lcom/android/server/LightsService$Light;->setBrightness(I)V
  6148.  
  6149. goto/16 :goto_20
  6150. .end method
  6151.  
  6152. .method private setNextScreenOffTimeOut()V
  6153. .registers 8
  6154.  
  6155. .prologue
  6156. const-wide/16 v0, -0x1
  6157.  
  6158. .line 1669
  6159. const-string v2, "undernormal"
  6160.  
  6161. const-string v3, "scaneys timeout and follow the custom pation"
  6162.  
  6163. invoke-static {v2, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
  6164.  
  6165. .line 1670
  6166. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  6167.  
  6168. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mTimeoutTask:Lcom/android/server/PowerManagerService$TimeoutTask;
  6169.  
  6170. invoke-virtual {v2, v3}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
  6171.  
  6172. .line 1671
  6173. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mTimeoutTask:Lcom/android/server/PowerManagerService$TimeoutTask;
  6174.  
  6175. const/4 v3, 0x0
  6176.  
  6177. iput v3, v2, Lcom/android/server/PowerManagerService$TimeoutTask;->nextState:I
  6178.  
  6179. .line 1672
  6180. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mTimeoutTask:Lcom/android/server/PowerManagerService$TimeoutTask;
  6181.  
  6182. iget-wide v3, p0, Lcom/android/server/PowerManagerService;->mScantimeoutOverride:J
  6183.  
  6184. const-wide/16 v5, 0x0
  6185.  
  6186. cmp-long v3, v3, v5
  6187.  
  6188. if-lez v3, :cond_22
  6189.  
  6190. iget-wide v3, p0, Lcom/android/server/PowerManagerService;->mScantimeoutOverride:J
  6191.  
  6192. sub-long/2addr v0, v3
  6193.  
  6194. :cond_22
  6195. iput-wide v0, v2, Lcom/android/server/PowerManagerService$TimeoutTask;->remainingTimeoutOverride:J
  6196.  
  6197. .line 1675
  6198. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  6199.  
  6200. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mTimeoutTask:Lcom/android/server/PowerManagerService$TimeoutTask;
  6201.  
  6202. iget-wide v2, p0, Lcom/android/server/PowerManagerService;->mScanWhen:J
  6203.  
  6204. invoke-virtual {v0, v1, v2, v3}, Landroid/os/Handler;->postAtTime(Ljava/lang/Runnable;J)Z
  6205.  
  6206. .line 1676
  6207. iget-wide v0, p0, Lcom/android/server/PowerManagerService;->mScanWhen:J
  6208.  
  6209. iput-wide v0, p0, Lcom/android/server/PowerManagerService;->mNextTimeout:J
  6210.  
  6211. .line 1677
  6212. return-void
  6213. .end method
  6214.  
  6215. .method private setPowerState(I)V
  6216. .registers 4
  6217. .parameter "state"
  6218.  
  6219. .prologue
  6220. .line 2538
  6221. const/4 v0, 0x0
  6222.  
  6223. const/4 v1, 0x3
  6224.  
  6225. invoke-direct {p0, p1, v0, v1}, Lcom/android/server/PowerManagerService;->setPowerState(IZI)V
  6226.  
  6227. .line 2539
  6228. return-void
  6229. .end method
  6230.  
  6231. .method private setPowerState(IZI)V
  6232. .registers 19
  6233. .parameter "newState"
  6234. .parameter "noChangeLights"
  6235. .parameter "reason"
  6236.  
  6237. .prologue
  6238. .line 2543
  6239. iget-object v10, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  6240.  
  6241. monitor-enter v10
  6242.  
  6243. .line 2547
  6244. :try_start_3
  6245. const-string v9, "PowerManagerService"
  6246.  
  6247. new-instance v11, Ljava/lang/StringBuilder;
  6248.  
  6249. invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
  6250.  
  6251. const-string v12, "setPowerState: mPowerState=0x"
  6252.  
  6253. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6254.  
  6255. move-result-object v11
  6256.  
  6257. iget v12, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  6258.  
  6259. invoke-static {v12}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
  6260.  
  6261. move-result-object v12
  6262.  
  6263. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6264.  
  6265. move-result-object v11
  6266.  
  6267. const-string v12, " newState=0x"
  6268.  
  6269. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6270.  
  6271. move-result-object v11
  6272.  
  6273. invoke-static/range {p1 .. p1}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
  6274.  
  6275. move-result-object v12
  6276.  
  6277. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6278.  
  6279. move-result-object v11
  6280.  
  6281. const-string v12, " noChangeLights="
  6282.  
  6283. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6284.  
  6285. move-result-object v11
  6286.  
  6287. move/from16 v0, p2
  6288.  
  6289. invoke-virtual {v11, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  6290.  
  6291. move-result-object v11
  6292.  
  6293. const-string v12, " reason="
  6294.  
  6295. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6296.  
  6297. move-result-object v11
  6298.  
  6299. move/from16 v0, p3
  6300.  
  6301. invoke-virtual {v11, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  6302.  
  6303. move-result-object v11
  6304.  
  6305. invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  6306.  
  6307. move-result-object v11
  6308.  
  6309. invoke-static {v9, v11}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  6310.  
  6311. .line 2553
  6312. if-eqz p2, :cond_51
  6313.  
  6314. .line 2554
  6315. and-int/lit8 v9, p1, -0xf
  6316.  
  6317. iget v11, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  6318.  
  6319. and-int/lit8 v11, v11, 0xe
  6320.  
  6321. or-int p1, v9, v11
  6322.  
  6323. .line 2556
  6324. :cond_51
  6325. iget-boolean v9, p0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  6326.  
  6327. if-eqz v9, :cond_57
  6328.  
  6329. .line 2558
  6330. and-int/lit8 p1, p1, -0x4
  6331.  
  6332. .line 2561
  6333. :cond_57
  6334. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->batteryIsLow()Z
  6335.  
  6336. move-result v9
  6337.  
  6338. if-eqz v9, :cond_6b
  6339.  
  6340. .line 2562
  6341. or-int/lit8 p1, p1, 0x10
  6342.  
  6343. .line 2566
  6344. :goto_5f
  6345. iget v9, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  6346.  
  6347. move/from16 v0, p1
  6348.  
  6349. if-ne v0, v9, :cond_6e
  6350.  
  6351. iget-boolean v9, p0, Lcom/android/server/PowerManagerService;->mInitialized:Z
  6352.  
  6353. if-eqz v9, :cond_6e
  6354.  
  6355. .line 2567
  6356. monitor-exit v10
  6357.  
  6358. .line 2703
  6359. :goto_6a
  6360. return-void
  6361.  
  6362. .line 2564
  6363. :cond_6b
  6364. and-int/lit8 p1, p1, -0x11
  6365.  
  6366. goto :goto_5f
  6367.  
  6368. .line 2570
  6369. :cond_6e
  6370. iget-boolean v9, p0, Lcom/android/server/PowerManagerService;->mBootCompleted:Z
  6371.  
  6372. if-nez v9, :cond_78
  6373.  
  6374. iget-boolean v9, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  6375.  
  6376. if-nez v9, :cond_78
  6377.  
  6378. .line 2571
  6379. or-int/lit8 p1, p1, 0xf
  6380.  
  6381. .line 2574
  6382. :cond_78
  6383. iget v9, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  6384.  
  6385. and-int/lit8 v9, v9, 0x1
  6386.  
  6387. if-eqz v9, :cond_23d
  6388.  
  6389. const/4 v6, 0x1
  6390.  
  6391. .line 2575
  6392. .local v6, oldScreenOn:Z
  6393. :goto_7f
  6394. and-int/lit8 v9, p1, 0x1
  6395.  
  6396. if-eqz v9, :cond_240
  6397.  
  6398. const/4 v5, 0x1
  6399.  
  6400. .line 2578
  6401. .local v5, newScreenOn:Z
  6402. :goto_84
  6403. const-string v9, "PowerManagerService"
  6404.  
  6405. new-instance v11, Ljava/lang/StringBuilder;
  6406.  
  6407. invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
  6408.  
  6409. const-string v12, "setPowerState: mPowerState="
  6410.  
  6411. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6412.  
  6413. move-result-object v11
  6414.  
  6415. iget v12, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  6416.  
  6417. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  6418.  
  6419. move-result-object v11
  6420.  
  6421. const-string v12, " newState="
  6422.  
  6423. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6424.  
  6425. move-result-object v11
  6426.  
  6427. move/from16 v0, p1
  6428.  
  6429. invoke-virtual {v11, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  6430.  
  6431. move-result-object v11
  6432.  
  6433. const-string v12, " noChangeLights="
  6434.  
  6435. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6436.  
  6437. move-result-object v11
  6438.  
  6439. move/from16 v0, p2
  6440.  
  6441. invoke-virtual {v11, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  6442.  
  6443. move-result-object v11
  6444.  
  6445. invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  6446.  
  6447. move-result-object v11
  6448.  
  6449. invoke-static {v9, v11}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  6450.  
  6451. .line 2580
  6452. const-string v11, "PowerManagerService"
  6453.  
  6454. new-instance v9, Ljava/lang/StringBuilder;
  6455.  
  6456. invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
  6457.  
  6458. const-string v12, " oldKeyboardBright="
  6459.  
  6460. invoke-virtual {v9, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6461.  
  6462. move-result-object v12
  6463.  
  6464. iget v9, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  6465.  
  6466. and-int/lit8 v9, v9, 0x8
  6467.  
  6468. if-eqz v9, :cond_243
  6469.  
  6470. const/4 v9, 0x1
  6471.  
  6472. :goto_ca
  6473. invoke-virtual {v12, v9}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  6474.  
  6475. move-result-object v9
  6476.  
  6477. const-string v12, " newKeyboardBright="
  6478.  
  6479. invoke-virtual {v9, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6480.  
  6481. move-result-object v12
  6482.  
  6483. and-int/lit8 v9, p1, 0x8
  6484.  
  6485. if-eqz v9, :cond_246
  6486.  
  6487. const/4 v9, 0x1
  6488.  
  6489. :goto_d9
  6490. invoke-virtual {v12, v9}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  6491.  
  6492. move-result-object v9
  6493.  
  6494. invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  6495.  
  6496. move-result-object v9
  6497.  
  6498. invoke-static {v11, v9}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  6499.  
  6500. .line 2582
  6501. const-string v11, "PowerManagerService"
  6502.  
  6503. new-instance v9, Ljava/lang/StringBuilder;
  6504.  
  6505. invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
  6506.  
  6507. const-string v12, " oldScreenBright="
  6508.  
  6509. invoke-virtual {v9, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6510.  
  6511. move-result-object v12
  6512.  
  6513. iget v9, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  6514.  
  6515. and-int/lit8 v9, v9, 0x2
  6516.  
  6517. if-eqz v9, :cond_249
  6518.  
  6519. const/4 v9, 0x1
  6520.  
  6521. :goto_f8
  6522. invoke-virtual {v12, v9}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  6523.  
  6524. move-result-object v9
  6525.  
  6526. const-string v12, " newScreenBright="
  6527.  
  6528. invoke-virtual {v9, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6529.  
  6530. move-result-object v12
  6531.  
  6532. and-int/lit8 v9, p1, 0x2
  6533.  
  6534. if-eqz v9, :cond_24c
  6535.  
  6536. const/4 v9, 0x1
  6537.  
  6538. :goto_107
  6539. invoke-virtual {v12, v9}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  6540.  
  6541. move-result-object v9
  6542.  
  6543. invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  6544.  
  6545. move-result-object v9
  6546.  
  6547. invoke-static {v11, v9}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  6548.  
  6549. .line 2584
  6550. const-string v11, "PowerManagerService"
  6551.  
  6552. new-instance v9, Ljava/lang/StringBuilder;
  6553.  
  6554. invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
  6555.  
  6556. const-string v12, " oldButtonBright="
  6557.  
  6558. invoke-virtual {v9, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6559.  
  6560. move-result-object v12
  6561.  
  6562. iget v9, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  6563.  
  6564. and-int/lit8 v9, v9, 0x4
  6565.  
  6566. if-eqz v9, :cond_24f
  6567.  
  6568. const/4 v9, 0x1
  6569.  
  6570. :goto_126
  6571. invoke-virtual {v12, v9}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  6572.  
  6573. move-result-object v9
  6574.  
  6575. const-string v12, " newButtonBright="
  6576.  
  6577. invoke-virtual {v9, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6578.  
  6579. move-result-object v12
  6580.  
  6581. and-int/lit8 v9, p1, 0x4
  6582.  
  6583. if-eqz v9, :cond_252
  6584.  
  6585. const/4 v9, 0x1
  6586.  
  6587. :goto_135
  6588. invoke-virtual {v12, v9}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  6589.  
  6590. move-result-object v9
  6591.  
  6592. invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  6593.  
  6594. move-result-object v9
  6595.  
  6596. invoke-static {v11, v9}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  6597.  
  6598. .line 2586
  6599. const-string v9, "PowerManagerService"
  6600.  
  6601. new-instance v11, Ljava/lang/StringBuilder;
  6602.  
  6603. invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
  6604.  
  6605. const-string v12, " oldScreenOn="
  6606.  
  6607. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6608.  
  6609. move-result-object v11
  6610.  
  6611. invoke-virtual {v11, v6}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  6612.  
  6613. move-result-object v11
  6614.  
  6615. const-string v12, " newScreenOn="
  6616.  
  6617. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6618.  
  6619. move-result-object v11
  6620.  
  6621. invoke-virtual {v11, v5}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  6622.  
  6623. move-result-object v11
  6624.  
  6625. invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  6626.  
  6627. move-result-object v11
  6628.  
  6629. invoke-static {v9, v11}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  6630.  
  6631. .line 2588
  6632. const-string v11, "PowerManagerService"
  6633.  
  6634. new-instance v9, Ljava/lang/StringBuilder;
  6635.  
  6636. invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
  6637.  
  6638. const-string v12, " oldBatteryLow="
  6639.  
  6640. invoke-virtual {v9, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6641.  
  6642. move-result-object v12
  6643.  
  6644. iget v9, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  6645.  
  6646. and-int/lit8 v9, v9, 0x10
  6647.  
  6648. if-eqz v9, :cond_255
  6649.  
  6650. const/4 v9, 0x1
  6651.  
  6652. :goto_176
  6653. invoke-virtual {v12, v9}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  6654.  
  6655. move-result-object v9
  6656.  
  6657. const-string v12, " newBatteryLow="
  6658.  
  6659. invoke-virtual {v9, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6660.  
  6661. move-result-object v12
  6662.  
  6663. and-int/lit8 v9, p1, 0x10
  6664.  
  6665. if-eqz v9, :cond_258
  6666.  
  6667. const/4 v9, 0x1
  6668.  
  6669. :goto_185
  6670. invoke-virtual {v12, v9}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  6671.  
  6672. move-result-object v9
  6673.  
  6674. invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  6675.  
  6676. move-result-object v9
  6677.  
  6678. invoke-static {v11, v9}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  6679.  
  6680. .line 2592
  6681. iget v9, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  6682.  
  6683. move/from16 v0, p1
  6684.  
  6685. if-eq v9, v0, :cond_25b
  6686.  
  6687. const/4 v8, 0x1
  6688.  
  6689. .line 2594
  6690. .local v8, stateChanged:Z
  6691. :goto_197
  6692. if-eq v6, v5, :cond_2ef
  6693.  
  6694. .line 2595
  6695. if-eqz v5, :cond_27a
  6696.  
  6697. .line 2600
  6698. iget-boolean v9, p0, Lcom/android/server/PowerManagerService;->mStillNeedSleepNotification:Z
  6699.  
  6700. if-eqz v9, :cond_1a4
  6701.  
  6702. .line 2601
  6703. const/4 v9, 0x0
  6704.  
  6705. const/4 v11, 0x2
  6706.  
  6707. invoke-direct {p0, v9, v11}, Lcom/android/server/PowerManagerService;->sendNotificationLocked(ZI)V
  6708.  
  6709. .line 2609
  6710. :cond_1a4
  6711. const/4 v7, 0x1
  6712.  
  6713. .line 2611
  6714. .local v7, reallyTurnScreenOn:Z
  6715. const-string v9, "PowerManagerService"
  6716.  
  6717. new-instance v11, Ljava/lang/StringBuilder;
  6718.  
  6719. invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
  6720.  
  6721. const-string v12, "- turning screen on... mPreventScreenOn = "
  6722.  
  6723. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6724.  
  6725. move-result-object v11
  6726.  
  6727. iget-boolean v12, p0, Lcom/android/server/PowerManagerService;->mPreventScreenOn:Z
  6728.  
  6729. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  6730.  
  6731. move-result-object v11
  6732.  
  6733. invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  6734.  
  6735. move-result-object v11
  6736.  
  6737. invoke-static {v9, v11}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  6738.  
  6739. .line 2615
  6740. iget-boolean v9, p0, Lcom/android/server/PowerManagerService;->mPreventScreenOn:Z
  6741.  
  6742. if-eqz v9, :cond_1c3
  6743.  
  6744. .line 2621
  6745. :cond_1c3
  6746. if-eqz v7, :cond_270
  6747.  
  6748. .line 2622
  6749. const/4 v9, 0x1
  6750.  
  6751. invoke-direct {p0, v9}, Lcom/android/server/PowerManagerService;->setScreenStateLocked(Z)I
  6752.  
  6753. move-result v2
  6754.  
  6755. .line 2623
  6756. .local v2, err:I
  6757. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  6758. :try_end_1cd
  6759. .catchall {:try_start_3 .. :try_end_1cd} :catchall_23a
  6760.  
  6761. move-result-wide v3
  6762.  
  6763. .line 2625
  6764. .local v3, identity:J
  6765. :try_start_1ce
  6766. iget-object v9, p0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  6767.  
  6768. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->getPreferredBrightness()I
  6769.  
  6770. move-result v11
  6771.  
  6772. invoke-interface {v9, v11}, Lcom/android/internal/app/IBatteryStats;->noteScreenBrightness(I)V
  6773.  
  6774. .line 2626
  6775. iget-object v9, p0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  6776.  
  6777. invoke-interface {v9}, Lcom/android/internal/app/IBatteryStats;->noteScreenOn()V
  6778. :try_end_1dc
  6779. .catchall {:try_start_1ce .. :try_end_1dc} :catchall_26b
  6780. .catch Landroid/os/RemoteException; {:try_start_1ce .. :try_end_1dc} :catch_25e
  6781.  
  6782. .line 2630
  6783. :try_start_1dc
  6784. invoke-static {v3, v4}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  6785.  
  6786. .line 2639
  6787. .end local v3 #identity:J
  6788. :goto_1df
  6789. const-wide/16 v11, 0x0
  6790.  
  6791. iput-wide v11, p0, Lcom/android/server/PowerManagerService;->mLastTouchDown:J
  6792.  
  6793. .line 2640
  6794. const-wide/16 v11, 0x0
  6795.  
  6796. iput-wide v11, p0, Lcom/android/server/PowerManagerService;->mTotalTouchDownTime:J
  6797.  
  6798. .line 2641
  6799. const/4 v9, 0x0
  6800.  
  6801. iput v9, p0, Lcom/android/server/PowerManagerService;->mTouchCycles:I
  6802.  
  6803. .line 2642
  6804. const/16 v9, 0xaa8
  6805.  
  6806. const/4 v11, 0x4
  6807.  
  6808. new-array v11, v11, [Ljava/lang/Object;
  6809.  
  6810. const/4 v12, 0x0
  6811.  
  6812. const/4 v13, 0x1
  6813.  
  6814. invoke-static {v13}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  6815.  
  6816. move-result-object v13
  6817.  
  6818. aput-object v13, v11, v12
  6819.  
  6820. const/4 v12, 0x1
  6821.  
  6822. invoke-static/range {p3 .. p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  6823.  
  6824. move-result-object v13
  6825.  
  6826. aput-object v13, v11, v12
  6827.  
  6828. const/4 v12, 0x2
  6829.  
  6830. iget-wide v13, p0, Lcom/android/server/PowerManagerService;->mTotalTouchDownTime:J
  6831.  
  6832. invoke-static {v13, v14}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
  6833.  
  6834. move-result-object v13
  6835.  
  6836. aput-object v13, v11, v12
  6837.  
  6838. const/4 v12, 0x3
  6839.  
  6840. iget v13, p0, Lcom/android/server/PowerManagerService;->mTouchCycles:I
  6841.  
  6842. invoke-static {v13}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  6843.  
  6844. move-result-object v13
  6845.  
  6846. aput-object v13, v11, v12
  6847.  
  6848. invoke-static {v9, v11}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
  6849.  
  6850. .line 2644
  6851. if-nez v2, :cond_22b
  6852.  
  6853. .line 2645
  6854. const/4 v9, 0x1
  6855.  
  6856. const/4 v11, -0x1
  6857.  
  6858. invoke-direct {p0, v9, v11}, Lcom/android/server/PowerManagerService;->sendNotificationLocked(ZI)V
  6859.  
  6860. .line 2650
  6861. if-eqz v8, :cond_222
  6862.  
  6863. .line 2651
  6864. const/4 v9, 0x0
  6865.  
  6866. move/from16 v0, p1
  6867.  
  6868. invoke-direct {p0, v0, v9}, Lcom/android/server/PowerManagerService;->updateLightsLocked(II)V
  6869.  
  6870. .line 2653
  6871. :cond_222
  6872. iget v9, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  6873.  
  6874. or-int/lit8 v9, v9, 0x1
  6875.  
  6876. iput v9, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  6877.  
  6878. .line 2654
  6879. const/4 v9, 0x0
  6880.  
  6881. iput-boolean v9, p0, Lcom/android/server/PowerManagerService;->mWaitKeyguardDraw:Z
  6882.  
  6883. .line 2699
  6884. .end local v2 #err:I
  6885. .end local v7 #reallyTurnScreenOn:Z
  6886. :cond_22b
  6887. :goto_22b
  6888. iget v9, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  6889.  
  6890. and-int/lit8 v9, v9, -0xf
  6891.  
  6892. and-int/lit8 v11, p1, 0xe
  6893.  
  6894. or-int/2addr v9, v11
  6895.  
  6896. iput v9, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  6897.  
  6898. .line 2701
  6899. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->updateNativePowerStateLocked()V
  6900.  
  6901. .line 2702
  6902. monitor-exit v10
  6903.  
  6904. goto/16 :goto_6a
  6905.  
  6906. .end local v5 #newScreenOn:Z
  6907. .end local v6 #oldScreenOn:Z
  6908. .end local v8 #stateChanged:Z
  6909. :catchall_23a
  6910. move-exception v9
  6911.  
  6912. monitor-exit v10
  6913. :try_end_23c
  6914. .catchall {:try_start_1dc .. :try_end_23c} :catchall_23a
  6915.  
  6916. throw v9
  6917.  
  6918. .line 2574
  6919. :cond_23d
  6920. const/4 v6, 0x0
  6921.  
  6922. goto/16 :goto_7f
  6923.  
  6924. .line 2575
  6925. .restart local v6 #oldScreenOn:Z
  6926. :cond_240
  6927. const/4 v5, 0x0
  6928.  
  6929. goto/16 :goto_84
  6930.  
  6931. .line 2580
  6932. .restart local v5 #newScreenOn:Z
  6933. :cond_243
  6934. const/4 v9, 0x0
  6935.  
  6936. goto/16 :goto_ca
  6937.  
  6938. :cond_246
  6939. const/4 v9, 0x0
  6940.  
  6941. goto/16 :goto_d9
  6942.  
  6943. .line 2582
  6944. :cond_249
  6945. const/4 v9, 0x0
  6946.  
  6947. goto/16 :goto_f8
  6948.  
  6949. :cond_24c
  6950. const/4 v9, 0x0
  6951.  
  6952. goto/16 :goto_107
  6953.  
  6954. .line 2584
  6955. :cond_24f
  6956. const/4 v9, 0x0
  6957.  
  6958. goto/16 :goto_126
  6959.  
  6960. :cond_252
  6961. const/4 v9, 0x0
  6962.  
  6963. goto/16 :goto_135
  6964.  
  6965. .line 2588
  6966. :cond_255
  6967. const/4 v9, 0x0
  6968.  
  6969. goto/16 :goto_176
  6970.  
  6971. :cond_258
  6972. const/4 v9, 0x0
  6973.  
  6974. goto/16 :goto_185
  6975.  
  6976. .line 2592
  6977. :cond_25b
  6978. const/4 v8, 0x0
  6979.  
  6980. goto/16 :goto_197
  6981.  
  6982. .line 2627
  6983. .restart local v2 #err:I
  6984. .restart local v3 #identity:J
  6985. .restart local v7 #reallyTurnScreenOn:Z
  6986. .restart local v8 #stateChanged:Z
  6987. :catch_25e
  6988. move-exception v1
  6989.  
  6990. .line 2628
  6991. .local v1, e:Landroid/os/RemoteException;
  6992. :try_start_25f
  6993. const-string v9, "PowerManagerService"
  6994.  
  6995. const-string v11, "RemoteException calling noteScreenOn on BatteryStatsService"
  6996.  
  6997. invoke-static {v9, v11, v1}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  6998. :try_end_266
  6999. .catchall {:try_start_25f .. :try_end_266} :catchall_26b
  7000.  
  7001. .line 2630
  7002. :try_start_266
  7003. invoke-static {v3, v4}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  7004.  
  7005. goto/16 :goto_1df
  7006.  
  7007. .end local v1 #e:Landroid/os/RemoteException;
  7008. :catchall_26b
  7009. move-exception v9
  7010.  
  7011. invoke-static {v3, v4}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  7012.  
  7013. throw v9
  7014.  
  7015. .line 2633
  7016. .end local v2 #err:I
  7017. .end local v3 #identity:J
  7018. :cond_270
  7019. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->clearLightSensorValue()V
  7020.  
  7021. .line 2634
  7022. const/4 v9, 0x0
  7023.  
  7024. invoke-direct {p0, v9}, Lcom/android/server/PowerManagerService;->setScreenStateLocked(Z)I
  7025.  
  7026. .line 2636
  7027. const/4 v2, 0x0
  7028.  
  7029. .restart local v2 #err:I
  7030. goto/16 :goto_1df
  7031.  
  7032. .line 2658
  7033. .end local v2 #err:I
  7034. .end local v7 #reallyTurnScreenOn:Z
  7035. :cond_27a
  7036. const/4 v9, 0x1
  7037.  
  7038. iput-boolean v9, p0, Lcom/android/server/PowerManagerService;->inPowerOff:Z
  7039.  
  7040. .line 2661
  7041. if-eqz v8, :cond_285
  7042.  
  7043. .line 2662
  7044. const/4 v9, 0x0
  7045.  
  7046. move/from16 v0, p1
  7047.  
  7048. invoke-direct {p0, v0, v9}, Lcom/android/server/PowerManagerService;->updateLightsLocked(II)V
  7049.  
  7050. .line 2666
  7051. :cond_285
  7052. iget-object v9, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  7053.  
  7054. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mAutoBrightnessTask:Ljava/lang/Runnable;
  7055.  
  7056. invoke-virtual {v9, v11}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
  7057.  
  7058. .line 2667
  7059. const/4 v9, 0x0
  7060.  
  7061. iput-boolean v9, p0, Lcom/android/server/PowerManagerService;->mLightSensorPendingDecrease:Z
  7062.  
  7063. .line 2668
  7064. const/4 v9, 0x0
  7065.  
  7066. iput-boolean v9, p0, Lcom/android/server/PowerManagerService;->mLightSensorPendingIncrease:Z
  7067.  
  7068. .line 2669
  7069. invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
  7070.  
  7071. move-result-wide v11
  7072.  
  7073. iput-wide v11, p0, Lcom/android/server/PowerManagerService;->mScreenOffTime:J
  7074.  
  7075. .line 2670
  7076. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  7077. :try_end_29b
  7078. .catchall {:try_start_266 .. :try_end_29b} :catchall_23a
  7079.  
  7080. move-result-wide v3
  7081.  
  7082. .line 2672
  7083. .restart local v3 #identity:J
  7084. :try_start_29c
  7085. iget-object v9, p0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  7086.  
  7087. invoke-interface {v9}, Lcom/android/internal/app/IBatteryStats;->noteScreenOff()V
  7088. :try_end_2a1
  7089. .catchall {:try_start_29c .. :try_end_2a1} :catchall_2e4
  7090. .catch Landroid/os/RemoteException; {:try_start_29c .. :try_end_2a1} :catch_2d8
  7091.  
  7092. .line 2676
  7093. :try_start_2a1
  7094. invoke-static {v3, v4}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  7095.  
  7096. .line 2678
  7097. :goto_2a4
  7098. iget v9, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  7099.  
  7100. and-int/lit8 v9, v9, -0x2
  7101.  
  7102. iput v9, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  7103.  
  7104. .line 2679
  7105. move/from16 v0, p3
  7106.  
  7107. iput v0, p0, Lcom/android/server/PowerManagerService;->mScreenOffReason:I
  7108.  
  7109. .line 2680
  7110. iget-object v9, p0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  7111.  
  7112. iget-boolean v9, v9, Lcom/android/server/PowerManagerService$BrightnessState;->animating:Z
  7113.  
  7114. if-nez v9, :cond_2e9
  7115.  
  7116. .line 2681
  7117. invoke-static {}, Lcom/android/internal/policy/impl/KeyguardViewMediator;->isKeyguardEnabled()Z
  7118.  
  7119. move-result v9
  7120.  
  7121. if-eqz v9, :cond_2c2
  7122.  
  7123. iget-object v9, p0, Lcom/android/server/PowerManagerService;->mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;
  7124.  
  7125. invoke-virtual {v9}, Lcom/android/internal/widget/LockPatternUtils;->isLockScreenDisabled()Z
  7126.  
  7127. move-result v9
  7128.  
  7129. if-eqz v9, :cond_2ca
  7130.  
  7131. .line 2683
  7132. :cond_2c2
  7133. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->clearLightSensorValue()V
  7134.  
  7135. .line 2684
  7136. move/from16 v0, p3
  7137.  
  7138. invoke-direct {p0, v0}, Lcom/android/server/PowerManagerService;->screenOffFinishedAnimatingLocked(I)I
  7139.  
  7140. .line 2686
  7141. :cond_2ca
  7142. const/4 v9, 0x0
  7143.  
  7144. move/from16 v0, p3
  7145.  
  7146. invoke-direct {p0, v9, v0}, Lcom/android/server/PowerManagerService;->sendNotificationLocked(ZI)V
  7147.  
  7148. .line 2687
  7149. const/4 v9, 0x1
  7150.  
  7151. iput-boolean v9, p0, Lcom/android/server/PowerManagerService;->mWaitKeyguardDraw:Z
  7152.  
  7153. .line 2692
  7154. :goto_2d3
  7155. const/4 v9, 0x0
  7156.  
  7157. iput-boolean v9, p0, Lcom/android/server/PowerManagerService;->inPowerOff:Z
  7158. :try_end_2d6
  7159. .catchall {:try_start_2a1 .. :try_end_2d6} :catchall_23a
  7160.  
  7161. goto/16 :goto_22b
  7162.  
  7163. .line 2673
  7164. :catch_2d8
  7165. move-exception v1
  7166.  
  7167. .line 2674
  7168. .restart local v1 #e:Landroid/os/RemoteException;
  7169. :try_start_2d9
  7170. const-string v9, "PowerManagerService"
  7171.  
  7172. const-string v11, "RemoteException calling noteScreenOff on BatteryStatsService"
  7173.  
  7174. invoke-static {v9, v11, v1}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  7175. :try_end_2e0
  7176. .catchall {:try_start_2d9 .. :try_end_2e0} :catchall_2e4
  7177.  
  7178. .line 2676
  7179. :try_start_2e0
  7180. invoke-static {v3, v4}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  7181.  
  7182. goto :goto_2a4
  7183.  
  7184. .end local v1 #e:Landroid/os/RemoteException;
  7185. :catchall_2e4
  7186. move-exception v9
  7187.  
  7188. invoke-static {v3, v4}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  7189.  
  7190. throw v9
  7191.  
  7192. .line 2689
  7193. :cond_2e9
  7194. const/4 v2, 0x0
  7195.  
  7196. .line 2690
  7197. .restart local v2 #err:I
  7198. const-wide/16 v11, 0x0
  7199.  
  7200. iput-wide v11, p0, Lcom/android/server/PowerManagerService;->mLastTouchDown:J
  7201.  
  7202. goto :goto_2d3
  7203.  
  7204. .line 2694
  7205. .end local v2 #err:I
  7206. .end local v3 #identity:J
  7207. :cond_2ef
  7208. if-eqz v8, :cond_22b
  7209.  
  7210. .line 2696
  7211. const/4 v9, 0x0
  7212.  
  7213. move/from16 v0, p1
  7214.  
  7215. invoke-direct {p0, v0, v9}, Lcom/android/server/PowerManagerService;->updateLightsLocked(II)V
  7216. :try_end_2f7
  7217. .catchall {:try_start_2e0 .. :try_end_2f7} :catchall_23a
  7218.  
  7219. goto/16 :goto_22b
  7220. .end method
  7221.  
  7222. .method private setPreviewTexture(Landroid/graphics/SurfaceTexture;)V
  7223. .registers 5
  7224. .parameter "surfacetexture"
  7225.  
  7226. .prologue
  7227. .line 1685
  7228. :try_start_0
  7229. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  7230.  
  7231. invoke-virtual {v1, p1}, Landroid/hardware/Camera;->setPreviewTexture(Landroid/graphics/SurfaceTexture;)V
  7232. :try_end_5
  7233. .catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_5} :catch_6
  7234.  
  7235. .line 1690
  7236. return-void
  7237.  
  7238. .line 1686
  7239. :catch_6
  7240. move-exception v0
  7241.  
  7242. .line 1687
  7243. .local v0, ex:Ljava/lang/Throwable;
  7244. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->closeCamera()V
  7245.  
  7246. .line 1688
  7247. new-instance v1, Ljava/lang/RuntimeException;
  7248.  
  7249. const-string v2, "setPreviewTexture failed"
  7250.  
  7251. invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
  7252.  
  7253. throw v1
  7254. .end method
  7255.  
  7256. .method private setScreenBrightnessMode(I)V
  7257. .registers 9
  7258. .parameter "mode"
  7259.  
  7260. .prologue
  7261. const/4 v2, 0x0
  7262.  
  7263. const/4 v1, 0x1
  7264.  
  7265. .line 3719
  7266. const-string v3, "PowerManagerService"
  7267.  
  7268. new-instance v4, Ljava/lang/StringBuilder;
  7269.  
  7270. invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
  7271.  
  7272. const-string v5, "<<<<< setScreenBrightnessMode >>>>> mode="
  7273.  
  7274. invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7275.  
  7276. move-result-object v4
  7277.  
  7278. invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  7279.  
  7280. move-result-object v4
  7281.  
  7282. invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  7283.  
  7284. move-result-object v4
  7285.  
  7286. invoke-static {v3, v4}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  7287.  
  7288. .line 3721
  7289. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  7290.  
  7291. monitor-enter v3
  7292.  
  7293. .line 3722
  7294. if-ne p1, v1, :cond_69
  7295.  
  7296. move v0, v1
  7297.  
  7298. .line 3723
  7299. .local v0, enabled:Z
  7300. :goto_20
  7301. :try_start_20
  7302. iget-boolean v4, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  7303.  
  7304. if-eqz v4, :cond_67
  7305.  
  7306. iget-boolean v4, p0, Lcom/android/server/PowerManagerService;->mAutoBrightessEnabled:Z
  7307.  
  7308. if-eq v4, v0, :cond_67
  7309.  
  7310. .line 3724
  7311. iput-boolean v0, p0, Lcom/android/server/PowerManagerService;->mAutoBrightessEnabled:Z
  7312.  
  7313. .line 3726
  7314. iget-boolean v4, p0, Lcom/android/server/PowerManagerService;->mIsLowBattery:Z
  7315.  
  7316. if-nez v4, :cond_67
  7317.  
  7318. iget-boolean v4, p0, Lcom/android/server/PowerManagerService;->mBootCompleted:Z
  7319.  
  7320. if-eqz v4, :cond_67
  7321.  
  7322. .line 3728
  7323. const-string v4, "PowerManagerService"
  7324.  
  7325. new-instance v5, Ljava/lang/StringBuilder;
  7326.  
  7327. invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
  7328.  
  7329. const-string v6, "<<<<< FEATURE_DISABLE_LS >>>> LCD Mode Changed: new_mode="
  7330.  
  7331. invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7332.  
  7333. move-result-object v5
  7334.  
  7335. iget-boolean v6, p0, Lcom/android/server/PowerManagerService;->mAutoBrightessEnabled:Z
  7336.  
  7337. invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  7338.  
  7339. move-result-object v5
  7340.  
  7341. invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  7342.  
  7343. move-result-object v5
  7344.  
  7345. invoke-static {v4, v5}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  7346.  
  7347. .line 3730
  7348. iget-boolean v4, p0, Lcom/android/server/PowerManagerService;->mAutoBrightessEnabled:Z
  7349.  
  7350. if-eqz v4, :cond_6b
  7351.  
  7352. invoke-virtual {p0}, Lcom/android/server/PowerManagerService;->isScreenOn()Z
  7353.  
  7354. move-result v4
  7355.  
  7356. if-eqz v4, :cond_6b
  7357.  
  7358. :goto_56
  7359. invoke-direct {p0, v1}, Lcom/android/server/PowerManagerService;->enableLightSensorLocked(Z)V
  7360.  
  7361. .line 3731
  7362. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mAutoBrightessEnabled:Z
  7363.  
  7364. if-nez v1, :cond_67
  7365.  
  7366. .line 3736
  7367. const/high16 v1, -0x4080
  7368.  
  7369. iput v1, p0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  7370.  
  7371. .line 3737
  7372. const/4 v1, -0x1
  7373.  
  7374. iput v1, p0, Lcom/android/server/PowerManagerService;->mHighestLightSensorValue:I
  7375.  
  7376. .line 3738
  7377. const/4 v1, -0x1
  7378.  
  7379. iput v1, p0, Lcom/android/server/PowerManagerService;->mLightSensorScreenBrightnessWait:I
  7380.  
  7381. .line 3742
  7382. :cond_67
  7383. monitor-exit v3
  7384.  
  7385. .line 3743
  7386. return-void
  7387.  
  7388. .end local v0 #enabled:Z
  7389. :cond_69
  7390. move v0, v2
  7391.  
  7392. .line 3722
  7393. goto :goto_20
  7394.  
  7395. .restart local v0 #enabled:Z
  7396. :cond_6b
  7397. move v1, v2
  7398.  
  7399. .line 3730
  7400. goto :goto_56
  7401.  
  7402. .line 3742
  7403. :catchall_6d
  7404. move-exception v1
  7405.  
  7406. monitor-exit v3
  7407. :try_end_6f
  7408. .catchall {:try_start_20 .. :try_end_6f} :catchall_6d
  7409.  
  7410. throw v1
  7411. .end method
  7412.  
  7413. .method private setScreenOffTimeoutsLocked()V
  7414. .registers 5
  7415.  
  7416. .prologue
  7417. const/4 v3, 0x0
  7418.  
  7419. const/4 v2, -0x1
  7420.  
  7421. .line 3751
  7422. iget v1, p0, Lcom/android/server/PowerManagerService;->mPokey:I
  7423.  
  7424. and-int/lit8 v1, v1, 0x2
  7425.  
  7426. if-eqz v1, :cond_4f
  7427.  
  7428. .line 3752
  7429. iget v1, p0, Lcom/android/server/PowerManagerService;->mShortKeylightDelay:I
  7430.  
  7431. iput v1, p0, Lcom/android/server/PowerManagerService;->mKeylightDelay:I
  7432.  
  7433. .line 3753
  7434. iput v2, p0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  7435.  
  7436. .line 3754
  7437. iput v3, p0, Lcom/android/server/PowerManagerService;->mScreenOffDelay:I
  7438.  
  7439. .line 3784
  7440. :goto_10
  7441. const-string v1, "PowerManagerService"
  7442.  
  7443. new-instance v2, Ljava/lang/StringBuilder;
  7444.  
  7445. invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
  7446.  
  7447. const-string v3, "setScreenOffTimeouts mKeylightDelay="
  7448.  
  7449. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7450.  
  7451. move-result-object v2
  7452.  
  7453. iget v3, p0, Lcom/android/server/PowerManagerService;->mKeylightDelay:I
  7454.  
  7455. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  7456.  
  7457. move-result-object v2
  7458.  
  7459. const-string v3, " mDimDelay="
  7460.  
  7461. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7462.  
  7463. move-result-object v2
  7464.  
  7465. iget v3, p0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  7466.  
  7467. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  7468.  
  7469. move-result-object v2
  7470.  
  7471. const-string v3, " mScreenOffDelay="
  7472.  
  7473. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7474.  
  7475. move-result-object v2
  7476.  
  7477. iget v3, p0, Lcom/android/server/PowerManagerService;->mScreenOffDelay:I
  7478.  
  7479. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  7480.  
  7481. move-result-object v2
  7482.  
  7483. const-string v3, " mDimScreen="
  7484.  
  7485. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7486.  
  7487. move-result-object v2
  7488.  
  7489. iget-boolean v3, p0, Lcom/android/server/PowerManagerService;->mDimScreen:Z
  7490.  
  7491. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  7492.  
  7493. move-result-object v2
  7494.  
  7495. invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  7496.  
  7497. move-result-object v2
  7498.  
  7499. invoke-static {v1, v2}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  7500.  
  7501. .line 3788
  7502. return-void
  7503.  
  7504. .line 3755
  7505. :cond_4f
  7506. iget v1, p0, Lcom/android/server/PowerManagerService;->mPokey:I
  7507.  
  7508. and-int/lit8 v1, v1, 0x4
  7509.  
  7510. if-eqz v1, :cond_5e
  7511.  
  7512. .line 3756
  7513. const/16 v1, 0x3a98
  7514.  
  7515. iput v1, p0, Lcom/android/server/PowerManagerService;->mKeylightDelay:I
  7516.  
  7517. .line 3757
  7518. iput v2, p0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  7519.  
  7520. .line 3758
  7521. iput v3, p0, Lcom/android/server/PowerManagerService;->mScreenOffDelay:I
  7522.  
  7523. goto :goto_10
  7524.  
  7525. .line 3760
  7526. :cond_5e
  7527. iget v0, p0, Lcom/android/server/PowerManagerService;->mScreenOffTimeoutSetting:I
  7528.  
  7529. .line 3761
  7530. .local v0, totalDelay:I
  7531. iget v1, p0, Lcom/android/server/PowerManagerService;->mMaximumScreenOffTimeout:I
  7532.  
  7533. if-le v0, v1, :cond_66
  7534.  
  7535. .line 3762
  7536. iget v0, p0, Lcom/android/server/PowerManagerService;->mMaximumScreenOffTimeout:I
  7537.  
  7538. .line 3764
  7539. :cond_66
  7540. const/16 v1, 0x1770
  7541.  
  7542. iput v1, p0, Lcom/android/server/PowerManagerService;->mKeylightDelay:I
  7543.  
  7544. .line 3765
  7545. if-gez v0, :cond_83
  7546.  
  7547. .line 3767
  7548. iget v1, p0, Lcom/android/server/PowerManagerService;->mMaximumScreenOffTimeout:I
  7549.  
  7550. iput v1, p0, Lcom/android/server/PowerManagerService;->mScreenOffDelay:I
  7551.  
  7552. .line 3776
  7553. :goto_70
  7554. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mDimScreen:Z
  7555.  
  7556. if-eqz v1, :cond_91
  7557.  
  7558. const/16 v1, 0x32c8
  7559.  
  7560. if-lt v0, v1, :cond_91
  7561.  
  7562. .line 3777
  7563. iget v1, p0, Lcom/android/server/PowerManagerService;->mScreenOffDelay:I
  7564.  
  7565. add-int/lit16 v1, v1, -0x1b58
  7566.  
  7567. iput v1, p0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  7568.  
  7569. .line 3778
  7570. const/16 v1, 0x1b58
  7571.  
  7572. iput v1, p0, Lcom/android/server/PowerManagerService;->mScreenOffDelay:I
  7573.  
  7574. goto :goto_10
  7575.  
  7576. .line 3768
  7577. :cond_83
  7578. iget v1, p0, Lcom/android/server/PowerManagerService;->mKeylightDelay:I
  7579.  
  7580. if-ge v1, v0, :cond_8e
  7581.  
  7582. .line 3772
  7583. iget v1, p0, Lcom/android/server/PowerManagerService;->mKeylightDelay:I
  7584.  
  7585. sub-int v1, v0, v1
  7586.  
  7587. iput v1, p0, Lcom/android/server/PowerManagerService;->mScreenOffDelay:I
  7588.  
  7589. goto :goto_70
  7590.  
  7591. .line 3774
  7592. :cond_8e
  7593. iput v3, p0, Lcom/android/server/PowerManagerService;->mScreenOffDelay:I
  7594.  
  7595. goto :goto_70
  7596.  
  7597. .line 3780
  7598. :cond_91
  7599. iput v2, p0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  7600.  
  7601. goto/16 :goto_10
  7602. .end method
  7603.  
  7604. .method private setScreenStateLocked(Z)I
  7605. .registers 6
  7606. .parameter "on"
  7607.  
  7608. .prologue
  7609. const/4 v3, 0x0
  7610.  
  7611. .line 2478
  7612. const/4 v0, 0x0
  7613.  
  7614. .line 2484
  7615. .local v0, err:I
  7616. if-eqz p1, :cond_74
  7617.  
  7618. .line 2485
  7619. iget v1, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  7620.  
  7621. and-int/lit8 v1, v1, 0x1
  7622.  
  7623. if-eqz v1, :cond_e
  7624.  
  7625. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mSkippedScreenOn:Z
  7626.  
  7627. if-eqz v1, :cond_13
  7628.  
  7629. .line 2498
  7630. :cond_e
  7631. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  7632.  
  7633. invoke-virtual {v1, v3}, Lcom/android/server/PowerManagerService$BrightnessState;->forceValueLocked(I)V
  7634.  
  7635. .line 2506
  7636. :cond_13
  7637. :goto_13
  7638. const-string v1, "1"
  7639.  
  7640. const-string v2, "sys.ipo.shutdown"
  7641.  
  7642. invoke-static {v2}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
  7643.  
  7644. move-result-object v2
  7645.  
  7646. invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  7647.  
  7648. move-result v1
  7649.  
  7650. if-eqz v1, :cond_78
  7651.  
  7652. .line 2507
  7653. sget-boolean v1, Lcom/android/server/PowerManagerService;->mShutdownConfig:Z
  7654.  
  7655. if-nez v1, :cond_2f
  7656.  
  7657. .line 2508
  7658. const-string v1, "sys.ipo.pmsShutdown"
  7659.  
  7660. const-string v2, "1"
  7661.  
  7662. invoke-static {v1, v2}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
  7663.  
  7664. .line 2509
  7665. const/4 v1, 0x1
  7666.  
  7667. sput-boolean v1, Lcom/android/server/PowerManagerService;->mShutdownConfig:Z
  7668.  
  7669. .line 2511
  7670. :cond_2f
  7671. const/4 v0, 0x0
  7672.  
  7673. .line 2519
  7674. :goto_30
  7675. const-string v1, "PowerManagerService"
  7676.  
  7677. new-instance v2, Ljava/lang/StringBuilder;
  7678.  
  7679. invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
  7680.  
  7681. const-string v3, "setScreenState:"
  7682.  
  7683. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7684.  
  7685. move-result-object v2
  7686.  
  7687. invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  7688.  
  7689. move-result-object v2
  7690.  
  7691. invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  7692.  
  7693. move-result-object v2
  7694.  
  7695. invoke-static {v1, v2}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
  7696.  
  7697. .line 2520
  7698. if-nez v0, :cond_73
  7699.  
  7700. .line 2521
  7701. if-eqz p1, :cond_7f
  7702.  
  7703. invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
  7704.  
  7705. move-result-wide v1
  7706.  
  7707. :goto_50
  7708. iput-wide v1, p0, Lcom/android/server/PowerManagerService;->mLastScreenOnTime:J
  7709.  
  7710. .line 2522
  7711. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  7712.  
  7713. if-eqz v1, :cond_73
  7714.  
  7715. .line 2523
  7716. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mAutoBrightessEnabled:Z
  7717.  
  7718. if-eqz v1, :cond_5e
  7719.  
  7720. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mIsLowBattery:Z
  7721.  
  7722. if-eqz v1, :cond_64
  7723.  
  7724. :cond_5e
  7725. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mLightSensorEnabled:Z
  7726.  
  7727. if-eqz v1, :cond_73
  7728.  
  7729. if-nez p1, :cond_73
  7730.  
  7731. .line 2524
  7732. :cond_64
  7733. invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->enableLightSensorLocked(Z)V
  7734.  
  7735. .line 2525
  7736. if-nez p1, :cond_73
  7737.  
  7738. .line 2527
  7739. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mButtonLight:Lcom/android/server/LightsService$Light;
  7740.  
  7741. invoke-virtual {v1}, Lcom/android/server/LightsService$Light;->turnOff()V
  7742.  
  7743. .line 2528
  7744. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mKeyboardLight:Lcom/android/server/LightsService$Light;
  7745.  
  7746. invoke-virtual {v1}, Lcom/android/server/LightsService$Light;->turnOff()V
  7747.  
  7748. .line 2533
  7749. :cond_73
  7750. return v0
  7751.  
  7752. .line 2502
  7753. :cond_74
  7754. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->dumpWakeLockLocked()V
  7755.  
  7756. goto :goto_13
  7757.  
  7758. .line 2513
  7759. :cond_78
  7760. sput-boolean v3, Lcom/android/server/PowerManagerService;->mShutdownConfig:Z
  7761.  
  7762. .line 2514
  7763. invoke-static {p1}, Landroid/os/Power;->setScreenState(Z)I
  7764.  
  7765. move-result v0
  7766.  
  7767. goto :goto_30
  7768.  
  7769. .line 2521
  7770. :cond_7f
  7771. const-wide/16 v1, 0x0
  7772.  
  7773. goto :goto_50
  7774. .end method
  7775.  
  7776. .method private setTimeoutLocked(JI)V
  7777. .registers 10
  7778. .parameter "now"
  7779. .parameter "nextState"
  7780.  
  7781. .prologue
  7782. .line 1492
  7783. const-wide/16 v3, -0x1
  7784.  
  7785. move-object v0, p0
  7786.  
  7787. move-wide v1, p1
  7788.  
  7789. move v5, p3
  7790.  
  7791. invoke-direct/range {v0 .. v5}, Lcom/android/server/PowerManagerService;->setTimeoutLocked(JJI)V
  7792.  
  7793. .line 1493
  7794. return-void
  7795. .end method
  7796.  
  7797. .method private setTimeoutLocked(JJI)V
  7798. .registers 20
  7799. .parameter "now"
  7800. .parameter "originalTimeoutOverride"
  7801. .parameter "nextState"
  7802.  
  7803. .prologue
  7804. .line 1499
  7805. move-wide/from16 v4, p3
  7806.  
  7807. .line 1501
  7808. .local v4, timeoutOverride:J
  7809. move-wide/from16 v0, p3
  7810.  
  7811. iput-wide v0, p0, Lcom/android/server/PowerManagerService;->mScantimeoutOverride:J
  7812.  
  7813. .line 1503
  7814. iget-boolean v8, p0, Lcom/android/server/PowerManagerService;->mBootCompleted:Z
  7815.  
  7816. if-eqz v8, :cond_8c
  7817.  
  7818. .line 1504
  7819. iget-object v10, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  7820.  
  7821. monitor-enter v10
  7822.  
  7823. .line 1505
  7824. const-wide/16 v6, 0x0
  7825.  
  7826. .line 1506
  7827. .local v6, when:J
  7828. const-wide/16 v8, 0x0
  7829.  
  7830. cmp-long v8, v4, v8
  7831.  
  7832. if-gtz v8, :cond_1c7
  7833.  
  7834. .line 1507
  7835. packed-switch p5, :pswitch_data_1f8
  7836.  
  7837. .line 1577
  7838. :pswitch_18
  7839. move-wide v6, p1
  7840.  
  7841. .line 1603
  7842. :goto_19
  7843. :try_start_19
  7844. const-string v8, "PowerManagerService"
  7845.  
  7846. new-instance v9, Ljava/lang/StringBuilder;
  7847.  
  7848. invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
  7849.  
  7850. const-string v11, "setTimeoutLocked now="
  7851.  
  7852. invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7853.  
  7854. move-result-object v9
  7855.  
  7856. move-wide v0, p1
  7857.  
  7858. invoke-virtual {v9, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  7859.  
  7860. move-result-object v9
  7861.  
  7862. const-string v11, " timeoutOverride="
  7863.  
  7864. invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7865.  
  7866. move-result-object v9
  7867.  
  7868. invoke-virtual {v9, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  7869.  
  7870. move-result-object v9
  7871.  
  7872. const-string v11, " nextState="
  7873.  
  7874. invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7875.  
  7876. move-result-object v9
  7877.  
  7878. move/from16 v0, p5
  7879.  
  7880. invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  7881.  
  7882. move-result-object v9
  7883.  
  7884. const-string v11, " when="
  7885.  
  7886. invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7887.  
  7888. move-result-object v9
  7889.  
  7890. invoke-virtual {v9, v6, v7}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  7891.  
  7892. move-result-object v9
  7893.  
  7894. invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  7895.  
  7896. move-result-object v9
  7897.  
  7898. invoke-static {v8, v9}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  7899.  
  7900. .line 1608
  7901. iget-boolean v8, p0, Lcom/android/server/PowerManagerService;->mIsSmartStayOn:Z
  7902.  
  7903. if-eqz v8, :cond_69
  7904.  
  7905. iget-boolean v8, p0, Lcom/android/server/PowerManagerService;->mIsSupportSmartStay:Z
  7906.  
  7907. if-eqz v8, :cond_69
  7908.  
  7909. iget-boolean v8, p0, Lcom/android/server/PowerManagerService;->mUserActivityAllowed:Z
  7910.  
  7911. if-eqz v8, :cond_69
  7912.  
  7913. iget-boolean v8, p0, Lcom/android/server/PowerManagerService;->mBootCompleted:Z
  7914.  
  7915. if-eqz v8, :cond_69
  7916.  
  7917. iget v8, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  7918.  
  7919. const/4 v9, 0x1
  7920.  
  7921. if-ne v8, v9, :cond_69
  7922.  
  7923. if-eqz p5, :cond_8b
  7924.  
  7925. .line 1611
  7926. :cond_69
  7927. iget-object v8, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  7928.  
  7929. iget-object v9, p0, Lcom/android/server/PowerManagerService;->mTimeoutTask:Lcom/android/server/PowerManagerService$TimeoutTask;
  7930.  
  7931. invoke-virtual {v8, v9}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
  7932.  
  7933. .line 1612
  7934. iget-object v8, p0, Lcom/android/server/PowerManagerService;->mTimeoutTask:Lcom/android/server/PowerManagerService$TimeoutTask;
  7935.  
  7936. move/from16 v0, p5
  7937.  
  7938. iput v0, v8, Lcom/android/server/PowerManagerService$TimeoutTask;->nextState:I
  7939.  
  7940. .line 1613
  7941. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mTimeoutTask:Lcom/android/server/PowerManagerService$TimeoutTask;
  7942.  
  7943. const-wide/16 v8, 0x0
  7944.  
  7945. cmp-long v8, v4, v8
  7946.  
  7947. if-lez v8, :cond_1f3
  7948.  
  7949. sub-long v8, p3, v4
  7950.  
  7951. :goto_80
  7952. iput-wide v8, v11, Lcom/android/server/PowerManagerService$TimeoutTask;->remainingTimeoutOverride:J
  7953.  
  7954. .line 1616
  7955. iget-object v8, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  7956.  
  7957. iget-object v9, p0, Lcom/android/server/PowerManagerService;->mTimeoutTask:Lcom/android/server/PowerManagerService$TimeoutTask;
  7958.  
  7959. invoke-virtual {v8, v9, v6, v7}, Landroid/os/Handler;->postAtTime(Ljava/lang/Runnable;J)Z
  7960.  
  7961. .line 1617
  7962. iput-wide v6, p0, Lcom/android/server/PowerManagerService;->mNextTimeout:J
  7963.  
  7964. .line 1623
  7965. :cond_8b
  7966. monitor-exit v10
  7967.  
  7968. .line 1625
  7969. .end local v6 #when:J
  7970. :cond_8c
  7971. :goto_8c
  7972. return-void
  7973.  
  7974. .line 1510
  7975. .restart local v6 #when:J
  7976. :pswitch_8d
  7977. iget v8, p0, Lcom/android/server/PowerManagerService;->mKeylightDelay:I
  7978.  
  7979. int-to-long v8, v8
  7980.  
  7981. add-long v6, p1, v8
  7982.  
  7983. .line 1511
  7984. goto :goto_19
  7985.  
  7986. .line 1513
  7987. :pswitch_93
  7988. iget v8, p0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  7989.  
  7990. if-ltz v8, :cond_9e
  7991.  
  7992. .line 1514
  7993. iget v8, p0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  7994.  
  7995. int-to-long v8, v8
  7996.  
  7997. add-long v6, p1, v8
  7998.  
  7999. .line 1515
  8000. goto/16 :goto_19
  8001.  
  8002. .line 1517
  8003. :cond_9e
  8004. const-string v8, "PowerManagerService"
  8005.  
  8006. new-instance v9, Ljava/lang/StringBuilder;
  8007.  
  8008. invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
  8009.  
  8010. const-string v11, "mDimDelay="
  8011.  
  8012. invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8013.  
  8014. move-result-object v9
  8015.  
  8016. iget v11, p0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  8017.  
  8018. invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  8019.  
  8020. move-result-object v9
  8021.  
  8022. const-string v11, " while trying to dim"
  8023.  
  8024. invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8025.  
  8026. move-result-object v9
  8027.  
  8028. invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8029.  
  8030. move-result-object v9
  8031.  
  8032. invoke-static {v8, v9}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
  8033.  
  8034. .line 1520
  8035. :pswitch_be
  8036. iget-object v9, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  8037.  
  8038. monitor-enter v9
  8039. :try_end_c1
  8040. .catchall {:try_start_19 .. :try_end_c1} :catchall_180
  8041.  
  8042. .line 1521
  8043. :try_start_c1
  8044. iget v8, p0, Lcom/android/server/PowerManagerService;->mScreenOffDelay:I
  8045.  
  8046. int-to-long v11, v8
  8047.  
  8048. add-long v6, p1, v11
  8049.  
  8050. .line 1528
  8051. iget-boolean v8, p0, Lcom/android/server/PowerManagerService;->mIsSmartStayOn:Z
  8052.  
  8053. if-eqz v8, :cond_1c1
  8054.  
  8055. iget-boolean v8, p0, Lcom/android/server/PowerManagerService;->mIsSupportSmartStay:Z
  8056.  
  8057. if-eqz v8, :cond_1c1
  8058.  
  8059. iget-boolean v8, p0, Lcom/android/server/PowerManagerService;->mUserActivityAllowed:Z
  8060.  
  8061. if-eqz v8, :cond_1c1
  8062.  
  8063. iget-boolean v8, p0, Lcom/android/server/PowerManagerService;->mBootCompleted:Z
  8064.  
  8065. if-eqz v8, :cond_1c1
  8066.  
  8067. iget v8, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  8068.  
  8069. const/4 v11, 0x1
  8070.  
  8071. if-ne v8, v11, :cond_1c1
  8072.  
  8073. if-nez p5, :cond_1c1
  8074.  
  8075. .line 1530
  8076. invoke-virtual {p0}, Lcom/android/server/PowerManagerService;->getFrontCameraId()I
  8077.  
  8078. move-result v8
  8079.  
  8080. iput v8, p0, Lcom/android/server/PowerManagerService;->mCameraId:I
  8081.  
  8082. .line 1531
  8083. const-string v8, "pengzhongdong"
  8084.  
  8085. new-instance v11, Ljava/lang/StringBuilder;
  8086.  
  8087. invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
  8088.  
  8089. const-string v12, "mCameraId = "
  8090.  
  8091. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8092.  
  8093. move-result-object v11
  8094.  
  8095. iget v12, p0, Lcom/android/server/PowerManagerService;->mCameraId:I
  8096.  
  8097. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  8098.  
  8099. move-result-object v11
  8100.  
  8101. invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8102.  
  8103. move-result-object v11
  8104.  
  8105. invoke-static {v8, v11}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
  8106.  
  8107. .line 1532
  8108. const/4 v8, 0x1
  8109.  
  8110. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mTextures:[I
  8111.  
  8112. const/4 v12, 0x0
  8113.  
  8114. invoke-static {v8, v11, v12}, Landroid/opengl/GLES20;->glGenTextures(I[II)V
  8115.  
  8116. .line 1533
  8117. iget-object v8, p0, Lcom/android/server/PowerManagerService;->mTextures:[I
  8118.  
  8119. const/4 v11, 0x0
  8120.  
  8121. aget v8, v8, v11
  8122.  
  8123. iput v8, p0, Lcom/android/server/PowerManagerService;->mTextureId:I
  8124.  
  8125. .line 1534
  8126. new-instance v8, Landroid/graphics/SurfaceTexture;
  8127.  
  8128. iget v11, p0, Lcom/android/server/PowerManagerService;->mTextureId:I
  8129.  
  8130. invoke-direct {v8, v11}, Landroid/graphics/SurfaceTexture;-><init>(I)V
  8131.  
  8132. iput-object v8, p0, Lcom/android/server/PowerManagerService;->mTexture:Landroid/graphics/SurfaceTexture;
  8133.  
  8134. .line 1535
  8135. const-string v8, "undernormal"
  8136.  
  8137. const-string v11, "follow the custom pation"
  8138.  
  8139. invoke-static {v8, v11}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
  8140.  
  8141. .line 1536
  8142. iget v8, p0, Lcom/android/server/PowerManagerService;->mScreenOffDelay:I
  8143.  
  8144. int-to-long v11, v8
  8145.  
  8146. add-long/2addr v11, p1
  8147.  
  8148. iput-wide v11, p0, Lcom/android/server/PowerManagerService;->mScanWhen:J
  8149.  
  8150. .line 1537
  8151. const-string v8, "pengzhongdong"
  8152.  
  8153. new-instance v11, Ljava/lang/StringBuilder;
  8154.  
  8155. invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
  8156.  
  8157. const-string v12, "mScanWhen = "
  8158.  
  8159. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8160.  
  8161. move-result-object v11
  8162.  
  8163. iget-wide v12, p0, Lcom/android/server/PowerManagerService;->mScanWhen:J
  8164.  
  8165. invoke-virtual {v11, v12, v13}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  8166.  
  8167. move-result-object v11
  8168.  
  8169. const-string v12, "mScanBeginTime = "
  8170.  
  8171. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8172.  
  8173. move-result-object v11
  8174.  
  8175. iget-wide v12, p0, Lcom/android/server/PowerManagerService;->mScanBeginTime:J
  8176.  
  8177. invoke-virtual {v11, v12, v13}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  8178.  
  8179. move-result-object v11
  8180.  
  8181. invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8182.  
  8183. move-result-object v11
  8184.  
  8185. invoke-static {v8, v11}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
  8186. :try_end_147
  8187. .catchall {:try_start_c1 .. :try_end_147} :catchall_1c4
  8188.  
  8189. .line 1540
  8190. :try_start_147
  8191. iget-object v8, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  8192.  
  8193. iget v11, p0, Lcom/android/server/PowerManagerService;->mCameraId:I
  8194.  
  8195. invoke-static {v8, v11}, Lcom/android/server/CameraServiceUtil;->openCamera(Landroid/content/Context;I)Landroid/hardware/Camera;
  8196.  
  8197. move-result-object v8
  8198.  
  8199. iput-object v8, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  8200.  
  8201. .line 1541
  8202. iget-object v8, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  8203.  
  8204. if-eqz v8, :cond_15c
  8205.  
  8206. .line 1542
  8207. const-string v8, "undernormal"
  8208.  
  8209. const-string v11, "open cameradevice success! "
  8210.  
  8211. invoke-static {v8, v11}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
  8212. :try_end_15c
  8213. .catchall {:try_start_147 .. :try_end_15c} :catchall_1c4
  8214. .catch Lcom/android/server/CameraHardwareException; {:try_start_147 .. :try_end_15c} :catch_183
  8215. .catch Lcom/android/server/CameraDisabledException; {:try_start_147 .. :try_end_15c} :catch_1a2
  8216.  
  8217. .line 1564
  8218. :cond_15c
  8219. const/4 v8, 0x2
  8220.  
  8221. :try_start_15d
  8222. new-array v2, v8, [Ljava/lang/String;
  8223.  
  8224. const/4 v8, 0x0
  8225.  
  8226. const-string v11, "continuous-picture"
  8227.  
  8228. aput-object v11, v2, v8
  8229.  
  8230. const/4 v8, 0x1
  8231.  
  8232. const-string v11, "auto"
  8233.  
  8234. aput-object v11, v2, v8
  8235.  
  8236. .line 1565
  8237. .local v2, defaultFocusModes:[Ljava/lang/String;
  8238. new-instance v8, Lcom/android/server/CameraFocusManager;
  8239.  
  8240. invoke-direct {v8, v2}, Lcom/android/server/CameraFocusManager;-><init>([Ljava/lang/String;)V
  8241.  
  8242. iput-object v8, p0, Lcom/android/server/PowerManagerService;->mFocusManager:Lcom/android/server/CameraFocusManager;
  8243.  
  8244. .line 1567
  8245. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->initializeCapabilities()V
  8246.  
  8247. .line 1568
  8248. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->startPreview()V
  8249.  
  8250. .line 1569
  8251. invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
  8252.  
  8253. move-result-wide v11
  8254.  
  8255. iput-wide v11, p0, Lcom/android/server/PowerManagerService;->mScanBeginTime:J
  8256.  
  8257. .line 1570
  8258. monitor-exit v9
  8259. :try_end_17d
  8260. .catchall {:try_start_15d .. :try_end_17d} :catchall_1c4
  8261.  
  8262. :try_start_17d
  8263. monitor-exit v10
  8264.  
  8265. goto/16 :goto_8c
  8266.  
  8267. .line 1623
  8268. .end local v2 #defaultFocusModes:[Ljava/lang/String;
  8269. :catchall_180
  8270. move-exception v8
  8271.  
  8272. monitor-exit v10
  8273. :try_end_182
  8274. .catchall {:try_start_17d .. :try_end_182} :catchall_180
  8275.  
  8276. throw v8
  8277.  
  8278. .line 1543
  8279. :catch_183
  8280. move-exception v3
  8281.  
  8282. .line 1545
  8283. .local v3, e:Lcom/android/server/CameraHardwareException;
  8284. const/4 v8, 0x1
  8285.  
  8286. :try_start_185
  8287. iput-boolean v8, p0, Lcom/android/server/PowerManagerService;->mOpenCameraFail:Z
  8288.  
  8289. .line 1546
  8290. const/4 v8, 0x1
  8291.  
  8292. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mTextures:[I
  8293.  
  8294. const/4 v12, 0x0
  8295.  
  8296. invoke-static {v8, v11, v12}, Landroid/opengl/GLES20;->glDeleteTextures(I[II)V
  8297.  
  8298. .line 1547
  8299. const/4 v8, 0x0
  8300.  
  8301. iput-object v8, p0, Lcom/android/server/PowerManagerService;->mTexture:Landroid/graphics/SurfaceTexture;
  8302.  
  8303. .line 1548
  8304. const/4 v8, 0x0
  8305.  
  8306. iput-object v8, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  8307.  
  8308. .line 1549
  8309. const-string v8, "undernormal"
  8310.  
  8311. const-string v11, "open cameraFail"
  8312.  
  8313. invoke-static {v8, v11}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
  8314.  
  8315. .line 1550
  8316. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->setNextScreenOffTimeOut()V
  8317.  
  8318. .line 1551
  8319. monitor-exit v9
  8320. :try_end_19f
  8321. .catchall {:try_start_185 .. :try_end_19f} :catchall_1c4
  8322.  
  8323. :try_start_19f
  8324. monitor-exit v10
  8325. :try_end_1a0
  8326. .catchall {:try_start_19f .. :try_end_1a0} :catchall_180
  8327.  
  8328. goto/16 :goto_8c
  8329.  
  8330. .line 1553
  8331. .end local v3 #e:Lcom/android/server/CameraHardwareException;
  8332. :catch_1a2
  8333. move-exception v3
  8334.  
  8335. .line 1555
  8336. .local v3, e:Lcom/android/server/CameraDisabledException;
  8337. const/4 v8, 0x1
  8338.  
  8339. :try_start_1a4
  8340. iput-boolean v8, p0, Lcom/android/server/PowerManagerService;->mCameraDisabled:Z
  8341.  
  8342. .line 1556
  8343. const/4 v8, 0x1
  8344.  
  8345. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mTextures:[I
  8346.  
  8347. const/4 v12, 0x0
  8348.  
  8349. invoke-static {v8, v11, v12}, Landroid/opengl/GLES20;->glDeleteTextures(I[II)V
  8350.  
  8351. .line 1557
  8352. const/4 v8, 0x0
  8353.  
  8354. iput-object v8, p0, Lcom/android/server/PowerManagerService;->mTexture:Landroid/graphics/SurfaceTexture;
  8355.  
  8356. .line 1558
  8357. const/4 v8, 0x0
  8358.  
  8359. iput-object v8, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  8360.  
  8361. .line 1559
  8362. const-string v8, "undernormal"
  8363.  
  8364. const-string v11, "camera disable"
  8365.  
  8366. invoke-static {v8, v11}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
  8367.  
  8368. .line 1560
  8369. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->setNextScreenOffTimeOut()V
  8370.  
  8371. .line 1561
  8372. monitor-exit v9
  8373. :try_end_1be
  8374. .catchall {:try_start_1a4 .. :try_end_1be} :catchall_1c4
  8375.  
  8376. :try_start_1be
  8377. monitor-exit v10
  8378. :try_end_1bf
  8379. .catchall {:try_start_1be .. :try_end_1bf} :catchall_180
  8380.  
  8381. goto/16 :goto_8c
  8382.  
  8383. .line 1574
  8384. .end local v3 #e:Lcom/android/server/CameraDisabledException;
  8385. :cond_1c1
  8386. :try_start_1c1
  8387. monitor-exit v9
  8388.  
  8389. goto/16 :goto_19
  8390.  
  8391. :catchall_1c4
  8392. move-exception v8
  8393.  
  8394. monitor-exit v9
  8395. :try_end_1c6
  8396. .catchall {:try_start_1c1 .. :try_end_1c6} :catchall_1c4
  8397.  
  8398. :try_start_1c6
  8399. throw v8
  8400.  
  8401. .line 1582
  8402. :cond_1c7
  8403. iget v8, p0, Lcom/android/server/PowerManagerService;->mScreenOffDelay:I
  8404.  
  8405. int-to-long v8, v8
  8406.  
  8407. cmp-long v8, v4, v8
  8408.  
  8409. if-gtz v8, :cond_1d4
  8410.  
  8411. .line 1583
  8412. add-long v6, p1, v4
  8413.  
  8414. .line 1584
  8415. const/16 p5, 0x0
  8416.  
  8417. .line 1585
  8418. goto/16 :goto_19
  8419.  
  8420. .line 1587
  8421. :cond_1d4
  8422. iget v8, p0, Lcom/android/server/PowerManagerService;->mScreenOffDelay:I
  8423.  
  8424. int-to-long v8, v8
  8425.  
  8426. sub-long/2addr v4, v8
  8427.  
  8428. .line 1589
  8429. iget v8, p0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  8430.  
  8431. if-ltz v8, :cond_1ed
  8432.  
  8433. .line 1590
  8434. iget v8, p0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  8435.  
  8436. int-to-long v8, v8
  8437.  
  8438. cmp-long v8, v4, v8
  8439.  
  8440. if-gtz v8, :cond_1e9
  8441.  
  8442. .line 1591
  8443. add-long v6, p1, v4
  8444.  
  8445. .line 1592
  8446. const/16 p5, 0x1
  8447.  
  8448. .line 1593
  8449. goto/16 :goto_19
  8450.  
  8451. .line 1595
  8452. :cond_1e9
  8453. iget v8, p0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  8454. :try_end_1eb
  8455. .catchall {:try_start_1c6 .. :try_end_1eb} :catchall_180
  8456.  
  8457. int-to-long v8, v8
  8458.  
  8459. sub-long/2addr v4, v8
  8460.  
  8461. .line 1598
  8462. :cond_1ed
  8463. add-long v6, p1, v4
  8464.  
  8465. .line 1599
  8466. const/16 p5, 0x3
  8467.  
  8468. goto/16 :goto_19
  8469.  
  8470. .line 1613
  8471. :cond_1f3
  8472. const-wide/16 v8, -0x1
  8473.  
  8474. goto/16 :goto_80
  8475.  
  8476. .line 1507
  8477. nop
  8478.  
  8479. :pswitch_data_1f8
  8480. .packed-switch 0x0
  8481. :pswitch_be
  8482. :pswitch_93
  8483. :pswitch_18
  8484. :pswitch_8d
  8485. .end packed-switch
  8486. .end method
  8487.  
  8488. .method private shouldDeferScreenOnLocked()Z
  8489. .registers 4
  8490.  
  8491. .prologue
  8492. const/4 v1, 0x1
  8493.  
  8494. .line 2728
  8495. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mPreparingForScreenOn:Z
  8496.  
  8497. if-eqz v2, :cond_6
  8498.  
  8499. .line 2747
  8500. :cond_5
  8501. :goto_5
  8502. return v1
  8503.  
  8504. .line 2739
  8505. :cond_6
  8506. const/4 v0, 0x0
  8507.  
  8508. .local v0, i:I
  8509. :goto_7
  8510. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mBroadcastQueue:[I
  8511.  
  8512. array-length v2, v2
  8513.  
  8514. if-ge v0, v2, :cond_15
  8515.  
  8516. .line 2740
  8517. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mBroadcastQueue:[I
  8518.  
  8519. aget v2, v2, v0
  8520.  
  8521. if-eq v2, v1, :cond_5
  8522.  
  8523. .line 2739
  8524. add-int/lit8 v0, v0, 0x1
  8525.  
  8526. goto :goto_7
  8527.  
  8528. .line 2747
  8529. :cond_15
  8530. const/4 v1, 0x0
  8531.  
  8532. goto :goto_5
  8533. .end method
  8534.  
  8535. .method private shouldLog(J)Z
  8536. .registers 10
  8537. .parameter "time"
  8538.  
  8539. .prologue
  8540. const/4 v0, 0x1
  8541.  
  8542. const/4 v1, 0x0
  8543.  
  8544. .line 3247
  8545. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  8546.  
  8547. monitor-enter v2
  8548.  
  8549. .line 3248
  8550. :try_start_5
  8551. iget-wide v3, p0, Lcom/android/server/PowerManagerService;->mWarningSpewThrottleTime:J
  8552.  
  8553. const-wide/32 v5, 0x36ee80
  8554.  
  8555. add-long/2addr v3, v5
  8556.  
  8557. cmp-long v3, p1, v3
  8558.  
  8559. if-lez v3, :cond_16
  8560.  
  8561. .line 3249
  8562. iput-wide p1, p0, Lcom/android/server/PowerManagerService;->mWarningSpewThrottleTime:J
  8563.  
  8564. .line 3250
  8565. const/4 v1, 0x0
  8566.  
  8567. iput v1, p0, Lcom/android/server/PowerManagerService;->mWarningSpewThrottleCount:I
  8568.  
  8569. .line 3251
  8570. monitor-exit v2
  8571.  
  8572. .line 3256
  8573. :goto_15
  8574. return v0
  8575.  
  8576. .line 3252
  8577. :cond_16
  8578. iget v3, p0, Lcom/android/server/PowerManagerService;->mWarningSpewThrottleCount:I
  8579.  
  8580. const/16 v4, 0x1e
  8581.  
  8582. if-ge v3, v4, :cond_27
  8583.  
  8584. .line 3253
  8585. iget v1, p0, Lcom/android/server/PowerManagerService;->mWarningSpewThrottleCount:I
  8586.  
  8587. add-int/lit8 v1, v1, 0x1
  8588.  
  8589. iput v1, p0, Lcom/android/server/PowerManagerService;->mWarningSpewThrottleCount:I
  8590.  
  8591. .line 3254
  8592. monitor-exit v2
  8593.  
  8594. goto :goto_15
  8595.  
  8596. .line 3258
  8597. :catchall_24
  8598. move-exception v0
  8599.  
  8600. monitor-exit v2
  8601. :try_end_26
  8602. .catchall {:try_start_5 .. :try_end_26} :catchall_24
  8603.  
  8604. throw v0
  8605.  
  8606. .line 3256
  8607. :cond_27
  8608. :try_start_27
  8609. monitor-exit v2
  8610. :try_end_28
  8611. .catchall {:try_start_27 .. :try_end_28} :catchall_24
  8612.  
  8613. move v0, v1
  8614.  
  8615. goto :goto_15
  8616. .end method
  8617.  
  8618. .method private startPreview()V
  8619. .registers 4
  8620.  
  8621. .prologue
  8622. .line 1997
  8623. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mFocusManager:Lcom/android/server/CameraFocusManager;
  8624.  
  8625. invoke-virtual {v1}, Lcom/android/server/CameraFocusManager;->resetTouchFocus()V
  8626.  
  8627. .line 1999
  8628. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  8629.  
  8630. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mErrorCallback:Lcom/android/server/CameraErrorCallback;
  8631.  
  8632. invoke-virtual {v1, v2}, Landroid/hardware/Camera;->setErrorCallback(Landroid/hardware/Camera$ErrorCallback;)V
  8633.  
  8634. .line 2003
  8635. iget v1, p0, Lcom/android/server/PowerManagerService;->mCameraState:I
  8636.  
  8637. if-eqz v1, :cond_13
  8638.  
  8639. .line 2004
  8640. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->stopPreview()V
  8641.  
  8642. .line 2006
  8643. :cond_13
  8644. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mTexture:Landroid/graphics/SurfaceTexture;
  8645.  
  8646. if-eqz v1, :cond_48
  8647.  
  8648. .line 2007
  8649. const-string v1, "undernormal"
  8650.  
  8651. const-string v2, "startPreview mTexture != null"
  8652.  
  8653. invoke-static {v1, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
  8654.  
  8655. .line 2010
  8656. :goto_1e
  8657. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mTexture:Landroid/graphics/SurfaceTexture;
  8658.  
  8659. invoke-direct {p0, v1}, Lcom/android/server/PowerManagerService;->setPreviewTexture(Landroid/graphics/SurfaceTexture;)V
  8660.  
  8661. .line 2012
  8662. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->setDisplayOrientation()V
  8663.  
  8664. .line 2014
  8665. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mFocusManager:Lcom/android/server/CameraFocusManager;
  8666.  
  8667. const/4 v2, 0x0
  8668.  
  8669. invoke-virtual {v1, v2}, Lcom/android/server/CameraFocusManager;->setAeAwbLock(Z)V
  8670.  
  8671. .line 2016
  8672. const/4 v1, -0x1
  8673.  
  8674. invoke-direct {p0, v1}, Lcom/android/server/PowerManagerService;->setCameraParameters(I)V
  8675.  
  8676. .line 2019
  8677. :try_start_30
  8678. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  8679.  
  8680. invoke-virtual {v1}, Landroid/hardware/Camera;->startPreview()V
  8681.  
  8682. .line 2020
  8683. const-string v1, "undernormal"
  8684.  
  8685. const-string v2, "startPreview"
  8686.  
  8687. invoke-static {v1, v2}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
  8688. :try_end_3c
  8689. .catch Ljava/lang/Throwable; {:try_start_30 .. :try_end_3c} :catch_50
  8690.  
  8691. .line 2026
  8692. const/4 v1, 0x1
  8693.  
  8694. iput v1, p0, Lcom/android/server/PowerManagerService;->mCameraState:I
  8695.  
  8696. .line 2027
  8697. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mFocusManager:Lcom/android/server/CameraFocusManager;
  8698.  
  8699. invoke-virtual {v1}, Lcom/android/server/CameraFocusManager;->onPreviewStarted()V
  8700.  
  8701. .line 2029
  8702. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->initializeFirstTime()V
  8703.  
  8704. .line 2030
  8705. return-void
  8706.  
  8707. .line 2009
  8708. :cond_48
  8709. const-string v1, "undernormal"
  8710.  
  8711. const-string v2, "startPreview mTexture == null"
  8712.  
  8713. invoke-static {v1, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
  8714.  
  8715. goto :goto_1e
  8716.  
  8717. .line 2021
  8718. :catch_50
  8719. move-exception v0
  8720.  
  8721. .line 2022
  8722. .local v0, ex:Ljava/lang/Throwable;
  8723. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->closeCamera()V
  8724.  
  8725. .line 2023
  8726. new-instance v1, Ljava/lang/RuntimeException;
  8727.  
  8728. const-string v2, "startPreview failed"
  8729.  
  8730. invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
  8731.  
  8732. throw v1
  8733. .end method
  8734.  
  8735. .method private stopPreview()V
  8736. .registers 4
  8737.  
  8738. .prologue
  8739. const/4 v2, 0x0
  8740.  
  8741. .line 1652
  8742. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  8743.  
  8744. if-eqz v0, :cond_1f
  8745.  
  8746. iget v0, p0, Lcom/android/server/PowerManagerService;->mCameraState:I
  8747.  
  8748. if-eqz v0, :cond_1f
  8749.  
  8750. .line 1653
  8751. const-string v0, "PowerManagerService"
  8752.  
  8753. const-string v1, "stopPreview"
  8754.  
  8755. invoke-static {v0, v1}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
  8756.  
  8757. .line 1654
  8758. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  8759.  
  8760. invoke-virtual {v0}, Landroid/hardware/Camera;->cancelAutoFocus()V
  8761.  
  8762. .line 1655
  8763. invoke-virtual {p0}, Lcom/android/server/PowerManagerService;->stopFaceDetection()V
  8764.  
  8765. .line 1656
  8766. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  8767.  
  8768. invoke-virtual {v0}, Landroid/hardware/Camera;->stopPreview()V
  8769.  
  8770. .line 1657
  8771. iput-boolean v2, p0, Lcom/android/server/PowerManagerService;->mFaceDetectionStarted:Z
  8772.  
  8773. .line 1659
  8774. :cond_1f
  8775. iput v2, p0, Lcom/android/server/PowerManagerService;->mCameraState:I
  8776.  
  8777. .line 1660
  8778. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mFocusManager:Lcom/android/server/CameraFocusManager;
  8779.  
  8780. invoke-virtual {v0}, Lcom/android/server/CameraFocusManager;->onPreviewStopped()V
  8781.  
  8782. .line 1661
  8783. return-void
  8784. .end method
  8785.  
  8786. .method private updateCameraParametersInitialize()V
  8787. .registers 7
  8788.  
  8789. .prologue
  8790. .line 1752
  8791. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  8792.  
  8793. invoke-virtual {v3}, Landroid/hardware/Camera$Parameters;->getSupportedPreviewFrameRates()Ljava/util/List;
  8794.  
  8795. move-result-object v0
  8796.  
  8797. .line 1753
  8798. .local v0, frameRates:Ljava/util/List;,"Ljava/util/List<Ljava/lang/Integer;>;"
  8799. if-eqz v0, :cond_17
  8800.  
  8801. .line 1754
  8802. invoke-static {v0}, Ljava/util/Collections;->max(Ljava/util/Collection;)Ljava/lang/Object;
  8803.  
  8804. move-result-object v1
  8805.  
  8806. check-cast v1, Ljava/lang/Integer;
  8807.  
  8808. .line 1755
  8809. .local v1, max:Ljava/lang/Integer;
  8810. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  8811.  
  8812. invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
  8813.  
  8814. move-result v4
  8815.  
  8816. invoke-virtual {v3, v4}, Landroid/hardware/Camera$Parameters;->setPreviewFrameRate(I)V
  8817.  
  8818. .line 1758
  8819. .end local v1 #max:Ljava/lang/Integer;
  8820. :cond_17
  8821. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  8822.  
  8823. const/4 v4, 0x0
  8824.  
  8825. invoke-virtual {v3, v4}, Landroid/hardware/Camera$Parameters;->setRecordingHint(Z)V
  8826.  
  8827. .line 1762
  8828. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  8829.  
  8830. const-string v4, "video-stabilization-supported"
  8831.  
  8832. invoke-virtual {v3, v4}, Landroid/hardware/Camera$Parameters;->get(Ljava/lang/String;)Ljava/lang/String;
  8833.  
  8834. move-result-object v2
  8835.  
  8836. .line 1764
  8837. .local v2, vstabSupported:Ljava/lang/String;
  8838. const-string v3, "true"
  8839.  
  8840. invoke-virtual {v3, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  8841.  
  8842. move-result v3
  8843.  
  8844. if-eqz v3, :cond_36
  8845.  
  8846. .line 1765
  8847. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  8848.  
  8849. const-string v4, "video-stabilization"
  8850.  
  8851. const-string v5, "false"
  8852.  
  8853. invoke-virtual {v3, v4, v5}, Landroid/hardware/Camera$Parameters;->set(Ljava/lang/String;Ljava/lang/String;)V
  8854.  
  8855. .line 1767
  8856. :cond_36
  8857. return-void
  8858. .end method
  8859.  
  8860. .method private updateCameraParametersPreference()V
  8861. .registers 16
  8862.  
  8863. .prologue
  8864. .line 1787
  8865. iget-boolean v11, p0, Lcom/android/server/PowerManagerService;->mAeLockSupported:Z
  8866.  
  8867. if-eqz v11, :cond_f
  8868.  
  8869. .line 1788
  8870. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  8871.  
  8872. iget-object v12, p0, Lcom/android/server/PowerManagerService;->mFocusManager:Lcom/android/server/CameraFocusManager;
  8873.  
  8874. invoke-virtual {v12}, Lcom/android/server/CameraFocusManager;->getAeAwbLock()Z
  8875.  
  8876. move-result v12
  8877.  
  8878. invoke-virtual {v11, v12}, Landroid/hardware/Camera$Parameters;->setAutoExposureLock(Z)V
  8879.  
  8880. .line 1791
  8881. :cond_f
  8882. iget-boolean v11, p0, Lcom/android/server/PowerManagerService;->mAwbLockSupported:Z
  8883.  
  8884. if-eqz v11, :cond_1e
  8885.  
  8886. .line 1792
  8887. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  8888.  
  8889. iget-object v12, p0, Lcom/android/server/PowerManagerService;->mFocusManager:Lcom/android/server/CameraFocusManager;
  8890.  
  8891. invoke-virtual {v12}, Lcom/android/server/CameraFocusManager;->getAeAwbLock()Z
  8892.  
  8893. move-result v12
  8894.  
  8895. invoke-virtual {v11, v12}, Landroid/hardware/Camera$Parameters;->setAutoWhiteBalanceLock(Z)V
  8896.  
  8897. .line 1794
  8898. :cond_1e
  8899. iget-boolean v11, p0, Lcom/android/server/PowerManagerService;->mFocusAreaSupported:Z
  8900.  
  8901. if-eqz v11, :cond_2d
  8902.  
  8903. .line 1795
  8904. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  8905.  
  8906. iget-object v12, p0, Lcom/android/server/PowerManagerService;->mFocusManager:Lcom/android/server/CameraFocusManager;
  8907.  
  8908. invoke-virtual {v12}, Lcom/android/server/CameraFocusManager;->getFocusAreas()Ljava/util/List;
  8909.  
  8910. move-result-object v12
  8911.  
  8912. invoke-virtual {v11, v12}, Landroid/hardware/Camera$Parameters;->setFocusAreas(Ljava/util/List;)V
  8913.  
  8914. .line 1797
  8915. :cond_2d
  8916. iget-boolean v11, p0, Lcom/android/server/PowerManagerService;->mMeteringAreaSupported:Z
  8917.  
  8918. if-eqz v11, :cond_3c
  8919.  
  8920. .line 1799
  8921. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  8922.  
  8923. iget-object v12, p0, Lcom/android/server/PowerManagerService;->mFocusManager:Lcom/android/server/CameraFocusManager;
  8924.  
  8925. invoke-virtual {v12}, Lcom/android/server/CameraFocusManager;->getMeteringAreas()Ljava/util/List;
  8926.  
  8927. move-result-object v12
  8928.  
  8929. invoke-virtual {v11, v12}, Landroid/hardware/Camera$Parameters;->setMeteringAreas(Ljava/util/List;)V
  8930.  
  8931. .line 1802
  8932. :cond_3c
  8933. invoke-static {}, Lcom/android/server/CameraHolder;->instance()Lcom/android/server/CameraHolder;
  8934.  
  8935. move-result-object v11
  8936.  
  8937. invoke-virtual {v11}, Lcom/android/server/CameraHolder;->getCameraInfo()[Landroid/hardware/Camera$CameraInfo;
  8938.  
  8939. move-result-object v11
  8940.  
  8941. iget v12, p0, Lcom/android/server/PowerManagerService;->mCameraId:I
  8942.  
  8943. aget-object v11, v11, v12
  8944.  
  8945. iget v2, v11, Landroid/hardware/Camera$CameraInfo;->orientation:I
  8946.  
  8947. .line 1804
  8948. .local v2, camOri:I
  8949. const-string v6, "320x240"
  8950.  
  8951. .line 1805
  8952. .local v6, pictureSize:Ljava/lang/String;
  8953. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  8954.  
  8955. invoke-virtual {v11}, Landroid/hardware/Camera$Parameters;->getSupportedPictureSizes()Ljava/util/List;
  8956.  
  8957. move-result-object v9
  8958.  
  8959. .line 1806
  8960. .local v9, supported:Ljava/util/List;,"Ljava/util/List<Landroid/hardware/Camera$Size;>;"
  8961. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  8962.  
  8963. invoke-static {v6, v9, v11, v2}, Lcom/android/server/PowerManagerService;->setCameraPictureSize(Ljava/lang/String;Ljava/util/List;Landroid/hardware/Camera$Parameters;I)Z
  8964.  
  8965. .line 1811
  8966. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  8967.  
  8968. invoke-virtual {v11}, Landroid/hardware/Camera$Parameters;->getPictureSize()Landroid/hardware/Camera$Size;
  8969.  
  8970. move-result-object v7
  8971.  
  8972. .line 1818
  8973. .local v7, size:Landroid/hardware/Camera$Size;
  8974. const-wide/16 v0, 0x0
  8975.  
  8976. .line 1819
  8977. .local v0, aspectWtoH:D
  8978. if-eqz v2, :cond_65
  8979.  
  8980. const/16 v11, 0xb4
  8981.  
  8982. if-ne v2, v11, :cond_11e
  8983.  
  8984. :cond_65
  8985. iget v11, v7, Landroid/hardware/Camera$Size;->height:I
  8986.  
  8987. iget v12, v7, Landroid/hardware/Camera$Size;->width:I
  8988.  
  8989. if-le v11, v12, :cond_11e
  8990.  
  8991. .line 1820
  8992. iget v11, v7, Landroid/hardware/Camera$Size;->height:I
  8993.  
  8994. int-to-double v11, v11
  8995.  
  8996. iget v13, v7, Landroid/hardware/Camera$Size;->width:I
  8997.  
  8998. int-to-double v13, v13
  8999.  
  9000. div-double v0, v11, v13
  9001.  
  9002. .line 1824
  9003. :goto_73
  9004. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  9005.  
  9006. invoke-virtual {v11}, Landroid/hardware/Camera$Parameters;->getSupportedPreviewSizes()Ljava/util/List;
  9007.  
  9008. move-result-object v8
  9009.  
  9010. .line 1825
  9011. .local v8, sizes:Ljava/util/List;,"Ljava/util/List<Landroid/hardware/Camera$Size;>;"
  9012. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  9013.  
  9014. invoke-static {v11, v8, v0, v1}, Lcom/android/server/CameraServiceUtil;->getOptimalPreviewSize(Landroid/content/Context;Ljava/util/List;D)Landroid/hardware/Camera$Size;
  9015.  
  9016. move-result-object v4
  9017.  
  9018. .line 1826
  9019. .local v4, optimalSize:Landroid/hardware/Camera$Size;
  9020. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  9021.  
  9022. invoke-virtual {v11}, Landroid/hardware/Camera$Parameters;->getPreviewSize()Landroid/hardware/Camera$Size;
  9023.  
  9024. move-result-object v5
  9025.  
  9026. .line 1828
  9027. .local v5, original:Landroid/hardware/Camera$Size;
  9028. const-string v11, "PowerManagerService"
  9029.  
  9030. new-instance v12, Ljava/lang/StringBuilder;
  9031.  
  9032. invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
  9033.  
  9034. const-string v13, " Sensor["
  9035.  
  9036. invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9037.  
  9038. move-result-object v12
  9039.  
  9040. iget v13, p0, Lcom/android/server/PowerManagerService;->mCameraId:I
  9041.  
  9042. invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  9043.  
  9044. move-result-object v12
  9045.  
  9046. const-string v13, "]\'s orientation is "
  9047.  
  9048. invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9049.  
  9050. move-result-object v12
  9051.  
  9052. invoke-virtual {v12, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  9053.  
  9054. move-result-object v12
  9055.  
  9056. invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  9057.  
  9058. move-result-object v12
  9059.  
  9060. invoke-static {v11, v12}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
  9061.  
  9062. .line 1829
  9063. invoke-virtual {v5, v4}, Landroid/hardware/Camera$Size;->equals(Ljava/lang/Object;)Z
  9064.  
  9065. move-result v11
  9066.  
  9067. if-nez v11, :cond_cd
  9068.  
  9069. .line 1835
  9070. if-eqz v2, :cond_b5
  9071.  
  9072. const/16 v11, 0xb4
  9073.  
  9074. if-ne v2, v11, :cond_128
  9075.  
  9076. .line 1836
  9077. :cond_b5
  9078. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  9079.  
  9080. iget v12, v4, Landroid/hardware/Camera$Size;->height:I
  9081.  
  9082. iget v13, v4, Landroid/hardware/Camera$Size;->width:I
  9083.  
  9084. invoke-virtual {v11, v12, v13}, Landroid/hardware/Camera$Parameters;->setPreviewSize(II)V
  9085.  
  9086. .line 1845
  9087. :goto_be
  9088. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  9089.  
  9090. iget-object v12, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  9091.  
  9092. invoke-virtual {v11, v12}, Landroid/hardware/Camera;->setParameters(Landroid/hardware/Camera$Parameters;)V
  9093.  
  9094. .line 1846
  9095. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  9096.  
  9097. invoke-virtual {v11}, Landroid/hardware/Camera;->getParameters()Landroid/hardware/Camera$Parameters;
  9098.  
  9099. move-result-object v11
  9100.  
  9101. iput-object v11, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  9102.  
  9103. .line 1849
  9104. :cond_cd
  9105. iget v11, p0, Lcom/android/server/PowerManagerService;->mCameraId:I
  9106.  
  9107. const/4 v12, 0x2
  9108.  
  9109. invoke-static {v11, v12}, Landroid/media/CameraProfile;->getJpegEncodingQualityParameter(II)I
  9110.  
  9111. move-result v3
  9112.  
  9113. .line 1851
  9114. .local v3, jpegQuality:I
  9115. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  9116.  
  9117. invoke-virtual {v11, v3}, Landroid/hardware/Camera$Parameters;->setJpegQuality(I)V
  9118.  
  9119. .line 1853
  9120. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  9121.  
  9122. invoke-virtual {v11}, Landroid/hardware/Camera$Parameters;->getSupportedFlashModes()Ljava/util/List;
  9123.  
  9124. move-result-object v10
  9125.  
  9126. .line 1854
  9127. .local v10, supportedFlash:Ljava/util/List;,"Ljava/util/List<Ljava/lang/String;>;"
  9128. const-string v11, "auto"
  9129.  
  9130. invoke-static {v11, v10}, Lcom/android/server/PowerManagerService;->isSupported(Ljava/lang/String;Ljava/util/List;)Z
  9131.  
  9132. move-result v11
  9133.  
  9134. if-eqz v11, :cond_ee
  9135.  
  9136. .line 1855
  9137. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  9138.  
  9139. const-string v12, "auto"
  9140.  
  9141. invoke-virtual {v11, v12}, Landroid/hardware/Camera$Parameters;->setFlashMode(Ljava/lang/String;)V
  9142.  
  9143. .line 1857
  9144. :cond_ee
  9145. const-string v11, "auto"
  9146.  
  9147. iget-object v12, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  9148.  
  9149. invoke-virtual {v12}, Landroid/hardware/Camera$Parameters;->getSupportedWhiteBalance()Ljava/util/List;
  9150.  
  9151. move-result-object v12
  9152.  
  9153. invoke-static {v11, v12}, Lcom/android/server/PowerManagerService;->isSupported(Ljava/lang/String;Ljava/util/List;)Z
  9154.  
  9155. move-result v11
  9156.  
  9157. if-eqz v11, :cond_103
  9158.  
  9159. .line 1859
  9160. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  9161.  
  9162. const-string v12, "auto"
  9163.  
  9164. invoke-virtual {v11, v12}, Landroid/hardware/Camera$Parameters;->setWhiteBalance(Ljava/lang/String;)V
  9165.  
  9166. .line 1862
  9167. :cond_103
  9168. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mFocusManager:Lcom/android/server/CameraFocusManager;
  9169.  
  9170. const/4 v12, 0x0
  9171.  
  9172. invoke-virtual {v11, v12}, Lcom/android/server/CameraFocusManager;->overrideFocusMode(Ljava/lang/String;)V
  9173.  
  9174. .line 1863
  9175. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  9176.  
  9177. const-string v12, "infinity"
  9178.  
  9179. invoke-virtual {v11, v12}, Landroid/hardware/Camera$Parameters;->setFocusMode(Ljava/lang/String;)V
  9180.  
  9181. .line 1864
  9182. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mFocusManager:Lcom/android/server/CameraFocusManager;
  9183.  
  9184. iget-object v12, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  9185.  
  9186. invoke-virtual {v11, v12}, Lcom/android/server/CameraFocusManager;->unRegisterCAFCallback(Landroid/hardware/Camera;)V
  9187.  
  9188. .line 1865
  9189. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  9190.  
  9191. const/4 v12, 0x0
  9192.  
  9193. invoke-virtual {v11, v12}, Landroid/hardware/Camera$Parameters;->setExposureCompensation(I)V
  9194.  
  9195. .line 1867
  9196. return-void
  9197.  
  9198. .line 1822
  9199. .end local v3 #jpegQuality:I
  9200. .end local v4 #optimalSize:Landroid/hardware/Camera$Size;
  9201. .end local v5 #original:Landroid/hardware/Camera$Size;
  9202. .end local v8 #sizes:Ljava/util/List;,"Ljava/util/List<Landroid/hardware/Camera$Size;>;"
  9203. .end local v10 #supportedFlash:Ljava/util/List;,"Ljava/util/List<Ljava/lang/String;>;"
  9204. :cond_11e
  9205. iget v11, v7, Landroid/hardware/Camera$Size;->width:I
  9206.  
  9207. int-to-double v11, v11
  9208.  
  9209. iget v13, v7, Landroid/hardware/Camera$Size;->height:I
  9210.  
  9211. int-to-double v13, v13
  9212.  
  9213. div-double v0, v11, v13
  9214.  
  9215. goto/16 :goto_73
  9216.  
  9217. .line 1839
  9218. .restart local v4 #optimalSize:Landroid/hardware/Camera$Size;
  9219. .restart local v5 #original:Landroid/hardware/Camera$Size;
  9220. .restart local v8 #sizes:Ljava/util/List;,"Ljava/util/List<Landroid/hardware/Camera$Size;>;"
  9221. :cond_128
  9222. iget-object v11, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  9223.  
  9224. iget v12, v4, Landroid/hardware/Camera$Size;->width:I
  9225.  
  9226. iget v13, v4, Landroid/hardware/Camera$Size;->height:I
  9227.  
  9228. invoke-virtual {v11, v12, v13}, Landroid/hardware/Camera$Parameters;->setPreviewSize(II)V
  9229.  
  9230. goto :goto_be
  9231. .end method
  9232.  
  9233. .method private updateCameraParametersZoom()V
  9234. .registers 3
  9235.  
  9236. .prologue
  9237. .line 1775
  9238. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  9239.  
  9240. invoke-virtual {v0}, Landroid/hardware/Camera$Parameters;->isZoomSupported()Z
  9241.  
  9242. move-result v0
  9243.  
  9244. if-eqz v0, :cond_e
  9245.  
  9246. .line 1776
  9247. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  9248.  
  9249. const/4 v1, 0x0
  9250.  
  9251. invoke-virtual {v0, v1}, Landroid/hardware/Camera$Parameters;->setZoom(I)V
  9252.  
  9253. .line 1778
  9254. :cond_e
  9255. return-void
  9256. .end method
  9257.  
  9258. .method private updateLightsLocked(II)V
  9259. .registers 23
  9260. .parameter "newState"
  9261. .parameter "forceState"
  9262.  
  9263. .prologue
  9264. .line 2751
  9265. move-object/from16 v0, p0
  9266.  
  9267. iget v10, v0, Lcom/android/server/PowerManagerService;->mPowerState:I
  9268.  
  9269. .line 2755
  9270. .local v10, oldState:I
  9271. and-int/lit8 v17, v10, 0x1
  9272.  
  9273. if-eqz v17, :cond_10
  9274.  
  9275. move-object/from16 v0, p0
  9276.  
  9277. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mSkippedScreenOn:Z
  9278.  
  9279. move/from16 v17, v0
  9280.  
  9281. if-eqz v17, :cond_1e
  9282.  
  9283. .line 2759
  9284. :cond_10
  9285. invoke-direct/range {p0 .. p0}, Lcom/android/server/PowerManagerService;->shouldDeferScreenOnLocked()Z
  9286.  
  9287. move-result v17
  9288.  
  9289. move/from16 v0, v17
  9290.  
  9291. move-object/from16 v1, p0
  9292.  
  9293. iput-boolean v0, v1, Lcom/android/server/PowerManagerService;->mSkippedScreenOn:Z
  9294.  
  9295. if-eqz v17, :cond_1e
  9296.  
  9297. .line 2760
  9298. and-int/lit8 p1, p1, -0x4
  9299.  
  9300. .line 2764
  9301. :cond_1e
  9302. and-int/lit8 v17, p1, 0x1
  9303.  
  9304. if-eqz v17, :cond_2a
  9305.  
  9306. .line 2767
  9307. invoke-direct/range {p0 .. p1}, Lcom/android/server/PowerManagerService;->applyButtonState(I)I
  9308.  
  9309. move-result p1
  9310.  
  9311. .line 2768
  9312. invoke-direct/range {p0 .. p1}, Lcom/android/server/PowerManagerService;->applyKeyboardState(I)I
  9313.  
  9314. move-result p1
  9315.  
  9316. .line 2770
  9317. :cond_2a
  9318. xor-int v14, p1, v10
  9319.  
  9320. .line 2771
  9321. .local v14, realDifference:I
  9322. or-int v4, v14, p2
  9323.  
  9324. .line 2772
  9325. .local v4, difference:I
  9326. if-nez v4, :cond_31
  9327.  
  9328. .line 2919
  9329. :cond_30
  9330. :goto_30
  9331. return-void
  9332.  
  9333. .line 2776
  9334. :cond_31
  9335. const/4 v9, 0x0
  9336.  
  9337. .line 2777
  9338. .local v9, offMask:I
  9339. const/4 v5, 0x0
  9340.  
  9341. .line 2778
  9342. .local v5, dimMask:I
  9343. const/4 v11, 0x0
  9344.  
  9345. .line 2780
  9346. .local v11, onMask:I
  9347. invoke-direct/range {p0 .. p0}, Lcom/android/server/PowerManagerService;->getPreferredBrightness()I
  9348.  
  9349. move-result v12
  9350.  
  9351. .line 2782
  9352. .local v12, preferredBrightness:I
  9353. and-int/lit8 v17, v4, 0x8
  9354.  
  9355. if-eqz v17, :cond_42
  9356.  
  9357. .line 2783
  9358. and-int/lit8 v17, p1, 0x8
  9359.  
  9360. if-nez v17, :cond_223
  9361.  
  9362. .line 2784
  9363. or-int/lit8 v9, v9, 0x8
  9364.  
  9365. .line 2790
  9366. :cond_42
  9367. :goto_42
  9368. and-int/lit8 v17, v4, 0x4
  9369.  
  9370. if-eqz v17, :cond_4c
  9371.  
  9372. .line 2791
  9373. and-int/lit8 v17, p1, 0x4
  9374.  
  9375. if-nez v17, :cond_227
  9376.  
  9377. .line 2792
  9378. or-int/lit8 v9, v9, 0x4
  9379.  
  9380. .line 2798
  9381. :cond_4c
  9382. :goto_4c
  9383. and-int/lit8 v17, v4, 0x3
  9384.  
  9385. if-eqz v17, :cond_120
  9386.  
  9387. .line 2799
  9388. const/4 v8, -0x1
  9389.  
  9390. .line 2805
  9391. .local v8, nominalCurrentValue:I
  9392. and-int/lit8 v17, v14, 0x3
  9393.  
  9394. if-eqz v17, :cond_69
  9395.  
  9396. .line 2806
  9397. and-int/lit8 v17, v10, 0x3
  9398.  
  9399. packed-switch v17, :pswitch_data_2a4
  9400.  
  9401. .line 2819
  9402. :pswitch_5a
  9403. move-object/from16 v0, p0
  9404.  
  9405. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  9406.  
  9407. move-object/from16 v17, v0
  9408.  
  9409. move-object/from16 v0, v17
  9410.  
  9411. iget v0, v0, Lcom/android/server/PowerManagerService$BrightnessState;->curValue:F
  9412.  
  9413. move/from16 v17, v0
  9414.  
  9415. move/from16 v0, v17
  9416.  
  9417. float-to-int v8, v0
  9418.  
  9419. .line 2823
  9420. :cond_69
  9421. :goto_69
  9422. move v3, v12
  9423.  
  9424. .line 2824
  9425. .local v3, brightness:I
  9426. const/16 v16, 0xf
  9427.  
  9428. .line 2825
  9429. .local v16, steps:I
  9430. and-int/lit8 v17, p1, 0x2
  9431.  
  9432. if-nez v17, :cond_95
  9433.  
  9434. .line 2829
  9435. const/high16 v15, 0x3fc0
  9436.  
  9437. .line 2830
  9438. .local v15, scale:F
  9439. move-object/from16 v0, p0
  9440.  
  9441. iget v0, v0, Lcom/android/server/PowerManagerService;->mScreenBrightnessDim:I
  9442.  
  9443. move/from16 v17, v0
  9444.  
  9445. move/from16 v0, v17
  9446.  
  9447. int-to-float v0, v0
  9448.  
  9449. move/from16 v17, v0
  9450.  
  9451. int-to-float v0, v12
  9452.  
  9453. move/from16 v18, v0
  9454.  
  9455. div-float v13, v17, v18
  9456.  
  9457. .line 2831
  9458. .local v13, ratio:F
  9459. const/high16 v17, 0x3f80
  9460.  
  9461. cmpl-float v17, v13, v17
  9462.  
  9463. if-lez v17, :cond_8a
  9464.  
  9465. const/high16 v13, 0x3f80
  9466.  
  9467. .line 2832
  9468. :cond_8a
  9469. and-int/lit8 v17, p1, 0x1
  9470.  
  9471. if-nez v17, :cond_246
  9472.  
  9473. .line 2833
  9474. and-int/lit8 v17, v10, 0x2
  9475.  
  9476. if-eqz v17, :cond_237
  9477.  
  9478. .line 2835
  9479. const/16 v16, 0xf
  9480.  
  9481. .line 2840
  9482. :goto_94
  9483. const/4 v3, 0x0
  9484.  
  9485. .line 2860
  9486. .end local v13 #ratio:F
  9487. .end local v15 #scale:F
  9488. :cond_95
  9489. :goto_95
  9490. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  9491.  
  9492. move-result-wide v6
  9493.  
  9494. .line 2862
  9495. .local v6, identity:J
  9496. :try_start_99
  9497. move-object/from16 v0, p0
  9498.  
  9499. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  9500.  
  9501. move-object/from16 v17, v0
  9502.  
  9503. move-object/from16 v0, v17
  9504.  
  9505. invoke-interface {v0, v3}, Lcom/android/internal/app/IBatteryStats;->noteScreenBrightness(I)V
  9506. :try_end_a4
  9507. .catchall {:try_start_99 .. :try_end_a4} :catchall_295
  9508. .catch Landroid/os/RemoteException; {:try_start_99 .. :try_end_a4} :catch_28f
  9509.  
  9510. .line 2866
  9511. invoke-static {v6, v7}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  9512.  
  9513. .line 2869
  9514. :goto_a7
  9515. const-string v17, "PowerManagerService"
  9516.  
  9517. new-instance v18, Ljava/lang/StringBuilder;
  9518.  
  9519. invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;-><init>()V
  9520.  
  9521. const-string v19, "newState="
  9522.  
  9523. invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9524.  
  9525. move-result-object v18
  9526.  
  9527. move-object/from16 v0, v18
  9528.  
  9529. move/from16 v1, p1
  9530.  
  9531. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  9532.  
  9533. move-result-object v18
  9534.  
  9535. const-string v19, ", realDifference="
  9536.  
  9537. invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9538.  
  9539. move-result-object v18
  9540.  
  9541. move-object/from16 v0, v18
  9542.  
  9543. invoke-virtual {v0, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  9544.  
  9545. move-result-object v18
  9546.  
  9547. const-string v19, "SCREEN_ON_BIT="
  9548.  
  9549. invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9550.  
  9551. move-result-object v18
  9552.  
  9553. const/16 v19, 0x1
  9554.  
  9555. invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  9556.  
  9557. move-result-object v18
  9558.  
  9559. invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  9560.  
  9561. move-result-object v18
  9562.  
  9563. invoke-static/range {v17 .. v18}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  9564.  
  9565. .line 2870
  9566. and-int/lit8 v17, p1, 0x1
  9567.  
  9568. and-int v17, v17, v14
  9569.  
  9570. if-eqz v17, :cond_29a
  9571.  
  9572. .line 2871
  9573. const/16 v17, 0x1
  9574.  
  9575. move/from16 v0, v17
  9576.  
  9577. move-object/from16 v1, p0
  9578.  
  9579. iput-boolean v0, v1, Lcom/android/server/PowerManagerService;->mDoDelayLightAnimation:Z
  9580.  
  9581. .line 2874
  9582. :goto_e9
  9583. move-object/from16 v0, p0
  9584.  
  9585. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mSkippedScreenOn:Z
  9586.  
  9587. move/from16 v17, v0
  9588.  
  9589. if-nez v17, :cond_120
  9590.  
  9591. .line 2875
  9592. move-object/from16 v0, p0
  9593.  
  9594. iget v0, v0, Lcom/android/server/PowerManagerService;->mMaxBrightness:I
  9595.  
  9596. move/from16 v17, v0
  9597.  
  9598. const/16 v18, -0x1
  9599.  
  9600. move/from16 v0, v17
  9601.  
  9602. move/from16 v1, v18
  9603.  
  9604. if-eq v0, v1, :cond_10d
  9605.  
  9606. move-object/from16 v0, p0
  9607.  
  9608. iget v0, v0, Lcom/android/server/PowerManagerService;->mMaxBrightness:I
  9609.  
  9610. move/from16 v17, v0
  9611.  
  9612. move/from16 v0, v17
  9613.  
  9614. if-ge v0, v3, :cond_10d
  9615.  
  9616. .line 2876
  9617. move-object/from16 v0, p0
  9618.  
  9619. iget v3, v0, Lcom/android/server/PowerManagerService;->mMaxBrightness:I
  9620.  
  9621. .line 2877
  9622. :cond_10d
  9623. move-object/from16 v0, p0
  9624.  
  9625. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  9626.  
  9627. move-object/from16 v17, v0
  9628.  
  9629. const/16 v18, 0x1
  9630.  
  9631. const/16 v19, 0xff
  9632.  
  9633. move-object/from16 v0, v17
  9634.  
  9635. move/from16 v1, v18
  9636.  
  9637. move/from16 v2, v19
  9638.  
  9639. invoke-virtual {v0, v3, v1, v2, v8}, Lcom/android/server/PowerManagerService$BrightnessState;->setTargetLocked(IIII)V
  9640.  
  9641. .line 2888
  9642. .end local v3 #brightness:I
  9643. .end local v6 #identity:J
  9644. .end local v8 #nominalCurrentValue:I
  9645. .end local v16 #steps:I
  9646. :cond_120
  9647. const-string v17, "PowerManagerService"
  9648.  
  9649. new-instance v18, Ljava/lang/StringBuilder;
  9650.  
  9651. invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;-><init>()V
  9652.  
  9653. const-string v19, "offMask=0x"
  9654.  
  9655. invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9656.  
  9657. move-result-object v18
  9658.  
  9659. invoke-static {v9}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
  9660.  
  9661. move-result-object v19
  9662.  
  9663. invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9664.  
  9665. move-result-object v18
  9666.  
  9667. const-string v19, " dimMask=0x"
  9668.  
  9669. invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9670.  
  9671. move-result-object v18
  9672.  
  9673. invoke-static {v5}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
  9674.  
  9675. move-result-object v19
  9676.  
  9677. invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9678.  
  9679. move-result-object v18
  9680.  
  9681. const-string v19, " onMask=0x"
  9682.  
  9683. invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9684.  
  9685. move-result-object v18
  9686.  
  9687. invoke-static {v11}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
  9688.  
  9689. move-result-object v19
  9690.  
  9691. invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9692.  
  9693. move-result-object v18
  9694.  
  9695. const-string v19, " difference=0x"
  9696.  
  9697. invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9698.  
  9699. move-result-object v18
  9700.  
  9701. invoke-static {v4}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
  9702.  
  9703. move-result-object v19
  9704.  
  9705. invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9706.  
  9707. move-result-object v18
  9708.  
  9709. const-string v19, " realDifference=0x"
  9710.  
  9711. invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9712.  
  9713. move-result-object v18
  9714.  
  9715. invoke-static {v14}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
  9716.  
  9717. move-result-object v19
  9718.  
  9719. invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9720.  
  9721. move-result-object v18
  9722.  
  9723. const-string v19, " forceState=0x"
  9724.  
  9725. invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9726.  
  9727. move-result-object v18
  9728.  
  9729. invoke-static/range {p2 .. p2}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
  9730.  
  9731. move-result-object v19
  9732.  
  9733. invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9734.  
  9735. move-result-object v18
  9736.  
  9737. invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  9738.  
  9739. move-result-object v18
  9740.  
  9741. invoke-static/range {v17 .. v18}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  9742.  
  9743. .line 2897
  9744. if-eqz v9, :cond_1a7
  9745.  
  9746. .line 2898
  9747. const-string v17, "PowerManagerService"
  9748.  
  9749. new-instance v18, Ljava/lang/StringBuilder;
  9750.  
  9751. invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;-><init>()V
  9752.  
  9753. const-string v19, "Setting brightess off: "
  9754.  
  9755. invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9756.  
  9757. move-result-object v18
  9758.  
  9759. move-object/from16 v0, v18
  9760.  
  9761. invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  9762.  
  9763. move-result-object v18
  9764.  
  9765. invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  9766.  
  9767. move-result-object v18
  9768.  
  9769. invoke-static/range {v17 .. v18}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
  9770.  
  9771. .line 2899
  9772. const/16 v17, 0x0
  9773.  
  9774. move-object/from16 v0, p0
  9775.  
  9776. move/from16 v1, v17
  9777.  
  9778. invoke-direct {v0, v9, v1}, Lcom/android/server/PowerManagerService;->setLightBrightness(II)V
  9779.  
  9780. .line 2901
  9781. :cond_1a7
  9782. if-eqz v5, :cond_1e4
  9783.  
  9784. .line 2902
  9785. move-object/from16 v0, p0
  9786.  
  9787. iget v3, v0, Lcom/android/server/PowerManagerService;->mScreenBrightnessDim:I
  9788.  
  9789. .line 2903
  9790. .restart local v3 #brightness:I
  9791. and-int/lit8 v17, p1, 0x10
  9792.  
  9793. if-eqz v17, :cond_1b9
  9794.  
  9795. const/16 v17, 0xa
  9796.  
  9797. move/from16 v0, v17
  9798.  
  9799. if-le v3, v0, :cond_1b9
  9800.  
  9801. .line 2905
  9802. const/16 v3, 0xa
  9803.  
  9804. .line 2907
  9805. :cond_1b9
  9806. const-string v17, "PowerManagerService"
  9807.  
  9808. new-instance v18, Ljava/lang/StringBuilder;
  9809.  
  9810. invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;-><init>()V
  9811.  
  9812. const-string v19, "Setting brightess dim "
  9813.  
  9814. invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9815.  
  9816. move-result-object v18
  9817.  
  9818. move-object/from16 v0, v18
  9819.  
  9820. invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  9821.  
  9822. move-result-object v18
  9823.  
  9824. const-string v19, ": "
  9825.  
  9826. invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9827.  
  9828. move-result-object v18
  9829.  
  9830. move-object/from16 v0, v18
  9831.  
  9832. invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  9833.  
  9834. move-result-object v18
  9835.  
  9836. invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  9837.  
  9838. move-result-object v18
  9839.  
  9840. invoke-static/range {v17 .. v18}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
  9841.  
  9842. .line 2908
  9843. move-object/from16 v0, p0
  9844.  
  9845. invoke-direct {v0, v5, v3}, Lcom/android/server/PowerManagerService;->setLightBrightness(II)V
  9846.  
  9847. .line 2910
  9848. .end local v3 #brightness:I
  9849. :cond_1e4
  9850. if-eqz v11, :cond_30
  9851.  
  9852. .line 2911
  9853. invoke-direct/range {p0 .. p0}, Lcom/android/server/PowerManagerService;->getPreferredBrightness()I
  9854.  
  9855. move-result v3
  9856.  
  9857. .line 2912
  9858. .restart local v3 #brightness:I
  9859. and-int/lit8 v17, p1, 0x10
  9860.  
  9861. if-eqz v17, :cond_1f6
  9862.  
  9863. const/16 v17, 0xa
  9864.  
  9865. move/from16 v0, v17
  9866.  
  9867. if-le v3, v0, :cond_1f6
  9868.  
  9869. .line 2914
  9870. const/16 v3, 0xa
  9871.  
  9872. .line 2916
  9873. :cond_1f6
  9874. const-string v17, "PowerManagerService"
  9875.  
  9876. new-instance v18, Ljava/lang/StringBuilder;
  9877.  
  9878. invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;-><init>()V
  9879.  
  9880. const-string v19, "Setting brightess on "
  9881.  
  9882. invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9883.  
  9884. move-result-object v18
  9885.  
  9886. move-object/from16 v0, v18
  9887.  
  9888. invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  9889.  
  9890. move-result-object v18
  9891.  
  9892. const-string v19, ": "
  9893.  
  9894. invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9895.  
  9896. move-result-object v18
  9897.  
  9898. move-object/from16 v0, v18
  9899.  
  9900. invoke-virtual {v0, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  9901.  
  9902. move-result-object v18
  9903.  
  9904. invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  9905.  
  9906. move-result-object v18
  9907.  
  9908. invoke-static/range {v17 .. v18}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
  9909.  
  9910. .line 2917
  9911. move-object/from16 v0, p0
  9912.  
  9913. invoke-direct {v0, v11, v3}, Lcom/android/server/PowerManagerService;->setLightBrightness(II)V
  9914.  
  9915. goto/16 :goto_30
  9916.  
  9917. .line 2786
  9918. .end local v3 #brightness:I
  9919. :cond_223
  9920. or-int/lit8 v11, v11, 0x8
  9921.  
  9922. goto/16 :goto_42
  9923.  
  9924. .line 2794
  9925. :cond_227
  9926. or-int/lit8 v11, v11, 0x4
  9927.  
  9928. goto/16 :goto_4c
  9929.  
  9930. .line 2808
  9931. .restart local v8 #nominalCurrentValue:I
  9932. :pswitch_22b
  9933. move v8, v12
  9934.  
  9935. .line 2809
  9936. goto/16 :goto_69
  9937.  
  9938. .line 2811
  9939. :pswitch_22e
  9940. move-object/from16 v0, p0
  9941.  
  9942. iget v8, v0, Lcom/android/server/PowerManagerService;->mScreenBrightnessDim:I
  9943.  
  9944. .line 2812
  9945. goto/16 :goto_69
  9946.  
  9947. .line 2814
  9948. :pswitch_234
  9949. const/4 v8, 0x0
  9950.  
  9951. .line 2815
  9952. goto/16 :goto_69
  9953.  
  9954. .line 2838
  9955. .restart local v3 #brightness:I
  9956. .restart local v13 #ratio:F
  9957. .restart local v15 #scale:F
  9958. .restart local v16 #steps:I
  9959. :cond_237
  9960. const/high16 v17, 0x4170
  9961.  
  9962. mul-float v17, v17, v13
  9963.  
  9964. const/high16 v18, 0x3fc0
  9965.  
  9966. mul-float v17, v17, v18
  9967.  
  9968. move/from16 v0, v17
  9969.  
  9970. float-to-int v0, v0
  9971.  
  9972. move/from16 v16, v0
  9973.  
  9974. goto/16 :goto_94
  9975.  
  9976. .line 2842
  9977. :cond_246
  9978. and-int/lit8 v17, v10, 0x1
  9979.  
  9980. if-eqz v17, :cond_285
  9981.  
  9982. .line 2844
  9983. const/high16 v17, 0x4170
  9984.  
  9985. const/high16 v18, 0x3f80
  9986.  
  9987. sub-float v18, v18, v13
  9988.  
  9989. mul-float v17, v17, v18
  9990.  
  9991. const/high16 v18, 0x3fc0
  9992.  
  9993. mul-float v17, v17, v18
  9994.  
  9995. move/from16 v0, v17
  9996.  
  9997. float-to-int v0, v0
  9998.  
  9999. move/from16 v16, v0
  10000.  
  10001. .line 2849
  10002. :goto_25b
  10003. move-object/from16 v0, p0
  10004.  
  10005. iget v0, v0, Lcom/android/server/PowerManagerService;->mStayOnConditions:I
  10006.  
  10007. move/from16 v17, v0
  10008.  
  10009. if-eqz v17, :cond_27f
  10010.  
  10011. move-object/from16 v0, p0
  10012.  
  10013. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mBatteryService:Lcom/android/server/BatteryService;
  10014.  
  10015. move-object/from16 v17, v0
  10016.  
  10017. move-object/from16 v0, p0
  10018.  
  10019. iget v0, v0, Lcom/android/server/PowerManagerService;->mStayOnConditions:I
  10020.  
  10021. move/from16 v18, v0
  10022.  
  10023. invoke-virtual/range {v17 .. v18}, Lcom/android/server/BatteryService;->isPowered(I)Z
  10024.  
  10025. move-result v17
  10026.  
  10027. if-eqz v17, :cond_27f
  10028.  
  10029. .line 2855
  10030. invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
  10031.  
  10032. move-result-wide v17
  10033.  
  10034. move-wide/from16 v0, v17
  10035.  
  10036. move-object/from16 v2, p0
  10037.  
  10038. iput-wide v0, v2, Lcom/android/server/PowerManagerService;->mScreenOffTime:J
  10039.  
  10040. .line 2857
  10041. :cond_27f
  10042. move-object/from16 v0, p0
  10043.  
  10044. iget v3, v0, Lcom/android/server/PowerManagerService;->mScreenBrightnessDim:I
  10045.  
  10046. goto/16 :goto_95
  10047.  
  10048. .line 2847
  10049. :cond_285
  10050. const/high16 v17, 0x4170
  10051.  
  10052. mul-float v17, v17, v13
  10053.  
  10054. move/from16 v0, v17
  10055.  
  10056. float-to-int v0, v0
  10057.  
  10058. move/from16 v16, v0
  10059.  
  10060. goto :goto_25b
  10061.  
  10062. .line 2863
  10063. .end local v13 #ratio:F
  10064. .end local v15 #scale:F
  10065. .restart local v6 #identity:J
  10066. :catch_28f
  10067. move-exception v17
  10068.  
  10069. .line 2866
  10070. invoke-static {v6, v7}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  10071.  
  10072. goto/16 :goto_a7
  10073.  
  10074. :catchall_295
  10075. move-exception v17
  10076.  
  10077. invoke-static {v6, v7}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  10078.  
  10079. throw v17
  10080.  
  10081. .line 2873
  10082. :cond_29a
  10083. const/16 v17, 0x0
  10084.  
  10085. move/from16 v0, v17
  10086.  
  10087. move-object/from16 v1, p0
  10088.  
  10089. iput-boolean v0, v1, Lcom/android/server/PowerManagerService;->mDoDelayLightAnimation:Z
  10090.  
  10091. goto/16 :goto_e9
  10092.  
  10093. .line 2806
  10094. :pswitch_data_2a4
  10095. .packed-switch 0x0
  10096. :pswitch_234
  10097. :pswitch_22e
  10098. :pswitch_5a
  10099. :pswitch_22b
  10100. .end packed-switch
  10101. .end method
  10102.  
  10103. .method private updateNativePowerStateLocked()V
  10104. .registers 6
  10105.  
  10106. .prologue
  10107. const/4 v1, 0x1
  10108.  
  10109. const/4 v2, 0x0
  10110.  
  10111. .line 2706
  10112. iget v0, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  10113.  
  10114. and-int/lit8 v0, v0, 0x1
  10115.  
  10116. if-eqz v0, :cond_14
  10117.  
  10118. move v0, v1
  10119.  
  10120. :goto_9
  10121. iget v3, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  10122.  
  10123. and-int/lit8 v3, v3, 0x3
  10124.  
  10125. const/4 v4, 0x3
  10126.  
  10127. if-ne v3, v4, :cond_16
  10128.  
  10129. :goto_10
  10130. invoke-direct {p0, v0, v1}, Lcom/android/server/PowerManagerService;->nativeSetPowerState(ZZ)V
  10131.  
  10132. .line 2709
  10133. return-void
  10134.  
  10135. :cond_14
  10136. move v0, v2
  10137.  
  10138. .line 2706
  10139. goto :goto_9
  10140.  
  10141. :cond_16
  10142. move v1, v2
  10143.  
  10144. goto :goto_10
  10145. .end method
  10146.  
  10147. .method private updateSettingsValues()V
  10148. .registers 4
  10149.  
  10150. .prologue
  10151. .line 3795
  10152. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  10153.  
  10154. invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
  10155.  
  10156. move-result-object v0
  10157.  
  10158. const-string v1, "short_keylight_delay_ms"
  10159.  
  10160. const/16 v2, 0x1770
  10161.  
  10162. invoke-static {v0, v1, v2}, Landroid/provider/Settings$Secure;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
  10163.  
  10164. move-result v0
  10165.  
  10166. iput v0, p0, Lcom/android/server/PowerManagerService;->mShortKeylightDelay:I
  10167.  
  10168. .line 3800
  10169. return-void
  10170. .end method
  10171.  
  10172. .method private updateWakeLockLocked()V
  10173. .registers 3
  10174.  
  10175. .prologue
  10176. .line 942
  10177. iget v0, p0, Lcom/android/server/PowerManagerService;->mStayOnConditions:I
  10178.  
  10179. if-eqz v0, :cond_19
  10180.  
  10181. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mBatteryService:Lcom/android/server/BatteryService;
  10182.  
  10183. iget v1, p0, Lcom/android/server/PowerManagerService;->mStayOnConditions:I
  10184.  
  10185. invoke-virtual {v0, v1}, Lcom/android/server/BatteryService;->isPowered(I)Z
  10186.  
  10187. move-result v0
  10188.  
  10189. if-eqz v0, :cond_19
  10190.  
  10191. .line 944
  10192. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mStayOnWhilePluggedInScreenDimLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  10193.  
  10194. invoke-virtual {v0}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->acquire()V
  10195.  
  10196. .line 945
  10197. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mStayOnWhilePluggedInPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  10198.  
  10199. invoke-virtual {v0}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->acquire()V
  10200.  
  10201. .line 950
  10202. :goto_18
  10203. return-void
  10204.  
  10205. .line 947
  10206. :cond_19
  10207. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mStayOnWhilePluggedInScreenDimLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  10208.  
  10209. invoke-virtual {v0}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->release()V
  10210.  
  10211. .line 948
  10212. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mStayOnWhilePluggedInPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  10213.  
  10214. invoke-virtual {v0}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->release()V
  10215.  
  10216. goto :goto_18
  10217. .end method
  10218.  
  10219. .method private userActivity(JJZIZ)V
  10220. .registers 19
  10221. .parameter "time"
  10222. .parameter "timeoutOverride"
  10223. .parameter "noChangeLights"
  10224. .parameter "eventType"
  10225. .parameter "force"
  10226.  
  10227. .prologue
  10228. .line 3311
  10229. const-string v1, "undernormal"
  10230.  
  10231. new-instance v2, Ljava/lang/StringBuilder;
  10232.  
  10233. invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
  10234.  
  10235. const-string v3, "eventType = "
  10236.  
  10237. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10238.  
  10239. move-result-object v2
  10240.  
  10241. move/from16 v0, p6
  10242.  
  10243. invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  10244.  
  10245. move-result-object v2
  10246.  
  10247. const-string v3, " force = "
  10248.  
  10249. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10250.  
  10251. move-result-object v2
  10252.  
  10253. move/from16 v0, p7
  10254.  
  10255. invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  10256.  
  10257. move-result-object v2
  10258.  
  10259. invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  10260.  
  10261. move-result-object v2
  10262.  
  10263. invoke-static {v1, v2}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
  10264.  
  10265. .line 3312
  10266. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mIsSmartStayOn:Z
  10267.  
  10268. if-eqz v1, :cond_31
  10269.  
  10270. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mIsSupportSmartStay:Z
  10271.  
  10272. if-eqz v1, :cond_31
  10273.  
  10274. .line 3313
  10275. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->closeCamera()V
  10276.  
  10277. .line 3315
  10278. :cond_31
  10279. iget v1, p0, Lcom/android/server/PowerManagerService;->mPokey:I
  10280.  
  10281. and-int/lit8 v1, v1, 0x1
  10282.  
  10283. if-eqz v1, :cond_3d
  10284.  
  10285. const/4 v1, 0x2
  10286.  
  10287. move/from16 v0, p6
  10288.  
  10289. if-ne v0, v1, :cond_3d
  10290.  
  10291. .line 3376
  10292. :cond_3c
  10293. :goto_3c
  10294. return-void
  10295.  
  10296. .line 3322
  10297. :cond_3d
  10298. iget-object v10, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  10299.  
  10300. monitor-enter v10
  10301.  
  10302. .line 3324
  10303. :try_start_40
  10304. const-string v1, "PowerManagerService"
  10305.  
  10306. new-instance v2, Ljava/lang/StringBuilder;
  10307.  
  10308. invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
  10309.  
  10310. const-string v3, "userActivity mLastEventTime="
  10311.  
  10312. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10313.  
  10314. move-result-object v2
  10315.  
  10316. iget-wide v3, p0, Lcom/android/server/PowerManagerService;->mLastEventTime:J
  10317.  
  10318. invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  10319.  
  10320. move-result-object v2
  10321.  
  10322. const-string v3, " time="
  10323.  
  10324. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10325.  
  10326. move-result-object v2
  10327.  
  10328. invoke-virtual {v2, p1, p2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  10329.  
  10330. move-result-object v2
  10331.  
  10332. const-string v3, " mUserActivityAllowed="
  10333.  
  10334. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10335.  
  10336. move-result-object v2
  10337.  
  10338. iget-boolean v3, p0, Lcom/android/server/PowerManagerService;->mUserActivityAllowed:Z
  10339.  
  10340. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  10341.  
  10342. move-result-object v2
  10343.  
  10344. const-string v3, " mUserState=0x"
  10345.  
  10346. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10347.  
  10348. move-result-object v2
  10349.  
  10350. iget v3, p0, Lcom/android/server/PowerManagerService;->mUserState:I
  10351.  
  10352. invoke-static {v3}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
  10353.  
  10354. move-result-object v3
  10355.  
  10356. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10357.  
  10358. move-result-object v2
  10359.  
  10360. const-string v3, " mWakeLockState=0x"
  10361.  
  10362. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10363.  
  10364. move-result-object v2
  10365.  
  10366. iget v3, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  10367.  
  10368. invoke-static {v3}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
  10369.  
  10370. move-result-object v3
  10371.  
  10372. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10373.  
  10374. move-result-object v2
  10375.  
  10376. const-string v3, " mProximitySensorActive="
  10377.  
  10378. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10379.  
  10380. move-result-object v2
  10381.  
  10382. iget-boolean v3, p0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  10383.  
  10384. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  10385.  
  10386. move-result-object v2
  10387.  
  10388. const-string v3, " mProximitySensorEnabed="
  10389.  
  10390. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10391.  
  10392. move-result-object v2
  10393.  
  10394. iget-boolean v3, p0, Lcom/android/server/PowerManagerService;->mProximitySensorEnabled:Z
  10395.  
  10396. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  10397.  
  10398. move-result-object v2
  10399.  
  10400. const-string v3, " timeoutOverride="
  10401.  
  10402. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10403.  
  10404. move-result-object v2
  10405.  
  10406. invoke-virtual {v2, p3, p4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  10407.  
  10408. move-result-object v2
  10409.  
  10410. const-string v3, " force="
  10411.  
  10412. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10413.  
  10414. move-result-object v2
  10415.  
  10416. move/from16 v0, p7
  10417.  
  10418. invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  10419.  
  10420. move-result-object v2
  10421.  
  10422. invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  10423.  
  10424. move-result-object v2
  10425.  
  10426. invoke-static {v1, v2}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  10427.  
  10428. .line 3334
  10429. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->isScreenTurningOffLocked()Z
  10430.  
  10431. move-result v1
  10432.  
  10433. if-eqz v1, :cond_d1
  10434.  
  10435. .line 3335
  10436. const-string v1, "PowerManagerService"
  10437.  
  10438. const-string v2, "ignoring user activity while turning off screen"
  10439.  
  10440. invoke-static {v1, v2}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  10441.  
  10442. .line 3336
  10443. monitor-exit v10
  10444.  
  10445. goto/16 :goto_3c
  10446.  
  10447. .line 3371
  10448. :catchall_ce
  10449. move-exception v1
  10450.  
  10451. monitor-exit v10
  10452. :try_end_d0
  10453. .catchall {:try_start_40 .. :try_end_d0} :catchall_ce
  10454.  
  10455. throw v1
  10456.  
  10457. .line 3340
  10458. :cond_d1
  10459. :try_start_d1
  10460. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  10461.  
  10462. if-eqz v1, :cond_dc
  10463.  
  10464. iget v1, p0, Lcom/android/server/PowerManagerService;->mProximityWakeLockCount:I
  10465.  
  10466. if-nez v1, :cond_dc
  10467.  
  10468. .line 3341
  10469. const/4 v1, 0x0
  10470.  
  10471. iput-boolean v1, p0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  10472.  
  10473. .line 3343
  10474. :cond_dc
  10475. iget-wide v1, p0, Lcom/android/server/PowerManagerService;->mLastEventTime:J
  10476.  
  10477. cmp-long v1, v1, p1
  10478.  
  10479. if-lez v1, :cond_e4
  10480.  
  10481. if-eqz p7, :cond_12d
  10482.  
  10483. .line 3344
  10484. :cond_e4
  10485. iput-wide p1, p0, Lcom/android/server/PowerManagerService;->mLastEventTime:J
  10486.  
  10487. .line 3345
  10488. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mUserActivityAllowed:Z
  10489.  
  10490. if-eqz v1, :cond_ee
  10491.  
  10492. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  10493.  
  10494. if-eqz v1, :cond_f0
  10495.  
  10496. :cond_ee
  10497. if-eqz p7, :cond_12d
  10498.  
  10499. .line 3348
  10500. :cond_f0
  10501. const/4 v1, 0x1
  10502.  
  10503. move/from16 v0, p6
  10504.  
  10505. if-ne v0, v1, :cond_13b
  10506.  
  10507. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  10508.  
  10509. if-eqz v1, :cond_f9
  10510.  
  10511. .line 3349
  10512. :cond_f9
  10513. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mKeyboardVisible:Z
  10514.  
  10515. if-eqz v1, :cond_139
  10516.  
  10517. const/16 v1, 0xf
  10518.  
  10519. :goto_ff
  10520. iput v1, p0, Lcom/android/server/PowerManagerService;->mUserState:I
  10521.  
  10522. .line 3355
  10523. :goto_101
  10524. invoke-static {}, Landroid/os/Binder;->getCallingUid()I
  10525.  
  10526. move-result v9
  10527.  
  10528. .line 3356
  10529. .local v9, uid:I
  10530. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  10531. :try_end_108
  10532. .catchall {:try_start_d1 .. :try_end_108} :catchall_ce
  10533.  
  10534. move-result-wide v7
  10535.  
  10536. .line 3358
  10537. .local v7, ident:J
  10538. :try_start_109
  10539. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  10540.  
  10541. move/from16 v0, p6
  10542.  
  10543. invoke-interface {v1, v9, v0}, Lcom/android/internal/app/IBatteryStats;->noteUserActivity(II)V
  10544. :try_end_110
  10545. .catchall {:try_start_109 .. :try_end_110} :catchall_147
  10546. .catch Landroid/os/RemoteException; {:try_start_109 .. :try_end_110} :catch_142
  10547.  
  10548. .line 3362
  10549. :try_start_110
  10550. invoke-static {v7, v8}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  10551.  
  10552. .line 3365
  10553. :goto_113
  10554. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  10555.  
  10556. invoke-virtual {v1}, Lcom/android/server/PowerManagerService$LockList;->reactivateScreenLocksLocked()I
  10557.  
  10558. move-result v1
  10559.  
  10560. iput v1, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  10561.  
  10562. .line 3366
  10563. iget v1, p0, Lcom/android/server/PowerManagerService;->mUserState:I
  10564.  
  10565. iget v2, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  10566.  
  10567. or-int/2addr v1, v2
  10568.  
  10569. const/4 v2, 0x2
  10570.  
  10571. move/from16 v0, p5
  10572.  
  10573. invoke-direct {p0, v1, v0, v2}, Lcom/android/server/PowerManagerService;->setPowerState(IZI)V
  10574.  
  10575. .line 3368
  10576. const/4 v6, 0x3
  10577.  
  10578. move-object v1, p0
  10579.  
  10580. move-wide v2, p1
  10581.  
  10582. move-wide v4, p3
  10583.  
  10584. invoke-direct/range {v1 .. v6}, Lcom/android/server/PowerManagerService;->setTimeoutLocked(JJI)V
  10585.  
  10586. .line 3371
  10587. .end local v7 #ident:J
  10588. .end local v9 #uid:I
  10589. :cond_12d
  10590. monitor-exit v10
  10591. :try_end_12e
  10592. .catchall {:try_start_110 .. :try_end_12e} :catchall_ce
  10593.  
  10594. .line 3373
  10595. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mPolicy:Landroid/view/WindowManagerPolicy;
  10596.  
  10597. if-eqz v1, :cond_3c
  10598.  
  10599. .line 3374
  10600. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mPolicy:Landroid/view/WindowManagerPolicy;
  10601.  
  10602. invoke-interface {v1}, Landroid/view/WindowManagerPolicy;->userActivity()V
  10603.  
  10604. goto/16 :goto_3c
  10605.  
  10606. .line 3349
  10607. :cond_139
  10608. const/4 v1, 0x7
  10609.  
  10610. goto :goto_ff
  10611.  
  10612. .line 3352
  10613. :cond_13b
  10614. :try_start_13b
  10615. iget v1, p0, Lcom/android/server/PowerManagerService;->mUserState:I
  10616.  
  10617. or-int/lit8 v1, v1, 0x3
  10618.  
  10619. iput v1, p0, Lcom/android/server/PowerManagerService;->mUserState:I
  10620.  
  10621. goto :goto_101
  10622.  
  10623. .line 3359
  10624. .restart local v7 #ident:J
  10625. .restart local v9 #uid:I
  10626. :catch_142
  10627. move-exception v1
  10628.  
  10629. .line 3362
  10630. invoke-static {v7, v8}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  10631.  
  10632. goto :goto_113
  10633.  
  10634. :catchall_147
  10635. move-exception v1
  10636.  
  10637. invoke-static {v7, v8}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  10638.  
  10639. throw v1
  10640. :try_end_14c
  10641. .catchall {:try_start_13b .. :try_end_14c} :catchall_ce
  10642. .end method
  10643.  
  10644. # virtual methods
  10645. .method public IsProxScreenTurnedOnOff()Z
  10646. .registers 2
  10647.  
  10648. .prologue
  10649. .line 3639
  10650. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mProxIgnoredBecauseScreenTurnedOff:Z
  10651.  
  10652. if-nez v0, :cond_6
  10653.  
  10654. const/4 v0, 0x1
  10655.  
  10656. :goto_5
  10657. return v0
  10658.  
  10659. :cond_6
  10660. const/4 v0, 0x0
  10661.  
  10662. goto :goto_5
  10663. .end method
  10664.  
  10665. .method public acquireWakeLock(ILandroid/os/IBinder;Ljava/lang/String;Landroid/os/WorkSource;)V
  10666. .registers 15
  10667. .parameter "flags"
  10668. .parameter "lock"
  10669. .parameter "tag"
  10670. .parameter "ws"
  10671.  
  10672. .prologue
  10673. .line 970
  10674. invoke-static {}, Landroid/os/Binder;->getCallingUid()I
  10675.  
  10676. move-result v3
  10677.  
  10678. .line 971
  10679. .local v3, uid:I
  10680. invoke-static {}, Landroid/os/Binder;->getCallingPid()I
  10681.  
  10682. move-result v4
  10683.  
  10684. .line 972
  10685. .local v4, pid:I
  10686. invoke-static {}, Landroid/os/Process;->myUid()I
  10687.  
  10688. move-result v0
  10689.  
  10690. if-eq v3, v0, :cond_16
  10691.  
  10692. .line 973
  10693. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  10694.  
  10695. const-string v1, "android.permission.WAKE_LOCK"
  10696.  
  10697. const/4 v2, 0x0
  10698.  
  10699. invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  10700.  
  10701. .line 975
  10702. :cond_16
  10703. if-eqz p4, :cond_1b
  10704.  
  10705. .line 976
  10706. invoke-virtual {p0, v3, v4}, Lcom/android/server/PowerManagerService;->enforceWakeSourcePermission(II)V
  10707.  
  10708. .line 978
  10709. :cond_1b
  10710. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  10711.  
  10712. move-result-wide v7
  10713.  
  10714. .line 980
  10715. .local v7, ident:J
  10716. :try_start_1f
  10717. iget-object v9, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  10718.  
  10719. monitor-enter v9
  10720. :try_end_22
  10721. .catchall {:try_start_1f .. :try_end_22} :catchall_32
  10722.  
  10723. move-object v0, p0
  10724.  
  10725. move v1, p1
  10726.  
  10727. move-object v2, p2
  10728.  
  10729. move-object v5, p3
  10730.  
  10731. move-object v6, p4
  10732.  
  10733. .line 981
  10734. :try_start_27
  10735. invoke-virtual/range {v0 .. v6}, Lcom/android/server/PowerManagerService;->acquireWakeLockLocked(ILandroid/os/IBinder;IILjava/lang/String;Landroid/os/WorkSource;)V
  10736.  
  10737. .line 982
  10738. monitor-exit v9
  10739. :try_end_2b
  10740. .catchall {:try_start_27 .. :try_end_2b} :catchall_2f
  10741.  
  10742. .line 984
  10743. invoke-static {v7, v8}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  10744.  
  10745. .line 986
  10746. return-void
  10747.  
  10748. .line 982
  10749. :catchall_2f
  10750. move-exception v0
  10751.  
  10752. :try_start_30
  10753. monitor-exit v9
  10754. :try_end_31
  10755. .catchall {:try_start_30 .. :try_end_31} :catchall_2f
  10756.  
  10757. :try_start_31
  10758. throw v0
  10759. :try_end_32
  10760. .catchall {:try_start_31 .. :try_end_32} :catchall_32
  10761.  
  10762. .line 984
  10763. :catchall_32
  10764. move-exception v0
  10765.  
  10766. invoke-static {v7, v8}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  10767.  
  10768. throw v0
  10769. .end method
  10770.  
  10771. .method public acquireWakeLockLocked(ILandroid/os/IBinder;IILjava/lang/String;Landroid/os/WorkSource;)V
  10772. .registers 20
  10773. .parameter "flags"
  10774. .parameter "lock"
  10775. .parameter "uid"
  10776. .parameter "pid"
  10777. .parameter "tag"
  10778. .parameter "ws"
  10779.  
  10780. .prologue
  10781. .line 1027
  10782. const-string v2, "PowerManagerService"
  10783.  
  10784. new-instance v3, Ljava/lang/StringBuilder;
  10785.  
  10786. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  10787.  
  10788. const-string v4, "acquireWakeLock flags=0x"
  10789.  
  10790. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10791.  
  10792. move-result-object v3
  10793.  
  10794. invoke-static {p1}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
  10795.  
  10796. move-result-object v4
  10797.  
  10798. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10799.  
  10800. move-result-object v3
  10801.  
  10802. const-string v4, " tag="
  10803.  
  10804. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10805.  
  10806. move-result-object v3
  10807.  
  10808. move-object/from16 v0, p5
  10809.  
  10810. invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10811.  
  10812. move-result-object v3
  10813.  
  10814. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  10815.  
  10816. move-result-object v3
  10817.  
  10818. invoke-static {v2, v3}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  10819.  
  10820. .line 1030
  10821. if-eqz p6, :cond_32
  10822.  
  10823. invoke-virtual/range {p6 .. p6}, Landroid/os/WorkSource;->size()I
  10824.  
  10825. move-result v2
  10826.  
  10827. if-nez v2, :cond_32
  10828.  
  10829. .line 1031
  10830. const/16 p6, 0x0
  10831.  
  10832. .line 1034
  10833. :cond_32
  10834. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  10835.  
  10836. invoke-virtual {v2, p2}, Lcom/android/server/PowerManagerService$LockList;->getIndex(Landroid/os/IBinder;)I
  10837.  
  10838. move-result v9
  10839.  
  10840. .line 1039
  10841. .local v9, index:I
  10842. if-gez v9, :cond_da
  10843.  
  10844. .line 1040
  10845. new-instance v1, Lcom/android/server/PowerManagerService$WakeLock;
  10846.  
  10847. move-object v2, p0
  10848.  
  10849. move v3, p1
  10850.  
  10851. move-object v4, p2
  10852.  
  10853. move-object/from16 v5, p5
  10854.  
  10855. move/from16 v6, p3
  10856.  
  10857. move/from16 v7, p4
  10858.  
  10859. invoke-direct/range {v1 .. v7}, Lcom/android/server/PowerManagerService$WakeLock;-><init>(Lcom/android/server/PowerManagerService;ILandroid/os/IBinder;Ljava/lang/String;II)V
  10860.  
  10861. .line 1041
  10862. .local v1, wl:Lcom/android/server/PowerManagerService$WakeLock;
  10863. iget v2, v1, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  10864.  
  10865. and-int/lit8 v2, v2, 0x3f
  10866.  
  10867. sparse-switch v2, :sswitch_data_1dc
  10868.  
  10869. .line 1062
  10870. const-string v2, "PowerManagerService"
  10871.  
  10872. new-instance v3, Ljava/lang/StringBuilder;
  10873.  
  10874. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  10875.  
  10876. const-string v4, "bad wakelock type for lock \'"
  10877.  
  10878. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10879.  
  10880. move-result-object v3
  10881.  
  10882. move-object/from16 v0, p5
  10883.  
  10884. invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10885.  
  10886. move-result-object v3
  10887.  
  10888. const-string v4, "\' "
  10889.  
  10890. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10891.  
  10892. move-result-object v3
  10893.  
  10894. const-string v4, " flags="
  10895.  
  10896. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10897.  
  10898. move-result-object v3
  10899.  
  10900. invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  10901.  
  10902. move-result-object v3
  10903.  
  10904. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  10905.  
  10906. move-result-object v3
  10907.  
  10908. invoke-static {v2, v3}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
  10909.  
  10910. .line 1158
  10911. :cond_79
  10912. :goto_79
  10913. return-void
  10914.  
  10915. .line 1044
  10916. :sswitch_7a
  10917. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  10918.  
  10919. if-eqz v2, :cond_7e
  10920.  
  10921. .line 1047
  10922. :cond_7e
  10923. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mKeyboardVisible:Z
  10924.  
  10925. if-eqz v2, :cond_d0
  10926.  
  10927. const/16 v2, 0xf
  10928.  
  10929. :goto_84
  10930. iput v2, v1, Lcom/android/server/PowerManagerService$WakeLock;->minState:I
  10931.  
  10932. .line 1066
  10933. :goto_86
  10934. :sswitch_86
  10935. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  10936.  
  10937. invoke-virtual {v2, v1}, Lcom/android/server/PowerManagerService$LockList;->addLock(Lcom/android/server/PowerManagerService$WakeLock;)V
  10938.  
  10939. .line 1067
  10940. if-eqz p6, :cond_96
  10941.  
  10942. .line 1068
  10943. new-instance v2, Landroid/os/WorkSource;
  10944.  
  10945. move-object/from16 v0, p6
  10946.  
  10947. invoke-direct {v2, v0}, Landroid/os/WorkSource;-><init>(Landroid/os/WorkSource;)V
  10948.  
  10949. iput-object v2, v1, Lcom/android/server/PowerManagerService$WakeLock;->ws:Landroid/os/WorkSource;
  10950.  
  10951. .line 1070
  10952. :cond_96
  10953. const/4 v10, 0x1
  10954.  
  10955. .line 1071
  10956. .local v10, newlock:Z
  10957. const/4 v8, 0x0
  10958.  
  10959. .line 1072
  10960. .local v8, diffsource:Z
  10961. const/4 v12, 0x0
  10962.  
  10963. .line 1073
  10964. .local v12, oldsource:Landroid/os/WorkSource;
  10965. invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
  10966.  
  10967. move-result-wide v2
  10968.  
  10969. iput-wide v2, v1, Lcom/android/server/PowerManagerService$WakeLock;->active_since:J
  10970.  
  10971. .line 1094
  10972. :cond_9f
  10973. :goto_9f
  10974. invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->isScreenLock(I)Z
  10975.  
  10976. move-result v2
  10977.  
  10978. if-eqz v2, :cond_1c2
  10979.  
  10980. .line 1099
  10981. and-int/lit8 v2, p1, 0x3f
  10982.  
  10983. const/16 v3, 0x20
  10984.  
  10985. if-ne v2, v3, :cond_106
  10986.  
  10987. .line 1100
  10988. iget v2, p0, Lcom/android/server/PowerManagerService;->mProximityWakeLockCount:I
  10989.  
  10990. add-int/lit8 v2, v2, 0x1
  10991.  
  10992. iput v2, p0, Lcom/android/server/PowerManagerService;->mProximityWakeLockCount:I
  10993.  
  10994. .line 1101
  10995. iget v2, p0, Lcom/android/server/PowerManagerService;->mProximityWakeLockCount:I
  10996.  
  10997. const/4 v3, 0x1
  10998.  
  10999. if-ne v2, v3, :cond_b9
  11000.  
  11001. .line 1102
  11002. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->enableProximityLockLocked()V
  11003.  
  11004. .line 1146
  11005. :cond_b9
  11006. :goto_b9
  11007. if-eqz v8, :cond_be
  11008.  
  11009. .line 1149
  11010. invoke-virtual {p0, v1, v12}, Lcom/android/server/PowerManagerService;->noteStopWakeLocked(Lcom/android/server/PowerManagerService$WakeLock;Landroid/os/WorkSource;)V
  11011.  
  11012. .line 1151
  11013. :cond_be
  11014. if-nez v10, :cond_c2
  11015.  
  11016. if-eqz v8, :cond_c7
  11017.  
  11018. .line 1152
  11019. :cond_c2
  11020. move-object/from16 v0, p6
  11021.  
  11022. invoke-virtual {p0, v1, v0}, Lcom/android/server/PowerManagerService;->noteStartWakeLocked(Lcom/android/server/PowerManagerService$WakeLock;Landroid/os/WorkSource;)V
  11023.  
  11024. .line 1155
  11025. :cond_c7
  11026. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mIsWakeLockBGDbgModeRunning:Z
  11027.  
  11028. if-eqz v2, :cond_79
  11029.  
  11030. .line 1156
  11031. const/4 v2, 0x1
  11032.  
  11033. invoke-direct {p0, v1, v2}, Lcom/android/server/PowerManagerService;->getDynamicWakeLockLocked(Lcom/android/server/PowerManagerService$WakeLock;Z)V
  11034.  
  11035. goto :goto_79
  11036.  
  11037. .line 1047
  11038. .end local v8 #diffsource:Z
  11039. .end local v10 #newlock:Z
  11040. .end local v12 #oldsource:Landroid/os/WorkSource;
  11041. :cond_d0
  11042. const/4 v2, 0x7
  11043.  
  11044. goto :goto_84
  11045.  
  11046. .line 1051
  11047. :sswitch_d2
  11048. const/4 v2, 0x3
  11049.  
  11050. iput v2, v1, Lcom/android/server/PowerManagerService$WakeLock;->minState:I
  11051.  
  11052. goto :goto_86
  11053.  
  11054. .line 1054
  11055. :sswitch_d6
  11056. const/4 v2, 0x1
  11057.  
  11058. iput v2, v1, Lcom/android/server/PowerManagerService$WakeLock;->minState:I
  11059.  
  11060. goto :goto_86
  11061.  
  11062. .line 1075
  11063. .end local v1 #wl:Lcom/android/server/PowerManagerService$WakeLock;
  11064. :cond_da
  11065. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  11066.  
  11067. invoke-virtual {v2, v9}, Lcom/android/server/PowerManagerService$LockList;->get(I)Ljava/lang/Object;
  11068.  
  11069. move-result-object v1
  11070.  
  11071. check-cast v1, Lcom/android/server/PowerManagerService$WakeLock;
  11072.  
  11073. .line 1076
  11074. .restart local v1 #wl:Lcom/android/server/PowerManagerService$WakeLock;
  11075. const/4 v10, 0x0
  11076.  
  11077. .line 1077
  11078. .restart local v10 #newlock:Z
  11079. iget-object v12, v1, Lcom/android/server/PowerManagerService$WakeLock;->ws:Landroid/os/WorkSource;
  11080.  
  11081. .line 1078
  11082. .restart local v12 #oldsource:Landroid/os/WorkSource;
  11083. if-eqz v12, :cond_100
  11084.  
  11085. .line 1079
  11086. if-nez p6, :cond_f9
  11087.  
  11088. .line 1080
  11089. const/4 v2, 0x0
  11090.  
  11091. iput-object v2, v1, Lcom/android/server/PowerManagerService$WakeLock;->ws:Landroid/os/WorkSource;
  11092.  
  11093. .line 1081
  11094. const/4 v8, 0x1
  11095.  
  11096. .line 1090
  11097. .restart local v8 #diffsource:Z
  11098. :goto_ed
  11099. if-eqz v8, :cond_9f
  11100.  
  11101. .line 1091
  11102. new-instance v2, Landroid/os/WorkSource;
  11103.  
  11104. move-object/from16 v0, p6
  11105.  
  11106. invoke-direct {v2, v0}, Landroid/os/WorkSource;-><init>(Landroid/os/WorkSource;)V
  11107.  
  11108. iput-object v2, v1, Lcom/android/server/PowerManagerService$WakeLock;->ws:Landroid/os/WorkSource;
  11109.  
  11110. goto :goto_9f
  11111.  
  11112. .line 1083
  11113. .end local v8 #diffsource:Z
  11114. :cond_f9
  11115. move-object/from16 v0, p6
  11116.  
  11117. invoke-virtual {v12, v0}, Landroid/os/WorkSource;->diff(Landroid/os/WorkSource;)Z
  11118.  
  11119. move-result v8
  11120.  
  11121. .restart local v8 #diffsource:Z
  11122. goto :goto_ed
  11123.  
  11124. .line 1085
  11125. .end local v8 #diffsource:Z
  11126. :cond_100
  11127. if-eqz p6, :cond_104
  11128.  
  11129. .line 1086
  11130. const/4 v8, 0x1
  11131.  
  11132. .restart local v8 #diffsource:Z
  11133. goto :goto_ed
  11134.  
  11135. .line 1088
  11136. .end local v8 #diffsource:Z
  11137. :cond_104
  11138. const/4 v8, 0x0
  11139.  
  11140. .restart local v8 #diffsource:Z
  11141. goto :goto_ed
  11142.  
  11143. .line 1105
  11144. :cond_106
  11145. iget v2, v1, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  11146.  
  11147. const/high16 v3, 0x1000
  11148.  
  11149. and-int/2addr v2, v3
  11150.  
  11151. if-eqz v2, :cond_171
  11152.  
  11153. .line 1106
  11154. iget v11, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  11155.  
  11156. .line 1107
  11157. .local v11, oldWakeLockState:I
  11158. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  11159.  
  11160. invoke-virtual {v2}, Lcom/android/server/PowerManagerService$LockList;->reactivateScreenLocksLocked()I
  11161.  
  11162. move-result v2
  11163.  
  11164. iput v2, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  11165.  
  11166. .line 1111
  11167. iget v2, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  11168.  
  11169. and-int/lit8 v2, v2, 0x1
  11170.  
  11171. if-eqz v2, :cond_12b
  11172.  
  11173. iget-boolean v2, p0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  11174.  
  11175. if-eqz v2, :cond_12b
  11176.  
  11177. iget v2, p0, Lcom/android/server/PowerManagerService;->mProximityWakeLockCount:I
  11178.  
  11179. if-nez v2, :cond_12b
  11180.  
  11181. .line 1113
  11182. const/4 v2, 0x0
  11183.  
  11184. iput-boolean v2, p0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  11185.  
  11186. .line 1114
  11187. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->disableProximityLockLocked()V
  11188.  
  11189. .line 1118
  11190. :cond_12b
  11191. const-string v2, "PowerManagerService"
  11192.  
  11193. new-instance v3, Ljava/lang/StringBuilder;
  11194.  
  11195. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  11196.  
  11197. const-string v4, "wakeup here mUserState=0x"
  11198.  
  11199. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11200.  
  11201. move-result-object v3
  11202.  
  11203. iget v4, p0, Lcom/android/server/PowerManagerService;->mUserState:I
  11204.  
  11205. invoke-static {v4}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
  11206.  
  11207. move-result-object v4
  11208.  
  11209. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11210.  
  11211. move-result-object v3
  11212.  
  11213. const-string v4, " mWakeLockState=0x"
  11214.  
  11215. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11216.  
  11217. move-result-object v3
  11218.  
  11219. iget v4, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  11220.  
  11221. invoke-static {v4}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
  11222.  
  11223. move-result-object v4
  11224.  
  11225. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11226.  
  11227. move-result-object v3
  11228.  
  11229. const-string v4, " previous wakeLockState=0x"
  11230.  
  11231. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11232.  
  11233. move-result-object v3
  11234.  
  11235. invoke-static {v11}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
  11236.  
  11237. move-result-object v4
  11238.  
  11239. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11240.  
  11241. move-result-object v3
  11242.  
  11243. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  11244.  
  11245. move-result-object v3
  11246.  
  11247. invoke-static {v2, v3}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  11248.  
  11249. .line 1133
  11250. .end local v11 #oldWakeLockState:I
  11251. :goto_167
  11252. iget v2, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  11253.  
  11254. iget v3, p0, Lcom/android/server/PowerManagerService;->mUserState:I
  11255.  
  11256. or-int/2addr v2, v3
  11257.  
  11258. invoke-direct {p0, v2}, Lcom/android/server/PowerManagerService;->setPowerState(I)V
  11259.  
  11260. goto/16 :goto_b9
  11261.  
  11262. .line 1126
  11263. :cond_171
  11264. const-string v2, "PowerManagerService"
  11265.  
  11266. new-instance v3, Ljava/lang/StringBuilder;
  11267.  
  11268. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  11269.  
  11270. const-string v4, "here mUserState=0x"
  11271.  
  11272. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11273.  
  11274. move-result-object v3
  11275.  
  11276. iget v4, p0, Lcom/android/server/PowerManagerService;->mUserState:I
  11277.  
  11278. invoke-static {v4}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
  11279.  
  11280. move-result-object v4
  11281.  
  11282. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11283.  
  11284. move-result-object v3
  11285.  
  11286. const-string v4, " mLocks.gatherState()=0x"
  11287.  
  11288. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11289.  
  11290. move-result-object v3
  11291.  
  11292. iget-object v4, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  11293.  
  11294. invoke-virtual {v4}, Lcom/android/server/PowerManagerService$LockList;->gatherState()I
  11295.  
  11296. move-result v4
  11297.  
  11298. invoke-static {v4}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
  11299.  
  11300. move-result-object v4
  11301.  
  11302. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11303.  
  11304. move-result-object v3
  11305.  
  11306. const-string v4, " mWakeLockState=0x"
  11307.  
  11308. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11309.  
  11310. move-result-object v3
  11311.  
  11312. iget v4, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  11313.  
  11314. invoke-static {v4}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
  11315.  
  11316. move-result-object v4
  11317.  
  11318. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11319.  
  11320. move-result-object v3
  11321.  
  11322. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  11323.  
  11324. move-result-object v3
  11325.  
  11326. invoke-static {v2, v3}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  11327.  
  11328. .line 1131
  11329. iget v2, p0, Lcom/android/server/PowerManagerService;->mUserState:I
  11330.  
  11331. iget v3, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  11332.  
  11333. or-int/2addr v2, v3
  11334.  
  11335. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  11336.  
  11337. invoke-virtual {v3}, Lcom/android/server/PowerManagerService$LockList;->gatherState()I
  11338.  
  11339. move-result v3
  11340.  
  11341. and-int/2addr v2, v3
  11342.  
  11343. iput v2, p0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  11344.  
  11345. goto :goto_167
  11346.  
  11347. .line 1136
  11348. :cond_1c2
  11349. and-int/lit8 v2, p1, 0x3f
  11350.  
  11351. const/4 v3, 0x1
  11352.  
  11353. if-ne v2, v3, :cond_b9
  11354.  
  11355. .line 1137
  11356. if-eqz v10, :cond_1d4
  11357.  
  11358. .line 1138
  11359. iget v2, p0, Lcom/android/server/PowerManagerService;->mPartialCount:I
  11360.  
  11361. add-int/lit8 v2, v2, 0x1
  11362.  
  11363. iput v2, p0, Lcom/android/server/PowerManagerService;->mPartialCount:I
  11364.  
  11365. .line 1139
  11366. iget v2, p0, Lcom/android/server/PowerManagerService;->mPartialCount:I
  11367.  
  11368. const/4 v3, 0x1
  11369.  
  11370. if-ne v2, v3, :cond_1d4
  11371.  
  11372. .line 1143
  11373. :cond_1d4
  11374. const/4 v2, 0x1
  11375.  
  11376. const-string v3, "PowerManagerService"
  11377.  
  11378. invoke-static {v2, v3}, Landroid/os/Power;->acquireWakeLock(ILjava/lang/String;)V
  11379.  
  11380. goto/16 :goto_b9
  11381.  
  11382. .line 1041
  11383. :sswitch_data_1dc
  11384. .sparse-switch
  11385. 0x1 -> :sswitch_86
  11386. 0x6 -> :sswitch_d6
  11387. 0xa -> :sswitch_d2
  11388. 0x1a -> :sswitch_7a
  11389. 0x20 -> :sswitch_86
  11390. .end sparse-switch
  11391. .end method
  11392.  
  11393. .method public autoFocus()V
  11394. .registers 3
  11395.  
  11396. .prologue
  11397. .line 1920
  11398. invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
  11399.  
  11400. move-result-wide v0
  11401.  
  11402. iput-wide v0, p0, Lcom/android/server/PowerManagerService;->mFocusStartTime:J
  11403.  
  11404. .line 1921
  11405. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  11406.  
  11407. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mAutoFocusCallback:Lcom/android/server/PowerManagerService$AutoFocusCallback;
  11408.  
  11409. invoke-virtual {v0, v1}, Landroid/hardware/Camera;->autoFocus(Landroid/hardware/Camera$AutoFocusCallback;)V
  11410.  
  11411. .line 1922
  11412. const/4 v0, 0x2
  11413.  
  11414. iput v0, p0, Lcom/android/server/PowerManagerService;->mCameraState:I
  11415.  
  11416. .line 1923
  11417. return-void
  11418. .end method
  11419.  
  11420. .method bootCompleted()V
  11421. .registers 8
  11422.  
  11423. .prologue
  11424. .line 3944
  11425. const-string v0, "PowerManagerService"
  11426.  
  11427. const-string v1, "bootCompleted"
  11428.  
  11429. invoke-static {v0, v1}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  11430.  
  11431. .line 3945
  11432. iget-object v6, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  11433.  
  11434. monitor-enter v6
  11435.  
  11436. .line 3946
  11437. const/4 v0, 0x1
  11438.  
  11439. :try_start_b
  11440. iput-boolean v0, p0, Lcom/android/server/PowerManagerService;->mBootCompleted:Z
  11441.  
  11442. .line 3947
  11443. invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
  11444.  
  11445. move-result-wide v1
  11446.  
  11447. const/4 v3, 0x0
  11448.  
  11449. const/4 v4, 0x1
  11450.  
  11451. const/4 v5, 0x1
  11452.  
  11453. move-object v0, p0
  11454.  
  11455. invoke-virtual/range {v0 .. v5}, Lcom/android/server/PowerManagerService;->userActivity(JZIZ)V
  11456.  
  11457. .line 3948
  11458. iget v0, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  11459.  
  11460. and-int/lit8 v0, v0, 0x1
  11461.  
  11462. if-eqz v0, :cond_23
  11463.  
  11464. .line 3949
  11465. const/4 v0, 0x1
  11466.  
  11467. const/4 v1, -0x1
  11468.  
  11469. invoke-direct {p0, v0, v1}, Lcom/android/server/PowerManagerService;->sendNotificationLocked(ZI)V
  11470.  
  11471. .line 3951
  11472. :cond_23
  11473. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->updateWakeLockLocked()V
  11474.  
  11475. .line 3952
  11476. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  11477.  
  11478. invoke-virtual {v0}, Ljava/lang/Object;->notifyAll()V
  11479.  
  11480. .line 3953
  11481. monitor-exit v6
  11482.  
  11483. .line 3954
  11484. return-void
  11485.  
  11486. .line 3953
  11487. :catchall_2d
  11488. move-exception v0
  11489.  
  11490. monitor-exit v6
  11491. :try_end_2f
  11492. .catchall {:try_start_b .. :try_end_2f} :catchall_2d
  11493.  
  11494. throw v0
  11495. .end method
  11496.  
  11497. .method public cancelAutoFocus()V
  11498. .registers 4
  11499.  
  11500. .prologue
  11501. const/4 v2, 0x4
  11502.  
  11503. .line 1926
  11504. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  11505.  
  11506. invoke-virtual {v0}, Landroid/hardware/Camera;->cancelAutoFocus()V
  11507.  
  11508. .line 1927
  11509. iget v0, p0, Lcom/android/server/PowerManagerService;->mCameraState:I
  11510.  
  11511. if-eq v0, v2, :cond_12
  11512.  
  11513. iget v0, p0, Lcom/android/server/PowerManagerService;->mCameraState:I
  11514.  
  11515. const/4 v1, 0x3
  11516.  
  11517. if-eq v0, v1, :cond_12
  11518.  
  11519. .line 1929
  11520. const/4 v0, 0x1
  11521.  
  11522. iput v0, p0, Lcom/android/server/PowerManagerService;->mCameraState:I
  11523.  
  11524. .line 1931
  11525. :cond_12
  11526. invoke-direct {p0, v2}, Lcom/android/server/PowerManagerService;->setCameraParameters(I)V
  11527.  
  11528. .line 1932
  11529. return-void
  11530. .end method
  11531.  
  11532. .method public clearUserActivityTimeout(JJ)V
  11533. .registers 13
  11534. .parameter "now"
  11535. .parameter "timeout"
  11536.  
  11537. .prologue
  11538. const/4 v5, 0x0
  11539.  
  11540. .line 3303
  11541. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  11542.  
  11543. const-string v1, "android.permission.DEVICE_POWER"
  11544.  
  11545. const/4 v2, 0x0
  11546.  
  11547. invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  11548.  
  11549. .line 3304
  11550. const-string v0, "PowerManagerService"
  11551.  
  11552. new-instance v1, Ljava/lang/StringBuilder;
  11553.  
  11554. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  11555.  
  11556. const-string v2, "clearUserActivity for "
  11557.  
  11558. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11559.  
  11560. move-result-object v1
  11561.  
  11562. invoke-virtual {v1, p3, p4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  11563.  
  11564. move-result-object v1
  11565.  
  11566. const-string v2, "ms from now"
  11567.  
  11568. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11569.  
  11570. move-result-object v1
  11571.  
  11572. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  11573.  
  11574. move-result-object v1
  11575.  
  11576. invoke-static {v0, v1}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
  11577.  
  11578. move-object v0, p0
  11579.  
  11580. move-wide v1, p1
  11581.  
  11582. move-wide v3, p3
  11583.  
  11584. move v6, v5
  11585.  
  11586. move v7, v5
  11587.  
  11588. .line 3305
  11589. invoke-direct/range {v0 .. v7}, Lcom/android/server/PowerManagerService;->userActivity(JJZIZ)V
  11590.  
  11591. .line 3306
  11592. return-void
  11593. .end method
  11594.  
  11595. .method public crash(Ljava/lang/String;)V
  11596. .registers 7
  11597. .parameter "message"
  11598.  
  11599. .prologue
  11600. .line 3585
  11601. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  11602.  
  11603. const-string v3, "android.permission.REBOOT"
  11604.  
  11605. const/4 v4, 0x0
  11606.  
  11607. invoke-virtual {v2, v3, v4}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  11608.  
  11609. .line 3586
  11610. new-instance v1, Lcom/android/server/PowerManagerService$14;
  11611.  
  11612. const-string v2, "PowerManagerService.crash()"
  11613.  
  11614. invoke-direct {v1, p0, v2, p1}, Lcom/android/server/PowerManagerService$14;-><init>(Lcom/android/server/PowerManagerService;Ljava/lang/String;Ljava/lang/String;)V
  11615.  
  11616. .line 3590
  11617. .local v1, t:Ljava/lang/Thread;
  11618. :try_start_f
  11619. invoke-virtual {v1}, Ljava/lang/Thread;->start()V
  11620.  
  11621. .line 3591
  11622. invoke-virtual {v1}, Ljava/lang/Thread;->join()V
  11623. :try_end_15
  11624. .catch Ljava/lang/InterruptedException; {:try_start_f .. :try_end_15} :catch_16
  11625.  
  11626. .line 3595
  11627. :goto_15
  11628. return-void
  11629.  
  11630. .line 3592
  11631. :catch_16
  11632. move-exception v0
  11633.  
  11634. .line 3593
  11635. .local v0, e:Ljava/lang/InterruptedException;
  11636. const-string v2, "PowerManagerService"
  11637.  
  11638. invoke-static {v2, v0}, Landroid/util/Log;->wtf(Ljava/lang/String;Ljava/lang/Throwable;)I
  11639.  
  11640. goto :goto_15
  11641. .end method
  11642.  
  11643. .method public debugWakeLock()Ljava/lang/String;
  11644. .registers 13
  11645.  
  11646. .prologue
  11647. .line 4356
  11648. iget-object v7, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  11649.  
  11650. monitor-enter v7
  11651.  
  11652. .line 4360
  11653. :try_start_3
  11654. iget-object v6, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  11655.  
  11656. invoke-virtual {v6}, Lcom/android/server/PowerManagerService$LockList;->size()I
  11657.  
  11658. move-result v0
  11659.  
  11660. .line 4361
  11661. .local v0, N:I
  11662. const/4 v5, 0x0
  11663.  
  11664. .line 4362
  11665. .local v5, wl:Lcom/android/server/PowerManagerService$WakeLock;
  11666. new-instance v6, Ljava/lang/StringBuilder;
  11667.  
  11668. invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
  11669.  
  11670. const-string v8, "WakeLock List Size = "
  11671.  
  11672. invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11673.  
  11674. move-result-object v6
  11675.  
  11676. invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  11677.  
  11678. move-result-object v6
  11679.  
  11680. invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  11681.  
  11682. move-result-object v2
  11683.  
  11684. .line 4363
  11685. .local v2, result:Ljava/lang/String;
  11686. const/4 v1, 0x0
  11687.  
  11688. .local v1, i:I
  11689. :goto_1e
  11690. if-ge v1, v0, :cond_9e
  11691.  
  11692. .line 4364
  11693. iget-object v6, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  11694.  
  11695. invoke-virtual {v6, v1}, Lcom/android/server/PowerManagerService$LockList;->get(I)Ljava/lang/Object;
  11696.  
  11697. move-result-object v5
  11698.  
  11699. .end local v5 #wl:Lcom/android/server/PowerManagerService$WakeLock;
  11700. check-cast v5, Lcom/android/server/PowerManagerService$WakeLock;
  11701.  
  11702. .line 4365
  11703. .restart local v5 #wl:Lcom/android/server/PowerManagerService$WakeLock;
  11704. if-nez v5, :cond_4c
  11705.  
  11706. .line 4366
  11707. new-instance v6, Ljava/lang/StringBuilder;
  11708.  
  11709. invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
  11710.  
  11711. invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11712.  
  11713. move-result-object v6
  11714.  
  11715. const-string v8, "\nNo."
  11716.  
  11717. invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11718.  
  11719. move-result-object v6
  11720.  
  11721. add-int/lit8 v8, v1, 0x1
  11722.  
  11723. invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  11724.  
  11725. move-result-object v6
  11726.  
  11727. const-string v8, ": get null pointer"
  11728.  
  11729. invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11730.  
  11731. move-result-object v6
  11732.  
  11733. invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  11734.  
  11735. move-result-object v2
  11736.  
  11737. .line 4363
  11738. :goto_49
  11739. add-int/lit8 v1, v1, 0x1
  11740.  
  11741. goto :goto_1e
  11742.  
  11743. .line 4369
  11744. :cond_4c
  11745. iget-wide v3, v5, Lcom/android/server/PowerManagerService$WakeLock;->total_time:J
  11746.  
  11747. .line 4370
  11748. .local v3, total_time:J
  11749. iget-boolean v6, v5, Lcom/android/server/PowerManagerService$WakeLock;->activated:Z
  11750.  
  11751. if-eqz v6, :cond_5a
  11752.  
  11753. .line 4371
  11754. invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
  11755.  
  11756. move-result-wide v8
  11757.  
  11758. iget-wide v10, v5, Lcom/android/server/PowerManagerService$WakeLock;->active_since:J
  11759.  
  11760. sub-long/2addr v8, v10
  11761.  
  11762. add-long/2addr v3, v8
  11763.  
  11764. .line 4373
  11765. :cond_5a
  11766. new-instance v6, Ljava/lang/StringBuilder;
  11767.  
  11768. invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
  11769.  
  11770. invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11771.  
  11772. move-result-object v6
  11773.  
  11774. const-string v8, "\nNo."
  11775.  
  11776. invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11777.  
  11778. move-result-object v6
  11779.  
  11780. add-int/lit8 v8, v1, 0x1
  11781.  
  11782. invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  11783.  
  11784. move-result-object v6
  11785.  
  11786. const-string v8, ": TAG = "
  11787.  
  11788. invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11789.  
  11790. move-result-object v6
  11791.  
  11792. iget-object v8, v5, Lcom/android/server/PowerManagerService$WakeLock;->tag:Ljava/lang/String;
  11793.  
  11794. invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11795.  
  11796. move-result-object v6
  11797.  
  11798. const-string v8, " , FLAG = "
  11799.  
  11800. invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11801.  
  11802. move-result-object v6
  11803.  
  11804. invoke-direct {p0, v5}, Lcom/android/server/PowerManagerService;->getWakeLockFlagLocked(Lcom/android/server/PowerManagerService$WakeLock;)Ljava/lang/String;
  11805.  
  11806. move-result-object v8
  11807.  
  11808. invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11809.  
  11810. move-result-object v6
  11811.  
  11812. const-string v8, "("
  11813.  
  11814. invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11815.  
  11816. move-result-object v6
  11817.  
  11818. invoke-virtual {v6, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  11819.  
  11820. move-result-object v6
  11821.  
  11822. const-string v8, "ms)"
  11823.  
  11824. invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11825.  
  11826. move-result-object v6
  11827.  
  11828. invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  11829.  
  11830. move-result-object v2
  11831.  
  11832. goto :goto_49
  11833.  
  11834. .line 4375
  11835. .end local v3 #total_time:J
  11836. :cond_9e
  11837. monitor-exit v7
  11838. :try_end_9f
  11839. .catchall {:try_start_3 .. :try_end_9f} :catchall_b8
  11840.  
  11841. .line 4377
  11842. const-string v6, "PowerManagerService"
  11843.  
  11844. new-instance v7, Ljava/lang/StringBuilder;
  11845.  
  11846. invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
  11847.  
  11848. const-string v8, "debugWakeLock in ForeGround Mode, result String="
  11849.  
  11850. invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11851.  
  11852. move-result-object v7
  11853.  
  11854. invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11855.  
  11856. move-result-object v7
  11857.  
  11858. invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  11859.  
  11860. move-result-object v7
  11861.  
  11862. invoke-static {v6, v7}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  11863.  
  11864. .line 4378
  11865. return-object v2
  11866.  
  11867. .line 4375
  11868. .end local v0 #N:I
  11869. .end local v1 #i:I
  11870. .end local v2 #result:Ljava/lang/String;
  11871. .end local v5 #wl:Lcom/android/server/PowerManagerService$WakeLock;
  11872. :catchall_b8
  11873. move-exception v6
  11874.  
  11875. :try_start_b9
  11876. monitor-exit v7
  11877. :try_end_ba
  11878. .catchall {:try_start_b9 .. :try_end_ba} :catchall_b8
  11879.  
  11880. throw v6
  11881. .end method
  11882.  
  11883. .method public debugWakeLockUnderBG(ZZ)Ljava/lang/String;
  11884. .registers 6
  11885. .parameter "isStartBgMode"
  11886. .parameter "isSkipByTag"
  11887.  
  11888. .prologue
  11889. .line 4385
  11890. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  11891.  
  11892. monitor-enter v1
  11893.  
  11894. .line 4390
  11895. if-eqz p1, :cond_32
  11896.  
  11897. .line 4391
  11898. :try_start_5
  11899. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mIsWakeLockBGDbgModeRunning:Z
  11900.  
  11901. if-nez v0, :cond_2b
  11902.  
  11903. .line 4392
  11904. const/4 v0, 0x1
  11905.  
  11906. iput-boolean v0, p0, Lcom/android/server/PowerManagerService;->mIsWakeLockBGDbgModeRunning:Z
  11907.  
  11908. .line 4394
  11909. iput-boolean p2, p0, Lcom/android/server/PowerManagerService;->mIsWakeLockSkippedByTag:Z
  11910.  
  11911. .line 4395
  11912. new-instance v0, Ljava/lang/StringBuilder;
  11913.  
  11914. invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
  11915.  
  11916. invoke-virtual {p0}, Lcom/android/server/PowerManagerService;->debugWakeLock()Ljava/lang/String;
  11917.  
  11918. move-result-object v2
  11919.  
  11920. invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11921.  
  11922. move-result-object v0
  11923.  
  11924. const-string v2, "\n"
  11925.  
  11926. invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11927.  
  11928. move-result-object v0
  11929.  
  11930. invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  11931.  
  11932. move-result-object v0
  11933.  
  11934. iput-object v0, p0, Lcom/android/server/PowerManagerService;->mWakeLockBGDbgModeResult:Ljava/lang/String;
  11935.  
  11936. .line 4396
  11937. const-string v0, "BackGround Mode Starts now."
  11938.  
  11939. monitor-exit v1
  11940.  
  11941. .line 4408
  11942. :goto_2a
  11943. return-object v0
  11944.  
  11945. .line 4399
  11946. :cond_2b
  11947. const-string v0, "BackGround Mode Starts already!"
  11948.  
  11949. monitor-exit v1
  11950.  
  11951. goto :goto_2a
  11952.  
  11953. .line 4411
  11954. :catchall_2f
  11955. move-exception v0
  11956.  
  11957. monitor-exit v1
  11958. :try_end_31
  11959. .catchall {:try_start_5 .. :try_end_31} :catchall_2f
  11960.  
  11961. throw v0
  11962.  
  11963. .line 4403
  11964. :cond_32
  11965. :try_start_32
  11966. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mIsWakeLockBGDbgModeRunning:Z
  11967.  
  11968. if-eqz v0, :cond_5c
  11969.  
  11970. .line 4404
  11971. const/4 v0, 0x0
  11972.  
  11973. iput-boolean v0, p0, Lcom/android/server/PowerManagerService;->mIsWakeLockBGDbgModeRunning:Z
  11974.  
  11975. .line 4405
  11976. new-instance v0, Ljava/lang/StringBuilder;
  11977.  
  11978. invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
  11979.  
  11980. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mWakeLockBGDbgModeResult:Ljava/lang/String;
  11981.  
  11982. invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11983.  
  11984. move-result-object v0
  11985.  
  11986. const-string v2, "\n\n"
  11987.  
  11988. invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11989.  
  11990. move-result-object v0
  11991.  
  11992. invoke-virtual {p0}, Lcom/android/server/PowerManagerService;->debugWakeLock()Ljava/lang/String;
  11993.  
  11994. move-result-object v2
  11995.  
  11996. invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11997.  
  11998. move-result-object v0
  11999.  
  12000. invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  12001.  
  12002. move-result-object v0
  12003.  
  12004. iput-object v0, p0, Lcom/android/server/PowerManagerService;->mWakeLockBGDbgModeResult:Ljava/lang/String;
  12005.  
  12006. .line 4406
  12007. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mWakeLockBGDbgModeResult:Ljava/lang/String;
  12008.  
  12009. monitor-exit v1
  12010.  
  12011. goto :goto_2a
  12012.  
  12013. .line 4408
  12014. :cond_5c
  12015. const-string v0, "BackGround Mode Stops already."
  12016.  
  12017. monitor-exit v1
  12018. :try_end_5f
  12019. .catchall {:try_start_32 .. :try_end_5f} :catchall_2f
  12020.  
  12021. goto :goto_2a
  12022. .end method
  12023.  
  12024. .method public dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
  12025. .registers 24
  12026. .parameter "fd"
  12027. .parameter "pw"
  12028. .parameter "args"
  12029.  
  12030. .prologue
  12031. .line 1367
  12032. move-object/from16 v0, p0
  12033.  
  12034. iget-object v14, v0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  12035.  
  12036. const-string v15, "android.permission.DUMP"
  12037.  
  12038. invoke-virtual {v14, v15}, Landroid/content/Context;->checkCallingOrSelfPermission(Ljava/lang/String;)I
  12039.  
  12040. move-result v14
  12041.  
  12042. if-eqz v14, :cond_37
  12043.  
  12044. .line 1369
  12045. new-instance v14, Ljava/lang/StringBuilder;
  12046.  
  12047. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  12048.  
  12049. const-string v15, "Permission Denial: can\'t dump PowerManager from from pid="
  12050.  
  12051. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12052.  
  12053. move-result-object v14
  12054.  
  12055. invoke-static {}, Landroid/os/Binder;->getCallingPid()I
  12056.  
  12057. move-result v15
  12058.  
  12059. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  12060.  
  12061. move-result-object v14
  12062.  
  12063. const-string v15, ", uid="
  12064.  
  12065. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12066.  
  12067. move-result-object v14
  12068.  
  12069. invoke-static {}, Landroid/os/Binder;->getCallingUid()I
  12070.  
  12071. move-result v15
  12072.  
  12073. invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  12074.  
  12075. move-result-object v14
  12076.  
  12077. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  12078.  
  12079. move-result-object v14
  12080.  
  12081. move-object/from16 v0, p2
  12082.  
  12083. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  12084.  
  12085. .line 1469
  12086. :goto_36
  12087. return-void
  12088.  
  12089. .line 1375
  12090. :cond_37
  12091. invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
  12092.  
  12093. move-result-wide v7
  12094.  
  12095. .line 1377
  12096. .local v7, now:J
  12097. move-object/from16 v0, p0
  12098.  
  12099. iget-object v15, v0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  12100.  
  12101. monitor-enter v15
  12102.  
  12103. .line 1378
  12104. :try_start_40
  12105. const-string v14, "Power Manager State:"
  12106.  
  12107. move-object/from16 v0, p2
  12108.  
  12109. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  12110.  
  12111. .line 1379
  12112. new-instance v14, Ljava/lang/StringBuilder;
  12113.  
  12114. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  12115.  
  12116. const-string v16, " mIsPowered="
  12117.  
  12118. move-object/from16 v0, v16
  12119.  
  12120. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12121.  
  12122. move-result-object v14
  12123.  
  12124. move-object/from16 v0, p0
  12125.  
  12126. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mIsPowered:Z
  12127.  
  12128. move/from16 v16, v0
  12129.  
  12130. move/from16 v0, v16
  12131.  
  12132. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  12133.  
  12134. move-result-object v14
  12135.  
  12136. const-string v16, " mPowerState="
  12137.  
  12138. move-object/from16 v0, v16
  12139.  
  12140. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12141.  
  12142. move-result-object v14
  12143.  
  12144. move-object/from16 v0, p0
  12145.  
  12146. iget v0, v0, Lcom/android/server/PowerManagerService;->mPowerState:I
  12147.  
  12148. move/from16 v16, v0
  12149.  
  12150. move/from16 v0, v16
  12151.  
  12152. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  12153.  
  12154. move-result-object v14
  12155.  
  12156. const-string v16, " mScreenOffTime="
  12157.  
  12158. move-object/from16 v0, v16
  12159.  
  12160. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12161.  
  12162. move-result-object v14
  12163.  
  12164. invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
  12165.  
  12166. move-result-wide v16
  12167.  
  12168. move-object/from16 v0, p0
  12169.  
  12170. iget-wide v0, v0, Lcom/android/server/PowerManagerService;->mScreenOffTime:J
  12171.  
  12172. move-wide/from16 v18, v0
  12173.  
  12174. sub-long v16, v16, v18
  12175.  
  12176. move-wide/from16 v0, v16
  12177.  
  12178. invoke-virtual {v14, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  12179.  
  12180. move-result-object v14
  12181.  
  12182. const-string v16, " ms"
  12183.  
  12184. move-object/from16 v0, v16
  12185.  
  12186. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12187.  
  12188. move-result-object v14
  12189.  
  12190. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  12191.  
  12192. move-result-object v14
  12193.  
  12194. move-object/from16 v0, p2
  12195.  
  12196. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  12197.  
  12198. .line 1383
  12199. new-instance v14, Ljava/lang/StringBuilder;
  12200.  
  12201. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  12202.  
  12203. const-string v16, " mPartialCount="
  12204.  
  12205. move-object/from16 v0, v16
  12206.  
  12207. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12208.  
  12209. move-result-object v14
  12210.  
  12211. move-object/from16 v0, p0
  12212.  
  12213. iget v0, v0, Lcom/android/server/PowerManagerService;->mPartialCount:I
  12214.  
  12215. move/from16 v16, v0
  12216.  
  12217. move/from16 v0, v16
  12218.  
  12219. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  12220.  
  12221. move-result-object v14
  12222.  
  12223. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  12224.  
  12225. move-result-object v14
  12226.  
  12227. move-object/from16 v0, p2
  12228.  
  12229. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  12230.  
  12231. .line 1384
  12232. new-instance v14, Ljava/lang/StringBuilder;
  12233.  
  12234. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  12235.  
  12236. const-string v16, " mWakeLockState="
  12237.  
  12238. move-object/from16 v0, v16
  12239.  
  12240. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12241.  
  12242. move-result-object v14
  12243.  
  12244. move-object/from16 v0, p0
  12245.  
  12246. iget v0, v0, Lcom/android/server/PowerManagerService;->mWakeLockState:I
  12247.  
  12248. move/from16 v16, v0
  12249.  
  12250. invoke-static/range {v16 .. v16}, Lcom/android/server/PowerManagerService;->dumpPowerState(I)Ljava/lang/String;
  12251.  
  12252. move-result-object v16
  12253.  
  12254. move-object/from16 v0, v16
  12255.  
  12256. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12257.  
  12258. move-result-object v14
  12259.  
  12260. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  12261.  
  12262. move-result-object v14
  12263.  
  12264. move-object/from16 v0, p2
  12265.  
  12266. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  12267.  
  12268. .line 1385
  12269. new-instance v14, Ljava/lang/StringBuilder;
  12270.  
  12271. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  12272.  
  12273. const-string v16, " mUserState="
  12274.  
  12275. move-object/from16 v0, v16
  12276.  
  12277. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12278.  
  12279. move-result-object v14
  12280.  
  12281. move-object/from16 v0, p0
  12282.  
  12283. iget v0, v0, Lcom/android/server/PowerManagerService;->mUserState:I
  12284.  
  12285. move/from16 v16, v0
  12286.  
  12287. invoke-static/range {v16 .. v16}, Lcom/android/server/PowerManagerService;->dumpPowerState(I)Ljava/lang/String;
  12288.  
  12289. move-result-object v16
  12290.  
  12291. move-object/from16 v0, v16
  12292.  
  12293. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12294.  
  12295. move-result-object v14
  12296.  
  12297. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  12298.  
  12299. move-result-object v14
  12300.  
  12301. move-object/from16 v0, p2
  12302.  
  12303. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  12304.  
  12305. .line 1386
  12306. new-instance v14, Ljava/lang/StringBuilder;
  12307.  
  12308. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  12309.  
  12310. const-string v16, " mPowerState="
  12311.  
  12312. move-object/from16 v0, v16
  12313.  
  12314. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12315.  
  12316. move-result-object v14
  12317.  
  12318. move-object/from16 v0, p0
  12319.  
  12320. iget v0, v0, Lcom/android/server/PowerManagerService;->mPowerState:I
  12321.  
  12322. move/from16 v16, v0
  12323.  
  12324. invoke-static/range {v16 .. v16}, Lcom/android/server/PowerManagerService;->dumpPowerState(I)Ljava/lang/String;
  12325.  
  12326. move-result-object v16
  12327.  
  12328. move-object/from16 v0, v16
  12329.  
  12330. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12331.  
  12332. move-result-object v14
  12333.  
  12334. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  12335.  
  12336. move-result-object v14
  12337.  
  12338. move-object/from16 v0, p2
  12339.  
  12340. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  12341.  
  12342. .line 1387
  12343. new-instance v14, Ljava/lang/StringBuilder;
  12344.  
  12345. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  12346.  
  12347. const-string v16, " mLocks.gather="
  12348.  
  12349. move-object/from16 v0, v16
  12350.  
  12351. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12352.  
  12353. move-result-object v14
  12354.  
  12355. move-object/from16 v0, p0
  12356.  
  12357. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  12358.  
  12359. move-object/from16 v16, v0
  12360.  
  12361. invoke-virtual/range {v16 .. v16}, Lcom/android/server/PowerManagerService$LockList;->gatherState()I
  12362.  
  12363. move-result v16
  12364.  
  12365. invoke-static/range {v16 .. v16}, Lcom/android/server/PowerManagerService;->dumpPowerState(I)Ljava/lang/String;
  12366.  
  12367. move-result-object v16
  12368.  
  12369. move-object/from16 v0, v16
  12370.  
  12371. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12372.  
  12373. move-result-object v14
  12374.  
  12375. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  12376.  
  12377. move-result-object v14
  12378.  
  12379. move-object/from16 v0, p2
  12380.  
  12381. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  12382.  
  12383. .line 1388
  12384. new-instance v14, Ljava/lang/StringBuilder;
  12385.  
  12386. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  12387.  
  12388. const-string v16, " mNextTimeout="
  12389.  
  12390. move-object/from16 v0, v16
  12391.  
  12392. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12393.  
  12394. move-result-object v14
  12395.  
  12396. move-object/from16 v0, p0
  12397.  
  12398. iget-wide v0, v0, Lcom/android/server/PowerManagerService;->mNextTimeout:J
  12399.  
  12400. move-wide/from16 v16, v0
  12401.  
  12402. move-wide/from16 v0, v16
  12403.  
  12404. invoke-virtual {v14, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  12405.  
  12406. move-result-object v14
  12407.  
  12408. const-string v16, " now="
  12409.  
  12410. move-object/from16 v0, v16
  12411.  
  12412. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12413.  
  12414. move-result-object v14
  12415.  
  12416. invoke-virtual {v14, v7, v8}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  12417.  
  12418. move-result-object v14
  12419.  
  12420. const-string v16, " "
  12421.  
  12422. move-object/from16 v0, v16
  12423.  
  12424. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12425.  
  12426. move-result-object v14
  12427.  
  12428. move-object/from16 v0, p0
  12429.  
  12430. iget-wide v0, v0, Lcom/android/server/PowerManagerService;->mNextTimeout:J
  12431.  
  12432. move-wide/from16 v16, v0
  12433.  
  12434. sub-long v16, v16, v7
  12435.  
  12436. const-wide/16 v18, 0x3e8
  12437.  
  12438. div-long v16, v16, v18
  12439.  
  12440. move-wide/from16 v0, v16
  12441.  
  12442. invoke-virtual {v14, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  12443.  
  12444. move-result-object v14
  12445.  
  12446. const-string v16, "s from now"
  12447.  
  12448. move-object/from16 v0, v16
  12449.  
  12450. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12451.  
  12452. move-result-object v14
  12453.  
  12454. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  12455.  
  12456. move-result-object v14
  12457.  
  12458. move-object/from16 v0, p2
  12459.  
  12460. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  12461.  
  12462. .line 1390
  12463. new-instance v14, Ljava/lang/StringBuilder;
  12464.  
  12465. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  12466.  
  12467. const-string v16, " mDimScreen="
  12468.  
  12469. move-object/from16 v0, v16
  12470.  
  12471. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12472.  
  12473. move-result-object v14
  12474.  
  12475. move-object/from16 v0, p0
  12476.  
  12477. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mDimScreen:Z
  12478.  
  12479. move/from16 v16, v0
  12480.  
  12481. move/from16 v0, v16
  12482.  
  12483. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  12484.  
  12485. move-result-object v14
  12486.  
  12487. const-string v16, " mStayOnConditions="
  12488.  
  12489. move-object/from16 v0, v16
  12490.  
  12491. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12492.  
  12493. move-result-object v14
  12494.  
  12495. move-object/from16 v0, p0
  12496.  
  12497. iget v0, v0, Lcom/android/server/PowerManagerService;->mStayOnConditions:I
  12498.  
  12499. move/from16 v16, v0
  12500.  
  12501. move/from16 v0, v16
  12502.  
  12503. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  12504.  
  12505. move-result-object v14
  12506.  
  12507. const-string v16, " mPreparingForScreenOn="
  12508.  
  12509. move-object/from16 v0, v16
  12510.  
  12511. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12512.  
  12513. move-result-object v14
  12514.  
  12515. move-object/from16 v0, p0
  12516.  
  12517. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mPreparingForScreenOn:Z
  12518.  
  12519. move/from16 v16, v0
  12520.  
  12521. move/from16 v0, v16
  12522.  
  12523. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  12524.  
  12525. move-result-object v14
  12526.  
  12527. const-string v16, " mSkippedScreenOn="
  12528.  
  12529. move-object/from16 v0, v16
  12530.  
  12531. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12532.  
  12533. move-result-object v14
  12534.  
  12535. move-object/from16 v0, p0
  12536.  
  12537. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mSkippedScreenOn:Z
  12538.  
  12539. move/from16 v16, v0
  12540.  
  12541. move/from16 v0, v16
  12542.  
  12543. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  12544.  
  12545. move-result-object v14
  12546.  
  12547. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  12548.  
  12549. move-result-object v14
  12550.  
  12551. move-object/from16 v0, p2
  12552.  
  12553. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  12554.  
  12555. .line 1394
  12556. new-instance v14, Ljava/lang/StringBuilder;
  12557.  
  12558. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  12559.  
  12560. const-string v16, " mScreenOffReason="
  12561.  
  12562. move-object/from16 v0, v16
  12563.  
  12564. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12565.  
  12566. move-result-object v14
  12567.  
  12568. move-object/from16 v0, p0
  12569.  
  12570. iget v0, v0, Lcom/android/server/PowerManagerService;->mScreenOffReason:I
  12571.  
  12572. move/from16 v16, v0
  12573.  
  12574. move/from16 v0, v16
  12575.  
  12576. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  12577.  
  12578. move-result-object v14
  12579.  
  12580. const-string v16, " mUserState="
  12581.  
  12582. move-object/from16 v0, v16
  12583.  
  12584. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12585.  
  12586. move-result-object v14
  12587.  
  12588. move-object/from16 v0, p0
  12589.  
  12590. iget v0, v0, Lcom/android/server/PowerManagerService;->mUserState:I
  12591.  
  12592. move/from16 v16, v0
  12593.  
  12594. move/from16 v0, v16
  12595.  
  12596. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  12597.  
  12598. move-result-object v14
  12599.  
  12600. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  12601.  
  12602. move-result-object v14
  12603.  
  12604. move-object/from16 v0, p2
  12605.  
  12606. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  12607.  
  12608. .line 1396
  12609. new-instance v14, Ljava/lang/StringBuilder;
  12610.  
  12611. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  12612.  
  12613. const-string v16, " mBroadcastQueue={"
  12614.  
  12615. move-object/from16 v0, v16
  12616.  
  12617. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12618.  
  12619. move-result-object v14
  12620.  
  12621. move-object/from16 v0, p0
  12622.  
  12623. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mBroadcastQueue:[I
  12624.  
  12625. move-object/from16 v16, v0
  12626.  
  12627. const/16 v17, 0x0
  12628.  
  12629. aget v16, v16, v17
  12630.  
  12631. move/from16 v0, v16
  12632.  
  12633. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  12634.  
  12635. move-result-object v14
  12636.  
  12637. const/16 v16, 0x2c
  12638.  
  12639. move/from16 v0, v16
  12640.  
  12641. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
  12642.  
  12643. move-result-object v14
  12644.  
  12645. move-object/from16 v0, p0
  12646.  
  12647. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mBroadcastQueue:[I
  12648.  
  12649. move-object/from16 v16, v0
  12650.  
  12651. const/16 v17, 0x1
  12652.  
  12653. aget v16, v16, v17
  12654.  
  12655. move/from16 v0, v16
  12656.  
  12657. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  12658.  
  12659. move-result-object v14
  12660.  
  12661. const/16 v16, 0x2c
  12662.  
  12663. move/from16 v0, v16
  12664.  
  12665. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
  12666.  
  12667. move-result-object v14
  12668.  
  12669. move-object/from16 v0, p0
  12670.  
  12671. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mBroadcastQueue:[I
  12672.  
  12673. move-object/from16 v16, v0
  12674.  
  12675. const/16 v17, 0x2
  12676.  
  12677. aget v16, v16, v17
  12678.  
  12679. move/from16 v0, v16
  12680.  
  12681. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  12682.  
  12683. move-result-object v14
  12684.  
  12685. const-string v16, "}"
  12686.  
  12687. move-object/from16 v0, v16
  12688.  
  12689. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12690.  
  12691. move-result-object v14
  12692.  
  12693. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  12694.  
  12695. move-result-object v14
  12696.  
  12697. move-object/from16 v0, p2
  12698.  
  12699. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  12700.  
  12701. .line 1398
  12702. new-instance v14, Ljava/lang/StringBuilder;
  12703.  
  12704. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  12705.  
  12706. const-string v16, " mBroadcastWhy={"
  12707.  
  12708. move-object/from16 v0, v16
  12709.  
  12710. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12711.  
  12712. move-result-object v14
  12713.  
  12714. move-object/from16 v0, p0
  12715.  
  12716. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mBroadcastWhy:[I
  12717.  
  12718. move-object/from16 v16, v0
  12719.  
  12720. const/16 v17, 0x0
  12721.  
  12722. aget v16, v16, v17
  12723.  
  12724. move/from16 v0, v16
  12725.  
  12726. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  12727.  
  12728. move-result-object v14
  12729.  
  12730. const/16 v16, 0x2c
  12731.  
  12732. move/from16 v0, v16
  12733.  
  12734. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
  12735.  
  12736. move-result-object v14
  12737.  
  12738. move-object/from16 v0, p0
  12739.  
  12740. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mBroadcastWhy:[I
  12741.  
  12742. move-object/from16 v16, v0
  12743.  
  12744. const/16 v17, 0x1
  12745.  
  12746. aget v16, v16, v17
  12747.  
  12748. move/from16 v0, v16
  12749.  
  12750. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  12751.  
  12752. move-result-object v14
  12753.  
  12754. const/16 v16, 0x2c
  12755.  
  12756. move/from16 v0, v16
  12757.  
  12758. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
  12759.  
  12760. move-result-object v14
  12761.  
  12762. move-object/from16 v0, p0
  12763.  
  12764. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mBroadcastWhy:[I
  12765.  
  12766. move-object/from16 v16, v0
  12767.  
  12768. const/16 v17, 0x2
  12769.  
  12770. aget v16, v16, v17
  12771.  
  12772. move/from16 v0, v16
  12773.  
  12774. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  12775.  
  12776. move-result-object v14
  12777.  
  12778. const-string v16, "}"
  12779.  
  12780. move-object/from16 v0, v16
  12781.  
  12782. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12783.  
  12784. move-result-object v14
  12785.  
  12786. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  12787.  
  12788. move-result-object v14
  12789.  
  12790. move-object/from16 v0, p2
  12791.  
  12792. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  12793.  
  12794. .line 1400
  12795. new-instance v14, Ljava/lang/StringBuilder;
  12796.  
  12797. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  12798.  
  12799. const-string v16, " mPokey="
  12800.  
  12801. move-object/from16 v0, v16
  12802.  
  12803. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12804.  
  12805. move-result-object v14
  12806.  
  12807. move-object/from16 v0, p0
  12808.  
  12809. iget v0, v0, Lcom/android/server/PowerManagerService;->mPokey:I
  12810.  
  12811. move/from16 v16, v0
  12812.  
  12813. move/from16 v0, v16
  12814.  
  12815. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  12816.  
  12817. move-result-object v14
  12818.  
  12819. const-string v16, " mPokeAwakeonSet="
  12820.  
  12821. move-object/from16 v0, v16
  12822.  
  12823. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12824.  
  12825. move-result-object v14
  12826.  
  12827. move-object/from16 v0, p0
  12828.  
  12829. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mPokeAwakeOnSet:Z
  12830.  
  12831. move/from16 v16, v0
  12832.  
  12833. move/from16 v0, v16
  12834.  
  12835. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  12836.  
  12837. move-result-object v14
  12838.  
  12839. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  12840.  
  12841. move-result-object v14
  12842.  
  12843. move-object/from16 v0, p2
  12844.  
  12845. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  12846.  
  12847. .line 1401
  12848. new-instance v14, Ljava/lang/StringBuilder;
  12849.  
  12850. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  12851.  
  12852. const-string v16, " mKeyboardVisible="
  12853.  
  12854. move-object/from16 v0, v16
  12855.  
  12856. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12857.  
  12858. move-result-object v14
  12859.  
  12860. move-object/from16 v0, p0
  12861.  
  12862. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mKeyboardVisible:Z
  12863.  
  12864. move/from16 v16, v0
  12865.  
  12866. move/from16 v0, v16
  12867.  
  12868. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  12869.  
  12870. move-result-object v14
  12871.  
  12872. const-string v16, " mUserActivityAllowed="
  12873.  
  12874. move-object/from16 v0, v16
  12875.  
  12876. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12877.  
  12878. move-result-object v14
  12879.  
  12880. move-object/from16 v0, p0
  12881.  
  12882. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mUserActivityAllowed:Z
  12883.  
  12884. move/from16 v16, v0
  12885.  
  12886. move/from16 v0, v16
  12887.  
  12888. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  12889.  
  12890. move-result-object v14
  12891.  
  12892. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  12893.  
  12894. move-result-object v14
  12895.  
  12896. move-object/from16 v0, p2
  12897.  
  12898. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  12899.  
  12900. .line 1403
  12901. new-instance v14, Ljava/lang/StringBuilder;
  12902.  
  12903. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  12904.  
  12905. const-string v16, " mKeylightDelay="
  12906.  
  12907. move-object/from16 v0, v16
  12908.  
  12909. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12910.  
  12911. move-result-object v14
  12912.  
  12913. move-object/from16 v0, p0
  12914.  
  12915. iget v0, v0, Lcom/android/server/PowerManagerService;->mKeylightDelay:I
  12916.  
  12917. move/from16 v16, v0
  12918.  
  12919. move/from16 v0, v16
  12920.  
  12921. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  12922.  
  12923. move-result-object v14
  12924.  
  12925. const-string v16, " mDimDelay="
  12926.  
  12927. move-object/from16 v0, v16
  12928.  
  12929. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12930.  
  12931. move-result-object v14
  12932.  
  12933. move-object/from16 v0, p0
  12934.  
  12935. iget v0, v0, Lcom/android/server/PowerManagerService;->mDimDelay:I
  12936.  
  12937. move/from16 v16, v0
  12938.  
  12939. move/from16 v0, v16
  12940.  
  12941. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  12942.  
  12943. move-result-object v14
  12944.  
  12945. const-string v16, " mScreenOffDelay="
  12946.  
  12947. move-object/from16 v0, v16
  12948.  
  12949. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12950.  
  12951. move-result-object v14
  12952.  
  12953. move-object/from16 v0, p0
  12954.  
  12955. iget v0, v0, Lcom/android/server/PowerManagerService;->mScreenOffDelay:I
  12956.  
  12957. move/from16 v16, v0
  12958.  
  12959. move/from16 v0, v16
  12960.  
  12961. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  12962.  
  12963. move-result-object v14
  12964.  
  12965. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  12966.  
  12967. move-result-object v14
  12968.  
  12969. move-object/from16 v0, p2
  12970.  
  12971. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  12972.  
  12973. .line 1405
  12974. new-instance v14, Ljava/lang/StringBuilder;
  12975.  
  12976. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  12977.  
  12978. const-string v16, " mPreventScreenOn="
  12979.  
  12980. move-object/from16 v0, v16
  12981.  
  12982. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12983.  
  12984. move-result-object v14
  12985.  
  12986. move-object/from16 v0, p0
  12987.  
  12988. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mPreventScreenOn:Z
  12989.  
  12990. move/from16 v16, v0
  12991.  
  12992. move/from16 v0, v16
  12993.  
  12994. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  12995.  
  12996. move-result-object v14
  12997.  
  12998. const-string v16, " mScreenBrightnessOverride="
  12999.  
  13000. move-object/from16 v0, v16
  13001.  
  13002. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13003.  
  13004. move-result-object v14
  13005.  
  13006. move-object/from16 v0, p0
  13007.  
  13008. iget v0, v0, Lcom/android/server/PowerManagerService;->mScreenBrightnessOverride:I
  13009.  
  13010. move/from16 v16, v0
  13011.  
  13012. move/from16 v0, v16
  13013.  
  13014. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  13015.  
  13016. move-result-object v14
  13017.  
  13018. const-string v16, " mButtonBrightnessOverride="
  13019.  
  13020. move-object/from16 v0, v16
  13021.  
  13022. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13023.  
  13024. move-result-object v14
  13025.  
  13026. move-object/from16 v0, p0
  13027.  
  13028. iget v0, v0, Lcom/android/server/PowerManagerService;->mButtonBrightnessOverride:I
  13029.  
  13030. move/from16 v16, v0
  13031.  
  13032. move/from16 v0, v16
  13033.  
  13034. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  13035.  
  13036. move-result-object v14
  13037.  
  13038. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  13039.  
  13040. move-result-object v14
  13041.  
  13042. move-object/from16 v0, p2
  13043.  
  13044. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  13045.  
  13046. .line 1408
  13047. new-instance v14, Ljava/lang/StringBuilder;
  13048.  
  13049. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  13050.  
  13051. const-string v16, " mScreenOffTimeoutSetting="
  13052.  
  13053. move-object/from16 v0, v16
  13054.  
  13055. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13056.  
  13057. move-result-object v14
  13058.  
  13059. move-object/from16 v0, p0
  13060.  
  13061. iget v0, v0, Lcom/android/server/PowerManagerService;->mScreenOffTimeoutSetting:I
  13062.  
  13063. move/from16 v16, v0
  13064.  
  13065. move/from16 v0, v16
  13066.  
  13067. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  13068.  
  13069. move-result-object v14
  13070.  
  13071. const-string v16, " mMaximumScreenOffTimeout="
  13072.  
  13073. move-object/from16 v0, v16
  13074.  
  13075. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13076.  
  13077. move-result-object v14
  13078.  
  13079. move-object/from16 v0, p0
  13080.  
  13081. iget v0, v0, Lcom/android/server/PowerManagerService;->mMaximumScreenOffTimeout:I
  13082.  
  13083. move/from16 v16, v0
  13084.  
  13085. move/from16 v0, v16
  13086.  
  13087. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  13088.  
  13089. move-result-object v14
  13090.  
  13091. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  13092.  
  13093. move-result-object v14
  13094.  
  13095. move-object/from16 v0, p2
  13096.  
  13097. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  13098.  
  13099. .line 1410
  13100. new-instance v14, Ljava/lang/StringBuilder;
  13101.  
  13102. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  13103.  
  13104. const-string v16, " mLastScreenOnTime="
  13105.  
  13106. move-object/from16 v0, v16
  13107.  
  13108. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13109.  
  13110. move-result-object v14
  13111.  
  13112. move-object/from16 v0, p0
  13113.  
  13114. iget-wide v0, v0, Lcom/android/server/PowerManagerService;->mLastScreenOnTime:J
  13115.  
  13116. move-wide/from16 v16, v0
  13117.  
  13118. move-wide/from16 v0, v16
  13119.  
  13120. invoke-virtual {v14, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  13121.  
  13122. move-result-object v14
  13123.  
  13124. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  13125.  
  13126. move-result-object v14
  13127.  
  13128. move-object/from16 v0, p2
  13129.  
  13130. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  13131.  
  13132. .line 1411
  13133. new-instance v14, Ljava/lang/StringBuilder;
  13134.  
  13135. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  13136.  
  13137. const-string v16, " mBroadcastWakeLock="
  13138.  
  13139. move-object/from16 v0, v16
  13140.  
  13141. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13142.  
  13143. move-result-object v14
  13144.  
  13145. move-object/from16 v0, p0
  13146.  
  13147. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mBroadcastWakeLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  13148.  
  13149. move-object/from16 v16, v0
  13150.  
  13151. move-object/from16 v0, v16
  13152.  
  13153. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  13154.  
  13155. move-result-object v14
  13156.  
  13157. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  13158.  
  13159. move-result-object v14
  13160.  
  13161. move-object/from16 v0, p2
  13162.  
  13163. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  13164.  
  13165. .line 1412
  13166. new-instance v14, Ljava/lang/StringBuilder;
  13167.  
  13168. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  13169.  
  13170. const-string v16, " mStayOnWhilePluggedInScreenDimLock="
  13171.  
  13172. move-object/from16 v0, v16
  13173.  
  13174. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13175.  
  13176. move-result-object v14
  13177.  
  13178. move-object/from16 v0, p0
  13179.  
  13180. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mStayOnWhilePluggedInScreenDimLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  13181.  
  13182. move-object/from16 v16, v0
  13183.  
  13184. move-object/from16 v0, v16
  13185.  
  13186. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  13187.  
  13188. move-result-object v14
  13189.  
  13190. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  13191.  
  13192. move-result-object v14
  13193.  
  13194. move-object/from16 v0, p2
  13195.  
  13196. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  13197.  
  13198. .line 1413
  13199. new-instance v14, Ljava/lang/StringBuilder;
  13200.  
  13201. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  13202.  
  13203. const-string v16, " mStayOnWhilePluggedInPartialLock="
  13204.  
  13205. move-object/from16 v0, v16
  13206.  
  13207. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13208.  
  13209. move-result-object v14
  13210.  
  13211. move-object/from16 v0, p0
  13212.  
  13213. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mStayOnWhilePluggedInPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  13214.  
  13215. move-object/from16 v16, v0
  13216.  
  13217. move-object/from16 v0, v16
  13218.  
  13219. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  13220.  
  13221. move-result-object v14
  13222.  
  13223. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  13224.  
  13225. move-result-object v14
  13226.  
  13227. move-object/from16 v0, p2
  13228.  
  13229. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  13230.  
  13231. .line 1414
  13232. new-instance v14, Ljava/lang/StringBuilder;
  13233.  
  13234. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  13235.  
  13236. const-string v16, " mPreventScreenOnPartialLock="
  13237.  
  13238. move-object/from16 v0, v16
  13239.  
  13240. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13241.  
  13242. move-result-object v14
  13243.  
  13244. move-object/from16 v0, p0
  13245.  
  13246. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mPreventScreenOnPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  13247.  
  13248. move-object/from16 v16, v0
  13249.  
  13250. move-object/from16 v0, v16
  13251.  
  13252. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  13253.  
  13254. move-result-object v14
  13255.  
  13256. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  13257.  
  13258. move-result-object v14
  13259.  
  13260. move-object/from16 v0, p2
  13261.  
  13262. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  13263.  
  13264. .line 1415
  13265. new-instance v14, Ljava/lang/StringBuilder;
  13266.  
  13267. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  13268.  
  13269. const-string v16, " mProximityPartialLock="
  13270.  
  13271. move-object/from16 v0, v16
  13272.  
  13273. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13274.  
  13275. move-result-object v14
  13276.  
  13277. move-object/from16 v0, p0
  13278.  
  13279. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mProximityPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  13280.  
  13281. move-object/from16 v16, v0
  13282.  
  13283. move-object/from16 v0, v16
  13284.  
  13285. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  13286.  
  13287. move-result-object v14
  13288.  
  13289. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  13290.  
  13291. move-result-object v14
  13292.  
  13293. move-object/from16 v0, p2
  13294.  
  13295. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  13296.  
  13297. .line 1416
  13298. new-instance v14, Ljava/lang/StringBuilder;
  13299.  
  13300. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  13301.  
  13302. const-string v16, " mProximityWakeLockCount="
  13303.  
  13304. move-object/from16 v0, v16
  13305.  
  13306. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13307.  
  13308. move-result-object v14
  13309.  
  13310. move-object/from16 v0, p0
  13311.  
  13312. iget v0, v0, Lcom/android/server/PowerManagerService;->mProximityWakeLockCount:I
  13313.  
  13314. move/from16 v16, v0
  13315.  
  13316. move/from16 v0, v16
  13317.  
  13318. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  13319.  
  13320. move-result-object v14
  13321.  
  13322. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  13323.  
  13324. move-result-object v14
  13325.  
  13326. move-object/from16 v0, p2
  13327.  
  13328. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  13329.  
  13330. .line 1417
  13331. new-instance v14, Ljava/lang/StringBuilder;
  13332.  
  13333. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  13334.  
  13335. const-string v16, " mProximitySensorEnabled="
  13336.  
  13337. move-object/from16 v0, v16
  13338.  
  13339. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13340.  
  13341. move-result-object v14
  13342.  
  13343. move-object/from16 v0, p0
  13344.  
  13345. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mProximitySensorEnabled:Z
  13346.  
  13347. move/from16 v16, v0
  13348.  
  13349. move/from16 v0, v16
  13350.  
  13351. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  13352.  
  13353. move-result-object v14
  13354.  
  13355. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  13356.  
  13357. move-result-object v14
  13358.  
  13359. move-object/from16 v0, p2
  13360.  
  13361. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  13362.  
  13363. .line 1418
  13364. new-instance v14, Ljava/lang/StringBuilder;
  13365.  
  13366. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  13367.  
  13368. const-string v16, " mProximitySensorActive="
  13369.  
  13370. move-object/from16 v0, v16
  13371.  
  13372. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13373.  
  13374. move-result-object v14
  13375.  
  13376. move-object/from16 v0, p0
  13377.  
  13378. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  13379.  
  13380. move/from16 v16, v0
  13381.  
  13382. move/from16 v0, v16
  13383.  
  13384. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  13385.  
  13386. move-result-object v14
  13387.  
  13388. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  13389.  
  13390. move-result-object v14
  13391.  
  13392. move-object/from16 v0, p2
  13393.  
  13394. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  13395.  
  13396. .line 1419
  13397. new-instance v14, Ljava/lang/StringBuilder;
  13398.  
  13399. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  13400.  
  13401. const-string v16, " mProximityPendingValue="
  13402.  
  13403. move-object/from16 v0, v16
  13404.  
  13405. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13406.  
  13407. move-result-object v14
  13408.  
  13409. move-object/from16 v0, p0
  13410.  
  13411. iget v0, v0, Lcom/android/server/PowerManagerService;->mProximityPendingValue:I
  13412.  
  13413. move/from16 v16, v0
  13414.  
  13415. move/from16 v0, v16
  13416.  
  13417. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  13418.  
  13419. move-result-object v14
  13420.  
  13421. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  13422.  
  13423. move-result-object v14
  13424.  
  13425. move-object/from16 v0, p2
  13426.  
  13427. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  13428.  
  13429. .line 1420
  13430. new-instance v14, Ljava/lang/StringBuilder;
  13431.  
  13432. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  13433.  
  13434. const-string v16, " mLastProximityEventTime="
  13435.  
  13436. move-object/from16 v0, v16
  13437.  
  13438. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13439.  
  13440. move-result-object v14
  13441.  
  13442. move-object/from16 v0, p0
  13443.  
  13444. iget-wide v0, v0, Lcom/android/server/PowerManagerService;->mLastProximityEventTime:J
  13445.  
  13446. move-wide/from16 v16, v0
  13447.  
  13448. move-wide/from16 v0, v16
  13449.  
  13450. invoke-virtual {v14, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  13451.  
  13452. move-result-object v14
  13453.  
  13454. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  13455.  
  13456. move-result-object v14
  13457.  
  13458. move-object/from16 v0, p2
  13459.  
  13460. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  13461.  
  13462. .line 1421
  13463. new-instance v14, Ljava/lang/StringBuilder;
  13464.  
  13465. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  13466.  
  13467. const-string v16, " mLightSensorEnabled="
  13468.  
  13469. move-object/from16 v0, v16
  13470.  
  13471. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13472.  
  13473. move-result-object v14
  13474.  
  13475. move-object/from16 v0, p0
  13476.  
  13477. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mLightSensorEnabled:Z
  13478.  
  13479. move/from16 v16, v0
  13480.  
  13481. move/from16 v0, v16
  13482.  
  13483. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  13484.  
  13485. move-result-object v14
  13486.  
  13487. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  13488.  
  13489. move-result-object v14
  13490.  
  13491. move-object/from16 v0, p2
  13492.  
  13493. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  13494.  
  13495. .line 1422
  13496. new-instance v14, Ljava/lang/StringBuilder;
  13497.  
  13498. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  13499.  
  13500. const-string v16, " mLightSensorValue="
  13501.  
  13502. move-object/from16 v0, v16
  13503.  
  13504. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13505.  
  13506. move-result-object v14
  13507.  
  13508. move-object/from16 v0, p0
  13509.  
  13510. iget v0, v0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  13511.  
  13512. move/from16 v16, v0
  13513.  
  13514. move/from16 v0, v16
  13515.  
  13516. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
  13517.  
  13518. move-result-object v14
  13519.  
  13520. const-string v16, " mLightSensorPendingValue="
  13521.  
  13522. move-object/from16 v0, v16
  13523.  
  13524. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13525.  
  13526. move-result-object v14
  13527.  
  13528. move-object/from16 v0, p0
  13529.  
  13530. iget v0, v0, Lcom/android/server/PowerManagerService;->mLightSensorPendingValue:F
  13531.  
  13532. move/from16 v16, v0
  13533.  
  13534. move/from16 v0, v16
  13535.  
  13536. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
  13537.  
  13538. move-result-object v14
  13539.  
  13540. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  13541.  
  13542. move-result-object v14
  13543.  
  13544. move-object/from16 v0, p2
  13545.  
  13546. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  13547.  
  13548. .line 1424
  13549. new-instance v14, Ljava/lang/StringBuilder;
  13550.  
  13551. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  13552.  
  13553. const-string v16, " mLightSensorPendingDecrease="
  13554.  
  13555. move-object/from16 v0, v16
  13556.  
  13557. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13558.  
  13559. move-result-object v14
  13560.  
  13561. move-object/from16 v0, p0
  13562.  
  13563. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mLightSensorPendingDecrease:Z
  13564.  
  13565. move/from16 v16, v0
  13566.  
  13567. move/from16 v0, v16
  13568.  
  13569. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  13570.  
  13571. move-result-object v14
  13572.  
  13573. const-string v16, " mLightSensorPendingIncrease="
  13574.  
  13575. move-object/from16 v0, v16
  13576.  
  13577. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13578.  
  13579. move-result-object v14
  13580.  
  13581. move-object/from16 v0, p0
  13582.  
  13583. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mLightSensorPendingIncrease:Z
  13584.  
  13585. move/from16 v16, v0
  13586.  
  13587. move/from16 v0, v16
  13588.  
  13589. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  13590.  
  13591. move-result-object v14
  13592.  
  13593. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  13594.  
  13595. move-result-object v14
  13596.  
  13597. move-object/from16 v0, p2
  13598.  
  13599. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  13600.  
  13601. .line 1426
  13602. new-instance v14, Ljava/lang/StringBuilder;
  13603.  
  13604. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  13605.  
  13606. const-string v16, " mLightSensorScreenBrightness="
  13607.  
  13608. move-object/from16 v0, v16
  13609.  
  13610. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13611.  
  13612. move-result-object v14
  13613.  
  13614. move-object/from16 v0, p0
  13615.  
  13616. iget v0, v0, Lcom/android/server/PowerManagerService;->mLightSensorScreenBrightness:I
  13617.  
  13618. move/from16 v16, v0
  13619.  
  13620. move/from16 v0, v16
  13621.  
  13622. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  13623.  
  13624. move-result-object v14
  13625.  
  13626. const-string v16, " mLightSensorScreenBrightnessWait="
  13627.  
  13628. move-object/from16 v0, v16
  13629.  
  13630. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13631.  
  13632. move-result-object v14
  13633.  
  13634. move-object/from16 v0, p0
  13635.  
  13636. iget v0, v0, Lcom/android/server/PowerManagerService;->mLightSensorScreenBrightnessWait:I
  13637.  
  13638. move/from16 v16, v0
  13639.  
  13640. move/from16 v0, v16
  13641.  
  13642. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  13643.  
  13644. move-result-object v14
  13645.  
  13646. const-string v16, " mLightSensorButtonBrightness="
  13647.  
  13648. move-object/from16 v0, v16
  13649.  
  13650. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13651.  
  13652. move-result-object v14
  13653.  
  13654. move-object/from16 v0, p0
  13655.  
  13656. iget v0, v0, Lcom/android/server/PowerManagerService;->mLightSensorButtonBrightness:I
  13657.  
  13658. move/from16 v16, v0
  13659.  
  13660. move/from16 v0, v16
  13661.  
  13662. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  13663.  
  13664. move-result-object v14
  13665.  
  13666. const-string v16, " mLightSensorKeyboardBrightness="
  13667.  
  13668. move-object/from16 v0, v16
  13669.  
  13670. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13671.  
  13672. move-result-object v14
  13673.  
  13674. move-object/from16 v0, p0
  13675.  
  13676. iget v0, v0, Lcom/android/server/PowerManagerService;->mLightSensorKeyboardBrightness:I
  13677.  
  13678. move/from16 v16, v0
  13679.  
  13680. move/from16 v0, v16
  13681.  
  13682. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  13683.  
  13684. move-result-object v14
  13685.  
  13686. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  13687.  
  13688. move-result-object v14
  13689.  
  13690. move-object/from16 v0, p2
  13691.  
  13692. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  13693.  
  13694. .line 1430
  13695. new-instance v14, Ljava/lang/StringBuilder;
  13696.  
  13697. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  13698.  
  13699. const-string v16, " mUseSoftwareAutoBrightness="
  13700.  
  13701. move-object/from16 v0, v16
  13702.  
  13703. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13704.  
  13705. move-result-object v14
  13706.  
  13707. move-object/from16 v0, p0
  13708.  
  13709. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  13710.  
  13711. move/from16 v16, v0
  13712.  
  13713. move/from16 v0, v16
  13714.  
  13715. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  13716.  
  13717. move-result-object v14
  13718.  
  13719. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  13720.  
  13721. move-result-object v14
  13722.  
  13723. move-object/from16 v0, p2
  13724.  
  13725. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  13726.  
  13727. .line 1431
  13728. new-instance v14, Ljava/lang/StringBuilder;
  13729.  
  13730. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  13731.  
  13732. const-string v16, " mAutoBrightessEnabled="
  13733.  
  13734. move-object/from16 v0, v16
  13735.  
  13736. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13737.  
  13738. move-result-object v14
  13739.  
  13740. move-object/from16 v0, p0
  13741.  
  13742. iget-boolean v0, v0, Lcom/android/server/PowerManagerService;->mAutoBrightessEnabled:Z
  13743.  
  13744. move/from16 v16, v0
  13745.  
  13746. move/from16 v0, v16
  13747.  
  13748. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  13749.  
  13750. move-result-object v14
  13751.  
  13752. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  13753.  
  13754. move-result-object v14
  13755.  
  13756. move-object/from16 v0, p2
  13757.  
  13758. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  13759.  
  13760. .line 1432
  13761. move-object/from16 v0, p0
  13762.  
  13763. iget-object v14, v0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  13764.  
  13765. const-string v16, " mScreenBrightness: "
  13766.  
  13767. move-object/from16 v0, p2
  13768.  
  13769. move-object/from16 v1, v16
  13770.  
  13771. invoke-virtual {v14, v0, v1}, Lcom/android/server/PowerManagerService$BrightnessState;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
  13772.  
  13773. .line 1434
  13774. move-object/from16 v0, p0
  13775.  
  13776. iget-object v14, v0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  13777.  
  13778. invoke-virtual {v14}, Lcom/android/server/PowerManagerService$LockList;->size()I
  13779.  
  13780. move-result v2
  13781.  
  13782. .line 1435
  13783. .local v2, N:I
  13784. invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->println()V
  13785.  
  13786. .line 1436
  13787. new-instance v14, Ljava/lang/StringBuilder;
  13788.  
  13789. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  13790.  
  13791. const-string v16, "mLocks.size="
  13792.  
  13793. move-object/from16 v0, v16
  13794.  
  13795. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13796.  
  13797. move-result-object v14
  13798.  
  13799. invoke-virtual {v14, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  13800.  
  13801. move-result-object v14
  13802.  
  13803. const-string v16, ":"
  13804.  
  13805. move-object/from16 v0, v16
  13806.  
  13807. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13808.  
  13809. move-result-object v14
  13810.  
  13811. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  13812.  
  13813. move-result-object v14
  13814.  
  13815. move-object/from16 v0, p2
  13816.  
  13817. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  13818.  
  13819. .line 1437
  13820. const/4 v5, 0x0
  13821.  
  13822. .local v5, i:I
  13823. :goto_714
  13824. if-ge v5, v2, :cond_7d4
  13825.  
  13826. .line 1438
  13827. move-object/from16 v0, p0
  13828.  
  13829. iget-object v14, v0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  13830.  
  13831. invoke-virtual {v14, v5}, Lcom/android/server/PowerManagerService$LockList;->get(I)Ljava/lang/Object;
  13832.  
  13833. move-result-object v13
  13834.  
  13835. check-cast v13, Lcom/android/server/PowerManagerService$WakeLock;
  13836.  
  13837. .line 1439
  13838. .local v13, wl:Lcom/android/server/PowerManagerService$WakeLock;
  13839. iget v14, v13, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  13840.  
  13841. and-int/lit8 v14, v14, 0x3f
  13842.  
  13843. invoke-static {v14}, Lcom/android/server/PowerManagerService;->lockType(I)Ljava/lang/String;
  13844.  
  13845. move-result-object v12
  13846.  
  13847. .line 1440
  13848. .local v12, type:Ljava/lang/String;
  13849. const-string v3, ""
  13850.  
  13851. .line 1441
  13852. .local v3, acquireCausesWakeup:Ljava/lang/String;
  13853. iget v14, v13, Lcom/android/server/PowerManagerService$WakeLock;->flags:I
  13854.  
  13855. const/high16 v16, 0x1000
  13856.  
  13857. and-int v14, v14, v16
  13858.  
  13859. if-eqz v14, :cond_734
  13860.  
  13861. .line 1442
  13862. const-string v3, "ACQUIRE_CAUSES_WAKEUP "
  13863.  
  13864. .line 1444
  13865. :cond_734
  13866. const-string v4, ""
  13867.  
  13868. .line 1445
  13869. .local v4, activated:Ljava/lang/String;
  13870. iget-wide v10, v13, Lcom/android/server/PowerManagerService$WakeLock;->total_time:J
  13871.  
  13872. .line 1446
  13873. .local v10, total_time:J
  13874. iget-boolean v14, v13, Lcom/android/server/PowerManagerService$WakeLock;->activated:Z
  13875.  
  13876. if-eqz v14, :cond_74a
  13877.  
  13878. .line 1447
  13879. const-string v4, " activated"
  13880.  
  13881. .line 1448
  13882. invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
  13883.  
  13884. move-result-wide v16
  13885.  
  13886. iget-wide v0, v13, Lcom/android/server/PowerManagerService$WakeLock;->active_since:J
  13887.  
  13888. move-wide/from16 v18, v0
  13889.  
  13890. sub-long v16, v16, v18
  13891.  
  13892. add-long v10, v10, v16
  13893.  
  13894. .line 1450
  13895. :cond_74a
  13896. new-instance v14, Ljava/lang/StringBuilder;
  13897.  
  13898. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  13899.  
  13900. const-string v16, " "
  13901.  
  13902. move-object/from16 v0, v16
  13903.  
  13904. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13905.  
  13906. move-result-object v14
  13907.  
  13908. invoke-virtual {v14, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13909.  
  13910. move-result-object v14
  13911.  
  13912. const-string v16, " \'"
  13913.  
  13914. move-object/from16 v0, v16
  13915.  
  13916. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13917.  
  13918. move-result-object v14
  13919.  
  13920. iget-object v0, v13, Lcom/android/server/PowerManagerService$WakeLock;->tag:Ljava/lang/String;
  13921.  
  13922. move-object/from16 v16, v0
  13923.  
  13924. move-object/from16 v0, v16
  13925.  
  13926. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13927.  
  13928. move-result-object v14
  13929.  
  13930. const-string v16, "\'"
  13931.  
  13932. move-object/from16 v0, v16
  13933.  
  13934. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13935.  
  13936. move-result-object v14
  13937.  
  13938. invoke-virtual {v14, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13939.  
  13940. move-result-object v14
  13941.  
  13942. invoke-virtual {v14, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13943.  
  13944. move-result-object v14
  13945.  
  13946. const-string v16, " (minState="
  13947.  
  13948. move-object/from16 v0, v16
  13949.  
  13950. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13951.  
  13952. move-result-object v14
  13953.  
  13954. iget v0, v13, Lcom/android/server/PowerManagerService$WakeLock;->minState:I
  13955.  
  13956. move/from16 v16, v0
  13957.  
  13958. move/from16 v0, v16
  13959.  
  13960. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  13961.  
  13962. move-result-object v14
  13963.  
  13964. const-string v16, ", uid="
  13965.  
  13966. move-object/from16 v0, v16
  13967.  
  13968. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13969.  
  13970. move-result-object v14
  13971.  
  13972. iget v0, v13, Lcom/android/server/PowerManagerService$WakeLock;->uid:I
  13973.  
  13974. move/from16 v16, v0
  13975.  
  13976. move/from16 v0, v16
  13977.  
  13978. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  13979.  
  13980. move-result-object v14
  13981.  
  13982. const-string v16, ", pid="
  13983.  
  13984. move-object/from16 v0, v16
  13985.  
  13986. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  13987.  
  13988. move-result-object v14
  13989.  
  13990. iget v0, v13, Lcom/android/server/PowerManagerService$WakeLock;->pid:I
  13991.  
  13992. move/from16 v16, v0
  13993.  
  13994. move/from16 v0, v16
  13995.  
  13996. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  13997.  
  13998. move-result-object v14
  13999.  
  14000. const-string v16, " total="
  14001.  
  14002. move-object/from16 v0, v16
  14003.  
  14004. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  14005.  
  14006. move-result-object v14
  14007.  
  14008. invoke-virtual {v14, v10, v11}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  14009.  
  14010. move-result-object v14
  14011.  
  14012. const-string v16, "ms)"
  14013.  
  14014. move-object/from16 v0, v16
  14015.  
  14016. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  14017.  
  14018. move-result-object v14
  14019.  
  14020. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  14021.  
  14022. move-result-object v14
  14023.  
  14024. move-object/from16 v0, p2
  14025.  
  14026. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  14027.  
  14028. .line 1437
  14029. add-int/lit8 v5, v5, 0x1
  14030.  
  14031. goto/16 :goto_714
  14032.  
  14033. .line 1455
  14034. .end local v3 #acquireCausesWakeup:Ljava/lang/String;
  14035. .end local v4 #activated:Ljava/lang/String;
  14036. .end local v10 #total_time:J
  14037. .end local v12 #type:Ljava/lang/String;
  14038. .end local v13 #wl:Lcom/android/server/PowerManagerService$WakeLock;
  14039. :cond_7d4
  14040. invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->println()V
  14041.  
  14042. .line 1456
  14043. new-instance v14, Ljava/lang/StringBuilder;
  14044.  
  14045. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  14046.  
  14047. const-string v16, "mPokeLocks.size="
  14048.  
  14049. move-object/from16 v0, v16
  14050.  
  14051. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  14052.  
  14053. move-result-object v14
  14054.  
  14055. move-object/from16 v0, p0
  14056.  
  14057. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mPokeLocks:Ljava/util/HashMap;
  14058.  
  14059. move-object/from16 v16, v0
  14060.  
  14061. invoke-virtual/range {v16 .. v16}, Ljava/util/HashMap;->size()I
  14062.  
  14063. move-result v16
  14064.  
  14065. move/from16 v0, v16
  14066.  
  14067. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  14068.  
  14069. move-result-object v14
  14070.  
  14071. const-string v16, ":"
  14072.  
  14073. move-object/from16 v0, v16
  14074.  
  14075. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  14076.  
  14077. move-result-object v14
  14078.  
  14079. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  14080.  
  14081. move-result-object v14
  14082.  
  14083. move-object/from16 v0, p2
  14084.  
  14085. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  14086.  
  14087. .line 1457
  14088. move-object/from16 v0, p0
  14089.  
  14090. iget-object v14, v0, Lcom/android/server/PowerManagerService;->mPokeLocks:Ljava/util/HashMap;
  14091.  
  14092. invoke-virtual {v14}, Ljava/util/HashMap;->values()Ljava/util/Collection;
  14093.  
  14094. move-result-object v14
  14095.  
  14096. invoke-interface {v14}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
  14097.  
  14098. move-result-object v6
  14099.  
  14100. .local v6, i$:Ljava/util/Iterator;
  14101. :goto_811
  14102. invoke-interface {v6}, Ljava/util/Iterator;->hasNext()Z
  14103.  
  14104. move-result v14
  14105.  
  14106. if-eqz v14, :cond_87c
  14107.  
  14108. invoke-interface {v6}, Ljava/util/Iterator;->next()Ljava/lang/Object;
  14109.  
  14110. move-result-object v9
  14111.  
  14112. check-cast v9, Lcom/android/server/PowerManagerService$PokeLock;
  14113.  
  14114. .line 1458
  14115. .local v9, p:Lcom/android/server/PowerManagerService$PokeLock;
  14116. new-instance v14, Ljava/lang/StringBuilder;
  14117.  
  14118. invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
  14119.  
  14120. const-string v16, " poke lock \'"
  14121.  
  14122. move-object/from16 v0, v16
  14123.  
  14124. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  14125.  
  14126. move-result-object v14
  14127.  
  14128. iget-object v0, v9, Lcom/android/server/PowerManagerService$PokeLock;->tag:Ljava/lang/String;
  14129.  
  14130. move-object/from16 v16, v0
  14131.  
  14132. move-object/from16 v0, v16
  14133.  
  14134. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  14135.  
  14136. move-result-object v14
  14137.  
  14138. const-string v16, "\':"
  14139.  
  14140. move-object/from16 v0, v16
  14141.  
  14142. invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  14143.  
  14144. move-result-object v16
  14145.  
  14146. iget v14, v9, Lcom/android/server/PowerManagerService$PokeLock;->pokey:I
  14147.  
  14148. and-int/lit8 v14, v14, 0x1
  14149.  
  14150. if-eqz v14, :cond_873
  14151.  
  14152. const-string v14, " POKE_LOCK_IGNORE_TOUCH_EVENTS"
  14153.  
  14154. :goto_844
  14155. move-object/from16 v0, v16
  14156.  
  14157. invoke-virtual {v0, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  14158.  
  14159. move-result-object v16
  14160.  
  14161. iget v14, v9, Lcom/android/server/PowerManagerService$PokeLock;->pokey:I
  14162.  
  14163. and-int/lit8 v14, v14, 0x2
  14164.  
  14165. if-eqz v14, :cond_876
  14166.  
  14167. const-string v14, " POKE_LOCK_SHORT_TIMEOUT"
  14168.  
  14169. :goto_852
  14170. move-object/from16 v0, v16
  14171.  
  14172. invoke-virtual {v0, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  14173.  
  14174. move-result-object v16
  14175.  
  14176. iget v14, v9, Lcom/android/server/PowerManagerService$PokeLock;->pokey:I
  14177.  
  14178. and-int/lit8 v14, v14, 0x4
  14179.  
  14180. if-eqz v14, :cond_879
  14181.  
  14182. const-string v14, " POKE_LOCK_MEDIUM_TIMEOUT"
  14183.  
  14184. :goto_860
  14185. move-object/from16 v0, v16
  14186.  
  14187. invoke-virtual {v0, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  14188.  
  14189. move-result-object v14
  14190.  
  14191. invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  14192.  
  14193. move-result-object v14
  14194.  
  14195. move-object/from16 v0, p2
  14196.  
  14197. invoke-virtual {v0, v14}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
  14198.  
  14199. goto :goto_811
  14200.  
  14201. .line 1468
  14202. .end local v2 #N:I
  14203. .end local v5 #i:I
  14204. .end local v6 #i$:Ljava/util/Iterator;
  14205. .end local v9 #p:Lcom/android/server/PowerManagerService$PokeLock;
  14206. :catchall_870
  14207. move-exception v14
  14208.  
  14209. monitor-exit v15
  14210. :try_end_872
  14211. .catchall {:try_start_40 .. :try_end_872} :catchall_870
  14212.  
  14213. throw v14
  14214.  
  14215. .line 1458
  14216. .restart local v2 #N:I
  14217. .restart local v5 #i:I
  14218. .restart local v6 #i$:Ljava/util/Iterator;
  14219. .restart local v9 #p:Lcom/android/server/PowerManagerService$PokeLock;
  14220. :cond_873
  14221. :try_start_873
  14222. const-string v14, ""
  14223.  
  14224. goto :goto_844
  14225.  
  14226. :cond_876
  14227. const-string v14, ""
  14228.  
  14229. goto :goto_852
  14230.  
  14231. :cond_879
  14232. const-string v14, ""
  14233.  
  14234. goto :goto_860
  14235.  
  14236. .line 1467
  14237. .end local v9 #p:Lcom/android/server/PowerManagerService$PokeLock;
  14238. :cond_87c
  14239. invoke-virtual/range {p2 .. p2}, Ljava/io/PrintWriter;->println()V
  14240.  
  14241. .line 1468
  14242. monitor-exit v15
  14243. :try_end_880
  14244. .catchall {:try_start_873 .. :try_end_880} :catchall_870
  14245.  
  14246. goto/16 :goto_36
  14247. .end method
  14248.  
  14249. .method public enableUserActivity(Z)V
  14250. .registers 6
  14251. .parameter "enabled"
  14252.  
  14253. .prologue
  14254. .line 3706
  14255. const-string v0, "PowerManagerService"
  14256.  
  14257. new-instance v1, Ljava/lang/StringBuilder;
  14258.  
  14259. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  14260.  
  14261. const-string v2, "enableUserActivity "
  14262.  
  14263. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  14264.  
  14265. move-result-object v1
  14266.  
  14267. invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  14268.  
  14269. move-result-object v1
  14270.  
  14271. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  14272.  
  14273. move-result-object v1
  14274.  
  14275. invoke-static {v0, v1}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  14276.  
  14277. .line 3708
  14278. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  14279.  
  14280. monitor-enter v1
  14281.  
  14282. .line 3709
  14283. :try_start_1b
  14284. iput-boolean p1, p0, Lcom/android/server/PowerManagerService;->mUserActivityAllowed:Z
  14285.  
  14286. .line 3710
  14287. if-nez p1, :cond_27
  14288.  
  14289. .line 3712
  14290. invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
  14291.  
  14292. move-result-wide v2
  14293.  
  14294. const/4 v0, 0x0
  14295.  
  14296. invoke-direct {p0, v2, v3, v0}, Lcom/android/server/PowerManagerService;->setTimeoutLocked(JI)V
  14297.  
  14298. .line 3714
  14299. :cond_27
  14300. monitor-exit v1
  14301.  
  14302. .line 3715
  14303. return-void
  14304.  
  14305. .line 3714
  14306. :catchall_29
  14307. move-exception v0
  14308.  
  14309. monitor-exit v1
  14310. :try_end_2b
  14311. .catchall {:try_start_1b .. :try_end_2b} :catchall_29
  14312.  
  14313. throw v0
  14314. .end method
  14315.  
  14316. .method public enableUserActivityForce(ZZ)V
  14317. .registers 7
  14318. .parameter "enabled"
  14319. .parameter "force"
  14320.  
  14321. .prologue
  14322. .line 3693
  14323. const-string v0, "PowerManagerService"
  14324.  
  14325. new-instance v1, Ljava/lang/StringBuilder;
  14326.  
  14327. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  14328.  
  14329. const-string v2, "enableUserActivityForce enabled="
  14330.  
  14331. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  14332.  
  14333. move-result-object v1
  14334.  
  14335. invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  14336.  
  14337. move-result-object v1
  14338.  
  14339. const-string v2, ", force="
  14340.  
  14341. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  14342.  
  14343. move-result-object v1
  14344.  
  14345. invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  14346.  
  14347. move-result-object v1
  14348.  
  14349. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  14350.  
  14351. move-result-object v1
  14352.  
  14353. invoke-static {v0, v1}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  14354.  
  14355. .line 3694
  14356. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  14357.  
  14358. monitor-enter v1
  14359.  
  14360. .line 3695
  14361. :try_start_25
  14362. iput-boolean p1, p0, Lcom/android/server/PowerManagerService;->mUserActivityAllowed:Z
  14363.  
  14364. .line 3696
  14365. if-nez p1, :cond_33
  14366.  
  14367. .line 3698
  14368. if-eqz p2, :cond_33
  14369.  
  14370. .line 3699
  14371. invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
  14372.  
  14373. move-result-wide v2
  14374.  
  14375. const/4 v0, 0x0
  14376.  
  14377. invoke-direct {p0, v2, v3, v0}, Lcom/android/server/PowerManagerService;->setTimeoutLocked(JI)V
  14378.  
  14379. .line 3701
  14380. :cond_33
  14381. monitor-exit v1
  14382.  
  14383. .line 3702
  14384. return-void
  14385.  
  14386. .line 3701
  14387. :catchall_35
  14388. move-exception v0
  14389.  
  14390. monitor-exit v1
  14391. :try_end_37
  14392. .catchall {:try_start_25 .. :try_end_37} :catchall_35
  14393.  
  14394. throw v0
  14395. .end method
  14396.  
  14397. .method enforceWakeSourcePermission(II)V
  14398. .registers 6
  14399. .parameter "uid"
  14400. .parameter "pid"
  14401.  
  14402. .prologue
  14403. .line 962
  14404. invoke-static {}, Landroid/os/Process;->myUid()I
  14405.  
  14406. move-result v0
  14407.  
  14408. if-ne p1, v0, :cond_7
  14409.  
  14410. .line 967
  14411. :goto_6
  14412. return-void
  14413.  
  14414. .line 965
  14415. :cond_7
  14416. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  14417.  
  14418. const-string v1, "android.permission.UPDATE_DEVICE_STATS"
  14419.  
  14420. const/4 v2, 0x0
  14421.  
  14422. invoke-virtual {v0, v1, p2, p1, v2}, Landroid/content/Context;->enforcePermission(Ljava/lang/String;IILjava/lang/String;)V
  14423.  
  14424. goto :goto_6
  14425. .end method
  14426.  
  14427. .method public getFrontCameraId()I
  14428. .registers 4
  14429.  
  14430. .prologue
  14431. const/4 v1, -0x1
  14432.  
  14433. .line 2037
  14434. invoke-static {}, Lcom/android/server/CameraHolder;->instance()Lcom/android/server/CameraHolder;
  14435.  
  14436. move-result-object v2
  14437.  
  14438. invoke-virtual {v2}, Lcom/android/server/CameraHolder;->getFrontCameraId()I
  14439.  
  14440. move-result v0
  14441.  
  14442. .line 2038
  14443. .local v0, frontCameraId:I
  14444. if-eq v0, v1, :cond_c
  14445.  
  14446. .line 2040
  14447. .end local v0 #frontCameraId:I
  14448. :goto_b
  14449. return v0
  14450.  
  14451. .restart local v0 #frontCameraId:I
  14452. :cond_c
  14453. move v0, v1
  14454.  
  14455. goto :goto_b
  14456. .end method
  14457.  
  14458. .method getPolicyLocked()Landroid/view/WindowManagerPolicy;
  14459. .registers 2
  14460.  
  14461. .prologue
  14462. .line 3879
  14463. :goto_0
  14464. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mPolicy:Landroid/view/WindowManagerPolicy;
  14465.  
  14466. if-eqz v0, :cond_8
  14467.  
  14468. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mDoneBooting:Z
  14469.  
  14470. if-nez v0, :cond_10
  14471.  
  14472. .line 3881
  14473. :cond_8
  14474. :try_start_8
  14475. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  14476.  
  14477. invoke-virtual {v0}, Ljava/lang/Object;->wait()V
  14478. :try_end_d
  14479. .catch Ljava/lang/InterruptedException; {:try_start_8 .. :try_end_d} :catch_e
  14480.  
  14481. goto :goto_0
  14482.  
  14483. .line 3882
  14484. :catch_e
  14485. move-exception v0
  14486.  
  14487. goto :goto_0
  14488.  
  14489. .line 3886
  14490. :cond_10
  14491. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mPolicy:Landroid/view/WindowManagerPolicy;
  14492.  
  14493. return-object v0
  14494. .end method
  14495.  
  14496. .method public getSupportedWakeLockFlags()I
  14497. .registers 3
  14498.  
  14499. .prologue
  14500. .line 3962
  14501. const/16 v0, 0x1f
  14502.  
  14503. .line 3966
  14504. .local v0, result:I
  14505. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mProximitySensor:Landroid/hardware/Sensor;
  14506.  
  14507. if-eqz v1, :cond_8
  14508.  
  14509. .line 3967
  14510. or-int/lit8 v0, v0, 0x20
  14511.  
  14512. .line 3970
  14513. :cond_8
  14514. return v0
  14515. .end method
  14516.  
  14517. .method public goToSleep(J)V
  14518. .registers 7
  14519. .parameter "time"
  14520.  
  14521. .prologue
  14522. .line 3523
  14523. invoke-static {}, Lcom/android/internal/policy/impl/KeyguardViewMediator;->isKeyguardNotShowing()Z
  14524.  
  14525. move-result v1
  14526.  
  14527. .line 3524
  14528. .local v1, isKeyguardNotShowing:Z
  14529. invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
  14530.  
  14531. move-result-object v0
  14532.  
  14533. .line 3525
  14534. .local v0, am:Landroid/app/IActivityManager;
  14535. if-eqz v0, :cond_1e
  14536.  
  14537. invoke-interface {v0}, Landroid/app/IActivityManager;->testIsSystemReady()Z
  14538.  
  14539. move-result v2
  14540.  
  14541. if-eqz v2, :cond_1e
  14542.  
  14543. if-eqz v1, :cond_1e
  14544.  
  14545. .line 3526
  14546. const-string v2, "PowerManagerService"
  14547.  
  14548. const-string v3, "reset mSyncKeyguard in goToSleep()"
  14549.  
  14550. invoke-static {v2, v3}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
  14551.  
  14552. .line 3527
  14553. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mSyncKeyguard:Lcom/android/server/PowerManagerService$SyncKeyguard;
  14554.  
  14555. const/4 v3, 0x0
  14556.  
  14557. iput-boolean v3, v2, Lcom/android/server/PowerManagerService$SyncKeyguard;->mKeyguardDoneDraw:Z
  14558.  
  14559. .line 3529
  14560. :cond_1e
  14561. const/4 v2, 0x2
  14562.  
  14563. invoke-virtual {p0, p1, p2, v2}, Lcom/android/server/PowerManagerService;->goToSleepWithReason(JI)V
  14564.  
  14565. .line 3530
  14566. return-void
  14567. .end method
  14568.  
  14569. .method public goToSleepWithReason(JI)V
  14570. .registers 7
  14571. .parameter "time"
  14572. .parameter "reason"
  14573.  
  14574. .prologue
  14575. .line 3538
  14576. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  14577.  
  14578. const-string v1, "android.permission.DEVICE_POWER"
  14579.  
  14580. const/4 v2, 0x0
  14581.  
  14582. invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  14583.  
  14584. .line 3539
  14585. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  14586.  
  14587. monitor-enter v1
  14588.  
  14589. .line 3540
  14590. :try_start_b
  14591. invoke-direct {p0, p1, p2, p3}, Lcom/android/server/PowerManagerService;->goToSleepLocked(JI)V
  14592.  
  14593. .line 3541
  14594. monitor-exit v1
  14595.  
  14596. .line 3542
  14597. return-void
  14598.  
  14599. .line 3541
  14600. :catchall_10
  14601. move-exception v0
  14602.  
  14603. monitor-exit v1
  14604. :try_end_12
  14605. .catchall {:try_start_b .. :try_end_12} :catchall_10
  14606.  
  14607. throw v0
  14608. .end method
  14609.  
  14610. .method init(Landroid/content/Context;Lcom/android/server/LightsService;Landroid/app/IActivityManager;Lcom/android/server/BatteryService;)V
  14611. .registers 8
  14612. .parameter "context"
  14613. .parameter "lights"
  14614. .parameter "activity"
  14615. .parameter "battery"
  14616.  
  14617. .prologue
  14618. const/4 v1, 0x1
  14619.  
  14620. const/4 v2, 0x0
  14621.  
  14622. .line 690
  14623. iput-object p2, p0, Lcom/android/server/PowerManagerService;->mLightsService:Lcom/android/server/LightsService;
  14624.  
  14625. .line 691
  14626. iput-object p1, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  14627.  
  14628. .line 692
  14629. iput-object p3, p0, Lcom/android/server/PowerManagerService;->mActivityService:Landroid/app/IActivityManager;
  14630.  
  14631. .line 693
  14632. invoke-static {}, Lcom/android/server/am/BatteryStatsService;->getService()Lcom/android/internal/app/IBatteryStats;
  14633.  
  14634. move-result-object v0
  14635.  
  14636. iput-object v0, p0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  14637.  
  14638. .line 694
  14639. iput-object p4, p0, Lcom/android/server/PowerManagerService;->mBatteryService:Lcom/android/server/BatteryService;
  14640.  
  14641. .line 696
  14642. invoke-virtual {p2, v2}, Lcom/android/server/LightsService;->getLight(I)Lcom/android/server/LightsService$Light;
  14643.  
  14644. move-result-object v0
  14645.  
  14646. iput-object v0, p0, Lcom/android/server/PowerManagerService;->mLcdLight:Lcom/android/server/LightsService$Light;
  14647.  
  14648. .line 697
  14649. const/4 v0, 0x2
  14650.  
  14651. invoke-virtual {p2, v0}, Lcom/android/server/LightsService;->getLight(I)Lcom/android/server/LightsService$Light;
  14652.  
  14653. move-result-object v0
  14654.  
  14655. iput-object v0, p0, Lcom/android/server/PowerManagerService;->mButtonLight:Lcom/android/server/LightsService$Light;
  14656.  
  14657. .line 698
  14658. invoke-virtual {p2, v1}, Lcom/android/server/LightsService;->getLight(I)Lcom/android/server/LightsService$Light;
  14659.  
  14660. move-result-object v0
  14661.  
  14662. iput-object v0, p0, Lcom/android/server/PowerManagerService;->mKeyboardLight:Lcom/android/server/LightsService$Light;
  14663.  
  14664. .line 699
  14665. const/4 v0, 0x5
  14666.  
  14667. invoke-virtual {p2, v0}, Lcom/android/server/LightsService;->getLight(I)Lcom/android/server/LightsService$Light;
  14668.  
  14669. move-result-object v0
  14670.  
  14671. iput-object v0, p0, Lcom/android/server/PowerManagerService;->mAttentionLight:Lcom/android/server/LightsService$Light;
  14672.  
  14673. .line 701
  14674. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->nativeInit()V
  14675.  
  14676. .line 702
  14677. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  14678.  
  14679. monitor-enter v1
  14680.  
  14681. .line 703
  14682. :try_start_30
  14683. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->updateNativePowerStateLocked()V
  14684.  
  14685. .line 704
  14686. monitor-exit v1
  14687. :try_end_34
  14688. .catchall {:try_start_30 .. :try_end_34} :catchall_53
  14689.  
  14690. .line 706
  14691. iput-boolean v2, p0, Lcom/android/server/PowerManagerService;->mInitComplete:Z
  14692.  
  14693. .line 707
  14694. new-instance v0, Lcom/android/server/PowerManagerService$1;
  14695.  
  14696. const-string v1, "PowerManagerService.mScreenOffThread"
  14697.  
  14698. invoke-direct {v0, p0, v1}, Lcom/android/server/PowerManagerService$1;-><init>(Lcom/android/server/PowerManagerService;Ljava/lang/String;)V
  14699.  
  14700. iput-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenOffThread:Landroid/os/HandlerThread;
  14701.  
  14702. .line 717
  14703. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenOffThread:Landroid/os/HandlerThread;
  14704.  
  14705. invoke-virtual {v0}, Landroid/os/HandlerThread;->start()V
  14706.  
  14707. .line 719
  14708. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mScreenOffThread:Landroid/os/HandlerThread;
  14709.  
  14710. monitor-enter v1
  14711.  
  14712. .line 720
  14713. :goto_47
  14714. :try_start_47
  14715. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mInitComplete:Z
  14716. :try_end_49
  14717. .catchall {:try_start_47 .. :try_end_49} :catchall_76
  14718.  
  14719. if-nez v0, :cond_56
  14720.  
  14721. .line 722
  14722. :try_start_4b
  14723. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenOffThread:Landroid/os/HandlerThread;
  14724.  
  14725. invoke-virtual {v0}, Ljava/lang/Object;->wait()V
  14726. :try_end_50
  14727. .catchall {:try_start_4b .. :try_end_50} :catchall_76
  14728. .catch Ljava/lang/InterruptedException; {:try_start_4b .. :try_end_50} :catch_51
  14729.  
  14730. goto :goto_47
  14731.  
  14732. .line 723
  14733. :catch_51
  14734. move-exception v0
  14735.  
  14736. goto :goto_47
  14737.  
  14738. .line 704
  14739. :catchall_53
  14740. move-exception v0
  14741.  
  14742. :try_start_54
  14743. monitor-exit v1
  14744. :try_end_55
  14745. .catchall {:try_start_54 .. :try_end_55} :catchall_53
  14746.  
  14747. throw v0
  14748.  
  14749. .line 727
  14750. :cond_56
  14751. :try_start_56
  14752. monitor-exit v1
  14753. :try_end_57
  14754. .catchall {:try_start_56 .. :try_end_57} :catchall_76
  14755.  
  14756. .line 729
  14757. iput-boolean v2, p0, Lcom/android/server/PowerManagerService;->mInitComplete:Z
  14758.  
  14759. .line 730
  14760. new-instance v0, Lcom/android/server/PowerManagerService$2;
  14761.  
  14762. const-string v1, "PowerManagerService"
  14763.  
  14764. invoke-direct {v0, p0, v1}, Lcom/android/server/PowerManagerService$2;-><init>(Lcom/android/server/PowerManagerService;Ljava/lang/String;)V
  14765.  
  14766. iput-object v0, p0, Lcom/android/server/PowerManagerService;->mHandlerThread:Landroid/os/HandlerThread;
  14767.  
  14768. .line 737
  14769. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mHandlerThread:Landroid/os/HandlerThread;
  14770.  
  14771. invoke-virtual {v0}, Landroid/os/HandlerThread;->start()V
  14772.  
  14773. .line 739
  14774. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mHandlerThread:Landroid/os/HandlerThread;
  14775.  
  14776. monitor-enter v1
  14777.  
  14778. .line 740
  14779. :goto_6a
  14780. :try_start_6a
  14781. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mInitComplete:Z
  14782. :try_end_6c
  14783. .catchall {:try_start_6a .. :try_end_6c} :catchall_8b
  14784.  
  14785. if-nez v0, :cond_79
  14786.  
  14787. .line 742
  14788. :try_start_6e
  14789. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mHandlerThread:Landroid/os/HandlerThread;
  14790.  
  14791. invoke-virtual {v0}, Ljava/lang/Object;->wait()V
  14792. :try_end_73
  14793. .catchall {:try_start_6e .. :try_end_73} :catchall_8b
  14794. .catch Ljava/lang/InterruptedException; {:try_start_6e .. :try_end_73} :catch_74
  14795.  
  14796. goto :goto_6a
  14797.  
  14798. .line 743
  14799. :catch_74
  14800. move-exception v0
  14801.  
  14802. goto :goto_6a
  14803.  
  14804. .line 727
  14805. :catchall_76
  14806. move-exception v0
  14807.  
  14808. :try_start_77
  14809. monitor-exit v1
  14810. :try_end_78
  14811. .catchall {:try_start_77 .. :try_end_78} :catchall_76
  14812.  
  14813. throw v0
  14814.  
  14815. .line 747
  14816. :cond_79
  14817. :try_start_79
  14818. monitor-exit v1
  14819. :try_end_7a
  14820. .catchall {:try_start_79 .. :try_end_7a} :catchall_8b
  14821.  
  14822. .line 749
  14823. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->nativeInit()V
  14824.  
  14825. .line 750
  14826. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  14827.  
  14828. monitor-enter v1
  14829.  
  14830. .line 751
  14831. :try_start_80
  14832. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->updateNativePowerStateLocked()V
  14833.  
  14834. .line 754
  14835. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->forceUserActivityLocked()V
  14836.  
  14837. .line 755
  14838. const/4 v0, 0x1
  14839.  
  14840. iput-boolean v0, p0, Lcom/android/server/PowerManagerService;->mInitialized:Z
  14841.  
  14842. .line 756
  14843. monitor-exit v1
  14844. :try_end_8a
  14845. .catchall {:try_start_80 .. :try_end_8a} :catchall_8e
  14846.  
  14847. .line 757
  14848. return-void
  14849.  
  14850. .line 747
  14851. :catchall_8b
  14852. move-exception v0
  14853.  
  14854. :try_start_8c
  14855. monitor-exit v1
  14856. :try_end_8d
  14857. .catchall {:try_start_8c .. :try_end_8d} :catchall_8b
  14858.  
  14859. throw v0
  14860.  
  14861. .line 756
  14862. :catchall_8e
  14863. move-exception v0
  14864.  
  14865. :try_start_8f
  14866. monitor-exit v1
  14867. :try_end_90
  14868. .catchall {:try_start_8f .. :try_end_90} :catchall_8e
  14869.  
  14870. throw v0
  14871. .end method
  14872.  
  14873. .method initInThread()V
  14874. .registers 15
  14875.  
  14876. .prologue
  14877. const/high16 v5, 0x4000
  14878.  
  14879. const/4 v4, 0x6
  14880.  
  14881. const/4 v12, 0x0
  14882.  
  14883. const/4 v2, 0x0
  14884.  
  14885. const/4 v13, 0x1
  14886.  
  14887. .line 760
  14888. new-instance v1, Landroid/os/Handler;
  14889.  
  14890. invoke-direct {v1}, Landroid/os/Handler;-><init>()V
  14891.  
  14892. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  14893.  
  14894. .line 762
  14895. new-instance v1, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  14896.  
  14897. const-string v3, "sleep_broadcast"
  14898.  
  14899. invoke-direct {v1, p0, v13, v3, v13}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;-><init>(Lcom/android/server/PowerManagerService;ILjava/lang/String;Z)V
  14900.  
  14901. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mBroadcastWakeLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  14902.  
  14903. .line 764
  14904. new-instance v1, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  14905.  
  14906. const-string v3, "StayOnWhilePluggedIn Screen Dim"
  14907.  
  14908. invoke-direct {v1, p0, v4, v3, v12}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;-><init>(Lcom/android/server/PowerManagerService;ILjava/lang/String;Z)V
  14909.  
  14910. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mStayOnWhilePluggedInScreenDimLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  14911.  
  14912. .line 766
  14913. new-instance v1, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  14914.  
  14915. const-string v3, "StayOnWhilePluggedIn Partial"
  14916.  
  14917. invoke-direct {v1, p0, v13, v3, v12}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;-><init>(Lcom/android/server/PowerManagerService;ILjava/lang/String;Z)V
  14918.  
  14919. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mStayOnWhilePluggedInPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  14920.  
  14921. .line 768
  14922. new-instance v1, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  14923.  
  14924. const-string v3, "PreventScreenOn Partial"
  14925.  
  14926. invoke-direct {v1, p0, v13, v3, v12}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;-><init>(Lcom/android/server/PowerManagerService;ILjava/lang/String;Z)V
  14927.  
  14928. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mPreventScreenOnPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  14929.  
  14930. .line 770
  14931. new-instance v1, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  14932.  
  14933. const-string v3, "Proximity Partial"
  14934.  
  14935. invoke-direct {v1, p0, v13, v3, v12}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;-><init>(Lcom/android/server/PowerManagerService;ILjava/lang/String;Z)V
  14936.  
  14937. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mProximityPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  14938.  
  14939. .line 773
  14940. new-instance v1, Landroid/content/Intent;
  14941.  
  14942. const-string v3, "android.intent.action.SCREEN_ON"
  14943.  
  14944. invoke-direct {v1, v3}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
  14945.  
  14946. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mScreenOnIntent:Landroid/content/Intent;
  14947.  
  14948. .line 774
  14949. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mScreenOnIntent:Landroid/content/Intent;
  14950.  
  14951. invoke-virtual {v1, v5}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
  14952.  
  14953. .line 775
  14954. new-instance v1, Landroid/content/Intent;
  14955.  
  14956. const-string v3, "android.intent.action.SCREEN_OFF"
  14957.  
  14958. invoke-direct {v1, v3}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
  14959.  
  14960. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mScreenOffIntent:Landroid/content/Intent;
  14961.  
  14962. .line 776
  14963. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mScreenOffIntent:Landroid/content/Intent;
  14964.  
  14965. invoke-virtual {v1, v5}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
  14966.  
  14967. .line 778
  14968. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  14969.  
  14970. invoke-virtual {v1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
  14971.  
  14972. move-result-object v8
  14973.  
  14974. .line 780
  14975. .local v8, resources:Landroid/content/res/Resources;
  14976. const v1, 0x1110012
  14977.  
  14978. invoke-virtual {v8, v1}, Landroid/content/res/Resources;->getBoolean(I)Z
  14979.  
  14980. move-result v1
  14981.  
  14982. iput-boolean v1, p0, Lcom/android/server/PowerManagerService;->mAnimateScreenLights:Z
  14983.  
  14984. .line 783
  14985. const v1, 0x1110011
  14986.  
  14987. invoke-virtual {v8, v1}, Landroid/content/res/Resources;->getBoolean(I)Z
  14988.  
  14989. move-result v1
  14990.  
  14991. iput-boolean v1, p0, Lcom/android/server/PowerManagerService;->mUnplugTurnsOnScreen:Z
  14992.  
  14993. .line 786
  14994. const v1, 0x10e001e
  14995.  
  14996. invoke-virtual {v8, v1}, Landroid/content/res/Resources;->getInteger(I)I
  14997.  
  14998. move-result v1
  14999.  
  15000. iput v1, p0, Lcom/android/server/PowerManagerService;->mScreenBrightnessDim:I
  15001.  
  15002. .line 796
  15003. const v1, 0x111000f
  15004.  
  15005. invoke-virtual {v8, v1}, Landroid/content/res/Resources;->getBoolean(I)Z
  15006.  
  15007. move-result v1
  15008.  
  15009. iput-boolean v1, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  15010.  
  15011. .line 799
  15012. iget-boolean v1, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  15013.  
  15014. if-eqz v1, :cond_b1
  15015.  
  15016. .line 800
  15017. const v1, 0x1070028
  15018.  
  15019. invoke-virtual {v8, v1}, Landroid/content/res/Resources;->getIntArray(I)[I
  15020.  
  15021. move-result-object v1
  15022.  
  15023. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mAutoBrightnessLevels:[I
  15024.  
  15025. .line 802
  15026. const v1, 0x1070029
  15027.  
  15028. invoke-virtual {v8, v1}, Landroid/content/res/Resources;->getIntArray(I)[I
  15029.  
  15030. move-result-object v1
  15031.  
  15032. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mLcdBacklightValues:[I
  15033.  
  15034. .line 804
  15035. const v1, 0x107002a
  15036.  
  15037. invoke-virtual {v8, v1}, Landroid/content/res/Resources;->getIntArray(I)[I
  15038.  
  15039. move-result-object v1
  15040.  
  15041. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mButtonBacklightValues:[I
  15042.  
  15043. .line 806
  15044. const v1, 0x107002b
  15045.  
  15046. invoke-virtual {v8, v1}, Landroid/content/res/Resources;->getIntArray(I)[I
  15047.  
  15048. move-result-object v1
  15049.  
  15050. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mKeyboardBacklightValues:[I
  15051.  
  15052. .line 808
  15053. const v1, 0x10e001f
  15054.  
  15055. invoke-virtual {v8, v1}, Landroid/content/res/Resources;->getInteger(I)I
  15056.  
  15057. move-result v1
  15058.  
  15059. iput v1, p0, Lcom/android/server/PowerManagerService;->mLightSensorWarmupTime:I
  15060.  
  15061. .line 812
  15062. :cond_b1
  15063. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  15064.  
  15065. invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
  15066.  
  15067. move-result-object v0
  15068.  
  15069. .line 813
  15070. .local v0, resolver:Landroid/content/ContentResolver;
  15071. sget-object v1, Landroid/provider/Settings$System;->CONTENT_URI:Landroid/net/Uri;
  15072.  
  15073. const-string v3, "(name=?) or (name=?) or (name=?) or (name=?) or (name=?) or (name=?)"
  15074.  
  15075. new-array v4, v4, [Ljava/lang/String;
  15076.  
  15077. const-string v5, "stay_on_while_plugged_in"
  15078.  
  15079. aput-object v5, v4, v12
  15080.  
  15081. const-string v5, "screen_off_timeout"
  15082.  
  15083. aput-object v5, v4, v13
  15084.  
  15085. const/4 v5, 0x2
  15086.  
  15087. const-string v12, "dim_screen"
  15088.  
  15089. aput-object v12, v4, v5
  15090.  
  15091. const/4 v5, 0x3
  15092.  
  15093. const-string v12, "screen_brightness_mode"
  15094.  
  15095. aput-object v12, v4, v5
  15096.  
  15097. const/4 v5, 0x4
  15098.  
  15099. const-string v12, "window_animation_scale"
  15100.  
  15101. aput-object v12, v4, v5
  15102.  
  15103. const/4 v5, 0x5
  15104.  
  15105. const-string v12, "transition_animation_scale"
  15106.  
  15107. aput-object v12, v4, v5
  15108.  
  15109. move-object v5, v2
  15110.  
  15111. 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;
  15112.  
  15113. move-result-object v10
  15114.  
  15115. .line 823
  15116. .local v10, settingsCursor:Landroid/database/Cursor;
  15117. new-instance v1, Landroid/content/ContentQueryMap;
  15118.  
  15119. const-string v3, "name"
  15120.  
  15121. iget-object v4, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  15122.  
  15123. invoke-direct {v1, v10, v3, v13, v4}, Landroid/content/ContentQueryMap;-><init>(Landroid/database/Cursor;Ljava/lang/String;ZLandroid/os/Handler;)V
  15124.  
  15125. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mSettings:Landroid/content/ContentQueryMap;
  15126.  
  15127. .line 824
  15128. new-instance v11, Lcom/android/server/PowerManagerService$SettingsObserver;
  15129.  
  15130. invoke-direct {v11, p0, v2}, Lcom/android/server/PowerManagerService$SettingsObserver;-><init>(Lcom/android/server/PowerManagerService;Lcom/android/server/PowerManagerService$1;)V
  15131.  
  15132. .line 825
  15133. .local v11, settingsObserver:Lcom/android/server/PowerManagerService$SettingsObserver;
  15134. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mSettings:Landroid/content/ContentQueryMap;
  15135.  
  15136. invoke-virtual {v1, v11}, Landroid/content/ContentQueryMap;->addObserver(Ljava/util/Observer;)V
  15137.  
  15138. .line 828
  15139. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mSettings:Landroid/content/ContentQueryMap;
  15140.  
  15141. invoke-virtual {v11, v1, v2}, Lcom/android/server/PowerManagerService$SettingsObserver;->update(Ljava/util/Observable;Ljava/lang/Object;)V
  15142.  
  15143. .line 831
  15144. new-instance v7, Landroid/content/IntentFilter;
  15145.  
  15146. invoke-direct {v7}, Landroid/content/IntentFilter;-><init>()V
  15147.  
  15148. .line 832
  15149. .local v7, filter:Landroid/content/IntentFilter;
  15150. const-string v1, "android.intent.action.BATTERY_CHANGED"
  15151.  
  15152. invoke-virtual {v7, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
  15153.  
  15154. .line 833
  15155. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  15156.  
  15157. new-instance v3, Lcom/android/server/PowerManagerService$BatteryReceiver;
  15158.  
  15159. invoke-direct {v3, p0, v2}, Lcom/android/server/PowerManagerService$BatteryReceiver;-><init>(Lcom/android/server/PowerManagerService;Lcom/android/server/PowerManagerService$1;)V
  15160.  
  15161. invoke-virtual {v1, v3, v7}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
  15162.  
  15163. .line 834
  15164. new-instance v7, Landroid/content/IntentFilter;
  15165.  
  15166. .end local v7 #filter:Landroid/content/IntentFilter;
  15167. invoke-direct {v7}, Landroid/content/IntentFilter;-><init>()V
  15168.  
  15169. .line 835
  15170. .restart local v7 #filter:Landroid/content/IntentFilter;
  15171. const-string v1, "android.intent.action.BOOT_COMPLETED"
  15172.  
  15173. invoke-virtual {v7, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
  15174.  
  15175. .line 836
  15176. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  15177.  
  15178. new-instance v3, Lcom/android/server/PowerManagerService$BootCompletedReceiver;
  15179.  
  15180. invoke-direct {v3, p0, v2}, Lcom/android/server/PowerManagerService$BootCompletedReceiver;-><init>(Lcom/android/server/PowerManagerService;Lcom/android/server/PowerManagerService$1;)V
  15181.  
  15182. invoke-virtual {v1, v3, v7}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
  15183.  
  15184. .line 837
  15185. new-instance v7, Landroid/content/IntentFilter;
  15186.  
  15187. .end local v7 #filter:Landroid/content/IntentFilter;
  15188. invoke-direct {v7}, Landroid/content/IntentFilter;-><init>()V
  15189.  
  15190. .line 838
  15191. .restart local v7 #filter:Landroid/content/IntentFilter;
  15192. const-string v1, "android.intent.action.DOCK_EVENT"
  15193.  
  15194. invoke-virtual {v7, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
  15195.  
  15196. .line 839
  15197. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  15198.  
  15199. new-instance v3, Lcom/android/server/PowerManagerService$DockReceiver;
  15200.  
  15201. invoke-direct {v3, p0, v2}, Lcom/android/server/PowerManagerService$DockReceiver;-><init>(Lcom/android/server/PowerManagerService;Lcom/android/server/PowerManagerService$1;)V
  15202.  
  15203. invoke-virtual {v1, v3, v7}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
  15204.  
  15205. .line 841
  15206. new-instance v7, Landroid/content/IntentFilter;
  15207.  
  15208. .end local v7 #filter:Landroid/content/IntentFilter;
  15209. invoke-direct {v7}, Landroid/content/IntentFilter;-><init>()V
  15210.  
  15211. .line 842
  15212. .restart local v7 #filter:Landroid/content/IntentFilter;
  15213. const-string v1, "android.intent.action.SEND"
  15214.  
  15215. invoke-virtual {v7, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
  15216.  
  15217. .line 843
  15218. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  15219.  
  15220. new-instance v3, Lcom/android/server/PowerManagerService$KeyguardDoneDrawReceiver;
  15221.  
  15222. invoke-direct {v3, p0, v2}, Lcom/android/server/PowerManagerService$KeyguardDoneDrawReceiver;-><init>(Lcom/android/server/PowerManagerService;Lcom/android/server/PowerManagerService$1;)V
  15223.  
  15224. const-string v4, "com.android.internal.policy.impl.KeyguardViewMediator.DONE_DRAW"
  15225.  
  15226. invoke-virtual {v1, v3, v7, v4, v2}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;
  15227.  
  15228. .line 846
  15229. new-instance v9, Lcom/android/server/PowerManagerService$SDHotPlugReceiver;
  15230.  
  15231. invoke-direct {v9, p0, v2}, Lcom/android/server/PowerManagerService$SDHotPlugReceiver;-><init>(Lcom/android/server/PowerManagerService;Lcom/android/server/PowerManagerService$1;)V
  15232.  
  15233. .line 847
  15234. .local v9, sdReceiver:Lcom/android/server/PowerManagerService$SDHotPlugReceiver;
  15235. new-instance v7, Landroid/content/IntentFilter;
  15236.  
  15237. .end local v7 #filter:Landroid/content/IntentFilter;
  15238. invoke-direct {v7}, Landroid/content/IntentFilter;-><init>()V
  15239.  
  15240. .line 848
  15241. .restart local v7 #filter:Landroid/content/IntentFilter;
  15242. const-string v1, "android.intent.action.SD_INSERTED"
  15243.  
  15244. invoke-virtual {v7, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
  15245.  
  15246. .line 849
  15247. const-string v1, "file"
  15248.  
  15249. invoke-virtual {v7, v1}, Landroid/content/IntentFilter;->addDataScheme(Ljava/lang/String;)V
  15250.  
  15251. .line 850
  15252. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  15253.  
  15254. invoke-virtual {v1, v9, v7}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
  15255.  
  15256. .line 852
  15257. new-instance v7, Landroid/content/IntentFilter;
  15258.  
  15259. .end local v7 #filter:Landroid/content/IntentFilter;
  15260. invoke-direct {v7}, Landroid/content/IntentFilter;-><init>()V
  15261.  
  15262. .line 853
  15263. .restart local v7 #filter:Landroid/content/IntentFilter;
  15264. const-string v1, "android.intent.action.MEDIA_REMOVED"
  15265.  
  15266. invoke-virtual {v7, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
  15267.  
  15268. .line 854
  15269. const-string v1, "android.intent.action.MEDIA_BAD_REMOVAL"
  15270.  
  15271. invoke-virtual {v7, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
  15272.  
  15273. .line 855
  15274. const-string v1, "file"
  15275.  
  15276. invoke-virtual {v7, v1}, Landroid/content/IntentFilter;->addDataScheme(Ljava/lang/String;)V
  15277.  
  15278. .line 856
  15279. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  15280.  
  15281. invoke-virtual {v1, v9, v7}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
  15282.  
  15283. .line 861
  15284. new-instance v7, Landroid/content/IntentFilter;
  15285.  
  15286. .end local v7 #filter:Landroid/content/IntentFilter;
  15287. invoke-direct {v7}, Landroid/content/IntentFilter;-><init>()V
  15288.  
  15289. .line 862
  15290. .restart local v7 #filter:Landroid/content/IntentFilter;
  15291. const-string v1, "android.intent.action.ACTION_BOOT_IPO"
  15292.  
  15293. invoke-virtual {v7, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
  15294.  
  15295. .line 863
  15296. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  15297.  
  15298. new-instance v2, Lcom/android/server/PowerManagerService$3;
  15299.  
  15300. invoke-direct {v2, p0}, Lcom/android/server/PowerManagerService$3;-><init>(Lcom/android/server/PowerManagerService;)V
  15301.  
  15302. invoke-virtual {v1, v2, v7}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
  15303.  
  15304. .line 873
  15305. new-instance v1, Lcom/android/internal/widget/LockPatternUtils;
  15306.  
  15307. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  15308.  
  15309. invoke-direct {v1, v2}, Lcom/android/internal/widget/LockPatternUtils;-><init>(Landroid/content/Context;)V
  15310.  
  15311. iput-object v1, p0, Lcom/android/server/PowerManagerService;->mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;
  15312.  
  15313. .line 875
  15314. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  15315.  
  15316. invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
  15317.  
  15318. move-result-object v1
  15319.  
  15320. sget-object v2, Landroid/provider/Settings$Secure;->CONTENT_URI:Landroid/net/Uri;
  15321.  
  15322. new-instance v3, Lcom/android/server/PowerManagerService$4;
  15323.  
  15324. new-instance v4, Landroid/os/Handler;
  15325.  
  15326. invoke-direct {v4}, Landroid/os/Handler;-><init>()V
  15327.  
  15328. invoke-direct {v3, p0, v4}, Lcom/android/server/PowerManagerService$4;-><init>(Lcom/android/server/PowerManagerService;Landroid/os/Handler;)V
  15329.  
  15330. invoke-virtual {v1, v2, v13, v3}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
  15331.  
  15332. .line 882
  15333. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->updateSettingsValues()V
  15334.  
  15335. .line 884
  15336. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mHandlerThread:Landroid/os/HandlerThread;
  15337.  
  15338. monitor-enter v2
  15339.  
  15340. .line 885
  15341. const/4 v1, 0x1
  15342.  
  15343. :try_start_1b5
  15344. iput-boolean v1, p0, Lcom/android/server/PowerManagerService;->mInitComplete:Z
  15345.  
  15346. .line 886
  15347. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mHandlerThread:Landroid/os/HandlerThread;
  15348.  
  15349. invoke-virtual {v1}, Ljava/lang/Object;->notifyAll()V
  15350.  
  15351. .line 887
  15352. monitor-exit v2
  15353. :try_end_1bd
  15354. .catchall {:try_start_1b5 .. :try_end_1bd} :catchall_1d0
  15355.  
  15356. .line 889
  15357. const-string v1, "ro.operator.optr"
  15358.  
  15359. invoke-static {v1}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
  15360.  
  15361. move-result-object v6
  15362.  
  15363. .line 890
  15364. .local v6, cust:Ljava/lang/String;
  15365. if-eqz v6, :cond_1cf
  15366.  
  15367. .line 892
  15368. const-string v1, "OP01"
  15369.  
  15370. invoke-virtual {v6, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  15371.  
  15372. move-result v1
  15373.  
  15374. if-eqz v1, :cond_1cf
  15375.  
  15376. .line 893
  15377. sput-boolean v13, Lcom/android/server/PowerManagerService;->FEATURE_AUTO_BRIGHTNESS_DECREASE:Z
  15378.  
  15379. .line 897
  15380. :cond_1cf
  15381. return-void
  15382.  
  15383. .line 887
  15384. .end local v6 #cust:Ljava/lang/String;
  15385. :catchall_1d0
  15386. move-exception v1
  15387.  
  15388. :try_start_1d1
  15389. monitor-exit v2
  15390. :try_end_1d2
  15391. .catchall {:try_start_1d1 .. :try_end_1d2} :catchall_1d0
  15392.  
  15393. throw v1
  15394. .end method
  15395.  
  15396. .method isScreenBright()Z
  15397. .registers 4
  15398.  
  15399. .prologue
  15400. .line 3237
  15401. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  15402.  
  15403. monitor-enter v1
  15404.  
  15405. .line 3238
  15406. :try_start_3
  15407. iget v0, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  15408.  
  15409. and-int/lit8 v0, v0, 0x3
  15410.  
  15411. const/4 v2, 0x3
  15412.  
  15413. if-ne v0, v2, :cond_d
  15414.  
  15415. const/4 v0, 0x1
  15416.  
  15417. :goto_b
  15418. monitor-exit v1
  15419.  
  15420. return v0
  15421.  
  15422. :cond_d
  15423. const/4 v0, 0x0
  15424.  
  15425. goto :goto_b
  15426.  
  15427. .line 3239
  15428. :catchall_f
  15429. move-exception v0
  15430.  
  15431. monitor-exit v1
  15432. :try_end_11
  15433. .catchall {:try_start_3 .. :try_end_11} :catchall_f
  15434.  
  15435. throw v0
  15436. .end method
  15437.  
  15438. .method public isScreenOn()Z
  15439. .registers 3
  15440.  
  15441. .prologue
  15442. .line 3231
  15443. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  15444.  
  15445. monitor-enter v1
  15446.  
  15447. .line 3232
  15448. :try_start_3
  15449. iget v0, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  15450.  
  15451. and-int/lit8 v0, v0, 0x1
  15452.  
  15453. if-eqz v0, :cond_c
  15454.  
  15455. const/4 v0, 0x1
  15456.  
  15457. :goto_a
  15458. monitor-exit v1
  15459.  
  15460. return v0
  15461.  
  15462. :cond_c
  15463. const/4 v0, 0x0
  15464.  
  15465. goto :goto_a
  15466.  
  15467. .line 3233
  15468. :catchall_e
  15469. move-exception v0
  15470.  
  15471. monitor-exit v1
  15472. :try_end_10
  15473. .catchall {:try_start_3 .. :try_end_10} :catchall_e
  15474.  
  15475. throw v0
  15476. .end method
  15477.  
  15478. .method public isStayAwake()Z
  15479. .registers 3
  15480.  
  15481. .prologue
  15482. .line 3684
  15483. iget v0, p0, Lcom/android/server/PowerManagerService;->mStayOnConditions:I
  15484.  
  15485. if-eqz v0, :cond_10
  15486.  
  15487. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mBatteryService:Lcom/android/server/BatteryService;
  15488.  
  15489. iget v1, p0, Lcom/android/server/PowerManagerService;->mStayOnConditions:I
  15490.  
  15491. invoke-virtual {v0, v1}, Lcom/android/server/BatteryService;->isPowered(I)Z
  15492.  
  15493. move-result v0
  15494.  
  15495. if-eqz v0, :cond_10
  15496.  
  15497. .line 3685
  15498. const/4 v0, 0x1
  15499.  
  15500. .line 3686
  15501. :goto_f
  15502. return v0
  15503.  
  15504. :cond_10
  15505. const/4 v0, 0x0
  15506.  
  15507. goto :goto_f
  15508. .end method
  15509.  
  15510. .method logPointerDownEvent()V
  15511. .registers 5
  15512.  
  15513. .prologue
  15514. .line 2307
  15515. iget-wide v0, p0, Lcom/android/server/PowerManagerService;->mLastTouchDown:J
  15516.  
  15517. const-wide/16 v2, 0x0
  15518.  
  15519. cmp-long v0, v0, v2
  15520.  
  15521. if-nez v0, :cond_14
  15522.  
  15523. .line 2308
  15524. invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
  15525.  
  15526. move-result-wide v0
  15527.  
  15528. iput-wide v0, p0, Lcom/android/server/PowerManagerService;->mLastTouchDown:J
  15529.  
  15530. .line 2309
  15531. iget v0, p0, Lcom/android/server/PowerManagerService;->mTouchCycles:I
  15532.  
  15533. add-int/lit8 v0, v0, 0x1
  15534.  
  15535. iput v0, p0, Lcom/android/server/PowerManagerService;->mTouchCycles:I
  15536.  
  15537. .line 2312
  15538. :cond_14
  15539. return-void
  15540. .end method
  15541.  
  15542. .method logPointerUpEvent()V
  15543. .registers 7
  15544.  
  15545. .prologue
  15546. .line 2299
  15547. iget-wide v0, p0, Lcom/android/server/PowerManagerService;->mTotalTouchDownTime:J
  15548.  
  15549. invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
  15550.  
  15551. move-result-wide v2
  15552.  
  15553. iget-wide v4, p0, Lcom/android/server/PowerManagerService;->mLastTouchDown:J
  15554.  
  15555. sub-long/2addr v2, v4
  15556.  
  15557. add-long/2addr v0, v2
  15558.  
  15559. iput-wide v0, p0, Lcom/android/server/PowerManagerService;->mTotalTouchDownTime:J
  15560.  
  15561. .line 2300
  15562. const-wide/16 v0, 0x0
  15563.  
  15564. iput-wide v0, p0, Lcom/android/server/PowerManagerService;->mLastTouchDown:J
  15565.  
  15566. .line 2302
  15567. return-void
  15568. .end method
  15569.  
  15570. .method public monitor()V
  15571. .registers 3
  15572.  
  15573. .prologue
  15574. .line 3958
  15575. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  15576.  
  15577. monitor-enter v1
  15578.  
  15579. :try_start_3
  15580. monitor-exit v1
  15581.  
  15582. .line 3959
  15583. return-void
  15584.  
  15585. .line 3958
  15586. :catchall_5
  15587. move-exception v0
  15588.  
  15589. monitor-exit v1
  15590. :try_end_7
  15591. .catchall {:try_start_3 .. :try_end_7} :catchall_5
  15592.  
  15593. throw v0
  15594. .end method
  15595.  
  15596. .method noteStartWakeLocked(Lcom/android/server/PowerManagerService$WakeLock;Landroid/os/WorkSource;)V
  15597. .registers 10
  15598. .parameter "wl"
  15599. .parameter "ws"
  15600.  
  15601. .prologue
  15602. .line 989
  15603. iget v2, p1, Lcom/android/server/PowerManagerService$WakeLock;->monitorType:I
  15604.  
  15605. if-ltz v2, :cond_18
  15606.  
  15607. .line 990
  15608. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  15609.  
  15610. move-result-wide v0
  15611.  
  15612. .line 992
  15613. .local v0, origId:J
  15614. if-eqz p2, :cond_19
  15615.  
  15616. .line 993
  15617. :try_start_a
  15618. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  15619.  
  15620. iget v3, p1, Lcom/android/server/PowerManagerService$WakeLock;->pid:I
  15621.  
  15622. iget-object v4, p1, Lcom/android/server/PowerManagerService$WakeLock;->tag:Ljava/lang/String;
  15623.  
  15624. iget v5, p1, Lcom/android/server/PowerManagerService$WakeLock;->monitorType:I
  15625.  
  15626. invoke-interface {v2, p2, v3, v4, v5}, Lcom/android/internal/app/IBatteryStats;->noteStartWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;I)V
  15627. :try_end_15
  15628. .catchall {:try_start_a .. :try_end_15} :catchall_2c
  15629. .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_15} :catch_27
  15630.  
  15631. .line 1001
  15632. :goto_15
  15633. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  15634.  
  15635. .line 1004
  15636. .end local v0 #origId:J
  15637. :cond_18
  15638. :goto_18
  15639. return-void
  15640.  
  15641. .line 996
  15642. .restart local v0 #origId:J
  15643. :cond_19
  15644. :try_start_19
  15645. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  15646.  
  15647. iget v3, p1, Lcom/android/server/PowerManagerService$WakeLock;->uid:I
  15648.  
  15649. iget v4, p1, Lcom/android/server/PowerManagerService$WakeLock;->pid:I
  15650.  
  15651. iget-object v5, p1, Lcom/android/server/PowerManagerService$WakeLock;->tag:Ljava/lang/String;
  15652.  
  15653. iget v6, p1, Lcom/android/server/PowerManagerService$WakeLock;->monitorType:I
  15654.  
  15655. invoke-interface {v2, v3, v4, v5, v6}, Lcom/android/internal/app/IBatteryStats;->noteStartWakelock(IILjava/lang/String;I)V
  15656. :try_end_26
  15657. .catchall {:try_start_19 .. :try_end_26} :catchall_2c
  15658. .catch Landroid/os/RemoteException; {:try_start_19 .. :try_end_26} :catch_27
  15659.  
  15660. goto :goto_15
  15661.  
  15662. .line 998
  15663. :catch_27
  15664. move-exception v2
  15665.  
  15666. .line 1001
  15667. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  15668.  
  15669. goto :goto_18
  15670.  
  15671. :catchall_2c
  15672. move-exception v2
  15673.  
  15674. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  15675.  
  15676. throw v2
  15677. .end method
  15678.  
  15679. .method noteStopWakeLocked(Lcom/android/server/PowerManagerService$WakeLock;Landroid/os/WorkSource;)V
  15680. .registers 10
  15681. .parameter "wl"
  15682. .parameter "ws"
  15683.  
  15684. .prologue
  15685. .line 1007
  15686. iget v2, p1, Lcom/android/server/PowerManagerService$WakeLock;->monitorType:I
  15687.  
  15688. if-ltz v2, :cond_18
  15689.  
  15690. .line 1008
  15691. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  15692.  
  15693. move-result-wide v0
  15694.  
  15695. .line 1010
  15696. .local v0, origId:J
  15697. if-eqz p2, :cond_19
  15698.  
  15699. .line 1011
  15700. :try_start_a
  15701. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  15702.  
  15703. iget v3, p1, Lcom/android/server/PowerManagerService$WakeLock;->pid:I
  15704.  
  15705. iget-object v4, p1, Lcom/android/server/PowerManagerService$WakeLock;->tag:Ljava/lang/String;
  15706.  
  15707. iget v5, p1, Lcom/android/server/PowerManagerService$WakeLock;->monitorType:I
  15708.  
  15709. invoke-interface {v2, p2, v3, v4, v5}, Lcom/android/internal/app/IBatteryStats;->noteStopWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;I)V
  15710. :try_end_15
  15711. .catchall {:try_start_a .. :try_end_15} :catchall_2c
  15712. .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_15} :catch_27
  15713.  
  15714. .line 1019
  15715. :goto_15
  15716. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  15717.  
  15718. .line 1022
  15719. .end local v0 #origId:J
  15720. :cond_18
  15721. :goto_18
  15722. return-void
  15723.  
  15724. .line 1014
  15725. .restart local v0 #origId:J
  15726. :cond_19
  15727. :try_start_19
  15728. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  15729.  
  15730. iget v3, p1, Lcom/android/server/PowerManagerService$WakeLock;->uid:I
  15731.  
  15732. iget v4, p1, Lcom/android/server/PowerManagerService$WakeLock;->pid:I
  15733.  
  15734. iget-object v5, p1, Lcom/android/server/PowerManagerService$WakeLock;->tag:Ljava/lang/String;
  15735.  
  15736. iget v6, p1, Lcom/android/server/PowerManagerService$WakeLock;->monitorType:I
  15737.  
  15738. invoke-interface {v2, v3, v4, v5, v6}, Lcom/android/internal/app/IBatteryStats;->noteStopWakelock(IILjava/lang/String;I)V
  15739. :try_end_26
  15740. .catchall {:try_start_19 .. :try_end_26} :catchall_2c
  15741. .catch Landroid/os/RemoteException; {:try_start_19 .. :try_end_26} :catch_27
  15742.  
  15743. goto :goto_15
  15744.  
  15745. .line 1016
  15746. :catch_27
  15747. move-exception v2
  15748.  
  15749. .line 1019
  15750. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  15751.  
  15752. goto :goto_18
  15753.  
  15754. :catchall_2c
  15755. move-exception v2
  15756.  
  15757. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  15758.  
  15759. throw v2
  15760. .end method
  15761.  
  15762. .method public preventScreenOn(Z)V
  15763. .registers 7
  15764. .parameter "prevent"
  15765.  
  15766. .prologue
  15767. .line 2344
  15768. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  15769.  
  15770. const-string v1, "android.permission.DEVICE_POWER"
  15771.  
  15772. const/4 v2, 0x0
  15773.  
  15774. invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  15775.  
  15776. .line 2346
  15777. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  15778.  
  15779. monitor-enter v1
  15780.  
  15781. .line 2347
  15782. if-eqz p1, :cond_27
  15783.  
  15784. .line 2351
  15785. :try_start_d
  15786. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mPreventScreenOnPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  15787.  
  15788. invoke-virtual {v0}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->acquire()V
  15789.  
  15790. .line 2356
  15791. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  15792.  
  15793. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mForceReenableScreenTask:Ljava/lang/Runnable;
  15794.  
  15795. invoke-virtual {v0, v2}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
  15796.  
  15797. .line 2357
  15798. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  15799.  
  15800. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mForceReenableScreenTask:Ljava/lang/Runnable;
  15801.  
  15802. const-wide/16 v3, 0x1388
  15803.  
  15804. invoke-virtual {v0, v2, v3, v4}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z
  15805.  
  15806. .line 2362
  15807. const/4 v0, 0x1
  15808.  
  15809. iput-boolean v0, p0, Lcom/android/server/PowerManagerService;->mPreventScreenOn:Z
  15810.  
  15811. .line 2397
  15812. :goto_25
  15813. monitor-exit v1
  15814.  
  15815. .line 2398
  15816. return-void
  15817.  
  15818. .line 2365
  15819. :cond_27
  15820. const/4 v0, 0x0
  15821.  
  15822. iput-boolean v0, p0, Lcom/android/server/PowerManagerService;->mPreventScreenOn:Z
  15823.  
  15824. .line 2369
  15825. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  15826.  
  15827. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mForceReenableScreenTask:Ljava/lang/Runnable;
  15828.  
  15829. invoke-virtual {v0, v2}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
  15830.  
  15831. .line 2374
  15832. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mProximitySensorActive:Z
  15833.  
  15834. if-nez v0, :cond_54
  15835.  
  15836. iget v0, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  15837.  
  15838. and-int/lit8 v0, v0, 0x1
  15839.  
  15840. if-eqz v0, :cond_54
  15841.  
  15842. .line 2376
  15843. const-string v0, "PowerManagerService"
  15844.  
  15845. const-string v2, "preventScreenOn: turning on after a prior preventScreenOn(true)!"
  15846.  
  15847. invoke-static {v0, v2}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  15848.  
  15849. .line 2389
  15850. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenOffHandler:Landroid/os/Handler;
  15851.  
  15852. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  15853.  
  15854. iget-object v2, v2, Lcom/android/server/PowerManagerService$BrightnessState;->mLightAnimator:Ljava/lang/Runnable;
  15855.  
  15856. invoke-virtual {v0, v2}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
  15857.  
  15858. .line 2390
  15859. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mScreenOffHandler:Landroid/os/Handler;
  15860.  
  15861. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  15862.  
  15863. iget-object v2, v2, Lcom/android/server/PowerManagerService$BrightnessState;->mLightAnimator:Ljava/lang/Runnable;
  15864.  
  15865. invoke-virtual {v0, v2}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
  15866.  
  15867. .line 2395
  15868. :cond_54
  15869. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mPreventScreenOnPartialLock:Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;
  15870.  
  15871. invoke-virtual {v0}, Lcom/android/server/PowerManagerService$UnsynchronizedWakeLock;->release()V
  15872.  
  15873. goto :goto_25
  15874.  
  15875. .line 2397
  15876. :catchall_5a
  15877. move-exception v0
  15878.  
  15879. monitor-exit v1
  15880. :try_end_5c
  15881. .catchall {:try_start_d .. :try_end_5c} :catchall_5a
  15882.  
  15883. throw v0
  15884. .end method
  15885.  
  15886. .method public reboot(Ljava/lang/String;)V
  15887. .registers 7
  15888. .parameter "reason"
  15889.  
  15890. .prologue
  15891. .line 3550
  15892. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  15893.  
  15894. const-string v3, "android.permission.REBOOT"
  15895.  
  15896. const/4 v4, 0x0
  15897.  
  15898. invoke-virtual {v2, v3, v4}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  15899.  
  15900. .line 3552
  15901. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  15902.  
  15903. if-eqz v2, :cond_12
  15904.  
  15905. invoke-static {}, Landroid/app/ActivityManagerNative;->isSystemReady()Z
  15906.  
  15907. move-result v2
  15908.  
  15909. if-nez v2, :cond_1a
  15910.  
  15911. .line 3553
  15912. :cond_12
  15913. new-instance v2, Ljava/lang/IllegalStateException;
  15914.  
  15915. const-string v3, "Too early to call reboot()"
  15916.  
  15917. invoke-direct {v2, v3}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
  15918.  
  15919. throw v2
  15920.  
  15921. .line 3556
  15922. :cond_1a
  15923. move-object v0, p1
  15924.  
  15925. .line 3557
  15926. .local v0, finalReason:Ljava/lang/String;
  15927. new-instance v1, Lcom/android/server/PowerManagerService$13;
  15928.  
  15929. invoke-direct {v1, p0, v0}, Lcom/android/server/PowerManagerService$13;-><init>(Lcom/android/server/PowerManagerService;Ljava/lang/String;)V
  15930.  
  15931. .line 3566
  15932. .local v1, runnable:Ljava/lang/Runnable;
  15933. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mHandler:Landroid/os/Handler;
  15934.  
  15935. invoke-virtual {v2, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
  15936.  
  15937. .line 3569
  15938. monitor-enter v1
  15939.  
  15940. .line 3572
  15941. :goto_26
  15942. :try_start_26
  15943. invoke-virtual {v1}, Ljava/lang/Object;->wait()V
  15944. :try_end_29
  15945. .catchall {:try_start_26 .. :try_end_29} :catchall_2c
  15946. .catch Ljava/lang/InterruptedException; {:try_start_26 .. :try_end_29} :catch_2a
  15947.  
  15948. goto :goto_26
  15949.  
  15950. .line 3573
  15951. :catch_2a
  15952. move-exception v2
  15953.  
  15954. goto :goto_26
  15955.  
  15956. .line 3576
  15957. :catchall_2c
  15958. move-exception v2
  15959.  
  15960. :try_start_2d
  15961. monitor-exit v1
  15962. :try_end_2e
  15963. .catchall {:try_start_2d .. :try_end_2e} :catchall_2c
  15964.  
  15965. throw v2
  15966. .end method
  15967.  
  15968. .method public releaseWakeLock(Landroid/os/IBinder;I)V
  15969. .registers 7
  15970. .parameter "lock"
  15971. .parameter "flags"
  15972.  
  15973. .prologue
  15974. .line 1183
  15975. invoke-static {}, Landroid/os/Binder;->getCallingUid()I
  15976.  
  15977. move-result v0
  15978.  
  15979. .line 1184
  15980. .local v0, uid:I
  15981. invoke-static {}, Landroid/os/Process;->myUid()I
  15982.  
  15983. move-result v1
  15984.  
  15985. if-eq v0, v1, :cond_12
  15986.  
  15987. .line 1185
  15988. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  15989.  
  15990. const-string v2, "android.permission.WAKE_LOCK"
  15991.  
  15992. const/4 v3, 0x0
  15993.  
  15994. invoke-virtual {v1, v2, v3}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  15995.  
  15996. .line 1188
  15997. :cond_12
  15998. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  15999.  
  16000. monitor-enter v2
  16001.  
  16002. .line 1189
  16003. const/4 v1, 0x0
  16004.  
  16005. :try_start_16
  16006. invoke-direct {p0, p1, p2, v1}, Lcom/android/server/PowerManagerService;->releaseWakeLockLocked(Landroid/os/IBinder;IZ)V
  16007.  
  16008. .line 1190
  16009. monitor-exit v2
  16010.  
  16011. .line 1191
  16012. return-void
  16013.  
  16014. .line 1190
  16015. :catchall_1b
  16016. move-exception v1
  16017.  
  16018. monitor-exit v2
  16019. :try_end_1d
  16020. .catchall {:try_start_16 .. :try_end_1d} :catchall_1b
  16021.  
  16022. throw v1
  16023. .end method
  16024.  
  16025. .method public setAttentionLight(ZI)V
  16026. .registers 7
  16027. .parameter "on"
  16028. .parameter "color"
  16029.  
  16030. .prologue
  16031. const/4 v1, 0x0
  16032.  
  16033. .line 4046
  16034. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  16035.  
  16036. const-string v2, "android.permission.DEVICE_POWER"
  16037.  
  16038. const/4 v3, 0x0
  16039.  
  16040. invoke-virtual {v0, v2, v3}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  16041.  
  16042. .line 4047
  16043. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mAttentionLight:Lcom/android/server/LightsService$Light;
  16044.  
  16045. const/4 v3, 0x2
  16046.  
  16047. if-eqz p1, :cond_13
  16048.  
  16049. const/4 v0, 0x3
  16050.  
  16051. :goto_f
  16052. invoke-virtual {v2, p2, v3, v0, v1}, Lcom/android/server/LightsService$Light;->setFlashing(IIII)V
  16053.  
  16054. .line 4048
  16055. return-void
  16056.  
  16057. :cond_13
  16058. move v0, v1
  16059.  
  16060. .line 4047
  16061. goto :goto_f
  16062. .end method
  16063.  
  16064. .method public setBacklightBrightness(I)V
  16065. .registers 8
  16066. .parameter "brightness"
  16067.  
  16068. .prologue
  16069. .line 4015
  16070. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  16071.  
  16072. const-string v4, "android.permission.DEVICE_POWER"
  16073.  
  16074. const/4 v5, 0x0
  16075.  
  16076. invoke-virtual {v3, v4, v5}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  16077.  
  16078. .line 4017
  16079. iget-object v4, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  16080.  
  16081. monitor-enter v4
  16082.  
  16083. .line 4018
  16084. :try_start_b
  16085. iget v3, p0, Lcom/android/server/PowerManagerService;->mScreenBrightnessDim:I
  16086.  
  16087. invoke-static {p1, v3}, Ljava/lang/Math;->max(II)I
  16088.  
  16089. move-result p1
  16090.  
  16091. .line 4019
  16092. iget v3, p0, Lcom/android/server/PowerManagerService;->mMaxBrightness:I
  16093.  
  16094. if-lez v3, :cond_1b
  16095.  
  16096. .line 4020
  16097. iget v3, p0, Lcom/android/server/PowerManagerService;->mMaxBrightness:I
  16098.  
  16099. if-le p1, v3, :cond_1b
  16100.  
  16101. .line 4021
  16102. iget p1, p0, Lcom/android/server/PowerManagerService;->mMaxBrightness:I
  16103.  
  16104. .line 4024
  16105. :cond_1b
  16106. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mLcdLight:Lcom/android/server/LightsService$Light;
  16107.  
  16108. invoke-virtual {v3, p1}, Lcom/android/server/LightsService$Light;->setBrightness(I)V
  16109.  
  16110. .line 4028
  16111. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  16112. :try_end_23
  16113. .catchall {:try_start_b .. :try_end_23} :catchall_47
  16114.  
  16115. move-result-wide v1
  16116.  
  16117. .line 4030
  16118. .local v1, identity:J
  16119. :try_start_24
  16120. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  16121.  
  16122. invoke-interface {v3, p1}, Lcom/android/internal/app/IBatteryStats;->noteScreenBrightness(I)V
  16123. :try_end_29
  16124. .catchall {:try_start_24 .. :try_end_29} :catchall_4a
  16125. .catch Landroid/os/RemoteException; {:try_start_24 .. :try_end_29} :catch_3b
  16126.  
  16127. .line 4034
  16128. :try_start_29
  16129. invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  16130.  
  16131. .line 4038
  16132. :goto_2c
  16133. iget-object v5, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  16134.  
  16135. monitor-enter v5
  16136. :try_end_2f
  16137. .catchall {:try_start_29 .. :try_end_2f} :catchall_47
  16138.  
  16139. .line 4039
  16140. :try_start_2f
  16141. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  16142.  
  16143. iput p1, v3, Lcom/android/server/PowerManagerService$BrightnessState;->targetValue:I
  16144.  
  16145. .line 4040
  16146. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  16147.  
  16148. invoke-virtual {v3}, Lcom/android/server/PowerManagerService$BrightnessState;->jumpToTargetLocked()V
  16149.  
  16150. .line 4041
  16151. monitor-exit v5
  16152. :try_end_39
  16153. .catchall {:try_start_2f .. :try_end_39} :catchall_4f
  16154.  
  16155. .line 4042
  16156. :try_start_39
  16157. monitor-exit v4
  16158. :try_end_3a
  16159. .catchall {:try_start_39 .. :try_end_3a} :catchall_47
  16160.  
  16161. .line 4043
  16162. return-void
  16163.  
  16164. .line 4031
  16165. :catch_3b
  16166. move-exception v0
  16167.  
  16168. .line 4032
  16169. .local v0, e:Landroid/os/RemoteException;
  16170. :try_start_3c
  16171. const-string v3, "PowerManagerService"
  16172.  
  16173. const-string v5, "RemoteException calling noteScreenBrightness on BatteryStatsService"
  16174.  
  16175. invoke-static {v3, v5, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  16176. :try_end_43
  16177. .catchall {:try_start_3c .. :try_end_43} :catchall_4a
  16178.  
  16179. .line 4034
  16180. :try_start_43
  16181. invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  16182.  
  16183. goto :goto_2c
  16184.  
  16185. .line 4042
  16186. .end local v0 #e:Landroid/os/RemoteException;
  16187. .end local v1 #identity:J
  16188. :catchall_47
  16189. move-exception v3
  16190.  
  16191. monitor-exit v4
  16192. :try_end_49
  16193. .catchall {:try_start_43 .. :try_end_49} :catchall_47
  16194.  
  16195. throw v3
  16196.  
  16197. .line 4034
  16198. .restart local v1 #identity:J
  16199. :catchall_4a
  16200. move-exception v3
  16201.  
  16202. :try_start_4b
  16203. invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  16204.  
  16205. throw v3
  16206. :try_end_4f
  16207. .catchall {:try_start_4b .. :try_end_4f} :catchall_47
  16208.  
  16209. .line 4041
  16210. :catchall_4f
  16211. move-exception v3
  16212.  
  16213. :try_start_50
  16214. monitor-exit v5
  16215. :try_end_51
  16216. .catchall {:try_start_50 .. :try_end_51} :catchall_4f
  16217.  
  16218. :try_start_51
  16219. throw v3
  16220. :try_end_52
  16221. .catchall {:try_start_51 .. :try_end_52} :catchall_47
  16222. .end method
  16223.  
  16224. .method public setBacklightBrightnessOff(Z)V
  16225. .registers 9
  16226. .parameter "enable"
  16227.  
  16228. .prologue
  16229. .line 3974
  16230. iput-boolean p1, p0, Lcom/android/server/PowerManagerService;->mShutdownFlag:Z
  16231.  
  16232. .line 3976
  16233. iget-boolean v3, p0, Lcom/android/server/PowerManagerService;->mShutdownFlag:Z
  16234.  
  16235. if-eqz v3, :cond_48
  16236.  
  16237. .line 3977
  16238. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  16239.  
  16240. const-string v4, "android.permission.DEVICE_POWER"
  16241.  
  16242. const/4 v5, 0x0
  16243.  
  16244. invoke-virtual {v3, v4, v5}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  16245.  
  16246. .line 3978
  16247. iget-object v4, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  16248.  
  16249. monitor-enter v4
  16250.  
  16251. .line 3979
  16252. :try_start_11
  16253. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->cancelTimerLocked()V
  16254.  
  16255. .line 3981
  16256. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mLcdLight:Lcom/android/server/LightsService$Light;
  16257.  
  16258. const/4 v5, 0x0
  16259.  
  16260. invoke-virtual {v3, v5}, Lcom/android/server/LightsService$Light;->setBrightness(I)V
  16261.  
  16262. .line 3982
  16263. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mButtonLight:Lcom/android/server/LightsService$Light;
  16264.  
  16265. const/4 v5, 0x0
  16266.  
  16267. invoke-virtual {v3, v5}, Lcom/android/server/LightsService$Light;->setBrightness(I)V
  16268.  
  16269. .line 3983
  16270. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mKeyboardLight:Lcom/android/server/LightsService$Light;
  16271.  
  16272. const/4 v5, 0x0
  16273.  
  16274. invoke-virtual {v3, v5}, Lcom/android/server/LightsService$Light;->setBrightness(I)V
  16275.  
  16276. .line 3984
  16277. iget v3, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  16278.  
  16279. and-int/lit8 v3, v3, -0xf
  16280.  
  16281. iput v3, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  16282.  
  16283. .line 3985
  16284. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  16285. :try_end_2f
  16286. .catchall {:try_start_11 .. :try_end_2f} :catchall_55
  16287.  
  16288. move-result-wide v1
  16289.  
  16290. .line 3987
  16291. .local v1, identity:J
  16292. :try_start_30
  16293. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  16294.  
  16295. const/4 v5, 0x0
  16296.  
  16297. invoke-interface {v3, v5}, Lcom/android/internal/app/IBatteryStats;->noteScreenBrightness(I)V
  16298. :try_end_36
  16299. .catchall {:try_start_30 .. :try_end_36} :catchall_58
  16300. .catch Landroid/os/RemoteException; {:try_start_30 .. :try_end_36} :catch_49
  16301.  
  16302. .line 3991
  16303. :try_start_36
  16304. invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  16305.  
  16306. .line 3995
  16307. :goto_39
  16308. iget-object v5, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  16309.  
  16310. monitor-enter v5
  16311. :try_end_3c
  16312. .catchall {:try_start_36 .. :try_end_3c} :catchall_55
  16313.  
  16314. .line 3996
  16315. :try_start_3c
  16316. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  16317.  
  16318. const/4 v6, 0x0
  16319.  
  16320. iput v6, v3, Lcom/android/server/PowerManagerService$BrightnessState;->targetValue:I
  16321.  
  16322. .line 3997
  16323. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mScreenBrightness:Lcom/android/server/PowerManagerService$BrightnessState;
  16324.  
  16325. invoke-virtual {v3}, Lcom/android/server/PowerManagerService$BrightnessState;->jumpToTargetLocked()V
  16326.  
  16327. .line 3998
  16328. monitor-exit v5
  16329. :try_end_47
  16330. .catchall {:try_start_3c .. :try_end_47} :catchall_5d
  16331.  
  16332. .line 3999
  16333. :try_start_47
  16334. monitor-exit v4
  16335. :try_end_48
  16336. .catchall {:try_start_47 .. :try_end_48} :catchall_55
  16337.  
  16338. .line 4001
  16339. .end local v1 #identity:J
  16340. :cond_48
  16341. return-void
  16342.  
  16343. .line 3988
  16344. .restart local v1 #identity:J
  16345. :catch_49
  16346. move-exception v0
  16347.  
  16348. .line 3989
  16349. .local v0, e:Landroid/os/RemoteException;
  16350. :try_start_4a
  16351. const-string v3, "PowerManagerService"
  16352.  
  16353. const-string v5, "RemoteException calling noteScreenBrightness on BatteryStatsService"
  16354.  
  16355. invoke-static {v3, v5, v0}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  16356. :try_end_51
  16357. .catchall {:try_start_4a .. :try_end_51} :catchall_58
  16358.  
  16359. .line 3991
  16360. :try_start_51
  16361. invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  16362.  
  16363. goto :goto_39
  16364.  
  16365. .line 3999
  16366. .end local v0 #e:Landroid/os/RemoteException;
  16367. .end local v1 #identity:J
  16368. :catchall_55
  16369. move-exception v3
  16370.  
  16371. monitor-exit v4
  16372. :try_end_57
  16373. .catchall {:try_start_51 .. :try_end_57} :catchall_55
  16374.  
  16375. throw v3
  16376.  
  16377. .line 3991
  16378. .restart local v1 #identity:J
  16379. :catchall_58
  16380. move-exception v3
  16381.  
  16382. :try_start_59
  16383. invoke-static {v1, v2}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  16384.  
  16385. throw v3
  16386. :try_end_5d
  16387. .catchall {:try_start_59 .. :try_end_5d} :catchall_55
  16388.  
  16389. .line 3998
  16390. :catchall_5d
  16391. move-exception v3
  16392.  
  16393. :try_start_5e
  16394. monitor-exit v5
  16395. :try_end_5f
  16396. .catchall {:try_start_5e .. :try_end_5f} :catchall_5d
  16397.  
  16398. :try_start_5f
  16399. throw v3
  16400. :try_end_60
  16401. .catchall {:try_start_5f .. :try_end_60} :catchall_55
  16402. .end method
  16403.  
  16404. .method public setButtonBrightnessOverride(I)V
  16405. .registers 6
  16406. .parameter "brightness"
  16407.  
  16408. .prologue
  16409. .line 2415
  16410. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  16411.  
  16412. const-string v1, "android.permission.DEVICE_POWER"
  16413.  
  16414. const/4 v2, 0x0
  16415.  
  16416. invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  16417.  
  16418. .line 2417
  16419. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  16420.  
  16421. monitor-enter v1
  16422.  
  16423. .line 2418
  16424. :try_start_b
  16425. iget v0, p0, Lcom/android/server/PowerManagerService;->mButtonBrightnessOverride:I
  16426.  
  16427. if-eq v0, p1, :cond_36
  16428.  
  16429. .line 2419
  16430. const-string v0, "PowerManagerService"
  16431.  
  16432. new-instance v2, Ljava/lang/StringBuilder;
  16433.  
  16434. invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
  16435.  
  16436. const-string v3, "setButtonBrightnessOverride "
  16437.  
  16438. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  16439.  
  16440. move-result-object v2
  16441.  
  16442. invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  16443.  
  16444. move-result-object v2
  16445.  
  16446. invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  16447.  
  16448. move-result-object v2
  16449.  
  16450. invoke-static {v0, v2}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  16451.  
  16452. .line 2420
  16453. iput p1, p0, Lcom/android/server/PowerManagerService;->mButtonBrightnessOverride:I
  16454.  
  16455. .line 2421
  16456. invoke-virtual {p0}, Lcom/android/server/PowerManagerService;->isScreenOn()Z
  16457.  
  16458. move-result v0
  16459.  
  16460. if-eqz v0, :cond_36
  16461.  
  16462. .line 2422
  16463. iget v0, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  16464.  
  16465. const/16 v2, 0xc
  16466.  
  16467. invoke-direct {p0, v0, v2}, Lcom/android/server/PowerManagerService;->updateLightsLocked(II)V
  16468.  
  16469. .line 2425
  16470. :cond_36
  16471. monitor-exit v1
  16472.  
  16473. .line 2426
  16474. return-void
  16475.  
  16476. .line 2425
  16477. :catchall_38
  16478. move-exception v0
  16479.  
  16480. monitor-exit v1
  16481. :try_end_3a
  16482. .catchall {:try_start_b .. :try_end_3a} :catchall_38
  16483.  
  16484. throw v0
  16485. .end method
  16486.  
  16487. .method public setKeyboardVisibility(Z)V
  16488. .registers 10
  16489. .parameter "visible"
  16490.  
  16491. .prologue
  16492. .line 3652
  16493. iget-object v7, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  16494.  
  16495. monitor-enter v7
  16496.  
  16497. .line 3654
  16498. :try_start_3
  16499. const-string v0, "PowerManagerService"
  16500.  
  16501. new-instance v1, Ljava/lang/StringBuilder;
  16502.  
  16503. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  16504.  
  16505. const-string v2, "setKeyboardVisibility: "
  16506.  
  16507. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  16508.  
  16509. move-result-object v1
  16510.  
  16511. invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  16512.  
  16513. move-result-object v1
  16514.  
  16515. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  16516.  
  16517. move-result-object v1
  16518.  
  16519. invoke-static {v0, v1}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  16520.  
  16521. .line 3656
  16522. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mKeyboardVisible:Z
  16523.  
  16524. if-eq v0, p1, :cond_47
  16525.  
  16526. .line 3657
  16527. iput-boolean p1, p0, Lcom/android/server/PowerManagerService;->mKeyboardVisible:Z
  16528.  
  16529. .line 3661
  16530. iget v0, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  16531.  
  16532. and-int/lit8 v0, v0, 0x1
  16533.  
  16534. if-eqz v0, :cond_47
  16535.  
  16536. .line 3662
  16537. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  16538.  
  16539. if-eqz v0, :cond_3c
  16540.  
  16541. .line 3664
  16542. iget v0, p0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  16543.  
  16544. const/4 v1, 0x0
  16545.  
  16546. cmpl-float v0, v0, v1
  16547.  
  16548. if-ltz v0, :cond_3c
  16549.  
  16550. .line 3665
  16551. iget v0, p0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  16552.  
  16553. float-to-int v6, v0
  16554.  
  16555. .line 3666
  16556. .local v6, value:I
  16557. const/high16 v0, -0x4080
  16558.  
  16559. iput v0, p0, Lcom/android/server/PowerManagerService;->mLightSensorValue:F
  16560.  
  16561. .line 3667
  16562. invoke-direct {p0, v6}, Lcom/android/server/PowerManagerService;->lightSensorChangedLocked(I)V
  16563.  
  16564. .line 3670
  16565. .end local v6 #value:I
  16566. :cond_3c
  16567. invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
  16568.  
  16569. move-result-wide v1
  16570.  
  16571. const/4 v3, 0x0
  16572.  
  16573. const/4 v4, 0x1
  16574.  
  16575. const/4 v5, 0x1
  16576.  
  16577. move-object v0, p0
  16578.  
  16579. invoke-virtual/range {v0 .. v5}, Lcom/android/server/PowerManagerService;->userActivity(JZIZ)V
  16580.  
  16581. .line 3673
  16582. :cond_47
  16583. monitor-exit v7
  16584.  
  16585. .line 3674
  16586. return-void
  16587.  
  16588. .line 3673
  16589. :catchall_49
  16590. move-exception v0
  16591.  
  16592. monitor-exit v7
  16593. :try_end_4b
  16594. .catchall {:try_start_3 .. :try_end_4b} :catchall_49
  16595.  
  16596. throw v0
  16597. .end method
  16598.  
  16599. .method public setMaxBrightness(I)V
  16600. .registers 6
  16601. .parameter "brightness"
  16602.  
  16603. .prologue
  16604. .line 4004
  16605. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  16606.  
  16607. monitor-enter v1
  16608.  
  16609. .line 4005
  16610. :try_start_3
  16611. iput p1, p0, Lcom/android/server/PowerManagerService;->mMaxBrightness:I
  16612.  
  16613. .line 4006
  16614. const-string v0, "PowerManagerService"
  16615.  
  16616. new-instance v2, Ljava/lang/StringBuilder;
  16617.  
  16618. invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
  16619.  
  16620. const-string v3, "setMaxBrightness brightness="
  16621.  
  16622. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  16623.  
  16624. move-result-object v2
  16625.  
  16626. invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  16627.  
  16628. move-result-object v2
  16629.  
  16630. invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  16631.  
  16632. move-result-object v2
  16633.  
  16634. invoke-static {v0, v2}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  16635.  
  16636. .line 4007
  16637. invoke-virtual {p0}, Lcom/android/server/PowerManagerService;->isScreenOn()Z
  16638.  
  16639. move-result v0
  16640.  
  16641. if-eqz v0, :cond_43
  16642.  
  16643. .line 4008
  16644. const-string v0, "PowerManagerService"
  16645.  
  16646. new-instance v2, Ljava/lang/StringBuilder;
  16647.  
  16648. invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
  16649.  
  16650. const-string v3, "setMaxBrightness updateLightsLocked mPowerState="
  16651.  
  16652. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  16653.  
  16654. move-result-object v2
  16655.  
  16656. iget v3, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  16657.  
  16658. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  16659.  
  16660. move-result-object v2
  16661.  
  16662. invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  16663.  
  16664. move-result-object v2
  16665.  
  16666. invoke-static {v0, v2}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  16667.  
  16668. .line 4009
  16669. iget v0, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  16670.  
  16671. const/4 v2, 0x1
  16672.  
  16673. invoke-direct {p0, v0, v2}, Lcom/android/server/PowerManagerService;->updateLightsLocked(II)V
  16674.  
  16675. .line 4011
  16676. :cond_43
  16677. monitor-exit v1
  16678.  
  16679. .line 4012
  16680. return-void
  16681.  
  16682. .line 4011
  16683. :catchall_45
  16684. move-exception v0
  16685.  
  16686. monitor-exit v1
  16687. :try_end_47
  16688. .catchall {:try_start_3 .. :try_end_47} :catchall_45
  16689.  
  16690. throw v0
  16691. .end method
  16692.  
  16693. .method public setMaximumScreenOffTimeount(I)V
  16694. .registers 5
  16695. .parameter "timeMs"
  16696.  
  16697. .prologue
  16698. .line 607
  16699. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  16700.  
  16701. const-string v1, "android.permission.WRITE_SECURE_SETTINGS"
  16702.  
  16703. const/4 v2, 0x0
  16704.  
  16705. invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  16706.  
  16707. .line 609
  16708. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  16709.  
  16710. monitor-enter v1
  16711.  
  16712. .line 610
  16713. :try_start_b
  16714. iput p1, p0, Lcom/android/server/PowerManagerService;->mMaximumScreenOffTimeout:I
  16715.  
  16716. .line 612
  16717. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->setScreenOffTimeoutsLocked()V
  16718.  
  16719. .line 613
  16720. monitor-exit v1
  16721.  
  16722. .line 614
  16723. return-void
  16724.  
  16725. .line 613
  16726. :catchall_12
  16727. move-exception v0
  16728.  
  16729. monitor-exit v1
  16730. :try_end_14
  16731. .catchall {:try_start_b .. :try_end_14} :catchall_12
  16732.  
  16733. throw v0
  16734. .end method
  16735.  
  16736. .method public setPokeLock(ILandroid/os/IBinder;Ljava/lang/String;)V
  16737. .registers 23
  16738. .parameter "pokey"
  16739. .parameter "token"
  16740. .parameter "tag"
  16741.  
  16742. .prologue
  16743. .line 1276
  16744. move-object/from16 v0, p0
  16745.  
  16746. iget-object v15, v0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  16747.  
  16748. const-string v16, "android.permission.DEVICE_POWER"
  16749.  
  16750. const/16 v17, 0x0
  16751.  
  16752. invoke-virtual/range {v15 .. v17}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  16753.  
  16754. .line 1277
  16755. if-nez p2, :cond_30
  16756.  
  16757. .line 1278
  16758. const-string v15, "PowerManagerService"
  16759.  
  16760. new-instance v16, Ljava/lang/StringBuilder;
  16761.  
  16762. invoke-direct/range {v16 .. v16}, Ljava/lang/StringBuilder;-><init>()V
  16763.  
  16764. const-string v17, "setPokeLock got null token for tag=\'"
  16765.  
  16766. invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  16767.  
  16768. move-result-object v16
  16769.  
  16770. move-object/from16 v0, v16
  16771.  
  16772. move-object/from16 v1, p3
  16773.  
  16774. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  16775.  
  16776. move-result-object v16
  16777.  
  16778. const-string v17, "\'"
  16779.  
  16780. invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  16781.  
  16782. move-result-object v16
  16783.  
  16784. invoke-virtual/range {v16 .. v16}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  16785.  
  16786. move-result-object v16
  16787.  
  16788. invoke-static/range {v15 .. v16}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
  16789.  
  16790. .line 1333
  16791. :goto_2f
  16792. return-void
  16793.  
  16794. .line 1282
  16795. :cond_30
  16796. and-int/lit8 v15, p1, 0x6
  16797.  
  16798. const/16 v16, 0x6
  16799.  
  16800. move/from16 v0, v16
  16801.  
  16802. if-ne v15, v0, :cond_40
  16803.  
  16804. .line 1283
  16805. new-instance v15, Ljava/lang/IllegalArgumentException;
  16806.  
  16807. const-string v16, "setPokeLock can\'t have both POKE_LOCK_SHORT_TIMEOUT and POKE_LOCK_MEDIUM_TIMEOUT"
  16808.  
  16809. invoke-direct/range {v15 .. v16}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
  16810.  
  16811. throw v15
  16812.  
  16813. .line 1287
  16814. :cond_40
  16815. move-object/from16 v0, p0
  16816.  
  16817. iget-object v0, v0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  16818.  
  16819. move-object/from16 v16, v0
  16820.  
  16821. monitor-enter v16
  16822.  
  16823. .line 1288
  16824. if-eqz p1, :cond_b4
  16825.  
  16826. .line 1289
  16827. :try_start_49
  16828. move-object/from16 v0, p0
  16829.  
  16830. iget-object v15, v0, Lcom/android/server/PowerManagerService;->mPokeLocks:Ljava/util/HashMap;
  16831.  
  16832. move-object/from16 v0, p2
  16833.  
  16834. invoke-virtual {v15, v0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
  16835.  
  16836. move-result-object v13
  16837.  
  16838. check-cast v13, Lcom/android/server/PowerManagerService$PokeLock;
  16839.  
  16840. .line 1290
  16841. .local v13, p:Lcom/android/server/PowerManagerService$PokeLock;
  16842. const/4 v11, 0x0
  16843.  
  16844. .line 1291
  16845. .local v11, oldPokey:I
  16846. if-eqz v13, :cond_9a
  16847.  
  16848. .line 1292
  16849. iget v11, v13, Lcom/android/server/PowerManagerService$PokeLock;->pokey:I
  16850.  
  16851. .line 1293
  16852. move/from16 v0, p1
  16853.  
  16854. iput v0, v13, Lcom/android/server/PowerManagerService$PokeLock;->pokey:I
  16855.  
  16856. .line 1298
  16857. :goto_5e
  16858. and-int/lit8 v12, v11, 0x6
  16859.  
  16860. .line 1299
  16861. .local v12, oldTimeout:I
  16862. and-int/lit8 v8, p1, 0x6
  16863.  
  16864. .line 1300
  16865. .local v8, newTimeout:I
  16866. move-object/from16 v0, p0
  16867.  
  16868. iget v15, v0, Lcom/android/server/PowerManagerService;->mPowerState:I
  16869.  
  16870. and-int/lit8 v15, v15, 0x1
  16871.  
  16872. if-nez v15, :cond_6f
  16873.  
  16874. if-eq v12, v8, :cond_6f
  16875.  
  16876. .line 1301
  16877. const/4 v15, 0x1
  16878.  
  16879. iput-boolean v15, v13, Lcom/android/server/PowerManagerService$PokeLock;->awakeOnSet:Z
  16880.  
  16881. .line 1310
  16882. .end local v8 #newTimeout:I
  16883. .end local v11 #oldPokey:I
  16884. .end local v12 #oldTimeout:I
  16885. .end local v13 #p:Lcom/android/server/PowerManagerService$PokeLock;
  16886. :cond_6f
  16887. :goto_6f
  16888. move-object/from16 v0, p0
  16889.  
  16890. iget v11, v0, Lcom/android/server/PowerManagerService;->mPokey:I
  16891.  
  16892. .line 1311
  16893. .restart local v11 #oldPokey:I
  16894. const/4 v5, 0x0
  16895.  
  16896. .line 1312
  16897. .local v5, cumulative:I
  16898. move-object/from16 v0, p0
  16899.  
  16900. iget-boolean v9, v0, Lcom/android/server/PowerManagerService;->mPokeAwakeOnSet:Z
  16901.  
  16902. .line 1313
  16903. .local v9, oldAwakeOnSet:Z
  16904. const/4 v4, 0x0
  16905.  
  16906. .line 1314
  16907. .local v4, awakeOnSet:Z
  16908. move-object/from16 v0, p0
  16909.  
  16910. iget-object v15, v0, Lcom/android/server/PowerManagerService;->mPokeLocks:Ljava/util/HashMap;
  16911.  
  16912. invoke-virtual {v15}, Ljava/util/HashMap;->values()Ljava/util/Collection;
  16913.  
  16914. move-result-object v15
  16915.  
  16916. invoke-interface {v15}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
  16917.  
  16918. move-result-object v6
  16919.  
  16920. .local v6, i$:Ljava/util/Iterator;
  16921. :cond_85
  16922. :goto_85
  16923. invoke-interface {v6}, Ljava/util/Iterator;->hasNext()Z
  16924.  
  16925. move-result v15
  16926.  
  16927. if-eqz v15, :cond_c9
  16928.  
  16929. invoke-interface {v6}, Ljava/util/Iterator;->next()Ljava/lang/Object;
  16930.  
  16931. move-result-object v13
  16932.  
  16933. check-cast v13, Lcom/android/server/PowerManagerService$PokeLock;
  16934.  
  16935. .line 1315
  16936. .restart local v13 #p:Lcom/android/server/PowerManagerService$PokeLock;
  16937. iget v15, v13, Lcom/android/server/PowerManagerService$PokeLock;->pokey:I
  16938.  
  16939. or-int/2addr v5, v15
  16940.  
  16941. .line 1316
  16942. iget-boolean v15, v13, Lcom/android/server/PowerManagerService$PokeLock;->awakeOnSet:Z
  16943.  
  16944. if-eqz v15, :cond_85
  16945.  
  16946. .line 1317
  16947. const/4 v4, 0x1
  16948.  
  16949. goto :goto_85
  16950.  
  16951. .line 1295
  16952. .end local v4 #awakeOnSet:Z
  16953. .end local v5 #cumulative:I
  16954. .end local v6 #i$:Ljava/util/Iterator;
  16955. .end local v9 #oldAwakeOnSet:Z
  16956. :cond_9a
  16957. new-instance v13, Lcom/android/server/PowerManagerService$PokeLock;
  16958.  
  16959. .end local v13 #p:Lcom/android/server/PowerManagerService$PokeLock;
  16960. move-object/from16 v0, p0
  16961.  
  16962. move/from16 v1, p1
  16963.  
  16964. move-object/from16 v2, p2
  16965.  
  16966. move-object/from16 v3, p3
  16967.  
  16968. invoke-direct {v13, v0, v1, v2, v3}, Lcom/android/server/PowerManagerService$PokeLock;-><init>(Lcom/android/server/PowerManagerService;ILandroid/os/IBinder;Ljava/lang/String;)V
  16969.  
  16970. .line 1296
  16971. .restart local v13 #p:Lcom/android/server/PowerManagerService$PokeLock;
  16972. move-object/from16 v0, p0
  16973.  
  16974. iget-object v15, v0, Lcom/android/server/PowerManagerService;->mPokeLocks:Ljava/util/HashMap;
  16975.  
  16976. move-object/from16 v0, p2
  16977.  
  16978. invoke-virtual {v15, v0, v13}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  16979.  
  16980. goto :goto_5e
  16981.  
  16982. .line 1332
  16983. .end local v11 #oldPokey:I
  16984. .end local v13 #p:Lcom/android/server/PowerManagerService$PokeLock;
  16985. :catchall_b1
  16986. move-exception v15
  16987.  
  16988. monitor-exit v16
  16989. :try_end_b3
  16990. .catchall {:try_start_49 .. :try_end_b3} :catchall_b1
  16991.  
  16992. throw v15
  16993.  
  16994. .line 1304
  16995. :cond_b4
  16996. :try_start_b4
  16997. move-object/from16 v0, p0
  16998.  
  16999. iget-object v15, v0, Lcom/android/server/PowerManagerService;->mPokeLocks:Ljava/util/HashMap;
  17000.  
  17001. move-object/from16 v0, p2
  17002.  
  17003. invoke-virtual {v15, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
  17004.  
  17005. move-result-object v14
  17006.  
  17007. check-cast v14, Lcom/android/server/PowerManagerService$PokeLock;
  17008.  
  17009. .line 1305
  17010. .local v14, rLock:Lcom/android/server/PowerManagerService$PokeLock;
  17011. if-eqz v14, :cond_6f
  17012.  
  17013. .line 1306
  17014. const/4 v15, 0x0
  17015.  
  17016. move-object/from16 v0, p2
  17017.  
  17018. invoke-interface {v0, v14, v15}, Landroid/os/IBinder;->unlinkToDeath(Landroid/os/IBinder$DeathRecipient;I)Z
  17019.  
  17020. goto :goto_6f
  17021.  
  17022. .line 1320
  17023. .end local v14 #rLock:Lcom/android/server/PowerManagerService$PokeLock;
  17024. .restart local v4 #awakeOnSet:Z
  17025. .restart local v5 #cumulative:I
  17026. .restart local v6 #i$:Ljava/util/Iterator;
  17027. .restart local v9 #oldAwakeOnSet:Z
  17028. .restart local v11 #oldPokey:I
  17029. :cond_c9
  17030. move-object/from16 v0, p0
  17031.  
  17032. iput v5, v0, Lcom/android/server/PowerManagerService;->mPokey:I
  17033.  
  17034. .line 1321
  17035. move-object/from16 v0, p0
  17036.  
  17037. iput-boolean v4, v0, Lcom/android/server/PowerManagerService;->mPokeAwakeOnSet:Z
  17038.  
  17039. .line 1323
  17040. and-int/lit8 v10, v11, 0x6
  17041.  
  17042. .line 1324
  17043. .local v10, oldCumulativeTimeout:I
  17044. and-int/lit8 v7, p1, 0x6
  17045.  
  17046. .line 1326
  17047. .local v7, newCumulativeTimeout:I
  17048. if-eq v10, v7, :cond_eb
  17049.  
  17050. .line 1327
  17051. invoke-direct/range {p0 .. p0}, Lcom/android/server/PowerManagerService;->setScreenOffTimeoutsLocked()V
  17052.  
  17053. .line 1330
  17054. invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
  17055.  
  17056. move-result-wide v17
  17057.  
  17058. move-object/from16 v0, p0
  17059.  
  17060. iget-object v15, v0, Lcom/android/server/PowerManagerService;->mTimeoutTask:Lcom/android/server/PowerManagerService$TimeoutTask;
  17061.  
  17062. iget v15, v15, Lcom/android/server/PowerManagerService$TimeoutTask;->nextState:I
  17063.  
  17064. move-object/from16 v0, p0
  17065.  
  17066. move-wide/from16 v1, v17
  17067.  
  17068. invoke-direct {v0, v1, v2, v15}, Lcom/android/server/PowerManagerService;->setTimeoutLocked(JI)V
  17069.  
  17070. .line 1332
  17071. :cond_eb
  17072. monitor-exit v16
  17073. :try_end_ec
  17074. .catchall {:try_start_b4 .. :try_end_ec} :catchall_b1
  17075.  
  17076. goto/16 :goto_2f
  17077. .end method
  17078.  
  17079. .method public setPolicy(Landroid/view/WindowManagerPolicy;)V
  17080. .registers 4
  17081. .parameter "p"
  17082.  
  17083. .prologue
  17084. .line 3872
  17085. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  17086.  
  17087. monitor-enter v1
  17088.  
  17089. .line 3873
  17090. :try_start_3
  17091. iput-object p1, p0, Lcom/android/server/PowerManagerService;->mPolicy:Landroid/view/WindowManagerPolicy;
  17092.  
  17093. .line 3874
  17094. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  17095.  
  17096. invoke-virtual {v0}, Ljava/lang/Object;->notifyAll()V
  17097.  
  17098. .line 3875
  17099. monitor-exit v1
  17100.  
  17101. .line 3876
  17102. return-void
  17103.  
  17104. .line 3875
  17105. :catchall_c
  17106. move-exception v0
  17107.  
  17108. monitor-exit v1
  17109. :try_end_e
  17110. .catchall {:try_start_3 .. :try_end_e} :catchall_c
  17111.  
  17112. throw v0
  17113. .end method
  17114.  
  17115. .method public setScreenBrightnessOverride(I)V
  17116. .registers 6
  17117. .parameter "brightness"
  17118.  
  17119. .prologue
  17120. .line 2401
  17121. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  17122.  
  17123. const-string v1, "android.permission.DEVICE_POWER"
  17124.  
  17125. const/4 v2, 0x0
  17126.  
  17127. invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  17128.  
  17129. .line 2403
  17130. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  17131.  
  17132. monitor-enter v1
  17133.  
  17134. .line 2404
  17135. :try_start_b
  17136. iget v0, p0, Lcom/android/server/PowerManagerService;->mScreenBrightnessOverride:I
  17137.  
  17138. if-eq v0, p1, :cond_35
  17139.  
  17140. .line 2405
  17141. const-string v0, "PowerManagerService"
  17142.  
  17143. new-instance v2, Ljava/lang/StringBuilder;
  17144.  
  17145. invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
  17146.  
  17147. const-string v3, "setScreenBrightnessOverride "
  17148.  
  17149. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  17150.  
  17151. move-result-object v2
  17152.  
  17153. invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  17154.  
  17155. move-result-object v2
  17156.  
  17157. invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  17158.  
  17159. move-result-object v2
  17160.  
  17161. invoke-static {v0, v2}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  17162.  
  17163. .line 2406
  17164. iput p1, p0, Lcom/android/server/PowerManagerService;->mScreenBrightnessOverride:I
  17165.  
  17166. .line 2407
  17167. invoke-virtual {p0}, Lcom/android/server/PowerManagerService;->isScreenOn()Z
  17168.  
  17169. move-result v0
  17170.  
  17171. if-eqz v0, :cond_35
  17172.  
  17173. .line 2408
  17174. iget v0, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  17175.  
  17176. const/4 v2, 0x1
  17177.  
  17178. invoke-direct {p0, v0, v2}, Lcom/android/server/PowerManagerService;->updateLightsLocked(II)V
  17179.  
  17180. .line 2411
  17181. :cond_35
  17182. monitor-exit v1
  17183.  
  17184. .line 2412
  17185. return-void
  17186.  
  17187. .line 2411
  17188. :catchall_37
  17189. move-exception v0
  17190.  
  17191. monitor-exit v1
  17192. :try_end_39
  17193. .catchall {:try_start_b .. :try_end_39} :catchall_37
  17194.  
  17195. throw v0
  17196. .end method
  17197.  
  17198. .method public setStayOnSetting(I)V
  17199. .registers 5
  17200. .parameter "val"
  17201.  
  17202. .prologue
  17203. .line 601
  17204. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  17205.  
  17206. const-string v1, "android.permission.WRITE_SETTINGS"
  17207.  
  17208. const/4 v2, 0x0
  17209.  
  17210. invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  17211.  
  17212. .line 602
  17213. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  17214.  
  17215. invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
  17216.  
  17217. move-result-object v0
  17218.  
  17219. const-string v1, "stay_on_while_plugged_in"
  17220.  
  17221. invoke-static {v0, v1, p1}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
  17222.  
  17223. .line 604
  17224. return-void
  17225. .end method
  17226.  
  17227. .method public startFaceDetection()V
  17228. .registers 4
  17229.  
  17230. .prologue
  17231. .line 1939
  17232. const-string v1, "undernormal"
  17233.  
  17234. const-string v2, "startFaceDetection"
  17235.  
  17236. invoke-static {v1, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
  17237.  
  17238. .line 1940
  17239. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  17240.  
  17241. invoke-virtual {v1}, Landroid/hardware/Camera$Parameters;->getMaxNumDetectedFaces()I
  17242.  
  17243. move-result v1
  17244.  
  17245. if-lez v1, :cond_31
  17246.  
  17247. .line 1941
  17248. const-string v1, "undernormal"
  17249.  
  17250. const-string v2, "maxNumDetectedFaces > 0"
  17251.  
  17252. invoke-static {v1, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
  17253.  
  17254. .line 1942
  17255. invoke-static {}, Lcom/android/server/CameraHolder;->instance()Lcom/android/server/CameraHolder;
  17256.  
  17257. move-result-object v1
  17258.  
  17259. invoke-virtual {v1}, Lcom/android/server/CameraHolder;->getCameraInfo()[Landroid/hardware/Camera$CameraInfo;
  17260.  
  17261. move-result-object v1
  17262.  
  17263. iget v2, p0, Lcom/android/server/PowerManagerService;->mCameraId:I
  17264.  
  17265. aget-object v0, v1, v2
  17266.  
  17267. .line 1943
  17268. .local v0, info:Landroid/hardware/Camera$CameraInfo;
  17269. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  17270.  
  17271. new-instance v2, Lcom/android/server/PowerManagerService$5;
  17272.  
  17273. invoke-direct {v2, p0}, Lcom/android/server/PowerManagerService$5;-><init>(Lcom/android/server/PowerManagerService;)V
  17274.  
  17275. invoke-virtual {v1, v2}, Landroid/hardware/Camera;->setFaceDetectionListener(Landroid/hardware/Camera$FaceDetectionListener;)V
  17276.  
  17277. .line 1978
  17278. iget-object v1, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  17279.  
  17280. invoke-virtual {v1}, Landroid/hardware/Camera;->startFaceDetection()V
  17281.  
  17282. .line 1980
  17283. .end local v0 #info:Landroid/hardware/Camera$CameraInfo;
  17284. :cond_31
  17285. return-void
  17286. .end method
  17287.  
  17288. .method public stopFaceDetection()V
  17289. .registers 3
  17290.  
  17291. .prologue
  17292. .line 1984
  17293. iget-boolean v0, p0, Lcom/android/server/PowerManagerService;->mFaceDetectionStarted:Z
  17294.  
  17295. if-nez v0, :cond_5
  17296.  
  17297. .line 1992
  17298. :cond_4
  17299. :goto_4
  17300. return-void
  17301.  
  17302. .line 1986
  17303. :cond_5
  17304. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mParameters:Landroid/hardware/Camera$Parameters;
  17305.  
  17306. invoke-virtual {v0}, Landroid/hardware/Camera$Parameters;->getMaxNumDetectedFaces()I
  17307.  
  17308. move-result v0
  17309.  
  17310. if-lez v0, :cond_4
  17311.  
  17312. .line 1987
  17313. const/4 v0, 0x0
  17314.  
  17315. iput-boolean v0, p0, Lcom/android/server/PowerManagerService;->mFaceDetectionStarted:Z
  17316.  
  17317. .line 1988
  17318. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  17319.  
  17320. const/4 v1, 0x0
  17321.  
  17322. invoke-virtual {v0, v1}, Landroid/hardware/Camera;->setFaceDetectionListener(Landroid/hardware/Camera$FaceDetectionListener;)V
  17323.  
  17324. .line 1989
  17325. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mCameraDevice:Landroid/hardware/Camera;
  17326.  
  17327. invoke-virtual {v0}, Landroid/hardware/Camera;->stopFaceDetection()V
  17328.  
  17329. goto :goto_4
  17330. .end method
  17331.  
  17332. .method systemReady()V
  17333. .registers 9
  17334.  
  17335. .prologue
  17336. const/4 v7, 0x5
  17337.  
  17338. const/4 v5, 0x0
  17339.  
  17340. const/4 v4, 0x1
  17341.  
  17342. .line 3890
  17343. new-instance v3, Landroid/hardware/SensorManager;
  17344.  
  17345. iget-object v6, p0, Lcom/android/server/PowerManagerService;->mHandlerThread:Landroid/os/HandlerThread;
  17346.  
  17347. invoke-virtual {v6}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper;
  17348.  
  17349. move-result-object v6
  17350.  
  17351. invoke-direct {v3, v6}, Landroid/hardware/SensorManager;-><init>(Landroid/os/Looper;)V
  17352.  
  17353. iput-object v3, p0, Lcom/android/server/PowerManagerService;->mSensorManager:Landroid/hardware/SensorManager;
  17354.  
  17355. .line 3891
  17356. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mSensorManager:Landroid/hardware/SensorManager;
  17357.  
  17358. const/16 v6, 0x8
  17359.  
  17360. invoke-virtual {v3, v6}, Landroid/hardware/SensorManager;->getDefaultSensor(I)Landroid/hardware/Sensor;
  17361.  
  17362. move-result-object v3
  17363.  
  17364. iput-object v3, p0, Lcom/android/server/PowerManagerService;->mProximitySensor:Landroid/hardware/Sensor;
  17365.  
  17366. .line 3892
  17367. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  17368.  
  17369. invoke-virtual {v3}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
  17370.  
  17371. move-result-object v2
  17372.  
  17373. .line 3893
  17374. .local v2, resources:Landroid/content/res/Resources;
  17375. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mSensorManager:Landroid/hardware/SensorManager;
  17376.  
  17377. if-eqz v3, :cond_c0
  17378.  
  17379. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mSensorManager:Landroid/hardware/SensorManager;
  17380.  
  17381. invoke-virtual {v3, v7}, Landroid/hardware/SensorManager;->getDefaultSensor(I)Landroid/hardware/Sensor;
  17382.  
  17383. move-result-object v3
  17384.  
  17385. if-eqz v3, :cond_c0
  17386.  
  17387. move v3, v4
  17388.  
  17389. :goto_2d
  17390. iput-boolean v3, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  17391.  
  17392. .line 3897
  17393. iget-boolean v3, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  17394.  
  17395. if-eqz v3, :cond_68
  17396.  
  17397. .line 3898
  17398. const v3, 0x1070028
  17399.  
  17400. invoke-virtual {v2, v3}, Landroid/content/res/Resources;->getIntArray(I)[I
  17401.  
  17402. move-result-object v3
  17403.  
  17404. iput-object v3, p0, Lcom/android/server/PowerManagerService;->mAutoBrightnessLevels:[I
  17405.  
  17406. .line 3900
  17407. const v3, 0x1070029
  17408.  
  17409. invoke-virtual {v2, v3}, Landroid/content/res/Resources;->getIntArray(I)[I
  17410.  
  17411. move-result-object v3
  17412.  
  17413. iput-object v3, p0, Lcom/android/server/PowerManagerService;->mLcdBacklightValues:[I
  17414.  
  17415. .line 3902
  17416. const v3, 0x107002a
  17417.  
  17418. invoke-virtual {v2, v3}, Landroid/content/res/Resources;->getIntArray(I)[I
  17419.  
  17420. move-result-object v3
  17421.  
  17422. iput-object v3, p0, Lcom/android/server/PowerManagerService;->mButtonBacklightValues:[I
  17423.  
  17424. .line 3904
  17425. const v3, 0x107002b
  17426.  
  17427. invoke-virtual {v2, v3}, Landroid/content/res/Resources;->getIntArray(I)[I
  17428.  
  17429. move-result-object v3
  17430.  
  17431. iput-object v3, p0, Lcom/android/server/PowerManagerService;->mKeyboardBacklightValues:[I
  17432.  
  17433. .line 3906
  17434. const v3, 0x10e001f
  17435.  
  17436. invoke-virtual {v2, v3}, Landroid/content/res/Resources;->getInteger(I)I
  17437.  
  17438. move-result v3
  17439.  
  17440. iput v3, p0, Lcom/android/server/PowerManagerService;->mLightSensorWarmupTime:I
  17441.  
  17442. .line 3908
  17443. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mSensorManager:Landroid/hardware/SensorManager;
  17444.  
  17445. invoke-virtual {v3, v7}, Landroid/hardware/SensorManager;->getDefaultSensor(I)Landroid/hardware/Sensor;
  17446.  
  17447. move-result-object v3
  17448.  
  17449. iput-object v3, p0, Lcom/android/server/PowerManagerService;->mLightSensor:Landroid/hardware/Sensor;
  17450.  
  17451. .line 3914
  17452. :cond_68
  17453. iget-boolean v3, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  17454.  
  17455. if-eqz v3, :cond_c3
  17456.  
  17457. .line 3916
  17458. const/4 v3, 0x3
  17459.  
  17460. invoke-direct {p0, v3}, Lcom/android/server/PowerManagerService;->setPowerState(I)V
  17461.  
  17462. .line 3922
  17463. :goto_70
  17464. iget-object v6, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  17465.  
  17466. monitor-enter v6
  17467.  
  17468. .line 3923
  17469. :try_start_73
  17470. const-string v3, "PowerManagerService"
  17471.  
  17472. const-string v7, "system ready!"
  17473.  
  17474. invoke-static {v3, v7}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
  17475.  
  17476. .line 3924
  17477. const/4 v3, 0x1
  17478.  
  17479. iput-boolean v3, p0, Lcom/android/server/PowerManagerService;->mDoneBooting:Z
  17480.  
  17481. .line 3926
  17482. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mBatteryService:Lcom/android/server/BatteryService;
  17483.  
  17484. invoke-virtual {v3}, Lcom/android/server/BatteryService;->isPowered()Z
  17485.  
  17486. move-result v3
  17487.  
  17488. if-nez v3, :cond_c9
  17489.  
  17490. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mBatteryService:Lcom/android/server/BatteryService;
  17491.  
  17492. invoke-virtual {v3}, Lcom/android/server/BatteryService;->getBatteryLevel()I
  17493.  
  17494. move-result v3
  17495.  
  17496. const/16 v7, 0xa
  17497.  
  17498. if-gt v3, v7, :cond_c9
  17499.  
  17500. move v3, v4
  17501.  
  17502. :goto_90
  17503. iput-boolean v3, p0, Lcom/android/server/PowerManagerService;->mIsLowBattery:Z
  17504.  
  17505. .line 3927
  17506. iget-boolean v3, p0, Lcom/android/server/PowerManagerService;->mAutoBrightessEnabled:Z
  17507.  
  17508. if-eqz v3, :cond_a9
  17509.  
  17510. iget-boolean v3, p0, Lcom/android/server/PowerManagerService;->mIsLowBattery:Z
  17511.  
  17512. if-nez v3, :cond_a9
  17513.  
  17514. .line 3928
  17515. iget-boolean v3, p0, Lcom/android/server/PowerManagerService;->mUseSoftwareAutoBrightness:Z
  17516.  
  17517. if-eqz v3, :cond_cb
  17518.  
  17519. iget-boolean v3, p0, Lcom/android/server/PowerManagerService;->mAutoBrightessEnabled:Z
  17520.  
  17521. if-eqz v3, :cond_cb
  17522.  
  17523. iget-boolean v3, p0, Lcom/android/server/PowerManagerService;->mIsLowBattery:Z
  17524.  
  17525. if-nez v3, :cond_cb
  17526.  
  17527. :goto_a6
  17528. invoke-direct {p0, v4}, Lcom/android/server/PowerManagerService;->enableLightSensorLocked(Z)V
  17529.  
  17530. .line 3931
  17531. :cond_a9
  17532. invoke-static {}, Landroid/os/Binder;->clearCallingIdentity()J
  17533. :try_end_ac
  17534. .catchall {:try_start_73 .. :try_end_ac} :catchall_d2
  17535.  
  17536. move-result-wide v0
  17537.  
  17538. .line 3933
  17539. .local v0, identity:J
  17540. :try_start_ad
  17541. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  17542.  
  17543. invoke-direct {p0}, Lcom/android/server/PowerManagerService;->getPreferredBrightness()I
  17544.  
  17545. move-result v4
  17546.  
  17547. invoke-interface {v3, v4}, Lcom/android/internal/app/IBatteryStats;->noteScreenBrightness(I)V
  17548.  
  17549. .line 3934
  17550. iget-object v3, p0, Lcom/android/server/PowerManagerService;->mBatteryStats:Lcom/android/internal/app/IBatteryStats;
  17551.  
  17552. invoke-interface {v3}, Lcom/android/internal/app/IBatteryStats;->noteScreenOn()V
  17553. :try_end_bb
  17554. .catchall {:try_start_ad .. :try_end_bb} :catchall_d5
  17555. .catch Landroid/os/RemoteException; {:try_start_ad .. :try_end_bb} :catch_cd
  17556.  
  17557. .line 3938
  17558. :try_start_bb
  17559. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  17560.  
  17561. .line 3940
  17562. :goto_be
  17563. monitor-exit v6
  17564. :try_end_bf
  17565. .catchall {:try_start_bb .. :try_end_bf} :catchall_d2
  17566.  
  17567. .line 3941
  17568. return-void
  17569.  
  17570. .end local v0 #identity:J
  17571. :cond_c0
  17572. move v3, v5
  17573.  
  17574. .line 3893
  17575. goto/16 :goto_2d
  17576.  
  17577. .line 3919
  17578. :cond_c3
  17579. const/16 v3, 0xf
  17580.  
  17581. invoke-direct {p0, v3}, Lcom/android/server/PowerManagerService;->setPowerState(I)V
  17582.  
  17583. goto :goto_70
  17584.  
  17585. :cond_c9
  17586. move v3, v5
  17587.  
  17588. .line 3926
  17589. goto :goto_90
  17590.  
  17591. :cond_cb
  17592. move v4, v5
  17593.  
  17594. .line 3928
  17595. goto :goto_a6
  17596.  
  17597. .line 3935
  17598. .restart local v0 #identity:J
  17599. :catch_cd
  17600. move-exception v3
  17601.  
  17602. .line 3938
  17603. :try_start_ce
  17604. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  17605.  
  17606. goto :goto_be
  17607.  
  17608. .line 3940
  17609. .end local v0 #identity:J
  17610. :catchall_d2
  17611. move-exception v3
  17612.  
  17613. monitor-exit v6
  17614. :try_end_d4
  17615. .catchall {:try_start_ce .. :try_end_d4} :catchall_d2
  17616.  
  17617. throw v3
  17618.  
  17619. .line 3938
  17620. .restart local v0 #identity:J
  17621. :catchall_d5
  17622. move-exception v3
  17623.  
  17624. :try_start_d6
  17625. invoke-static {v0, v1}, Landroid/os/Binder;->restoreCallingIdentity(J)V
  17626.  
  17627. throw v3
  17628. :try_end_da
  17629. .catchall {:try_start_d6 .. :try_end_da} :catchall_d2
  17630. .end method
  17631.  
  17632. .method public timeSinceScreenOn()J
  17633. .registers 6
  17634.  
  17635. .prologue
  17636. .line 3643
  17637. iget-object v2, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  17638.  
  17639. monitor-enter v2
  17640.  
  17641. .line 3644
  17642. :try_start_3
  17643. iget v0, p0, Lcom/android/server/PowerManagerService;->mPowerState:I
  17644.  
  17645. and-int/lit8 v0, v0, 0x1
  17646.  
  17647. if-eqz v0, :cond_d
  17648.  
  17649. .line 3645
  17650. const-wide/16 v0, 0x0
  17651.  
  17652. monitor-exit v2
  17653.  
  17654. .line 3647
  17655. :goto_c
  17656. return-wide v0
  17657.  
  17658. :cond_d
  17659. invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
  17660.  
  17661. move-result-wide v0
  17662.  
  17663. iget-wide v3, p0, Lcom/android/server/PowerManagerService;->mScreenOffTime:J
  17664.  
  17665. sub-long/2addr v0, v3
  17666.  
  17667. monitor-exit v2
  17668.  
  17669. goto :goto_c
  17670.  
  17671. .line 3648
  17672. :catchall_16
  17673. move-exception v0
  17674.  
  17675. monitor-exit v2
  17676. :try_end_18
  17677. .catchall {:try_start_3 .. :try_end_18} :catchall_16
  17678.  
  17679. throw v0
  17680. .end method
  17681.  
  17682. .method public updateWakeLockWorkSource(Landroid/os/IBinder;Landroid/os/WorkSource;)V
  17683. .registers 11
  17684. .parameter "lock"
  17685. .parameter "ws"
  17686.  
  17687. .prologue
  17688. .line 1161
  17689. invoke-static {}, Landroid/os/Binder;->getCallingUid()I
  17690.  
  17691. move-result v3
  17692.  
  17693. .line 1162
  17694. .local v3, uid:I
  17695. invoke-static {}, Landroid/os/Binder;->getCallingPid()I
  17696.  
  17697. move-result v2
  17698.  
  17699. .line 1163
  17700. .local v2, pid:I
  17701. if-eqz p2, :cond_11
  17702.  
  17703. invoke-virtual {p2}, Landroid/os/WorkSource;->size()I
  17704.  
  17705. move-result v5
  17706.  
  17707. if-nez v5, :cond_11
  17708.  
  17709. .line 1164
  17710. const/4 p2, 0x0
  17711.  
  17712. .line 1166
  17713. :cond_11
  17714. if-eqz p2, :cond_16
  17715.  
  17716. .line 1167
  17717. invoke-virtual {p0, v3, v2}, Lcom/android/server/PowerManagerService;->enforceWakeSourcePermission(II)V
  17718.  
  17719. .line 1169
  17720. :cond_16
  17721. iget-object v6, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  17722.  
  17723. monitor-enter v6
  17724.  
  17725. .line 1170
  17726. :try_start_19
  17727. iget-object v5, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  17728.  
  17729. invoke-virtual {v5, p1}, Lcom/android/server/PowerManagerService$LockList;->getIndex(Landroid/os/IBinder;)I
  17730.  
  17731. move-result v0
  17732.  
  17733. .line 1171
  17734. .local v0, index:I
  17735. if-gez v0, :cond_2c
  17736.  
  17737. .line 1172
  17738. new-instance v5, Ljava/lang/IllegalArgumentException;
  17739.  
  17740. const-string v7, "Wake lock not active"
  17741.  
  17742. invoke-direct {v5, v7}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
  17743.  
  17744. throw v5
  17745.  
  17746. .line 1179
  17747. .end local v0 #index:I
  17748. :catchall_29
  17749. move-exception v5
  17750.  
  17751. monitor-exit v6
  17752. :try_end_2b
  17753. .catchall {:try_start_19 .. :try_end_2b} :catchall_29
  17754.  
  17755. throw v5
  17756.  
  17757. .line 1174
  17758. .restart local v0 #index:I
  17759. :cond_2c
  17760. :try_start_2c
  17761. iget-object v5, p0, Lcom/android/server/PowerManagerService;->mLocks:Lcom/android/server/PowerManagerService$LockList;
  17762.  
  17763. invoke-virtual {v5, v0}, Lcom/android/server/PowerManagerService$LockList;->get(I)Ljava/lang/Object;
  17764.  
  17765. move-result-object v4
  17766.  
  17767. check-cast v4, Lcom/android/server/PowerManagerService$WakeLock;
  17768.  
  17769. .line 1175
  17770. .local v4, wl:Lcom/android/server/PowerManagerService$WakeLock;
  17771. iget-object v1, v4, Lcom/android/server/PowerManagerService$WakeLock;->ws:Landroid/os/WorkSource;
  17772.  
  17773. .line 1176
  17774. .local v1, oldsource:Landroid/os/WorkSource;
  17775. if-eqz p2, :cond_47
  17776.  
  17777. new-instance v5, Landroid/os/WorkSource;
  17778.  
  17779. invoke-direct {v5, p2}, Landroid/os/WorkSource;-><init>(Landroid/os/WorkSource;)V
  17780.  
  17781. :goto_3d
  17782. iput-object v5, v4, Lcom/android/server/PowerManagerService$WakeLock;->ws:Landroid/os/WorkSource;
  17783.  
  17784. .line 1177
  17785. invoke-virtual {p0, v4, v1}, Lcom/android/server/PowerManagerService;->noteStopWakeLocked(Lcom/android/server/PowerManagerService$WakeLock;Landroid/os/WorkSource;)V
  17786.  
  17787. .line 1178
  17788. invoke-virtual {p0, v4, p2}, Lcom/android/server/PowerManagerService;->noteStartWakeLocked(Lcom/android/server/PowerManagerService$WakeLock;Landroid/os/WorkSource;)V
  17789.  
  17790. .line 1179
  17791. monitor-exit v6
  17792. :try_end_46
  17793. .catchall {:try_start_2c .. :try_end_46} :catchall_29
  17794.  
  17795. .line 1180
  17796. return-void
  17797.  
  17798. .line 1176
  17799. :cond_47
  17800. const/4 v5, 0x0
  17801.  
  17802. goto :goto_3d
  17803. .end method
  17804.  
  17805. .method public userActivity(JZ)V
  17806. .registers 12
  17807. .parameter "time"
  17808. .parameter "noChangeLights"
  17809.  
  17810. .prologue
  17811. const/4 v6, 0x0
  17812.  
  17813. .line 3278
  17814. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  17815.  
  17816. const-string v1, "android.permission.DEVICE_POWER"
  17817.  
  17818. invoke-virtual {v0, v1}, Landroid/content/Context;->checkCallingOrSelfPermission(Ljava/lang/String;)I
  17819.  
  17820. move-result v0
  17821.  
  17822. if-eqz v0, :cond_3c
  17823.  
  17824. .line 3280
  17825. invoke-direct {p0, p1, p2}, Lcom/android/server/PowerManagerService;->shouldLog(J)Z
  17826.  
  17827. move-result v0
  17828.  
  17829. if-eqz v0, :cond_3b
  17830.  
  17831. .line 3281
  17832. const-string v0, "PowerManagerService"
  17833.  
  17834. new-instance v1, Ljava/lang/StringBuilder;
  17835.  
  17836. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  17837.  
  17838. const-string v2, "Caller does not have DEVICE_POWER permission. pid="
  17839.  
  17840. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  17841.  
  17842. move-result-object v1
  17843.  
  17844. invoke-static {}, Landroid/os/Binder;->getCallingPid()I
  17845.  
  17846. move-result v2
  17847.  
  17848. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  17849.  
  17850. move-result-object v1
  17851.  
  17852. const-string v2, " uid="
  17853.  
  17854. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  17855.  
  17856. move-result-object v1
  17857.  
  17858. invoke-static {}, Landroid/os/Binder;->getCallingUid()I
  17859.  
  17860. move-result v2
  17861.  
  17862. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  17863.  
  17864. move-result-object v1
  17865.  
  17866. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  17867.  
  17868. move-result-object v1
  17869.  
  17870. invoke-static {v0, v1}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
  17871.  
  17872. .line 3288
  17873. :cond_3b
  17874. :goto_3b
  17875. return-void
  17876.  
  17877. .line 3287
  17878. :cond_3c
  17879. const-wide/16 v3, -0x1
  17880.  
  17881. move-object v0, p0
  17882.  
  17883. move-wide v1, p1
  17884.  
  17885. move v5, p3
  17886.  
  17887. move v7, v6
  17888.  
  17889. invoke-direct/range {v0 .. v7}, Lcom/android/server/PowerManagerService;->userActivity(JJZIZ)V
  17890.  
  17891. goto :goto_3b
  17892. .end method
  17893.  
  17894. .method public userActivity(JZI)V
  17895. .registers 13
  17896. .parameter "time"
  17897. .parameter "noChangeLights"
  17898. .parameter "eventType"
  17899.  
  17900. .prologue
  17901. .line 3291
  17902. const-wide/16 v3, -0x1
  17903.  
  17904. const/4 v7, 0x0
  17905.  
  17906. move-object v0, p0
  17907.  
  17908. move-wide v1, p1
  17909.  
  17910. move v5, p3
  17911.  
  17912. move v6, p4
  17913.  
  17914. invoke-direct/range {v0 .. v7}, Lcom/android/server/PowerManagerService;->userActivity(JJZIZ)V
  17915.  
  17916. .line 3292
  17917. return-void
  17918. .end method
  17919.  
  17920. .method public userActivity(JZIZ)V
  17921. .registers 14
  17922. .parameter "time"
  17923. .parameter "noChangeLights"
  17924. .parameter "eventType"
  17925. .parameter "force"
  17926.  
  17927. .prologue
  17928. .line 3295
  17929. const-wide/16 v3, -0x1
  17930.  
  17931. move-object v0, p0
  17932.  
  17933. move-wide v1, p1
  17934.  
  17935. move v5, p3
  17936.  
  17937. move v6, p4
  17938.  
  17939. move v7, p5
  17940.  
  17941. invoke-direct/range {v0 .. v7}, Lcom/android/server/PowerManagerService;->userActivity(JJZIZ)V
  17942.  
  17943. .line 3296
  17944. return-void
  17945. .end method
  17946.  
  17947. .method public userActivityWithForce(JZZ)V
  17948. .registers 13
  17949. .parameter "time"
  17950. .parameter "noChangeLights"
  17951. .parameter "force"
  17952.  
  17953. .prologue
  17954. .line 3273
  17955. iget-object v0, p0, Lcom/android/server/PowerManagerService;->mContext:Landroid/content/Context;
  17956.  
  17957. const-string v1, "android.permission.DEVICE_POWER"
  17958.  
  17959. const/4 v2, 0x0
  17960.  
  17961. invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
  17962.  
  17963. .line 3274
  17964. const-wide/16 v3, -0x1
  17965.  
  17966. const/4 v6, 0x0
  17967.  
  17968. move-object v0, p0
  17969.  
  17970. move-wide v1, p1
  17971.  
  17972. move v5, p3
  17973.  
  17974. move v7, p4
  17975.  
  17976. invoke-direct/range {v0 .. v7}, Lcom/android/server/PowerManagerService;->userActivity(JJZIZ)V
  17977.  
  17978. .line 3275
  17979. return-void
  17980. .end method
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement