RecyclerView$ViewHolder.smali 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293
  1. .class public abstract Landroid/support/v7/widget/RecyclerView$ViewHolder;
  2. .super Ljava/lang/Object;
  3. .source ""
  4. # annotations
  5. .annotation system Ldalvik/annotation/EnclosingClass;
  6. value = Landroid/support/v7/widget/RecyclerView;
  7. .end annotation
  8. .annotation system Ldalvik/annotation/InnerClass;
  9. accessFlags = 0x409
  10. name = "ViewHolder"
  11. .end annotation
  12. # static fields
  13. .field static final FLAG_ADAPTER_FULLUPDATE:I = 0x400
  14. .field static final FLAG_ADAPTER_POSITION_UNKNOWN:I = 0x200
  15. .field static final FLAG_APPEARED_IN_PRE_LAYOUT:I = 0x1000
  16. .field static final FLAG_BOUNCED_FROM_HIDDEN_LIST:I = 0x2000
  17. .field static final FLAG_BOUND:I = 0x1
  18. .field static final FLAG_IGNORE:I = 0x80
  19. .field static final FLAG_INVALID:I = 0x4
  20. .field static final FLAG_MOVED:I = 0x800
  21. .field static final FLAG_NOT_RECYCLABLE:I = 0x10
  22. .field static final FLAG_REMOVED:I = 0x8
  23. .field static final FLAG_RETURNED_FROM_SCRAP:I = 0x20
  24. .field static final FLAG_TMP_DETACHED:I = 0x100
  25. .field static final FLAG_UPDATE:I = 0x2
  26. .field private static final FULLUPDATE_PAYLOADS:Ljava/util/List;
  27. .annotation system Ldalvik/annotation/Signature;
  28. value = {
  29. "Ljava/util/List<",
  30. "Ljava/lang/Object;",
  31. ">;"
  32. }
  33. .end annotation
  34. .end field
  35. # instance fields
  36. .field public final itemView:Landroid/view/View;
  37. .field private mFlags:I
  38. .field private mInChangeScrap:Z
  39. .field private mIsRecyclableCount:I
  40. .field mItemId:J
  41. .field mItemViewType:I
  42. .field mOldPosition:I
  43. .field mOwnerRecyclerView:Landroid/support/v7/widget/RecyclerView;
  44. .field mPayloads:Ljava/util/List;
  45. .annotation system Ldalvik/annotation/Signature;
  46. value = {
  47. "Ljava/util/List<",
  48. "Ljava/lang/Object;",
  49. ">;"
  50. }
  51. .end annotation
  52. .end field
  53. .field mPosition:I
  54. .field mPreLayoutPosition:I
  55. .field private mScrapContainer:Landroid/support/v7/widget/RecyclerView$Recycler;
  56. .field mShadowedHolder:Landroid/support/v7/widget/RecyclerView$ViewHolder;
  57. .field mShadowingHolder:Landroid/support/v7/widget/RecyclerView$ViewHolder;
  58. .field mUnmodifiedPayloads:Ljava/util/List;
  59. .annotation system Ldalvik/annotation/Signature;
  60. value = {
  61. "Ljava/util/List<",
  62. "Ljava/lang/Object;",
  63. ">;"
  64. }
  65. .end annotation
  66. .end field
  67. .field private mWasImportantForAccessibilityBeforeHidden:I
  68. # direct methods
  69. .method static constructor <clinit>()V
  70. .locals 1
  71. sget-object v0, Ljava/util/Collections;->EMPTY_LIST:Ljava/util/List;
  72. sput-object v0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->FULLUPDATE_PAYLOADS:Ljava/util/List;
  73. return-void
  74. .end method
  75. .method public constructor <init>(Landroid/view/View;)V
  76. .locals 3
  77. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  78. const/4 v0, -0x1
  79. iput v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPosition:I
  80. iput v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mOldPosition:I
  81. const-wide/16 v1, -0x1
  82. iput-wide v1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mItemId:J
  83. iput v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mItemViewType:I
  84. iput v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPreLayoutPosition:I
  85. const/4 v0, 0x0
  86. iput-object v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mShadowedHolder:Landroid/support/v7/widget/RecyclerView$ViewHolder;
  87. iput-object v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mShadowingHolder:Landroid/support/v7/widget/RecyclerView$ViewHolder;
  88. iput-object v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPayloads:Ljava/util/List;
  89. iput-object v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mUnmodifiedPayloads:Ljava/util/List;
  90. const/4 v1, 0x0
  91. iput v1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mIsRecyclableCount:I
  92. iput-object v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mScrapContainer:Landroid/support/v7/widget/RecyclerView$Recycler;
  93. iput-boolean v1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mInChangeScrap:Z
  94. iput v1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mWasImportantForAccessibilityBeforeHidden:I
  95. if-eqz p1, :cond_0
  96. iput-object p1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
  97. return-void
  98. :cond_0
  99. new-instance p1, Ljava/lang/IllegalArgumentException;
  100. const-string v0, "itemView may not be null"
  101. invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
  102. throw p1
  103. .end method
  104. .method static synthetic access$1500(Landroid/support/v7/widget/RecyclerView$ViewHolder;)V
  105. .locals 0
  106. invoke-direct {p0}, Landroid/support/v7/widget/RecyclerView$ViewHolder;->onEnteredHiddenState()V
  107. return-void
  108. .end method
  109. .method static synthetic access$1600(Landroid/support/v7/widget/RecyclerView$ViewHolder;)V
  110. .locals 0
  111. invoke-direct {p0}, Landroid/support/v7/widget/RecyclerView$ViewHolder;->onLeftHiddenState()V
  112. return-void
  113. .end method
  114. .method static synthetic access$4800(Landroid/support/v7/widget/RecyclerView$ViewHolder;)Z
  115. .locals 0
  116. invoke-direct {p0}, Landroid/support/v7/widget/RecyclerView$ViewHolder;->doesTransientStatePreventRecycling()Z
  117. move-result p0
  118. return p0
  119. .end method
  120. .method static synthetic access$4902(Landroid/support/v7/widget/RecyclerView$ViewHolder;Landroid/support/v7/widget/RecyclerView$Recycler;)Landroid/support/v7/widget/RecyclerView$Recycler;
  121. .locals 0
  122. iput-object p1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mScrapContainer:Landroid/support/v7/widget/RecyclerView$Recycler;
  123. return-object p1
  124. .end method
  125. .method static synthetic access$5000(Landroid/support/v7/widget/RecyclerView$ViewHolder;)Z
  126. .locals 0
  127. iget-boolean p0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mInChangeScrap:Z
  128. return p0
  129. .end method
  130. .method static synthetic access$5002(Landroid/support/v7/widget/RecyclerView$ViewHolder;Z)Z
  131. .locals 0
  132. iput-boolean p1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mInChangeScrap:Z
  133. return p1
  134. .end method
  135. .method static synthetic access$6300(Landroid/support/v7/widget/RecyclerView$ViewHolder;)Z
  136. .locals 0
  137. invoke-direct {p0}, Landroid/support/v7/widget/RecyclerView$ViewHolder;->shouldBeKeptAsChild()Z
  138. move-result p0
  139. return p0
  140. .end method
  141. .method static synthetic access$6500(Landroid/support/v7/widget/RecyclerView$ViewHolder;)I
  142. .locals 0
  143. iget p0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  144. return p0
  145. .end method
  146. .method private createPayloadsIfNeeded()V
  147. .locals 1
  148. iget-object v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPayloads:Ljava/util/List;
  149. if-nez v0, :cond_0
  150. new-instance v0, Ljava/util/ArrayList;
  151. invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
  152. iput-object v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPayloads:Ljava/util/List;
  153. iget-object v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPayloads:Ljava/util/List;
  154. invoke-static {v0}, Ljava/util/Collections;->unmodifiableList(Ljava/util/List;)Ljava/util/List;
  155. move-result-object v0
  156. iput-object v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mUnmodifiedPayloads:Ljava/util/List;
  157. :cond_0
  158. return-void
  159. .end method
  160. .method private doesTransientStatePreventRecycling()Z
  161. .locals 1
  162. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  163. and-int/lit8 v0, v0, 0x10
  164. if-nez v0, :cond_0
  165. iget-object v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
  166. invoke-static {v0}, Landroid/support/v4/view/ViewCompat;->hasTransientState(Landroid/view/View;)Z
  167. move-result v0
  168. if-eqz v0, :cond_0
  169. const/4 v0, 0x1
  170. goto :goto_0
  171. :cond_0
  172. const/4 v0, 0x0
  173. :goto_0
  174. return v0
  175. .end method
  176. .method private onEnteredHiddenState()V
  177. .locals 2
  178. iget-object v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
  179. invoke-static {v0}, Landroid/support/v4/view/ViewCompat;->getImportantForAccessibility(Landroid/view/View;)I
  180. move-result v0
  181. iput v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mWasImportantForAccessibilityBeforeHidden:I
  182. iget-object v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
  183. const/4 v1, 0x4
  184. invoke-static {v0, v1}, Landroid/support/v4/view/ViewCompat;->setImportantForAccessibility(Landroid/view/View;I)V
  185. return-void
  186. .end method
  187. .method private onLeftHiddenState()V
  188. .locals 2
  189. iget-object v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
  190. iget v1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mWasImportantForAccessibilityBeforeHidden:I
  191. invoke-static {v0, v1}, Landroid/support/v4/view/ViewCompat;->setImportantForAccessibility(Landroid/view/View;I)V
  192. const/4 v0, 0x0
  193. iput v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mWasImportantForAccessibilityBeforeHidden:I
  194. return-void
  195. .end method
  196. .method private shouldBeKeptAsChild()Z
  197. .locals 1
  198. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  199. and-int/lit8 v0, v0, 0x10
  200. if-eqz v0, :cond_0
  201. const/4 v0, 0x1
  202. goto :goto_0
  203. :cond_0
  204. const/4 v0, 0x0
  205. :goto_0
  206. return v0
  207. .end method
  208. # virtual methods
  209. .method addChangePayload(Ljava/lang/Object;)V
  210. .locals 2
  211. const/16 v0, 0x400
  212. if-nez p1, :cond_0
  213. invoke-virtual {p0, v0}, Landroid/support/v7/widget/RecyclerView$ViewHolder;->addFlags(I)V
  214. goto :goto_0
  215. :cond_0
  216. iget v1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  217. and-int/2addr v0, v1
  218. if-nez v0, :cond_1
  219. invoke-direct {p0}, Landroid/support/v7/widget/RecyclerView$ViewHolder;->createPayloadsIfNeeded()V
  220. iget-object v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPayloads:Ljava/util/List;
  221. invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
  222. :cond_1
  223. :goto_0
  224. return-void
  225. .end method
  226. .method addFlags(I)V
  227. .locals 1
  228. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  229. or-int/2addr p1, v0
  230. iput p1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  231. return-void
  232. .end method
  233. .method clearOldPosition()V
  234. .locals 1
  235. const/4 v0, -0x1
  236. iput v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mOldPosition:I
  237. iput v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPreLayoutPosition:I
  238. return-void
  239. .end method
  240. .method clearPayload()V
  241. .locals 1
  242. iget-object v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPayloads:Ljava/util/List;
  243. if-eqz v0, :cond_0
  244. invoke-interface {v0}, Ljava/util/List;->clear()V
  245. :cond_0
  246. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  247. and-int/lit16 v0, v0, -0x401
  248. iput v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  249. return-void
  250. .end method
  251. .method clearReturnedFromScrapFlag()V
  252. .locals 1
  253. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  254. and-int/lit8 v0, v0, -0x21
  255. iput v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  256. return-void
  257. .end method
  258. .method clearTmpDetachFlag()V
  259. .locals 1
  260. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  261. and-int/lit16 v0, v0, -0x101
  262. iput v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  263. return-void
  264. .end method
  265. .method flagRemovedAndOffsetPosition(IIZ)V
  266. .locals 1
  267. const/16 v0, 0x8
  268. invoke-virtual {p0, v0}, Landroid/support/v7/widget/RecyclerView$ViewHolder;->addFlags(I)V
  269. invoke-virtual {p0, p2, p3}, Landroid/support/v7/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V
  270. iput p1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPosition:I
  271. return-void
  272. .end method
  273. .method public final getAdapterPosition()I
  274. .locals 1
  275. iget-object v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mOwnerRecyclerView:Landroid/support/v7/widget/RecyclerView;
  276. if-nez v0, :cond_0
  277. const/4 v0, -0x1
  278. return v0
  279. :cond_0
  280. invoke-static {v0, p0}, Landroid/support/v7/widget/RecyclerView;->access$5700(Landroid/support/v7/widget/RecyclerView;Landroid/support/v7/widget/RecyclerView$ViewHolder;)I
  281. move-result v0
  282. return v0
  283. .end method
  284. .method public final getItemId()J
  285. .locals 2
  286. iget-wide v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mItemId:J
  287. return-wide v0
  288. .end method
  289. .method public final getItemViewType()I
  290. .locals 1
  291. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mItemViewType:I
  292. return v0
  293. .end method
  294. .method public final getLayoutPosition()I
  295. .locals 2
  296. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPreLayoutPosition:I
  297. const/4 v1, -0x1
  298. if-ne v0, v1, :cond_0
  299. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPosition:I
  300. :cond_0
  301. return v0
  302. .end method
  303. .method public final getOldPosition()I
  304. .locals 1
  305. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mOldPosition:I
  306. return v0
  307. .end method
  308. .method public final getPosition()I
  309. .locals 2
  310. .annotation runtime Ljava/lang/Deprecated;
  311. .end annotation
  312. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPreLayoutPosition:I
  313. const/4 v1, -0x1
  314. if-ne v0, v1, :cond_0
  315. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPosition:I
  316. :cond_0
  317. return v0
  318. .end method
  319. .method getUnmodifiedPayloads()Ljava/util/List;
  320. .locals 1
  321. .annotation system Ldalvik/annotation/Signature;
  322. value = {
  323. "()",
  324. "Ljava/util/List<",
  325. "Ljava/lang/Object;",
  326. ">;"
  327. }
  328. .end annotation
  329. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  330. and-int/lit16 v0, v0, 0x400
  331. if-nez v0, :cond_2
  332. iget-object v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPayloads:Ljava/util/List;
  333. if-eqz v0, :cond_1
  334. invoke-interface {v0}, Ljava/util/List;->size()I
  335. move-result v0
  336. if-nez v0, :cond_0
  337. goto :goto_0
  338. :cond_0
  339. iget-object v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mUnmodifiedPayloads:Ljava/util/List;
  340. return-object v0
  341. :cond_1
  342. :goto_0
  343. sget-object v0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->FULLUPDATE_PAYLOADS:Ljava/util/List;
  344. return-object v0
  345. :cond_2
  346. sget-object v0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->FULLUPDATE_PAYLOADS:Ljava/util/List;
  347. return-object v0
  348. .end method
  349. .method hasAnyOfTheFlags(I)Z
  350. .locals 1
  351. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  352. and-int/2addr p1, v0
  353. if-eqz p1, :cond_0
  354. const/4 p1, 0x1
  355. goto :goto_0
  356. :cond_0
  357. const/4 p1, 0x0
  358. :goto_0
  359. return p1
  360. .end method
  361. .method isAdapterPositionUnknown()Z
  362. .locals 1
  363. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  364. and-int/lit16 v0, v0, 0x200
  365. if-nez v0, :cond_1
  366. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$ViewHolder;->isInvalid()Z
  367. move-result v0
  368. if-eqz v0, :cond_0
  369. goto :goto_0
  370. :cond_0
  371. const/4 v0, 0x0
  372. goto :goto_1
  373. :cond_1
  374. :goto_0
  375. const/4 v0, 0x1
  376. :goto_1
  377. return v0
  378. .end method
  379. .method isBound()Z
  380. .locals 2
  381. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  382. const/4 v1, 0x1
  383. and-int/2addr v0, v1
  384. if-eqz v0, :cond_0
  385. goto :goto_0
  386. :cond_0
  387. const/4 v1, 0x0
  388. :goto_0
  389. return v1
  390. .end method
  391. .method isInvalid()Z
  392. .locals 1
  393. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  394. and-int/lit8 v0, v0, 0x4
  395. if-eqz v0, :cond_0
  396. const/4 v0, 0x1
  397. goto :goto_0
  398. :cond_0
  399. const/4 v0, 0x0
  400. :goto_0
  401. return v0
  402. .end method
  403. .method public final isRecyclable()Z
  404. .locals 1
  405. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  406. and-int/lit8 v0, v0, 0x10
  407. if-nez v0, :cond_0
  408. iget-object v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
  409. invoke-static {v0}, Landroid/support/v4/view/ViewCompat;->hasTransientState(Landroid/view/View;)Z
  410. move-result v0
  411. if-nez v0, :cond_0
  412. const/4 v0, 0x1
  413. goto :goto_0
  414. :cond_0
  415. const/4 v0, 0x0
  416. :goto_0
  417. return v0
  418. .end method
  419. .method isRemoved()Z
  420. .locals 1
  421. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  422. and-int/lit8 v0, v0, 0x8
  423. if-eqz v0, :cond_0
  424. const/4 v0, 0x1
  425. goto :goto_0
  426. :cond_0
  427. const/4 v0, 0x0
  428. :goto_0
  429. return v0
  430. .end method
  431. .method isScrap()Z
  432. .locals 1
  433. iget-object v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mScrapContainer:Landroid/support/v7/widget/RecyclerView$Recycler;
  434. if-eqz v0, :cond_0
  435. const/4 v0, 0x1
  436. goto :goto_0
  437. :cond_0
  438. const/4 v0, 0x0
  439. :goto_0
  440. return v0
  441. .end method
  442. .method isTmpDetached()Z
  443. .locals 1
  444. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  445. and-int/lit16 v0, v0, 0x100
  446. if-eqz v0, :cond_0
  447. const/4 v0, 0x1
  448. goto :goto_0
  449. :cond_0
  450. const/4 v0, 0x0
  451. :goto_0
  452. return v0
  453. .end method
  454. .method isUpdated()Z
  455. .locals 1
  456. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  457. and-int/lit8 v0, v0, 0x2
  458. if-eqz v0, :cond_0
  459. const/4 v0, 0x1
  460. goto :goto_0
  461. :cond_0
  462. const/4 v0, 0x0
  463. :goto_0
  464. return v0
  465. .end method
  466. .method needsUpdate()Z
  467. .locals 1
  468. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  469. and-int/lit8 v0, v0, 0x2
  470. if-eqz v0, :cond_0
  471. const/4 v0, 0x1
  472. goto :goto_0
  473. :cond_0
  474. const/4 v0, 0x0
  475. :goto_0
  476. return v0
  477. .end method
  478. .method offsetPosition(IZ)V
  479. .locals 2
  480. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mOldPosition:I
  481. const/4 v1, -0x1
  482. if-ne v0, v1, :cond_0
  483. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPosition:I
  484. iput v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mOldPosition:I
  485. :cond_0
  486. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPreLayoutPosition:I
  487. if-ne v0, v1, :cond_1
  488. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPosition:I
  489. iput v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPreLayoutPosition:I
  490. :cond_1
  491. if-eqz p2, :cond_2
  492. iget p2, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPreLayoutPosition:I
  493. add-int/2addr p2, p1
  494. iput p2, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPreLayoutPosition:I
  495. :cond_2
  496. iget p2, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPosition:I
  497. add-int/2addr p2, p1
  498. iput p2, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPosition:I
  499. iget-object p1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
  500. invoke-virtual {p1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
  501. move-result-object p1
  502. if-eqz p1, :cond_3
  503. iget-object p1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
  504. invoke-virtual {p1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
  505. move-result-object p1
  506. check-cast p1, Landroid/support/v7/widget/RecyclerView$LayoutParams;
  507. const/4 p2, 0x1
  508. iput-boolean p2, p1, Landroid/support/v7/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z
  509. :cond_3
  510. return-void
  511. .end method
  512. .method resetInternal()V
  513. .locals 4
  514. const/4 v0, 0x0
  515. iput v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  516. const/4 v1, -0x1
  517. iput v1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPosition:I
  518. iput v1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mOldPosition:I
  519. const-wide/16 v2, -0x1
  520. iput-wide v2, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mItemId:J
  521. iput v1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPreLayoutPosition:I
  522. iput v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mIsRecyclableCount:I
  523. const/4 v1, 0x0
  524. iput-object v1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mShadowedHolder:Landroid/support/v7/widget/RecyclerView$ViewHolder;
  525. iput-object v1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mShadowingHolder:Landroid/support/v7/widget/RecyclerView$ViewHolder;
  526. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$ViewHolder;->clearPayload()V
  527. iput v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mWasImportantForAccessibilityBeforeHidden:I
  528. return-void
  529. .end method
  530. .method saveOldPosition()V
  531. .locals 2
  532. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mOldPosition:I
  533. const/4 v1, -0x1
  534. if-ne v0, v1, :cond_0
  535. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPosition:I
  536. iput v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mOldPosition:I
  537. :cond_0
  538. return-void
  539. .end method
  540. .method setFlags(II)V
  541. .locals 2
  542. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  543. xor-int/lit8 v1, p2, -0x1
  544. and-int/2addr v0, v1
  545. and-int/2addr p1, p2
  546. or-int/2addr p1, v0
  547. iput p1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  548. return-void
  549. .end method
  550. .method public final setIsRecyclable(Z)V
  551. .locals 2
  552. const/4 v0, 0x1
  553. iget v1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mIsRecyclableCount:I
  554. if-eqz p1, :cond_0
  555. sub-int/2addr v1, v0
  556. goto :goto_0
  557. :cond_0
  558. add-int/2addr v1, v0
  559. :goto_0
  560. iput v1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mIsRecyclableCount:I
  561. iget v1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mIsRecyclableCount:I
  562. if-gez v1, :cond_1
  563. const/4 p1, 0x0
  564. iput p1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mIsRecyclableCount:I
  565. new-instance p1, Ljava/lang/StringBuilder;
  566. invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
  567. const-string v0, "isRecyclable decremented below 0: unmatched pair of setIsRecyable() calls for "
  568. invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  569. invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  570. invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  571. move-result-object p1
  572. const-string v0, "View"
  573. invoke-static {v0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
  574. goto :goto_2
  575. :cond_1
  576. if-nez p1, :cond_2
  577. if-ne v1, v0, :cond_2
  578. iget p1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  579. or-int/lit8 p1, p1, 0x10
  580. :goto_1
  581. iput p1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  582. goto :goto_2
  583. :cond_2
  584. if-eqz p1, :cond_3
  585. iget p1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mIsRecyclableCount:I
  586. if-nez p1, :cond_3
  587. iget p1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  588. and-int/lit8 p1, p1, -0x11
  589. goto :goto_1
  590. :cond_3
  591. :goto_2
  592. return-void
  593. .end method
  594. .method setScrapContainer(Landroid/support/v7/widget/RecyclerView$Recycler;Z)V
  595. .locals 0
  596. iput-object p1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mScrapContainer:Landroid/support/v7/widget/RecyclerView$Recycler;
  597. iput-boolean p2, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mInChangeScrap:Z
  598. return-void
  599. .end method
  600. .method shouldIgnore()Z
  601. .locals 1
  602. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  603. and-int/lit16 v0, v0, 0x80
  604. if-eqz v0, :cond_0
  605. const/4 v0, 0x1
  606. goto :goto_0
  607. :cond_0
  608. const/4 v0, 0x0
  609. :goto_0
  610. return v0
  611. .end method
  612. .method stopIgnoring()V
  613. .locals 1
  614. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  615. and-int/lit16 v0, v0, -0x81
  616. iput v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  617. return-void
  618. .end method
  619. .method public toString()Ljava/lang/String;
  620. .locals 4
  621. new-instance v0, Ljava/lang/StringBuilder;
  622. new-instance v1, Ljava/lang/StringBuilder;
  623. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  624. const-string v2, "ViewHolder{"
  625. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  626. invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
  627. move-result v2
  628. invoke-static {v2}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
  629. move-result-object v2
  630. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  631. const-string v2, " position="
  632. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  633. iget v2, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPosition:I
  634. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  635. const-string v2, " id="
  636. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  637. iget-wide v2, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mItemId:J
  638. invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  639. const-string v2, ", oldPos="
  640. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  641. iget v2, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mOldPosition:I
  642. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  643. const-string v2, ", pLpos:"
  644. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  645. iget v2, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mPreLayoutPosition:I
  646. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  647. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  648. move-result-object v1
  649. invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
  650. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$ViewHolder;->isScrap()Z
  651. move-result v1
  652. if-eqz v1, :cond_1
  653. const-string v1, " scrap "
  654. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  655. iget-boolean v1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mInChangeScrap:Z
  656. if-eqz v1, :cond_0
  657. const-string v1, "[changeScrap]"
  658. goto :goto_0
  659. :cond_0
  660. const-string v1, "[attachedScrap]"
  661. :goto_0
  662. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  663. :cond_1
  664. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$ViewHolder;->isInvalid()Z
  665. move-result v1
  666. if-eqz v1, :cond_2
  667. const-string v1, " invalid"
  668. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  669. :cond_2
  670. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$ViewHolder;->isBound()Z
  671. move-result v1
  672. if-nez v1, :cond_3
  673. const-string v1, " unbound"
  674. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  675. :cond_3
  676. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$ViewHolder;->needsUpdate()Z
  677. move-result v1
  678. if-eqz v1, :cond_4
  679. const-string v1, " update"
  680. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  681. :cond_4
  682. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$ViewHolder;->isRemoved()Z
  683. move-result v1
  684. if-eqz v1, :cond_5
  685. const-string v1, " removed"
  686. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  687. :cond_5
  688. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
  689. move-result v1
  690. if-eqz v1, :cond_6
  691. const-string v1, " ignored"
  692. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  693. :cond_6
  694. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$ViewHolder;->isTmpDetached()Z
  695. move-result v1
  696. if-eqz v1, :cond_7
  697. const-string v1, " tmpDetached"
  698. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  699. :cond_7
  700. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$ViewHolder;->isRecyclable()Z
  701. move-result v1
  702. if-nez v1, :cond_8
  703. new-instance v1, Ljava/lang/StringBuilder;
  704. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  705. const-string v2, " not recyclable("
  706. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  707. iget v2, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mIsRecyclableCount:I
  708. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  709. const-string v2, ")"
  710. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  711. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  712. move-result-object v1
  713. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  714. :cond_8
  715. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$ViewHolder;->isAdapterPositionUnknown()Z
  716. move-result v1
  717. if-eqz v1, :cond_9
  718. const-string v1, " undefined adapter position"
  719. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  720. :cond_9
  721. iget-object v1, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
  722. invoke-virtual {v1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
  723. move-result-object v1
  724. if-nez v1, :cond_a
  725. const-string v1, " no parent"
  726. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  727. :cond_a
  728. const-string v1, "}"
  729. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  730. invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  731. move-result-object v0
  732. return-object v0
  733. .end method
  734. .method unScrap()V
  735. .locals 1
  736. iget-object v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mScrapContainer:Landroid/support/v7/widget/RecyclerView$Recycler;
  737. invoke-virtual {v0, p0}, Landroid/support/v7/widget/RecyclerView$Recycler;->unscrapView(Landroid/support/v7/widget/RecyclerView$ViewHolder;)V
  738. return-void
  739. .end method
  740. .method wasReturnedFromScrap()Z
  741. .locals 1
  742. iget v0, p0, Landroid/support/v7/widget/RecyclerView$ViewHolder;->mFlags:I
  743. and-int/lit8 v0, v0, 0x20
  744. if-eqz v0, :cond_0
  745. const/4 v0, 0x1
  746. goto :goto_0
  747. :cond_0
  748. const/4 v0, 0x0
  749. :goto_0
  750. return v0
  751. .end method