FragmentState.smali 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518
  1. .class final Landroid/support/v4/app/FragmentState;
  2. .super Ljava/lang/Object;
  3. .source "Fragment.java"
  4. # interfaces
  5. .implements Landroid/os/Parcelable;
  6. # static fields
  7. .field public static final CREATOR:Landroid/os/Parcelable$Creator;
  8. .annotation system Ldalvik/annotation/Signature;
  9. value = {
  10. "Landroid/os/Parcelable$Creator",
  11. "<",
  12. "Landroid/support/v4/app/FragmentState;",
  13. ">;"
  14. }
  15. .end annotation
  16. .end field
  17. # instance fields
  18. .field final mArguments:Landroid/os/Bundle;
  19. .field final mClassName:Ljava/lang/String;
  20. .field final mContainerId:I
  21. .field final mDetached:Z
  22. .field final mFragmentId:I
  23. .field final mFromLayout:Z
  24. .field final mIndex:I
  25. .field mInstance:Landroid/support/v4/app/Fragment;
  26. .field final mRetainInstance:Z
  27. .field mSavedFragmentState:Landroid/os/Bundle;
  28. .field final mTag:Ljava/lang/String;
  29. # direct methods
  30. .method static constructor <clinit>()V
  31. .locals 1
  32. .prologue
  33. .line 141
  34. new-instance v0, Landroid/support/v4/app/FragmentState$1;
  35. invoke-direct {v0}, Landroid/support/v4/app/FragmentState$1;-><init>()V
  36. sput-object v0, Landroid/support/v4/app/FragmentState;->CREATOR:Landroid/os/Parcelable$Creator;
  37. return-void
  38. .end method
  39. .method public constructor <init>(Landroid/os/Parcel;)V
  40. .locals 3
  41. .param p1, "in" # Landroid/os/Parcel;
  42. .prologue
  43. const/4 v1, 0x1
  44. const/4 v2, 0x0
  45. .line 79
  46. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  47. .line 80
  48. invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
  49. move-result-object v0
  50. iput-object v0, p0, Landroid/support/v4/app/FragmentState;->mClassName:Ljava/lang/String;
  51. .line 81
  52. invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
  53. move-result v0
  54. iput v0, p0, Landroid/support/v4/app/FragmentState;->mIndex:I
  55. .line 82
  56. invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
  57. move-result v0
  58. if-eqz v0, :cond_0
  59. move v0, v1
  60. :goto_0
  61. iput-boolean v0, p0, Landroid/support/v4/app/FragmentState;->mFromLayout:Z
  62. .line 83
  63. invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
  64. move-result v0
  65. iput v0, p0, Landroid/support/v4/app/FragmentState;->mFragmentId:I
  66. .line 84
  67. invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
  68. move-result v0
  69. iput v0, p0, Landroid/support/v4/app/FragmentState;->mContainerId:I
  70. .line 85
  71. invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
  72. move-result-object v0
  73. iput-object v0, p0, Landroid/support/v4/app/FragmentState;->mTag:Ljava/lang/String;
  74. .line 86
  75. invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
  76. move-result v0
  77. if-eqz v0, :cond_1
  78. move v0, v1
  79. :goto_1
  80. iput-boolean v0, p0, Landroid/support/v4/app/FragmentState;->mRetainInstance:Z
  81. .line 87
  82. invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
  83. move-result v0
  84. if-eqz v0, :cond_2
  85. :goto_2
  86. iput-boolean v1, p0, Landroid/support/v4/app/FragmentState;->mDetached:Z
  87. .line 88
  88. invoke-virtual {p1}, Landroid/os/Parcel;->readBundle()Landroid/os/Bundle;
  89. move-result-object v0
  90. iput-object v0, p0, Landroid/support/v4/app/FragmentState;->mArguments:Landroid/os/Bundle;
  91. .line 89
  92. invoke-virtual {p1}, Landroid/os/Parcel;->readBundle()Landroid/os/Bundle;
  93. move-result-object v0
  94. iput-object v0, p0, Landroid/support/v4/app/FragmentState;->mSavedFragmentState:Landroid/os/Bundle;
  95. .line 90
  96. return-void
  97. :cond_0
  98. move v0, v2
  99. .line 82
  100. goto :goto_0
  101. :cond_1
  102. move v0, v2
  103. .line 86
  104. goto :goto_1
  105. :cond_2
  106. move v1, v2
  107. .line 87
  108. goto :goto_2
  109. .end method
  110. .method public constructor <init>(Landroid/support/v4/app/Fragment;)V
  111. .locals 1
  112. .param p1, "frag" # Landroid/support/v4/app/Fragment;
  113. .prologue
  114. .line 67
  115. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  116. .line 68
  117. invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
  118. move-result-object v0
  119. invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
  120. move-result-object v0
  121. iput-object v0, p0, Landroid/support/v4/app/FragmentState;->mClassName:Ljava/lang/String;
  122. .line 69
  123. iget v0, p1, Landroid/support/v4/app/Fragment;->mIndex:I
  124. iput v0, p0, Landroid/support/v4/app/FragmentState;->mIndex:I
  125. .line 70
  126. iget-boolean v0, p1, Landroid/support/v4/app/Fragment;->mFromLayout:Z
  127. iput-boolean v0, p0, Landroid/support/v4/app/FragmentState;->mFromLayout:Z
  128. .line 71
  129. iget v0, p1, Landroid/support/v4/app/Fragment;->mFragmentId:I
  130. iput v0, p0, Landroid/support/v4/app/FragmentState;->mFragmentId:I
  131. .line 72
  132. iget v0, p1, Landroid/support/v4/app/Fragment;->mContainerId:I
  133. iput v0, p0, Landroid/support/v4/app/FragmentState;->mContainerId:I
  134. .line 73
  135. iget-object v0, p1, Landroid/support/v4/app/Fragment;->mTag:Ljava/lang/String;
  136. iput-object v0, p0, Landroid/support/v4/app/FragmentState;->mTag:Ljava/lang/String;
  137. .line 74
  138. iget-boolean v0, p1, Landroid/support/v4/app/Fragment;->mRetainInstance:Z
  139. iput-boolean v0, p0, Landroid/support/v4/app/FragmentState;->mRetainInstance:Z
  140. .line 75
  141. iget-boolean v0, p1, Landroid/support/v4/app/Fragment;->mDetached:Z
  142. iput-boolean v0, p0, Landroid/support/v4/app/FragmentState;->mDetached:Z
  143. .line 76
  144. iget-object v0, p1, Landroid/support/v4/app/Fragment;->mArguments:Landroid/os/Bundle;
  145. iput-object v0, p0, Landroid/support/v4/app/FragmentState;->mArguments:Landroid/os/Bundle;
  146. .line 77
  147. return-void
  148. .end method
  149. # virtual methods
  150. .method public describeContents()I
  151. .locals 1
  152. .prologue
  153. .line 125
  154. const/4 v0, 0x0
  155. return v0
  156. .end method
  157. .method public instantiate(Landroid/support/v4/app/FragmentHostCallback;Landroid/support/v4/app/Fragment;)Landroid/support/v4/app/Fragment;
  158. .locals 4
  159. .param p1, "host" # Landroid/support/v4/app/FragmentHostCallback;
  160. .param p2, "parent" # Landroid/support/v4/app/Fragment;
  161. .prologue
  162. .line 93
  163. iget-object v1, p0, Landroid/support/v4/app/FragmentState;->mInstance:Landroid/support/v4/app/Fragment;
  164. if-eqz v1, :cond_0
  165. .line 94
  166. iget-object v1, p0, Landroid/support/v4/app/FragmentState;->mInstance:Landroid/support/v4/app/Fragment;
  167. .line 121
  168. :goto_0
  169. return-object v1
  170. .line 97
  171. :cond_0
  172. invoke-virtual {p1}, Landroid/support/v4/app/FragmentHostCallback;->getContext()Landroid/content/Context;
  173. move-result-object v0
  174. .line 98
  175. .local v0, "context":Landroid/content/Context;
  176. iget-object v1, p0, Landroid/support/v4/app/FragmentState;->mArguments:Landroid/os/Bundle;
  177. if-eqz v1, :cond_1
  178. .line 99
  179. iget-object v1, p0, Landroid/support/v4/app/FragmentState;->mArguments:Landroid/os/Bundle;
  180. invoke-virtual {v0}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader;
  181. move-result-object v2
  182. invoke-virtual {v1, v2}, Landroid/os/Bundle;->setClassLoader(Ljava/lang/ClassLoader;)V
  183. .line 102
  184. :cond_1
  185. iget-object v1, p0, Landroid/support/v4/app/FragmentState;->mClassName:Ljava/lang/String;
  186. iget-object v2, p0, Landroid/support/v4/app/FragmentState;->mArguments:Landroid/os/Bundle;
  187. invoke-static {v0, v1, v2}, Landroid/support/v4/app/Fragment;->instantiate(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)Landroid/support/v4/app/Fragment;
  188. move-result-object v1
  189. iput-object v1, p0, Landroid/support/v4/app/FragmentState;->mInstance:Landroid/support/v4/app/Fragment;
  190. .line 104
  191. iget-object v1, p0, Landroid/support/v4/app/FragmentState;->mSavedFragmentState:Landroid/os/Bundle;
  192. if-eqz v1, :cond_2
  193. .line 105
  194. iget-object v1, p0, Landroid/support/v4/app/FragmentState;->mSavedFragmentState:Landroid/os/Bundle;
  195. invoke-virtual {v0}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader;
  196. move-result-object v2
  197. invoke-virtual {v1, v2}, Landroid/os/Bundle;->setClassLoader(Ljava/lang/ClassLoader;)V
  198. .line 106
  199. iget-object v1, p0, Landroid/support/v4/app/FragmentState;->mInstance:Landroid/support/v4/app/Fragment;
  200. iget-object v2, p0, Landroid/support/v4/app/FragmentState;->mSavedFragmentState:Landroid/os/Bundle;
  201. iput-object v2, v1, Landroid/support/v4/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle;
  202. .line 108
  203. :cond_2
  204. iget-object v1, p0, Landroid/support/v4/app/FragmentState;->mInstance:Landroid/support/v4/app/Fragment;
  205. iget v2, p0, Landroid/support/v4/app/FragmentState;->mIndex:I
  206. invoke-virtual {v1, v2, p2}, Landroid/support/v4/app/Fragment;->setIndex(ILandroid/support/v4/app/Fragment;)V
  207. .line 109
  208. iget-object v1, p0, Landroid/support/v4/app/FragmentState;->mInstance:Landroid/support/v4/app/Fragment;
  209. iget-boolean v2, p0, Landroid/support/v4/app/FragmentState;->mFromLayout:Z
  210. iput-boolean v2, v1, Landroid/support/v4/app/Fragment;->mFromLayout:Z
  211. .line 110
  212. iget-object v1, p0, Landroid/support/v4/app/FragmentState;->mInstance:Landroid/support/v4/app/Fragment;
  213. const/4 v2, 0x1
  214. iput-boolean v2, v1, Landroid/support/v4/app/Fragment;->mRestored:Z
  215. .line 111
  216. iget-object v1, p0, Landroid/support/v4/app/FragmentState;->mInstance:Landroid/support/v4/app/Fragment;
  217. iget v2, p0, Landroid/support/v4/app/FragmentState;->mFragmentId:I
  218. iput v2, v1, Landroid/support/v4/app/Fragment;->mFragmentId:I
  219. .line 112
  220. iget-object v1, p0, Landroid/support/v4/app/FragmentState;->mInstance:Landroid/support/v4/app/Fragment;
  221. iget v2, p0, Landroid/support/v4/app/FragmentState;->mContainerId:I
  222. iput v2, v1, Landroid/support/v4/app/Fragment;->mContainerId:I
  223. .line 113
  224. iget-object v1, p0, Landroid/support/v4/app/FragmentState;->mInstance:Landroid/support/v4/app/Fragment;
  225. iget-object v2, p0, Landroid/support/v4/app/FragmentState;->mTag:Ljava/lang/String;
  226. iput-object v2, v1, Landroid/support/v4/app/Fragment;->mTag:Ljava/lang/String;
  227. .line 114
  228. iget-object v1, p0, Landroid/support/v4/app/FragmentState;->mInstance:Landroid/support/v4/app/Fragment;
  229. iget-boolean v2, p0, Landroid/support/v4/app/FragmentState;->mRetainInstance:Z
  230. iput-boolean v2, v1, Landroid/support/v4/app/Fragment;->mRetainInstance:Z
  231. .line 115
  232. iget-object v1, p0, Landroid/support/v4/app/FragmentState;->mInstance:Landroid/support/v4/app/Fragment;
  233. iget-boolean v2, p0, Landroid/support/v4/app/FragmentState;->mDetached:Z
  234. iput-boolean v2, v1, Landroid/support/v4/app/Fragment;->mDetached:Z
  235. .line 116
  236. iget-object v1, p0, Landroid/support/v4/app/FragmentState;->mInstance:Landroid/support/v4/app/Fragment;
  237. iget-object v2, p1, Landroid/support/v4/app/FragmentHostCallback;->mFragmentManager:Landroid/support/v4/app/FragmentManagerImpl;
  238. iput-object v2, v1, Landroid/support/v4/app/Fragment;->mFragmentManager:Landroid/support/v4/app/FragmentManagerImpl;
  239. .line 118
  240. sget-boolean v1, Landroid/support/v4/app/FragmentManagerImpl;->DEBUG:Z
  241. if-eqz v1, :cond_3
  242. const-string v1, "FragmentManager"
  243. new-instance v2, Ljava/lang/StringBuilder;
  244. invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
  245. const-string v3, "Instantiated fragment "
  246. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  247. move-result-object v2
  248. iget-object v3, p0, Landroid/support/v4/app/FragmentState;->mInstance:Landroid/support/v4/app/Fragment;
  249. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  250. move-result-object v2
  251. invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  252. move-result-object v2
  253. invoke-static {v1, v2}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
  254. .line 121
  255. :cond_3
  256. iget-object v1, p0, Landroid/support/v4/app/FragmentState;->mInstance:Landroid/support/v4/app/Fragment;
  257. goto/16 :goto_0
  258. .end method
  259. .method public writeToParcel(Landroid/os/Parcel;I)V
  260. .locals 3
  261. .param p1, "dest" # Landroid/os/Parcel;
  262. .param p2, "flags" # I
  263. .prologue
  264. const/4 v1, 0x1
  265. const/4 v2, 0x0
  266. .line 129
  267. iget-object v0, p0, Landroid/support/v4/app/FragmentState;->mClassName:Ljava/lang/String;
  268. invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
  269. .line 130
  270. iget v0, p0, Landroid/support/v4/app/FragmentState;->mIndex:I
  271. invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
  272. .line 131
  273. iget-boolean v0, p0, Landroid/support/v4/app/FragmentState;->mFromLayout:Z
  274. if-eqz v0, :cond_0
  275. move v0, v1
  276. :goto_0
  277. invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
  278. .line 132
  279. iget v0, p0, Landroid/support/v4/app/FragmentState;->mFragmentId:I
  280. invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
  281. .line 133
  282. iget v0, p0, Landroid/support/v4/app/FragmentState;->mContainerId:I
  283. invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
  284. .line 134
  285. iget-object v0, p0, Landroid/support/v4/app/FragmentState;->mTag:Ljava/lang/String;
  286. invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
  287. .line 135
  288. iget-boolean v0, p0, Landroid/support/v4/app/FragmentState;->mRetainInstance:Z
  289. if-eqz v0, :cond_1
  290. move v0, v1
  291. :goto_1
  292. invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
  293. .line 136
  294. iget-boolean v0, p0, Landroid/support/v4/app/FragmentState;->mDetached:Z
  295. if-eqz v0, :cond_2
  296. :goto_2
  297. invoke-virtual {p1, v1}, Landroid/os/Parcel;->writeInt(I)V
  298. .line 137
  299. iget-object v0, p0, Landroid/support/v4/app/FragmentState;->mArguments:Landroid/os/Bundle;
  300. invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeBundle(Landroid/os/Bundle;)V
  301. .line 138
  302. iget-object v0, p0, Landroid/support/v4/app/FragmentState;->mSavedFragmentState:Landroid/os/Bundle;
  303. invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeBundle(Landroid/os/Bundle;)V
  304. .line 139
  305. return-void
  306. :cond_0
  307. move v0, v2
  308. .line 131
  309. goto :goto_0
  310. :cond_1
  311. move v0, v2
  312. .line 135
  313. goto :goto_1
  314. :cond_2
  315. move v1, v2
  316. .line 136
  317. goto :goto_2
  318. .end method