ScrollbarHelper.smali 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305
  1. .class Landroid/support/v7/widget/ScrollbarHelper;
  2. .super Ljava/lang/Object;
  3. .source ""
  4. # direct methods
  5. .method constructor <init>()V
  6. .locals 0
  7. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  8. return-void
  9. .end method
  10. .method static computeScrollExtent(Landroid/support/v7/widget/RecyclerView$State;Landroid/support/v7/widget/OrientationHelper;Landroid/view/View;Landroid/view/View;Landroid/support/v7/widget/RecyclerView$LayoutManager;Z)I
  11. .locals 1
  12. invoke-virtual {p4}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  13. move-result v0
  14. if-eqz v0, :cond_2
  15. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$State;->getItemCount()I
  16. move-result p0
  17. if-eqz p0, :cond_2
  18. if-eqz p2, :cond_2
  19. if-nez p3, :cond_0
  20. goto :goto_0
  21. :cond_0
  22. if-nez p5, :cond_1
  23. invoke-virtual {p4, p2}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  24. move-result p0
  25. invoke-virtual {p4, p3}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  26. move-result p1
  27. sub-int/2addr p0, p1
  28. invoke-static {p0}, Ljava/lang/Math;->abs(I)I
  29. move-result p0
  30. add-int/lit8 p0, p0, 0x1
  31. return p0
  32. :cond_1
  33. invoke-virtual {p1, p3}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
  34. move-result p0
  35. invoke-virtual {p1, p2}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
  36. move-result p2
  37. sub-int/2addr p0, p2
  38. invoke-virtual {p1}, Landroid/support/v7/widget/OrientationHelper;->getTotalSpace()I
  39. move-result p1
  40. invoke-static {p1, p0}, Ljava/lang/Math;->min(II)I
  41. move-result p0
  42. return p0
  43. :cond_2
  44. :goto_0
  45. const/4 p0, 0x0
  46. return p0
  47. .end method
  48. .method static computeScrollOffset(Landroid/support/v7/widget/RecyclerView$State;Landroid/support/v7/widget/OrientationHelper;Landroid/view/View;Landroid/view/View;Landroid/support/v7/widget/RecyclerView$LayoutManager;ZZ)I
  49. .locals 4
  50. invoke-virtual {p4}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  51. move-result v0
  52. const/4 v1, 0x0
  53. if-eqz v0, :cond_3
  54. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$State;->getItemCount()I
  55. move-result v0
  56. if-eqz v0, :cond_3
  57. if-eqz p2, :cond_3
  58. if-nez p3, :cond_0
  59. goto :goto_1
  60. :cond_0
  61. invoke-virtual {p4, p2}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  62. move-result v0
  63. invoke-virtual {p4, p3}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  64. move-result v2
  65. invoke-static {v0, v2}, Ljava/lang/Math;->min(II)I
  66. move-result v0
  67. invoke-virtual {p4, p2}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  68. move-result v2
  69. invoke-virtual {p4, p3}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  70. move-result v3
  71. invoke-static {v2, v3}, Ljava/lang/Math;->max(II)I
  72. move-result v2
  73. if-eqz p6, :cond_1
  74. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$State;->getItemCount()I
  75. move-result p0
  76. sub-int/2addr p0, v2
  77. add-int/lit8 p0, p0, -0x1
  78. invoke-static {v1, p0}, Ljava/lang/Math;->max(II)I
  79. move-result p0
  80. goto :goto_0
  81. :cond_1
  82. invoke-static {v1, v0}, Ljava/lang/Math;->max(II)I
  83. move-result p0
  84. :goto_0
  85. if-nez p5, :cond_2
  86. return p0
  87. :cond_2
  88. invoke-virtual {p1, p3}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
  89. move-result p5
  90. invoke-virtual {p1, p2}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
  91. move-result p6
  92. sub-int/2addr p5, p6
  93. invoke-static {p5}, Ljava/lang/Math;->abs(I)I
  94. move-result p5
  95. invoke-virtual {p4, p2}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  96. move-result p6
  97. invoke-virtual {p4, p3}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  98. move-result p3
  99. sub-int/2addr p6, p3
  100. invoke-static {p6}, Ljava/lang/Math;->abs(I)I
  101. move-result p3
  102. add-int/lit8 p3, p3, 0x1
  103. int-to-float p4, p5
  104. int-to-float p3, p3
  105. div-float/2addr p4, p3
  106. int-to-float p0, p0
  107. mul-float p0, p0, p4
  108. invoke-virtual {p1}, Landroid/support/v7/widget/OrientationHelper;->getStartAfterPadding()I
  109. move-result p3
  110. invoke-virtual {p1, p2}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
  111. move-result p1
  112. sub-int/2addr p3, p1
  113. int-to-float p1, p3
  114. add-float/2addr p0, p1
  115. invoke-static {p0}, Ljava/lang/Math;->round(F)I
  116. move-result p0
  117. return p0
  118. :cond_3
  119. :goto_1
  120. return v1
  121. .end method
  122. .method static computeScrollRange(Landroid/support/v7/widget/RecyclerView$State;Landroid/support/v7/widget/OrientationHelper;Landroid/view/View;Landroid/view/View;Landroid/support/v7/widget/RecyclerView$LayoutManager;Z)I
  123. .locals 1
  124. invoke-virtual {p4}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  125. move-result v0
  126. if-eqz v0, :cond_2
  127. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$State;->getItemCount()I
  128. move-result v0
  129. if-eqz v0, :cond_2
  130. if-eqz p2, :cond_2
  131. if-nez p3, :cond_0
  132. goto :goto_0
  133. :cond_0
  134. if-nez p5, :cond_1
  135. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$State;->getItemCount()I
  136. move-result p0
  137. return p0
  138. :cond_1
  139. invoke-virtual {p1, p3}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
  140. move-result p5
  141. invoke-virtual {p1, p2}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
  142. move-result p1
  143. sub-int/2addr p5, p1
  144. invoke-virtual {p4, p2}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  145. move-result p1
  146. invoke-virtual {p4, p3}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  147. move-result p2
  148. sub-int/2addr p1, p2
  149. invoke-static {p1}, Ljava/lang/Math;->abs(I)I
  150. move-result p1
  151. add-int/lit8 p1, p1, 0x1
  152. int-to-float p2, p5
  153. int-to-float p1, p1
  154. div-float/2addr p2, p1
  155. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$State;->getItemCount()I
  156. move-result p0
  157. int-to-float p0, p0
  158. mul-float p2, p2, p0
  159. float-to-int p0, p2
  160. return p0
  161. :cond_2
  162. :goto_0
  163. const/4 p0, 0x0
  164. return p0
  165. .end method