FragmentStatePagerAdapter.smali 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741
  1. .class public abstract Landroid/support/v4/app/FragmentStatePagerAdapter;
  2. .super Landroid/support/v4/view/PagerAdapter;
  3. .source "FragmentStatePagerAdapter.java"
  4. # static fields
  5. .field private static final DEBUG:Z = false
  6. .field private static final TAG:Ljava/lang/String; = "FragmentStatePagerAdapter"
  7. # instance fields
  8. .field private mCurTransaction:Landroid/support/v4/app/FragmentTransaction;
  9. .field private mCurrentPrimaryItem:Landroid/support/v4/app/Fragment;
  10. .field private final mFragmentManager:Landroid/support/v4/app/FragmentManager;
  11. .field private mFragments:Ljava/util/ArrayList;
  12. .annotation system Ldalvik/annotation/Signature;
  13. value = {
  14. "Ljava/util/ArrayList",
  15. "<",
  16. "Landroid/support/v4/app/Fragment;",
  17. ">;"
  18. }
  19. .end annotation
  20. .end field
  21. .field private mSavedState:Ljava/util/ArrayList;
  22. .annotation system Ldalvik/annotation/Signature;
  23. value = {
  24. "Ljava/util/ArrayList",
  25. "<",
  26. "Landroid/support/v4/app/Fragment$SavedState;",
  27. ">;"
  28. }
  29. .end annotation
  30. .end field
  31. # direct methods
  32. .method public constructor <init>(Landroid/support/v4/app/FragmentManager;)V
  33. .locals 2
  34. .param p1, "fm" # Landroid/support/v4/app/FragmentManager;
  35. .prologue
  36. const/4 v1, 0x0
  37. .line 75
  38. invoke-direct {p0}, Landroid/support/v4/view/PagerAdapter;-><init>()V
  39. .line 69
  40. iput-object v1, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mCurTransaction:Landroid/support/v4/app/FragmentTransaction;
  41. .line 71
  42. new-instance v0, Ljava/util/ArrayList;
  43. invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
  44. iput-object v0, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mSavedState:Ljava/util/ArrayList;
  45. .line 72
  46. new-instance v0, Ljava/util/ArrayList;
  47. invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
  48. iput-object v0, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mFragments:Ljava/util/ArrayList;
  49. .line 73
  50. iput-object v1, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mCurrentPrimaryItem:Landroid/support/v4/app/Fragment;
  51. .line 76
  52. iput-object p1, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mFragmentManager:Landroid/support/v4/app/FragmentManager;
  53. .line 77
  54. return-void
  55. .end method
  56. # virtual methods
  57. .method public destroyItem(Landroid/view/ViewGroup;ILjava/lang/Object;)V
  58. .locals 4
  59. .param p1, "container" # Landroid/view/ViewGroup;
  60. .param p2, "position" # I
  61. .param p3, "object" # Ljava/lang/Object;
  62. .prologue
  63. const/4 v2, 0x0
  64. .line 126
  65. move-object v0, p3
  66. check-cast v0, Landroid/support/v4/app/Fragment;
  67. .line 128
  68. .local v0, "fragment":Landroid/support/v4/app/Fragment;
  69. iget-object v1, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mCurTransaction:Landroid/support/v4/app/FragmentTransaction;
  70. if-nez v1, :cond_0
  71. .line 129
  72. iget-object v1, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mFragmentManager:Landroid/support/v4/app/FragmentManager;
  73. invoke-virtual {v1}, Landroid/support/v4/app/FragmentManager;->beginTransaction()Landroid/support/v4/app/FragmentTransaction;
  74. move-result-object v1
  75. iput-object v1, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mCurTransaction:Landroid/support/v4/app/FragmentTransaction;
  76. .line 133
  77. :cond_0
  78. :goto_0
  79. iget-object v1, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mSavedState:Ljava/util/ArrayList;
  80. invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
  81. move-result v1
  82. if-gt v1, p2, :cond_1
  83. .line 134
  84. iget-object v1, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mSavedState:Ljava/util/ArrayList;
  85. invoke-virtual {v1, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
  86. goto :goto_0
  87. .line 136
  88. :cond_1
  89. iget-object v3, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mSavedState:Ljava/util/ArrayList;
  90. invoke-virtual {v0}, Landroid/support/v4/app/Fragment;->isAdded()Z
  91. move-result v1
  92. if-eqz v1, :cond_2
  93. iget-object v1, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mFragmentManager:Landroid/support/v4/app/FragmentManager;
  94. invoke-virtual {v1, v0}, Landroid/support/v4/app/FragmentManager;->saveFragmentInstanceState(Landroid/support/v4/app/Fragment;)Landroid/support/v4/app/Fragment$SavedState;
  95. move-result-object v1
  96. :goto_1
  97. invoke-virtual {v3, p2, v1}, Ljava/util/ArrayList;->set(ILjava/lang/Object;)Ljava/lang/Object;
  98. .line 138
  99. iget-object v1, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mFragments:Ljava/util/ArrayList;
  100. invoke-virtual {v1, p2, v2}, Ljava/util/ArrayList;->set(ILjava/lang/Object;)Ljava/lang/Object;
  101. .line 140
  102. iget-object v1, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mCurTransaction:Landroid/support/v4/app/FragmentTransaction;
  103. invoke-virtual {v1, v0}, Landroid/support/v4/app/FragmentTransaction;->remove(Landroid/support/v4/app/Fragment;)Landroid/support/v4/app/FragmentTransaction;
  104. .line 141
  105. return-void
  106. :cond_2
  107. move-object v1, v2
  108. .line 136
  109. goto :goto_1
  110. .end method
  111. .method public finishUpdate(Landroid/view/ViewGroup;)V
  112. .locals 1
  113. .param p1, "container" # Landroid/view/ViewGroup;
  114. .prologue
  115. .line 161
  116. iget-object v0, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mCurTransaction:Landroid/support/v4/app/FragmentTransaction;
  117. if-eqz v0, :cond_0
  118. .line 162
  119. iget-object v0, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mCurTransaction:Landroid/support/v4/app/FragmentTransaction;
  120. invoke-virtual {v0}, Landroid/support/v4/app/FragmentTransaction;->commitAllowingStateLoss()I
  121. .line 163
  122. const/4 v0, 0x0
  123. iput-object v0, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mCurTransaction:Landroid/support/v4/app/FragmentTransaction;
  124. .line 164
  125. iget-object v0, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mFragmentManager:Landroid/support/v4/app/FragmentManager;
  126. invoke-virtual {v0}, Landroid/support/v4/app/FragmentManager;->executePendingTransactions()Z
  127. .line 166
  128. :cond_0
  129. return-void
  130. .end method
  131. .method public abstract getItem(I)Landroid/support/v4/app/Fragment;
  132. .end method
  133. .method public instantiateItem(Landroid/view/ViewGroup;I)Ljava/lang/Object;
  134. .locals 6
  135. .param p1, "container" # Landroid/view/ViewGroup;
  136. .param p2, "position" # I
  137. .prologue
  138. const/4 v5, 0x0
  139. .line 94
  140. iget-object v3, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mFragments:Ljava/util/ArrayList;
  141. invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
  142. move-result v3
  143. if-le v3, p2, :cond_0
  144. .line 95
  145. iget-object v3, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mFragments:Ljava/util/ArrayList;
  146. invoke-virtual {v3, p2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
  147. move-result-object v0
  148. check-cast v0, Landroid/support/v4/app/Fragment;
  149. .line 96
  150. .local v0, "f":Landroid/support/v4/app/Fragment;
  151. if-eqz v0, :cond_0
  152. .line 121
  153. .end local v0 # "f":Landroid/support/v4/app/Fragment;
  154. :goto_0
  155. return-object v0
  156. .line 101
  157. :cond_0
  158. iget-object v3, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mCurTransaction:Landroid/support/v4/app/FragmentTransaction;
  159. if-nez v3, :cond_1
  160. .line 102
  161. iget-object v3, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mFragmentManager:Landroid/support/v4/app/FragmentManager;
  162. invoke-virtual {v3}, Landroid/support/v4/app/FragmentManager;->beginTransaction()Landroid/support/v4/app/FragmentTransaction;
  163. move-result-object v3
  164. iput-object v3, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mCurTransaction:Landroid/support/v4/app/FragmentTransaction;
  165. .line 105
  166. :cond_1
  167. invoke-virtual {p0, p2}, Landroid/support/v4/app/FragmentStatePagerAdapter;->getItem(I)Landroid/support/v4/app/Fragment;
  168. move-result-object v1
  169. .line 107
  170. .local v1, "fragment":Landroid/support/v4/app/Fragment;
  171. iget-object v3, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mSavedState:Ljava/util/ArrayList;
  172. invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
  173. move-result v3
  174. if-le v3, p2, :cond_2
  175. .line 108
  176. iget-object v3, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mSavedState:Ljava/util/ArrayList;
  177. invoke-virtual {v3, p2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
  178. move-result-object v2
  179. check-cast v2, Landroid/support/v4/app/Fragment$SavedState;
  180. .line 109
  181. .local v2, "fss":Landroid/support/v4/app/Fragment$SavedState;
  182. if-eqz v2, :cond_2
  183. .line 110
  184. invoke-virtual {v1, v2}, Landroid/support/v4/app/Fragment;->setInitialSavedState(Landroid/support/v4/app/Fragment$SavedState;)V
  185. .line 113
  186. .end local v2 # "fss":Landroid/support/v4/app/Fragment$SavedState;
  187. :cond_2
  188. :goto_1
  189. iget-object v3, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mFragments:Ljava/util/ArrayList;
  190. invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
  191. move-result v3
  192. if-gt v3, p2, :cond_3
  193. .line 114
  194. iget-object v3, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mFragments:Ljava/util/ArrayList;
  195. const/4 v4, 0x0
  196. invoke-virtual {v3, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
  197. goto :goto_1
  198. .line 116
  199. :cond_3
  200. invoke-virtual {v1, v5}, Landroid/support/v4/app/Fragment;->setMenuVisibility(Z)V
  201. .line 117
  202. invoke-virtual {v1, v5}, Landroid/support/v4/app/Fragment;->setUserVisibleHint(Z)V
  203. .line 118
  204. iget-object v3, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mFragments:Ljava/util/ArrayList;
  205. invoke-virtual {v3, p2, v1}, Ljava/util/ArrayList;->set(ILjava/lang/Object;)Ljava/lang/Object;
  206. .line 119
  207. iget-object v3, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mCurTransaction:Landroid/support/v4/app/FragmentTransaction;
  208. invoke-virtual {p1}, Landroid/view/ViewGroup;->getId()I
  209. move-result v4
  210. invoke-virtual {v3, v4, v1}, Landroid/support/v4/app/FragmentTransaction;->add(ILandroid/support/v4/app/Fragment;)Landroid/support/v4/app/FragmentTransaction;
  211. move-object v0, v1
  212. .line 121
  213. goto :goto_0
  214. .end method
  215. .method public isViewFromObject(Landroid/view/View;Ljava/lang/Object;)Z
  216. .locals 1
  217. .param p1, "view" # Landroid/view/View;
  218. .param p2, "object" # Ljava/lang/Object;
  219. .prologue
  220. .line 170
  221. check-cast p2, Landroid/support/v4/app/Fragment;
  222. .end local p2 # "object":Ljava/lang/Object;
  223. invoke-virtual {p2}, Landroid/support/v4/app/Fragment;->getView()Landroid/view/View;
  224. move-result-object v0
  225. if-ne v0, p1, :cond_0
  226. const/4 v0, 0x1
  227. :goto_0
  228. return v0
  229. :cond_0
  230. const/4 v0, 0x0
  231. goto :goto_0
  232. .end method
  233. .method public restoreState(Landroid/os/Parcelable;Ljava/lang/ClassLoader;)V
  234. .locals 11
  235. .param p1, "state" # Landroid/os/Parcelable;
  236. .param p2, "loader" # Ljava/lang/ClassLoader;
  237. .prologue
  238. .line 197
  239. if-eqz p1, :cond_4
  240. move-object v0, p1
  241. .line 198
  242. check-cast v0, Landroid/os/Bundle;
  243. .line 199
  244. .local v0, "bundle":Landroid/os/Bundle;
  245. invoke-virtual {v0, p2}, Landroid/os/Bundle;->setClassLoader(Ljava/lang/ClassLoader;)V
  246. .line 200
  247. const-string v8, "states"
  248. invoke-virtual {v0, v8}, Landroid/os/Bundle;->getParcelableArray(Ljava/lang/String;)[Landroid/os/Parcelable;
  249. move-result-object v2
  250. .line 201
  251. .local v2, "fss":[Landroid/os/Parcelable;
  252. iget-object v8, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mSavedState:Ljava/util/ArrayList;
  253. invoke-virtual {v8}, Ljava/util/ArrayList;->clear()V
  254. .line 202
  255. iget-object v8, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mFragments:Ljava/util/ArrayList;
  256. invoke-virtual {v8}, Ljava/util/ArrayList;->clear()V
  257. .line 203
  258. if-eqz v2, :cond_0
  259. .line 204
  260. const/4 v3, 0x0
  261. .local v3, "i":I
  262. :goto_0
  263. array-length v8, v2
  264. if-ge v3, v8, :cond_0
  265. .line 205
  266. iget-object v9, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mSavedState:Ljava/util/ArrayList;
  267. aget-object v8, v2, v3
  268. check-cast v8, Landroid/support/v4/app/Fragment$SavedState;
  269. invoke-virtual {v9, v8}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
  270. .line 204
  271. add-int/lit8 v3, v3, 0x1
  272. goto :goto_0
  273. .line 208
  274. .end local v3 # "i":I
  275. :cond_0
  276. invoke-virtual {v0}, Landroid/os/Bundle;->keySet()Ljava/util/Set;
  277. move-result-object v7
  278. .line 209
  279. .local v7, "keys":Ljava/lang/Iterable;, "Ljava/lang/Iterable<Ljava/lang/String;>;"
  280. invoke-interface {v7}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
  281. move-result-object v4
  282. .local v4, "i$":Ljava/util/Iterator;
  283. :cond_1
  284. :goto_1
  285. invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
  286. move-result v8
  287. if-eqz v8, :cond_4
  288. invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
  289. move-result-object v6
  290. check-cast v6, Ljava/lang/String;
  291. .line 210
  292. .local v6, "key":Ljava/lang/String;
  293. const-string v8, "f"
  294. invoke-virtual {v6, v8}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
  295. move-result v8
  296. if-eqz v8, :cond_1
  297. .line 211
  298. const/4 v8, 0x1
  299. invoke-virtual {v6, v8}, Ljava/lang/String;->substring(I)Ljava/lang/String;
  300. move-result-object v8
  301. invoke-static {v8}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
  302. move-result v5
  303. .line 212
  304. .local v5, "index":I
  305. iget-object v8, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mFragmentManager:Landroid/support/v4/app/FragmentManager;
  306. invoke-virtual {v8, v0, v6}, Landroid/support/v4/app/FragmentManager;->getFragment(Landroid/os/Bundle;Ljava/lang/String;)Landroid/support/v4/app/Fragment;
  307. move-result-object v1
  308. .line 213
  309. .local v1, "f":Landroid/support/v4/app/Fragment;
  310. if-eqz v1, :cond_3
  311. .line 214
  312. :goto_2
  313. iget-object v8, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mFragments:Ljava/util/ArrayList;
  314. invoke-virtual {v8}, Ljava/util/ArrayList;->size()I
  315. move-result v8
  316. if-gt v8, v5, :cond_2
  317. .line 215
  318. iget-object v8, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mFragments:Ljava/util/ArrayList;
  319. const/4 v9, 0x0
  320. invoke-virtual {v8, v9}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
  321. goto :goto_2
  322. .line 217
  323. :cond_2
  324. const/4 v8, 0x0
  325. invoke-virtual {v1, v8}, Landroid/support/v4/app/Fragment;->setMenuVisibility(Z)V
  326. .line 218
  327. iget-object v8, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mFragments:Ljava/util/ArrayList;
  328. invoke-virtual {v8, v5, v1}, Ljava/util/ArrayList;->set(ILjava/lang/Object;)Ljava/lang/Object;
  329. goto :goto_1
  330. .line 220
  331. :cond_3
  332. const-string v8, "FragmentStatePagerAdapter"
  333. new-instance v9, Ljava/lang/StringBuilder;
  334. invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
  335. const-string v10, "Bad fragment at key "
  336. invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  337. move-result-object v9
  338. invoke-virtual {v9, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  339. move-result-object v9
  340. invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  341. move-result-object v9
  342. invoke-static {v8, v9}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
  343. goto :goto_1
  344. .line 225
  345. .end local v0 # "bundle":Landroid/os/Bundle;
  346. .end local v1 # "f":Landroid/support/v4/app/Fragment;
  347. .end local v2 # "fss":[Landroid/os/Parcelable;
  348. .end local v4 # "i$":Ljava/util/Iterator;
  349. .end local v5 # "index":I
  350. .end local v6 # "key":Ljava/lang/String;
  351. .end local v7 # "keys":Ljava/lang/Iterable;, "Ljava/lang/Iterable<Ljava/lang/String;>;"
  352. :cond_4
  353. return-void
  354. .end method
  355. .method public saveState()Landroid/os/Parcelable;
  356. .locals 7
  357. .prologue
  358. .line 175
  359. const/4 v4, 0x0
  360. .line 176
  361. .local v4, "state":Landroid/os/Bundle;
  362. iget-object v5, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mSavedState:Ljava/util/ArrayList;
  363. invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
  364. move-result v5
  365. if-lez v5, :cond_0
  366. .line 177
  367. new-instance v4, Landroid/os/Bundle;
  368. .end local v4 # "state":Landroid/os/Bundle;
  369. invoke-direct {v4}, Landroid/os/Bundle;-><init>()V
  370. .line 178
  371. .restart local v4 # "state":Landroid/os/Bundle;
  372. iget-object v5, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mSavedState:Ljava/util/ArrayList;
  373. invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
  374. move-result v5
  375. new-array v1, v5, [Landroid/support/v4/app/Fragment$SavedState;
  376. .line 179
  377. .local v1, "fss":[Landroid/support/v4/app/Fragment$SavedState;
  378. iget-object v5, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mSavedState:Ljava/util/ArrayList;
  379. invoke-virtual {v5, v1}, Ljava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
  380. .line 180
  381. const-string v5, "states"
  382. invoke-virtual {v4, v5, v1}, Landroid/os/Bundle;->putParcelableArray(Ljava/lang/String;[Landroid/os/Parcelable;)V
  383. .line 182
  384. .end local v1 # "fss":[Landroid/support/v4/app/Fragment$SavedState;
  385. :cond_0
  386. const/4 v2, 0x0
  387. .local v2, "i":I
  388. :goto_0
  389. iget-object v5, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mFragments:Ljava/util/ArrayList;
  390. invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
  391. move-result v5
  392. if-ge v2, v5, :cond_3
  393. .line 183
  394. iget-object v5, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mFragments:Ljava/util/ArrayList;
  395. invoke-virtual {v5, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
  396. move-result-object v0
  397. check-cast v0, Landroid/support/v4/app/Fragment;
  398. .line 184
  399. .local v0, "f":Landroid/support/v4/app/Fragment;
  400. if-eqz v0, :cond_2
  401. invoke-virtual {v0}, Landroid/support/v4/app/Fragment;->isAdded()Z
  402. move-result v5
  403. if-eqz v5, :cond_2
  404. .line 185
  405. if-nez v4, :cond_1
  406. .line 186
  407. new-instance v4, Landroid/os/Bundle;
  408. .end local v4 # "state":Landroid/os/Bundle;
  409. invoke-direct {v4}, Landroid/os/Bundle;-><init>()V
  410. .line 188
  411. .restart local v4 # "state":Landroid/os/Bundle;
  412. :cond_1
  413. new-instance v5, Ljava/lang/StringBuilder;
  414. invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
  415. const-string v6, "f"
  416. invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  417. move-result-object v5
  418. invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  419. move-result-object v5
  420. invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  421. move-result-object v3
  422. .line 189
  423. .local v3, "key":Ljava/lang/String;
  424. iget-object v5, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mFragmentManager:Landroid/support/v4/app/FragmentManager;
  425. invoke-virtual {v5, v4, v3, v0}, Landroid/support/v4/app/FragmentManager;->putFragment(Landroid/os/Bundle;Ljava/lang/String;Landroid/support/v4/app/Fragment;)V
  426. .line 182
  427. .end local v3 # "key":Ljava/lang/String;
  428. :cond_2
  429. add-int/lit8 v2, v2, 0x1
  430. goto :goto_0
  431. .line 192
  432. .end local v0 # "f":Landroid/support/v4/app/Fragment;
  433. :cond_3
  434. return-object v4
  435. .end method
  436. .method public setPrimaryItem(Landroid/view/ViewGroup;ILjava/lang/Object;)V
  437. .locals 4
  438. .param p1, "container" # Landroid/view/ViewGroup;
  439. .param p2, "position" # I
  440. .param p3, "object" # Ljava/lang/Object;
  441. .prologue
  442. const/4 v3, 0x1
  443. const/4 v2, 0x0
  444. .line 145
  445. move-object v0, p3
  446. check-cast v0, Landroid/support/v4/app/Fragment;
  447. .line 146
  448. .local v0, "fragment":Landroid/support/v4/app/Fragment;
  449. iget-object v1, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mCurrentPrimaryItem:Landroid/support/v4/app/Fragment;
  450. if-eq v0, v1, :cond_2
  451. .line 147
  452. iget-object v1, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mCurrentPrimaryItem:Landroid/support/v4/app/Fragment;
  453. if-eqz v1, :cond_0
  454. .line 148
  455. iget-object v1, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mCurrentPrimaryItem:Landroid/support/v4/app/Fragment;
  456. invoke-virtual {v1, v2}, Landroid/support/v4/app/Fragment;->setMenuVisibility(Z)V
  457. .line 149
  458. iget-object v1, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mCurrentPrimaryItem:Landroid/support/v4/app/Fragment;
  459. invoke-virtual {v1, v2}, Landroid/support/v4/app/Fragment;->setUserVisibleHint(Z)V
  460. .line 151
  461. :cond_0
  462. if-eqz v0, :cond_1
  463. .line 152
  464. invoke-virtual {v0, v3}, Landroid/support/v4/app/Fragment;->setMenuVisibility(Z)V
  465. .line 153
  466. invoke-virtual {v0, v3}, Landroid/support/v4/app/Fragment;->setUserVisibleHint(Z)V
  467. .line 155
  468. :cond_1
  469. iput-object v0, p0, Landroid/support/v4/app/FragmentStatePagerAdapter;->mCurrentPrimaryItem:Landroid/support/v4/app/Fragment;
  470. .line 157
  471. :cond_2
  472. return-void
  473. .end method
  474. .method public startUpdate(Landroid/view/ViewGroup;)V
  475. .locals 0
  476. .param p1, "container" # Landroid/view/ViewGroup;
  477. .prologue
  478. .line 86
  479. return-void
  480. .end method