GridLayoutManager$a.smali 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. .class public abstract Landroid/support/v7/widget/GridLayoutManager$a;
  2. .super Ljava/lang/Object;
  3. # annotations
  4. .annotation system Ldalvik/annotation/EnclosingClass;
  5. value = Landroid/support/v7/widget/GridLayoutManager;
  6. .end annotation
  7. .annotation system Ldalvik/annotation/InnerClass;
  8. accessFlags = 0x409
  9. name = "a"
  10. .end annotation
  11. # instance fields
  12. .field final a:Landroid/util/SparseIntArray;
  13. .field private b:Z
  14. # virtual methods
  15. .method public abstract a(I)I
  16. .end method
  17. .method a(II)I
  18. .locals 2
  19. const/4 v1, -0x1
  20. iget-boolean v0, p0, Landroid/support/v7/widget/GridLayoutManager$a;->b:Z
  21. if-nez v0, :cond_1
  22. invoke-virtual {p0, p1, p2}, Landroid/support/v7/widget/GridLayoutManager$a;->b(II)I
  23. move-result v0
  24. :cond_0
  25. :goto_0
  26. return v0
  27. :cond_1
  28. iget-object v0, p0, Landroid/support/v7/widget/GridLayoutManager$a;->a:Landroid/util/SparseIntArray;
  29. invoke-virtual {v0, p1, v1}, Landroid/util/SparseIntArray;->get(II)I
  30. move-result v0
  31. if-ne v0, v1, :cond_0
  32. invoke-virtual {p0, p1, p2}, Landroid/support/v7/widget/GridLayoutManager$a;->b(II)I
  33. move-result v0
  34. iget-object v1, p0, Landroid/support/v7/widget/GridLayoutManager$a;->a:Landroid/util/SparseIntArray;
  35. invoke-virtual {v1, p1, v0}, Landroid/util/SparseIntArray;->put(II)V
  36. goto :goto_0
  37. .end method
  38. .method public a()V
  39. .locals 1
  40. iget-object v0, p0, Landroid/support/v7/widget/GridLayoutManager$a;->a:Landroid/util/SparseIntArray;
  41. invoke-virtual {v0}, Landroid/util/SparseIntArray;->clear()V
  42. return-void
  43. .end method
  44. .method b(I)I
  45. .locals 4
  46. const/4 v1, 0x0
  47. iget-object v0, p0, Landroid/support/v7/widget/GridLayoutManager$a;->a:Landroid/util/SparseIntArray;
  48. invoke-virtual {v0}, Landroid/util/SparseIntArray;->size()I
  49. move-result v0
  50. add-int/lit8 v0, v0, -0x1
  51. :goto_0
  52. if-gt v1, v0, :cond_1
  53. add-int v2, v1, v0
  54. ushr-int/lit8 v2, v2, 0x1
  55. iget-object v3, p0, Landroid/support/v7/widget/GridLayoutManager$a;->a:Landroid/util/SparseIntArray;
  56. invoke-virtual {v3, v2}, Landroid/util/SparseIntArray;->keyAt(I)I
  57. move-result v3
  58. if-ge v3, p1, :cond_0
  59. add-int/lit8 v1, v2, 0x1
  60. goto :goto_0
  61. :cond_0
  62. add-int/lit8 v0, v2, -0x1
  63. goto :goto_0
  64. :cond_1
  65. add-int/lit8 v0, v1, -0x1
  66. if-ltz v0, :cond_2
  67. iget-object v1, p0, Landroid/support/v7/widget/GridLayoutManager$a;->a:Landroid/util/SparseIntArray;
  68. invoke-virtual {v1}, Landroid/util/SparseIntArray;->size()I
  69. move-result v1
  70. if-ge v0, v1, :cond_2
  71. iget-object v1, p0, Landroid/support/v7/widget/GridLayoutManager$a;->a:Landroid/util/SparseIntArray;
  72. invoke-virtual {v1, v0}, Landroid/util/SparseIntArray;->keyAt(I)I
  73. move-result v0
  74. :goto_1
  75. return v0
  76. :cond_2
  77. const/4 v0, -0x1
  78. goto :goto_1
  79. .end method
  80. .method public b(II)I
  81. .locals 5
  82. const/4 v1, 0x0
  83. invoke-virtual {p0, p1}, Landroid/support/v7/widget/GridLayoutManager$a;->a(I)I
  84. move-result v4
  85. if-ne v4, p2, :cond_1
  86. :cond_0
  87. :goto_0
  88. return v1
  89. :cond_1
  90. iget-boolean v0, p0, Landroid/support/v7/widget/GridLayoutManager$a;->b:Z
  91. if-eqz v0, :cond_5
  92. iget-object v0, p0, Landroid/support/v7/widget/GridLayoutManager$a;->a:Landroid/util/SparseIntArray;
  93. invoke-virtual {v0}, Landroid/util/SparseIntArray;->size()I
  94. move-result v0
  95. if-lez v0, :cond_5
  96. invoke-virtual {p0, p1}, Landroid/support/v7/widget/GridLayoutManager$a;->b(I)I
  97. move-result v0
  98. if-ltz v0, :cond_5
  99. iget-object v2, p0, Landroid/support/v7/widget/GridLayoutManager$a;->a:Landroid/util/SparseIntArray;
  100. invoke-virtual {v2, v0}, Landroid/util/SparseIntArray;->get(I)I
  101. move-result v2
  102. invoke-virtual {p0, v0}, Landroid/support/v7/widget/GridLayoutManager$a;->a(I)I
  103. move-result v3
  104. add-int/2addr v2, v3
  105. add-int/lit8 v0, v0, 0x1
  106. :goto_1
  107. move v3, v0
  108. :goto_2
  109. if-ge v3, p1, :cond_4
  110. invoke-virtual {p0, v3}, Landroid/support/v7/widget/GridLayoutManager$a;->a(I)I
  111. move-result v0
  112. add-int/2addr v2, v0
  113. if-ne v2, p2, :cond_3
  114. move v0, v1
  115. :cond_2
  116. :goto_3
  117. add-int/lit8 v2, v3, 0x1
  118. move v3, v2
  119. move v2, v0
  120. goto :goto_2
  121. :cond_3
  122. if-gt v2, p2, :cond_2
  123. move v0, v2
  124. goto :goto_3
  125. :cond_4
  126. add-int v0, v2, v4
  127. if-gt v0, p2, :cond_0
  128. move v1, v2
  129. goto :goto_0
  130. :cond_5
  131. move v0, v1
  132. move v2, v1
  133. goto :goto_1
  134. .end method
  135. .method public c(II)I
  136. .locals 6
  137. const/4 v2, 0x0
  138. invoke-virtual {p0, p1}, Landroid/support/v7/widget/GridLayoutManager$a;->a(I)I
  139. move-result v5
  140. move v4, v2
  141. move v0, v2
  142. move v3, v2
  143. :goto_0
  144. if-ge v4, p1, :cond_1
  145. invoke-virtual {p0, v4}, Landroid/support/v7/widget/GridLayoutManager$a;->a(I)I
  146. move-result v1
  147. add-int/2addr v3, v1
  148. if-ne v3, p2, :cond_0
  149. add-int/lit8 v0, v0, 0x1
  150. move v1, v2
  151. :goto_1
  152. add-int/lit8 v3, v4, 0x1
  153. move v4, v3
  154. move v3, v1
  155. goto :goto_0
  156. :cond_0
  157. if-le v3, p2, :cond_3
  158. add-int/lit8 v0, v0, 0x1
  159. goto :goto_1
  160. :cond_1
  161. add-int v1, v3, v5
  162. if-le v1, p2, :cond_2
  163. add-int/lit8 v0, v0, 0x1
  164. :cond_2
  165. return v0
  166. :cond_3
  167. move v1, v3
  168. goto :goto_1
  169. .end method