MaterialProgressDrawable$Ring.smali 27 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006
  1. .class Landroid/support/v4/widget/MaterialProgressDrawable$Ring;
  2. .super Ljava/lang/Object;
  3. .source "MaterialProgressDrawable.java"
  4. # annotations
  5. .annotation system Ldalvik/annotation/EnclosingClass;
  6. value = Landroid/support/v4/widget/MaterialProgressDrawable;
  7. .end annotation
  8. .annotation system Ldalvik/annotation/InnerClass;
  9. accessFlags = 0xa
  10. name = "Ring"
  11. .end annotation
  12. # instance fields
  13. .field private mAlpha:I
  14. .field private mArrow:Landroid/graphics/Path;
  15. .field private mArrowHeight:I
  16. .field private final mArrowPaint:Landroid/graphics/Paint;
  17. .field private mArrowScale:F
  18. .field private mArrowWidth:I
  19. .field private mBackgroundColor:I
  20. .field private final mCallback:Landroid/graphics/drawable/Drawable$Callback;
  21. .field private final mCirclePaint:Landroid/graphics/Paint;
  22. .field private mColorIndex:I
  23. .field private mColors:[I
  24. .field private mCurrentColor:I
  25. .field private mEndTrim:F
  26. .field private final mPaint:Landroid/graphics/Paint;
  27. .field private mRingCenterRadius:D
  28. .field private mRotation:F
  29. .field private mShowArrow:Z
  30. .field private mStartTrim:F
  31. .field private mStartingEndTrim:F
  32. .field private mStartingRotation:F
  33. .field private mStartingStartTrim:F
  34. .field private mStrokeInset:F
  35. .field private mStrokeWidth:F
  36. .field private final mTempBounds:Landroid/graphics/RectF;
  37. # direct methods
  38. .method public constructor <init>(Landroid/graphics/drawable/Drawable$Callback;)V
  39. .locals 3
  40. .param p1, "callback" # Landroid/graphics/drawable/Drawable$Callback;
  41. .prologue
  42. const/4 v2, 0x1
  43. const/4 v1, 0x0
  44. .line 499
  45. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  46. .line 468
  47. new-instance v0, Landroid/graphics/RectF;
  48. invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V
  49. iput-object v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mTempBounds:Landroid/graphics/RectF;
  50. .line 469
  51. new-instance v0, Landroid/graphics/Paint;
  52. invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
  53. iput-object v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mPaint:Landroid/graphics/Paint;
  54. .line 470
  55. new-instance v0, Landroid/graphics/Paint;
  56. invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
  57. iput-object v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mArrowPaint:Landroid/graphics/Paint;
  58. .line 474
  59. iput v1, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mStartTrim:F
  60. .line 475
  61. iput v1, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mEndTrim:F
  62. .line 476
  63. iput v1, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mRotation:F
  64. .line 477
  65. const/high16 v0, 0x40a00000 # 5.0f
  66. iput v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mStrokeWidth:F
  67. .line 478
  68. const/high16 v0, 0x40200000 # 2.5f
  69. iput v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mStrokeInset:F
  70. .line 495
  71. new-instance v0, Landroid/graphics/Paint;
  72. invoke-direct {v0, v2}, Landroid/graphics/Paint;-><init>(I)V
  73. iput-object v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mCirclePaint:Landroid/graphics/Paint;
  74. .line 500
  75. iput-object p1, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mCallback:Landroid/graphics/drawable/Drawable$Callback;
  76. .line 502
  77. iget-object v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mPaint:Landroid/graphics/Paint;
  78. sget-object v1, Landroid/graphics/Paint$Cap;->SQUARE:Landroid/graphics/Paint$Cap;
  79. invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setStrokeCap(Landroid/graphics/Paint$Cap;)V
  80. .line 503
  81. iget-object v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mPaint:Landroid/graphics/Paint;
  82. invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setAntiAlias(Z)V
  83. .line 504
  84. iget-object v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mPaint:Landroid/graphics/Paint;
  85. sget-object v1, Landroid/graphics/Paint$Style;->STROKE:Landroid/graphics/Paint$Style;
  86. invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V
  87. .line 506
  88. iget-object v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mArrowPaint:Landroid/graphics/Paint;
  89. sget-object v1, Landroid/graphics/Paint$Style;->FILL:Landroid/graphics/Paint$Style;
  90. invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V
  91. .line 507
  92. iget-object v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mArrowPaint:Landroid/graphics/Paint;
  93. invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setAntiAlias(Z)V
  94. .line 508
  95. return-void
  96. .end method
  97. .method private drawTriangle(Landroid/graphics/Canvas;FFLandroid/graphics/Rect;)V
  98. .locals 10
  99. .param p1, "c" # Landroid/graphics/Canvas;
  100. .param p2, "startAngle" # F
  101. .param p3, "sweepAngle" # F
  102. .param p4, "bounds" # Landroid/graphics/Rect;
  103. .prologue
  104. const-wide/16 v8, 0x0
  105. const/4 v7, 0x0
  106. .line 551
  107. iget-boolean v3, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mShowArrow:Z
  108. if-eqz v3, :cond_0
  109. .line 552
  110. iget-object v3, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mArrow:Landroid/graphics/Path;
  111. if-nez v3, :cond_1
  112. .line 553
  113. new-instance v3, Landroid/graphics/Path;
  114. invoke-direct {v3}, Landroid/graphics/Path;-><init>()V
  115. iput-object v3, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mArrow:Landroid/graphics/Path;
  116. .line 554
  117. iget-object v3, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mArrow:Landroid/graphics/Path;
  118. sget-object v4, Landroid/graphics/Path$FillType;->EVEN_ODD:Landroid/graphics/Path$FillType;
  119. invoke-virtual {v3, v4}, Landroid/graphics/Path;->setFillType(Landroid/graphics/Path$FillType;)V
  120. .line 561
  121. :goto_0
  122. iget v3, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mStrokeInset:F
  123. float-to-int v3, v3
  124. div-int/lit8 v3, v3, 0x2
  125. int-to-float v3, v3
  126. iget v4, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mArrowScale:F
  127. mul-float v0, v3, v4
  128. .line 562
  129. .local v0, "inset":F
  130. iget-wide v3, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mRingCenterRadius:D
  131. invoke-static {v8, v9}, Ljava/lang/Math;->cos(D)D
  132. move-result-wide v5
  133. mul-double/2addr v3, v5
  134. invoke-virtual {p4}, Landroid/graphics/Rect;->exactCenterX()F
  135. move-result v5
  136. float-to-double v5, v5
  137. add-double/2addr v3, v5
  138. double-to-float v1, v3
  139. .line 563
  140. .local v1, "x":F
  141. iget-wide v3, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mRingCenterRadius:D
  142. invoke-static {v8, v9}, Ljava/lang/Math;->sin(D)D
  143. move-result-wide v5
  144. mul-double/2addr v3, v5
  145. invoke-virtual {p4}, Landroid/graphics/Rect;->exactCenterY()F
  146. move-result v5
  147. float-to-double v5, v5
  148. add-double/2addr v3, v5
  149. double-to-float v2, v3
  150. .line 569
  151. .local v2, "y":F
  152. iget-object v3, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mArrow:Landroid/graphics/Path;
  153. invoke-virtual {v3, v7, v7}, Landroid/graphics/Path;->moveTo(FF)V
  154. .line 570
  155. iget-object v3, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mArrow:Landroid/graphics/Path;
  156. iget v4, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mArrowWidth:I
  157. int-to-float v4, v4
  158. iget v5, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mArrowScale:F
  159. mul-float/2addr v4, v5
  160. invoke-virtual {v3, v4, v7}, Landroid/graphics/Path;->lineTo(FF)V
  161. .line 571
  162. iget-object v3, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mArrow:Landroid/graphics/Path;
  163. iget v4, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mArrowWidth:I
  164. int-to-float v4, v4
  165. iget v5, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mArrowScale:F
  166. mul-float/2addr v4, v5
  167. const/high16 v5, 0x40000000 # 2.0f
  168. div-float/2addr v4, v5
  169. iget v5, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mArrowHeight:I
  170. int-to-float v5, v5
  171. iget v6, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mArrowScale:F
  172. mul-float/2addr v5, v6
  173. invoke-virtual {v3, v4, v5}, Landroid/graphics/Path;->lineTo(FF)V
  174. .line 573
  175. iget-object v3, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mArrow:Landroid/graphics/Path;
  176. sub-float v4, v1, v0
  177. invoke-virtual {v3, v4, v2}, Landroid/graphics/Path;->offset(FF)V
  178. .line 574
  179. iget-object v3, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mArrow:Landroid/graphics/Path;
  180. invoke-virtual {v3}, Landroid/graphics/Path;->close()V
  181. .line 576
  182. iget-object v3, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mArrowPaint:Landroid/graphics/Paint;
  183. iget v4, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mCurrentColor:I
  184. invoke-virtual {v3, v4}, Landroid/graphics/Paint;->setColor(I)V
  185. .line 577
  186. add-float v3, p2, p3
  187. const/high16 v4, 0x40a00000 # 5.0f
  188. sub-float/2addr v3, v4
  189. invoke-virtual {p4}, Landroid/graphics/Rect;->exactCenterX()F
  190. move-result v4
  191. invoke-virtual {p4}, Landroid/graphics/Rect;->exactCenterY()F
  192. move-result v5
  193. invoke-virtual {p1, v3, v4, v5}, Landroid/graphics/Canvas;->rotate(FFF)V
  194. .line 579
  195. iget-object v3, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mArrow:Landroid/graphics/Path;
  196. iget-object v4, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mArrowPaint:Landroid/graphics/Paint;
  197. invoke-virtual {p1, v3, v4}, Landroid/graphics/Canvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V
  198. .line 581
  199. .end local v0 # "inset":F
  200. .end local v1 # "x":F
  201. .end local v2 # "y":F
  202. :cond_0
  203. return-void
  204. .line 556
  205. :cond_1
  206. iget-object v3, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mArrow:Landroid/graphics/Path;
  207. invoke-virtual {v3}, Landroid/graphics/Path;->reset()V
  208. goto :goto_0
  209. .end method
  210. .method private getNextColorIndex()I
  211. .locals 2
  212. .prologue
  213. .line 622
  214. iget v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mColorIndex:I
  215. add-int/lit8 v0, v0, 0x1
  216. iget-object v1, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mColors:[I
  217. array-length v1, v1
  218. rem-int/2addr v0, v1
  219. return v0
  220. .end method
  221. .method private invalidateSelf()V
  222. .locals 2
  223. .prologue
  224. .line 789
  225. iget-object v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mCallback:Landroid/graphics/drawable/Drawable$Callback;
  226. const/4 v1, 0x0
  227. invoke-interface {v0, v1}, Landroid/graphics/drawable/Drawable$Callback;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V
  228. .line 790
  229. return-void
  230. .end method
  231. # virtual methods
  232. .method public draw(Landroid/graphics/Canvas;Landroid/graphics/Rect;)V
  233. .locals 8
  234. .param p1, "c" # Landroid/graphics/Canvas;
  235. .param p2, "bounds" # Landroid/graphics/Rect;
  236. .prologue
  237. const/high16 v5, 0x43b40000 # 360.0f
  238. .line 529
  239. iget-object v1, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mTempBounds:Landroid/graphics/RectF;
  240. .line 530
  241. .local v1, "arcBounds":Landroid/graphics/RectF;
  242. invoke-virtual {v1, p2}, Landroid/graphics/RectF;->set(Landroid/graphics/Rect;)V
  243. .line 531
  244. iget v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mStrokeInset:F
  245. iget v4, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mStrokeInset:F
  246. invoke-virtual {v1, v0, v4}, Landroid/graphics/RectF;->inset(FF)V
  247. .line 533
  248. iget v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mStartTrim:F
  249. iget v4, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mRotation:F
  250. add-float/2addr v0, v4
  251. mul-float v2, v0, v5
  252. .line 534
  253. .local v2, "startAngle":F
  254. iget v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mEndTrim:F
  255. iget v4, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mRotation:F
  256. add-float/2addr v0, v4
  257. mul-float v6, v0, v5
  258. .line 535
  259. .local v6, "endAngle":F
  260. sub-float v3, v6, v2
  261. .line 537
  262. .local v3, "sweepAngle":F
  263. iget-object v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mPaint:Landroid/graphics/Paint;
  264. iget v4, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mCurrentColor:I
  265. invoke-virtual {v0, v4}, Landroid/graphics/Paint;->setColor(I)V
  266. .line 538
  267. const/4 v4, 0x0
  268. iget-object v5, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mPaint:Landroid/graphics/Paint;
  269. move-object v0, p1
  270. invoke-virtual/range {v0 .. v5}, Landroid/graphics/Canvas;->drawArc(Landroid/graphics/RectF;FFZLandroid/graphics/Paint;)V
  271. .line 540
  272. invoke-direct {p0, p1, v2, v3, p2}, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->drawTriangle(Landroid/graphics/Canvas;FFLandroid/graphics/Rect;)V
  273. .line 542
  274. iget v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mAlpha:I
  275. const/16 v4, 0xff
  276. if-ge v0, v4, :cond_0
  277. .line 543
  278. iget-object v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mCirclePaint:Landroid/graphics/Paint;
  279. iget v4, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mBackgroundColor:I
  280. invoke-virtual {v0, v4}, Landroid/graphics/Paint;->setColor(I)V
  281. .line 544
  282. iget-object v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mCirclePaint:Landroid/graphics/Paint;
  283. iget v4, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mAlpha:I
  284. rsub-int v4, v4, 0xff
  285. invoke-virtual {v0, v4}, Landroid/graphics/Paint;->setAlpha(I)V
  286. .line 545
  287. invoke-virtual {p2}, Landroid/graphics/Rect;->exactCenterX()F
  288. move-result v0
  289. invoke-virtual {p2}, Landroid/graphics/Rect;->exactCenterY()F
  290. move-result v4
  291. invoke-virtual {p2}, Landroid/graphics/Rect;->width()I
  292. move-result v5
  293. div-int/lit8 v5, v5, 0x2
  294. int-to-float v5, v5
  295. iget-object v7, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mCirclePaint:Landroid/graphics/Paint;
  296. invoke-virtual {p1, v0, v4, v5, v7}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V
  297. .line 548
  298. :cond_0
  299. return-void
  300. .end method
  301. .method public getAlpha()I
  302. .locals 1
  303. .prologue
  304. .line 649
  305. iget v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mAlpha:I
  306. return v0
  307. .end method
  308. .method public getCenterRadius()D
  309. .locals 2
  310. .prologue
  311. .line 736
  312. iget-wide v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mRingCenterRadius:D
  313. return-wide v0
  314. .end method
  315. .method public getEndTrim()F
  316. .locals 1
  317. .prologue
  318. .line 697
  319. iget v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mEndTrim:F
  320. return v0
  321. .end method
  322. .method public getInsets()F
  323. .locals 1
  324. .prologue
  325. .line 724
  326. iget v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mStrokeInset:F
  327. return v0
  328. .end method
  329. .method public getNextColor()I
  330. .locals 2
  331. .prologue
  332. .line 618
  333. iget-object v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mColors:[I
  334. invoke-direct {p0}, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->getNextColorIndex()I
  335. move-result v1
  336. aget v0, v0, v1
  337. return v0
  338. .end method
  339. .method public getRotation()F
  340. .locals 1
  341. .prologue
  342. .line 708
  343. iget v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mRotation:F
  344. return v0
  345. .end method
  346. .method public getStartTrim()F
  347. .locals 1
  348. .prologue
  349. .line 674
  350. iget v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mStartTrim:F
  351. return v0
  352. .end method
  353. .method public getStartingColor()I
  354. .locals 2
  355. .prologue
  356. .line 686
  357. iget-object v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mColors:[I
  358. iget v1, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mColorIndex:I
  359. aget v0, v0, v1
  360. return v0
  361. .end method
  362. .method public getStartingEndTrim()F
  363. .locals 1
  364. .prologue
  365. .line 682
  366. iget v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mStartingEndTrim:F
  367. return v0
  368. .end method
  369. .method public getStartingRotation()F
  370. .locals 1
  371. .prologue
  372. .line 763
  373. iget v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mStartingRotation:F
  374. return v0
  375. .end method
  376. .method public getStartingStartTrim()F
  377. .locals 1
  378. .prologue
  379. .line 678
  380. iget v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mStartingStartTrim:F
  381. return v0
  382. .end method
  383. .method public getStrokeWidth()F
  384. .locals 1
  385. .prologue
  386. .line 663
  387. iget v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mStrokeWidth:F
  388. return v0
  389. .end method
  390. .method public goToNextColor()V
  391. .locals 1
  392. .prologue
  393. .line 630
  394. invoke-direct {p0}, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->getNextColorIndex()I
  395. move-result v0
  396. invoke-virtual {p0, v0}, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->setColorIndex(I)V
  397. .line 631
  398. return-void
  399. .end method
  400. .method public resetOriginals()V
  401. .locals 1
  402. .prologue
  403. const/4 v0, 0x0
  404. .line 780
  405. iput v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mStartingStartTrim:F
  406. .line 781
  407. iput v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mStartingEndTrim:F
  408. .line 782
  409. iput v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mStartingRotation:F
  410. .line 783
  411. invoke-virtual {p0, v0}, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->setStartTrim(F)V
  412. .line 784
  413. invoke-virtual {p0, v0}, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->setEndTrim(F)V
  414. .line 785
  415. invoke-virtual {p0, v0}, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->setRotation(F)V
  416. .line 786
  417. return-void
  418. .end method
  419. .method public setAlpha(I)V
  420. .locals 0
  421. .param p1, "alpha" # I
  422. .prologue
  423. .line 642
  424. iput p1, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mAlpha:I
  425. .line 643
  426. return-void
  427. .end method
  428. .method public setArrowDimensions(FF)V
  429. .locals 1
  430. .param p1, "width" # F
  431. .param p2, "height" # F
  432. .prologue
  433. .line 521
  434. float-to-int v0, p1
  435. iput v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mArrowWidth:I
  436. .line 522
  437. float-to-int v0, p2
  438. iput v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mArrowHeight:I
  439. .line 523
  440. return-void
  441. .end method
  442. .method public setArrowScale(F)V
  443. .locals 1
  444. .param p1, "scale" # F
  445. .prologue
  446. .line 753
  447. iget v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mArrowScale:F
  448. cmpl-float v0, p1, v0
  449. if-eqz v0, :cond_0
  450. .line 754
  451. iput p1, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mArrowScale:F
  452. .line 755
  453. invoke-direct {p0}, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->invalidateSelf()V
  454. .line 757
  455. :cond_0
  456. return-void
  457. .end method
  458. .method public setBackgroundColor(I)V
  459. .locals 0
  460. .param p1, "color" # I
  461. .prologue
  462. .line 511
  463. iput p1, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mBackgroundColor:I
  464. .line 512
  465. return-void
  466. .end method
  467. .method public setCenterRadius(D)V
  468. .locals 0
  469. .param p1, "centerRadius" # D
  470. .prologue
  471. .line 732
  472. iput-wide p1, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mRingCenterRadius:D
  473. .line 733
  474. return-void
  475. .end method
  476. .method public setColor(I)V
  477. .locals 0
  478. .param p1, "color" # I
  479. .prologue
  480. .line 602
  481. iput p1, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mCurrentColor:I
  482. .line 603
  483. return-void
  484. .end method
  485. .method public setColorFilter(Landroid/graphics/ColorFilter;)V
  486. .locals 1
  487. .param p1, "filter" # Landroid/graphics/ColorFilter;
  488. .prologue
  489. .line 634
  490. iget-object v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mPaint:Landroid/graphics/Paint;
  491. invoke-virtual {v0, p1}, Landroid/graphics/Paint;->setColorFilter(Landroid/graphics/ColorFilter;)Landroid/graphics/ColorFilter;
  492. .line 635
  493. invoke-direct {p0}, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->invalidateSelf()V
  494. .line 636
  495. return-void
  496. .end method
  497. .method public setColorIndex(I)V
  498. .locals 2
  499. .param p1, "index" # I
  500. .prologue
  501. .line 610
  502. iput p1, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mColorIndex:I
  503. .line 611
  504. iget-object v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mColors:[I
  505. iget v1, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mColorIndex:I
  506. aget v0, v0, v1
  507. iput v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mCurrentColor:I
  508. .line 612
  509. return-void
  510. .end method
  511. .method public setColors([I)V
  512. .locals 1
  513. .param p1, "colors" # [I
  514. .annotation build Landroid/support/annotation/NonNull;
  515. .end annotation
  516. .end param
  517. .prologue
  518. .line 589
  519. iput-object p1, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mColors:[I
  520. .line 591
  521. const/4 v0, 0x0
  522. invoke-virtual {p0, v0}, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->setColorIndex(I)V
  523. .line 592
  524. return-void
  525. .end method
  526. .method public setEndTrim(F)V
  527. .locals 0
  528. .param p1, "endTrim" # F
  529. .prologue
  530. .line 691
  531. iput p1, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mEndTrim:F
  532. .line 692
  533. invoke-direct {p0}, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->invalidateSelf()V
  534. .line 693
  535. return-void
  536. .end method
  537. .method public setInsets(II)V
  538. .locals 7
  539. .param p1, "width" # I
  540. .param p2, "height" # I
  541. .prologue
  542. const/high16 v6, 0x40000000 # 2.0f
  543. .line 712
  544. invoke-static {p1, p2}, Ljava/lang/Math;->min(II)I
  545. move-result v2
  546. int-to-float v1, v2
  547. .line 714
  548. .local v1, "minEdge":F
  549. iget-wide v2, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mRingCenterRadius:D
  550. const-wide/16 v4, 0x0
  551. cmpg-double v2, v2, v4
  552. if-lez v2, :cond_0
  553. const/4 v2, 0x0
  554. cmpg-float v2, v1, v2
  555. if-gez v2, :cond_1
  556. .line 715
  557. :cond_0
  558. iget v2, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mStrokeWidth:F
  559. div-float/2addr v2, v6
  560. float-to-double v2, v2
  561. invoke-static {v2, v3}, Ljava/lang/Math;->ceil(D)D
  562. move-result-wide v2
  563. double-to-float v0, v2
  564. .line 719
  565. .local v0, "insets":F
  566. :goto_0
  567. iput v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mStrokeInset:F
  568. .line 720
  569. return-void
  570. .line 717
  571. .end local v0 # "insets":F
  572. :cond_1
  573. div-float v2, v1, v6
  574. float-to-double v2, v2
  575. iget-wide v4, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mRingCenterRadius:D
  576. sub-double/2addr v2, v4
  577. double-to-float v0, v2
  578. .restart local v0 # "insets":F
  579. goto :goto_0
  580. .end method
  581. .method public setRotation(F)V
  582. .locals 0
  583. .param p1, "rotation" # F
  584. .prologue
  585. .line 702
  586. iput p1, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mRotation:F
  587. .line 703
  588. invoke-direct {p0}, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->invalidateSelf()V
  589. .line 704
  590. return-void
  591. .end method
  592. .method public setShowArrow(Z)V
  593. .locals 1
  594. .param p1, "show" # Z
  595. .prologue
  596. .line 743
  597. iget-boolean v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mShowArrow:Z
  598. if-eq v0, p1, :cond_0
  599. .line 744
  600. iput-boolean p1, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mShowArrow:Z
  601. .line 745
  602. invoke-direct {p0}, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->invalidateSelf()V
  603. .line 747
  604. :cond_0
  605. return-void
  606. .end method
  607. .method public setStartTrim(F)V
  608. .locals 0
  609. .param p1, "startTrim" # F
  610. .prologue
  611. .line 668
  612. iput p1, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mStartTrim:F
  613. .line 669
  614. invoke-direct {p0}, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->invalidateSelf()V
  615. .line 670
  616. return-void
  617. .end method
  618. .method public setStrokeWidth(F)V
  619. .locals 1
  620. .param p1, "strokeWidth" # F
  621. .prologue
  622. .line 656
  623. iput p1, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mStrokeWidth:F
  624. .line 657
  625. iget-object v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mPaint:Landroid/graphics/Paint;
  626. invoke-virtual {v0, p1}, Landroid/graphics/Paint;->setStrokeWidth(F)V
  627. .line 658
  628. invoke-direct {p0}, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->invalidateSelf()V
  629. .line 659
  630. return-void
  631. .end method
  632. .method public storeOriginals()V
  633. .locals 1
  634. .prologue
  635. .line 771
  636. iget v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mStartTrim:F
  637. iput v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mStartingStartTrim:F
  638. .line 772
  639. iget v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mEndTrim:F
  640. iput v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mStartingEndTrim:F
  641. .line 773
  642. iget v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mRotation:F
  643. iput v0, p0, Landroid/support/v4/widget/MaterialProgressDrawable$Ring;->mStartingRotation:F
  644. .line 774
  645. return-void
  646. .end method