Guest User

Untitled

a guest
Jun 25th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 32.53 KB | None | 0 0
  1. .class public Lcom/android/systemui/statusbar/StatusBarView;
  2. .super Landroid/widget/FrameLayout;
  3. .source "StatusBarView.java"
  4.  
  5.  
  6. # instance fields
  7. .field mBackground:Lcom/android/systemui/statusbar/FixedSizeDrawable;
  8.  
  9. .field mBatteryIndicator:Landroid/widget/ImageView;
  10.  
  11. .field mBatteryIndicatorCharging:Landroid/widget/ImageView;
  12.  
  13. .field private mBatteryIndicatorWidth:I
  14.  
  15. .field private mBatteryLowLevel:I
  16.  
  17. .field private mBatteryStyleChangeObserver:Landroid/database/ContentObserver;
  18.  
  19. .field mDate:Landroid/view/View;
  20.  
  21. .field mIntentReceiver:Landroid/content/BroadcastReceiver;
  22.  
  23. .field mNotificationIcons:Landroid/view/ViewGroup;
  24.  
  25. .field mScreenIsOn:Z
  26.  
  27. .field mService:Lcom/android/systemui/statusbar/StatusBarService;
  28.  
  29. .field private mShowBatteryIndicator:Z
  30.  
  31. .field mStatusBarLayout:Landroid/view/ViewGroup;
  32.  
  33. .field private mStatusBarMarqueeDirection:I
  34.  
  35. .field private mStatusBarMarqueeRange:I
  36.  
  37. .field mStatusIcons:Landroid/view/ViewGroup;
  38.  
  39.  
  40. # direct methods
  41. .method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
  42. .locals 1
  43. .parameter "context"
  44. .parameter "attrs"
  45.  
  46. .prologue
  47. .line 56
  48. invoke-direct {p0, p1, p2}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
  49.  
  50. .line 54
  51. const/4 v0, 0x0
  52.  
  53. iput-boolean v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mScreenIsOn:Z
  54.  
  55. .line 55
  56. new-instance v0, Lcom/android/systemui/statusbar/StatusBarView$1;
  57.  
  58. invoke-direct {v0, p0}, Lcom/android/systemui/statusbar/StatusBarView$1;-><init>(Lcom/android/systemui/statusbar/StatusBarView;)V
  59.  
  60. iput-object v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mIntentReceiver:Landroid/content/BroadcastReceiver;
  61.  
  62. .line 49
  63. const/4 v0, 0x1
  64.  
  65. iput v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mStatusBarMarqueeDirection:I
  66.  
  67. .line 50
  68. const/4 v0, 0x0
  69.  
  70. iput v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mStatusBarMarqueeRange:I
  71.  
  72. .line 57
  73. return-void
  74. .end method
  75.  
  76. .method static synthetic access$000(Lcom/android/systemui/statusbar/StatusBarView;)V
  77. .locals 0
  78. .parameter "x0"
  79.  
  80. .prologue
  81. .line 43
  82. invoke-direct {p0}, Lcom/android/systemui/statusbar/StatusBarView;->updateBatterySettings()V
  83.  
  84. return-void
  85. .end method
  86.  
  87. .method private getDateSize(Landroid/view/ViewGroup;II)I
  88. .locals 6
  89. .parameter "g"
  90. .parameter "w"
  91. .parameter "offset"
  92.  
  93. .prologue
  94. .line 135
  95. invoke-virtual {p1}, Landroid/view/ViewGroup;->getChildCount()I
  96.  
  97. move-result v0
  98.  
  99. .line 136
  100. .local v0, N:I
  101. const/4 v1, 0x0
  102.  
  103. .local v1, i:I
  104. :goto_0
  105. if-ge v1, v0, :cond_1
  106.  
  107. .line 137
  108. invoke-virtual {p1, v1}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
  109.  
  110. move-result-object v4
  111.  
  112. .line 138
  113. .local v4, v:Landroid/view/View;
  114. invoke-virtual {v4}, Landroid/view/View;->getLeft()I
  115.  
  116. move-result v5
  117.  
  118. add-int v2, v5, p3
  119.  
  120. .line 139
  121. .local v2, l:I
  122. invoke-virtual {v4}, Landroid/view/View;->getRight()I
  123.  
  124. move-result v5
  125.  
  126. add-int v3, v5, p3
  127.  
  128. .line 140
  129. .local v3, r:I
  130. if-lt p2, v2, :cond_0
  131.  
  132. if-gt p2, v3, :cond_0
  133.  
  134. move v5, v3
  135.  
  136. .line 144
  137. .end local v2 #l:I
  138. .end local v3 #r:I
  139. .end local v4 #v:Landroid/view/View;
  140. :goto_1
  141. return v5
  142.  
  143. .line 136
  144. .restart local v2 #l:I
  145. .restart local v3 #r:I
  146. .restart local v4 #v:Landroid/view/View;
  147. :cond_0
  148. add-int/lit8 v1, v1, 0x1
  149.  
  150. goto :goto_0
  151.  
  152. .line 144
  153. .end local v2 #l:I
  154. .end local v3 #r:I
  155. .end local v4 #v:Landroid/view/View;
  156. :cond_1
  157. const/4 v5, -0x1
  158.  
  159. goto :goto_1
  160. .end method
  161.  
  162. .method private getViewOffset(Landroid/view/View;)I
  163. .locals 6
  164. .parameter "v"
  165.  
  166. .prologue
  167. .line 121
  168. const/4 v1, 0x0
  169.  
  170. .line 122
  171. .local v1, offset:I
  172. :goto_0
  173. if-eq p1, p0, :cond_1
  174.  
  175. .line 123
  176. invoke-virtual {p1}, Landroid/view/View;->getLeft()I
  177.  
  178. move-result v3
  179.  
  180. add-int/2addr v1, v3
  181.  
  182. .line 124
  183. invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
  184.  
  185. move-result-object v2
  186.  
  187. .line 125
  188. .local v2, p:Landroid/view/ViewParent;
  189. instance-of v3, p1, Landroid/view/View;
  190.  
  191. if-eqz v3, :cond_0
  192.  
  193. .line 126
  194. move-object v0, v2
  195.  
  196. check-cast v0, Landroid/view/View;
  197.  
  198. move-object p1, v0
  199.  
  200. goto :goto_0
  201.  
  202. .line 128
  203. :cond_0
  204. new-instance v3, Ljava/lang/RuntimeException;
  205.  
  206. new-instance v4, Ljava/lang/StringBuilder;
  207.  
  208. invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
  209.  
  210. invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  211.  
  212. move-result-object v4
  213.  
  214. const-string v5, " is not a child of "
  215.  
  216. invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  217.  
  218. move-result-object v4
  219.  
  220. invoke-virtual {v4, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  221.  
  222. move-result-object v4
  223.  
  224. invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  225.  
  226. move-result-object v4
  227.  
  228. invoke-direct {v3, v4}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
  229.  
  230. throw v3
  231.  
  232. .line 131
  233. .end local v2 #p:Landroid/view/ViewParent;
  234. :cond_1
  235. return v1
  236. .end method
  237.  
  238. .method private updateBatterySettings()V
  239. .locals 4
  240.  
  241. .prologue
  242. const/4 v3, 0x0
  243.  
  244. .line 124
  245. const/4 v0, 0x1
  246.  
  247. iget-object v1, p0, Lcom/android/systemui/statusbar/StatusBarView;->mContext:Landroid/content/Context;
  248.  
  249. invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
  250.  
  251. move-result-object v1
  252.  
  253. const-string v2, "battery_indicator_style"
  254.  
  255. invoke-static {v1, v2, v3}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
  256.  
  257. move-result v1
  258.  
  259. if-ne v0, v1, :cond_0
  260.  
  261. const/4 v0, 0x1
  262.  
  263. :goto_0
  264. iput-boolean v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mShowBatteryIndicator:Z
  265.  
  266. .line 130
  267. iget-object v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mContext:Landroid/content/Context;
  268.  
  269. invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
  270.  
  271. move-result-object v0
  272.  
  273. const v1, 0x19
  274.  
  275. iput v1, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryLowLevel:I
  276.  
  277. .line 132
  278. iget-object v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mContext:Landroid/content/Context;
  279.  
  280. invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
  281.  
  282. move-result-object v0
  283.  
  284. const-string v1, "battery_level_low_customized"
  285.  
  286. iget v2, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryLowLevel:I
  287.  
  288. invoke-static {v0, v1, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
  289.  
  290. move-result v0
  291.  
  292. iput v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryLowLevel:I
  293.  
  294. .line 135
  295. invoke-virtual {p0}, Lcom/android/systemui/statusbar/StatusBarView;->requestLayout()V
  296.  
  297. .line 136
  298. invoke-virtual {p0}, Lcom/android/systemui/statusbar/StatusBarView;->invalidate()V
  299.  
  300. .line 137
  301. return-void
  302.  
  303. :cond_0
  304. move v0, v3
  305.  
  306. .line 124
  307. goto :goto_0
  308. .end method
  309.  
  310.  
  311. # virtual methods
  312. .method public marqueeStatusBar()V
  313. .locals 5
  314.  
  315. .prologue
  316. .line 168
  317. iget v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mStatusBarMarqueeRange:I
  318.  
  319. iget v1, p0, Lcom/android/systemui/statusbar/StatusBarView;->mStatusBarMarqueeDirection:I
  320.  
  321. add-int/2addr v0, v1
  322.  
  323. iput v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mStatusBarMarqueeRange:I
  324.  
  325. .line 170
  326. iget v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mStatusBarMarqueeRange:I
  327.  
  328. const/4 v1, 0x2
  329.  
  330. if-lt v0, v1, :cond_1
  331.  
  332. .line 171
  333. const/4 v0, -0x1
  334.  
  335. iput v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mStatusBarMarqueeDirection:I
  336.  
  337. .line 176
  338. :cond_0
  339. :goto_0
  340. iget-object v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mStatusBarLayout:Landroid/view/ViewGroup;
  341.  
  342. iget-object v1, p0, Lcom/android/systemui/statusbar/StatusBarView;->mStatusIcons:Landroid/view/ViewGroup;
  343.  
  344. invoke-virtual {v1}, Landroid/view/ViewGroup;->getPaddingLeft()I
  345.  
  346. move-result v1
  347.  
  348. iget v2, p0, Lcom/android/systemui/statusbar/StatusBarView;->mStatusBarMarqueeDirection:I
  349.  
  350. add-int/2addr v1, v2
  351.  
  352. iget-object v2, p0, Lcom/android/systemui/statusbar/StatusBarView;->mStatusBarLayout:Landroid/view/ViewGroup;
  353.  
  354. invoke-virtual {v2}, Landroid/view/ViewGroup;->getPaddingTop()I
  355.  
  356. move-result v2
  357.  
  358. iget-object v3, p0, Lcom/android/systemui/statusbar/StatusBarView;->mStatusBarLayout:Landroid/view/ViewGroup;
  359.  
  360. invoke-virtual {v3}, Landroid/view/ViewGroup;->getPaddingRight()I
  361.  
  362. move-result v3
  363.  
  364. iget v4, p0, Lcom/android/systemui/statusbar/StatusBarView;->mStatusBarMarqueeDirection:I
  365.  
  366. sub-int/2addr v3, v4
  367.  
  368. iget-object v4, p0, Lcom/android/systemui/statusbar/StatusBarView;->mStatusBarLayout:Landroid/view/ViewGroup;
  369.  
  370. invoke-virtual {v4}, Landroid/view/ViewGroup;->getPaddingBottom()I
  371.  
  372. move-result v4
  373.  
  374. invoke-virtual {v0, v1, v2, v3, v4}, Landroid/view/ViewGroup;->setPadding(IIII)V
  375.  
  376. .line 183
  377. invoke-virtual {p0}, Lcom/android/systemui/statusbar/StatusBarView;->invalidate()V
  378.  
  379. .line 184
  380. return-void
  381.  
  382. .line 172
  383. :cond_1
  384. iget v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mStatusBarMarqueeRange:I
  385.  
  386. const/4 v1, -0x2
  387.  
  388. if-gt v0, v1, :cond_0
  389.  
  390. .line 173
  391. const/4 v0, 0x1
  392.  
  393. iput v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mStatusBarMarqueeDirection:I
  394.  
  395. goto :goto_0
  396. .end method
  397.  
  398. .method protected onAttachedToWindow()V
  399. .locals 6
  400.  
  401. .prologue
  402. const/4 v5, 0x0
  403.  
  404. .line 76
  405. invoke-super {p0}, Landroid/widget/FrameLayout;->onAttachedToWindow()V
  406.  
  407. .line 77
  408. iget-object v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mService:Lcom/android/systemui/statusbar/StatusBarService;
  409.  
  410. invoke-virtual {v0}, Lcom/android/systemui/statusbar/StatusBarService;->onBarViewAttached()V
  411.  
  412. .line 110
  413. new-instance v0, Landroid/content/IntentFilter;
  414.  
  415. invoke-direct {v0}, Landroid/content/IntentFilter;-><init>()V
  416.  
  417. .line 111
  418. .local v0, filter:Landroid/content/IntentFilter;
  419. const-string v1, "android.intent.action.SCREEN_OFF"
  420.  
  421. invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
  422.  
  423. .line 112
  424. const-string v1, "android.intent.action.SCREEN_ON"
  425.  
  426. invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
  427.  
  428. .line 113
  429. iget-object v1, p0, Lcom/android/systemui/statusbar/StatusBarView;->mContext:Landroid/content/Context;
  430.  
  431. iget-object v2, p0, Lcom/android/systemui/statusbar/StatusBarView;->mIntentReceiver:Landroid/content/BroadcastReceiver;
  432.  
  433. const/4 v3, 0x0
  434.  
  435. new-instance v4, Landroid/os/Handler;
  436.  
  437. invoke-direct {v4}, Landroid/os/Handler;-><init>()V
  438.  
  439. invoke-virtual {v1, v2, v0, v3, v4}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;
  440.  
  441. iget-object v1, p0, Lcom/android/systemui/statusbar/StatusBarView;->mContext:Landroid/content/Context;
  442.  
  443. invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
  444.  
  445. move-result-object v1
  446.  
  447. const-string v2, "battery_indicator_style"
  448.  
  449. invoke-static {v2}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
  450.  
  451. move-result-object v2
  452.  
  453. iget-object v3, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryStyleChangeObserver:Landroid/database/ContentObserver;
  454.  
  455. invoke-virtual {v1, v2, v5, v3}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
  456.  
  457. .line 158
  458. iget-object v1, p0, Lcom/android/systemui/statusbar/StatusBarView;->mContext:Landroid/content/Context;
  459.  
  460. invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
  461.  
  462. move-result-object v1
  463.  
  464. const-string v2, "battery_level_low_customized"
  465.  
  466. invoke-static {v2}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
  467.  
  468. move-result-object v2
  469.  
  470. iget-object v3, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryStyleChangeObserver:Landroid/database/ContentObserver;
  471.  
  472. invoke-virtual {v1, v2, v5, v3}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
  473.  
  474. return-void
  475. .end method
  476.  
  477. .method protected onDetachedFromWindow()V
  478. .locals 2
  479.  
  480. .prologue
  481. .line 127
  482. invoke-super {p0}, Landroid/widget/FrameLayout;->onDetachedFromWindow()V
  483.  
  484. .line 128
  485. iget-object v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mContext:Landroid/content/Context;
  486.  
  487. iget-object v1, p0, Lcom/android/systemui/statusbar/StatusBarView;->mIntentReceiver:Landroid/content/BroadcastReceiver;
  488.  
  489. invoke-virtual {v0, v1}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
  490.  
  491. .line 130
  492. iget-object v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mContext:Landroid/content/Context;
  493.  
  494. invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
  495.  
  496. move-result-object v0
  497.  
  498. iget-object v1, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryStyleChangeObserver:Landroid/database/ContentObserver;
  499.  
  500. invoke-virtual {v0, v1}, Landroid/content/ContentResolver;->unregisterContentObserver(Landroid/database/ContentObserver;)V
  501.  
  502. return-void
  503. .end method
  504.  
  505. .method public onDraw(Landroid/graphics/Canvas;)V
  506. .locals 4
  507. .parameter "canvas"
  508.  
  509. .prologue
  510. .line 224
  511. iget-boolean v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mShowBatteryIndicator:Z
  512.  
  513. if-eqz v0, :cond_0
  514.  
  515. .line 225
  516. invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
  517.  
  518. .line 226
  519. iget-object v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicator:Landroid/widget/ImageView;
  520.  
  521. invoke-virtual {v0}, Landroid/widget/ImageView;->getLeft()I
  522.  
  523. move-result v0
  524.  
  525. iget-object v1, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicator:Landroid/widget/ImageView;
  526.  
  527. invoke-virtual {v1}, Landroid/widget/ImageView;->getTop()I
  528.  
  529. move-result v1
  530.  
  531. iget v2, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicatorWidth:I
  532.  
  533. iget-object v3, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicator:Landroid/widget/ImageView;
  534.  
  535. invoke-virtual {v3}, Landroid/widget/ImageView;->getBottom()I
  536.  
  537. move-result v3
  538.  
  539. invoke-virtual {p1, v0, v1, v2, v3}, Landroid/graphics/Canvas;->clipRect(IIII)Z
  540.  
  541. .line 231
  542. iget-object v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicator:Landroid/widget/ImageView;
  543.  
  544. invoke-virtual {v0, p1}, Landroid/widget/ImageView;->draw(Landroid/graphics/Canvas;)V
  545.  
  546. .line 232
  547. invoke-virtual {p1}, Landroid/graphics/Canvas;->restore()V
  548.  
  549. .line 234
  550. :cond_0
  551. invoke-super {p0, p1}, Landroid/widget/FrameLayout;->onDraw(Landroid/graphics/Canvas;)V
  552.  
  553. .line 235
  554. return-void
  555. .end method
  556.  
  557. .method protected onFinishInflate()V
  558. .locals 4
  559.  
  560. .prologue
  561. const/4 v3, 0x0
  562.  
  563. .line 61
  564. invoke-super {p0}, Landroid/widget/FrameLayout;->onFinishInflate()V
  565.  
  566. .line 62
  567. iget-object v1, p0, Lcom/android/systemui/statusbar/StatusBarView;->mContext:Landroid/content/Context;
  568.  
  569. const-string v2, "power"
  570.  
  571. invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
  572.  
  573. move-result-object v0
  574.  
  575. check-cast v0, Landroid/os/PowerManager;
  576.  
  577. .line 78
  578. .local v0, powerManager:Landroid/os/PowerManager;
  579. invoke-virtual {v0}, Landroid/os/PowerManager;->isScreenOn()Z
  580.  
  581. move-result v1
  582.  
  583. iput-boolean v1, p0, Lcom/android/systemui/statusbar/StatusBarView;->mScreenIsOn:Z
  584.  
  585. const v0, 0x7f0a0019
  586.  
  587. invoke-virtual {p0, v0}, Lcom/android/systemui/statusbar/StatusBarView;->findViewById(I)Landroid/view/View;
  588.  
  589. move-result-object v0
  590.  
  591. check-cast v0, Landroid/view/ViewGroup;
  592.  
  593. iput-object v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mNotificationIcons:Landroid/view/ViewGroup;
  594.  
  595. .line 63
  596. const v0, 0x7f0a001a
  597.  
  598. invoke-virtual {p0, v0}, Lcom/android/systemui/statusbar/StatusBarView;->findViewById(I)Landroid/view/View;
  599.  
  600. move-result-object v0
  601.  
  602. check-cast v0, Landroid/view/ViewGroup;
  603.  
  604. iput-object v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mStatusIcons:Landroid/view/ViewGroup;
  605.  
  606. new-instance v1, Landroid/widget/ImageView;
  607.  
  608. iget-object v2, p0, Lcom/android/systemui/statusbar/StatusBarView;->mContext:Landroid/content/Context;
  609.  
  610. invoke-direct {v1, v2}, Landroid/widget/ImageView;-><init>(Landroid/content/Context;)V
  611.  
  612. iput-object v1, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicator:Landroid/widget/ImageView;
  613.  
  614. iget-object v1, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicator:Landroid/widget/ImageView;
  615.  
  616. sget-object v2, Landroid/widget/ImageView$ScaleType;->FIT_XY:Landroid/widget/ImageView$ScaleType;
  617.  
  618. invoke-virtual {v1, v2}, Landroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V
  619.  
  620. iget-object v1, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicator:Landroid/widget/ImageView;
  621.  
  622. invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  623.  
  624. move-result-object v2
  625.  
  626. invoke-virtual {v1, v2}, Landroid/widget/ImageView;->setTag(Ljava/lang/Object;)V
  627.  
  628. const v1, 0x7f0a0097
  629.  
  630. invoke-virtual {p0, v1}, Lcom/android/systemui/statusbar/StatusBarView;->findViewById(I)Landroid/view/View;
  631.  
  632. move-result-object v1
  633.  
  634. check-cast v1, Landroid/widget/ImageView;
  635.  
  636. iput-object v1, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicatorCharging:Landroid/widget/ImageView;
  637.  
  638. iget-object v1, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicatorCharging:Landroid/widget/ImageView;
  639.  
  640. invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  641.  
  642. move-result-object v2
  643.  
  644. invoke-virtual {v1, v2}, Landroid/widget/ImageView;->setTag(Ljava/lang/Object;)V
  645.  
  646. invoke-direct {p0}, Lcom/android/systemui/statusbar/StatusBarView;->updateBatterySettings()V
  647.  
  648. .line 90
  649. new-instance v1, Lcom/android/systemui/statusbar/StatusBarView$2;
  650.  
  651. new-instance v2, Landroid/os/Handler;
  652.  
  653. invoke-direct {v2}, Landroid/os/Handler;-><init>()V
  654.  
  655. invoke-direct {v1, p0, v2}, Lcom/android/systemui/statusbar/StatusBarView$2;-><init>(Lcom/android/systemui/statusbar/StatusBarView;Landroid/os/Handler;)V
  656.  
  657. iput-object v1, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryStyleChangeObserver:Landroid/database/ContentObserver;
  658.  
  659. .line 64
  660. const v0, 0x7f0a0021
  661.  
  662. invoke-virtual {p0, v0}, Lcom/android/systemui/statusbar/StatusBarView;->findViewById(I)Landroid/view/View;
  663.  
  664. move-result-object v0
  665.  
  666. iput-object v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mDate:Landroid/view/View;
  667.  
  668. .line 66
  669. new-instance v0, Lcom/android/systemui/statusbar/FixedSizeDrawable;
  670.  
  671. iget-object v1, p0, Lcom/android/systemui/statusbar/StatusBarView;->mDate:Landroid/view/View;
  672.  
  673. invoke-virtual {v1}, Landroid/view/View;->getBackground()Landroid/graphics/drawable/Drawable;
  674.  
  675. move-result-object v1
  676.  
  677. invoke-direct {v0, v1}, Lcom/android/systemui/statusbar/FixedSizeDrawable;-><init>(Landroid/graphics/drawable/Drawable;)V
  678.  
  679. iput-object v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBackground:Lcom/android/systemui/statusbar/FixedSizeDrawable;
  680.  
  681. .line 67
  682. iget-object v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBackground:Lcom/android/systemui/statusbar/FixedSizeDrawable;
  683.  
  684. invoke-virtual {v0, v3, v3, v3, v3}, Lcom/android/systemui/statusbar/FixedSizeDrawable;->setFixedBounds(IIII)V
  685.  
  686. .line 68
  687. iget-object v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mDate:Landroid/view/View;
  688.  
  689. iget-object v1, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBackground:Lcom/android/systemui/statusbar/FixedSizeDrawable;
  690.  
  691. invoke-virtual {v0, v1}, Landroid/view/View;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
  692.  
  693. .line 71
  694. const v0, 0x7f0a0018
  695.  
  696. invoke-virtual {p0, v0}, Lcom/android/systemui/statusbar/StatusBarView;->findViewById(I)Landroid/view/View;
  697.  
  698. move-result-object v0
  699.  
  700. check-cast v0, Landroid/view/ViewGroup;
  701.  
  702. iput-object v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mStatusBarLayout:Landroid/view/ViewGroup;
  703.  
  704. .line 72
  705. return-void
  706. .end method
  707.  
  708. .method public onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
  709. .locals 1
  710. .parameter "event"
  711.  
  712. .prologue
  713. .line 162
  714. iget-object v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mService:Lcom/android/systemui/statusbar/StatusBarService;
  715.  
  716. invoke-virtual {v0, p1}, Lcom/android/systemui/statusbar/StatusBarService;->interceptTouchEvent(Landroid/view/MotionEvent;)Z
  717.  
  718. move-result v0
  719.  
  720. if-eqz v0, :cond_0
  721.  
  722. const/4 v0, 0x1
  723.  
  724. :goto_0
  725. return v0
  726.  
  727. :cond_0
  728. invoke-super {p0, p1}, Landroid/widget/FrameLayout;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
  729.  
  730. move-result v0
  731.  
  732. goto :goto_0
  733. .end method
  734.  
  735. .method protected onLayout(ZIIII)V
  736. .locals 9
  737. .parameter "changed"
  738. .parameter "l"
  739. .parameter "t"
  740. .parameter "r"
  741. .parameter "b"
  742.  
  743. .prologue
  744. .line 88
  745. invoke-super/range {p0 .. p5}, Landroid/widget/FrameLayout;->onLayout(ZIIII)V
  746.  
  747. .line 91
  748. iget-object v4, p0, Lcom/android/systemui/statusbar/StatusBarView;->mDate:Landroid/view/View;
  749.  
  750. invoke-virtual {v4}, Landroid/view/View;->getRight()I
  751.  
  752. move-result v3
  753.  
  754. .line 94
  755. .local v3, oldDateRight:I
  756. iget-object v4, p0, Lcom/android/systemui/statusbar/StatusBarView;->mNotificationIcons:Landroid/view/ViewGroup;
  757.  
  758. iget-object v5, p0, Lcom/android/systemui/statusbar/StatusBarView;->mNotificationIcons:Landroid/view/ViewGroup;
  759.  
  760. invoke-direct {p0, v5}, Lcom/android/systemui/statusbar/StatusBarView;->getViewOffset(Landroid/view/View;)I
  761.  
  762. move-result v5
  763.  
  764. invoke-direct {p0, v4, v3, v5}, Lcom/android/systemui/statusbar/StatusBarView;->getDateSize(Landroid/view/ViewGroup;II)I
  765.  
  766. move-result v1
  767.  
  768. .line 96
  769. .local v1, newDateRight:I
  770. if-gez v1, :cond_0
  771.  
  772. .line 97
  773. iget-object v4, p0, Lcom/android/systemui/statusbar/StatusBarView;->mStatusIcons:Landroid/view/ViewGroup;
  774.  
  775. invoke-direct {p0, v4}, Lcom/android/systemui/statusbar/StatusBarView;->getViewOffset(Landroid/view/View;)I
  776.  
  777. move-result v2
  778.  
  779. .line 98
  780. .local v2, offset:I
  781. if-ge v3, v2, :cond_2
  782.  
  783. .line 99
  784. move v1, v3
  785.  
  786. .line 107
  787. .end local v2 #offset:I
  788. :cond_0
  789. :goto_0
  790. invoke-virtual {p0}, Lcom/android/systemui/statusbar/StatusBarView;->getPaddingRight()I
  791.  
  792. move-result v4
  793.  
  794. sub-int v0, p4, v4
  795.  
  796. .line 108
  797. .local v0, max:I
  798. if-le v1, v0, :cond_1
  799.  
  800. .line 109
  801. move v1, v0
  802.  
  803. .line 112
  804. :cond_1
  805. iget-object v4, p0, Lcom/android/systemui/statusbar/StatusBarView;->mDate:Landroid/view/View;
  806.  
  807. iget-object v5, p0, Lcom/android/systemui/statusbar/StatusBarView;->mDate:Landroid/view/View;
  808.  
  809. invoke-virtual {v5}, Landroid/view/View;->getLeft()I
  810.  
  811. move-result v5
  812.  
  813. iget-object v6, p0, Lcom/android/systemui/statusbar/StatusBarView;->mDate:Landroid/view/View;
  814.  
  815. invoke-virtual {v6}, Landroid/view/View;->getTop()I
  816.  
  817. move-result v6
  818.  
  819. iget-object v7, p0, Lcom/android/systemui/statusbar/StatusBarView;->mDate:Landroid/view/View;
  820.  
  821. invoke-virtual {v7}, Landroid/view/View;->getBottom()I
  822.  
  823. move-result v7
  824.  
  825. invoke-virtual {v4, v5, v6, v1, v7}, Landroid/view/View;->layout(IIII)V
  826.  
  827. .line 113
  828. iget-object v4, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBackground:Lcom/android/systemui/statusbar/FixedSizeDrawable;
  829.  
  830. iget-object v5, p0, Lcom/android/systemui/statusbar/StatusBarView;->mDate:Landroid/view/View;
  831.  
  832. invoke-virtual {v5}, Landroid/view/View;->getLeft()I
  833.  
  834. move-result v5
  835.  
  836. neg-int v5, v5
  837.  
  838. iget-object v6, p0, Lcom/android/systemui/statusbar/StatusBarView;->mDate:Landroid/view/View;
  839.  
  840. invoke-virtual {v6}, Landroid/view/View;->getTop()I
  841.  
  842. move-result v6
  843.  
  844. neg-int v6, v6
  845.  
  846. sub-int v7, p4, p2
  847.  
  848. sub-int v8, p5, p3
  849.  
  850. invoke-virtual {v4, v5, v6, v7, v8}, Lcom/android/systemui/statusbar/FixedSizeDrawable;->setFixedBounds(IIII)V
  851.  
  852. .line 114
  853. goto :goto_1
  854.  
  855. .line 101
  856. .end local v0 #max:I
  857. .restart local v2 #offset:I
  858. :cond_2
  859. iget-object v4, p0, Lcom/android/systemui/statusbar/StatusBarView;->mStatusIcons:Landroid/view/ViewGroup;
  860.  
  861. invoke-direct {p0, v4, v3, v2}, Lcom/android/systemui/statusbar/StatusBarView;->getDateSize(Landroid/view/ViewGroup;II)I
  862.  
  863. move-result v1
  864.  
  865. .line 102
  866. if-gez v1, :cond_0
  867.  
  868. .line 103
  869. move v1, p4
  870.  
  871. goto :goto_0
  872.  
  873. :goto_1
  874. const/4 v4, 0x0
  875.  
  876. iget-boolean v3, p0, Lcom/android/systemui/statusbar/StatusBarView;->mShowBatteryIndicator:Z
  877.  
  878. if-eqz v3, :cond_5
  879.  
  880. iget-object v3, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicator:Landroid/widget/ImageView;
  881.  
  882. invoke-virtual {v3, v4}, Landroid/widget/ImageView;->setVisibility(I)V
  883.  
  884. iget-object v3, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicatorCharging:Landroid/widget/ImageView;
  885.  
  886. invoke-virtual {v3, v4}, Landroid/widget/ImageView;->setVisibility(I)V
  887.  
  888. iget-object v3, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicator:Landroid/widget/ImageView;
  889.  
  890. invoke-virtual {v3}, Landroid/widget/ImageView;->getTag()Ljava/lang/Object;
  891.  
  892. move-result-object v3
  893.  
  894. check-cast v3, Ljava/lang/Integer;
  895.  
  896. invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
  897.  
  898. move-result v2
  899.  
  900. .local v2, batteryLevel:I
  901. sub-int v3, p4, p2
  902.  
  903. mul-int/2addr v3, v2
  904.  
  905. div-int/lit8 v3, v3, 0x64
  906.  
  907. iput v3, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicatorWidth:I
  908.  
  909. iget-object v3, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicatorCharging:Landroid/widget/ImageView;
  910.  
  911. iget-object v4, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicatorCharging:Landroid/widget/ImageView;
  912.  
  913. invoke-virtual {v4}, Landroid/widget/ImageView;->getMeasuredWidth()I
  914.  
  915. move-result v4
  916.  
  917. add-int/2addr v4, p4
  918.  
  919. iget-object v5, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicatorCharging:Landroid/widget/ImageView;
  920.  
  921. invoke-virtual {v5}, Landroid/widget/ImageView;->getMeasuredHeight()I
  922.  
  923. move-result v5
  924.  
  925. add-int/2addr v5, p3
  926.  
  927. invoke-virtual {v3, p4, p3, v4, v5}, Landroid/widget/ImageView;->layout(IIII)V
  928.  
  929. const v1, 0x7f0200da
  930.  
  931. .local v1, batteryIndicatorDrawableId:I
  932. iget-boolean v3, p0, Lcom/android/systemui/statusbar/StatusBarView;->mScreenIsOn:Z
  933.  
  934. if-eqz v3, :cond_4
  935.  
  936. const v4, 0x10802d9
  937.  
  938. iget-object v3, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicatorCharging:Landroid/widget/ImageView;
  939.  
  940. invoke-virtual {v3}, Landroid/widget/ImageView;->getTag()Ljava/lang/Object;
  941.  
  942. move-result-object v3
  943.  
  944. check-cast v3, Ljava/lang/Integer;
  945.  
  946. invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
  947.  
  948. move-result v3
  949.  
  950. if-ne v4, v3, :cond_4
  951.  
  952. new-instance v0, Landroid/view/animation/TranslateAnimation;
  953.  
  954. iget v3, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicatorWidth:I
  955.  
  956. sub-int v4, p4, p2
  957.  
  958. sub-int/2addr v3, v4
  959.  
  960. int-to-float v3, v3
  961.  
  962. invoke-direct {v0, v6, v3, v6, v6}, Landroid/view/animation/TranslateAnimation;-><init>(FFFF)V
  963.  
  964. .local v0, animation:Landroid/view/animation/TranslateAnimation;
  965. const-wide/16 v3, 0x5dc
  966.  
  967. invoke-virtual {v0, v3, v4}, Landroid/view/animation/TranslateAnimation;->setDuration(J)V
  968.  
  969. const-wide/16 v3, 0xdac
  970.  
  971. invoke-virtual {v0, v3, v4}, Landroid/view/animation/TranslateAnimation;->setStartOffset(J)V
  972.  
  973. const/4 v3, -0x1
  974.  
  975. invoke-virtual {v0, v3}, Landroid/view/animation/TranslateAnimation;->setRepeatCount(I)V
  976.  
  977. const/4 v3, 0x1
  978.  
  979. invoke-virtual {v0, v3}, Landroid/view/animation/TranslateAnimation;->setRepeatMode(I)V
  980.  
  981. iget-object v3, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicatorCharging:Landroid/widget/ImageView;
  982.  
  983. invoke-virtual {v3, v0}, Landroid/widget/ImageView;->startAnimation(Landroid/view/animation/Animation;)V
  984.  
  985. .end local v0 #animation:Landroid/view/animation/TranslateAnimation;
  986. :cond_3
  987. :goto_2
  988. iget-object v3, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicator:Landroid/widget/ImageView;
  989.  
  990. invoke-virtual {v3, v1}, Landroid/widget/ImageView;->setImageResource(I)V
  991.  
  992. iget-object v3, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicator:Landroid/widget/ImageView;
  993.  
  994. iget-object v4, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicator:Landroid/widget/ImageView;
  995.  
  996. invoke-virtual {v4}, Landroid/widget/ImageView;->getDrawable()Landroid/graphics/drawable/Drawable;
  997.  
  998. move-result-object v4
  999.  
  1000. invoke-virtual {v4}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I
  1001.  
  1002. move-result v4
  1003.  
  1004. add-int/2addr v4, p3
  1005.  
  1006. invoke-virtual {v3, p2, p3, p4, v4}, Landroid/widget/ImageView;->layout(IIII)V
  1007.  
  1008. .end local v1 #batteryIndicatorDrawableId:I
  1009. .end local v2 #batteryLevel:I
  1010. :goto_3
  1011. return-void
  1012.  
  1013. .restart local v1 #batteryIndicatorDrawableId:I
  1014. .restart local v2 #batteryLevel:I
  1015. :cond_4
  1016. iget-object v3, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicatorCharging:Landroid/widget/ImageView;
  1017.  
  1018. invoke-virtual {v3}, Landroid/widget/ImageView;->clearAnimation()V
  1019.  
  1020. iget v3, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryLowLevel:I
  1021.  
  1022. if-ge v2, v3, :cond_3
  1023.  
  1024. const v1, 0x7f0200dc
  1025.  
  1026. goto :goto_2
  1027.  
  1028. .end local v1 #batteryIndicatorDrawableId:I
  1029. .end local v2 #batteryLevel:I
  1030. :cond_5
  1031. const/16 v5, 0x8
  1032.  
  1033. iget-object v3, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicator:Landroid/widget/ImageView;
  1034.  
  1035. invoke-virtual {v3, v5}, Landroid/widget/ImageView;->setVisibility(I)V
  1036.  
  1037. iget-object v3, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicatorCharging:Landroid/widget/ImageView;
  1038.  
  1039. invoke-virtual {v3, v5}, Landroid/widget/ImageView;->setVisibility(I)V
  1040.  
  1041. iget-object v3, p0, Lcom/android/systemui/statusbar/StatusBarView;->mBatteryIndicatorCharging:Landroid/widget/ImageView;
  1042.  
  1043. invoke-virtual {v3}, Landroid/widget/ImageView;->clearAnimation()V
  1044.  
  1045. goto :goto_3
  1046. .end method
  1047.  
  1048. .method protected onSizeChanged(IIII)V
  1049. .locals 2
  1050. .parameter "w"
  1051. .parameter "h"
  1052. .parameter "oldw"
  1053. .parameter "oldh"
  1054.  
  1055. .prologue
  1056. .line 82
  1057. invoke-super {p0, p1, p2, p3, p4}, Landroid/widget/FrameLayout;->onSizeChanged(IIII)V
  1058.  
  1059. .line 83
  1060. iget-object v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mService:Lcom/android/systemui/statusbar/StatusBarService;
  1061.  
  1062. const/16 v1, -0x2710
  1063.  
  1064. invoke-virtual {v0, v1}, Lcom/android/systemui/statusbar/StatusBarService;->updateExpandedViewPos(I)V
  1065.  
  1066. .line 84
  1067. return-void
  1068. .end method
  1069.  
  1070. .method public onTouchEvent(Landroid/view/MotionEvent;)Z
  1071. .locals 1
  1072. .parameter "event"
  1073.  
  1074. .prologue
  1075. .line 154
  1076. invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
  1077.  
  1078. move-result v0
  1079.  
  1080. if-eqz v0, :cond_0
  1081.  
  1082. .line 155
  1083. iget-object v0, p0, Lcom/android/systemui/statusbar/StatusBarView;->mService:Lcom/android/systemui/statusbar/StatusBarService;
  1084.  
  1085. invoke-virtual {v0, p1}, Lcom/android/systemui/statusbar/StatusBarService;->interceptTouchEvent(Landroid/view/MotionEvent;)Z
  1086.  
  1087. .line 157
  1088. :cond_0
  1089. const/4 v0, 0x1
  1090.  
  1091. return v0
  1092. .end method
Add Comment
Please, Sign In to add comment