Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2014
327
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 202.37 KB | None | 0 0
  1. .class public Lcom/android/internal/widget/multiwaveview/GlowPadView;
  2. .super Landroid/view/View;
  3. .source "GlowPadView.java"
  4.  
  5.  
  6. # annotations
  7. .annotation system Ldalvik/annotation/MemberClasses;
  8. value = {
  9. Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;,
  10. Lcom/android/internal/widget/multiwaveview/GlowPadView$OnTriggerListener;
  11. }
  12. .end annotation
  13.  
  14.  
  15. # static fields
  16. .field private static final DEBUG:Z = false
  17.  
  18. .field private static final HANDLE_TEXT_RADIUS:F = 120.0f
  19.  
  20. .field private static final HIDE_ANIMATION_DELAY:I = 0xc8
  21.  
  22. .field private static final HIDE_ANIMATION_DURATION:I = 0xc8
  23.  
  24. .field private static final INITIAL_SHOW_HANDLE_DURATION:I = 0xc8
  25.  
  26. .field private static final MAX_TEXT_ARC_RADIANS:F = 4.9895883f
  27.  
  28. .field private static final RETURN_TO_HOME_DELAY:I = 0x4b0
  29.  
  30. .field private static final RETURN_TO_HOME_DURATION:I = 0xc8
  31.  
  32. .field private static final REVEAL_GLOW_DELAY:I = 0x0
  33.  
  34. .field private static final REVEAL_GLOW_DURATION:I = 0x0
  35.  
  36. .field private static final RING_SCALE_COLLAPSED:F = 0.5f
  37.  
  38. .field private static final RING_SCALE_EXPANDED:F = 1.0f
  39.  
  40. .field private static final SHOW_ANIMATION_DELAY:I = 0x32
  41.  
  42. .field private static final SHOW_ANIMATION_DURATION:I = 0xc8
  43.  
  44. .field private static final SNAP_MARGIN_DEFAULT:F = 20.0f
  45.  
  46. .field private static final STATE_FINISH:I = 0x5
  47.  
  48. .field private static final STATE_FIRST_TOUCH:I = 0x2
  49.  
  50. .field private static final STATE_IDLE:I = 0x0
  51.  
  52. .field private static final STATE_SNAP:I = 0x4
  53.  
  54. .field private static final STATE_START:I = 0x1
  55.  
  56. .field private static final STATE_TRACKING:I = 0x3
  57.  
  58. .field private static final TAG:Ljava/lang/String; = "GlowPadView"
  59.  
  60. .field private static final TAP_RADIUS_SCALE_ACCESSIBILITY_ENABLED:F = 1.3f
  61.  
  62. .field private static final TARGET_SCALE_COLLAPSED:F = 0.8f
  63.  
  64. .field private static final TARGET_SCALE_EXPANDED:F = 1.0f
  65.  
  66. .field private static final WAVE_ANIMATION_DURATION:I = 0x3e8
  67.  
  68.  
  69. # instance fields
  70. .field private mActiveTarget:I
  71.  
  72. .field private mAllowScaling:Z
  73.  
  74. .field private mAlwaysTrackFinger:Z
  75.  
  76. .field private mAnimatingTargets:Z
  77.  
  78. .field private mArcAngle:F
  79.  
  80. .field private mArcPaint:Landroid/graphics/Paint;
  81.  
  82. .field private mArcRect:Landroid/graphics/RectF;
  83.  
  84. .field private mBackgroundAnimator:Lcom/android/internal/widget/multiwaveview/Tweener;
  85.  
  86. .field private mDirectionDescriptions:Ljava/util/ArrayList;
  87. .annotation system Ldalvik/annotation/Signature;
  88. value = {
  89. "Ljava/util/ArrayList",
  90. "<",
  91. "Ljava/lang/String;",
  92. ">;"
  93. }
  94. .end annotation
  95. .end field
  96.  
  97. .field private mDirectionDescriptionsResourceId:I
  98.  
  99. .field private mDragging:Z
  100.  
  101. .field private mDrawOuterRing:Z
  102.  
  103. .field private mFeedbackCount:I
  104.  
  105. .field private mFirstItemOffset:F
  106.  
  107. .field private mGlowAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  108.  
  109. .field private mGlowRadius:F
  110.  
  111. .field private mGrabbedState:I
  112.  
  113. .field private mGravity:I
  114.  
  115. .field private mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  116.  
  117. .field private mHandleText:Ljava/lang/String;
  118.  
  119. .field private mHorizontalInset:I
  120.  
  121. .field private mInitialLayout:Z
  122.  
  123. .field private mInnerRadius:F
  124.  
  125. .field private mMagneticTargets:Z
  126.  
  127. .field private mMaxTargetHeight:I
  128.  
  129. .field private mMaxTargetWidth:I
  130.  
  131. .field private mMaxTextArcLength:F
  132.  
  133. .field private mNewTargetDrawables:Ljava/util/ArrayList;
  134. .annotation system Ldalvik/annotation/Signature;
  135. value = {
  136. "Ljava/util/ArrayList",
  137. "<",
  138. "Lcom/android/internal/widget/multiwaveview/TargetDrawable;",
  139. ">;"
  140. }
  141. .end annotation
  142. .end field
  143.  
  144. .field private mNewTargetResources:I
  145.  
  146. .field private mOnTriggerListener:Lcom/android/internal/widget/multiwaveview/GlowPadView$OnTriggerListener;
  147.  
  148. .field private mOuterRadius:F
  149.  
  150. .field private mOuterRing:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  151.  
  152. .field private mPaintText:Landroid/graphics/Paint;
  153.  
  154. .field private mPointCloud:Lcom/android/internal/widget/multiwaveview/PointCloud;
  155.  
  156. .field private mPointerId:I
  157.  
  158. .field private mResetListener:Landroid/animation/Animator$AnimatorListener;
  159.  
  160. .field private mResetListenerWithPing:Landroid/animation/Animator$AnimatorListener;
  161.  
  162. .field private mRingScaleFactor:F
  163.  
  164. .field private mSnapMargin:F
  165.  
  166. .field private mTargetAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  167.  
  168. .field private mTargetDescriptions:Ljava/util/ArrayList;
  169. .annotation system Ldalvik/annotation/Signature;
  170. value = {
  171. "Ljava/util/ArrayList",
  172. "<",
  173. "Ljava/lang/String;",
  174. ">;"
  175. }
  176. .end annotation
  177. .end field
  178.  
  179. .field private mTargetDescriptionsResourceId:I
  180.  
  181. .field private mTargetDrawables:Ljava/util/ArrayList;
  182. .annotation system Ldalvik/annotation/Signature;
  183. value = {
  184. "Ljava/util/ArrayList",
  185. "<",
  186. "Lcom/android/internal/widget/multiwaveview/TargetDrawable;",
  187. ">;"
  188. }
  189. .end annotation
  190. .end field
  191.  
  192. .field private mTargetResourceId:I
  193.  
  194. .field private mTargetUpdateListener:Landroid/animation/Animator$AnimatorListener;
  195.  
  196. .field private mTextRadius:I
  197.  
  198. .field private mUpdateListener:Landroid/animation/ValueAnimator$AnimatorUpdateListener;
  199.  
  200. .field private mVerticalInset:I
  201.  
  202. .field private mVibrationDuration:I
  203.  
  204. .field private mVibrator:Landroid/os/Vibrator;
  205.  
  206. .field private mWaveAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  207.  
  208. .field private mWaveCenterX:F
  209.  
  210. .field private mWaveCenterY:F
  211.  
  212.  
  213. # direct methods
  214. .method public constructor <init>(Landroid/content/Context;)V
  215. .locals 1
  216. .parameter "context"
  217.  
  218. .prologue
  219. .line 233
  220. const/4 v0, 0x0
  221.  
  222. invoke-direct {p0, p1, v0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
  223.  
  224. .line 234
  225. return-void
  226. .end method
  227.  
  228. .method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
  229. .locals 13
  230. .parameter "context"
  231. .parameter "attrs"
  232.  
  233. .prologue
  234. .line 237
  235. invoke-direct {p0, p1, p2}, Landroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
  236.  
  237. .line 106
  238. new-instance v7, Ljava/util/ArrayList;
  239.  
  240. invoke-direct {v7}, Ljava/util/ArrayList;-><init>()V
  241.  
  242. iput-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  243.  
  244. .line 107
  245. new-instance v7, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  246.  
  247. const/4 v8, 0x0
  248.  
  249. invoke-direct {v7, p0, v8}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;-><init>(Lcom/android/internal/widget/multiwaveview/GlowPadView;Lcom/android/internal/widget/multiwaveview/GlowPadView$1;)V
  250.  
  251. iput-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  252.  
  253. .line 108
  254. new-instance v7, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  255.  
  256. const/4 v8, 0x0
  257.  
  258. invoke-direct {v7, p0, v8}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;-><init>(Lcom/android/internal/widget/multiwaveview/GlowPadView;Lcom/android/internal/widget/multiwaveview/GlowPadView$1;)V
  259.  
  260. iput-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  261.  
  262. .line 109
  263. new-instance v7, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  264.  
  265. const/4 v8, 0x0
  266.  
  267. invoke-direct {v7, p0, v8}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;-><init>(Lcom/android/internal/widget/multiwaveview/GlowPadView;Lcom/android/internal/widget/multiwaveview/GlowPadView$1;)V
  268.  
  269. iput-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mGlowAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  270.  
  271. .line 117
  272. const/4 v7, 0x3
  273.  
  274. iput v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mFeedbackCount:I
  275.  
  276. .line 118
  277. const/4 v7, 0x0
  278.  
  279. iput v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mVibrationDuration:I
  280.  
  281. .line 120
  282. const/4 v7, -0x1
  283.  
  284. iput v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mActiveTarget:I
  285.  
  286. .line 126
  287. const/high16 v7, 0x3f80
  288.  
  289. iput v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mRingScaleFactor:F
  290.  
  291. .line 128
  292. const/4 v7, 0x1
  293.  
  294. iput-boolean v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mDrawOuterRing:Z
  295.  
  296. .line 131
  297. const-string v7, ""
  298.  
  299. iput-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleText:Ljava/lang/String;
  300.  
  301. .line 135
  302. const/4 v7, 0x0
  303.  
  304. iput v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRadius:F
  305.  
  306. .line 136
  307. const/4 v7, 0x0
  308.  
  309. iput v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mSnapMargin:F
  310.  
  311. .line 137
  312. const/4 v7, 0x0
  313.  
  314. iput v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mFirstItemOffset:F
  315.  
  316. .line 138
  317. const/4 v7, 0x0
  318.  
  319. iput-boolean v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMagneticTargets:Z
  320.  
  321. .line 145
  322. const/4 v7, 0x0
  323.  
  324. iput v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mArcAngle:F
  325.  
  326. .line 183
  327. new-instance v7, Lcom/android/internal/widget/multiwaveview/GlowPadView$1;
  328.  
  329. invoke-direct {v7, p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView$1;-><init>(Lcom/android/internal/widget/multiwaveview/GlowPadView;)V
  330.  
  331. iput-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mResetListener:Landroid/animation/Animator$AnimatorListener;
  332.  
  333. .line 190
  334. new-instance v7, Lcom/android/internal/widget/multiwaveview/GlowPadView$2;
  335.  
  336. invoke-direct {v7, p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView$2;-><init>(Lcom/android/internal/widget/multiwaveview/GlowPadView;)V
  337.  
  338. iput-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mResetListenerWithPing:Landroid/animation/Animator$AnimatorListener;
  339.  
  340. .line 198
  341. new-instance v7, Lcom/android/internal/widget/multiwaveview/GlowPadView$3;
  342.  
  343. invoke-direct {v7, p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView$3;-><init>(Lcom/android/internal/widget/multiwaveview/GlowPadView;)V
  344.  
  345. iput-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mUpdateListener:Landroid/animation/ValueAnimator$AnimatorUpdateListener;
  346.  
  347. .line 205
  348. new-instance v7, Lcom/android/internal/widget/multiwaveview/GlowPadView$4;
  349.  
  350. invoke-direct {v7, p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView$4;-><init>(Lcom/android/internal/widget/multiwaveview/GlowPadView;)V
  351.  
  352. iput-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetUpdateListener:Landroid/animation/Animator$AnimatorListener;
  353.  
  354. .line 225
  355. const/16 v7, 0x30
  356.  
  357. iput v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mGravity:I
  358.  
  359. .line 226
  360. const/4 v7, 0x1
  361.  
  362. iput-boolean v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mInitialLayout:Z
  363.  
  364. .line 238
  365. invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
  366.  
  367. move-result-object v5
  368.  
  369. .line 240
  370. .local v5, res:Landroid/content/res/Resources;
  371. sget-object v7, Lcom/android/internal/R$styleable;->GlowPadView:[I
  372.  
  373. invoke-virtual {p1, p2, v7}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;
  374.  
  375. move-result-object v0
  376.  
  377. .line 241
  378. .local v0, a:Landroid/content/res/TypedArray;
  379. const/4 v7, 0x1
  380.  
  381. iget v8, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mInnerRadius:F
  382.  
  383. invoke-virtual {v0, v7, v8}, Landroid/content/res/TypedArray;->getDimension(IF)F
  384.  
  385. move-result v7
  386.  
  387. iput v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mInnerRadius:F
  388.  
  389. .line 242
  390. const/16 v7, 0xc
  391.  
  392. iget v8, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRadius:F
  393.  
  394. invoke-virtual {v0, v7, v8}, Landroid/content/res/TypedArray;->getDimension(IF)F
  395.  
  396. move-result v7
  397.  
  398. iput v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRadius:F
  399.  
  400. .line 243
  401. const/16 v7, 0xe
  402.  
  403. iget v8, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mSnapMargin:F
  404.  
  405. invoke-virtual {v0, v7, v8}, Landroid/content/res/TypedArray;->getDimension(IF)F
  406.  
  407. move-result v7
  408.  
  409. iput v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mSnapMargin:F
  410.  
  411. .line 244
  412. const/4 v7, 0x7
  413.  
  414. iget v8, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mFirstItemOffset:F
  415.  
  416. float-to-double v8, v8
  417.  
  418. invoke-static {v8, v9}, Ljava/lang/Math;->toDegrees(D)D
  419.  
  420. move-result-wide v8
  421.  
  422. double-to-float v8, v8
  423.  
  424. invoke-virtual {v0, v7, v8}, Landroid/content/res/TypedArray;->getFloat(IF)F
  425.  
  426. move-result v7
  427.  
  428. float-to-double v7, v7
  429.  
  430. invoke-static {v7, v8}, Ljava/lang/Math;->toRadians(D)D
  431.  
  432. move-result-wide v7
  433.  
  434. double-to-float v7, v7
  435.  
  436. iput v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mFirstItemOffset:F
  437.  
  438. .line 247
  439. const/16 v7, 0xd
  440.  
  441. iget v8, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mVibrationDuration:I
  442.  
  443. invoke-virtual {v0, v7, v8}, Landroid/content/res/TypedArray;->getInt(II)I
  444.  
  445. move-result v7
  446.  
  447. iput v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mVibrationDuration:I
  448.  
  449. .line 249
  450. const/16 v7, 0xf
  451.  
  452. iget v8, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mFeedbackCount:I
  453.  
  454. invoke-virtual {v0, v7, v8}, Landroid/content/res/TypedArray;->getInt(II)I
  455.  
  456. move-result v7
  457.  
  458. iput v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mFeedbackCount:I
  459.  
  460. .line 251
  461. const/16 v7, 0x9
  462.  
  463. const/4 v8, 0x0
  464.  
  465. invoke-virtual {v0, v7, v8}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
  466.  
  467. move-result v7
  468.  
  469. iput-boolean v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mAllowScaling:Z
  470.  
  471. .line 252
  472. const/16 v7, 0xb
  473.  
  474. invoke-virtual {v0, v7}, Landroid/content/res/TypedArray;->peekValue(I)Landroid/util/TypedValue;
  475.  
  476. move-result-object v1
  477.  
  478. .line 253
  479. .local v1, handle:Landroid/util/TypedValue;
  480. new-instance v8, Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  481.  
  482. if-eqz v1, :cond_1
  483.  
  484. iget v7, v1, Landroid/util/TypedValue;->resourceId:I
  485.  
  486. :goto_0
  487. invoke-direct {v8, v5, v7}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;-><init>(Landroid/content/res/Resources;I)V
  488.  
  489. iput-object v8, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  490.  
  491. .line 254
  492. iget-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  493.  
  494. sget-object v8, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->STATE_INACTIVE:[I
  495.  
  496. invoke-virtual {v7, v8}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->setState([I)V
  497.  
  498. .line 255
  499. new-instance v7, Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  500.  
  501. const/4 v8, 0x4
  502.  
  503. invoke-direct {p0, v0, v8}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->getResourceId(Landroid/content/res/TypedArray;I)I
  504.  
  505. move-result v8
  506.  
  507. invoke-direct {v7, v5, v8}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;-><init>(Landroid/content/res/Resources;I)V
  508.  
  509. iput-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRing:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  510.  
  511. .line 258
  512. const/16 v7, 0x10
  513.  
  514. const/4 v8, 0x0
  515.  
  516. invoke-virtual {v0, v7, v8}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
  517.  
  518. move-result v7
  519.  
  520. iput-boolean v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mAlwaysTrackFinger:Z
  521.  
  522. .line 259
  523. const/16 v7, 0x8
  524.  
  525. iget-boolean v8, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMagneticTargets:Z
  526.  
  527. invoke-virtual {v0, v7, v8}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
  528.  
  529. move-result v7
  530.  
  531. iput-boolean v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMagneticTargets:Z
  532.  
  533. .line 261
  534. const/4 v7, 0x5
  535.  
  536. invoke-direct {p0, v0, v7}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->getResourceId(Landroid/content/res/TypedArray;I)I
  537.  
  538. move-result v4
  539.  
  540. .line 262
  541. .local v4, pointId:I
  542. if-eqz v4, :cond_2
  543.  
  544. invoke-virtual {v5, v4}, Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable;
  545.  
  546. move-result-object v3
  547.  
  548. .line 263
  549. .local v3, pointDrawable:Landroid/graphics/drawable/Drawable;
  550. :goto_1
  551. const/4 v7, 0x6
  552.  
  553. const/4 v8, 0x0
  554.  
  555. invoke-virtual {v0, v7, v8}, Landroid/content/res/TypedArray;->getDimension(IF)F
  556.  
  557. move-result v7
  558.  
  559. iput v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mGlowRadius:F
  560.  
  561. .line 265
  562. new-instance v2, Landroid/util/TypedValue;
  563.  
  564. invoke-direct {v2}, Landroid/util/TypedValue;-><init>()V
  565.  
  566. .line 268
  567. .local v2, outValue:Landroid/util/TypedValue;
  568. const/16 v7, 0xa
  569.  
  570. invoke-virtual {v0, v7, v2}, Landroid/content/res/TypedArray;->getValue(ILandroid/util/TypedValue;)Z
  571.  
  572. move-result v7
  573.  
  574. if-eqz v7, :cond_0
  575.  
  576. .line 269
  577. iget v7, v2, Landroid/util/TypedValue;->resourceId:I
  578.  
  579. invoke-direct {p0, v7}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->internalSetTargetResources(I)V
  580.  
  581. .line 273
  582. :cond_0
  583. const/4 v7, 0x2
  584.  
  585. invoke-virtual {v0, v7, v2}, Landroid/content/res/TypedArray;->getValue(ILandroid/util/TypedValue;)Z
  586.  
  587. move-result v7
  588.  
  589. if-eqz v7, :cond_4
  590.  
  591. .line 274
  592. iget v6, v2, Landroid/util/TypedValue;->resourceId:I
  593.  
  594. .line 275
  595. .local v6, resourceId:I
  596. if-nez v6, :cond_3
  597.  
  598. .line 276
  599. new-instance v7, Ljava/lang/IllegalStateException;
  600.  
  601. const-string v8, "Must specify target descriptions"
  602.  
  603. invoke-direct {v7, v8}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
  604.  
  605. throw v7
  606.  
  607. .line 253
  608. .end local v2 #outValue:Landroid/util/TypedValue;
  609. .end local v3 #pointDrawable:Landroid/graphics/drawable/Drawable;
  610. .end local v4 #pointId:I
  611. .end local v6 #resourceId:I
  612. :cond_1
  613. const/4 v7, 0x0
  614.  
  615. goto :goto_0
  616.  
  617. .line 262
  618. .restart local v4 #pointId:I
  619. :cond_2
  620. const/4 v3, 0x0
  621.  
  622. goto :goto_1
  623.  
  624. .line 278
  625. .restart local v2 #outValue:Landroid/util/TypedValue;
  626. .restart local v3 #pointDrawable:Landroid/graphics/drawable/Drawable;
  627. .restart local v6 #resourceId:I
  628. :cond_3
  629. invoke-virtual {p0, v6}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->setTargetDescriptionsResourceId(I)V
  630.  
  631. .line 282
  632. .end local v6 #resourceId:I
  633. :cond_4
  634. const/4 v7, 0x3
  635.  
  636. invoke-virtual {v0, v7, v2}, Landroid/content/res/TypedArray;->getValue(ILandroid/util/TypedValue;)Z
  637.  
  638. move-result v7
  639.  
  640. if-eqz v7, :cond_6
  641.  
  642. .line 283
  643. iget v6, v2, Landroid/util/TypedValue;->resourceId:I
  644.  
  645. .line 284
  646. .restart local v6 #resourceId:I
  647. if-nez v6, :cond_5
  648.  
  649. .line 285
  650. new-instance v7, Ljava/lang/IllegalStateException;
  651.  
  652. const-string v8, "Must specify direction descriptions"
  653.  
  654. invoke-direct {v7, v8}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
  655.  
  656. throw v7
  657.  
  658. .line 287
  659. :cond_5
  660. invoke-virtual {p0, v6}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->setDirectionDescriptionsResourceId(I)V
  661.  
  662. .line 290
  663. .end local v6 #resourceId:I
  664. :cond_6
  665. const/4 v7, 0x0
  666.  
  667. const/16 v8, 0x30
  668.  
  669. invoke-virtual {v0, v7, v8}, Landroid/content/res/TypedArray;->getInt(II)I
  670.  
  671. move-result v7
  672.  
  673. iput v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mGravity:I
  674.  
  675. .line 292
  676. invoke-virtual {v0}, Landroid/content/res/TypedArray;->recycle()V
  677.  
  678. .line 294
  679. iget v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mVibrationDuration:I
  680.  
  681. if-lez v7, :cond_7
  682.  
  683. const/4 v7, 0x1
  684.  
  685. :goto_2
  686. invoke-virtual {p0, v7}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->setVibrateEnabled(Z)V
  687.  
  688. .line 296
  689. invoke-direct {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->assignDefaultsIfNeeded()V
  690.  
  691. .line 298
  692. new-instance v7, Lcom/android/internal/widget/multiwaveview/PointCloud;
  693.  
  694. invoke-direct {v7, v3}, Lcom/android/internal/widget/multiwaveview/PointCloud;-><init>(Landroid/graphics/drawable/Drawable;)V
  695.  
  696. iput-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPointCloud:Lcom/android/internal/widget/multiwaveview/PointCloud;
  697.  
  698. .line 299
  699. iget-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPointCloud:Lcom/android/internal/widget/multiwaveview/PointCloud;
  700.  
  701. iget v8, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mInnerRadius:F
  702.  
  703. iget v9, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRadius:F
  704.  
  705. invoke-virtual {v7, v8, v9}, Lcom/android/internal/widget/multiwaveview/PointCloud;->makePointCloud(FF)V
  706.  
  707. .line 300
  708. iget-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPointCloud:Lcom/android/internal/widget/multiwaveview/PointCloud;
  709.  
  710. iget-object v7, v7, Lcom/android/internal/widget/multiwaveview/PointCloud;->glowManager:Lcom/android/internal/widget/multiwaveview/PointCloud$GlowManager;
  711.  
  712. iget v8, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mGlowRadius:F
  713.  
  714. invoke-virtual {v7, v8}, Lcom/android/internal/widget/multiwaveview/PointCloud$GlowManager;->setRadius(F)V
  715.  
  716. .line 302
  717. new-instance v7, Landroid/graphics/Paint;
  718.  
  719. invoke-direct {v7}, Landroid/graphics/Paint;-><init>()V
  720.  
  721. iput-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mArcPaint:Landroid/graphics/Paint;
  722.  
  723. .line 303
  724. iget-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mArcPaint:Landroid/graphics/Paint;
  725.  
  726. const/high16 v8, 0x4120
  727.  
  728. invoke-virtual {v7, v8}, Landroid/graphics/Paint;->setStrokeWidth(F)V
  729.  
  730. .line 304
  731. iget-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mArcPaint:Landroid/graphics/Paint;
  732.  
  733. sget-object v8, Landroid/graphics/Paint$Style;->STROKE:Landroid/graphics/Paint$Style;
  734.  
  735. invoke-virtual {v7, v8}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V
  736.  
  737. .line 305
  738. new-instance v7, Landroid/graphics/RectF;
  739.  
  740. iget-object v8, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  741.  
  742. invoke-virtual {v8}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getPositionX()F
  743.  
  744. move-result v8
  745.  
  746. iget-object v9, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  747.  
  748. invoke-virtual {v9}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getWidth()I
  749.  
  750. move-result v9
  751.  
  752. div-int/lit8 v9, v9, 0x2
  753.  
  754. int-to-float v9, v9
  755.  
  756. sub-float/2addr v8, v9
  757.  
  758. iget-object v9, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  759.  
  760. invoke-virtual {v9}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getPositionY()F
  761.  
  762. move-result v9
  763.  
  764. iget-object v10, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  765.  
  766. invoke-virtual {v10}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getHeight()I
  767.  
  768. move-result v10
  769.  
  770. div-int/lit8 v10, v10, 0x2
  771.  
  772. int-to-float v10, v10
  773.  
  774. sub-float/2addr v9, v10
  775.  
  776. iget-object v10, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  777.  
  778. invoke-virtual {v10}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getPositionX()F
  779.  
  780. move-result v10
  781.  
  782. iget-object v11, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  783.  
  784. invoke-virtual {v11}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getWidth()I
  785.  
  786. move-result v11
  787.  
  788. div-int/lit8 v11, v11, 0x2
  789.  
  790. int-to-float v11, v11
  791.  
  792. add-float/2addr v10, v11
  793.  
  794. iget-object v11, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  795.  
  796. invoke-virtual {v11}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getPositionY()F
  797.  
  798. move-result v11
  799.  
  800. iget-object v12, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  801.  
  802. invoke-virtual {v12}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getHeight()I
  803.  
  804. move-result v12
  805.  
  806. div-int/lit8 v12, v12, 0x2
  807.  
  808. int-to-float v12, v12
  809.  
  810. add-float/2addr v11, v12
  811.  
  812. invoke-direct {v7, v8, v9, v10, v11}, Landroid/graphics/RectF;-><init>(FFFF)V
  813.  
  814. iput-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mArcRect:Landroid/graphics/RectF;
  815.  
  816. .line 310
  817. new-instance v7, Landroid/graphics/Paint;
  818.  
  819. invoke-direct {v7}, Landroid/graphics/Paint;-><init>()V
  820.  
  821. iput-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPaintText:Landroid/graphics/Paint;
  822.  
  823. .line 311
  824. iget-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPaintText:Landroid/graphics/Paint;
  825.  
  826. const/4 v8, 0x1
  827.  
  828. invoke-virtual {v7, v8}, Landroid/graphics/Paint;->setAntiAlias(Z)V
  829.  
  830. .line 312
  831. iget-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPaintText:Landroid/graphics/Paint;
  832.  
  833. const v8, 0x106000b
  834.  
  835. invoke-virtual {v5, v8}, Landroid/content/res/Resources;->getColor(I)I
  836.  
  837. move-result v8
  838.  
  839. invoke-virtual {v7, v8}, Landroid/graphics/Paint;->setColor(I)V
  840.  
  841. .line 313
  842. iget-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPaintText:Landroid/graphics/Paint;
  843.  
  844. sget-object v8, Landroid/graphics/Paint$Align;->CENTER:Landroid/graphics/Paint$Align;
  845.  
  846. invoke-virtual {v7, v8}, Landroid/graphics/Paint;->setTextAlign(Landroid/graphics/Paint$Align;)V
  847.  
  848. .line 314
  849. iget-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPaintText:Landroid/graphics/Paint;
  850.  
  851. sget-object v8, Landroid/graphics/Paint$Style;->FILL_AND_STROKE:Landroid/graphics/Paint$Style;
  852.  
  853. invoke-virtual {v7, v8}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V
  854.  
  855. .line 315
  856. iget-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPaintText:Landroid/graphics/Paint;
  857.  
  858. const/4 v8, 0x1
  859.  
  860. invoke-virtual {v7, v8}, Landroid/graphics/Paint;->setFakeBoldText(Z)V
  861.  
  862. .line 316
  863. iget-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPaintText:Landroid/graphics/Paint;
  864.  
  865. const v8, 0x105000c
  866.  
  867. invoke-virtual {v5, v8}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
  868.  
  869. move-result v8
  870.  
  871. int-to-float v8, v8
  872.  
  873. invoke-virtual {v7, v8}, Landroid/graphics/Paint;->setTextSize(F)V
  874.  
  875. .line 317
  876. const v7, 0x105000d
  877.  
  878. invoke-virtual {v5, v7}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
  879.  
  880. move-result v7
  881.  
  882. iput v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTextRadius:I
  883.  
  884. .line 318
  885. iget v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTextRadius:I
  886.  
  887. int-to-float v7, v7
  888.  
  889. const v8, 0x409faab5
  890.  
  891. mul-float/2addr v7, v8
  892.  
  893. iput v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMaxTextArcLength:F
  894.  
  895. .line 319
  896. return-void
  897.  
  898. .line 294
  899. :cond_7
  900. const/4 v7, 0x0
  901.  
  902. goto/16 :goto_2
  903. .end method
  904.  
  905. .method static synthetic access$100(Lcom/android/internal/widget/multiwaveview/GlowPadView;)F
  906. .locals 1
  907. .parameter "x0"
  908.  
  909. .prologue
  910. .line 61
  911. iget v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveCenterX:F
  912.  
  913. return v0
  914. .end method
  915.  
  916. .method static synthetic access$1002(Lcom/android/internal/widget/multiwaveview/GlowPadView;Z)Z
  917. .locals 0
  918. .parameter "x0"
  919. .parameter "x1"
  920.  
  921. .prologue
  922. .line 61
  923. iput-boolean p1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mAnimatingTargets:Z
  924.  
  925. return p1
  926. .end method
  927.  
  928. .method static synthetic access$1100(Lcom/android/internal/widget/multiwaveview/GlowPadView;)Lcom/android/internal/widget/multiwaveview/PointCloud;
  929. .locals 1
  930. .parameter "x0"
  931.  
  932. .prologue
  933. .line 61
  934. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPointCloud:Lcom/android/internal/widget/multiwaveview/PointCloud;
  935.  
  936. return-object v0
  937. .end method
  938.  
  939. .method static synthetic access$200(Lcom/android/internal/widget/multiwaveview/GlowPadView;)F
  940. .locals 1
  941. .parameter "x0"
  942.  
  943. .prologue
  944. .line 61
  945. iget v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveCenterY:F
  946.  
  947. return v0
  948. .end method
  949.  
  950. .method static synthetic access$300(Lcom/android/internal/widget/multiwaveview/GlowPadView;IFF)V
  951. .locals 0
  952. .parameter "x0"
  953. .parameter "x1"
  954. .parameter "x2"
  955. .parameter "x3"
  956.  
  957. .prologue
  958. invoke-virtual {p0, p1, p2, p3}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->switchToState(IFF)V
  959.  
  960. return-void
  961. .end method
  962.  
  963. .method static synthetic access$400(Lcom/android/internal/widget/multiwaveview/GlowPadView;)V
  964. .locals 0
  965. .parameter "x0"
  966.  
  967. .prologue
  968. .line 61
  969. invoke-direct {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->dispatchOnFinishFinalAnimation()V
  970.  
  971. return-void
  972. .end method
  973.  
  974. .method static synthetic access$500(Lcom/android/internal/widget/multiwaveview/GlowPadView;)I
  975. .locals 1
  976. .parameter "x0"
  977.  
  978. .prologue
  979. .line 61
  980. iget v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mNewTargetResources:I
  981.  
  982. return v0
  983. .end method
  984.  
  985. .method static synthetic access$502(Lcom/android/internal/widget/multiwaveview/GlowPadView;I)I
  986. .locals 0
  987. .parameter "x0"
  988. .parameter "x1"
  989.  
  990. .prologue
  991. .line 61
  992. iput p1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mNewTargetResources:I
  993.  
  994. return p1
  995. .end method
  996.  
  997. .method static synthetic access$600(Lcom/android/internal/widget/multiwaveview/GlowPadView;I)V
  998. .locals 0
  999. .parameter "x0"
  1000. .parameter "x1"
  1001.  
  1002. .prologue
  1003. .line 61
  1004. invoke-direct {p0, p1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->internalSetTargetResources(I)V
  1005.  
  1006. return-void
  1007. .end method
  1008.  
  1009. .method static synthetic access$700(Lcom/android/internal/widget/multiwaveview/GlowPadView;ZZ)V
  1010. .locals 0
  1011. .parameter "x0"
  1012. .parameter "x1"
  1013. .parameter "x2"
  1014.  
  1015. .prologue
  1016. invoke-virtual {p0, p1, p2}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->hideTargets(ZZ)V
  1017.  
  1018. return-void
  1019. .end method
  1020.  
  1021. .method static synthetic access$800(Lcom/android/internal/widget/multiwaveview/GlowPadView;)Ljava/util/ArrayList;
  1022. .locals 1
  1023. .parameter "x0"
  1024.  
  1025. .prologue
  1026. .line 61
  1027. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mNewTargetDrawables:Ljava/util/ArrayList;
  1028.  
  1029. return-object v0
  1030. .end method
  1031.  
  1032. .method static synthetic access$802(Lcom/android/internal/widget/multiwaveview/GlowPadView;Ljava/util/ArrayList;)Ljava/util/ArrayList;
  1033. .locals 0
  1034. .parameter "x0"
  1035. .parameter "x1"
  1036.  
  1037. .prologue
  1038. .line 61
  1039. iput-object p1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mNewTargetDrawables:Ljava/util/ArrayList;
  1040.  
  1041. return-object p1
  1042. .end method
  1043.  
  1044. .method static synthetic access$900(Lcom/android/internal/widget/multiwaveview/GlowPadView;Ljava/util/ArrayList;)V
  1045. .locals 0
  1046. .parameter "x0"
  1047. .parameter "x1"
  1048.  
  1049. .prologue
  1050. .line 61
  1051. invoke-direct {p0, p1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->internalSetTargetResources(Ljava/util/ArrayList;)V
  1052.  
  1053. return-void
  1054. .end method
  1055.  
  1056. .method private announceTargets()V
  1057. .locals 8
  1058.  
  1059. .prologue
  1060. .line 1362
  1061. new-instance v5, Ljava/lang/StringBuilder;
  1062.  
  1063. invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
  1064.  
  1065. .line 1363
  1066. .local v5, utterance:Ljava/lang/StringBuilder;
  1067. iget-object v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  1068.  
  1069. invoke-virtual {v6}, Ljava/util/ArrayList;->size()I
  1070.  
  1071. move-result v2
  1072.  
  1073. .line 1364
  1074. .local v2, targetCount:I
  1075. const/4 v1, 0x0
  1076.  
  1077. .local v1, i:I
  1078. :goto_0
  1079. if-ge v1, v2, :cond_1
  1080.  
  1081. .line 1365
  1082. invoke-direct {p0, v1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->getTargetDescription(I)Ljava/lang/String;
  1083.  
  1084. move-result-object v3
  1085.  
  1086. .line 1366
  1087. .local v3, targetDescription:Ljava/lang/String;
  1088. invoke-direct {p0, v1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->getDirectionDescription(I)Ljava/lang/String;
  1089.  
  1090. move-result-object v0
  1091.  
  1092. .line 1367
  1093. .local v0, directionDescription:Ljava/lang/String;
  1094. invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
  1095.  
  1096. move-result v6
  1097.  
  1098. if-nez v6, :cond_0
  1099.  
  1100. invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
  1101.  
  1102. move-result v6
  1103.  
  1104. if-nez v6, :cond_0
  1105.  
  1106. .line 1369
  1107. const/4 v6, 0x1
  1108.  
  1109. new-array v6, v6, [Ljava/lang/Object;
  1110.  
  1111. const/4 v7, 0x0
  1112.  
  1113. aput-object v3, v6, v7
  1114.  
  1115. invoke-static {v0, v6}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
  1116.  
  1117. move-result-object v4
  1118.  
  1119. .line 1370
  1120. .local v4, text:Ljava/lang/String;
  1121. invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1122.  
  1123. .line 1364
  1124. .end local v4 #text:Ljava/lang/String;
  1125. :cond_0
  1126. add-int/lit8 v1, v1, 0x1
  1127.  
  1128. goto :goto_0
  1129.  
  1130. .line 1373
  1131. .end local v0 #directionDescription:Ljava/lang/String;
  1132. .end local v3 #targetDescription:Ljava/lang/String;
  1133. :cond_1
  1134. invoke-virtual {v5}, Ljava/lang/StringBuilder;->length()I
  1135.  
  1136. move-result v6
  1137.  
  1138. if-lez v6, :cond_2
  1139.  
  1140. .line 1374
  1141. invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  1142.  
  1143. move-result-object v6
  1144.  
  1145. invoke-virtual {p0, v6}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->announceForAccessibility(Ljava/lang/CharSequence;)V
  1146.  
  1147. .line 1376
  1148. :cond_2
  1149. return-void
  1150. .end method
  1151.  
  1152. .method private assignDefaultsIfNeeded()V
  1153. .locals 4
  1154.  
  1155. .prologue
  1156. const/4 v3, 0x0
  1157.  
  1158. .line 1092
  1159. iget v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRadius:F
  1160.  
  1161. cmpl-float v0, v0, v3
  1162.  
  1163. if-nez v0, :cond_0
  1164.  
  1165. .line 1093
  1166. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRing:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  1167.  
  1168. invoke-virtual {v0}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getWidth()I
  1169.  
  1170. move-result v0
  1171.  
  1172. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRing:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  1173.  
  1174. invoke-virtual {v1}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getHeight()I
  1175.  
  1176. move-result v1
  1177.  
  1178. invoke-static {v0, v1}, Ljava/lang/Math;->max(II)I
  1179.  
  1180. move-result v0
  1181.  
  1182. int-to-float v0, v0
  1183.  
  1184. const/high16 v1, 0x4000
  1185.  
  1186. div-float/2addr v0, v1
  1187.  
  1188. iput v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRadius:F
  1189.  
  1190. .line 1095
  1191. :cond_0
  1192. iget v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mSnapMargin:F
  1193.  
  1194. cmpl-float v0, v0, v3
  1195.  
  1196. if-nez v0, :cond_1
  1197.  
  1198. .line 1096
  1199. const/4 v0, 0x1
  1200.  
  1201. const/high16 v1, 0x41a0
  1202.  
  1203. invoke-virtual {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->getContext()Landroid/content/Context;
  1204.  
  1205. move-result-object v2
  1206.  
  1207. invoke-virtual {v2}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
  1208.  
  1209. move-result-object v2
  1210.  
  1211. invoke-virtual {v2}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
  1212.  
  1213. move-result-object v2
  1214.  
  1215. invoke-static {v0, v1, v2}, Landroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F
  1216.  
  1217. move-result v0
  1218.  
  1219. iput v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mSnapMargin:F
  1220.  
  1221. .line 1099
  1222. :cond_1
  1223. iget v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mInnerRadius:F
  1224.  
  1225. cmpl-float v0, v0, v3
  1226.  
  1227. if-nez v0, :cond_2
  1228.  
  1229. .line 1100
  1230. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  1231.  
  1232. invoke-virtual {v0}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getWidth()I
  1233.  
  1234. move-result v0
  1235.  
  1236. int-to-float v0, v0
  1237.  
  1238. const/high16 v1, 0x4120
  1239.  
  1240. div-float/2addr v0, v1
  1241.  
  1242. iput v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mInnerRadius:F
  1243.  
  1244. .line 1102
  1245. :cond_2
  1246. return-void
  1247. .end method
  1248.  
  1249. .method private computeInsets(II)V
  1250. .locals 4
  1251. .parameter "dx"
  1252. .parameter "dy"
  1253.  
  1254. .prologue
  1255. const/4 v3, 0x0
  1256.  
  1257. .line 1105
  1258. invoke-virtual {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->getLayoutDirection()I
  1259.  
  1260. move-result v1
  1261.  
  1262. .line 1106
  1263. .local v1, layoutDirection:I
  1264. iget v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mGravity:I
  1265.  
  1266. invoke-static {v2, v1}, Landroid/view/Gravity;->getAbsoluteGravity(II)I
  1267.  
  1268. move-result v0
  1269.  
  1270. .line 1108
  1271. .local v0, absoluteGravity:I
  1272. and-int/lit8 v2, v0, 0x7
  1273.  
  1274. packed-switch v2, :pswitch_data_0
  1275.  
  1276. .line 1117
  1277. :pswitch_0
  1278. div-int/lit8 v2, p1, 0x2
  1279.  
  1280. iput v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHorizontalInset:I
  1281.  
  1282. .line 1120
  1283. :goto_0
  1284. and-int/lit8 v2, v0, 0x70
  1285.  
  1286. sparse-switch v2, :sswitch_data_0
  1287.  
  1288. .line 1129
  1289. div-int/lit8 v2, p2, 0x2
  1290.  
  1291. iput v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mVerticalInset:I
  1292.  
  1293. .line 1132
  1294. :goto_1
  1295. return-void
  1296.  
  1297. .line 1110
  1298. :pswitch_1
  1299. iput v3, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHorizontalInset:I
  1300.  
  1301. goto :goto_0
  1302.  
  1303. .line 1113
  1304. :pswitch_2
  1305. iput p1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHorizontalInset:I
  1306.  
  1307. goto :goto_0
  1308.  
  1309. .line 1122
  1310. :sswitch_0
  1311. iput v3, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mVerticalInset:I
  1312.  
  1313. goto :goto_1
  1314.  
  1315. .line 1125
  1316. :sswitch_1
  1317. iput p2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mVerticalInset:I
  1318.  
  1319. goto :goto_1
  1320.  
  1321. .line 1108
  1322. :pswitch_data_0
  1323. .packed-switch 0x3
  1324. :pswitch_1
  1325. :pswitch_0
  1326. :pswitch_2
  1327. .end packed-switch
  1328.  
  1329. .line 1120
  1330. :sswitch_data_0
  1331. .sparse-switch
  1332. 0x30 -> :sswitch_0
  1333. 0x50 -> :sswitch_1
  1334. .end sparse-switch
  1335. .end method
  1336.  
  1337. .method private computeScaleFactor(IIII)F
  1338. .locals 7
  1339. .parameter "desiredWidth"
  1340. .parameter "desiredHeight"
  1341. .parameter "actualWidth"
  1342. .parameter "actualHeight"
  1343.  
  1344. .prologue
  1345. const/high16 v4, 0x3f80
  1346.  
  1347. .line 1142
  1348. iget-boolean v5, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mAllowScaling:Z
  1349.  
  1350. if-nez v5, :cond_0
  1351.  
  1352. .line 1178
  1353. :goto_0
  1354. return v4
  1355.  
  1356. .line 1144
  1357. :cond_0
  1358. invoke-virtual {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->getLayoutDirection()I
  1359.  
  1360. move-result v1
  1361.  
  1362. .line 1145
  1363. .local v1, layoutDirection:I
  1364. iget v5, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mGravity:I
  1365.  
  1366. invoke-static {v5, v1}, Landroid/view/Gravity;->getAbsoluteGravity(II)I
  1367.  
  1368. move-result v0
  1369.  
  1370. .line 1147
  1371. .local v0, absoluteGravity:I
  1372. const/high16 v2, 0x3f80
  1373.  
  1374. .line 1148
  1375. .local v2, scaleX:F
  1376. const/high16 v3, 0x3f80
  1377.  
  1378. .line 1154
  1379. .local v3, scaleY:F
  1380. and-int/lit8 v5, v0, 0x7
  1381.  
  1382. packed-switch v5, :pswitch_data_0
  1383.  
  1384. .line 1160
  1385. :pswitch_0
  1386. if-le p1, p3, :cond_1
  1387.  
  1388. .line 1161
  1389. int-to-float v5, p3
  1390.  
  1391. mul-float/2addr v5, v4
  1392.  
  1393. iget v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMaxTargetWidth:I
  1394.  
  1395. int-to-float v6, v6
  1396.  
  1397. sub-float/2addr v5, v6
  1398.  
  1399. iget v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMaxTargetWidth:I
  1400.  
  1401. sub-int v6, p1, v6
  1402.  
  1403. int-to-float v6, v6
  1404.  
  1405. div-float v2, v5, v6
  1406.  
  1407. .line 1166
  1408. :cond_1
  1409. :pswitch_1
  1410. and-int/lit8 v5, v0, 0x70
  1411.  
  1412. sparse-switch v5, :sswitch_data_0
  1413.  
  1414. .line 1172
  1415. if-le p2, p4, :cond_2
  1416.  
  1417. .line 1173
  1418. int-to-float v5, p4
  1419.  
  1420. mul-float/2addr v4, v5
  1421.  
  1422. iget v5, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMaxTargetHeight:I
  1423.  
  1424. int-to-float v5, v5
  1425.  
  1426. sub-float/2addr v4, v5
  1427.  
  1428. iget v5, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMaxTargetHeight:I
  1429.  
  1430. sub-int v5, p2, v5
  1431.  
  1432. int-to-float v5, v5
  1433.  
  1434. div-float v3, v4, v5
  1435.  
  1436. .line 1178
  1437. :cond_2
  1438. :sswitch_0
  1439. invoke-static {v2, v3}, Ljava/lang/Math;->min(FF)F
  1440.  
  1441. move-result v4
  1442.  
  1443. goto :goto_0
  1444.  
  1445. .line 1154
  1446. :pswitch_data_0
  1447. .packed-switch 0x3
  1448. :pswitch_1
  1449. :pswitch_0
  1450. :pswitch_1
  1451. .end packed-switch
  1452.  
  1453. .line 1166
  1454. :sswitch_data_0
  1455. .sparse-switch
  1456. 0x30 -> :sswitch_0
  1457. 0x50 -> :sswitch_0
  1458. .end sparse-switch
  1459. .end method
  1460.  
  1461. .method private deactivateTargets()V
  1462. .locals 4
  1463.  
  1464. .prologue
  1465. .line 472
  1466. iget-object v3, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  1467.  
  1468. invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
  1469.  
  1470. move-result v0
  1471.  
  1472. .line 473
  1473. .local v0, count:I
  1474. const/4 v1, 0x0
  1475.  
  1476. .local v1, i:I
  1477. :goto_0
  1478. if-ge v1, v0, :cond_0
  1479.  
  1480. .line 474
  1481. iget-object v3, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  1482.  
  1483. invoke-virtual {v3, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
  1484.  
  1485. move-result-object v2
  1486.  
  1487. check-cast v2, Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  1488.  
  1489. .line 475
  1490. .local v2, target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  1491. sget-object v3, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->STATE_INACTIVE:[I
  1492.  
  1493. invoke-virtual {v2, v3}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->setState([I)V
  1494.  
  1495. .line 473
  1496. add-int/lit8 v1, v1, 0x1
  1497.  
  1498. goto :goto_0
  1499.  
  1500. .line 477
  1501. .end local v2 #target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  1502. :cond_0
  1503. const/4 v3, -0x1
  1504.  
  1505. iput v3, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mActiveTarget:I
  1506.  
  1507. .line 478
  1508. return-void
  1509. .end method
  1510.  
  1511. .method private dispatchOnFinishFinalAnimation()V
  1512. .locals 1
  1513.  
  1514. .prologue
  1515. .line 492
  1516. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOnTriggerListener:Lcom/android/internal/widget/multiwaveview/GlowPadView$OnTriggerListener;
  1517.  
  1518. if-eqz v0, :cond_0
  1519.  
  1520. .line 493
  1521. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOnTriggerListener:Lcom/android/internal/widget/multiwaveview/GlowPadView$OnTriggerListener;
  1522.  
  1523. invoke-interface {v0}, Lcom/android/internal/widget/multiwaveview/GlowPadView$OnTriggerListener;->onFinishFinalAnimation()V
  1524.  
  1525. .line 495
  1526. :cond_0
  1527. return-void
  1528. .end method
  1529.  
  1530. .method private dispatchTriggerEvent(I)V
  1531. .locals 1
  1532. .parameter "whichTarget"
  1533.  
  1534. .prologue
  1535. .line 485
  1536. invoke-direct {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->vibrate()V
  1537.  
  1538. .line 486
  1539. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOnTriggerListener:Lcom/android/internal/widget/multiwaveview/GlowPadView$OnTriggerListener;
  1540.  
  1541. if-eqz v0, :cond_0
  1542.  
  1543. .line 487
  1544. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOnTriggerListener:Lcom/android/internal/widget/multiwaveview/GlowPadView$OnTriggerListener;
  1545.  
  1546. invoke-interface {v0, p0, p1}, Lcom/android/internal/widget/multiwaveview/GlowPadView$OnTriggerListener;->onTrigger(Landroid/view/View;I)V
  1547.  
  1548. .line 489
  1549. :cond_0
  1550. return-void
  1551. .end method
  1552.  
  1553. .method private dist2(FF)F
  1554. .locals 2
  1555. .parameter "dx"
  1556. .parameter "dy"
  1557.  
  1558. .prologue
  1559. .line 1348
  1560. mul-float v0, p1, p1
  1561.  
  1562. mul-float v1, p2, p2
  1563.  
  1564. add-float/2addr v0, v1
  1565.  
  1566. return v0
  1567. .end method
  1568.  
  1569. .method doFinish()V
  1570. .locals 7
  1571.  
  1572. .prologue
  1573. const/16 v6, 0xc8
  1574.  
  1575. const/4 v2, 0x1
  1576.  
  1577. const/4 v5, 0x0
  1578.  
  1579. const/4 v3, 0x0
  1580.  
  1581. .line 498
  1582. iget v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mActiveTarget:I
  1583.  
  1584. .line 499
  1585. .local v0, activeTarget:I
  1586. const/4 v4, -0x1
  1587.  
  1588. if-eq v0, v4, :cond_1
  1589.  
  1590. move v1, v2
  1591.  
  1592. .local v1, targetHit:Z
  1593. :goto_0
  1594. if-eqz v1, :cond_2
  1595.  
  1596. invoke-direct {p0, v0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->highlightSelected(I)V
  1597.  
  1598. const/16 v2, 0x4b0
  1599.  
  1600. iget-object v4, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mResetListener:Landroid/animation/Animator$AnimatorListener;
  1601.  
  1602. invoke-direct {p0, v6, v2, v5, v4}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->hideGlow(IIFLandroid/animation/Animator$AnimatorListener;)V
  1603.  
  1604. invoke-direct {p0, v0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->dispatchTriggerEvent(I)V
  1605.  
  1606. iget-boolean v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mAlwaysTrackFinger:Z
  1607.  
  1608. if-nez v2, :cond_0
  1609.  
  1610. iget-object v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  1611.  
  1612. invoke-virtual {v2}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->stop()V
  1613.  
  1614. :cond_0
  1615. invoke-direct {p0, v3, v3}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->hideTargets(ZZ)V
  1616.  
  1617. :goto_1
  1618. invoke-direct {p0, v3}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->setGrabbedState(I)V
  1619.  
  1620. return-void
  1621.  
  1622. .end local v1 #targetHit:Z
  1623. :cond_1
  1624. move v1, v3
  1625.  
  1626. goto :goto_0
  1627.  
  1628. .restart local v1 #targetHit:Z
  1629. :cond_2
  1630. iget-object v4, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mResetListenerWithPing:Landroid/animation/Animator$AnimatorListener;
  1631.  
  1632. invoke-direct {p0, v6, v3, v5, v4}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->hideGlow(IIFLandroid/animation/Animator$AnimatorListener;)V
  1633.  
  1634. invoke-virtual {p0, v2, v3}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->hideTargets(ZZ)V
  1635.  
  1636. goto :goto_1
  1637. .end method
  1638.  
  1639. .method private dump()V
  1640. .locals 3
  1641.  
  1642. .prologue
  1643. .line 327
  1644. const-string v0, "GlowPadView"
  1645.  
  1646. new-instance v1, Ljava/lang/StringBuilder;
  1647.  
  1648. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  1649.  
  1650. const-string v2, "Outer Radius = "
  1651.  
  1652. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1653.  
  1654. move-result-object v1
  1655.  
  1656. iget v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRadius:F
  1657.  
  1658. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
  1659.  
  1660. move-result-object v1
  1661.  
  1662. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  1663.  
  1664. move-result-object v1
  1665.  
  1666. invoke-static {v0, v1}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
  1667.  
  1668. .line 328
  1669. const-string v0, "GlowPadView"
  1670.  
  1671. new-instance v1, Ljava/lang/StringBuilder;
  1672.  
  1673. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  1674.  
  1675. const-string v2, "SnapMargin = "
  1676.  
  1677. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1678.  
  1679. move-result-object v1
  1680.  
  1681. iget v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mSnapMargin:F
  1682.  
  1683. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
  1684.  
  1685. move-result-object v1
  1686.  
  1687. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  1688.  
  1689. move-result-object v1
  1690.  
  1691. invoke-static {v0, v1}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
  1692.  
  1693. .line 329
  1694. const-string v0, "GlowPadView"
  1695.  
  1696. new-instance v1, Ljava/lang/StringBuilder;
  1697.  
  1698. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  1699.  
  1700. const-string v2, "FeedbackCount = "
  1701.  
  1702. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1703.  
  1704. move-result-object v1
  1705.  
  1706. iget v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mFeedbackCount:I
  1707.  
  1708. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  1709.  
  1710. move-result-object v1
  1711.  
  1712. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  1713.  
  1714. move-result-object v1
  1715.  
  1716. invoke-static {v0, v1}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
  1717.  
  1718. .line 330
  1719. const-string v0, "GlowPadView"
  1720.  
  1721. new-instance v1, Ljava/lang/StringBuilder;
  1722.  
  1723. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  1724.  
  1725. const-string v2, "VibrationDuration = "
  1726.  
  1727. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1728.  
  1729. move-result-object v1
  1730.  
  1731. iget v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mVibrationDuration:I
  1732.  
  1733. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  1734.  
  1735. move-result-object v1
  1736.  
  1737. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  1738.  
  1739. move-result-object v1
  1740.  
  1741. invoke-static {v0, v1}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
  1742.  
  1743. .line 331
  1744. const-string v0, "GlowPadView"
  1745.  
  1746. new-instance v1, Ljava/lang/StringBuilder;
  1747.  
  1748. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  1749.  
  1750. const-string v2, "GlowRadius = "
  1751.  
  1752. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1753.  
  1754. move-result-object v1
  1755.  
  1756. iget v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mGlowRadius:F
  1757.  
  1758. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
  1759.  
  1760. move-result-object v1
  1761.  
  1762. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  1763.  
  1764. move-result-object v1
  1765.  
  1766. invoke-static {v0, v1}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
  1767.  
  1768. .line 332
  1769. const-string v0, "GlowPadView"
  1770.  
  1771. new-instance v1, Ljava/lang/StringBuilder;
  1772.  
  1773. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  1774.  
  1775. const-string v2, "WaveCenterX = "
  1776.  
  1777. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1778.  
  1779. move-result-object v1
  1780.  
  1781. iget v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveCenterX:F
  1782.  
  1783. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
  1784.  
  1785. move-result-object v1
  1786.  
  1787. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  1788.  
  1789. move-result-object v1
  1790.  
  1791. invoke-static {v0, v1}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
  1792.  
  1793. .line 333
  1794. const-string v0, "GlowPadView"
  1795.  
  1796. new-instance v1, Ljava/lang/StringBuilder;
  1797.  
  1798. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  1799.  
  1800. const-string v2, "WaveCenterY = "
  1801.  
  1802. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1803.  
  1804. move-result-object v1
  1805.  
  1806. iget v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveCenterY:F
  1807.  
  1808. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
  1809.  
  1810. move-result-object v1
  1811.  
  1812. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  1813.  
  1814. move-result-object v1
  1815.  
  1816. invoke-static {v0, v1}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
  1817.  
  1818. .line 334
  1819. return-void
  1820. .end method
  1821.  
  1822. .method private getAngle(FI)F
  1823. .locals 2
  1824. .parameter "alpha"
  1825. .parameter "i"
  1826.  
  1827. .prologue
  1828. .line 1279
  1829. iget v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mFirstItemOffset:F
  1830.  
  1831. int-to-float v1, p2
  1832.  
  1833. mul-float/2addr v1, p1
  1834.  
  1835. add-float/2addr v0, v1
  1836.  
  1837. return v0
  1838. .end method
  1839.  
  1840. .method private getDirectionDescription(I)Ljava/lang/String;
  1841. .locals 3
  1842. .parameter "index"
  1843.  
  1844. .prologue
  1845. const/4 v0, 0x0
  1846.  
  1847. .line 1394
  1848. iget v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mDirectionDescriptionsResourceId:I
  1849.  
  1850. if-nez v1, :cond_0
  1851.  
  1852. .line 1405
  1853. :goto_0
  1854. return-object v0
  1855.  
  1856. .line 1397
  1857. :cond_0
  1858. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mDirectionDescriptions:Ljava/util/ArrayList;
  1859.  
  1860. if-eqz v1, :cond_1
  1861.  
  1862. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mDirectionDescriptions:Ljava/util/ArrayList;
  1863.  
  1864. invoke-virtual {v1}, Ljava/util/ArrayList;->isEmpty()Z
  1865.  
  1866. move-result v1
  1867.  
  1868. if-eqz v1, :cond_2
  1869.  
  1870. .line 1398
  1871. :cond_1
  1872. iget v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mDirectionDescriptionsResourceId:I
  1873.  
  1874. invoke-direct {p0, v1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->loadDescriptions(I)Ljava/util/ArrayList;
  1875.  
  1876. move-result-object v1
  1877.  
  1878. iput-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mDirectionDescriptions:Ljava/util/ArrayList;
  1879.  
  1880. .line 1399
  1881. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  1882.  
  1883. invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
  1884.  
  1885. move-result v1
  1886.  
  1887. iget-object v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mDirectionDescriptions:Ljava/util/ArrayList;
  1888.  
  1889. invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
  1890.  
  1891. move-result v2
  1892.  
  1893. if-eq v1, v2, :cond_2
  1894.  
  1895. .line 1400
  1896. const-string v1, "GlowPadView"
  1897.  
  1898. const-string v2, "The number of target drawables must be equal to the number of direction descriptions."
  1899.  
  1900. invoke-static {v1, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
  1901.  
  1902. goto :goto_0
  1903.  
  1904. .line 1405
  1905. :cond_2
  1906. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mDirectionDescriptions:Ljava/util/ArrayList;
  1907.  
  1908. invoke-virtual {v0, p1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
  1909.  
  1910. move-result-object v0
  1911.  
  1912. check-cast v0, Ljava/lang/String;
  1913.  
  1914. goto :goto_0
  1915. .end method
  1916.  
  1917. .method private getResourceId(Landroid/content/res/TypedArray;I)I
  1918. .locals 2
  1919. .parameter "a"
  1920. .parameter "id"
  1921.  
  1922. .prologue
  1923. .line 322
  1924. invoke-virtual {p1, p2}, Landroid/content/res/TypedArray;->peekValue(I)Landroid/util/TypedValue;
  1925.  
  1926. move-result-object v0
  1927.  
  1928. .line 323
  1929. .local v0, tv:Landroid/util/TypedValue;
  1930. if-nez v0, :cond_0
  1931.  
  1932. const/4 v1, 0x0
  1933.  
  1934. :goto_0
  1935. return v1
  1936.  
  1937. :cond_0
  1938. iget v1, v0, Landroid/util/TypedValue;->resourceId:I
  1939.  
  1940. goto :goto_0
  1941. .end method
  1942.  
  1943. .method private getRingHeight()F
  1944. .locals 4
  1945.  
  1946. .prologue
  1947. .line 1203
  1948. iget v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mRingScaleFactor:F
  1949.  
  1950. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRing:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  1951.  
  1952. invoke-virtual {v1}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getHeight()I
  1953.  
  1954. move-result v1
  1955.  
  1956. int-to-float v1, v1
  1957.  
  1958. const/high16 v2, 0x4000
  1959.  
  1960. iget v3, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRadius:F
  1961.  
  1962. mul-float/2addr v2, v3
  1963.  
  1964. invoke-static {v1, v2}, Ljava/lang/Math;->max(FF)F
  1965.  
  1966. move-result v1
  1967.  
  1968. mul-float/2addr v0, v1
  1969.  
  1970. return v0
  1971. .end method
  1972.  
  1973. .method private getRingWidth()F
  1974. .locals 4
  1975.  
  1976. .prologue
  1977. .line 1199
  1978. iget v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mRingScaleFactor:F
  1979.  
  1980. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRing:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  1981.  
  1982. invoke-virtual {v1}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getWidth()I
  1983.  
  1984. move-result v1
  1985.  
  1986. int-to-float v1, v1
  1987.  
  1988. const/high16 v2, 0x4000
  1989.  
  1990. iget v3, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRadius:F
  1991.  
  1992. mul-float/2addr v2, v3
  1993.  
  1994. invoke-static {v1, v2}, Ljava/lang/Math;->max(FF)F
  1995.  
  1996. move-result v1
  1997.  
  1998. mul-float/2addr v0, v1
  1999.  
  2000. return v0
  2001. .end method
  2002.  
  2003. .method private getScaledGlowRadiusSquared()F
  2004. .locals 3
  2005.  
  2006. .prologue
  2007. .line 1353
  2008. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mContext:Landroid/content/Context;
  2009.  
  2010. invoke-static {v1}, Landroid/view/accessibility/AccessibilityManager;->getInstance(Landroid/content/Context;)Landroid/view/accessibility/AccessibilityManager;
  2011.  
  2012. move-result-object v1
  2013.  
  2014. invoke-virtual {v1}, Landroid/view/accessibility/AccessibilityManager;->isEnabled()Z
  2015.  
  2016. move-result v1
  2017.  
  2018. if-eqz v1, :cond_0
  2019.  
  2020. .line 1354
  2021. const v1, 0x3fa66666
  2022.  
  2023. iget v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mGlowRadius:F
  2024.  
  2025. mul-float v0, v1, v2
  2026.  
  2027. .line 1358
  2028. .local v0, scaledTapRadius:F
  2029. :goto_0
  2030. invoke-direct {p0, v0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->square(F)F
  2031.  
  2032. move-result v1
  2033.  
  2034. return v1
  2035.  
  2036. .line 1356
  2037. .end local v0 #scaledTapRadius:F
  2038. :cond_0
  2039. iget v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mGlowRadius:F
  2040.  
  2041. .restart local v0 #scaledTapRadius:F
  2042. goto :goto_0
  2043. .end method
  2044.  
  2045. .method private getSliceAngle()F
  2046. .locals 4
  2047.  
  2048. .prologue
  2049. .line 1283
  2050. const-wide v0, -0x3fe6de04abbbd2e8L
  2051.  
  2052. iget-object v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  2053.  
  2054. invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
  2055.  
  2056. move-result v2
  2057.  
  2058. int-to-double v2, v2
  2059.  
  2060. div-double/2addr v0, v2
  2061.  
  2062. double-to-float v0, v0
  2063.  
  2064. return v0
  2065. .end method
  2066.  
  2067. .method private getTargetDescription(I)Ljava/lang/String;
  2068. .locals 3
  2069. .parameter "index"
  2070.  
  2071. .prologue
  2072. const/4 v0, 0x0
  2073.  
  2074. .line 1379
  2075. iget v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDescriptionsResourceId:I
  2076.  
  2077. if-nez v1, :cond_0
  2078.  
  2079. .line 1390
  2080. :goto_0
  2081. return-object v0
  2082.  
  2083. .line 1382
  2084. :cond_0
  2085. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDescriptions:Ljava/util/ArrayList;
  2086.  
  2087. if-eqz v1, :cond_1
  2088.  
  2089. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDescriptions:Ljava/util/ArrayList;
  2090.  
  2091. invoke-virtual {v1}, Ljava/util/ArrayList;->isEmpty()Z
  2092.  
  2093. move-result v1
  2094.  
  2095. if-eqz v1, :cond_2
  2096.  
  2097. .line 1383
  2098. :cond_1
  2099. iget v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDescriptionsResourceId:I
  2100.  
  2101. invoke-direct {p0, v1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->loadDescriptions(I)Ljava/util/ArrayList;
  2102.  
  2103. move-result-object v1
  2104.  
  2105. iput-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDescriptions:Ljava/util/ArrayList;
  2106.  
  2107. .line 1384
  2108. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  2109.  
  2110. invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
  2111.  
  2112. move-result v1
  2113.  
  2114. iget-object v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDescriptions:Ljava/util/ArrayList;
  2115.  
  2116. invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
  2117.  
  2118. move-result v2
  2119.  
  2120. if-eq v1, v2, :cond_2
  2121.  
  2122. .line 1385
  2123. const-string v1, "GlowPadView"
  2124.  
  2125. const-string v2, "The number of target drawables must be equal to the number of target descriptions."
  2126.  
  2127. invoke-static {v1, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
  2128.  
  2129. goto :goto_0
  2130.  
  2131. .line 1390
  2132. :cond_2
  2133. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDescriptions:Ljava/util/ArrayList;
  2134.  
  2135. invoke-virtual {v0, p1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
  2136.  
  2137. move-result-object v0
  2138.  
  2139. check-cast v0, Ljava/lang/String;
  2140.  
  2141. goto :goto_0
  2142. .end method
  2143.  
  2144. .method private handleCancel(Landroid/view/MotionEvent;)V
  2145. .locals 4
  2146. .parameter "event"
  2147.  
  2148. .prologue
  2149. const/4 v2, -0x1
  2150.  
  2151. .line 927
  2152. iput v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mActiveTarget:I
  2153.  
  2154. .line 929
  2155. iget v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPointerId:I
  2156.  
  2157. invoke-virtual {p1, v1}, Landroid/view/MotionEvent;->findPointerIndex(I)I
  2158.  
  2159. move-result v0
  2160.  
  2161. .line 930
  2162. .local v0, actionIndex:I
  2163. if-ne v0, v2, :cond_0
  2164.  
  2165. const/4 v0, 0x0
  2166.  
  2167. .line 931
  2168. :cond_0
  2169. const/4 v1, 0x5
  2170.  
  2171. invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getX(I)F
  2172.  
  2173. move-result v2
  2174.  
  2175. invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getY(I)F
  2176.  
  2177. move-result v3
  2178.  
  2179. invoke-virtual {p0, v1, v2, v3}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->switchToState(IFF)V
  2180.  
  2181. .line 932
  2182. return-void
  2183. .end method
  2184.  
  2185. .method private handleDown(Landroid/view/MotionEvent;)V
  2186. .locals 4
  2187. .parameter "event"
  2188.  
  2189. .prologue
  2190. invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionIndex()I
  2191.  
  2192. move-result v0
  2193.  
  2194. .local v0, actionIndex:I
  2195. invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getX(I)F
  2196.  
  2197. move-result v1
  2198.  
  2199. .local v1, eventX:F
  2200. invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getY(I)F
  2201.  
  2202. move-result v2
  2203.  
  2204. .local v2, eventY:F
  2205. const/4 v3, 0x1
  2206.  
  2207. invoke-virtual {p0, v3, v1, v2}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->switchToState(IFF)V
  2208.  
  2209. invoke-direct {p0, v1, v2}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->trySwitchToFirstTouchState(FF)Z
  2210.  
  2211. move-result v3
  2212.  
  2213. if-nez v3, :cond_0
  2214.  
  2215. const/4 v3, 0x0
  2216.  
  2217. iput-boolean v3, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mDragging:Z
  2218.  
  2219. :goto_0
  2220. return-void
  2221.  
  2222. :cond_0
  2223. invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getPointerId(I)I
  2224.  
  2225. move-result v3
  2226.  
  2227. iput v3, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPointerId:I
  2228.  
  2229. .line 911
  2230. invoke-direct {p0, v1, v2}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->updateGlowPosition(FF)V
  2231.  
  2232. goto :goto_0
  2233. .end method
  2234.  
  2235. .method handleMove(Landroid/view/MotionEvent;)V
  2236. .locals 39
  2237. .parameter "event"
  2238.  
  2239. .prologue
  2240. .line 935
  2241. const/4 v6, -0x1
  2242.  
  2243. .line 936
  2244. .local v6, activeTarget:I
  2245. invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getHistorySize()I
  2246.  
  2247. move-result v12
  2248.  
  2249. .line 937
  2250. .local v12, historySize:I
  2251. move-object/from16 v0, p0
  2252.  
  2253. iget-object v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  2254.  
  2255. move-object/from16 v27, v0
  2256.  
  2257. .line 938
  2258. .local v27, targets:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lcom/android/internal/widget/multiwaveview/TargetDrawable;>;"
  2259. invoke-virtual/range {v27 .. v27}, Ljava/util/ArrayList;->size()I
  2260.  
  2261. move-result v17
  2262.  
  2263. .line 939
  2264. .local v17, ntargets:I
  2265. const/16 v31, 0x0
  2266.  
  2267. .line 940
  2268. .local v31, x:F
  2269. const/16 v32, 0x0
  2270.  
  2271. .line 941
  2272. .local v32, y:F
  2273. const/4 v5, 0x0
  2274.  
  2275. .line 942
  2276. .local v5, activeAngle:F
  2277. move-object/from16 v0, p0
  2278.  
  2279. iget v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPointerId:I
  2280.  
  2281. move/from16 v33, v0
  2282.  
  2283. move-object/from16 v0, p1
  2284.  
  2285. move/from16 v1, v33
  2286.  
  2287. invoke-virtual {v0, v1}, Landroid/view/MotionEvent;->findPointerIndex(I)I
  2288.  
  2289. move-result v4
  2290.  
  2291. .line 944
  2292. .local v4, actionIndex:I
  2293. const/16 v33, -0x1
  2294.  
  2295. move/from16 v0, v33
  2296.  
  2297. if-ne v4, v0, :cond_1
  2298.  
  2299. .line 1033
  2300. :cond_0
  2301. :goto_0
  2302. return-void
  2303.  
  2304. .line 948
  2305. :cond_1
  2306. const/4 v14, 0x0
  2307.  
  2308. .local v14, k:I
  2309. :goto_1
  2310. add-int/lit8 v33, v12, 0x1
  2311.  
  2312. move/from16 v0, v33
  2313.  
  2314. if-ge v14, v0, :cond_c
  2315.  
  2316. .line 949
  2317. if-ge v14, v12, :cond_7
  2318.  
  2319. move-object/from16 v0, p1
  2320.  
  2321. invoke-virtual {v0, v4, v14}, Landroid/view/MotionEvent;->getHistoricalX(II)F
  2322.  
  2323. move-result v10
  2324.  
  2325. .line 951
  2326. .local v10, eventX:F
  2327. :goto_2
  2328. if-ge v14, v12, :cond_8
  2329.  
  2330. move-object/from16 v0, p1
  2331.  
  2332. invoke-virtual {v0, v4, v14}, Landroid/view/MotionEvent;->getHistoricalY(II)F
  2333.  
  2334. move-result v11
  2335.  
  2336. .line 954
  2337. .local v11, eventY:F
  2338. :goto_3
  2339. move-object/from16 v0, p0
  2340.  
  2341. iget v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveCenterX:F
  2342.  
  2343. move/from16 v33, v0
  2344.  
  2345. sub-float v29, v10, v33
  2346.  
  2347. .line 955
  2348. .local v29, tx:F
  2349. move-object/from16 v0, p0
  2350.  
  2351. iget v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveCenterY:F
  2352.  
  2353. move/from16 v33, v0
  2354.  
  2355. sub-float v30, v11, v33
  2356.  
  2357. .line 956
  2358. .local v30, ty:F
  2359. move-object/from16 v0, p0
  2360.  
  2361. move/from16 v1, v29
  2362.  
  2363. move/from16 v2, v30
  2364.  
  2365. invoke-direct {v0, v1, v2}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->dist2(FF)F
  2366.  
  2367. move-result v33
  2368.  
  2369. move/from16 v0, v33
  2370.  
  2371. float-to-double v0, v0
  2372.  
  2373. move-wide/from16 v33, v0
  2374.  
  2375. invoke-static/range {v33 .. v34}, Ljava/lang/Math;->sqrt(D)D
  2376.  
  2377. move-result-wide v33
  2378.  
  2379. move-wide/from16 v0, v33
  2380.  
  2381. double-to-float v0, v0
  2382.  
  2383. move/from16 v28, v0
  2384.  
  2385. .line 957
  2386. .local v28, touchRadius:F
  2387. move-object/from16 v0, p0
  2388.  
  2389. iget v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRadius:F
  2390.  
  2391. move/from16 v33, v0
  2392.  
  2393. cmpl-float v33, v28, v33
  2394.  
  2395. if-lez v33, :cond_9
  2396.  
  2397. move-object/from16 v0, p0
  2398.  
  2399. iget v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRadius:F
  2400.  
  2401. move/from16 v33, v0
  2402.  
  2403. div-float v18, v33, v28
  2404.  
  2405. .line 958
  2406. .local v18, scale:F
  2407. :goto_4
  2408. mul-float v15, v29, v18
  2409.  
  2410. .line 959
  2411. .local v15, limitX:F
  2412. mul-float v16, v30, v18
  2413.  
  2414. .line 960
  2415. .local v16, limitY:F
  2416. move/from16 v0, v30
  2417.  
  2418. neg-float v0, v0
  2419.  
  2420. move/from16 v33, v0
  2421.  
  2422. move/from16 v0, v33
  2423.  
  2424. float-to-double v0, v0
  2425.  
  2426. move-wide/from16 v33, v0
  2427.  
  2428. move/from16 v0, v29
  2429.  
  2430. float-to-double v0, v0
  2431.  
  2432. move-wide/from16 v35, v0
  2433.  
  2434. invoke-static/range {v33 .. v36}, Ljava/lang/Math;->atan2(DD)D
  2435.  
  2436. move-result-wide v8
  2437.  
  2438. .line 962
  2439. .local v8, angleRad:D
  2440. move-object/from16 v0, p0
  2441.  
  2442. iget-boolean v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mDragging:Z
  2443.  
  2444. move/from16 v33, v0
  2445.  
  2446. if-nez v33, :cond_2
  2447.  
  2448. .line 963
  2449. move-object/from16 v0, p0
  2450.  
  2451. invoke-direct {v0, v10, v11}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->trySwitchToFirstTouchState(FF)Z
  2452.  
  2453. .line 966
  2454. :cond_2
  2455. move-object/from16 v0, p0
  2456.  
  2457. iget-boolean v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mDragging:Z
  2458.  
  2459. move/from16 v33, v0
  2460.  
  2461. if-eqz v33, :cond_b
  2462.  
  2463. .line 968
  2464. move-object/from16 v0, p0
  2465.  
  2466. iget v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mRingScaleFactor:F
  2467.  
  2468. move/from16 v33, v0
  2469.  
  2470. move-object/from16 v0, p0
  2471.  
  2472. iget v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRadius:F
  2473.  
  2474. move/from16 v34, v0
  2475.  
  2476. mul-float v33, v33, v34
  2477.  
  2478. move-object/from16 v0, p0
  2479.  
  2480. iget v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mSnapMargin:F
  2481.  
  2482. move/from16 v34, v0
  2483.  
  2484. sub-float v20, v33, v34
  2485.  
  2486. .line 969
  2487. .local v20, snapRadius:F
  2488. mul-float v19, v20, v20
  2489.  
  2490. .line 971
  2491. .local v19, snapDistance2:F
  2492. const/4 v13, 0x0
  2493.  
  2494. .local v13, i:I
  2495. :goto_5
  2496. move/from16 v0, v17
  2497.  
  2498. if-ge v13, v0, :cond_b
  2499.  
  2500. .line 972
  2501. move-object/from16 v0, v27
  2502.  
  2503. invoke-virtual {v0, v13}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
  2504.  
  2505. move-result-object v21
  2506.  
  2507. check-cast v21, Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  2508.  
  2509. .line 974
  2510. .local v21, target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  2511. move-object/from16 v0, p0
  2512.  
  2513. iget v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mFirstItemOffset:F
  2514.  
  2515. move/from16 v33, v0
  2516.  
  2517. move/from16 v0, v33
  2518.  
  2519. float-to-double v0, v0
  2520.  
  2521. move-wide/from16 v33, v0
  2522.  
  2523. int-to-double v0, v13
  2524.  
  2525. move-wide/from16 v35, v0
  2526.  
  2527. const-wide/high16 v37, 0x3fe0
  2528.  
  2529. sub-double v35, v35, v37
  2530.  
  2531. const-wide/high16 v37, 0x4000
  2532.  
  2533. mul-double v35, v35, v37
  2534.  
  2535. const-wide v37, 0x400921fb54442d18L
  2536.  
  2537. mul-double v35, v35, v37
  2538.  
  2539. move/from16 v0, v17
  2540.  
  2541. int-to-double v0, v0
  2542.  
  2543. move-wide/from16 v37, v0
  2544.  
  2545. div-double v35, v35, v37
  2546.  
  2547. add-double v25, v33, v35
  2548.  
  2549. .line 975
  2550. .local v25, targetMinRad:D
  2551. move-object/from16 v0, p0
  2552.  
  2553. iget v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mFirstItemOffset:F
  2554.  
  2555. move/from16 v33, v0
  2556.  
  2557. move/from16 v0, v33
  2558.  
  2559. float-to-double v0, v0
  2560.  
  2561. move-wide/from16 v33, v0
  2562.  
  2563. int-to-double v0, v13
  2564.  
  2565. move-wide/from16 v35, v0
  2566.  
  2567. const-wide/high16 v37, 0x3fe0
  2568.  
  2569. add-double v35, v35, v37
  2570.  
  2571. const-wide/high16 v37, 0x4000
  2572.  
  2573. mul-double v35, v35, v37
  2574.  
  2575. const-wide v37, 0x400921fb54442d18L
  2576.  
  2577. mul-double v35, v35, v37
  2578.  
  2579. move/from16 v0, v17
  2580.  
  2581. int-to-double v0, v0
  2582.  
  2583. move-wide/from16 v37, v0
  2584.  
  2585. div-double v35, v35, v37
  2586.  
  2587. add-double v23, v33, v35
  2588.  
  2589. .line 976
  2590. .local v23, targetMaxRad:D
  2591. invoke-virtual/range {v21 .. v21}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->isEnabled()Z
  2592.  
  2593. move-result v33
  2594.  
  2595. if-eqz v33, :cond_6
  2596.  
  2597. .line 977
  2598. cmpl-double v33, v8, v25
  2599.  
  2600. if-lez v33, :cond_3
  2601.  
  2602. cmpg-double v33, v8, v23
  2603.  
  2604. if-lez v33, :cond_5
  2605.  
  2606. :cond_3
  2607. const-wide v33, 0x401921fb54442d18L
  2608.  
  2609. add-double v33, v33, v8
  2610.  
  2611. cmpl-double v33, v33, v25
  2612.  
  2613. if-lez v33, :cond_4
  2614.  
  2615. const-wide v33, 0x401921fb54442d18L
  2616.  
  2617. add-double v33, v33, v8
  2618.  
  2619. cmpg-double v33, v33, v23
  2620.  
  2621. if-lez v33, :cond_5
  2622.  
  2623. :cond_4
  2624. const-wide v33, 0x401921fb54442d18L
  2625.  
  2626. sub-double v33, v8, v33
  2627.  
  2628. cmpl-double v33, v33, v25
  2629.  
  2630. if-lez v33, :cond_a
  2631.  
  2632. const-wide v33, 0x401921fb54442d18L
  2633.  
  2634. sub-double v33, v8, v33
  2635.  
  2636. cmpg-double v33, v33, v23
  2637.  
  2638. if-gtz v33, :cond_a
  2639.  
  2640. :cond_5
  2641. const/4 v7, 0x1
  2642.  
  2643. .line 983
  2644. .local v7, angleMatches:Z
  2645. :goto_6
  2646. if-eqz v7, :cond_6
  2647.  
  2648. move-object/from16 v0, p0
  2649.  
  2650. move/from16 v1, v29
  2651.  
  2652. move/from16 v2, v30
  2653.  
  2654. invoke-direct {v0, v1, v2}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->dist2(FF)F
  2655.  
  2656. move-result v33
  2657.  
  2658. cmpl-float v33, v33, v19
  2659.  
  2660. if-lez v33, :cond_6
  2661.  
  2662. .line 984
  2663. move v6, v13
  2664.  
  2665. .line 985
  2666. neg-double v0, v8
  2667.  
  2668. move-wide/from16 v33, v0
  2669.  
  2670. move-wide/from16 v0, v33
  2671.  
  2672. double-to-float v5, v0
  2673.  
  2674. .line 971
  2675. .end local v7 #angleMatches:Z
  2676. :cond_6
  2677. add-int/lit8 v13, v13, 0x1
  2678.  
  2679. goto/16 :goto_5
  2680.  
  2681. .line 949
  2682. .end local v8 #angleRad:D
  2683. .end local v10 #eventX:F
  2684. .end local v11 #eventY:F
  2685. .end local v13 #i:I
  2686. .end local v15 #limitX:F
  2687. .end local v16 #limitY:F
  2688. .end local v18 #scale:F
  2689. .end local v19 #snapDistance2:F
  2690. .end local v20 #snapRadius:F
  2691. .end local v21 #target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  2692. .end local v23 #targetMaxRad:D
  2693. .end local v25 #targetMinRad:D
  2694. .end local v28 #touchRadius:F
  2695. .end local v29 #tx:F
  2696. .end local v30 #ty:F
  2697. :cond_7
  2698. move-object/from16 v0, p1
  2699.  
  2700. invoke-virtual {v0, v4}, Landroid/view/MotionEvent;->getX(I)F
  2701.  
  2702. move-result v10
  2703.  
  2704. goto/16 :goto_2
  2705.  
  2706. .line 951
  2707. .restart local v10 #eventX:F
  2708. :cond_8
  2709. move-object/from16 v0, p1
  2710.  
  2711. invoke-virtual {v0, v4}, Landroid/view/MotionEvent;->getY(I)F
  2712.  
  2713. move-result v11
  2714.  
  2715. goto/16 :goto_3
  2716.  
  2717. .line 957
  2718. .restart local v11 #eventY:F
  2719. .restart local v28 #touchRadius:F
  2720. .restart local v29 #tx:F
  2721. .restart local v30 #ty:F
  2722. :cond_9
  2723. const/high16 v18, 0x3f80
  2724.  
  2725. goto/16 :goto_4
  2726.  
  2727. .line 977
  2728. .restart local v8 #angleRad:D
  2729. .restart local v13 #i:I
  2730. .restart local v15 #limitX:F
  2731. .restart local v16 #limitY:F
  2732. .restart local v18 #scale:F
  2733. .restart local v19 #snapDistance2:F
  2734. .restart local v20 #snapRadius:F
  2735. .restart local v21 #target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  2736. .restart local v23 #targetMaxRad:D
  2737. .restart local v25 #targetMinRad:D
  2738. :cond_a
  2739. const/4 v7, 0x0
  2740.  
  2741. goto :goto_6
  2742.  
  2743. .line 990
  2744. .end local v13 #i:I
  2745. .end local v19 #snapDistance2:F
  2746. .end local v20 #snapRadius:F
  2747. .end local v21 #target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  2748. .end local v23 #targetMaxRad:D
  2749. .end local v25 #targetMinRad:D
  2750. :cond_b
  2751. move/from16 v31, v15
  2752.  
  2753. .line 991
  2754. move/from16 v32, v16
  2755.  
  2756. .line 948
  2757. add-int/lit8 v14, v14, 0x1
  2758.  
  2759. goto/16 :goto_1
  2760.  
  2761. .line 994
  2762. .end local v8 #angleRad:D
  2763. .end local v10 #eventX:F
  2764. .end local v11 #eventY:F
  2765. .end local v15 #limitX:F
  2766. .end local v16 #limitY:F
  2767. .end local v18 #scale:F
  2768. .end local v28 #touchRadius:F
  2769. .end local v29 #tx:F
  2770. .end local v30 #ty:F
  2771. :cond_c
  2772. move-object/from16 v0, p0
  2773.  
  2774. iget-boolean v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mDragging:Z
  2775.  
  2776. move/from16 v33, v0
  2777.  
  2778. if-eqz v33, :cond_0
  2779.  
  2780. .line 998
  2781. const/16 v33, -0x1
  2782.  
  2783. move/from16 v0, v33
  2784.  
  2785. if-eq v6, v0, :cond_12
  2786.  
  2787. .line 999
  2788. const/16 v33, 0x4
  2789.  
  2790. move-object/from16 v0, p0
  2791.  
  2792. move/from16 v1, v33
  2793.  
  2794. move/from16 v2, v31
  2795.  
  2796. move/from16 v3, v32
  2797.  
  2798. invoke-virtual {v0, v1, v2, v3}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->switchToState(IFF)V
  2799.  
  2800. .line 1000
  2801. move-object/from16 v0, p0
  2802.  
  2803. move/from16 v1, v31
  2804.  
  2805. move/from16 v2, v32
  2806.  
  2807. invoke-direct {v0, v1, v2}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->updateGlowPosition(FF)V
  2808.  
  2809. .line 1006
  2810. :goto_7
  2811. move-object/from16 v0, p0
  2812.  
  2813. iget v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mActiveTarget:I
  2814.  
  2815. move/from16 v33, v0
  2816.  
  2817. move/from16 v0, v33
  2818.  
  2819. if-eq v0, v6, :cond_11
  2820.  
  2821. .line 1008
  2822. move-object/from16 v0, p0
  2823.  
  2824. iget v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mActiveTarget:I
  2825.  
  2826. move/from16 v33, v0
  2827.  
  2828. const/16 v34, -0x1
  2829.  
  2830. move/from16 v0, v33
  2831.  
  2832. move/from16 v1, v34
  2833.  
  2834. if-eq v0, v1, :cond_e
  2835.  
  2836. .line 1009
  2837. move-object/from16 v0, p0
  2838.  
  2839. iget v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mActiveTarget:I
  2840.  
  2841. move/from16 v33, v0
  2842.  
  2843. move-object/from16 v0, v27
  2844.  
  2845. move/from16 v1, v33
  2846.  
  2847. invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
  2848.  
  2849. move-result-object v21
  2850.  
  2851. check-cast v21, Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  2852.  
  2853. .line 1010
  2854. .restart local v21 #target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  2855. sget-object v33, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->STATE_FOCUSED:[I
  2856.  
  2857. move-object/from16 v0, v21
  2858.  
  2859. move-object/from16 v1, v33
  2860.  
  2861. invoke-virtual {v0, v1}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->hasState([I)Z
  2862.  
  2863. move-result v33
  2864.  
  2865. if-eqz v33, :cond_d
  2866.  
  2867. .line 1011
  2868. sget-object v33, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->STATE_INACTIVE:[I
  2869.  
  2870. move-object/from16 v0, v21
  2871.  
  2872. move-object/from16 v1, v33
  2873.  
  2874. invoke-virtual {v0, v1}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->setState([I)V
  2875.  
  2876. .line 1013
  2877. :cond_d
  2878. move-object/from16 v0, p0
  2879.  
  2880. iget-boolean v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMagneticTargets:Z
  2881.  
  2882. move/from16 v33, v0
  2883.  
  2884. if-eqz v33, :cond_e
  2885.  
  2886. .line 1014
  2887. move-object/from16 v0, p0
  2888.  
  2889. iget v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mActiveTarget:I
  2890.  
  2891. move/from16 v33, v0
  2892.  
  2893. move-object/from16 v0, p0
  2894.  
  2895. iget v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveCenterX:F
  2896.  
  2897. move/from16 v34, v0
  2898.  
  2899. move-object/from16 v0, p0
  2900.  
  2901. iget v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveCenterY:F
  2902.  
  2903. move/from16 v35, v0
  2904.  
  2905. move-object/from16 v0, p0
  2906.  
  2907. move/from16 v1, v33
  2908.  
  2909. move/from16 v2, v34
  2910.  
  2911. move/from16 v3, v35
  2912.  
  2913. invoke-direct {v0, v1, v2, v3}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->updateTargetPosition(IFF)V
  2914.  
  2915. .line 1018
  2916. .end local v21 #target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  2917. :cond_e
  2918. const/16 v33, -0x1
  2919.  
  2920. move/from16 v0, v33
  2921.  
  2922. if-eq v6, v0, :cond_11
  2923.  
  2924. .line 1019
  2925. move-object/from16 v0, v27
  2926.  
  2927. invoke-virtual {v0, v6}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
  2928.  
  2929. move-result-object v21
  2930.  
  2931. check-cast v21, Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  2932.  
  2933. .line 1020
  2934. .restart local v21 #target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  2935. sget-object v33, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->STATE_FOCUSED:[I
  2936.  
  2937. move-object/from16 v0, v21
  2938.  
  2939. move-object/from16 v1, v33
  2940.  
  2941. invoke-virtual {v0, v1}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->hasState([I)Z
  2942.  
  2943. move-result v33
  2944.  
  2945. if-eqz v33, :cond_f
  2946.  
  2947. .line 1021
  2948. sget-object v33, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->STATE_FOCUSED:[I
  2949.  
  2950. move-object/from16 v0, v21
  2951.  
  2952. move-object/from16 v1, v33
  2953.  
  2954. invoke-virtual {v0, v1}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->setState([I)V
  2955.  
  2956. .line 1023
  2957. :cond_f
  2958. move-object/from16 v0, p0
  2959.  
  2960. iget-boolean v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMagneticTargets:Z
  2961.  
  2962. move/from16 v33, v0
  2963.  
  2964. if-eqz v33, :cond_10
  2965.  
  2966. .line 1024
  2967. move-object/from16 v0, p0
  2968.  
  2969. iget v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveCenterX:F
  2970.  
  2971. move/from16 v33, v0
  2972.  
  2973. move-object/from16 v0, p0
  2974.  
  2975. iget v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveCenterY:F
  2976.  
  2977. move/from16 v34, v0
  2978.  
  2979. move-object/from16 v0, p0
  2980.  
  2981. move/from16 v1, v33
  2982.  
  2983. move/from16 v2, v34
  2984.  
  2985. invoke-virtual {v0, v6, v1, v2, v5}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->updateTargetPosition(IFFF)V
  2986.  
  2987. .line 1026
  2988. :cond_10
  2989. move-object/from16 v0, p0
  2990.  
  2991. iget-object v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mContext:Landroid/content/Context;
  2992.  
  2993. move-object/from16 v33, v0
  2994.  
  2995. invoke-static/range {v33 .. v33}, Landroid/view/accessibility/AccessibilityManager;->getInstance(Landroid/content/Context;)Landroid/view/accessibility/AccessibilityManager;
  2996.  
  2997. move-result-object v33
  2998.  
  2999. invoke-virtual/range {v33 .. v33}, Landroid/view/accessibility/AccessibilityManager;->isEnabled()Z
  3000.  
  3001. move-result v33
  3002.  
  3003. if-eqz v33, :cond_11
  3004.  
  3005. .line 1027
  3006. move-object/from16 v0, p0
  3007.  
  3008. invoke-direct {v0, v6}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->getTargetDescription(I)Ljava/lang/String;
  3009.  
  3010. move-result-object v22
  3011.  
  3012. .line 1028
  3013. .local v22, targetContentDescription:Ljava/lang/String;
  3014. move-object/from16 v0, p0
  3015.  
  3016. move-object/from16 v1, v22
  3017.  
  3018. invoke-virtual {v0, v1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->announceForAccessibility(Ljava/lang/CharSequence;)V
  3019.  
  3020. .line 1032
  3021. .end local v21 #target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  3022. .end local v22 #targetContentDescription:Ljava/lang/String;
  3023. :cond_11
  3024. move-object/from16 v0, p0
  3025.  
  3026. iput v6, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mActiveTarget:I
  3027.  
  3028. goto/16 :goto_0
  3029.  
  3030. .line 1002
  3031. :cond_12
  3032. const/16 v33, 0x3
  3033.  
  3034. move-object/from16 v0, p0
  3035.  
  3036. move/from16 v1, v33
  3037.  
  3038. move/from16 v2, v31
  3039.  
  3040. move/from16 v3, v32
  3041.  
  3042. invoke-virtual {v0, v1, v2, v3}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->switchToState(IFF)V
  3043.  
  3044. .line 1003
  3045. move-object/from16 v0, p0
  3046.  
  3047. move/from16 v1, v31
  3048.  
  3049. move/from16 v2, v32
  3050.  
  3051. invoke-direct {v0, v1, v2}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->updateGlowPosition(FF)V
  3052.  
  3053. goto/16 :goto_7
  3054. .end method
  3055.  
  3056. .method private handleUp(Landroid/view/MotionEvent;)V
  3057. .locals 4
  3058. .parameter "event"
  3059.  
  3060. .prologue
  3061. .line 917
  3062. invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionIndex()I
  3063.  
  3064. move-result v0
  3065.  
  3066. .line 918
  3067. .local v0, actionIndex:I
  3068. invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getPointerId(I)I
  3069.  
  3070. move-result v1
  3071.  
  3072. iget v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPointerId:I
  3073.  
  3074. if-ne v1, v2, :cond_0
  3075.  
  3076. .line 919
  3077. const/4 v1, 0x5
  3078.  
  3079. invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getX(I)F
  3080.  
  3081. move-result v2
  3082.  
  3083. invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getY(I)F
  3084.  
  3085. move-result v3
  3086.  
  3087. invoke-virtual {p0, v1, v2, v3}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->switchToState(IFF)V
  3088.  
  3089. .line 921
  3090. :cond_0
  3091. return-void
  3092. .end method
  3093.  
  3094. .method private hideGlow(IIFLandroid/animation/Animator$AnimatorListener;)V
  3095. .locals 8
  3096. .parameter "duration"
  3097. .parameter "delay"
  3098. .parameter "finalAlpha"
  3099. .parameter "finishListener"
  3100.  
  3101. .prologue
  3102. const/4 v7, 0x0
  3103.  
  3104. .line 459
  3105. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mGlowAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  3106.  
  3107. invoke-virtual {v0}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->cancel()V
  3108.  
  3109. .line 460
  3110. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mGlowAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  3111.  
  3112. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPointCloud:Lcom/android/internal/widget/multiwaveview/PointCloud;
  3113.  
  3114. iget-object v1, v1, Lcom/android/internal/widget/multiwaveview/PointCloud;->glowManager:Lcom/android/internal/widget/multiwaveview/PointCloud$GlowManager;
  3115.  
  3116. int-to-long v2, p1
  3117.  
  3118. const/16 v4, 0xe
  3119.  
  3120. new-array v4, v4, [Ljava/lang/Object;
  3121.  
  3122. const/4 v5, 0x0
  3123.  
  3124. const-string v6, "ease"
  3125.  
  3126. aput-object v6, v4, v5
  3127.  
  3128. const/4 v5, 0x1
  3129.  
  3130. sget-object v6, Lcom/android/internal/widget/multiwaveview/Ease$Quart;->easeOut:Landroid/animation/TimeInterpolator;
  3131.  
  3132. aput-object v6, v4, v5
  3133.  
  3134. const/4 v5, 0x2
  3135.  
  3136. const-string v6, "delay"
  3137.  
  3138. aput-object v6, v4, v5
  3139.  
  3140. const/4 v5, 0x3
  3141.  
  3142. invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  3143.  
  3144. move-result-object v6
  3145.  
  3146. aput-object v6, v4, v5
  3147.  
  3148. const/4 v5, 0x4
  3149.  
  3150. const-string v6, "alpha"
  3151.  
  3152. aput-object v6, v4, v5
  3153.  
  3154. const/4 v5, 0x5
  3155.  
  3156. invoke-static {p3}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
  3157.  
  3158. move-result-object v6
  3159.  
  3160. aput-object v6, v4, v5
  3161.  
  3162. const/4 v5, 0x6
  3163.  
  3164. const-string v6, "x"
  3165.  
  3166. aput-object v6, v4, v5
  3167.  
  3168. const/4 v5, 0x7
  3169.  
  3170. invoke-static {v7}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
  3171.  
  3172. move-result-object v6
  3173.  
  3174. aput-object v6, v4, v5
  3175.  
  3176. const/16 v5, 0x8
  3177.  
  3178. const-string v6, "y"
  3179.  
  3180. aput-object v6, v4, v5
  3181.  
  3182. const/16 v5, 0x9
  3183.  
  3184. invoke-static {v7}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
  3185.  
  3186. move-result-object v6
  3187.  
  3188. aput-object v6, v4, v5
  3189.  
  3190. const/16 v5, 0xa
  3191.  
  3192. const-string v6, "onUpdate"
  3193.  
  3194. aput-object v6, v4, v5
  3195.  
  3196. const/16 v5, 0xb
  3197.  
  3198. iget-object v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mUpdateListener:Landroid/animation/ValueAnimator$AnimatorUpdateListener;
  3199.  
  3200. aput-object v6, v4, v5
  3201.  
  3202. const/16 v5, 0xc
  3203.  
  3204. const-string v6, "onComplete"
  3205.  
  3206. aput-object v6, v4, v5
  3207.  
  3208. const/16 v5, 0xd
  3209.  
  3210. aput-object p4, v4, v5
  3211.  
  3212. invoke-static {v1, v2, v3, v4}, Lcom/android/internal/widget/multiwaveview/Tweener;->to(Ljava/lang/Object;J[Ljava/lang/Object;)Lcom/android/internal/widget/multiwaveview/Tweener;
  3213.  
  3214. move-result-object v1
  3215.  
  3216. invoke-virtual {v0, v1}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->add(Ljava/lang/Object;)Z
  3217.  
  3218. .line 468
  3219. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mGlowAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  3220.  
  3221. invoke-virtual {v0}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->start()V
  3222.  
  3223. .line 469
  3224. return-void
  3225. .end method
  3226.  
  3227. .method hideTargets(ZZ)V
  3228. .locals 17
  3229. .parameter "animate"
  3230. .parameter "expanded"
  3231.  
  3232. .prologue
  3233. .line 538
  3234. move-object/from16 v0, p0
  3235.  
  3236. iget-object v10, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  3237.  
  3238. invoke-virtual {v10}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->cancel()V
  3239.  
  3240. .line 541
  3241. move/from16 v0, p1
  3242.  
  3243. move-object/from16 v1, p0
  3244.  
  3245. iput-boolean v0, v1, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mAnimatingTargets:Z
  3246.  
  3247. .line 542
  3248. if-eqz p1, :cond_0
  3249.  
  3250. const/16 v3, 0xc8
  3251.  
  3252. .line 543
  3253. .local v3, duration:I
  3254. :goto_0
  3255. if-eqz p1, :cond_1
  3256.  
  3257. const/16 v2, 0xc8
  3258.  
  3259. .line 545
  3260. .local v2, delay:I
  3261. :goto_1
  3262. if-eqz p2, :cond_2
  3263.  
  3264. const/high16 v9, 0x3f80
  3265.  
  3266. .line 547
  3267. .local v9, targetScale:F
  3268. :goto_2
  3269. move-object/from16 v0, p0
  3270.  
  3271. iget-object v10, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  3272.  
  3273. invoke-virtual {v10}, Ljava/util/ArrayList;->size()I
  3274.  
  3275. move-result v6
  3276.  
  3277. .line 548
  3278. .local v6, length:I
  3279. sget-object v5, Lcom/android/internal/widget/multiwaveview/Ease$Cubic;->easeOut:Landroid/animation/TimeInterpolator;
  3280.  
  3281. .line 549
  3282. .local v5, interpolator:Landroid/animation/TimeInterpolator;
  3283. const/4 v4, 0x0
  3284.  
  3285. .local v4, i:I
  3286. :goto_3
  3287. if-ge v4, v6, :cond_3
  3288.  
  3289. .line 550
  3290. move-object/from16 v0, p0
  3291.  
  3292. iget-object v10, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  3293.  
  3294. invoke-virtual {v10, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
  3295.  
  3296. move-result-object v8
  3297.  
  3298. check-cast v8, Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  3299.  
  3300. .line 551
  3301. .local v8, target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  3302. sget-object v10, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->STATE_INACTIVE:[I
  3303.  
  3304. invoke-virtual {v8, v10}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->setState([I)V
  3305.  
  3306. .line 552
  3307. move-object/from16 v0, p0
  3308.  
  3309. iget-object v10, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  3310.  
  3311. int-to-long v11, v3
  3312.  
  3313. const/16 v13, 0xc
  3314.  
  3315. new-array v13, v13, [Ljava/lang/Object;
  3316.  
  3317. const/4 v14, 0x0
  3318.  
  3319. const-string v15, "ease"
  3320.  
  3321. aput-object v15, v13, v14
  3322.  
  3323. const/4 v14, 0x1
  3324.  
  3325. aput-object v5, v13, v14
  3326.  
  3327. const/4 v14, 0x2
  3328.  
  3329. const-string v15, "alpha"
  3330.  
  3331. aput-object v15, v13, v14
  3332.  
  3333. const/4 v14, 0x3
  3334.  
  3335. const/4 v15, 0x0
  3336.  
  3337. invoke-static {v15}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
  3338.  
  3339. move-result-object v15
  3340.  
  3341. aput-object v15, v13, v14
  3342.  
  3343. const/4 v14, 0x4
  3344.  
  3345. const-string v15, "scaleX"
  3346.  
  3347. aput-object v15, v13, v14
  3348.  
  3349. const/4 v14, 0x5
  3350.  
  3351. invoke-static {v9}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
  3352.  
  3353. move-result-object v15
  3354.  
  3355. aput-object v15, v13, v14
  3356.  
  3357. const/4 v14, 0x6
  3358.  
  3359. const-string v15, "scaleY"
  3360.  
  3361. aput-object v15, v13, v14
  3362.  
  3363. const/4 v14, 0x7
  3364.  
  3365. invoke-static {v9}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
  3366.  
  3367. move-result-object v15
  3368.  
  3369. aput-object v15, v13, v14
  3370.  
  3371. const/16 v14, 0x8
  3372.  
  3373. const-string v15, "delay"
  3374.  
  3375. aput-object v15, v13, v14
  3376.  
  3377. const/16 v14, 0x9
  3378.  
  3379. invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  3380.  
  3381. move-result-object v15
  3382.  
  3383. aput-object v15, v13, v14
  3384.  
  3385. const/16 v14, 0xa
  3386.  
  3387. const-string v15, "onUpdate"
  3388.  
  3389. aput-object v15, v13, v14
  3390.  
  3391. const/16 v14, 0xb
  3392.  
  3393. move-object/from16 v0, p0
  3394.  
  3395. iget-object v15, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mUpdateListener:Landroid/animation/ValueAnimator$AnimatorUpdateListener;
  3396.  
  3397. aput-object v15, v13, v14
  3398.  
  3399. invoke-static {v8, v11, v12, v13}, Lcom/android/internal/widget/multiwaveview/Tweener;->to(Ljava/lang/Object;J[Ljava/lang/Object;)Lcom/android/internal/widget/multiwaveview/Tweener;
  3400.  
  3401. move-result-object v11
  3402.  
  3403. invoke-virtual {v10, v11}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->add(Ljava/lang/Object;)Z
  3404.  
  3405. .line 549
  3406. add-int/lit8 v4, v4, 0x1
  3407.  
  3408. goto :goto_3
  3409.  
  3410. .line 542
  3411. .end local v2 #delay:I
  3412. .end local v3 #duration:I
  3413. .end local v4 #i:I
  3414. .end local v5 #interpolator:Landroid/animation/TimeInterpolator;
  3415. .end local v6 #length:I
  3416. .end local v8 #target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  3417. .end local v9 #targetScale:F
  3418. :cond_0
  3419. const/4 v3, 0x0
  3420.  
  3421. goto/16 :goto_0
  3422.  
  3423. .line 543
  3424. .restart local v3 #duration:I
  3425. :cond_1
  3426. const/4 v2, 0x0
  3427.  
  3428. goto :goto_1
  3429.  
  3430. .line 545
  3431. .restart local v2 #delay:I
  3432. :cond_2
  3433. const v9, 0x3f4ccccd
  3434.  
  3435. goto :goto_2
  3436.  
  3437. .line 561
  3438. .restart local v4 #i:I
  3439. .restart local v5 #interpolator:Landroid/animation/TimeInterpolator;
  3440. .restart local v6 #length:I
  3441. .restart local v9 #targetScale:F
  3442. :cond_3
  3443. if-eqz p2, :cond_4
  3444.  
  3445. const/high16 v7, 0x3f80
  3446.  
  3447. .line 563
  3448. .local v7, ringScaleTarget:F
  3449. :goto_4
  3450. move-object/from16 v0, p0
  3451.  
  3452. iget v10, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mRingScaleFactor:F
  3453.  
  3454. mul-float/2addr v7, v10
  3455.  
  3456. .line 564
  3457. move-object/from16 v0, p0
  3458.  
  3459. iget-object v10, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  3460.  
  3461. move-object/from16 v0, p0
  3462.  
  3463. iget-object v11, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRing:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  3464.  
  3465. int-to-long v12, v3
  3466.  
  3467. const/16 v14, 0xe
  3468.  
  3469. new-array v14, v14, [Ljava/lang/Object;
  3470.  
  3471. const/4 v15, 0x0
  3472.  
  3473. const-string v16, "ease"
  3474.  
  3475. aput-object v16, v14, v15
  3476.  
  3477. const/4 v15, 0x1
  3478.  
  3479. aput-object v5, v14, v15
  3480.  
  3481. const/4 v15, 0x2
  3482.  
  3483. const-string v16, "alpha"
  3484.  
  3485. aput-object v16, v14, v15
  3486.  
  3487. const/4 v15, 0x3
  3488.  
  3489. const/16 v16, 0x0
  3490.  
  3491. invoke-static/range {v16 .. v16}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
  3492.  
  3493. move-result-object v16
  3494.  
  3495. aput-object v16, v14, v15
  3496.  
  3497. const/4 v15, 0x4
  3498.  
  3499. const-string v16, "scaleX"
  3500.  
  3501. aput-object v16, v14, v15
  3502.  
  3503. const/4 v15, 0x5
  3504.  
  3505. invoke-static {v7}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
  3506.  
  3507. move-result-object v16
  3508.  
  3509. aput-object v16, v14, v15
  3510.  
  3511. const/4 v15, 0x6
  3512.  
  3513. const-string v16, "scaleY"
  3514.  
  3515. aput-object v16, v14, v15
  3516.  
  3517. const/4 v15, 0x7
  3518.  
  3519. invoke-static {v7}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
  3520.  
  3521. move-result-object v16
  3522.  
  3523. aput-object v16, v14, v15
  3524.  
  3525. const/16 v15, 0x8
  3526.  
  3527. const-string v16, "delay"
  3528.  
  3529. aput-object v16, v14, v15
  3530.  
  3531. const/16 v15, 0x9
  3532.  
  3533. invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  3534.  
  3535. move-result-object v16
  3536.  
  3537. aput-object v16, v14, v15
  3538.  
  3539. const/16 v15, 0xa
  3540.  
  3541. const-string v16, "onUpdate"
  3542.  
  3543. aput-object v16, v14, v15
  3544.  
  3545. const/16 v15, 0xb
  3546.  
  3547. move-object/from16 v0, p0
  3548.  
  3549. iget-object v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mUpdateListener:Landroid/animation/ValueAnimator$AnimatorUpdateListener;
  3550.  
  3551. move-object/from16 v16, v0
  3552.  
  3553. aput-object v16, v14, v15
  3554.  
  3555. const/16 v15, 0xc
  3556.  
  3557. const-string v16, "onComplete"
  3558.  
  3559. aput-object v16, v14, v15
  3560.  
  3561. const/16 v15, 0xd
  3562.  
  3563. move-object/from16 v0, p0
  3564.  
  3565. iget-object v0, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetUpdateListener:Landroid/animation/Animator$AnimatorListener;
  3566.  
  3567. move-object/from16 v16, v0
  3568.  
  3569. aput-object v16, v14, v15
  3570.  
  3571. invoke-static {v11, v12, v13, v14}, Lcom/android/internal/widget/multiwaveview/Tweener;->to(Ljava/lang/Object;J[Ljava/lang/Object;)Lcom/android/internal/widget/multiwaveview/Tweener;
  3572.  
  3573. move-result-object v11
  3574.  
  3575. invoke-virtual {v10, v11}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->add(Ljava/lang/Object;)Z
  3576.  
  3577. .line 573
  3578. move-object/from16 v0, p0
  3579.  
  3580. iget-object v10, v0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  3581.  
  3582. invoke-virtual {v10}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->start()V
  3583.  
  3584. .line 574
  3585. return-void
  3586.  
  3587. .line 561
  3588. .end local v7 #ringScaleTarget:F
  3589. :cond_4
  3590. const/high16 v7, 0x3f00
  3591.  
  3592. goto :goto_4
  3593. .end method
  3594.  
  3595. .method private hideUnselected(I)V
  3596. .locals 3
  3597. .parameter "active"
  3598.  
  3599. .prologue
  3600. .line 530
  3601. const/4 v0, 0x0
  3602.  
  3603. .local v0, i:I
  3604. :goto_0
  3605. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  3606.  
  3607. invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
  3608.  
  3609. move-result v1
  3610.  
  3611. if-ge v0, v1, :cond_1
  3612.  
  3613. .line 531
  3614. if-eq v0, p1, :cond_0
  3615.  
  3616. .line 532
  3617. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  3618.  
  3619. invoke-virtual {v1, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
  3620.  
  3621. move-result-object v1
  3622.  
  3623. check-cast v1, Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  3624.  
  3625. const/4 v2, 0x0
  3626.  
  3627. invoke-virtual {v1, v2}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->setAlpha(F)V
  3628.  
  3629. .line 530
  3630. :cond_0
  3631. add-int/lit8 v0, v0, 0x1
  3632.  
  3633. goto :goto_0
  3634.  
  3635. .line 535
  3636. :cond_1
  3637. return-void
  3638. .end method
  3639.  
  3640. .method private highlightSelected(I)V
  3641. .locals 2
  3642. .parameter "activeTarget"
  3643.  
  3644. .prologue
  3645. .line 525
  3646. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  3647.  
  3648. invoke-virtual {v0, p1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
  3649.  
  3650. move-result-object v0
  3651.  
  3652. check-cast v0, Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  3653.  
  3654. sget-object v1, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->STATE_ACTIVE:[I
  3655.  
  3656. invoke-virtual {v0, v1}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->setState([I)V
  3657.  
  3658. .line 526
  3659. invoke-direct {p0, p1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->hideUnselected(I)V
  3660.  
  3661. .line 527
  3662. return-void
  3663. .end method
  3664.  
  3665. .method private internalSetTargetResources(I)V
  3666. .locals 8
  3667. .parameter "resourceId"
  3668.  
  3669. .prologue
  3670. .line 631
  3671. invoke-direct {p0, p1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->loadDrawableArray(I)Ljava/util/ArrayList;
  3672.  
  3673. move-result-object v5
  3674.  
  3675. .line 632
  3676. .local v5, targets:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lcom/android/internal/widget/multiwaveview/TargetDrawable;>;"
  3677. invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
  3678.  
  3679. move-result v6
  3680.  
  3681. if-nez v6, :cond_0
  3682.  
  3683. .line 633
  3684. new-instance v6, Ljava/lang/IllegalStateException;
  3685.  
  3686. const-string v7, "Must specify at least one target drawable"
  3687.  
  3688. invoke-direct {v6, v7}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
  3689.  
  3690. throw v6
  3691.  
  3692. .line 636
  3693. :cond_0
  3694. iput-object v5, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  3695.  
  3696. .line 637
  3697. iput p1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetResourceId:I
  3698.  
  3699. .line 639
  3700. iget-object v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  3701.  
  3702. invoke-virtual {v6}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getWidth()I
  3703.  
  3704. move-result v3
  3705.  
  3706. .line 640
  3707. .local v3, maxWidth:I
  3708. iget-object v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  3709.  
  3710. invoke-virtual {v6}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getHeight()I
  3711.  
  3712. move-result v2
  3713.  
  3714. .line 641
  3715. .local v2, maxHeight:I
  3716. invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
  3717.  
  3718. move-result v0
  3719.  
  3720. .line 642
  3721. .local v0, count:I
  3722. const/4 v1, 0x0
  3723.  
  3724. .local v1, i:I
  3725. :goto_0
  3726. if-ge v1, v0, :cond_1
  3727.  
  3728. .line 643
  3729. invoke-virtual {v5, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
  3730.  
  3731. move-result-object v4
  3732.  
  3733. check-cast v4, Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  3734.  
  3735. .line 644
  3736. .local v4, target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  3737. invoke-virtual {v4}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getWidth()I
  3738.  
  3739. move-result v6
  3740.  
  3741. invoke-static {v3, v6}, Ljava/lang/Math;->max(II)I
  3742.  
  3743. move-result v3
  3744.  
  3745. .line 645
  3746. invoke-virtual {v4}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getHeight()I
  3747.  
  3748. move-result v6
  3749.  
  3750. invoke-static {v2, v6}, Ljava/lang/Math;->max(II)I
  3751.  
  3752. move-result v2
  3753.  
  3754. .line 642
  3755. add-int/lit8 v1, v1, 0x1
  3756.  
  3757. goto :goto_0
  3758.  
  3759. .line 647
  3760. .end local v4 #target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  3761. :cond_1
  3762. iget v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMaxTargetWidth:I
  3763.  
  3764. if-ne v6, v3, :cond_2
  3765.  
  3766. iget v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMaxTargetHeight:I
  3767.  
  3768. if-eq v6, v2, :cond_3
  3769.  
  3770. .line 648
  3771. :cond_2
  3772. iput v3, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMaxTargetWidth:I
  3773.  
  3774. .line 649
  3775. iput v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMaxTargetHeight:I
  3776.  
  3777. .line 650
  3778. invoke-virtual {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->requestLayout()V
  3779.  
  3780. .line 655
  3781. :goto_1
  3782. return-void
  3783.  
  3784. .line 652
  3785. :cond_3
  3786. iget v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveCenterX:F
  3787.  
  3788. iget v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveCenterY:F
  3789.  
  3790. invoke-direct {p0, v6, v7}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->updateTargetPositions(FF)V
  3791.  
  3792. .line 653
  3793. iget v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveCenterX:F
  3794.  
  3795. iget v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveCenterY:F
  3796.  
  3797. invoke-direct {p0, v6, v7}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->updatePointCloudPosition(FF)V
  3798.  
  3799. goto :goto_1
  3800. .end method
  3801.  
  3802. .method private internalSetTargetResources(Ljava/util/ArrayList;)V
  3803. .locals 8
  3804. .parameter
  3805. .annotation system Ldalvik/annotation/Signature;
  3806. value = {
  3807. "(",
  3808. "Ljava/util/ArrayList",
  3809. "<",
  3810. "Lcom/android/internal/widget/multiwaveview/TargetDrawable;",
  3811. ">;)V"
  3812. }
  3813. .end annotation
  3814.  
  3815. .prologue
  3816. .local p1, targets:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lcom/android/internal/widget/multiwaveview/TargetDrawable;>;"
  3817. const/4 v7, 0x0
  3818.  
  3819. .line 658
  3820. if-eqz p1, :cond_0
  3821.  
  3822. invoke-virtual {p1}, Ljava/util/ArrayList;->size()I
  3823.  
  3824. move-result v5
  3825.  
  3826. if-nez v5, :cond_1
  3827.  
  3828. .line 659
  3829. :cond_0
  3830. new-instance v5, Ljava/lang/IllegalStateException;
  3831.  
  3832. const-string v6, "Must specify at least one target drawable"
  3833.  
  3834. invoke-direct {v5, v6}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
  3835.  
  3836. throw v5
  3837.  
  3838. .line 661
  3839. :cond_1
  3840. iput v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetResourceId:I
  3841.  
  3842. .line 662
  3843. iput-object p1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  3844.  
  3845. .line 664
  3846. iget-object v5, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  3847.  
  3848. invoke-virtual {v5}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getWidth()I
  3849.  
  3850. move-result v3
  3851.  
  3852. .line 665
  3853. .local v3, maxWidth:I
  3854. iget-object v5, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  3855.  
  3856. invoke-virtual {v5}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getHeight()I
  3857.  
  3858. move-result v2
  3859.  
  3860. .line 666
  3861. .local v2, maxHeight:I
  3862. invoke-virtual {p1}, Ljava/util/ArrayList;->size()I
  3863.  
  3864. move-result v0
  3865.  
  3866. .line 667
  3867. .local v0, count:I
  3868. const/4 v1, 0x0
  3869.  
  3870. .local v1, i:I
  3871. :goto_0
  3872. if-ge v1, v0, :cond_2
  3873.  
  3874. .line 668
  3875. invoke-virtual {p1, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
  3876.  
  3877. move-result-object v4
  3878.  
  3879. check-cast v4, Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  3880.  
  3881. .line 669
  3882. .local v4, target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  3883. invoke-virtual {v4}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getWidth()I
  3884.  
  3885. move-result v5
  3886.  
  3887. invoke-static {v3, v5}, Ljava/lang/Math;->max(II)I
  3888.  
  3889. move-result v3
  3890.  
  3891. .line 670
  3892. invoke-virtual {v4}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getHeight()I
  3893.  
  3894. move-result v5
  3895.  
  3896. invoke-static {v2, v5}, Ljava/lang/Math;->max(II)I
  3897.  
  3898. move-result v2
  3899.  
  3900. .line 667
  3901. add-int/lit8 v1, v1, 0x1
  3902.  
  3903. goto :goto_0
  3904.  
  3905. .line 672
  3906. .end local v4 #target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  3907. :cond_2
  3908. iget v5, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMaxTargetWidth:I
  3909.  
  3910. if-ne v5, v3, :cond_3
  3911.  
  3912. iget v5, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMaxTargetHeight:I
  3913.  
  3914. if-eq v5, v2, :cond_4
  3915.  
  3916. .line 673
  3917. :cond_3
  3918. iput v3, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMaxTargetWidth:I
  3919.  
  3920. .line 674
  3921. iput v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMaxTargetHeight:I
  3922.  
  3923. .line 675
  3924. invoke-virtual {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->requestLayout()V
  3925.  
  3926. .line 681
  3927. :goto_1
  3928. return-void
  3929.  
  3930. .line 677
  3931. :cond_4
  3932. iget v5, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveCenterX:F
  3933.  
  3934. iget v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveCenterY:F
  3935.  
  3936. invoke-direct {p0, v5, v6}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->updateTargetPositions(FF)V
  3937.  
  3938. .line 678
  3939. iget v5, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveCenterX:F
  3940.  
  3941. iget v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveCenterY:F
  3942.  
  3943. invoke-direct {p0, v5, v6}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->updatePointCloudPosition(FF)V
  3944.  
  3945. .line 679
  3946. invoke-direct {p0, v7, v7}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->hideTargets(ZZ)V
  3947.  
  3948. goto :goto_1
  3949. .end method
  3950.  
  3951. .method private loadDescriptions(I)Ljava/util/ArrayList;
  3952. .locals 6
  3953. .parameter "resourceId"
  3954. .annotation system Ldalvik/annotation/Signature;
  3955. value = {
  3956. "(I)",
  3957. "Ljava/util/ArrayList",
  3958. "<",
  3959. "Ljava/lang/String;",
  3960. ">;"
  3961. }
  3962. .end annotation
  3963.  
  3964. .prologue
  3965. .line 1409
  3966. invoke-virtual {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->getContext()Landroid/content/Context;
  3967.  
  3968. move-result-object v5
  3969.  
  3970. invoke-virtual {v5}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
  3971.  
  3972. move-result-object v5
  3973.  
  3974. invoke-virtual {v5, p1}, Landroid/content/res/Resources;->obtainTypedArray(I)Landroid/content/res/TypedArray;
  3975.  
  3976. move-result-object v0
  3977.  
  3978. .line 1410
  3979. .local v0, array:Landroid/content/res/TypedArray;
  3980. invoke-virtual {v0}, Landroid/content/res/TypedArray;->length()I
  3981.  
  3982. move-result v2
  3983.  
  3984. .line 1411
  3985. .local v2, count:I
  3986. new-instance v4, Ljava/util/ArrayList;
  3987.  
  3988. invoke-direct {v4, v2}, Ljava/util/ArrayList;-><init>(I)V
  3989.  
  3990. .line 1412
  3991. .local v4, targetContentDescriptions:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Ljava/lang/String;>;"
  3992. const/4 v3, 0x0
  3993.  
  3994. .local v3, i:I
  3995. :goto_0
  3996. if-ge v3, v2, :cond_0
  3997.  
  3998. .line 1413
  3999. invoke-virtual {v0, v3}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String;
  4000.  
  4001. move-result-object v1
  4002.  
  4003. .line 1414
  4004. .local v1, contentDescription:Ljava/lang/String;
  4005. invoke-virtual {v4, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
  4006.  
  4007. .line 1412
  4008. add-int/lit8 v3, v3, 0x1
  4009.  
  4010. goto :goto_0
  4011.  
  4012. .line 1416
  4013. .end local v1 #contentDescription:Ljava/lang/String;
  4014. :cond_0
  4015. invoke-virtual {v0}, Landroid/content/res/TypedArray;->recycle()V
  4016.  
  4017. .line 1417
  4018. return-object v4
  4019. .end method
  4020.  
  4021. .method private loadDrawableArray(I)Ljava/util/ArrayList;
  4022. .locals 8
  4023. .parameter "resourceId"
  4024. .annotation system Ldalvik/annotation/Signature;
  4025. value = {
  4026. "(I)",
  4027. "Ljava/util/ArrayList",
  4028. "<",
  4029. "Lcom/android/internal/widget/multiwaveview/TargetDrawable;",
  4030. ">;"
  4031. }
  4032. .end annotation
  4033.  
  4034. .prologue
  4035. .line 617
  4036. invoke-virtual {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->getContext()Landroid/content/Context;
  4037.  
  4038. move-result-object v7
  4039.  
  4040. invoke-virtual {v7}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
  4041.  
  4042. move-result-object v4
  4043.  
  4044. .line 618
  4045. .local v4, res:Landroid/content/res/Resources;
  4046. invoke-virtual {v4, p1}, Landroid/content/res/Resources;->obtainTypedArray(I)Landroid/content/res/TypedArray;
  4047.  
  4048. move-result-object v0
  4049.  
  4050. .line 619
  4051. .local v0, array:Landroid/content/res/TypedArray;
  4052. invoke-virtual {v0}, Landroid/content/res/TypedArray;->length()I
  4053.  
  4054. move-result v1
  4055.  
  4056. .line 620
  4057. .local v1, count:I
  4058. new-instance v2, Ljava/util/ArrayList;
  4059.  
  4060. invoke-direct {v2, v1}, Ljava/util/ArrayList;-><init>(I)V
  4061.  
  4062. .line 621
  4063. .local v2, drawables:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lcom/android/internal/widget/multiwaveview/TargetDrawable;>;"
  4064. const/4 v3, 0x0
  4065.  
  4066. .local v3, i:I
  4067. :goto_0
  4068. if-ge v3, v1, :cond_1
  4069.  
  4070. .line 622
  4071. invoke-virtual {v0, v3}, Landroid/content/res/TypedArray;->peekValue(I)Landroid/util/TypedValue;
  4072.  
  4073. move-result-object v6
  4074.  
  4075. .line 623
  4076. .local v6, value:Landroid/util/TypedValue;
  4077. new-instance v5, Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  4078.  
  4079. if-eqz v6, :cond_0
  4080.  
  4081. iget v7, v6, Landroid/util/TypedValue;->resourceId:I
  4082.  
  4083. :goto_1
  4084. invoke-direct {v5, v4, v7}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;-><init>(Landroid/content/res/Resources;I)V
  4085.  
  4086. .line 624
  4087. .local v5, target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  4088. invoke-virtual {v2, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
  4089.  
  4090. .line 621
  4091. add-int/lit8 v3, v3, 0x1
  4092.  
  4093. goto :goto_0
  4094.  
  4095. .line 623
  4096. .end local v5 #target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  4097. :cond_0
  4098. const/4 v7, 0x0
  4099.  
  4100. goto :goto_1
  4101.  
  4102. .line 626
  4103. .end local v6 #value:Landroid/util/TypedValue;
  4104. :cond_1
  4105. invoke-virtual {v0}, Landroid/content/res/TypedArray;->recycle()V
  4106.  
  4107. .line 627
  4108. return-object v2
  4109. .end method
  4110.  
  4111. .method private replaceTargetDrawables(Landroid/content/res/Resources;II)Z
  4112. .locals 6
  4113. .parameter "res"
  4114. .parameter "existingResourceId"
  4115. .parameter "newResourceId"
  4116.  
  4117. .prologue
  4118. .line 1452
  4119. if-eqz p2, :cond_0
  4120.  
  4121. if-nez p3, :cond_2
  4122.  
  4123. .line 1453
  4124. :cond_0
  4125. const/4 v2, 0x0
  4126.  
  4127. .line 1471
  4128. :cond_1
  4129. :goto_0
  4130. return v2
  4131.  
  4132. .line 1456
  4133. :cond_2
  4134. const/4 v2, 0x0
  4135.  
  4136. .line 1457
  4137. .local v2, result:Z
  4138. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  4139.  
  4140. .line 1458
  4141. .local v0, drawables:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lcom/android/internal/widget/multiwaveview/TargetDrawable;>;"
  4142. invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
  4143.  
  4144. move-result v3
  4145.  
  4146. .line 1459
  4147. .local v3, size:I
  4148. const/4 v1, 0x0
  4149.  
  4150. .local v1, i:I
  4151. :goto_1
  4152. if-ge v1, v3, :cond_4
  4153.  
  4154. .line 1460
  4155. invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
  4156.  
  4157. move-result-object v4
  4158.  
  4159. check-cast v4, Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  4160.  
  4161. .line 1461
  4162. .local v4, target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  4163. if-eqz v4, :cond_3
  4164.  
  4165. invoke-virtual {v4}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getResourceId()I
  4166.  
  4167. move-result v5
  4168.  
  4169. if-ne v5, p2, :cond_3
  4170.  
  4171. .line 1462
  4172. invoke-virtual {v4, p1, p3}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->setDrawable(Landroid/content/res/Resources;I)V
  4173.  
  4174. .line 1463
  4175. const/4 v2, 0x1
  4176.  
  4177. .line 1459
  4178. :cond_3
  4179. add-int/lit8 v1, v1, 0x1
  4180.  
  4181. goto :goto_1
  4182.  
  4183. .line 1467
  4184. .end local v4 #target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  4185. :cond_4
  4186. if-eqz v2, :cond_1
  4187.  
  4188. .line 1468
  4189. invoke-virtual {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->requestLayout()V
  4190.  
  4191. goto :goto_0
  4192. .end method
  4193.  
  4194. .method private resolveMeasured(II)I
  4195. .locals 3
  4196. .parameter "measureSpec"
  4197. .parameter "desired"
  4198.  
  4199. .prologue
  4200. .line 383
  4201. const/4 v0, 0x0
  4202.  
  4203. .line 384
  4204. .local v0, result:I
  4205. invoke-static {p1}, Landroid/view/View$MeasureSpec;->getSize(I)I
  4206.  
  4207. move-result v1
  4208.  
  4209. .line 385
  4210. .local v1, specSize:I
  4211. invoke-static {p1}, Landroid/view/View$MeasureSpec;->getMode(I)I
  4212.  
  4213. move-result v2
  4214.  
  4215. sparse-switch v2, :sswitch_data_0
  4216.  
  4217. .line 394
  4218. move v0, v1
  4219.  
  4220. .line 396
  4221. :goto_0
  4222. return v0
  4223.  
  4224. .line 387
  4225. :sswitch_0
  4226. move v0, p2
  4227.  
  4228. .line 388
  4229. goto :goto_0
  4230.  
  4231. .line 390
  4232. :sswitch_1
  4233. invoke-static {v1, p2}, Ljava/lang/Math;->min(II)I
  4234.  
  4235. move-result v0
  4236.  
  4237. .line 391
  4238. goto :goto_0
  4239.  
  4240. .line 385
  4241. nop
  4242.  
  4243. :sswitch_data_0
  4244. .sparse-switch
  4245. -0x80000000 -> :sswitch_1
  4246. 0x0 -> :sswitch_0
  4247. .end sparse-switch
  4248. .end method
  4249.  
  4250. .method private setGrabbedState(I)V
  4251. .locals 2
  4252. .parameter "newState"
  4253.  
  4254. .prologue
  4255. const/4 v1, 0x1
  4256.  
  4257. .line 1062
  4258. iget v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mGrabbedState:I
  4259.  
  4260. if-eq p1, v0, :cond_1
  4261.  
  4262. .line 1063
  4263. if-eqz p1, :cond_0
  4264.  
  4265. .line 1064
  4266. invoke-direct {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->vibrate()V
  4267.  
  4268. .line 1066
  4269. :cond_0
  4270. iput p1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mGrabbedState:I
  4271.  
  4272. .line 1067
  4273. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOnTriggerListener:Lcom/android/internal/widget/multiwaveview/GlowPadView$OnTriggerListener;
  4274.  
  4275. if-eqz v0, :cond_1
  4276.  
  4277. .line 1068
  4278. if-nez p1, :cond_2
  4279.  
  4280. .line 1069
  4281. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOnTriggerListener:Lcom/android/internal/widget/multiwaveview/GlowPadView$OnTriggerListener;
  4282.  
  4283. invoke-interface {v0, p0, v1}, Lcom/android/internal/widget/multiwaveview/GlowPadView$OnTriggerListener;->onReleased(Landroid/view/View;I)V
  4284.  
  4285. .line 1073
  4286. :goto_0
  4287. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOnTriggerListener:Lcom/android/internal/widget/multiwaveview/GlowPadView$OnTriggerListener;
  4288.  
  4289. invoke-interface {v0, p0, p1}, Lcom/android/internal/widget/multiwaveview/GlowPadView$OnTriggerListener;->onGrabbedStateChange(Landroid/view/View;I)V
  4290.  
  4291. .line 1076
  4292. :cond_1
  4293. return-void
  4294.  
  4295. .line 1071
  4296. :cond_2
  4297. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOnTriggerListener:Lcom/android/internal/widget/multiwaveview/GlowPadView$OnTriggerListener;
  4298.  
  4299. invoke-interface {v0, p0, v1}, Lcom/android/internal/widget/multiwaveview/GlowPadView$OnTriggerListener;->onGrabbed(Landroid/view/View;I)V
  4300.  
  4301. goto :goto_0
  4302. .end method
  4303.  
  4304. .method private showGlow(IIFLandroid/animation/Animator$AnimatorListener;)V
  4305. .locals 7
  4306. .parameter "duration"
  4307. .parameter "delay"
  4308. .parameter "finalAlpha"
  4309. .parameter "finishListener"
  4310.  
  4311. .prologue
  4312. .line 447
  4313. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mGlowAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  4314.  
  4315. invoke-virtual {v0}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->cancel()V
  4316.  
  4317. .line 448
  4318. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mGlowAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  4319.  
  4320. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPointCloud:Lcom/android/internal/widget/multiwaveview/PointCloud;
  4321.  
  4322. iget-object v1, v1, Lcom/android/internal/widget/multiwaveview/PointCloud;->glowManager:Lcom/android/internal/widget/multiwaveview/PointCloud$GlowManager;
  4323.  
  4324. int-to-long v2, p1
  4325.  
  4326. const/16 v4, 0xa
  4327.  
  4328. new-array v4, v4, [Ljava/lang/Object;
  4329.  
  4330. const/4 v5, 0x0
  4331.  
  4332. const-string v6, "ease"
  4333.  
  4334. aput-object v6, v4, v5
  4335.  
  4336. const/4 v5, 0x1
  4337.  
  4338. sget-object v6, Lcom/android/internal/widget/multiwaveview/Ease$Cubic;->easeIn:Landroid/animation/TimeInterpolator;
  4339.  
  4340. aput-object v6, v4, v5
  4341.  
  4342. const/4 v5, 0x2
  4343.  
  4344. const-string v6, "delay"
  4345.  
  4346. aput-object v6, v4, v5
  4347.  
  4348. const/4 v5, 0x3
  4349.  
  4350. invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  4351.  
  4352. move-result-object v6
  4353.  
  4354. aput-object v6, v4, v5
  4355.  
  4356. const/4 v5, 0x4
  4357.  
  4358. const-string v6, "alpha"
  4359.  
  4360. aput-object v6, v4, v5
  4361.  
  4362. const/4 v5, 0x5
  4363.  
  4364. invoke-static {p3}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
  4365.  
  4366. move-result-object v6
  4367.  
  4368. aput-object v6, v4, v5
  4369.  
  4370. const/4 v5, 0x6
  4371.  
  4372. const-string v6, "onUpdate"
  4373.  
  4374. aput-object v6, v4, v5
  4375.  
  4376. const/4 v5, 0x7
  4377.  
  4378. iget-object v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mUpdateListener:Landroid/animation/ValueAnimator$AnimatorUpdateListener;
  4379.  
  4380. aput-object v6, v4, v5
  4381.  
  4382. const/16 v5, 0x8
  4383.  
  4384. const-string v6, "onComplete"
  4385.  
  4386. aput-object v6, v4, v5
  4387.  
  4388. const/16 v5, 0x9
  4389.  
  4390. aput-object p4, v4, v5
  4391.  
  4392. invoke-static {v1, v2, v3, v4}, Lcom/android/internal/widget/multiwaveview/Tweener;->to(Ljava/lang/Object;J[Ljava/lang/Object;)Lcom/android/internal/widget/multiwaveview/Tweener;
  4393.  
  4394. move-result-object v1
  4395.  
  4396. invoke-virtual {v0, v1}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->add(Ljava/lang/Object;)Z
  4397.  
  4398. .line 454
  4399. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mGlowAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  4400.  
  4401. invoke-virtual {v0}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->start()V
  4402.  
  4403. .line 455
  4404. return-void
  4405. .end method
  4406.  
  4407. .method showTargets(Z)V
  4408. .locals 13
  4409. .parameter "animate"
  4410.  
  4411. .prologue
  4412. .line 577
  4413. iget-object v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  4414.  
  4415. invoke-virtual {v6}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->stop()V
  4416.  
  4417. .line 578
  4418. iput-boolean p1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mAnimatingTargets:Z
  4419.  
  4420. .line 579
  4421. if-eqz p1, :cond_0
  4422.  
  4423. const/16 v0, 0x32
  4424.  
  4425. .line 580
  4426. .local v0, delay:I
  4427. :goto_0
  4428. if-eqz p1, :cond_1
  4429.  
  4430. const/16 v1, 0xc8
  4431.  
  4432. .line 581
  4433. .local v1, duration:I
  4434. :goto_1
  4435. iget-object v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  4436.  
  4437. invoke-virtual {v6}, Ljava/util/ArrayList;->size()I
  4438.  
  4439. move-result v3
  4440.  
  4441. .line 582
  4442. .local v3, length:I
  4443. const/4 v2, 0x0
  4444.  
  4445. .local v2, i:I
  4446. :goto_2
  4447. if-ge v2, v3, :cond_2
  4448.  
  4449. .line 583
  4450. iget-object v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  4451.  
  4452. invoke-virtual {v6, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
  4453.  
  4454. move-result-object v5
  4455.  
  4456. check-cast v5, Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  4457.  
  4458. .line 584
  4459. .local v5, target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  4460. sget-object v6, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->STATE_INACTIVE:[I
  4461.  
  4462. invoke-virtual {v5, v6}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->setState([I)V
  4463.  
  4464. .line 585
  4465. iget-object v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  4466.  
  4467. int-to-long v7, v1
  4468.  
  4469. const/16 v9, 0xc
  4470.  
  4471. new-array v9, v9, [Ljava/lang/Object;
  4472.  
  4473. const/4 v10, 0x0
  4474.  
  4475. const-string v11, "ease"
  4476.  
  4477. aput-object v11, v9, v10
  4478.  
  4479. const/4 v10, 0x1
  4480.  
  4481. sget-object v11, Lcom/android/internal/widget/multiwaveview/Ease$Cubic;->easeOut:Landroid/animation/TimeInterpolator;
  4482.  
  4483. aput-object v11, v9, v10
  4484.  
  4485. const/4 v10, 0x2
  4486.  
  4487. const-string v11, "alpha"
  4488.  
  4489. aput-object v11, v9, v10
  4490.  
  4491. const/4 v10, 0x3
  4492.  
  4493. const/high16 v11, 0x3f80
  4494.  
  4495. invoke-static {v11}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
  4496.  
  4497. move-result-object v11
  4498.  
  4499. aput-object v11, v9, v10
  4500.  
  4501. const/4 v10, 0x4
  4502.  
  4503. const-string v11, "scaleX"
  4504.  
  4505. aput-object v11, v9, v10
  4506.  
  4507. const/4 v10, 0x5
  4508.  
  4509. const/high16 v11, 0x3f80
  4510.  
  4511. invoke-static {v11}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
  4512.  
  4513. move-result-object v11
  4514.  
  4515. aput-object v11, v9, v10
  4516.  
  4517. const/4 v10, 0x6
  4518.  
  4519. const-string v11, "scaleY"
  4520.  
  4521. aput-object v11, v9, v10
  4522.  
  4523. const/4 v10, 0x7
  4524.  
  4525. const/high16 v11, 0x3f80
  4526.  
  4527. invoke-static {v11}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
  4528.  
  4529. move-result-object v11
  4530.  
  4531. aput-object v11, v9, v10
  4532.  
  4533. const/16 v10, 0x8
  4534.  
  4535. const-string v11, "delay"
  4536.  
  4537. aput-object v11, v9, v10
  4538.  
  4539. const/16 v10, 0x9
  4540.  
  4541. invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  4542.  
  4543. move-result-object v11
  4544.  
  4545. aput-object v11, v9, v10
  4546.  
  4547. const/16 v10, 0xa
  4548.  
  4549. const-string v11, "onUpdate"
  4550.  
  4551. aput-object v11, v9, v10
  4552.  
  4553. const/16 v10, 0xb
  4554.  
  4555. iget-object v11, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mUpdateListener:Landroid/animation/ValueAnimator$AnimatorUpdateListener;
  4556.  
  4557. aput-object v11, v9, v10
  4558.  
  4559. invoke-static {v5, v7, v8, v9}, Lcom/android/internal/widget/multiwaveview/Tweener;->to(Ljava/lang/Object;J[Ljava/lang/Object;)Lcom/android/internal/widget/multiwaveview/Tweener;
  4560.  
  4561. move-result-object v7
  4562.  
  4563. invoke-virtual {v6, v7}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->add(Ljava/lang/Object;)Z
  4564.  
  4565. .line 582
  4566. add-int/lit8 v2, v2, 0x1
  4567.  
  4568. goto :goto_2
  4569.  
  4570. .line 579
  4571. .end local v0 #delay:I
  4572. .end local v1 #duration:I
  4573. .end local v2 #i:I
  4574. .end local v3 #length:I
  4575. .end local v5 #target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  4576. :cond_0
  4577. const/4 v0, 0x0
  4578.  
  4579. goto :goto_0
  4580.  
  4581. .line 580
  4582. .restart local v0 #delay:I
  4583. :cond_1
  4584. const/4 v1, 0x0
  4585.  
  4586. goto :goto_1
  4587.  
  4588. .line 594
  4589. .restart local v1 #duration:I
  4590. .restart local v2 #i:I
  4591. .restart local v3 #length:I
  4592. :cond_2
  4593. iget v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mRingScaleFactor:F
  4594.  
  4595. const/high16 v7, 0x3f80
  4596.  
  4597. mul-float v4, v6, v7
  4598.  
  4599. .line 595
  4600. .local v4, ringScale:F
  4601. iget-object v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  4602.  
  4603. iget-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRing:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  4604.  
  4605. int-to-long v8, v1
  4606.  
  4607. const/16 v10, 0xe
  4608.  
  4609. new-array v10, v10, [Ljava/lang/Object;
  4610.  
  4611. const/4 v11, 0x0
  4612.  
  4613. const-string v12, "ease"
  4614.  
  4615. aput-object v12, v10, v11
  4616.  
  4617. const/4 v11, 0x1
  4618.  
  4619. sget-object v12, Lcom/android/internal/widget/multiwaveview/Ease$Cubic;->easeOut:Landroid/animation/TimeInterpolator;
  4620.  
  4621. aput-object v12, v10, v11
  4622.  
  4623. const/4 v11, 0x2
  4624.  
  4625. const-string v12, "alpha"
  4626.  
  4627. aput-object v12, v10, v11
  4628.  
  4629. const/4 v11, 0x3
  4630.  
  4631. const/high16 v12, 0x3f80
  4632.  
  4633. invoke-static {v12}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
  4634.  
  4635. move-result-object v12
  4636.  
  4637. aput-object v12, v10, v11
  4638.  
  4639. const/4 v11, 0x4
  4640.  
  4641. const-string v12, "scaleX"
  4642.  
  4643. aput-object v12, v10, v11
  4644.  
  4645. const/4 v11, 0x5
  4646.  
  4647. invoke-static {v4}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
  4648.  
  4649. move-result-object v12
  4650.  
  4651. aput-object v12, v10, v11
  4652.  
  4653. const/4 v11, 0x6
  4654.  
  4655. const-string v12, "scaleY"
  4656.  
  4657. aput-object v12, v10, v11
  4658.  
  4659. const/4 v11, 0x7
  4660.  
  4661. invoke-static {v4}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
  4662.  
  4663. move-result-object v12
  4664.  
  4665. aput-object v12, v10, v11
  4666.  
  4667. const/16 v11, 0x8
  4668.  
  4669. const-string v12, "delay"
  4670.  
  4671. aput-object v12, v10, v11
  4672.  
  4673. const/16 v11, 0x9
  4674.  
  4675. invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  4676.  
  4677. move-result-object v12
  4678.  
  4679. aput-object v12, v10, v11
  4680.  
  4681. const/16 v11, 0xa
  4682.  
  4683. const-string v12, "onUpdate"
  4684.  
  4685. aput-object v12, v10, v11
  4686.  
  4687. const/16 v11, 0xb
  4688.  
  4689. iget-object v12, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mUpdateListener:Landroid/animation/ValueAnimator$AnimatorUpdateListener;
  4690.  
  4691. aput-object v12, v10, v11
  4692.  
  4693. const/16 v11, 0xc
  4694.  
  4695. const-string v12, "onComplete"
  4696.  
  4697. aput-object v12, v10, v11
  4698.  
  4699. const/16 v11, 0xd
  4700.  
  4701. iget-object v12, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetUpdateListener:Landroid/animation/Animator$AnimatorListener;
  4702.  
  4703. aput-object v12, v10, v11
  4704.  
  4705. invoke-static {v7, v8, v9, v10}, Lcom/android/internal/widget/multiwaveview/Tweener;->to(Ljava/lang/Object;J[Ljava/lang/Object;)Lcom/android/internal/widget/multiwaveview/Tweener;
  4706.  
  4707. move-result-object v7
  4708.  
  4709. invoke-virtual {v6, v7}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->add(Ljava/lang/Object;)Z
  4710.  
  4711. .line 604
  4712. iget-object v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  4713.  
  4714. invoke-virtual {v6}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->start()V
  4715.  
  4716. .line 605
  4717. return-void
  4718. .end method
  4719.  
  4720. .method private square(F)F
  4721. .locals 1
  4722. .parameter "d"
  4723.  
  4724. .prologue
  4725. .line 1344
  4726. mul-float v0, p1, p1
  4727.  
  4728. return v0
  4729. .end method
  4730.  
  4731. .method private startBackgroundAnimation(IF)V
  4732. .locals 6
  4733. .parameter "duration"
  4734. .parameter "alpha"
  4735.  
  4736. .prologue
  4737. .line 841
  4738. invoke-virtual {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->getBackground()Landroid/graphics/drawable/Drawable;
  4739.  
  4740. move-result-object v0
  4741.  
  4742. .line 842
  4743. .local v0, background:Landroid/graphics/drawable/Drawable;
  4744. iget-boolean v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mAlwaysTrackFinger:Z
  4745.  
  4746. if-eqz v1, :cond_1
  4747.  
  4748. if-eqz v0, :cond_1
  4749.  
  4750. .line 843
  4751. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mBackgroundAnimator:Lcom/android/internal/widget/multiwaveview/Tweener;
  4752.  
  4753. if-eqz v1, :cond_0
  4754.  
  4755. .line 844
  4756. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mBackgroundAnimator:Lcom/android/internal/widget/multiwaveview/Tweener;
  4757.  
  4758. iget-object v1, v1, Lcom/android/internal/widget/multiwaveview/Tweener;->animator:Landroid/animation/ObjectAnimator;
  4759.  
  4760. invoke-virtual {v1}, Landroid/animation/ObjectAnimator;->cancel()V
  4761.  
  4762. .line 846
  4763. :cond_0
  4764. int-to-long v1, p1
  4765.  
  4766. const/4 v3, 0x6
  4767.  
  4768. new-array v3, v3, [Ljava/lang/Object;
  4769.  
  4770. const/4 v4, 0x0
  4771.  
  4772. const-string v5, "ease"
  4773.  
  4774. aput-object v5, v3, v4
  4775.  
  4776. const/4 v4, 0x1
  4777.  
  4778. sget-object v5, Lcom/android/internal/widget/multiwaveview/Ease$Cubic;->easeIn:Landroid/animation/TimeInterpolator;
  4779.  
  4780. aput-object v5, v3, v4
  4781.  
  4782. const/4 v4, 0x2
  4783.  
  4784. const-string v5, "alpha"
  4785.  
  4786. aput-object v5, v3, v4
  4787.  
  4788. const/4 v4, 0x3
  4789.  
  4790. const/high16 v5, 0x437f
  4791.  
  4792. mul-float/2addr v5, p2
  4793.  
  4794. float-to-int v5, v5
  4795.  
  4796. invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  4797.  
  4798. move-result-object v5
  4799.  
  4800. aput-object v5, v3, v4
  4801.  
  4802. const/4 v4, 0x4
  4803.  
  4804. const-string v5, "delay"
  4805.  
  4806. aput-object v5, v3, v4
  4807.  
  4808. const/4 v4, 0x5
  4809.  
  4810. const/16 v5, 0x32
  4811.  
  4812. invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  4813.  
  4814. move-result-object v5
  4815.  
  4816. aput-object v5, v3, v4
  4817.  
  4818. invoke-static {v0, v1, v2, v3}, Lcom/android/internal/widget/multiwaveview/Tweener;->to(Ljava/lang/Object;J[Ljava/lang/Object;)Lcom/android/internal/widget/multiwaveview/Tweener;
  4819.  
  4820. move-result-object v1
  4821.  
  4822. iput-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mBackgroundAnimator:Lcom/android/internal/widget/multiwaveview/Tweener;
  4823.  
  4824. .line 850
  4825. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mBackgroundAnimator:Lcom/android/internal/widget/multiwaveview/Tweener;
  4826.  
  4827. iget-object v1, v1, Lcom/android/internal/widget/multiwaveview/Tweener;->animator:Landroid/animation/ObjectAnimator;
  4828.  
  4829. invoke-virtual {v1}, Landroid/animation/ObjectAnimator;->start()V
  4830.  
  4831. .line 852
  4832. :cond_1
  4833. return-void
  4834. .end method
  4835.  
  4836. .method private startWaveAnimation()V
  4837. .locals 9
  4838.  
  4839. .prologue
  4840. const/4 v8, 0x0
  4841.  
  4842. const/high16 v7, 0x4000
  4843.  
  4844. .line 806
  4845. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  4846.  
  4847. invoke-virtual {v0}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->cancel()V
  4848.  
  4849. .line 807
  4850. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPointCloud:Lcom/android/internal/widget/multiwaveview/PointCloud;
  4851.  
  4852. iget-object v0, v0, Lcom/android/internal/widget/multiwaveview/PointCloud;->waveManager:Lcom/android/internal/widget/multiwaveview/PointCloud$WaveManager;
  4853.  
  4854. const/high16 v1, 0x3f80
  4855.  
  4856. invoke-virtual {v0, v1}, Lcom/android/internal/widget/multiwaveview/PointCloud$WaveManager;->setAlpha(F)V
  4857.  
  4858. .line 808
  4859. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPointCloud:Lcom/android/internal/widget/multiwaveview/PointCloud;
  4860.  
  4861. iget-object v0, v0, Lcom/android/internal/widget/multiwaveview/PointCloud;->waveManager:Lcom/android/internal/widget/multiwaveview/PointCloud$WaveManager;
  4862.  
  4863. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  4864.  
  4865. invoke-virtual {v1}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getWidth()I
  4866.  
  4867. move-result v1
  4868.  
  4869. int-to-float v1, v1
  4870.  
  4871. div-float/2addr v1, v7
  4872.  
  4873. invoke-virtual {v0, v1}, Lcom/android/internal/widget/multiwaveview/PointCloud$WaveManager;->setRadius(F)V
  4874.  
  4875. .line 809
  4876. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  4877.  
  4878. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPointCloud:Lcom/android/internal/widget/multiwaveview/PointCloud;
  4879.  
  4880. iget-object v1, v1, Lcom/android/internal/widget/multiwaveview/PointCloud;->waveManager:Lcom/android/internal/widget/multiwaveview/PointCloud$WaveManager;
  4881.  
  4882. const-wide/16 v2, 0x3e8
  4883.  
  4884. const/16 v4, 0xa
  4885.  
  4886. new-array v4, v4, [Ljava/lang/Object;
  4887.  
  4888. const-string v5, "ease"
  4889.  
  4890. aput-object v5, v4, v8
  4891.  
  4892. const/4 v5, 0x1
  4893.  
  4894. sget-object v6, Lcom/android/internal/widget/multiwaveview/Ease$Quad;->easeOut:Landroid/animation/TimeInterpolator;
  4895.  
  4896. aput-object v6, v4, v5
  4897.  
  4898. const/4 v5, 0x2
  4899.  
  4900. const-string v6, "delay"
  4901.  
  4902. aput-object v6, v4, v5
  4903.  
  4904. const/4 v5, 0x3
  4905.  
  4906. invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  4907.  
  4908. move-result-object v6
  4909.  
  4910. aput-object v6, v4, v5
  4911.  
  4912. const/4 v5, 0x4
  4913.  
  4914. const-string v6, "radius"
  4915.  
  4916. aput-object v6, v4, v5
  4917.  
  4918. const/4 v5, 0x5
  4919.  
  4920. iget v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRadius:F
  4921.  
  4922. mul-float/2addr v6, v7
  4923.  
  4924. invoke-static {v6}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
  4925.  
  4926. move-result-object v6
  4927.  
  4928. aput-object v6, v4, v5
  4929.  
  4930. const/4 v5, 0x6
  4931.  
  4932. const-string v6, "onUpdate"
  4933.  
  4934. aput-object v6, v4, v5
  4935.  
  4936. const/4 v5, 0x7
  4937.  
  4938. iget-object v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mUpdateListener:Landroid/animation/ValueAnimator$AnimatorUpdateListener;
  4939.  
  4940. aput-object v6, v4, v5
  4941.  
  4942. const/16 v5, 0x8
  4943.  
  4944. const-string v6, "onComplete"
  4945.  
  4946. aput-object v6, v4, v5
  4947.  
  4948. const/16 v5, 0x9
  4949.  
  4950. new-instance v6, Lcom/android/internal/widget/multiwaveview/GlowPadView$5;
  4951.  
  4952. invoke-direct {v6, p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView$5;-><init>(Lcom/android/internal/widget/multiwaveview/GlowPadView;)V
  4953.  
  4954. aput-object v6, v4, v5
  4955.  
  4956. invoke-static {v1, v2, v3, v4}, Lcom/android/internal/widget/multiwaveview/Tweener;->to(Ljava/lang/Object;J[Ljava/lang/Object;)Lcom/android/internal/widget/multiwaveview/Tweener;
  4957.  
  4958. move-result-object v1
  4959.  
  4960. invoke-virtual {v0, v1}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->add(Ljava/lang/Object;)Z
  4961.  
  4962. .line 821
  4963. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  4964.  
  4965. invoke-virtual {v0}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->start()V
  4966.  
  4967. .line 822
  4968. return-void
  4969. .end method
  4970.  
  4971. .method private stopAndHideWaveAnimation()V
  4972. .locals 2
  4973.  
  4974. .prologue
  4975. .line 801
  4976. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  4977.  
  4978. invoke-virtual {v0}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->cancel()V
  4979.  
  4980. .line 802
  4981. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPointCloud:Lcom/android/internal/widget/multiwaveview/PointCloud;
  4982.  
  4983. iget-object v0, v0, Lcom/android/internal/widget/multiwaveview/PointCloud;->waveManager:Lcom/android/internal/widget/multiwaveview/PointCloud$WaveManager;
  4984.  
  4985. const/4 v1, 0x0
  4986.  
  4987. invoke-virtual {v0, v1}, Lcom/android/internal/widget/multiwaveview/PointCloud$WaveManager;->setAlpha(F)V
  4988.  
  4989. .line 803
  4990. return-void
  4991. .end method
  4992.  
  4993. .method switchToState(IFF)V
  4994. .locals 6
  4995. .parameter "state"
  4996. .parameter "x"
  4997. .parameter "y"
  4998.  
  4999. .prologue
  5000. const/4 v5, 0x1
  5001.  
  5002. const/4 v4, 0x0
  5003.  
  5004. const/high16 v3, 0x3f80
  5005.  
  5006. const/4 v2, 0x0
  5007.  
  5008. const/4 v1, 0x0
  5009.  
  5010. .line 400
  5011. packed-switch p1, :pswitch_data_0
  5012.  
  5013. .line 443
  5014. :cond_0
  5015. :goto_0
  5016. return-void
  5017.  
  5018. .line 402
  5019. :pswitch_0
  5020. invoke-direct {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->deactivateTargets()V
  5021.  
  5022. .line 403
  5023. invoke-direct {p0, v1, v1, v2, v4}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->hideGlow(IIFLandroid/animation/Animator$AnimatorListener;)V
  5024.  
  5025. .line 404
  5026. invoke-direct {p0, v1, v2}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->startBackgroundAnimation(IF)V
  5027.  
  5028. .line 405
  5029. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5030.  
  5031. sget-object v1, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->STATE_INACTIVE:[I
  5032.  
  5033. invoke-virtual {v0, v1}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->setState([I)V
  5034.  
  5035. .line 406
  5036. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5037.  
  5038. invoke-virtual {v0, v3}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->setAlpha(F)V
  5039.  
  5040. .line 407
  5041. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPaintText:Landroid/graphics/Paint;
  5042.  
  5043. const/16 v1, 0xff
  5044.  
  5045. invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setAlpha(I)V
  5046.  
  5047. goto :goto_0
  5048.  
  5049. :pswitch_1
  5050. invoke-direct {p0, v1, v2}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->startBackgroundAnimation(IF)V
  5051.  
  5052. goto :goto_0
  5053.  
  5054. :pswitch_2
  5055. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPaintText:Landroid/graphics/Paint;
  5056.  
  5057. invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setAlpha(I)V
  5058.  
  5059. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5060.  
  5061. invoke-virtual {v0, v2}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->setAlpha(F)V
  5062.  
  5063. invoke-direct {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->deactivateTargets()V
  5064.  
  5065. invoke-virtual {p0, v5}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->showTargets(Z)V
  5066.  
  5067. const/16 v0, 0xc8
  5068.  
  5069. invoke-direct {p0, v0, v3}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->startBackgroundAnimation(IF)V
  5070.  
  5071. invoke-direct {p0, v5}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->setGrabbedState(I)V
  5072.  
  5073. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mContext:Landroid/content/Context;
  5074.  
  5075. invoke-static {v0}, Landroid/view/accessibility/AccessibilityManager;->getInstance(Landroid/content/Context;)Landroid/view/accessibility/AccessibilityManager;
  5076.  
  5077. move-result-object v0
  5078.  
  5079. invoke-virtual {v0}, Landroid/view/accessibility/AccessibilityManager;->isEnabled()Z
  5080.  
  5081. move-result v0
  5082.  
  5083. if-eqz v0, :cond_0
  5084.  
  5085. invoke-direct {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->announceTargets()V
  5086.  
  5087. goto :goto_0
  5088.  
  5089. :pswitch_3
  5090. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPaintText:Landroid/graphics/Paint;
  5091.  
  5092. invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setAlpha(I)V
  5093.  
  5094. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5095.  
  5096. invoke-virtual {v0, v2}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->setAlpha(F)V
  5097.  
  5098. invoke-direct {p0, v1, v1, v3, v4}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->showGlow(IIFLandroid/animation/Animator$AnimatorListener;)V
  5099.  
  5100. goto :goto_0
  5101.  
  5102. :pswitch_4
  5103. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPaintText:Landroid/graphics/Paint;
  5104.  
  5105. invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setAlpha(I)V
  5106.  
  5107. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5108.  
  5109. invoke-virtual {v0, v2}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->setAlpha(F)V
  5110.  
  5111. invoke-direct {p0, v1, v1, v2, v4}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->showGlow(IIFLandroid/animation/Animator$AnimatorListener;)V
  5112.  
  5113. goto :goto_0
  5114.  
  5115. :pswitch_5
  5116. invoke-virtual {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->doFinish()V
  5117.  
  5118. goto :goto_0
  5119.  
  5120. nop
  5121.  
  5122. :pswitch_data_0
  5123. .packed-switch 0x0
  5124. :pswitch_0
  5125. :pswitch_1
  5126. :pswitch_2
  5127. :pswitch_3
  5128. :pswitch_4
  5129. :pswitch_5
  5130. .end packed-switch
  5131. .end method
  5132.  
  5133. .method private trySwitchToFirstTouchState(FF)Z
  5134. .locals 5
  5135. .parameter "x"
  5136. .parameter "y"
  5137.  
  5138. .prologue
  5139. const/4 v2, 0x1
  5140.  
  5141. .line 1079
  5142. iget v3, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveCenterX:F
  5143.  
  5144. sub-float v0, p1, v3
  5145.  
  5146. .line 1080
  5147. .local v0, tx:F
  5148. iget v3, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveCenterY:F
  5149.  
  5150. sub-float v1, p2, v3
  5151.  
  5152. .line 1081
  5153. .local v1, ty:F
  5154. iget-boolean v3, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mAlwaysTrackFinger:Z
  5155.  
  5156. if-nez v3, :cond_0
  5157.  
  5158. invoke-direct {p0, v0, v1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->dist2(FF)F
  5159.  
  5160. move-result v3
  5161.  
  5162. invoke-direct {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->getScaledGlowRadiusSquared()F
  5163.  
  5164. move-result v4
  5165.  
  5166. cmpg-float v3, v3, v4
  5167.  
  5168. if-gtz v3, :cond_1
  5169.  
  5170. :cond_0
  5171. const/4 v3, 0x2
  5172.  
  5173. invoke-virtual {p0, v3, p1, p2}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->switchToState(IFF)V
  5174.  
  5175. invoke-direct {p0, v0, v1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->updateGlowPosition(FF)V
  5176.  
  5177. iput-boolean v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mDragging:Z
  5178.  
  5179. :goto_0
  5180. return v2
  5181.  
  5182. :cond_1
  5183. const/4 v2, 0x0
  5184.  
  5185. goto :goto_0
  5186. .end method
  5187.  
  5188. .method private updateGlowPosition(FF)V
  5189. .locals 4
  5190. .parameter "x"
  5191. .parameter "y"
  5192.  
  5193. .prologue
  5194. const/high16 v3, 0x3f80
  5195.  
  5196. .line 894
  5197. iget-object v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRing:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5198.  
  5199. invoke-virtual {v2}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getX()F
  5200.  
  5201. move-result v2
  5202.  
  5203. sub-float v0, p1, v2
  5204.  
  5205. .line 895
  5206. .local v0, dx:F
  5207. iget-object v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRing:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5208.  
  5209. invoke-virtual {v2}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getY()F
  5210.  
  5211. move-result v2
  5212.  
  5213. sub-float v1, p2, v2
  5214.  
  5215. .line 896
  5216. .local v1, dy:F
  5217. iget v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mRingScaleFactor:F
  5218.  
  5219. div-float v2, v3, v2
  5220.  
  5221. mul-float/2addr v0, v2
  5222.  
  5223. .line 897
  5224. iget v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mRingScaleFactor:F
  5225.  
  5226. div-float v2, v3, v2
  5227.  
  5228. mul-float/2addr v1, v2
  5229.  
  5230. .line 898
  5231. iget-object v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPointCloud:Lcom/android/internal/widget/multiwaveview/PointCloud;
  5232.  
  5233. iget-object v2, v2, Lcom/android/internal/widget/multiwaveview/PointCloud;->glowManager:Lcom/android/internal/widget/multiwaveview/PointCloud$GlowManager;
  5234.  
  5235. iget-object v3, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRing:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5236.  
  5237. invoke-virtual {v3}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getX()F
  5238.  
  5239. move-result v3
  5240.  
  5241. add-float/2addr v3, v0
  5242.  
  5243. invoke-virtual {v2, v3}, Lcom/android/internal/widget/multiwaveview/PointCloud$GlowManager;->setX(F)V
  5244.  
  5245. .line 899
  5246. iget-object v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPointCloud:Lcom/android/internal/widget/multiwaveview/PointCloud;
  5247.  
  5248. iget-object v2, v2, Lcom/android/internal/widget/multiwaveview/PointCloud;->glowManager:Lcom/android/internal/widget/multiwaveview/PointCloud$GlowManager;
  5249.  
  5250. iget-object v3, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRing:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5251.  
  5252. invoke-virtual {v3}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getY()F
  5253.  
  5254. move-result v3
  5255.  
  5256. add-float/2addr v3, v1
  5257.  
  5258. invoke-virtual {v2, v3}, Lcom/android/internal/widget/multiwaveview/PointCloud$GlowManager;->setY(F)V
  5259.  
  5260. .line 900
  5261. return-void
  5262. .end method
  5263.  
  5264. .method private updatePointCloudPosition(FF)V
  5265. .locals 1
  5266. .parameter "centerX"
  5267. .parameter "centerY"
  5268.  
  5269. .prologue
  5270. .line 1287
  5271. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPointCloud:Lcom/android/internal/widget/multiwaveview/PointCloud;
  5272.  
  5273. invoke-virtual {v0, p1, p2}, Lcom/android/internal/widget/multiwaveview/PointCloud;->setCenter(FF)V
  5274.  
  5275. .line 1288
  5276. return-void
  5277. .end method
  5278.  
  5279. .method private updateTargetPosition(IFF)V
  5280. .locals 2
  5281. .parameter "i"
  5282. .parameter "centerX"
  5283. .parameter "centerY"
  5284.  
  5285. .prologue
  5286. .line 1246
  5287. invoke-direct {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->getSliceAngle()F
  5288.  
  5289. move-result v1
  5290.  
  5291. invoke-direct {p0, v1, p1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->getAngle(FI)F
  5292.  
  5293. move-result v0
  5294.  
  5295. .local v0, angle:F
  5296. invoke-virtual {p0, p1, p2, p3, v0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->updateTargetPosition(IFFF)V
  5297.  
  5298. return-void
  5299. .end method
  5300.  
  5301. .method updateTargetPosition(IFFF)V
  5302. .locals 6
  5303. .parameter "i"
  5304. .parameter "centerX"
  5305. .parameter "centerY"
  5306. .parameter "angle"
  5307.  
  5308. .prologue
  5309. const/high16 v5, 0x4000
  5310.  
  5311. .line 1251
  5312. invoke-direct {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->getRingWidth()F
  5313.  
  5314. move-result v4
  5315.  
  5316. div-float v0, v4, v5
  5317.  
  5318. .line 1252
  5319. .local v0, placementRadiusX:F
  5320. invoke-direct {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->getRingHeight()F
  5321.  
  5322. move-result v4
  5323.  
  5324. div-float v1, v4, v5
  5325.  
  5326. .line 1253
  5327. .local v1, placementRadiusY:F
  5328. if-ltz p1, :cond_0
  5329.  
  5330. .line 1254
  5331. iget-object v3, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  5332.  
  5333. .line 1255
  5334. .local v3, targets:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lcom/android/internal/widget/multiwaveview/TargetDrawable;>;"
  5335. invoke-virtual {v3, p1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
  5336.  
  5337. move-result-object v2
  5338.  
  5339. check-cast v2, Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5340.  
  5341. .line 1256
  5342. .local v2, targetIcon:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5343. invoke-virtual {v2, p2}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->setPositionX(F)V
  5344.  
  5345. .line 1257
  5346. invoke-virtual {v2, p3}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->setPositionY(F)V
  5347.  
  5348. .line 1258
  5349. float-to-double v4, p4
  5350.  
  5351. invoke-static {v4, v5}, Ljava/lang/Math;->cos(D)D
  5352.  
  5353. move-result-wide v4
  5354.  
  5355. double-to-float v4, v4
  5356.  
  5357. mul-float/2addr v4, v0
  5358.  
  5359. invoke-virtual {v2, v4}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->setX(F)V
  5360.  
  5361. .line 1259
  5362. float-to-double v4, p4
  5363.  
  5364. invoke-static {v4, v5}, Ljava/lang/Math;->sin(D)D
  5365.  
  5366. move-result-wide v4
  5367.  
  5368. double-to-float v4, v4
  5369.  
  5370. mul-float/2addr v4, v1
  5371.  
  5372. invoke-virtual {v2, v4}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->setY(F)V
  5373.  
  5374. .line 1261
  5375. .end local v2 #targetIcon:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5376. .end local v3 #targets:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lcom/android/internal/widget/multiwaveview/TargetDrawable;>;"
  5377. :cond_0
  5378. return-void
  5379. .end method
  5380.  
  5381. .method private updateTargetPositions(FF)V
  5382. .locals 1
  5383. .parameter "centerX"
  5384. .parameter "centerY"
  5385.  
  5386. .prologue
  5387. .line 1264
  5388. const/4 v0, 0x0
  5389.  
  5390. invoke-direct {p0, p1, p2, v0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->updateTargetPositions(FFZ)V
  5391.  
  5392. .line 1265
  5393. return-void
  5394. .end method
  5395.  
  5396. .method private updateTargetPositions(FFZ)V
  5397. .locals 4
  5398. .parameter "centerX"
  5399. .parameter "centerY"
  5400. .parameter "skipActive"
  5401.  
  5402. .prologue
  5403. .line 1268
  5404. iget-object v3, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  5405.  
  5406. invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
  5407.  
  5408. move-result v2
  5409.  
  5410. .line 1269
  5411. .local v2, size:I
  5412. invoke-direct {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->getSliceAngle()F
  5413.  
  5414. move-result v0
  5415.  
  5416. .line 1271
  5417. .local v0, alpha:F
  5418. const/4 v1, 0x0
  5419.  
  5420. .local v1, i:I
  5421. :goto_0
  5422. if-ge v1, v2, :cond_2
  5423.  
  5424. .line 1272
  5425. if-eqz p3, :cond_0
  5426.  
  5427. iget v3, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mActiveTarget:I
  5428.  
  5429. if-eq v1, v3, :cond_1
  5430.  
  5431. .line 1273
  5432. :cond_0
  5433. invoke-direct {p0, v0, v1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->getAngle(FI)F
  5434.  
  5435. move-result v3
  5436.  
  5437. invoke-virtual {p0, v1, p1, p2, v3}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->updateTargetPosition(IFFF)V
  5438.  
  5439. .line 1271
  5440. :cond_1
  5441. add-int/lit8 v1, v1, 0x1
  5442.  
  5443. goto :goto_0
  5444.  
  5445. .line 1276
  5446. :cond_2
  5447. return-void
  5448. .end method
  5449.  
  5450. .method private vibrate()V
  5451. .locals 4
  5452.  
  5453. .prologue
  5454. const/4 v0, 0x1
  5455.  
  5456. .line 608
  5457. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mContext:Landroid/content/Context;
  5458.  
  5459. invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
  5460.  
  5461. move-result-object v1
  5462.  
  5463. const-string v2, "haptic_feedback_enabled"
  5464.  
  5465. const/4 v3, -0x2
  5466.  
  5467. invoke-static {v1, v2, v0, v3}, Landroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I
  5468.  
  5469. move-result v1
  5470.  
  5471. if-eqz v1, :cond_1
  5472.  
  5473. .line 611
  5474. .local v0, hapticEnabled:Z
  5475. :goto_0
  5476. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mVibrator:Landroid/os/Vibrator;
  5477.  
  5478. if-eqz v1, :cond_0
  5479.  
  5480. if-eqz v0, :cond_0
  5481.  
  5482. .line 612
  5483. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mVibrator:Landroid/os/Vibrator;
  5484.  
  5485. iget v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mVibrationDuration:I
  5486.  
  5487. int-to-long v2, v2
  5488.  
  5489. invoke-virtual {v1, v2, v3}, Landroid/os/Vibrator;->vibrate(J)V
  5490.  
  5491. .line 614
  5492. :cond_0
  5493. return-void
  5494.  
  5495. .line 608
  5496. .end local v0 #hapticEnabled:Z
  5497. :cond_1
  5498. const/4 v0, 0x0
  5499.  
  5500. goto :goto_0
  5501. .end method
  5502.  
  5503.  
  5504. # virtual methods
  5505. .method callAnnounceTargets()V
  5506. .locals 0
  5507.  
  5508. .prologue
  5509. invoke-direct {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->announceTargets()V
  5510.  
  5511. return-void
  5512. .end method
  5513.  
  5514. .method callDeactivateTargets()V
  5515. .locals 0
  5516.  
  5517. .prologue
  5518. invoke-direct {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->deactivateTargets()V
  5519.  
  5520. return-void
  5521. .end method
  5522.  
  5523. .method callDispatchTriggerEvent(I)V
  5524. .locals 0
  5525. .parameter "whichTarget"
  5526.  
  5527. .prologue
  5528. invoke-direct {p0, p1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->dispatchTriggerEvent(I)V
  5529.  
  5530. return-void
  5531. .end method
  5532.  
  5533. .method callGetTargetDescription(I)Ljava/lang/String;
  5534. .locals 1
  5535. .parameter "index"
  5536.  
  5537. .prologue
  5538. invoke-direct {p0, p1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->getTargetDescription(I)Ljava/lang/String;
  5539.  
  5540. move-result-object v0
  5541.  
  5542. return-object v0
  5543. .end method
  5544.  
  5545. .method callSetGrabbedState(I)V
  5546. .locals 0
  5547. .parameter "newState"
  5548.  
  5549. .prologue
  5550. invoke-direct {p0, p1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->setGrabbedState(I)V
  5551.  
  5552. return-void
  5553. .end method
  5554.  
  5555. .method callVibrate()V
  5556. .locals 0
  5557.  
  5558. .prologue
  5559. invoke-direct {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->vibrate()V
  5560.  
  5561. return-void
  5562. .end method
  5563.  
  5564. .method getActiveTarget()I
  5565. .locals 1
  5566.  
  5567. .prologue
  5568. iget v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mActiveTarget:I
  5569.  
  5570. return v0
  5571. .end method
  5572.  
  5573. .method public getDirectionDescriptionsResourceId()I
  5574. .locals 1
  5575.  
  5576. .prologue
  5577. .line 753
  5578. iget v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mDirectionDescriptionsResourceId:I
  5579.  
  5580. return v0
  5581. .end method
  5582.  
  5583. .method public getMagneticTargets()Z
  5584. .locals 1
  5585.  
  5586. .prologue
  5587. .line 757
  5588. iget-boolean v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMagneticTargets:Z
  5589.  
  5590. return v0
  5591. .end method
  5592.  
  5593. .method getDragging()Z
  5594. .locals 1
  5595.  
  5596. .prologue
  5597. iget-boolean v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mDragging:Z
  5598.  
  5599. return v0
  5600. .end method
  5601.  
  5602. .method getHandleDrawable()Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5603. .locals 1
  5604.  
  5605. .prologue
  5606. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5607.  
  5608. return-object v0
  5609. .end method
  5610.  
  5611. .method getOuterRadius()F
  5612. .locals 1
  5613.  
  5614. .prologue
  5615. iget v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRadius:F
  5616.  
  5617. return v0
  5618. .end method
  5619.  
  5620. .method getOuterRing()Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5621. .locals 1
  5622.  
  5623. .prologue
  5624. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRing:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5625.  
  5626. return-object v0
  5627. .end method
  5628.  
  5629. .method getResetListener()Landroid/animation/Animator$AnimatorListener;
  5630. .locals 1
  5631.  
  5632. .prologue
  5633. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mResetListener:Landroid/animation/Animator$AnimatorListener;
  5634.  
  5635. return-object v0
  5636. .end method
  5637.  
  5638. .method getResetListenerWithPing()Landroid/animation/Animator$AnimatorListener;
  5639. .locals 1
  5640.  
  5641. .prologue
  5642. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mResetListenerWithPing:Landroid/animation/Animator$AnimatorListener;
  5643.  
  5644. return-object v0
  5645. .end method
  5646.  
  5647. .method public getResourceIdForTarget(I)I
  5648. .locals 2
  5649. .parameter "index"
  5650.  
  5651. .prologue
  5652. .line 1421
  5653. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  5654.  
  5655. invoke-virtual {v1, p1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
  5656.  
  5657. move-result-object v0
  5658.  
  5659. check-cast v0, Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5660.  
  5661. .line 1422
  5662. .local v0, drawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5663. if-nez v0, :cond_0
  5664.  
  5665. const/4 v1, 0x0
  5666.  
  5667. :goto_0
  5668. return v1
  5669.  
  5670. :cond_0
  5671. invoke-virtual {v0}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getResourceId()I
  5672.  
  5673. move-result v1
  5674.  
  5675. goto :goto_0
  5676. .end method
  5677.  
  5678. .method protected getScaledSuggestedMinimumHeight()I
  5679. .locals 4
  5680.  
  5681. .prologue
  5682. .line 377
  5683. iget v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mRingScaleFactor:F
  5684.  
  5685. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRing:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5686.  
  5687. invoke-virtual {v1}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getHeight()I
  5688.  
  5689. move-result v1
  5690.  
  5691. int-to-float v1, v1
  5692.  
  5693. const/high16 v2, 0x4000
  5694.  
  5695. iget v3, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRadius:F
  5696.  
  5697. mul-float/2addr v2, v3
  5698.  
  5699. invoke-static {v1, v2}, Ljava/lang/Math;->max(FF)F
  5700.  
  5701. move-result v1
  5702.  
  5703. mul-float/2addr v0, v1
  5704.  
  5705. iget v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMaxTargetHeight:I
  5706.  
  5707. int-to-float v1, v1
  5708.  
  5709. add-float/2addr v0, v1
  5710.  
  5711. float-to-int v0, v0
  5712.  
  5713. return v0
  5714. .end method
  5715.  
  5716. .method protected getScaledSuggestedMinimumWidth()I
  5717. .locals 4
  5718.  
  5719. .prologue
  5720. .line 369
  5721. iget v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mRingScaleFactor:F
  5722.  
  5723. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRing:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5724.  
  5725. invoke-virtual {v1}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getWidth()I
  5726.  
  5727. move-result v1
  5728.  
  5729. int-to-float v1, v1
  5730.  
  5731. const/high16 v2, 0x4000
  5732.  
  5733. iget v3, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRadius:F
  5734.  
  5735. mul-float/2addr v2, v3
  5736.  
  5737. invoke-static {v1, v2}, Ljava/lang/Math;->max(FF)F
  5738.  
  5739. move-result v1
  5740.  
  5741. mul-float/2addr v0, v1
  5742.  
  5743. iget v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMaxTargetWidth:I
  5744.  
  5745. int-to-float v1, v1
  5746.  
  5747. add-float/2addr v0, v1
  5748.  
  5749. float-to-int v0, v0
  5750.  
  5751. return v0
  5752. .end method
  5753.  
  5754. .method getSnapMargin()F
  5755. .locals 1
  5756.  
  5757. .prologue
  5758. iget v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mSnapMargin:F
  5759.  
  5760. return v0
  5761. .end method
  5762.  
  5763. .method protected getSuggestedMinimumHeight()I
  5764. .locals 3
  5765.  
  5766. .prologue
  5767. .line 362
  5768. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRing:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5769.  
  5770. invoke-virtual {v0}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getHeight()I
  5771.  
  5772. move-result v0
  5773.  
  5774. int-to-float v0, v0
  5775.  
  5776. const/high16 v1, 0x4000
  5777.  
  5778. iget v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRadius:F
  5779.  
  5780. mul-float/2addr v1, v2
  5781.  
  5782. invoke-static {v0, v1}, Ljava/lang/Math;->max(FF)F
  5783.  
  5784. move-result v0
  5785.  
  5786. iget v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMaxTargetHeight:I
  5787.  
  5788. int-to-float v1, v1
  5789.  
  5790. add-float/2addr v0, v1
  5791.  
  5792. float-to-int v0, v0
  5793.  
  5794. return v0
  5795. .end method
  5796.  
  5797. .method protected getSuggestedMinimumWidth()I
  5798. .locals 3
  5799.  
  5800. .prologue
  5801. .line 355
  5802. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRing:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5803.  
  5804. invoke-virtual {v0}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getWidth()I
  5805.  
  5806. move-result v0
  5807.  
  5808. int-to-float v0, v0
  5809.  
  5810. const/high16 v1, 0x4000
  5811.  
  5812. iget v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRadius:F
  5813.  
  5814. mul-float/2addr v1, v2
  5815.  
  5816. invoke-static {v0, v1}, Ljava/lang/Math;->max(FF)F
  5817.  
  5818. move-result v0
  5819.  
  5820. iget v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMaxTargetWidth:I
  5821.  
  5822. int-to-float v1, v1
  5823.  
  5824. add-float/2addr v0, v1
  5825.  
  5826. float-to-int v0, v0
  5827.  
  5828. return v0
  5829. .end method
  5830.  
  5831. .method getTargetAnimations()Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  5832. .locals 1
  5833.  
  5834. .prologue
  5835. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  5836.  
  5837. return-object v0
  5838. .end method
  5839.  
  5840. .method public getTargetDescriptionsResourceId()I
  5841. .locals 1
  5842.  
  5843. .prologue
  5844. .line 732
  5845. iget v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDescriptionsResourceId:I
  5846.  
  5847. return v0
  5848. .end method
  5849.  
  5850. .method public getTargetDrawables()Ljava/util/ArrayList;
  5851. .locals 1
  5852. .annotation system Ldalvik/annotation/Signature;
  5853. value = {
  5854. "()",
  5855. "Ljava/util/ArrayList",
  5856. "<",
  5857. "Lcom/android/internal/widget/multiwaveview/TargetDrawable;",
  5858. ">;"
  5859. }
  5860. .end annotation
  5861.  
  5862. .prologue
  5863. .line 711
  5864. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  5865.  
  5866. return-object v0
  5867. .end method
  5868.  
  5869. .method getTargetDrawables()Ljava/util/ArrayList;
  5870. .locals 1
  5871. .annotation system Ldalvik/annotation/Signature;
  5872. value = {
  5873. "()",
  5874. "Ljava/util/ArrayList",
  5875. "<",
  5876. "Lcom/android/internal/widget/multiwaveview/TargetDrawable;",
  5877. ">;"
  5878. }
  5879. .end annotation
  5880.  
  5881. .prologue
  5882. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  5883.  
  5884. return-object v0
  5885. .end method
  5886.  
  5887. .method public getTargetPosition(I)I
  5888. .locals 3
  5889. .parameter "resourceId"
  5890.  
  5891. .prologue
  5892. .line 1441
  5893. const/4 v0, 0x0
  5894.  
  5895. .local v0, i:I
  5896. :goto_0
  5897. iget-object v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  5898.  
  5899. invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
  5900.  
  5901. move-result v2
  5902.  
  5903. if-ge v0, v2, :cond_1
  5904.  
  5905. .line 1442
  5906. iget-object v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  5907.  
  5908. invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
  5909.  
  5910. move-result-object v1
  5911.  
  5912. check-cast v1, Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5913.  
  5914. .line 1443
  5915. .local v1, target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5916. invoke-virtual {v1}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getResourceId()I
  5917.  
  5918. move-result v2
  5919.  
  5920. if-ne v2, p1, :cond_0
  5921.  
  5922. .line 1447
  5923. .end local v0 #i:I
  5924. .end local v1 #target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5925. :goto_1
  5926. return v0
  5927.  
  5928. .line 1441
  5929. .restart local v0 #i:I
  5930. .restart local v1 #target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5931. :cond_0
  5932. add-int/lit8 v0, v0, 0x1
  5933.  
  5934. goto :goto_0
  5935.  
  5936. .line 1447
  5937. .end local v1 #target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5938. :cond_1
  5939. const/4 v0, -0x1
  5940.  
  5941. goto :goto_1
  5942. .end method
  5943.  
  5944. .method public getTargetResourceId()I
  5945. .locals 1
  5946.  
  5947. .prologue
  5948. .line 707
  5949. iget v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetResourceId:I
  5950.  
  5951. return v0
  5952. .end method
  5953.  
  5954. .method getUpdateListener()Landroid/animation/ValueAnimator$AnimatorUpdateListener;
  5955. .locals 1
  5956.  
  5957. .prologue
  5958. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mUpdateListener:Landroid/animation/ValueAnimator$AnimatorUpdateListener;
  5959.  
  5960. return-object v0
  5961. .end method
  5962.  
  5963. .method getWaveCenterX()F
  5964. .locals 1
  5965.  
  5966. .prologue
  5967. iget v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveCenterX:F
  5968.  
  5969. return v0
  5970. .end method
  5971.  
  5972. .method getWaveCenterY()F
  5973. .locals 1
  5974.  
  5975. .prologue
  5976. iget v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveCenterY:F
  5977.  
  5978. return v0
  5979. .end method
  5980.  
  5981. .method protected onDraw(Landroid/graphics/Canvas;)V
  5982. .locals 13
  5983. .parameter "canvas"
  5984.  
  5985. .prologue
  5986. const/4 v12, 0x0
  5987.  
  5988. .line 1292
  5989. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPointCloud:Lcom/android/internal/widget/multiwaveview/PointCloud;
  5990.  
  5991. invoke-virtual {v0, p1}, Lcom/android/internal/widget/multiwaveview/PointCloud;->draw(Landroid/graphics/Canvas;)V
  5992.  
  5993. .line 1293
  5994. iget-boolean v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mDrawOuterRing:Z
  5995.  
  5996. if-eqz v0, :cond_0
  5997.  
  5998. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRing:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  5999.  
  6000. invoke-virtual {v0, p1}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->draw(Landroid/graphics/Canvas;)V
  6001.  
  6002. .line 1294
  6003. :cond_0
  6004. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  6005.  
  6006. invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
  6007.  
  6008. move-result v7
  6009.  
  6010. .line 1295
  6011. .local v7, ntargets:I
  6012. const/4 v6, 0x0
  6013.  
  6014. .local v6, i:I
  6015. :goto_0
  6016. if-ge v6, v7, :cond_2
  6017.  
  6018. .line 1296
  6019. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  6020.  
  6021. invoke-virtual {v0, v6}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
  6022.  
  6023. move-result-object v8
  6024.  
  6025. check-cast v8, Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  6026.  
  6027. .line 1297
  6028. .local v8, target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  6029. if-eqz v8, :cond_1
  6030.  
  6031. .line 1298
  6032. invoke-virtual {v8, p1}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->draw(Landroid/graphics/Canvas;)V
  6033.  
  6034. .line 1295
  6035. :cond_1
  6036. add-int/lit8 v6, v6, 0x1
  6037.  
  6038. goto :goto_0
  6039.  
  6040. .line 1301
  6041. .end local v8 #target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  6042. :cond_2
  6043. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  6044.  
  6045. invoke-virtual {v0, p1}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->draw(Landroid/graphics/Canvas;)V
  6046.  
  6047. .line 1303
  6048. iget v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mArcAngle:F
  6049.  
  6050. cmpl-float v0, v0, v12
  6051.  
  6052. if-lez v0, :cond_3
  6053.  
  6054. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  6055.  
  6056. invoke-virtual {v0}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getAlpha()F
  6057.  
  6058. move-result v0
  6059.  
  6060. cmpl-float v0, v0, v12
  6061.  
  6062. if-lez v0, :cond_3
  6063.  
  6064. .line 1304
  6065. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mArcRect:Landroid/graphics/RectF;
  6066.  
  6067. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  6068.  
  6069. invoke-virtual {v1}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getPositionX()F
  6070.  
  6071. move-result v1
  6072.  
  6073. iget-object v3, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  6074.  
  6075. invoke-virtual {v3}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getWidth()I
  6076.  
  6077. move-result v3
  6078.  
  6079. div-int/lit8 v3, v3, 0x3
  6080.  
  6081. int-to-float v3, v3
  6082.  
  6083. sub-float/2addr v1, v3
  6084.  
  6085. iget-object v3, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  6086.  
  6087. invoke-virtual {v3}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getPositionY()F
  6088.  
  6089. move-result v3
  6090.  
  6091. iget-object v4, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  6092.  
  6093. invoke-virtual {v4}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getHeight()I
  6094.  
  6095. move-result v4
  6096.  
  6097. div-int/lit8 v4, v4, 0x3
  6098.  
  6099. int-to-float v4, v4
  6100.  
  6101. sub-float/2addr v3, v4
  6102.  
  6103. iget-object v4, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  6104.  
  6105. invoke-virtual {v4}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getPositionX()F
  6106.  
  6107. move-result v4
  6108.  
  6109. iget-object v5, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  6110.  
  6111. invoke-virtual {v5}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getWidth()I
  6112.  
  6113. move-result v5
  6114.  
  6115. div-int/lit8 v5, v5, 0x3
  6116.  
  6117. int-to-float v5, v5
  6118.  
  6119. add-float/2addr v4, v5
  6120.  
  6121. iget-object v5, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  6122.  
  6123. invoke-virtual {v5}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getPositionY()F
  6124.  
  6125. move-result v5
  6126.  
  6127. iget-object v11, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  6128.  
  6129. invoke-virtual {v11}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getHeight()I
  6130.  
  6131. move-result v11
  6132.  
  6133. div-int/lit8 v11, v11, 0x3
  6134.  
  6135. int-to-float v11, v11
  6136.  
  6137. add-float/2addr v5, v11
  6138.  
  6139. invoke-virtual {v0, v1, v3, v4, v5}, Landroid/graphics/RectF;->set(FFFF)V
  6140.  
  6141. .line 1309
  6142. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mArcRect:Landroid/graphics/RectF;
  6143.  
  6144. const/high16 v2, -0x3d4c
  6145.  
  6146. iget v3, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mArcAngle:F
  6147.  
  6148. const/4 v4, 0x0
  6149.  
  6150. iget-object v5, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mArcPaint:Landroid/graphics/Paint;
  6151.  
  6152. move-object v0, p1
  6153.  
  6154. invoke-virtual/range {v0 .. v5}, Landroid/graphics/Canvas;->drawArc(Landroid/graphics/RectF;FFZLandroid/graphics/Paint;)V
  6155.  
  6156. .line 1311
  6157. :cond_3
  6158. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleText:Ljava/lang/String;
  6159.  
  6160. invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
  6161.  
  6162. move-result v0
  6163.  
  6164. if-nez v0, :cond_4
  6165.  
  6166. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPaintText:Landroid/graphics/Paint;
  6167.  
  6168. invoke-virtual {v0}, Landroid/graphics/Paint;->getAlpha()I
  6169.  
  6170. move-result v0
  6171.  
  6172. if-eqz v0, :cond_4
  6173.  
  6174. .line 1312
  6175. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  6176.  
  6177. invoke-virtual {v0}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getPositionX()F
  6178.  
  6179. move-result v9
  6180.  
  6181. .line 1313
  6182. .local v9, x:F
  6183. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  6184.  
  6185. invoke-virtual {v0}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getPositionY()F
  6186.  
  6187. move-result v10
  6188.  
  6189. .line 1314
  6190. .local v10, y:F
  6191. new-instance v2, Landroid/graphics/Path;
  6192.  
  6193. invoke-direct {v2}, Landroid/graphics/Path;-><init>()V
  6194.  
  6195. .line 1315
  6196. .local v2, circle:Landroid/graphics/Path;
  6197. iget v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTextRadius:I
  6198.  
  6199. int-to-float v0, v0
  6200.  
  6201. sget-object v1, Landroid/graphics/Path$Direction;->CW:Landroid/graphics/Path$Direction;
  6202.  
  6203. invoke-virtual {v2, v9, v10, v0, v1}, Landroid/graphics/Path;->addCircle(FFFLandroid/graphics/Path$Direction;)V
  6204.  
  6205. .line 1316
  6206. const/high16 v0, 0x42b4
  6207.  
  6208. invoke-virtual {p1, v0, v9, v10}, Landroid/graphics/Canvas;->rotate(FFF)V
  6209.  
  6210. .line 1317
  6211. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleText:Ljava/lang/String;
  6212.  
  6213. iget-object v5, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPaintText:Landroid/graphics/Paint;
  6214.  
  6215. move-object v0, p1
  6216.  
  6217. move v3, v12
  6218.  
  6219. move v4, v12
  6220.  
  6221. invoke-virtual/range {v0 .. v5}, Landroid/graphics/Canvas;->drawTextOnPath(Ljava/lang/String;Landroid/graphics/Path;FFLandroid/graphics/Paint;)V
  6222.  
  6223. .line 1319
  6224. .end local v2 #circle:Landroid/graphics/Path;
  6225. .end local v9 #x:F
  6226. .end local v10 #y:F
  6227. :cond_4
  6228. return-void
  6229. .end method
  6230.  
  6231. .method public onHoverEvent(Landroid/view/MotionEvent;)Z
  6232. .locals 3
  6233. .parameter "event"
  6234.  
  6235. .prologue
  6236. const/4 v2, 0x1
  6237.  
  6238. .line 1037
  6239. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mContext:Landroid/content/Context;
  6240.  
  6241. invoke-static {v1}, Landroid/view/accessibility/AccessibilityManager;->getInstance(Landroid/content/Context;)Landroid/view/accessibility/AccessibilityManager;
  6242.  
  6243. move-result-object v1
  6244.  
  6245. invoke-virtual {v1}, Landroid/view/accessibility/AccessibilityManager;->isTouchExplorationEnabled()Z
  6246.  
  6247. move-result v1
  6248.  
  6249. if-eqz v1, :cond_0
  6250.  
  6251. .line 1038
  6252. invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
  6253.  
  6254. move-result v0
  6255.  
  6256. .line 1039
  6257. .local v0, action:I
  6258. packed-switch v0, :pswitch_data_0
  6259.  
  6260. .line 1050
  6261. :goto_0
  6262. :pswitch_0
  6263. invoke-virtual {p0, p1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->onTouchEvent(Landroid/view/MotionEvent;)Z
  6264.  
  6265. .line 1051
  6266. invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->setAction(I)V
  6267.  
  6268. .line 1053
  6269. .end local v0 #action:I
  6270. :cond_0
  6271. invoke-super {p0, p1}, Landroid/view/View;->onHoverEvent(Landroid/view/MotionEvent;)Z
  6272.  
  6273. .line 1054
  6274. return v2
  6275.  
  6276. .line 1041
  6277. .restart local v0 #action:I
  6278. :pswitch_1
  6279. const/4 v1, 0x0
  6280.  
  6281. invoke-virtual {p1, v1}, Landroid/view/MotionEvent;->setAction(I)V
  6282.  
  6283. goto :goto_0
  6284.  
  6285. .line 1044
  6286. :pswitch_2
  6287. const/4 v1, 0x2
  6288.  
  6289. invoke-virtual {p1, v1}, Landroid/view/MotionEvent;->setAction(I)V
  6290.  
  6291. goto :goto_0
  6292.  
  6293. .line 1047
  6294. :pswitch_3
  6295. invoke-virtual {p1, v2}, Landroid/view/MotionEvent;->setAction(I)V
  6296.  
  6297. goto :goto_0
  6298.  
  6299. .line 1039
  6300. :pswitch_data_0
  6301. .packed-switch 0x7
  6302. :pswitch_2
  6303. :pswitch_0
  6304. :pswitch_1
  6305. :pswitch_3
  6306. .end packed-switch
  6307. .end method
  6308.  
  6309. .method protected onLayout(ZIIII)V
  6310. .locals 9
  6311. .parameter "changed"
  6312. .parameter "left"
  6313. .parameter "top"
  6314. .parameter "right"
  6315. .parameter "bottom"
  6316.  
  6317. .prologue
  6318. .line 1208
  6319. invoke-super/range {p0 .. p5}, Landroid/view/View;->onLayout(ZIIII)V
  6320.  
  6321. .line 1209
  6322. sub-int v5, p4, p2
  6323.  
  6324. .line 1210
  6325. .local v5, width:I
  6326. sub-int v0, p5, p3
  6327.  
  6328. .line 1214
  6329. .local v0, height:I
  6330. invoke-direct {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->getRingWidth()F
  6331.  
  6332. move-result v4
  6333.  
  6334. .line 1215
  6335. .local v4, placementWidth:F
  6336. invoke-direct {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->getRingHeight()F
  6337.  
  6338. move-result v3
  6339.  
  6340. .line 1216
  6341. .local v3, placementHeight:F
  6342. iget v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHorizontalInset:I
  6343.  
  6344. int-to-float v6, v6
  6345.  
  6346. int-to-float v7, v5
  6347.  
  6348. iget v8, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMaxTargetWidth:I
  6349.  
  6350. int-to-float v8, v8
  6351.  
  6352. add-float/2addr v8, v4
  6353.  
  6354. invoke-static {v7, v8}, Ljava/lang/Math;->max(FF)F
  6355.  
  6356. move-result v7
  6357.  
  6358. const/high16 v8, 0x4000
  6359.  
  6360. div-float/2addr v7, v8
  6361.  
  6362. add-float v1, v6, v7
  6363.  
  6364. .line 1218
  6365. .local v1, newWaveCenterX:F
  6366. iget v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mVerticalInset:I
  6367.  
  6368. int-to-float v6, v6
  6369.  
  6370. int-to-float v7, v0
  6371.  
  6372. iget v8, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMaxTargetHeight:I
  6373.  
  6374. int-to-float v8, v8
  6375.  
  6376. add-float/2addr v8, v3
  6377.  
  6378. invoke-static {v7, v8}, Ljava/lang/Math;->max(FF)F
  6379.  
  6380. move-result v7
  6381.  
  6382. const/high16 v8, 0x4000
  6383.  
  6384. div-float/2addr v7, v8
  6385.  
  6386. add-float v2, v6, v7
  6387.  
  6388. .local v2, newWaveCenterY:F
  6389. iget-boolean v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mInitialLayout:Z
  6390.  
  6391. if-eqz v6, :cond_0
  6392.  
  6393. invoke-direct {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->stopAndHideWaveAnimation()V
  6394.  
  6395. const/4 v6, 0x0
  6396.  
  6397. const/4 v7, 0x0
  6398.  
  6399. invoke-virtual {p0, v6, v7}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->hideTargets(ZZ)V
  6400.  
  6401. const/4 v6, 0x0
  6402.  
  6403. iput-boolean v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mInitialLayout:Z
  6404.  
  6405. :cond_0
  6406. iget-object v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRing:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  6407.  
  6408. invoke-virtual {v6, v1}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->setPositionX(F)V
  6409.  
  6410. iget-object v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOuterRing:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  6411.  
  6412. invoke-virtual {v6, v2}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->setPositionY(F)V
  6413.  
  6414. iget-object v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPointCloud:Lcom/android/internal/widget/multiwaveview/PointCloud;
  6415.  
  6416. iget v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mRingScaleFactor:F
  6417.  
  6418. invoke-virtual {v6, v7}, Lcom/android/internal/widget/multiwaveview/PointCloud;->setScale(F)V
  6419.  
  6420. iget-object v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  6421.  
  6422. invoke-virtual {v6, v1}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->setPositionX(F)V
  6423.  
  6424. iget-object v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  6425.  
  6426. invoke-virtual {v6, v2}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->setPositionY(F)V
  6427.  
  6428. invoke-direct {p0, v1, v2}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->updateTargetPositions(FF)V
  6429.  
  6430. invoke-direct {p0, v1, v2}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->updatePointCloudPosition(FF)V
  6431.  
  6432. invoke-direct {p0, v1, v2}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->updateGlowPosition(FF)V
  6433.  
  6434. iput v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveCenterX:F
  6435.  
  6436. iput v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveCenterY:F
  6437.  
  6438. return-void
  6439. .end method
  6440.  
  6441. .method protected onMeasure(II)V
  6442. .locals 8
  6443. .parameter "widthMeasureSpec"
  6444. .parameter "heightMeasureSpec"
  6445.  
  6446. .prologue
  6447. .line 1183
  6448. invoke-virtual {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->getSuggestedMinimumWidth()I
  6449.  
  6450. move-result v3
  6451.  
  6452. .line 1184
  6453. .local v3, minimumWidth:I
  6454. invoke-virtual {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->getSuggestedMinimumHeight()I
  6455.  
  6456. move-result v2
  6457.  
  6458. .line 1185
  6459. .local v2, minimumHeight:I
  6460. invoke-direct {p0, p1, v3}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->resolveMeasured(II)I
  6461.  
  6462. move-result v1
  6463.  
  6464. .line 1186
  6465. .local v1, computedWidth:I
  6466. invoke-direct {p0, p2, v2}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->resolveMeasured(II)I
  6467.  
  6468. move-result v0
  6469.  
  6470. .line 1188
  6471. .local v0, computedHeight:I
  6472. invoke-direct {p0, v3, v2, v1, v0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->computeScaleFactor(IIII)F
  6473.  
  6474. move-result v6
  6475.  
  6476. iput v6, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mRingScaleFactor:F
  6477.  
  6478. .line 1191
  6479. invoke-virtual {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->getScaledSuggestedMinimumWidth()I
  6480.  
  6481. move-result v5
  6482.  
  6483. .line 1192
  6484. .local v5, scaledWidth:I
  6485. invoke-virtual {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->getScaledSuggestedMinimumHeight()I
  6486.  
  6487. move-result v4
  6488.  
  6489. .line 1194
  6490. .local v4, scaledHeight:I
  6491. sub-int v6, v1, v5
  6492.  
  6493. sub-int v7, v0, v4
  6494.  
  6495. invoke-direct {p0, v6, v7}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->computeInsets(II)V
  6496.  
  6497. .line 1195
  6498. invoke-virtual {p0, v1, v0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->setMeasuredDimension(II)V
  6499.  
  6500. .line 1196
  6501. return-void
  6502. .end method
  6503.  
  6504. .method public onTouchEvent(Landroid/view/MotionEvent;)Z
  6505. .locals 3
  6506. .parameter "event"
  6507.  
  6508. .prologue
  6509. .line 856
  6510. invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I
  6511.  
  6512. move-result v0
  6513.  
  6514. .line 857
  6515. .local v0, action:I
  6516. const/4 v1, 0x0
  6517.  
  6518. .line 858
  6519. .local v1, handled:Z
  6520. packed-switch v0, :pswitch_data_0
  6521.  
  6522. .line 889
  6523. :goto_0
  6524. :pswitch_0
  6525. invoke-virtual {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->invalidate()V
  6526.  
  6527. .line 890
  6528. if-eqz v1, :cond_0
  6529.  
  6530. const/4 v2, 0x1
  6531.  
  6532. :goto_1
  6533. return v2
  6534.  
  6535. :pswitch_1
  6536. invoke-direct {p0, p1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->handleDown(Landroid/view/MotionEvent;)V
  6537.  
  6538. invoke-virtual {p0, p1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->handleMove(Landroid/view/MotionEvent;)V
  6539.  
  6540. const/4 v1, 0x1
  6541.  
  6542. goto :goto_0
  6543.  
  6544. :pswitch_2
  6545. invoke-virtual {p0, p1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->handleMove(Landroid/view/MotionEvent;)V
  6546.  
  6547. const/4 v1, 0x1
  6548.  
  6549. goto :goto_0
  6550.  
  6551. :pswitch_3
  6552. invoke-virtual {p0, p1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->handleMove(Landroid/view/MotionEvent;)V
  6553.  
  6554. invoke-direct {p0, p1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->handleUp(Landroid/view/MotionEvent;)V
  6555.  
  6556. const/4 v1, 0x1
  6557.  
  6558. goto :goto_0
  6559.  
  6560. :pswitch_4
  6561. invoke-virtual {p0, p1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->handleMove(Landroid/view/MotionEvent;)V
  6562.  
  6563. invoke-direct {p0, p1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->handleCancel(Landroid/view/MotionEvent;)V
  6564.  
  6565. const/4 v1, 0x1
  6566.  
  6567. goto :goto_0
  6568.  
  6569. :cond_0
  6570. invoke-super {p0, p1}, Landroid/view/View;->onTouchEvent(Landroid/view/MotionEvent;)Z
  6571.  
  6572. move-result v2
  6573.  
  6574. goto :goto_1
  6575.  
  6576. .line 858
  6577. nop
  6578.  
  6579. :pswitch_data_0
  6580. .packed-switch 0x0
  6581. :pswitch_1
  6582. :pswitch_3
  6583. :pswitch_2
  6584. :pswitch_4
  6585. :pswitch_0
  6586. :pswitch_1
  6587. :pswitch_3
  6588. .end packed-switch
  6589. .end method
  6590.  
  6591. .method public ping()V
  6592. .locals 6
  6593.  
  6594. .prologue
  6595. const/4 v5, 0x0
  6596.  
  6597. .line 782
  6598. iget v4, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mFeedbackCount:I
  6599.  
  6600. if-lez v4, :cond_1
  6601.  
  6602. .line 783
  6603. const/4 v0, 0x1
  6604.  
  6605. .line 784
  6606. .local v0, doWaveAnimation:Z
  6607. iget-object v3, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  6608.  
  6609. .line 787
  6610. .local v3, waveAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  6611. invoke-virtual {v3}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->size()I
  6612.  
  6613. move-result v4
  6614.  
  6615. if-lez v4, :cond_0
  6616.  
  6617. invoke-virtual {v3, v5}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->get(I)Ljava/lang/Object;
  6618.  
  6619. move-result-object v4
  6620.  
  6621. check-cast v4, Lcom/android/internal/widget/multiwaveview/Tweener;
  6622.  
  6623. iget-object v4, v4, Lcom/android/internal/widget/multiwaveview/Tweener;->animator:Landroid/animation/ObjectAnimator;
  6624.  
  6625. invoke-virtual {v4}, Landroid/animation/ObjectAnimator;->isRunning()Z
  6626.  
  6627. move-result v4
  6628.  
  6629. if-eqz v4, :cond_0
  6630.  
  6631. .line 788
  6632. invoke-virtual {v3, v5}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->get(I)Ljava/lang/Object;
  6633.  
  6634. move-result-object v4
  6635.  
  6636. check-cast v4, Lcom/android/internal/widget/multiwaveview/Tweener;
  6637.  
  6638. iget-object v4, v4, Lcom/android/internal/widget/multiwaveview/Tweener;->animator:Landroid/animation/ObjectAnimator;
  6639.  
  6640. invoke-virtual {v4}, Landroid/animation/ObjectAnimator;->getCurrentPlayTime()J
  6641.  
  6642. move-result-wide v1
  6643.  
  6644. .line 789
  6645. .local v1, t:J
  6646. const-wide/16 v4, 0x1f4
  6647.  
  6648. cmp-long v4, v1, v4
  6649.  
  6650. if-gez v4, :cond_0
  6651.  
  6652. .line 790
  6653. const/4 v0, 0x0
  6654.  
  6655. .line 794
  6656. .end local v1 #t:J
  6657. :cond_0
  6658. if-eqz v0, :cond_1
  6659.  
  6660. .line 795
  6661. invoke-direct {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->startWaveAnimation()V
  6662.  
  6663. .line 798
  6664. .end local v0 #doWaveAnimation:Z
  6665. .end local v3 #waveAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  6666. :cond_1
  6667. return-void
  6668. .end method
  6669.  
  6670. .method public replaceTargetDrawablesIfPresent(Landroid/content/ComponentName;Ljava/lang/String;I)Z
  6671. .locals 10
  6672. .parameter "component"
  6673. .parameter "name"
  6674. .parameter "existingResId"
  6675.  
  6676. .prologue
  6677. .line 1484
  6678. if-nez p3, :cond_1
  6679.  
  6680. const/4 v5, 0x0
  6681.  
  6682. .line 1512
  6683. :cond_0
  6684. :goto_0
  6685. return v5
  6686.  
  6687. .line 1486
  6688. :cond_1
  6689. const/4 v5, 0x0
  6690.  
  6691. .line 1487
  6692. .local v5, replaced:Z
  6693. if-eqz p1, :cond_2
  6694.  
  6695. .line 1489
  6696. :try_start_0
  6697. iget-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mContext:Landroid/content/Context;
  6698.  
  6699. invoke-virtual {v7}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
  6700.  
  6701. move-result-object v4
  6702.  
  6703. .line 1491
  6704. .local v4, packageManager:Landroid/content/pm/PackageManager;
  6705. const/16 v7, 0x80
  6706.  
  6707. invoke-virtual {v4, p1, v7}, Landroid/content/pm/PackageManager;->getActivityInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo;
  6708.  
  6709. move-result-object v7
  6710.  
  6711. iget-object v2, v7, Landroid/content/pm/ActivityInfo;->metaData:Landroid/os/Bundle;
  6712.  
  6713. .line 1493
  6714. .local v2, metaData:Landroid/os/Bundle;
  6715. if-eqz v2, :cond_2
  6716.  
  6717. .line 1494
  6718. invoke-virtual {v2, p2}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
  6719.  
  6720. move-result v1
  6721.  
  6722. .line 1495
  6723. .local v1, iconResId:I
  6724. if-eqz v1, :cond_2
  6725.  
  6726. .line 1496
  6727. invoke-virtual {v4, p1}, Landroid/content/pm/PackageManager;->getResourcesForActivity(Landroid/content/ComponentName;)Landroid/content/res/Resources;
  6728.  
  6729. move-result-object v6
  6730.  
  6731. .line 1497
  6732. .local v6, res:Landroid/content/res/Resources;
  6733. invoke-direct {p0, v6, p3, v1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->replaceTargetDrawables(Landroid/content/res/Resources;II)Z
  6734. :try_end_0
  6735. .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
  6736. .catch Landroid/content/res/Resources$NotFoundException; {:try_start_0 .. :try_end_0} :catch_1
  6737.  
  6738. move-result v5
  6739.  
  6740. .line 1508
  6741. .end local v1 #iconResId:I
  6742. .end local v2 #metaData:Landroid/os/Bundle;
  6743. .end local v4 #packageManager:Landroid/content/pm/PackageManager;
  6744. .end local v6 #res:Landroid/content/res/Resources;
  6745. :cond_2
  6746. :goto_1
  6747. if-nez v5, :cond_0
  6748.  
  6749. .line 1510
  6750. iget-object v7, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mContext:Landroid/content/Context;
  6751.  
  6752. invoke-virtual {v7}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
  6753.  
  6754. move-result-object v7
  6755.  
  6756. invoke-direct {p0, v7, p3, p3}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->replaceTargetDrawables(Landroid/content/res/Resources;II)Z
  6757.  
  6758. goto :goto_0
  6759.  
  6760. .line 1500
  6761. :catch_0
  6762. move-exception v0
  6763.  
  6764. .line 1501
  6765. .local v0, e:Landroid/content/pm/PackageManager$NameNotFoundException;
  6766. const-string v7, "GlowPadView"
  6767.  
  6768. new-instance v8, Ljava/lang/StringBuilder;
  6769.  
  6770. invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
  6771.  
  6772. const-string v9, "Failed to swap drawable; "
  6773.  
  6774. invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6775.  
  6776. move-result-object v8
  6777.  
  6778. invoke-virtual {p1}, Landroid/content/ComponentName;->flattenToShortString()Ljava/lang/String;
  6779.  
  6780. move-result-object v9
  6781.  
  6782. invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6783.  
  6784. move-result-object v8
  6785.  
  6786. const-string v9, " not found"
  6787.  
  6788. invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6789.  
  6790. move-result-object v8
  6791.  
  6792. invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  6793.  
  6794. move-result-object v8
  6795.  
  6796. invoke-static {v7, v8, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  6797.  
  6798. goto :goto_1
  6799.  
  6800. .line 1503
  6801. .end local v0 #e:Landroid/content/pm/PackageManager$NameNotFoundException;
  6802. :catch_1
  6803. move-exception v3
  6804.  
  6805. .line 1504
  6806. .local v3, nfe:Landroid/content/res/Resources$NotFoundException;
  6807. const-string v7, "GlowPadView"
  6808.  
  6809. new-instance v8, Ljava/lang/StringBuilder;
  6810.  
  6811. invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
  6812.  
  6813. const-string v9, "Failed to swap drawable from "
  6814.  
  6815. invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6816.  
  6817. move-result-object v8
  6818.  
  6819. invoke-virtual {p1}, Landroid/content/ComponentName;->flattenToShortString()Ljava/lang/String;
  6820.  
  6821. move-result-object v9
  6822.  
  6823. invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6824.  
  6825. move-result-object v8
  6826.  
  6827. invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  6828.  
  6829. move-result-object v8
  6830.  
  6831. invoke-static {v7, v8, v3}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  6832.  
  6833. goto :goto_1
  6834. .end method
  6835.  
  6836. .method public reset(Z)V
  6837. .locals 3
  6838. .parameter "animate"
  6839.  
  6840. .prologue
  6841. const/4 v2, 0x0
  6842.  
  6843. const/4 v1, 0x0
  6844.  
  6845. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mGlowAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  6846.  
  6847. invoke-virtual {v0}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->stop()V
  6848.  
  6849. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  6850.  
  6851. invoke-virtual {v0}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->stop()V
  6852.  
  6853. invoke-direct {p0, v1, v2}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->startBackgroundAnimation(IF)V
  6854.  
  6855. invoke-direct {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->stopAndHideWaveAnimation()V
  6856.  
  6857. invoke-virtual {p0, p1, v1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->hideTargets(ZZ)V
  6858.  
  6859. const/4 v0, 0x0
  6860.  
  6861. invoke-direct {p0, v1, v1, v2, v0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->hideGlow(IIFLandroid/animation/Animator$AnimatorListener;)V
  6862.  
  6863. invoke-static {}, Lcom/android/internal/widget/multiwaveview/Tweener;->reset()V
  6864.  
  6865. return-void
  6866. .end method
  6867.  
  6868. .method public resumeAnimations()V
  6869. .locals 2
  6870.  
  6871. .prologue
  6872. const/4 v1, 0x0
  6873.  
  6874. .line 343
  6875. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  6876.  
  6877. invoke-virtual {v0, v1}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->setSuspended(Z)V
  6878.  
  6879. .line 344
  6880. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  6881.  
  6882. invoke-virtual {v0, v1}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->setSuspended(Z)V
  6883.  
  6884. .line 345
  6885. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mGlowAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  6886.  
  6887. invoke-virtual {v0, v1}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->setSuspended(Z)V
  6888.  
  6889. .line 346
  6890. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  6891.  
  6892. invoke-virtual {v0}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->start()V
  6893.  
  6894. .line 347
  6895. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  6896.  
  6897. invoke-virtual {v0}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->start()V
  6898.  
  6899. .line 348
  6900. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mGlowAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  6901.  
  6902. invoke-virtual {v0}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->start()V
  6903.  
  6904. .line 349
  6905. return-void
  6906. .end method
  6907.  
  6908. .method public setArc(FI)V
  6909. .locals 1
  6910. .parameter "angle"
  6911. .parameter "color"
  6912.  
  6913. .prologue
  6914. .line 1516
  6915. iput p1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mArcAngle:F
  6916.  
  6917. .line 1517
  6918. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mArcPaint:Landroid/graphics/Paint;
  6919.  
  6920. invoke-virtual {v0, p2}, Landroid/graphics/Paint;->setColor(I)V
  6921.  
  6922. .line 1518
  6923. return-void
  6924. .end method
  6925.  
  6926. .method setActiveTarget(I)V
  6927. .locals 0
  6928. .parameter "value"
  6929.  
  6930. .prologue
  6931. iput p1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mActiveTarget:I
  6932.  
  6933. return-void
  6934. .end method
  6935.  
  6936. .method setAnimatingTargets(Z)V
  6937. .locals 0
  6938. .parameter "value"
  6939.  
  6940. .prologue
  6941. iput-boolean p1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mAnimatingTargets:Z
  6942.  
  6943. return-void
  6944. .end method
  6945.  
  6946. .method public setDirectionDescriptionsResourceId(I)V
  6947. .locals 1
  6948. .parameter "resourceId"
  6949.  
  6950. .prologue
  6951. .line 741
  6952. iput p1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mDirectionDescriptionsResourceId:I
  6953.  
  6954. .line 742
  6955. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mDirectionDescriptions:Ljava/util/ArrayList;
  6956.  
  6957. if-eqz v0, :cond_0
  6958.  
  6959. .line 743
  6960. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mDirectionDescriptions:Ljava/util/ArrayList;
  6961.  
  6962. invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V
  6963.  
  6964. .line 745
  6965. :cond_0
  6966. return-void
  6967. .end method
  6968.  
  6969. .method public setDrawOuterRing(Z)V
  6970. .locals 0
  6971. .parameter "drawOuterRing"
  6972.  
  6973. .prologue
  6974. .line 1336
  6975. iput-boolean p1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mDrawOuterRing:Z
  6976.  
  6977. .line 1337
  6978. return-void
  6979. .end method
  6980.  
  6981. .method setDragging(Z)V
  6982. .locals 0
  6983. .parameter "value"
  6984.  
  6985. .prologue
  6986. iput-boolean p1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mDragging:Z
  6987.  
  6988. return-void
  6989. .end method
  6990.  
  6991. .method public setEnableTarget(IZ)V
  6992. .locals 3
  6993. .parameter "resourceId"
  6994. .parameter "enabled"
  6995.  
  6996. .prologue
  6997. .line 1426
  6998. const/4 v0, 0x0
  6999.  
  7000. .local v0, i:I
  7001. :goto_0
  7002. iget-object v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  7003.  
  7004. invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
  7005.  
  7006. move-result v2
  7007.  
  7008. if-ge v0, v2, :cond_0
  7009.  
  7010. .line 1427
  7011. iget-object v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDrawables:Ljava/util/ArrayList;
  7012.  
  7013. invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
  7014.  
  7015. move-result-object v1
  7016.  
  7017. check-cast v1, Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  7018.  
  7019. .line 1428
  7020. .local v1, target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  7021. invoke-virtual {v1}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getResourceId()I
  7022.  
  7023. move-result v2
  7024.  
  7025. if-ne v2, p1, :cond_1
  7026.  
  7027. .line 1429
  7028. invoke-virtual {v1, p2}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->setEnabled(Z)V
  7029.  
  7030. .line 1433
  7031. .end local v1 #target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  7032. :cond_0
  7033. return-void
  7034.  
  7035. .line 1426
  7036. .restart local v1 #target:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  7037. :cond_1
  7038. add-int/lit8 v0, v0, 0x1
  7039.  
  7040. goto :goto_0
  7041. .end method
  7042.  
  7043. .method public setHandleDrawable(Landroid/graphics/drawable/Drawable;)V
  7044. .locals 3
  7045. .parameter "handle"
  7046.  
  7047. .prologue
  7048. .line 1521
  7049. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mContext:Landroid/content/Context;
  7050.  
  7051. invoke-virtual {v1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
  7052.  
  7053. move-result-object v0
  7054.  
  7055. .line 1522
  7056. .local v0, res:Landroid/content/res/Resources;
  7057. if-eqz p1, :cond_0
  7058.  
  7059. .line 1523
  7060. new-instance v1, Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  7061.  
  7062. invoke-direct {v1, v0, p1}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;-><init>(Landroid/content/res/Resources;Landroid/graphics/drawable/Drawable;)V
  7063.  
  7064. iput-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  7065.  
  7066. .line 1527
  7067. :goto_0
  7068. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  7069.  
  7070. sget-object v2, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->STATE_INACTIVE:[I
  7071.  
  7072. invoke-virtual {v1, v2}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->setState([I)V
  7073.  
  7074. .line 1528
  7075. return-void
  7076.  
  7077. .line 1525
  7078. :cond_0
  7079. new-instance v1, Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  7080.  
  7081. const/4 v2, 0x0
  7082.  
  7083. invoke-direct {v1, v0, v2}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;-><init>(Landroid/content/res/Resources;I)V
  7084.  
  7085. iput-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  7086.  
  7087. goto :goto_0
  7088. .end method
  7089.  
  7090. .method public setHandleDrawable(Lcom/android/internal/widget/multiwaveview/TargetDrawable;)V
  7091. .locals 3
  7092. .parameter "d"
  7093.  
  7094. .prologue
  7095. .line 1322
  7096. iget-object v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  7097.  
  7098. invoke-virtual {v2}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getPositionX()F
  7099.  
  7100. move-result v0
  7101.  
  7102. .line 1323
  7103. .local v0, x:F
  7104. iget-object v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  7105.  
  7106. invoke-virtual {v2}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->getPositionY()F
  7107.  
  7108. move-result v1
  7109.  
  7110. .line 1324
  7111. .local v1, y:F
  7112. new-instance v2, Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  7113.  
  7114. invoke-direct {v2, p1}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;-><init>(Lcom/android/internal/widget/multiwaveview/TargetDrawable;)V
  7115.  
  7116. iput-object v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  7117.  
  7118. .line 1325
  7119. iget-object v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  7120.  
  7121. invoke-virtual {v2, v0}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->setPositionX(F)V
  7122.  
  7123. .line 1326
  7124. iget-object v2, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleDrawable:Lcom/android/internal/widget/multiwaveview/TargetDrawable;
  7125.  
  7126. invoke-virtual {v2, v1}, Lcom/android/internal/widget/multiwaveview/TargetDrawable;->setPositionY(F)V
  7127.  
  7128. .line 1327
  7129. return-void
  7130. .end method
  7131.  
  7132. .method public setHandleText(Ljava/lang/String;)V
  7133. .locals 3
  7134. .parameter "text"
  7135.  
  7136. .prologue
  7137. .line 1330
  7138. new-instance v0, Landroid/text/TextPaint;
  7139.  
  7140. iget-object v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mPaintText:Landroid/graphics/Paint;
  7141.  
  7142. invoke-direct {v0, v1}, Landroid/text/TextPaint;-><init>(Landroid/graphics/Paint;)V
  7143.  
  7144. iget v1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMaxTextArcLength:F
  7145.  
  7146. sget-object v2, Landroid/text/TextUtils$TruncateAt;->END:Landroid/text/TextUtils$TruncateAt;
  7147.  
  7148. invoke-static {p1, v0, v1, v2}, Landroid/text/TextUtils;->ellipsize(Ljava/lang/CharSequence;Landroid/text/TextPaint;FLandroid/text/TextUtils$TruncateAt;)Ljava/lang/CharSequence;
  7149.  
  7150. move-result-object v0
  7151.  
  7152. invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
  7153.  
  7154. move-result-object v0
  7155.  
  7156. iput-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mHandleText:Ljava/lang/String;
  7157.  
  7158. .line 1333
  7159. return-void
  7160. .end method
  7161.  
  7162. .method public setMagneticTargets(Z)V
  7163. .locals 0
  7164. .parameter "enabled"
  7165.  
  7166. .prologue
  7167. .line 761
  7168. iput-boolean p1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mMagneticTargets:Z
  7169.  
  7170. .line 762
  7171. return-void
  7172. .end method
  7173.  
  7174. .method setGlowRadius(F)V
  7175. .locals 0
  7176. .parameter "value"
  7177.  
  7178. .prologue
  7179. iput p1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mGlowRadius:F
  7180.  
  7181. return-void
  7182. .end method
  7183.  
  7184. .method public setOnTriggerListener(Lcom/android/internal/widget/multiwaveview/GlowPadView$OnTriggerListener;)V
  7185. .locals 0
  7186. .parameter "listener"
  7187.  
  7188. .prologue
  7189. .line 1340
  7190. iput-object p1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mOnTriggerListener:Lcom/android/internal/widget/multiwaveview/GlowPadView$OnTriggerListener;
  7191.  
  7192. .line 1341
  7193. return-void
  7194. .end method
  7195.  
  7196. .method public setTargetDescriptionsResourceId(I)V
  7197. .locals 1
  7198. .parameter "resourceId"
  7199.  
  7200. .prologue
  7201. .line 720
  7202. iput p1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDescriptionsResourceId:I
  7203.  
  7204. .line 721
  7205. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDescriptions:Ljava/util/ArrayList;
  7206.  
  7207. if-eqz v0, :cond_0
  7208.  
  7209. .line 722
  7210. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetDescriptions:Ljava/util/ArrayList;
  7211.  
  7212. invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V
  7213.  
  7214. .line 724
  7215. :cond_0
  7216. return-void
  7217. .end method
  7218.  
  7219. .method public setTargetResources(I)V
  7220. .locals 1
  7221. .parameter "resourceId"
  7222.  
  7223. .prologue
  7224. .line 689
  7225. iget-boolean v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mAnimatingTargets:Z
  7226.  
  7227. if-eqz v0, :cond_0
  7228.  
  7229. .line 691
  7230. iput p1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mNewTargetResources:I
  7231.  
  7232. .line 695
  7233. :goto_0
  7234. return-void
  7235.  
  7236. .line 693
  7237. :cond_0
  7238. invoke-direct {p0, p1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->internalSetTargetResources(I)V
  7239.  
  7240. goto :goto_0
  7241. .end method
  7242.  
  7243. .method public setTargetResources(Ljava/util/ArrayList;)V
  7244. .locals 1
  7245. .parameter
  7246. .annotation system Ldalvik/annotation/Signature;
  7247. value = {
  7248. "(",
  7249. "Ljava/util/ArrayList",
  7250. "<",
  7251. "Lcom/android/internal/widget/multiwaveview/TargetDrawable;",
  7252. ">;)V"
  7253. }
  7254. .end annotation
  7255.  
  7256. .prologue
  7257. .line 698
  7258. .local p1, drawList:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lcom/android/internal/widget/multiwaveview/TargetDrawable;>;"
  7259. iget-boolean v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mAnimatingTargets:Z
  7260.  
  7261. if-eqz v0, :cond_0
  7262.  
  7263. .line 700
  7264. iput-object p1, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mNewTargetDrawables:Ljava/util/ArrayList;
  7265.  
  7266. .line 704
  7267. :goto_0
  7268. return-void
  7269.  
  7270. .line 702
  7271. :cond_0
  7272. invoke-direct {p0, p1}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->internalSetTargetResources(Ljava/util/ArrayList;)V
  7273.  
  7274. goto :goto_0
  7275. .end method
  7276.  
  7277. .method public setVibrateEnabled(Z)V
  7278. .locals 2
  7279. .parameter "enabled"
  7280.  
  7281. .prologue
  7282. .line 770
  7283. if-eqz p1, :cond_0
  7284.  
  7285. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mVibrator:Landroid/os/Vibrator;
  7286.  
  7287. if-nez v0, :cond_0
  7288.  
  7289. .line 771
  7290. invoke-virtual {p0}, Lcom/android/internal/widget/multiwaveview/GlowPadView;->getContext()Landroid/content/Context;
  7291.  
  7292. move-result-object v0
  7293.  
  7294. const-string v1, "vibrator"
  7295.  
  7296. invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
  7297.  
  7298. move-result-object v0
  7299.  
  7300. check-cast v0, Landroid/os/Vibrator;
  7301.  
  7302. iput-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mVibrator:Landroid/os/Vibrator;
  7303.  
  7304. .line 775
  7305. :goto_0
  7306. return-void
  7307.  
  7308. .line 773
  7309. :cond_0
  7310. const/4 v0, 0x0
  7311.  
  7312. iput-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mVibrator:Landroid/os/Vibrator;
  7313.  
  7314. goto :goto_0
  7315. .end method
  7316.  
  7317. .method public suspendAnimations()V
  7318. .locals 2
  7319.  
  7320. .prologue
  7321. const/4 v1, 0x1
  7322.  
  7323. .line 337
  7324. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mWaveAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  7325.  
  7326. invoke-virtual {v0, v1}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->setSuspended(Z)V
  7327.  
  7328. .line 338
  7329. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mTargetAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  7330.  
  7331. invoke-virtual {v0, v1}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->setSuspended(Z)V
  7332.  
  7333. .line 339
  7334. iget-object v0, p0, Lcom/android/internal/widget/multiwaveview/GlowPadView;->mGlowAnimations:Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;
  7335.  
  7336. invoke-virtual {v0, v1}, Lcom/android/internal/widget/multiwaveview/GlowPadView$AnimationBundle;->setSuspended(Z)V
  7337.  
  7338. .line 340
  7339. return-void
  7340. .end method
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement