ChildHelper.smali 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740
  1. .class Landroid/support/v7/widget/ChildHelper;
  2. .super Ljava/lang/Object;
  3. .source ""
  4. # annotations
  5. .annotation system Ldalvik/annotation/MemberClasses;
  6. value = {
  7. Landroid/support/v7/widget/ChildHelper$Callback;,
  8. Landroid/support/v7/widget/ChildHelper$Bucket;
  9. }
  10. .end annotation
  11. # static fields
  12. .field private static final DEBUG:Z = false
  13. .field private static final TAG:Ljava/lang/String; = "ChildrenHelper"
  14. # instance fields
  15. .field final mBucket:Landroid/support/v7/widget/ChildHelper$Bucket;
  16. .field final mCallback:Landroid/support/v7/widget/ChildHelper$Callback;
  17. .field final mHiddenViews:Ljava/util/List;
  18. .annotation system Ldalvik/annotation/Signature;
  19. value = {
  20. "Ljava/util/List<",
  21. "Landroid/view/View;",
  22. ">;"
  23. }
  24. .end annotation
  25. .end field
  26. # direct methods
  27. .method constructor <init>(Landroid/support/v7/widget/ChildHelper$Callback;)V
  28. .locals 0
  29. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  30. iput-object p1, p0, Landroid/support/v7/widget/ChildHelper;->mCallback:Landroid/support/v7/widget/ChildHelper$Callback;
  31. new-instance p1, Landroid/support/v7/widget/ChildHelper$Bucket;
  32. invoke-direct {p1}, Landroid/support/v7/widget/ChildHelper$Bucket;-><init>()V
  33. iput-object p1, p0, Landroid/support/v7/widget/ChildHelper;->mBucket:Landroid/support/v7/widget/ChildHelper$Bucket;
  34. new-instance p1, Ljava/util/ArrayList;
  35. invoke-direct {p1}, Ljava/util/ArrayList;-><init>()V
  36. iput-object p1, p0, Landroid/support/v7/widget/ChildHelper;->mHiddenViews:Ljava/util/List;
  37. return-void
  38. .end method
  39. .method private getOffset(I)I
  40. .locals 4
  41. const/4 v0, -0x1
  42. if-gez p1, :cond_0
  43. return v0
  44. :cond_0
  45. iget-object v1, p0, Landroid/support/v7/widget/ChildHelper;->mCallback:Landroid/support/v7/widget/ChildHelper$Callback;
  46. invoke-interface {v1}, Landroid/support/v7/widget/ChildHelper$Callback;->getChildCount()I
  47. move-result v1
  48. move v2, p1
  49. :goto_0
  50. if-ge v2, v1, :cond_3
  51. iget-object v3, p0, Landroid/support/v7/widget/ChildHelper;->mBucket:Landroid/support/v7/widget/ChildHelper$Bucket;
  52. invoke-virtual {v3, v2}, Landroid/support/v7/widget/ChildHelper$Bucket;->countOnesBefore(I)I
  53. move-result v3
  54. sub-int v3, v2, v3
  55. sub-int v3, p1, v3
  56. if-nez v3, :cond_2
  57. :goto_1
  58. iget-object p1, p0, Landroid/support/v7/widget/ChildHelper;->mBucket:Landroid/support/v7/widget/ChildHelper$Bucket;
  59. invoke-virtual {p1, v2}, Landroid/support/v7/widget/ChildHelper$Bucket;->get(I)Z
  60. move-result p1
  61. if-eqz p1, :cond_1
  62. add-int/lit8 v2, v2, 0x1
  63. goto :goto_1
  64. :cond_1
  65. return v2
  66. :cond_2
  67. add-int/2addr v2, v3
  68. goto :goto_0
  69. :cond_3
  70. return v0
  71. .end method
  72. .method private hideViewInternal(Landroid/view/View;)V
  73. .locals 1
  74. iget-object v0, p0, Landroid/support/v7/widget/ChildHelper;->mHiddenViews:Ljava/util/List;
  75. invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
  76. iget-object v0, p0, Landroid/support/v7/widget/ChildHelper;->mCallback:Landroid/support/v7/widget/ChildHelper$Callback;
  77. invoke-interface {v0, p1}, Landroid/support/v7/widget/ChildHelper$Callback;->onEnteredHiddenState(Landroid/view/View;)V
  78. return-void
  79. .end method
  80. .method private unhideViewInternal(Landroid/view/View;)Z
  81. .locals 1
  82. iget-object v0, p0, Landroid/support/v7/widget/ChildHelper;->mHiddenViews:Ljava/util/List;
  83. invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
  84. move-result v0
  85. if-eqz v0, :cond_0
  86. iget-object v0, p0, Landroid/support/v7/widget/ChildHelper;->mCallback:Landroid/support/v7/widget/ChildHelper$Callback;
  87. invoke-interface {v0, p1}, Landroid/support/v7/widget/ChildHelper$Callback;->onLeftHiddenState(Landroid/view/View;)V
  88. const/4 p1, 0x1
  89. return p1
  90. :cond_0
  91. const/4 p1, 0x0
  92. return p1
  93. .end method
  94. # virtual methods
  95. .method addView(Landroid/view/View;IZ)V
  96. .locals 1
  97. if-gez p2, :cond_0
  98. iget-object p2, p0, Landroid/support/v7/widget/ChildHelper;->mCallback:Landroid/support/v7/widget/ChildHelper$Callback;
  99. invoke-interface {p2}, Landroid/support/v7/widget/ChildHelper$Callback;->getChildCount()I
  100. move-result p2
  101. goto :goto_0
  102. :cond_0
  103. invoke-direct {p0, p2}, Landroid/support/v7/widget/ChildHelper;->getOffset(I)I
  104. move-result p2
  105. :goto_0
  106. iget-object v0, p0, Landroid/support/v7/widget/ChildHelper;->mBucket:Landroid/support/v7/widget/ChildHelper$Bucket;
  107. invoke-virtual {v0, p2, p3}, Landroid/support/v7/widget/ChildHelper$Bucket;->insert(IZ)V
  108. if-eqz p3, :cond_1
  109. invoke-direct {p0, p1}, Landroid/support/v7/widget/ChildHelper;->hideViewInternal(Landroid/view/View;)V
  110. :cond_1
  111. iget-object p3, p0, Landroid/support/v7/widget/ChildHelper;->mCallback:Landroid/support/v7/widget/ChildHelper$Callback;
  112. invoke-interface {p3, p1, p2}, Landroid/support/v7/widget/ChildHelper$Callback;->addView(Landroid/view/View;I)V
  113. return-void
  114. .end method
  115. .method addView(Landroid/view/View;Z)V
  116. .locals 1
  117. const/4 v0, -0x1
  118. invoke-virtual {p0, p1, v0, p2}, Landroid/support/v7/widget/ChildHelper;->addView(Landroid/view/View;IZ)V
  119. return-void
  120. .end method
  121. .method attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)V
  122. .locals 1
  123. if-gez p2, :cond_0
  124. iget-object p2, p0, Landroid/support/v7/widget/ChildHelper;->mCallback:Landroid/support/v7/widget/ChildHelper$Callback;
  125. invoke-interface {p2}, Landroid/support/v7/widget/ChildHelper$Callback;->getChildCount()I
  126. move-result p2
  127. goto :goto_0
  128. :cond_0
  129. invoke-direct {p0, p2}, Landroid/support/v7/widget/ChildHelper;->getOffset(I)I
  130. move-result p2
  131. :goto_0
  132. iget-object v0, p0, Landroid/support/v7/widget/ChildHelper;->mBucket:Landroid/support/v7/widget/ChildHelper$Bucket;
  133. invoke-virtual {v0, p2, p4}, Landroid/support/v7/widget/ChildHelper$Bucket;->insert(IZ)V
  134. if-eqz p4, :cond_1
  135. invoke-direct {p0, p1}, Landroid/support/v7/widget/ChildHelper;->hideViewInternal(Landroid/view/View;)V
  136. :cond_1
  137. iget-object p4, p0, Landroid/support/v7/widget/ChildHelper;->mCallback:Landroid/support/v7/widget/ChildHelper$Callback;
  138. invoke-interface {p4, p1, p2, p3}, Landroid/support/v7/widget/ChildHelper$Callback;->attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
  139. return-void
  140. .end method
  141. .method detachViewFromParent(I)V
  142. .locals 1
  143. invoke-direct {p0, p1}, Landroid/support/v7/widget/ChildHelper;->getOffset(I)I
  144. move-result p1
  145. iget-object v0, p0, Landroid/support/v7/widget/ChildHelper;->mBucket:Landroid/support/v7/widget/ChildHelper$Bucket;
  146. invoke-virtual {v0, p1}, Landroid/support/v7/widget/ChildHelper$Bucket;->remove(I)Z
  147. iget-object v0, p0, Landroid/support/v7/widget/ChildHelper;->mCallback:Landroid/support/v7/widget/ChildHelper$Callback;
  148. invoke-interface {v0, p1}, Landroid/support/v7/widget/ChildHelper$Callback;->detachViewFromParent(I)V
  149. return-void
  150. .end method
  151. .method findHiddenNonRemovedView(II)Landroid/view/View;
  152. .locals 5
  153. iget-object v0, p0, Landroid/support/v7/widget/ChildHelper;->mHiddenViews:Ljava/util/List;
  154. invoke-interface {v0}, Ljava/util/List;->size()I
  155. move-result v0
  156. const/4 v1, 0x0
  157. :goto_0
  158. if-ge v1, v0, :cond_2
  159. iget-object v2, p0, Landroid/support/v7/widget/ChildHelper;->mHiddenViews:Ljava/util/List;
  160. invoke-interface {v2, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
  161. move-result-object v2
  162. check-cast v2, Landroid/view/View;
  163. iget-object v3, p0, Landroid/support/v7/widget/ChildHelper;->mCallback:Landroid/support/v7/widget/ChildHelper$Callback;
  164. invoke-interface {v3, v2}, Landroid/support/v7/widget/ChildHelper$Callback;->getChildViewHolder(Landroid/view/View;)Landroid/support/v7/widget/RecyclerView$ViewHolder;
  165. move-result-object v3
  166. invoke-virtual {v3}, Landroid/support/v7/widget/RecyclerView$ViewHolder;->getLayoutPosition()I
  167. move-result v4
  168. if-ne v4, p1, :cond_1
  169. invoke-virtual {v3}, Landroid/support/v7/widget/RecyclerView$ViewHolder;->isInvalid()Z
  170. move-result v4
  171. if-nez v4, :cond_1
  172. invoke-virtual {v3}, Landroid/support/v7/widget/RecyclerView$ViewHolder;->isRemoved()Z
  173. move-result v4
  174. if-nez v4, :cond_1
  175. const/4 v4, -0x1
  176. if-eq p2, v4, :cond_0
  177. invoke-virtual {v3}, Landroid/support/v7/widget/RecyclerView$ViewHolder;->getItemViewType()I
  178. move-result v3
  179. if-ne v3, p2, :cond_1
  180. :cond_0
  181. return-object v2
  182. :cond_1
  183. add-int/lit8 v1, v1, 0x1
  184. goto :goto_0
  185. :cond_2
  186. const/4 p1, 0x0
  187. return-object p1
  188. .end method
  189. .method getChildAt(I)Landroid/view/View;
  190. .locals 1
  191. invoke-direct {p0, p1}, Landroid/support/v7/widget/ChildHelper;->getOffset(I)I
  192. move-result p1
  193. iget-object v0, p0, Landroid/support/v7/widget/ChildHelper;->mCallback:Landroid/support/v7/widget/ChildHelper$Callback;
  194. invoke-interface {v0, p1}, Landroid/support/v7/widget/ChildHelper$Callback;->getChildAt(I)Landroid/view/View;
  195. move-result-object p1
  196. return-object p1
  197. .end method
  198. .method getChildCount()I
  199. .locals 2
  200. iget-object v0, p0, Landroid/support/v7/widget/ChildHelper;->mCallback:Landroid/support/v7/widget/ChildHelper$Callback;
  201. invoke-interface {v0}, Landroid/support/v7/widget/ChildHelper$Callback;->getChildCount()I
  202. move-result v0
  203. iget-object v1, p0, Landroid/support/v7/widget/ChildHelper;->mHiddenViews:Ljava/util/List;
  204. invoke-interface {v1}, Ljava/util/List;->size()I
  205. move-result v1
  206. sub-int/2addr v0, v1
  207. return v0
  208. .end method
  209. .method getUnfilteredChildAt(I)Landroid/view/View;
  210. .locals 1
  211. iget-object v0, p0, Landroid/support/v7/widget/ChildHelper;->mCallback:Landroid/support/v7/widget/ChildHelper$Callback;
  212. invoke-interface {v0, p1}, Landroid/support/v7/widget/ChildHelper$Callback;->getChildAt(I)Landroid/view/View;
  213. move-result-object p1
  214. return-object p1
  215. .end method
  216. .method getUnfilteredChildCount()I
  217. .locals 1
  218. iget-object v0, p0, Landroid/support/v7/widget/ChildHelper;->mCallback:Landroid/support/v7/widget/ChildHelper$Callback;
  219. invoke-interface {v0}, Landroid/support/v7/widget/ChildHelper$Callback;->getChildCount()I
  220. move-result v0
  221. return v0
  222. .end method
  223. .method hide(Landroid/view/View;)V
  224. .locals 3
  225. iget-object v0, p0, Landroid/support/v7/widget/ChildHelper;->mCallback:Landroid/support/v7/widget/ChildHelper$Callback;
  226. invoke-interface {v0, p1}, Landroid/support/v7/widget/ChildHelper$Callback;->indexOfChild(Landroid/view/View;)I
  227. move-result v0
  228. if-ltz v0, :cond_0
  229. iget-object v1, p0, Landroid/support/v7/widget/ChildHelper;->mBucket:Landroid/support/v7/widget/ChildHelper$Bucket;
  230. invoke-virtual {v1, v0}, Landroid/support/v7/widget/ChildHelper$Bucket;->set(I)V
  231. invoke-direct {p0, p1}, Landroid/support/v7/widget/ChildHelper;->hideViewInternal(Landroid/view/View;)V
  232. return-void
  233. :cond_0
  234. new-instance v0, Ljava/lang/IllegalArgumentException;
  235. new-instance v1, Ljava/lang/StringBuilder;
  236. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  237. const-string v2, "view is not a child, cannot hide "
  238. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  239. invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  240. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  241. move-result-object p1
  242. invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
  243. throw v0
  244. .end method
  245. .method indexOfChild(Landroid/view/View;)I
  246. .locals 2
  247. iget-object v0, p0, Landroid/support/v7/widget/ChildHelper;->mCallback:Landroid/support/v7/widget/ChildHelper$Callback;
  248. invoke-interface {v0, p1}, Landroid/support/v7/widget/ChildHelper$Callback;->indexOfChild(Landroid/view/View;)I
  249. move-result p1
  250. const/4 v0, -0x1
  251. if-ne p1, v0, :cond_0
  252. return v0
  253. :cond_0
  254. iget-object v1, p0, Landroid/support/v7/widget/ChildHelper;->mBucket:Landroid/support/v7/widget/ChildHelper$Bucket;
  255. invoke-virtual {v1, p1}, Landroid/support/v7/widget/ChildHelper$Bucket;->get(I)Z
  256. move-result v1
  257. if-eqz v1, :cond_1
  258. return v0
  259. :cond_1
  260. iget-object v0, p0, Landroid/support/v7/widget/ChildHelper;->mBucket:Landroid/support/v7/widget/ChildHelper$Bucket;
  261. invoke-virtual {v0, p1}, Landroid/support/v7/widget/ChildHelper$Bucket;->countOnesBefore(I)I
  262. move-result v0
  263. sub-int/2addr p1, v0
  264. return p1
  265. .end method
  266. .method isHidden(Landroid/view/View;)Z
  267. .locals 1
  268. iget-object v0, p0, Landroid/support/v7/widget/ChildHelper;->mHiddenViews:Ljava/util/List;
  269. invoke-interface {v0, p1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
  270. move-result p1
  271. return p1
  272. .end method
  273. .method removeAllViewsUnfiltered()V
  274. .locals 3
  275. iget-object v0, p0, Landroid/support/v7/widget/ChildHelper;->mBucket:Landroid/support/v7/widget/ChildHelper$Bucket;
  276. invoke-virtual {v0}, Landroid/support/v7/widget/ChildHelper$Bucket;->reset()V
  277. iget-object v0, p0, Landroid/support/v7/widget/ChildHelper;->mHiddenViews:Ljava/util/List;
  278. invoke-interface {v0}, Ljava/util/List;->size()I
  279. move-result v0
  280. add-int/lit8 v0, v0, -0x1
  281. :goto_0
  282. if-ltz v0, :cond_0
  283. iget-object v1, p0, Landroid/support/v7/widget/ChildHelper;->mCallback:Landroid/support/v7/widget/ChildHelper$Callback;
  284. iget-object v2, p0, Landroid/support/v7/widget/ChildHelper;->mHiddenViews:Ljava/util/List;
  285. invoke-interface {v2, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
  286. move-result-object v2
  287. check-cast v2, Landroid/view/View;
  288. invoke-interface {v1, v2}, Landroid/support/v7/widget/ChildHelper$Callback;->onLeftHiddenState(Landroid/view/View;)V
  289. iget-object v1, p0, Landroid/support/v7/widget/ChildHelper;->mHiddenViews:Ljava/util/List;
  290. invoke-interface {v1, v0}, Ljava/util/List;->remove(I)Ljava/lang/Object;
  291. add-int/lit8 v0, v0, -0x1
  292. goto :goto_0
  293. :cond_0
  294. iget-object v0, p0, Landroid/support/v7/widget/ChildHelper;->mCallback:Landroid/support/v7/widget/ChildHelper$Callback;
  295. invoke-interface {v0}, Landroid/support/v7/widget/ChildHelper$Callback;->removeAllViews()V
  296. return-void
  297. .end method
  298. .method removeView(Landroid/view/View;)V
  299. .locals 2
  300. iget-object v0, p0, Landroid/support/v7/widget/ChildHelper;->mCallback:Landroid/support/v7/widget/ChildHelper$Callback;
  301. invoke-interface {v0, p1}, Landroid/support/v7/widget/ChildHelper$Callback;->indexOfChild(Landroid/view/View;)I
  302. move-result v0
  303. if-gez v0, :cond_0
  304. return-void
  305. :cond_0
  306. iget-object v1, p0, Landroid/support/v7/widget/ChildHelper;->mBucket:Landroid/support/v7/widget/ChildHelper$Bucket;
  307. invoke-virtual {v1, v0}, Landroid/support/v7/widget/ChildHelper$Bucket;->remove(I)Z
  308. move-result v1
  309. if-eqz v1, :cond_1
  310. invoke-direct {p0, p1}, Landroid/support/v7/widget/ChildHelper;->unhideViewInternal(Landroid/view/View;)Z
  311. :cond_1
  312. iget-object p1, p0, Landroid/support/v7/widget/ChildHelper;->mCallback:Landroid/support/v7/widget/ChildHelper$Callback;
  313. invoke-interface {p1, v0}, Landroid/support/v7/widget/ChildHelper$Callback;->removeViewAt(I)V
  314. return-void
  315. .end method
  316. .method removeViewAt(I)V
  317. .locals 2
  318. invoke-direct {p0, p1}, Landroid/support/v7/widget/ChildHelper;->getOffset(I)I
  319. move-result p1
  320. iget-object v0, p0, Landroid/support/v7/widget/ChildHelper;->mCallback:Landroid/support/v7/widget/ChildHelper$Callback;
  321. invoke-interface {v0, p1}, Landroid/support/v7/widget/ChildHelper$Callback;->getChildAt(I)Landroid/view/View;
  322. move-result-object v0
  323. if-nez v0, :cond_0
  324. return-void
  325. :cond_0
  326. iget-object v1, p0, Landroid/support/v7/widget/ChildHelper;->mBucket:Landroid/support/v7/widget/ChildHelper$Bucket;
  327. invoke-virtual {v1, p1}, Landroid/support/v7/widget/ChildHelper$Bucket;->remove(I)Z
  328. move-result v1
  329. if-eqz v1, :cond_1
  330. invoke-direct {p0, v0}, Landroid/support/v7/widget/ChildHelper;->unhideViewInternal(Landroid/view/View;)Z
  331. :cond_1
  332. iget-object v0, p0, Landroid/support/v7/widget/ChildHelper;->mCallback:Landroid/support/v7/widget/ChildHelper$Callback;
  333. invoke-interface {v0, p1}, Landroid/support/v7/widget/ChildHelper$Callback;->removeViewAt(I)V
  334. return-void
  335. .end method
  336. .method removeViewIfHidden(Landroid/view/View;)Z
  337. .locals 3
  338. iget-object v0, p0, Landroid/support/v7/widget/ChildHelper;->mCallback:Landroid/support/v7/widget/ChildHelper$Callback;
  339. invoke-interface {v0, p1}, Landroid/support/v7/widget/ChildHelper$Callback;->indexOfChild(Landroid/view/View;)I
  340. move-result v0
  341. const/4 v1, 0x1
  342. const/4 v2, -0x1
  343. if-ne v0, v2, :cond_0
  344. invoke-direct {p0, p1}, Landroid/support/v7/widget/ChildHelper;->unhideViewInternal(Landroid/view/View;)Z
  345. return v1
  346. :cond_0
  347. iget-object v2, p0, Landroid/support/v7/widget/ChildHelper;->mBucket:Landroid/support/v7/widget/ChildHelper$Bucket;
  348. invoke-virtual {v2, v0}, Landroid/support/v7/widget/ChildHelper$Bucket;->get(I)Z
  349. move-result v2
  350. if-eqz v2, :cond_1
  351. iget-object v2, p0, Landroid/support/v7/widget/ChildHelper;->mBucket:Landroid/support/v7/widget/ChildHelper$Bucket;
  352. invoke-virtual {v2, v0}, Landroid/support/v7/widget/ChildHelper$Bucket;->remove(I)Z
  353. invoke-direct {p0, p1}, Landroid/support/v7/widget/ChildHelper;->unhideViewInternal(Landroid/view/View;)Z
  354. iget-object p1, p0, Landroid/support/v7/widget/ChildHelper;->mCallback:Landroid/support/v7/widget/ChildHelper$Callback;
  355. invoke-interface {p1, v0}, Landroid/support/v7/widget/ChildHelper$Callback;->removeViewAt(I)V
  356. return v1
  357. :cond_1
  358. const/4 p1, 0x0
  359. return p1
  360. .end method
  361. .method public toString()Ljava/lang/String;
  362. .locals 2
  363. new-instance v0, Ljava/lang/StringBuilder;
  364. invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
  365. iget-object v1, p0, Landroid/support/v7/widget/ChildHelper;->mBucket:Landroid/support/v7/widget/ChildHelper$Bucket;
  366. invoke-virtual {v1}, Landroid/support/v7/widget/ChildHelper$Bucket;->toString()Ljava/lang/String;
  367. move-result-object v1
  368. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  369. const-string v1, ", hidden list:"
  370. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  371. iget-object v1, p0, Landroid/support/v7/widget/ChildHelper;->mHiddenViews:Ljava/util/List;
  372. invoke-interface {v1}, Ljava/util/List;->size()I
  373. move-result v1
  374. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  375. invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  376. move-result-object v0
  377. return-object v0
  378. .end method
  379. .method unhide(Landroid/view/View;)V
  380. .locals 3
  381. iget-object v0, p0, Landroid/support/v7/widget/ChildHelper;->mCallback:Landroid/support/v7/widget/ChildHelper$Callback;
  382. invoke-interface {v0, p1}, Landroid/support/v7/widget/ChildHelper$Callback;->indexOfChild(Landroid/view/View;)I
  383. move-result v0
  384. if-ltz v0, :cond_1
  385. iget-object v1, p0, Landroid/support/v7/widget/ChildHelper;->mBucket:Landroid/support/v7/widget/ChildHelper$Bucket;
  386. invoke-virtual {v1, v0}, Landroid/support/v7/widget/ChildHelper$Bucket;->get(I)Z
  387. move-result v1
  388. if-eqz v1, :cond_0
  389. iget-object v1, p0, Landroid/support/v7/widget/ChildHelper;->mBucket:Landroid/support/v7/widget/ChildHelper$Bucket;
  390. invoke-virtual {v1, v0}, Landroid/support/v7/widget/ChildHelper$Bucket;->clear(I)V
  391. invoke-direct {p0, p1}, Landroid/support/v7/widget/ChildHelper;->unhideViewInternal(Landroid/view/View;)Z
  392. return-void
  393. :cond_0
  394. new-instance v0, Ljava/lang/RuntimeException;
  395. new-instance v1, Ljava/lang/StringBuilder;
  396. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  397. const-string v2, "trying to unhide a view that was not hidden"
  398. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  399. invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  400. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  401. move-result-object p1
  402. invoke-direct {v0, p1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
  403. throw v0
  404. :cond_1
  405. new-instance v0, Ljava/lang/IllegalArgumentException;
  406. new-instance v1, Ljava/lang/StringBuilder;
  407. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  408. const-string v2, "view is not a child, cannot hide "
  409. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  410. invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  411. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  412. move-result-object p1
  413. invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
  414. throw v0
  415. .end method