NestedScrollView$AccessibilityDelegate.smali 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351
  1. .class Landroid/support/v4/widget/NestedScrollView$AccessibilityDelegate;
  2. .super Landroid/support/v4/view/AccessibilityDelegateCompat;
  3. .source "NestedScrollView.java"
  4. # annotations
  5. .annotation system Ldalvik/annotation/EnclosingClass;
  6. value = Landroid/support/v4/widget/NestedScrollView;
  7. .end annotation
  8. .annotation system Ldalvik/annotation/InnerClass;
  9. accessFlags = 0x8
  10. name = "AccessibilityDelegate"
  11. .end annotation
  12. # direct methods
  13. .method constructor <init>()V
  14. .locals 0
  15. .prologue
  16. .line 1875
  17. invoke-direct {p0}, Landroid/support/v4/view/AccessibilityDelegateCompat;-><init>()V
  18. return-void
  19. .end method
  20. # virtual methods
  21. .method public onInitializeAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V
  22. .locals 4
  23. .param p1, "host" # Landroid/view/View;
  24. .param p2, "event" # Landroid/view/accessibility/AccessibilityEvent;
  25. .prologue
  26. .line 1932
  27. invoke-super {p0, p1, p2}, Landroid/support/v4/view/AccessibilityDelegateCompat;->onInitializeAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V
  28. move-object v0, p1
  29. .line 1933
  30. check-cast v0, Landroid/support/v4/widget/NestedScrollView;
  31. .line 1934
  32. .local v0, "nsvHost":Landroid/support/v4/widget/NestedScrollView;
  33. const-class v3, Landroid/widget/ScrollView;
  34. invoke-virtual {v3}, Ljava/lang/Class;->getName()Ljava/lang/String;
  35. move-result-object v3
  36. invoke-virtual {p2, v3}, Landroid/view/accessibility/AccessibilityEvent;->setClassName(Ljava/lang/CharSequence;)V
  37. .line 1935
  38. invoke-static {p2}, Landroid/support/v4/view/accessibility/AccessibilityEventCompat;->asRecord(Landroid/view/accessibility/AccessibilityEvent;)Landroid/support/v4/view/accessibility/AccessibilityRecordCompat;
  39. move-result-object v1
  40. .line 1936
  41. .local v1, "record":Landroid/support/v4/view/accessibility/AccessibilityRecordCompat;
  42. invoke-static {v0}, Landroid/support/v4/widget/NestedScrollView;->access$000(Landroid/support/v4/widget/NestedScrollView;)I
  43. move-result v3
  44. if-lez v3, :cond_0
  45. const/4 v2, 0x1
  46. .line 1937
  47. .local v2, "scrollable":Z
  48. :goto_0
  49. invoke-virtual {v1, v2}, Landroid/support/v4/view/accessibility/AccessibilityRecordCompat;->setScrollable(Z)V
  50. .line 1938
  51. invoke-virtual {v0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I
  52. move-result v3
  53. invoke-virtual {v1, v3}, Landroid/support/v4/view/accessibility/AccessibilityRecordCompat;->setScrollX(I)V
  54. .line 1939
  55. invoke-virtual {v0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  56. move-result v3
  57. invoke-virtual {v1, v3}, Landroid/support/v4/view/accessibility/AccessibilityRecordCompat;->setScrollY(I)V
  58. .line 1940
  59. invoke-virtual {v0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I
  60. move-result v3
  61. invoke-virtual {v1, v3}, Landroid/support/v4/view/accessibility/AccessibilityRecordCompat;->setMaxScrollX(I)V
  62. .line 1941
  63. invoke-static {v0}, Landroid/support/v4/widget/NestedScrollView;->access$000(Landroid/support/v4/widget/NestedScrollView;)I
  64. move-result v3
  65. invoke-virtual {v1, v3}, Landroid/support/v4/view/accessibility/AccessibilityRecordCompat;->setMaxScrollY(I)V
  66. .line 1942
  67. return-void
  68. .line 1936
  69. .end local v2 # "scrollable":Z
  70. :cond_0
  71. const/4 v2, 0x0
  72. goto :goto_0
  73. .end method
  74. .method public onInitializeAccessibilityNodeInfo(Landroid/view/View;Landroid/support/v4/view/accessibility/AccessibilityNodeInfoCompat;)V
  75. .locals 3
  76. .param p1, "host" # Landroid/view/View;
  77. .param p2, "info" # Landroid/support/v4/view/accessibility/AccessibilityNodeInfoCompat;
  78. .prologue
  79. .line 1913
  80. invoke-super {p0, p1, p2}, Landroid/support/v4/view/AccessibilityDelegateCompat;->onInitializeAccessibilityNodeInfo(Landroid/view/View;Landroid/support/v4/view/accessibility/AccessibilityNodeInfoCompat;)V
  81. move-object v0, p1
  82. .line 1914
  83. check-cast v0, Landroid/support/v4/widget/NestedScrollView;
  84. .line 1915
  85. .local v0, "nsvHost":Landroid/support/v4/widget/NestedScrollView;
  86. const-class v2, Landroid/widget/ScrollView;
  87. invoke-virtual {v2}, Ljava/lang/Class;->getName()Ljava/lang/String;
  88. move-result-object v2
  89. invoke-virtual {p2, v2}, Landroid/support/v4/view/accessibility/AccessibilityNodeInfoCompat;->setClassName(Ljava/lang/CharSequence;)V
  90. .line 1916
  91. invoke-virtual {v0}, Landroid/support/v4/widget/NestedScrollView;->isEnabled()Z
  92. move-result v2
  93. if-eqz v2, :cond_1
  94. .line 1917
  95. invoke-static {v0}, Landroid/support/v4/widget/NestedScrollView;->access$000(Landroid/support/v4/widget/NestedScrollView;)I
  96. move-result v1
  97. .line 1918
  98. .local v1, "scrollRange":I
  99. if-lez v1, :cond_1
  100. .line 1919
  101. const/4 v2, 0x1
  102. invoke-virtual {p2, v2}, Landroid/support/v4/view/accessibility/AccessibilityNodeInfoCompat;->setScrollable(Z)V
  103. .line 1920
  104. invoke-virtual {v0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  105. move-result v2
  106. if-lez v2, :cond_0
  107. .line 1921
  108. const/16 v2, 0x2000
  109. invoke-virtual {p2, v2}, Landroid/support/v4/view/accessibility/AccessibilityNodeInfoCompat;->addAction(I)V
  110. .line 1923
  111. :cond_0
  112. invoke-virtual {v0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  113. move-result v2
  114. if-ge v2, v1, :cond_1
  115. .line 1924
  116. const/16 v2, 0x1000
  117. invoke-virtual {p2, v2}, Landroid/support/v4/view/accessibility/AccessibilityNodeInfoCompat;->addAction(I)V
  118. .line 1928
  119. .end local v1 # "scrollRange":I
  120. :cond_1
  121. return-void
  122. .end method
  123. .method public performAccessibilityAction(Landroid/view/View;ILandroid/os/Bundle;)Z
  124. .locals 7
  125. .param p1, "host" # Landroid/view/View;
  126. .param p2, "action" # I
  127. .param p3, "arguments" # Landroid/os/Bundle;
  128. .prologue
  129. const/4 v3, 0x1
  130. const/4 v4, 0x0
  131. .line 1878
  132. invoke-super {p0, p1, p2, p3}, Landroid/support/v4/view/AccessibilityDelegateCompat;->performAccessibilityAction(Landroid/view/View;ILandroid/os/Bundle;)Z
  133. move-result v5
  134. if-eqz v5, :cond_0
  135. .line 1908
  136. :goto_0
  137. return v3
  138. :cond_0
  139. move-object v0, p1
  140. .line 1881
  141. check-cast v0, Landroid/support/v4/widget/NestedScrollView;
  142. .line 1882
  143. .local v0, "nsvHost":Landroid/support/v4/widget/NestedScrollView;
  144. invoke-virtual {v0}, Landroid/support/v4/widget/NestedScrollView;->isEnabled()Z
  145. move-result v5
  146. if-nez v5, :cond_1
  147. move v3, v4
  148. .line 1883
  149. goto :goto_0
  150. .line 1885
  151. :cond_1
  152. sparse-switch p2, :sswitch_data_0
  153. move v3, v4
  154. .line 1908
  155. goto :goto_0
  156. .line 1887
  157. :sswitch_0
  158. invoke-virtual {v0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I
  159. move-result v5
  160. invoke-virtual {v0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingBottom()I
  161. move-result v6
  162. sub-int/2addr v5, v6
  163. invoke-virtual {v0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingTop()I
  164. move-result v6
  165. sub-int v2, v5, v6
  166. .line 1889
  167. .local v2, "viewportHeight":I
  168. invoke-virtual {v0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  169. move-result v5
  170. add-int/2addr v5, v2
  171. invoke-static {v0}, Landroid/support/v4/widget/NestedScrollView;->access$000(Landroid/support/v4/widget/NestedScrollView;)I
  172. move-result v6
  173. invoke-static {v5, v6}, Ljava/lang/Math;->min(II)I
  174. move-result v1
  175. .line 1891
  176. .local v1, "targetScrollY":I
  177. invoke-virtual {v0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  178. move-result v5
  179. if-eq v1, v5, :cond_2
  180. .line 1892
  181. invoke-virtual {v0, v4, v1}, Landroid/support/v4/widget/NestedScrollView;->smoothScrollTo(II)V
  182. goto :goto_0
  183. :cond_2
  184. move v3, v4
  185. .line 1896
  186. goto :goto_0
  187. .line 1898
  188. .end local v1 # "targetScrollY":I
  189. .end local v2 # "viewportHeight":I
  190. :sswitch_1
  191. invoke-virtual {v0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I
  192. move-result v5
  193. invoke-virtual {v0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingBottom()I
  194. move-result v6
  195. sub-int/2addr v5, v6
  196. invoke-virtual {v0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingTop()I
  197. move-result v6
  198. sub-int v2, v5, v6
  199. .line 1900
  200. .restart local v2 # "viewportHeight":I
  201. invoke-virtual {v0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  202. move-result v5
  203. sub-int/2addr v5, v2
  204. invoke-static {v5, v4}, Ljava/lang/Math;->max(II)I
  205. move-result v1
  206. .line 1901
  207. .restart local v1 # "targetScrollY":I
  208. invoke-virtual {v0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  209. move-result v5
  210. if-eq v1, v5, :cond_3
  211. .line 1902
  212. invoke-virtual {v0, v4, v1}, Landroid/support/v4/widget/NestedScrollView;->smoothScrollTo(II)V
  213. goto :goto_0
  214. :cond_3
  215. move v3, v4
  216. .line 1906
  217. goto :goto_0
  218. .line 1885
  219. nop
  220. :sswitch_data_0
  221. .sparse-switch
  222. 0x1000 -> :sswitch_0
  223. 0x2000 -> :sswitch_1
  224. .end sparse-switch
  225. .end method