ActionBarDrawerToggle$SlideDrawable.smali 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. .class Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;
  2. .super Landroid/graphics/drawable/InsetDrawable;
  3. .source "ActionBarDrawerToggle.java"
  4. # interfaces
  5. .implements Landroid/graphics/drawable/Drawable$Callback;
  6. # annotations
  7. .annotation system Ldalvik/annotation/EnclosingClass;
  8. value = Landroid/support/v4/app/ActionBarDrawerToggle;
  9. .end annotation
  10. .annotation system Ldalvik/annotation/InnerClass;
  11. accessFlags = 0x2
  12. name = "SlideDrawable"
  13. .end annotation
  14. # instance fields
  15. .field private final mHasMirroring:Z
  16. .field private mOffset:F
  17. .field private mPosition:F
  18. .field private final mTmpRect:Landroid/graphics/Rect;
  19. .field final synthetic this$0:Landroid/support/v4/app/ActionBarDrawerToggle;
  20. # direct methods
  21. .method private constructor <init>(Landroid/support/v4/app/ActionBarDrawerToggle;Landroid/graphics/drawable/Drawable;)V
  22. .locals 3
  23. .param p2, "wrapped" # Landroid/graphics/drawable/Drawable;
  24. .prologue
  25. const/4 v0, 0x0
  26. .line 508
  27. iput-object p1, p0, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->this$0:Landroid/support/v4/app/ActionBarDrawerToggle;
  28. .line 509
  29. invoke-direct {p0, p2, v0}, Landroid/graphics/drawable/InsetDrawable;-><init>(Landroid/graphics/drawable/Drawable;I)V
  30. .line 502
  31. sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
  32. const/16 v2, 0x12
  33. if-le v1, v2, :cond_0
  34. const/4 v0, 0x1
  35. :cond_0
  36. iput-boolean v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->mHasMirroring:Z
  37. .line 503
  38. new-instance v0, Landroid/graphics/Rect;
  39. invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V
  40. iput-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->mTmpRect:Landroid/graphics/Rect;
  41. .line 510
  42. return-void
  43. .end method
  44. .method synthetic constructor <init>(Landroid/support/v4/app/ActionBarDrawerToggle;Landroid/graphics/drawable/Drawable;Landroid/support/v4/app/ActionBarDrawerToggle$1;)V
  45. .locals 0
  46. .param p1, "x0" # Landroid/support/v4/app/ActionBarDrawerToggle;
  47. .param p2, "x1" # Landroid/graphics/drawable/Drawable;
  48. .param p3, "x2" # Landroid/support/v4/app/ActionBarDrawerToggle$1;
  49. .prologue
  50. .line 501
  51. invoke-direct {p0, p1, p2}, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;-><init>(Landroid/support/v4/app/ActionBarDrawerToggle;Landroid/graphics/drawable/Drawable;)V
  52. return-void
  53. .end method
  54. # virtual methods
  55. .method public draw(Landroid/graphics/Canvas;)V
  56. .locals 6
  57. .param p1, "canvas" # Landroid/graphics/Canvas;
  58. .prologue
  59. const/4 v5, 0x0
  60. const/4 v0, 0x1
  61. .line 540
  62. iget-object v3, p0, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->mTmpRect:Landroid/graphics/Rect;
  63. invoke-virtual {p0, v3}, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->copyBounds(Landroid/graphics/Rect;)V
  64. .line 541
  65. invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
  66. .line 544
  67. iget-object v3, p0, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->this$0:Landroid/support/v4/app/ActionBarDrawerToggle;
  68. invoke-static {v3}, Landroid/support/v4/app/ActionBarDrawerToggle;->access$400(Landroid/support/v4/app/ActionBarDrawerToggle;)Landroid/app/Activity;
  69. move-result-object v3
  70. invoke-virtual {v3}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
  71. move-result-object v3
  72. invoke-virtual {v3}, Landroid/view/Window;->getDecorView()Landroid/view/View;
  73. move-result-object v3
  74. invoke-static {v3}, Landroid/support/v4/view/ViewCompat;->getLayoutDirection(Landroid/view/View;)I
  75. move-result v3
  76. if-ne v3, v0, :cond_2
  77. move v1, v0
  78. .line 546
  79. .local v1, "isLayoutRTL":Z
  80. :goto_0
  81. if-eqz v1, :cond_0
  82. const/4 v0, -0x1
  83. .line 547
  84. .local v0, "flipRtl":I
  85. :cond_0
  86. iget-object v3, p0, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->mTmpRect:Landroid/graphics/Rect;
  87. invoke-virtual {v3}, Landroid/graphics/Rect;->width()I
  88. move-result v2
  89. .line 548
  90. .local v2, "width":I
  91. iget v3, p0, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->mOffset:F
  92. neg-float v3, v3
  93. int-to-float v4, v2
  94. mul-float/2addr v3, v4
  95. iget v4, p0, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->mPosition:F
  96. mul-float/2addr v3, v4
  97. int-to-float v4, v0
  98. mul-float/2addr v3, v4
  99. invoke-virtual {p1, v3, v5}, Landroid/graphics/Canvas;->translate(FF)V
  100. .line 551
  101. if-eqz v1, :cond_1
  102. iget-boolean v3, p0, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->mHasMirroring:Z
  103. if-nez v3, :cond_1
  104. .line 552
  105. int-to-float v3, v2
  106. invoke-virtual {p1, v3, v5}, Landroid/graphics/Canvas;->translate(FF)V
  107. .line 553
  108. const/high16 v3, -0x40800000 # -1.0f
  109. const/high16 v4, 0x3f800000 # 1.0f
  110. invoke-virtual {p1, v3, v4}, Landroid/graphics/Canvas;->scale(FF)V
  111. .line 556
  112. :cond_1
  113. invoke-super {p0, p1}, Landroid/graphics/drawable/InsetDrawable;->draw(Landroid/graphics/Canvas;)V
  114. .line 557
  115. invoke-virtual {p1}, Landroid/graphics/Canvas;->restore()V
  116. .line 558
  117. return-void
  118. .line 544
  119. .end local v0 # "flipRtl":I
  120. .end local v1 # "isLayoutRTL":Z
  121. .end local v2 # "width":I
  122. :cond_2
  123. const/4 v1, 0x0
  124. goto :goto_0
  125. .end method
  126. .method public getPosition()F
  127. .locals 1
  128. .prologue
  129. .line 523
  130. iget v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->mPosition:F
  131. return v0
  132. .end method
  133. .method public setOffset(F)V
  134. .locals 0
  135. .param p1, "offset" # F
  136. .prologue
  137. .line 534
  138. iput p1, p0, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->mOffset:F
  139. .line 535
  140. invoke-virtual {p0}, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->invalidateSelf()V
  141. .line 536
  142. return-void
  143. .end method
  144. .method public setPosition(F)V
  145. .locals 0
  146. .param p1, "position" # F
  147. .prologue
  148. .line 518
  149. iput p1, p0, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->mPosition:F
  150. .line 519
  151. invoke-virtual {p0}, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->invalidateSelf()V
  152. .line 520
  153. return-void
  154. .end method