PagerTitleStrip.smali 51 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884
  1. .class public Landroid/support/v4/view/PagerTitleStrip;
  2. .super Landroid/view/ViewGroup;
  3. .source "PagerTitleStrip.java"
  4. # interfaces
  5. .implements Landroid/support/v4/view/ViewPager$Decor;
  6. # annotations
  7. .annotation system Ldalvik/annotation/MemberClasses;
  8. value = {
  9. Landroid/support/v4/view/PagerTitleStrip$1;,
  10. Landroid/support/v4/view/PagerTitleStrip$PageListener;,
  11. Landroid/support/v4/view/PagerTitleStrip$PagerTitleStripImplIcs;,
  12. Landroid/support/v4/view/PagerTitleStrip$PagerTitleStripImplBase;,
  13. Landroid/support/v4/view/PagerTitleStrip$PagerTitleStripImpl;
  14. }
  15. .end annotation
  16. # static fields
  17. .field private static final ATTRS:[I
  18. .field private static final IMPL:Landroid/support/v4/view/PagerTitleStrip$PagerTitleStripImpl;
  19. .field private static final SIDE_ALPHA:F = 0.6f
  20. .field private static final TAG:Ljava/lang/String; = "PagerTitleStrip"
  21. .field private static final TEXT_ATTRS:[I
  22. .field private static final TEXT_SPACING:I = 0x10
  23. # instance fields
  24. .field mCurrText:Landroid/widget/TextView;
  25. .field private mGravity:I
  26. .field private mLastKnownCurrentPage:I
  27. .field private mLastKnownPositionOffset:F
  28. .field mNextText:Landroid/widget/TextView;
  29. .field private mNonPrimaryAlpha:I
  30. .field private final mPageListener:Landroid/support/v4/view/PagerTitleStrip$PageListener;
  31. .field mPager:Landroid/support/v4/view/ViewPager;
  32. .field mPrevText:Landroid/widget/TextView;
  33. .field private mScaledTextSpacing:I
  34. .field mTextColor:I
  35. .field private mUpdatingPositions:Z
  36. .field private mUpdatingText:Z
  37. .field private mWatchingAdapter:Ljava/lang/ref/WeakReference;
  38. .annotation system Ldalvik/annotation/Signature;
  39. value = {
  40. "Ljava/lang/ref/WeakReference",
  41. "<",
  42. "Landroid/support/v4/view/PagerAdapter;",
  43. ">;"
  44. }
  45. .end annotation
  46. .end field
  47. # direct methods
  48. .method static constructor <clinit>()V
  49. .locals 3
  50. .prologue
  51. .line 67
  52. const/4 v0, 0x4
  53. new-array v0, v0, [I
  54. fill-array-data v0, :array_0
  55. sput-object v0, Landroid/support/v4/view/PagerTitleStrip;->ATTRS:[I
  56. .line 74
  57. const/4 v0, 0x1
  58. new-array v0, v0, [I
  59. const/4 v1, 0x0
  60. const v2, 0x101038c
  61. aput v2, v0, v1
  62. sput-object v0, Landroid/support/v4/view/PagerTitleStrip;->TEXT_ATTRS:[I
  63. .line 102
  64. sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
  65. const/16 v1, 0xe
  66. if-lt v0, v1, :cond_0
  67. .line 103
  68. new-instance v0, Landroid/support/v4/view/PagerTitleStrip$PagerTitleStripImplIcs;
  69. invoke-direct {v0}, Landroid/support/v4/view/PagerTitleStrip$PagerTitleStripImplIcs;-><init>()V
  70. sput-object v0, Landroid/support/v4/view/PagerTitleStrip;->IMPL:Landroid/support/v4/view/PagerTitleStrip$PagerTitleStripImpl;
  71. .line 107
  72. :goto_0
  73. return-void
  74. .line 105
  75. :cond_0
  76. new-instance v0, Landroid/support/v4/view/PagerTitleStrip$PagerTitleStripImplBase;
  77. invoke-direct {v0}, Landroid/support/v4/view/PagerTitleStrip$PagerTitleStripImplBase;-><init>()V
  78. sput-object v0, Landroid/support/v4/view/PagerTitleStrip;->IMPL:Landroid/support/v4/view/PagerTitleStrip$PagerTitleStripImpl;
  79. goto :goto_0
  80. .line 67
  81. nop
  82. :array_0
  83. .array-data 4
  84. 0x1010034
  85. 0x1010095
  86. 0x1010098
  87. 0x10100af
  88. .end array-data
  89. .end method
  90. .method public constructor <init>(Landroid/content/Context;)V
  91. .locals 1
  92. .param p1, "context" # Landroid/content/Context;
  93. .prologue
  94. .line 114
  95. const/4 v0, 0x0
  96. invoke-direct {p0, p1, v0}, Landroid/support/v4/view/PagerTitleStrip;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
  97. .line 115
  98. return-void
  99. .end method
  100. .method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
  101. .locals 11
  102. .param p1, "context" # Landroid/content/Context;
  103. .param p2, "attrs" # Landroid/util/AttributeSet;
  104. .prologue
  105. const/4 v10, 0x2
  106. const/4 v9, 0x0
  107. .line 118
  108. invoke-direct {p0, p1, p2}, Landroid/view/ViewGroup;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
  109. .line 55
  110. const/4 v7, -0x1
  111. iput v7, p0, Landroid/support/v4/view/PagerTitleStrip;->mLastKnownCurrentPage:I
  112. .line 56
  113. const/high16 v7, -0x40800000 # -1.0f
  114. iput v7, p0, Landroid/support/v4/view/PagerTitleStrip;->mLastKnownPositionOffset:F
  115. .line 63
  116. new-instance v7, Landroid/support/v4/view/PagerTitleStrip$PageListener;
  117. const/4 v8, 0x0
  118. invoke-direct {v7, p0, v8}, Landroid/support/v4/view/PagerTitleStrip$PageListener;-><init>(Landroid/support/v4/view/PagerTitleStrip;Landroid/support/v4/view/PagerTitleStrip$1;)V
  119. iput-object v7, p0, Landroid/support/v4/view/PagerTitleStrip;->mPageListener:Landroid/support/v4/view/PagerTitleStrip$PageListener;
  120. .line 120
  121. new-instance v7, Landroid/widget/TextView;
  122. invoke-direct {v7, p1}, Landroid/widget/TextView;-><init>(Landroid/content/Context;)V
  123. iput-object v7, p0, Landroid/support/v4/view/PagerTitleStrip;->mPrevText:Landroid/widget/TextView;
  124. invoke-virtual {p0, v7}, Landroid/support/v4/view/PagerTitleStrip;->addView(Landroid/view/View;)V
  125. .line 121
  126. new-instance v7, Landroid/widget/TextView;
  127. invoke-direct {v7, p1}, Landroid/widget/TextView;-><init>(Landroid/content/Context;)V
  128. iput-object v7, p0, Landroid/support/v4/view/PagerTitleStrip;->mCurrText:Landroid/widget/TextView;
  129. invoke-virtual {p0, v7}, Landroid/support/v4/view/PagerTitleStrip;->addView(Landroid/view/View;)V
  130. .line 122
  131. new-instance v7, Landroid/widget/TextView;
  132. invoke-direct {v7, p1}, Landroid/widget/TextView;-><init>(Landroid/content/Context;)V
  133. iput-object v7, p0, Landroid/support/v4/view/PagerTitleStrip;->mNextText:Landroid/widget/TextView;
  134. invoke-virtual {p0, v7}, Landroid/support/v4/view/PagerTitleStrip;->addView(Landroid/view/View;)V
  135. .line 124
  136. sget-object v7, Landroid/support/v4/view/PagerTitleStrip;->ATTRS:[I
  137. invoke-virtual {p1, p2, v7}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;
  138. move-result-object v0
  139. .line 125
  140. .local v0, "a":Landroid/content/res/TypedArray;
  141. invoke-virtual {v0, v9, v9}, Landroid/content/res/TypedArray;->getResourceId(II)I
  142. move-result v4
  143. .line 126
  144. .local v4, "textAppearance":I
  145. if-eqz v4, :cond_0
  146. .line 127
  147. iget-object v7, p0, Landroid/support/v4/view/PagerTitleStrip;->mPrevText:Landroid/widget/TextView;
  148. invoke-virtual {v7, p1, v4}, Landroid/widget/TextView;->setTextAppearance(Landroid/content/Context;I)V
  149. .line 128
  150. iget-object v7, p0, Landroid/support/v4/view/PagerTitleStrip;->mCurrText:Landroid/widget/TextView;
  151. invoke-virtual {v7, p1, v4}, Landroid/widget/TextView;->setTextAppearance(Landroid/content/Context;I)V
  152. .line 129
  153. iget-object v7, p0, Landroid/support/v4/view/PagerTitleStrip;->mNextText:Landroid/widget/TextView;
  154. invoke-virtual {v7, p1, v4}, Landroid/widget/TextView;->setTextAppearance(Landroid/content/Context;I)V
  155. .line 131
  156. :cond_0
  157. const/4 v7, 0x1
  158. invoke-virtual {v0, v7, v9}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
  159. move-result v6
  160. .line 132
  161. .local v6, "textSize":I
  162. if-eqz v6, :cond_1
  163. .line 133
  164. int-to-float v7, v6
  165. invoke-virtual {p0, v9, v7}, Landroid/support/v4/view/PagerTitleStrip;->setTextSize(IF)V
  166. .line 135
  167. :cond_1
  168. invoke-virtual {v0, v10}, Landroid/content/res/TypedArray;->hasValue(I)Z
  169. move-result v7
  170. if-eqz v7, :cond_2
  171. .line 136
  172. invoke-virtual {v0, v10, v9}, Landroid/content/res/TypedArray;->getColor(II)I
  173. move-result v5
  174. .line 137
  175. .local v5, "textColor":I
  176. iget-object v7, p0, Landroid/support/v4/view/PagerTitleStrip;->mPrevText:Landroid/widget/TextView;
  177. invoke-virtual {v7, v5}, Landroid/widget/TextView;->setTextColor(I)V
  178. .line 138
  179. iget-object v7, p0, Landroid/support/v4/view/PagerTitleStrip;->mCurrText:Landroid/widget/TextView;
  180. invoke-virtual {v7, v5}, Landroid/widget/TextView;->setTextColor(I)V
  181. .line 139
  182. iget-object v7, p0, Landroid/support/v4/view/PagerTitleStrip;->mNextText:Landroid/widget/TextView;
  183. invoke-virtual {v7, v5}, Landroid/widget/TextView;->setTextColor(I)V
  184. .line 141
  185. .end local v5 # "textColor":I
  186. :cond_2
  187. const/4 v7, 0x3
  188. const/16 v8, 0x50
  189. invoke-virtual {v0, v7, v8}, Landroid/content/res/TypedArray;->getInteger(II)I
  190. move-result v7
  191. iput v7, p0, Landroid/support/v4/view/PagerTitleStrip;->mGravity:I
  192. .line 142
  193. invoke-virtual {v0}, Landroid/content/res/TypedArray;->recycle()V
  194. .line 144
  195. iget-object v7, p0, Landroid/support/v4/view/PagerTitleStrip;->mCurrText:Landroid/widget/TextView;
  196. invoke-virtual {v7}, Landroid/widget/TextView;->getTextColors()Landroid/content/res/ColorStateList;
  197. move-result-object v7
  198. invoke-virtual {v7}, Landroid/content/res/ColorStateList;->getDefaultColor()I
  199. move-result v7
  200. iput v7, p0, Landroid/support/v4/view/PagerTitleStrip;->mTextColor:I
  201. .line 145
  202. const v7, 0x3f19999a # 0.6f
  203. invoke-virtual {p0, v7}, Landroid/support/v4/view/PagerTitleStrip;->setNonPrimaryAlpha(F)V
  204. .line 147
  205. iget-object v7, p0, Landroid/support/v4/view/PagerTitleStrip;->mPrevText:Landroid/widget/TextView;
  206. sget-object v8, Landroid/text/TextUtils$TruncateAt;->END:Landroid/text/TextUtils$TruncateAt;
  207. invoke-virtual {v7, v8}, Landroid/widget/TextView;->setEllipsize(Landroid/text/TextUtils$TruncateAt;)V
  208. .line 148
  209. iget-object v7, p0, Landroid/support/v4/view/PagerTitleStrip;->mCurrText:Landroid/widget/TextView;
  210. sget-object v8, Landroid/text/TextUtils$TruncateAt;->END:Landroid/text/TextUtils$TruncateAt;
  211. invoke-virtual {v7, v8}, Landroid/widget/TextView;->setEllipsize(Landroid/text/TextUtils$TruncateAt;)V
  212. .line 149
  213. iget-object v7, p0, Landroid/support/v4/view/PagerTitleStrip;->mNextText:Landroid/widget/TextView;
  214. sget-object v8, Landroid/text/TextUtils$TruncateAt;->END:Landroid/text/TextUtils$TruncateAt;
  215. invoke-virtual {v7, v8}, Landroid/widget/TextView;->setEllipsize(Landroid/text/TextUtils$TruncateAt;)V
  216. .line 151
  217. const/4 v1, 0x0
  218. .line 152
  219. .local v1, "allCaps":Z
  220. if-eqz v4, :cond_3
  221. .line 153
  222. sget-object v7, Landroid/support/v4/view/PagerTitleStrip;->TEXT_ATTRS:[I
  223. invoke-virtual {p1, v4, v7}, Landroid/content/Context;->obtainStyledAttributes(I[I)Landroid/content/res/TypedArray;
  224. move-result-object v3
  225. .line 154
  226. .local v3, "ta":Landroid/content/res/TypedArray;
  227. invoke-virtual {v3, v9, v9}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
  228. move-result v1
  229. .line 155
  230. invoke-virtual {v3}, Landroid/content/res/TypedArray;->recycle()V
  231. .line 158
  232. .end local v3 # "ta":Landroid/content/res/TypedArray;
  233. :cond_3
  234. if-eqz v1, :cond_4
  235. .line 159
  236. iget-object v7, p0, Landroid/support/v4/view/PagerTitleStrip;->mPrevText:Landroid/widget/TextView;
  237. invoke-static {v7}, Landroid/support/v4/view/PagerTitleStrip;->setSingleLineAllCaps(Landroid/widget/TextView;)V
  238. .line 160
  239. iget-object v7, p0, Landroid/support/v4/view/PagerTitleStrip;->mCurrText:Landroid/widget/TextView;
  240. invoke-static {v7}, Landroid/support/v4/view/PagerTitleStrip;->setSingleLineAllCaps(Landroid/widget/TextView;)V
  241. .line 161
  242. iget-object v7, p0, Landroid/support/v4/view/PagerTitleStrip;->mNextText:Landroid/widget/TextView;
  243. invoke-static {v7}, Landroid/support/v4/view/PagerTitleStrip;->setSingleLineAllCaps(Landroid/widget/TextView;)V
  244. .line 168
  245. :goto_0
  246. invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
  247. move-result-object v7
  248. invoke-virtual {v7}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
  249. move-result-object v7
  250. iget v2, v7, Landroid/util/DisplayMetrics;->density:F
  251. .line 169
  252. .local v2, "density":F
  253. const/high16 v7, 0x41800000 # 16.0f
  254. mul-float/2addr v7, v2
  255. float-to-int v7, v7
  256. iput v7, p0, Landroid/support/v4/view/PagerTitleStrip;->mScaledTextSpacing:I
  257. .line 170
  258. return-void
  259. .line 163
  260. .end local v2 # "density":F
  261. :cond_4
  262. iget-object v7, p0, Landroid/support/v4/view/PagerTitleStrip;->mPrevText:Landroid/widget/TextView;
  263. invoke-virtual {v7}, Landroid/widget/TextView;->setSingleLine()V
  264. .line 164
  265. iget-object v7, p0, Landroid/support/v4/view/PagerTitleStrip;->mCurrText:Landroid/widget/TextView;
  266. invoke-virtual {v7}, Landroid/widget/TextView;->setSingleLine()V
  267. .line 165
  268. iget-object v7, p0, Landroid/support/v4/view/PagerTitleStrip;->mNextText:Landroid/widget/TextView;
  269. invoke-virtual {v7}, Landroid/widget/TextView;->setSingleLine()V
  270. goto :goto_0
  271. .end method
  272. .method static synthetic access$100(Landroid/support/v4/view/PagerTitleStrip;)F
  273. .locals 1
  274. .param p0, "x0" # Landroid/support/v4/view/PagerTitleStrip;
  275. .prologue
  276. .line 47
  277. iget v0, p0, Landroid/support/v4/view/PagerTitleStrip;->mLastKnownPositionOffset:F
  278. return v0
  279. .end method
  280. .method private static setSingleLineAllCaps(Landroid/widget/TextView;)V
  281. .locals 1
  282. .param p0, "text" # Landroid/widget/TextView;
  283. .prologue
  284. .line 110
  285. sget-object v0, Landroid/support/v4/view/PagerTitleStrip;->IMPL:Landroid/support/v4/view/PagerTitleStrip$PagerTitleStripImpl;
  286. invoke-interface {v0, p0}, Landroid/support/v4/view/PagerTitleStrip$PagerTitleStripImpl;->setSingleLineAllCaps(Landroid/widget/TextView;)V
  287. .line 111
  288. return-void
  289. .end method
  290. # virtual methods
  291. .method getMinHeight()I
  292. .locals 2
  293. .prologue
  294. .line 468
  295. const/4 v1, 0x0
  296. .line 469
  297. .local v1, "minHeight":I
  298. invoke-virtual {p0}, Landroid/support/v4/view/PagerTitleStrip;->getBackground()Landroid/graphics/drawable/Drawable;
  299. move-result-object v0
  300. .line 470
  301. .local v0, "bg":Landroid/graphics/drawable/Drawable;
  302. if-eqz v0, :cond_0
  303. .line 471
  304. invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I
  305. move-result v1
  306. .line 473
  307. :cond_0
  308. return v1
  309. .end method
  310. .method public getTextSpacing()I
  311. .locals 1
  312. .prologue
  313. .line 186
  314. iget v0, p0, Landroid/support/v4/view/PagerTitleStrip;->mScaledTextSpacing:I
  315. return v0
  316. .end method
  317. .method protected onAttachedToWindow()V
  318. .locals 5
  319. .prologue
  320. .line 244
  321. invoke-super {p0}, Landroid/view/ViewGroup;->onAttachedToWindow()V
  322. .line 246
  323. invoke-virtual {p0}, Landroid/support/v4/view/PagerTitleStrip;->getParent()Landroid/view/ViewParent;
  324. move-result-object v2
  325. .line 247
  326. .local v2, "parent":Landroid/view/ViewParent;
  327. instance-of v3, v2, Landroid/support/v4/view/ViewPager;
  328. if-nez v3, :cond_0
  329. .line 248
  330. new-instance v3, Ljava/lang/IllegalStateException;
  331. const-string v4, "PagerTitleStrip must be a direct child of a ViewPager."
  332. invoke-direct {v3, v4}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
  333. throw v3
  334. :cond_0
  335. move-object v1, v2
  336. .line 252
  337. check-cast v1, Landroid/support/v4/view/ViewPager;
  338. .line 253
  339. .local v1, "pager":Landroid/support/v4/view/ViewPager;
  340. invoke-virtual {v1}, Landroid/support/v4/view/ViewPager;->getAdapter()Landroid/support/v4/view/PagerAdapter;
  341. move-result-object v0
  342. .line 255
  343. .local v0, "adapter":Landroid/support/v4/view/PagerAdapter;
  344. iget-object v3, p0, Landroid/support/v4/view/PagerTitleStrip;->mPageListener:Landroid/support/v4/view/PagerTitleStrip$PageListener;
  345. invoke-virtual {v1, v3}, Landroid/support/v4/view/ViewPager;->setInternalPageChangeListener(Landroid/support/v4/view/ViewPager$OnPageChangeListener;)Landroid/support/v4/view/ViewPager$OnPageChangeListener;
  346. .line 256
  347. iget-object v3, p0, Landroid/support/v4/view/PagerTitleStrip;->mPageListener:Landroid/support/v4/view/PagerTitleStrip$PageListener;
  348. invoke-virtual {v1, v3}, Landroid/support/v4/view/ViewPager;->setOnAdapterChangeListener(Landroid/support/v4/view/ViewPager$OnAdapterChangeListener;)V
  349. .line 257
  350. iput-object v1, p0, Landroid/support/v4/view/PagerTitleStrip;->mPager:Landroid/support/v4/view/ViewPager;
  351. .line 258
  352. iget-object v3, p0, Landroid/support/v4/view/PagerTitleStrip;->mWatchingAdapter:Ljava/lang/ref/WeakReference;
  353. if-eqz v3, :cond_1
  354. iget-object v3, p0, Landroid/support/v4/view/PagerTitleStrip;->mWatchingAdapter:Ljava/lang/ref/WeakReference;
  355. invoke-virtual {v3}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
  356. move-result-object v3
  357. check-cast v3, Landroid/support/v4/view/PagerAdapter;
  358. :goto_0
  359. invoke-virtual {p0, v3, v0}, Landroid/support/v4/view/PagerTitleStrip;->updateAdapter(Landroid/support/v4/view/PagerAdapter;Landroid/support/v4/view/PagerAdapter;)V
  360. .line 259
  361. return-void
  362. .line 258
  363. :cond_1
  364. const/4 v3, 0x0
  365. goto :goto_0
  366. .end method
  367. .method protected onDetachedFromWindow()V
  368. .locals 2
  369. .prologue
  370. const/4 v1, 0x0
  371. .line 263
  372. invoke-super {p0}, Landroid/view/ViewGroup;->onDetachedFromWindow()V
  373. .line 264
  374. iget-object v0, p0, Landroid/support/v4/view/PagerTitleStrip;->mPager:Landroid/support/v4/view/ViewPager;
  375. if-eqz v0, :cond_0
  376. .line 265
  377. iget-object v0, p0, Landroid/support/v4/view/PagerTitleStrip;->mPager:Landroid/support/v4/view/ViewPager;
  378. invoke-virtual {v0}, Landroid/support/v4/view/ViewPager;->getAdapter()Landroid/support/v4/view/PagerAdapter;
  379. move-result-object v0
  380. invoke-virtual {p0, v0, v1}, Landroid/support/v4/view/PagerTitleStrip;->updateAdapter(Landroid/support/v4/view/PagerAdapter;Landroid/support/v4/view/PagerAdapter;)V
  381. .line 266
  382. iget-object v0, p0, Landroid/support/v4/view/PagerTitleStrip;->mPager:Landroid/support/v4/view/ViewPager;
  383. invoke-virtual {v0, v1}, Landroid/support/v4/view/ViewPager;->setInternalPageChangeListener(Landroid/support/v4/view/ViewPager$OnPageChangeListener;)Landroid/support/v4/view/ViewPager$OnPageChangeListener;
  384. .line 267
  385. iget-object v0, p0, Landroid/support/v4/view/PagerTitleStrip;->mPager:Landroid/support/v4/view/ViewPager;
  386. invoke-virtual {v0, v1}, Landroid/support/v4/view/ViewPager;->setOnAdapterChangeListener(Landroid/support/v4/view/ViewPager$OnAdapterChangeListener;)V
  387. .line 268
  388. iput-object v1, p0, Landroid/support/v4/view/PagerTitleStrip;->mPager:Landroid/support/v4/view/ViewPager;
  389. .line 270
  390. :cond_0
  391. return-void
  392. .end method
  393. .method protected onLayout(ZIIII)V
  394. .locals 3
  395. .param p1, "changed" # Z
  396. .param p2, "l" # I
  397. .param p3, "t" # I
  398. .param p4, "r" # I
  399. .param p5, "b" # I
  400. .prologue
  401. const/4 v0, 0x0
  402. .line 461
  403. iget-object v1, p0, Landroid/support/v4/view/PagerTitleStrip;->mPager:Landroid/support/v4/view/ViewPager;
  404. if-eqz v1, :cond_1
  405. .line 462
  406. iget v1, p0, Landroid/support/v4/view/PagerTitleStrip;->mLastKnownPositionOffset:F
  407. cmpl-float v1, v1, v0
  408. if-ltz v1, :cond_0
  409. iget v0, p0, Landroid/support/v4/view/PagerTitleStrip;->mLastKnownPositionOffset:F
  410. .line 463
  411. .local v0, "offset":F
  412. :cond_0
  413. iget v1, p0, Landroid/support/v4/view/PagerTitleStrip;->mLastKnownCurrentPage:I
  414. const/4 v2, 0x1
  415. invoke-virtual {p0, v1, v0, v2}, Landroid/support/v4/view/PagerTitleStrip;->updateTextPositions(IFZ)V
  416. .line 465
  417. .end local v0 # "offset":F
  418. :cond_1
  419. return-void
  420. .end method
  421. .method protected onMeasure(II)V
  422. .locals 15
  423. .param p1, "widthMeasureSpec" # I
  424. .param p2, "heightMeasureSpec" # I
  425. .prologue
  426. .line 425
  427. invoke-static/range {p1 .. p1}, Landroid/view/View$MeasureSpec;->getMode(I)I
  428. move-result v10
  429. .line 426
  430. .local v10, "widthMode":I
  431. const/high16 v13, 0x40000000 # 2.0f
  432. if-eq v10, v13, :cond_0
  433. .line 427
  434. new-instance v13, Ljava/lang/IllegalStateException;
  435. const-string v14, "Must measure with an exact width"
  436. invoke-direct {v13, v14}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
  437. throw v13
  438. .line 430
  439. :cond_0
  440. invoke-virtual {p0}, Landroid/support/v4/view/PagerTitleStrip;->getPaddingTop()I
  441. move-result v13
  442. invoke-virtual {p0}, Landroid/support/v4/view/PagerTitleStrip;->getPaddingBottom()I
  443. move-result v14
  444. add-int v6, v13, v14
  445. .line 431
  446. .local v6, "heightPadding":I
  447. const/4 v13, -0x2
  448. move/from16 v0, p2
  449. invoke-static {v0, v6, v13}, Landroid/support/v4/view/PagerTitleStrip;->getChildMeasureSpec(III)I
  450. move-result v1
  451. .line 434
  452. .local v1, "childHeightSpec":I
  453. invoke-static/range {p1 .. p1}, Landroid/view/View$MeasureSpec;->getSize(I)I
  454. move-result v12
  455. .line 435
  456. .local v12, "widthSize":I
  457. int-to-float v13, v12
  458. const v14, 0x3e4ccccd # 0.2f
  459. mul-float/2addr v13, v14
  460. float-to-int v11, v13
  461. .line 436
  462. .local v11, "widthPadding":I
  463. const/4 v13, -0x2
  464. move/from16 v0, p1
  465. invoke-static {v0, v11, v13}, Landroid/support/v4/view/PagerTitleStrip;->getChildMeasureSpec(III)I
  466. move-result v3
  467. .line 439
  468. .local v3, "childWidthSpec":I
  469. iget-object v13, p0, Landroid/support/v4/view/PagerTitleStrip;->mPrevText:Landroid/widget/TextView;
  470. invoke-virtual {v13, v3, v1}, Landroid/widget/TextView;->measure(II)V
  471. .line 440
  472. iget-object v13, p0, Landroid/support/v4/view/PagerTitleStrip;->mCurrText:Landroid/widget/TextView;
  473. invoke-virtual {v13, v3, v1}, Landroid/widget/TextView;->measure(II)V
  474. .line 441
  475. iget-object v13, p0, Landroid/support/v4/view/PagerTitleStrip;->mNextText:Landroid/widget/TextView;
  476. invoke-virtual {v13, v3, v1}, Landroid/widget/TextView;->measure(II)V
  477. .line 444
  478. invoke-static/range {p2 .. p2}, Landroid/view/View$MeasureSpec;->getMode(I)I
  479. move-result v5
  480. .line 445
  481. .local v5, "heightMode":I
  482. const/high16 v13, 0x40000000 # 2.0f
  483. if-ne v5, v13, :cond_1
  484. .line 446
  485. invoke-static/range {p2 .. p2}, Landroid/view/View$MeasureSpec;->getSize(I)I
  486. move-result v4
  487. .line 453
  488. .local v4, "height":I
  489. :goto_0
  490. iget-object v13, p0, Landroid/support/v4/view/PagerTitleStrip;->mCurrText:Landroid/widget/TextView;
  491. invoke-static {v13}, Landroid/support/v4/view/ViewCompat;->getMeasuredState(Landroid/view/View;)I
  492. move-result v2
  493. .line 454
  494. .local v2, "childState":I
  495. shl-int/lit8 v13, v2, 0x10
  496. move/from16 v0, p2
  497. invoke-static {v4, v0, v13}, Landroid/support/v4/view/ViewCompat;->resolveSizeAndState(III)I
  498. move-result v7
  499. .line 456
  500. .local v7, "measuredHeight":I
  501. invoke-virtual {p0, v12, v7}, Landroid/support/v4/view/PagerTitleStrip;->setMeasuredDimension(II)V
  502. .line 457
  503. return-void
  504. .line 448
  505. .end local v2 # "childState":I
  506. .end local v4 # "height":I
  507. .end local v7 # "measuredHeight":I
  508. :cond_1
  509. iget-object v13, p0, Landroid/support/v4/view/PagerTitleStrip;->mCurrText:Landroid/widget/TextView;
  510. invoke-virtual {v13}, Landroid/widget/TextView;->getMeasuredHeight()I
  511. move-result v9
  512. .line 449
  513. .local v9, "textHeight":I
  514. invoke-virtual {p0}, Landroid/support/v4/view/PagerTitleStrip;->getMinHeight()I
  515. move-result v8
  516. .line 450
  517. .local v8, "minHeight":I
  518. add-int v13, v9, v6
  519. invoke-static {v8, v13}, Ljava/lang/Math;->max(II)I
  520. move-result v4
  521. .restart local v4 # "height":I
  522. goto :goto_0
  523. .end method
  524. .method public requestLayout()V
  525. .locals 1
  526. .prologue
  527. .line 313
  528. iget-boolean v0, p0, Landroid/support/v4/view/PagerTitleStrip;->mUpdatingText:Z
  529. if-nez v0, :cond_0
  530. .line 314
  531. invoke-super {p0}, Landroid/view/ViewGroup;->requestLayout()V
  532. .line 316
  533. :cond_0
  534. return-void
  535. .end method
  536. .method public setGravity(I)V
  537. .locals 0
  538. .param p1, "gravity" # I
  539. .prologue
  540. .line 238
  541. iput p1, p0, Landroid/support/v4/view/PagerTitleStrip;->mGravity:I
  542. .line 239
  543. invoke-virtual {p0}, Landroid/support/v4/view/PagerTitleStrip;->requestLayout()V
  544. .line 240
  545. return-void
  546. .end method
  547. .method public setNonPrimaryAlpha(F)V
  548. .locals 4
  549. .param p1, "alpha" # F
  550. .annotation build Landroid/support/annotation/FloatRange;
  551. from = 0.0
  552. to = 1.0
  553. .end annotation
  554. .end param
  555. .prologue
  556. .line 195
  557. const/high16 v1, 0x437f0000 # 255.0f
  558. mul-float/2addr v1, p1
  559. float-to-int v1, v1
  560. and-int/lit16 v1, v1, 0xff
  561. iput v1, p0, Landroid/support/v4/view/PagerTitleStrip;->mNonPrimaryAlpha:I
  562. .line 196
  563. iget v1, p0, Landroid/support/v4/view/PagerTitleStrip;->mNonPrimaryAlpha:I
  564. shl-int/lit8 v1, v1, 0x18
  565. iget v2, p0, Landroid/support/v4/view/PagerTitleStrip;->mTextColor:I
  566. const v3, 0xffffff
  567. and-int/2addr v2, v3
  568. or-int v0, v1, v2
  569. .line 197
  570. .local v0, "transparentColor":I
  571. iget-object v1, p0, Landroid/support/v4/view/PagerTitleStrip;->mPrevText:Landroid/widget/TextView;
  572. invoke-virtual {v1, v0}, Landroid/widget/TextView;->setTextColor(I)V
  573. .line 198
  574. iget-object v1, p0, Landroid/support/v4/view/PagerTitleStrip;->mNextText:Landroid/widget/TextView;
  575. invoke-virtual {v1, v0}, Landroid/widget/TextView;->setTextColor(I)V
  576. .line 199
  577. return-void
  578. .end method
  579. .method public setTextColor(I)V
  580. .locals 4
  581. .param p1, "color" # I
  582. .annotation build Landroid/support/annotation/ColorInt;
  583. .end annotation
  584. .end param
  585. .prologue
  586. .line 208
  587. iput p1, p0, Landroid/support/v4/view/PagerTitleStrip;->mTextColor:I
  588. .line 209
  589. iget-object v1, p0, Landroid/support/v4/view/PagerTitleStrip;->mCurrText:Landroid/widget/TextView;
  590. invoke-virtual {v1, p1}, Landroid/widget/TextView;->setTextColor(I)V
  591. .line 210
  592. iget v1, p0, Landroid/support/v4/view/PagerTitleStrip;->mNonPrimaryAlpha:I
  593. shl-int/lit8 v1, v1, 0x18
  594. iget v2, p0, Landroid/support/v4/view/PagerTitleStrip;->mTextColor:I
  595. const v3, 0xffffff
  596. and-int/2addr v2, v3
  597. or-int v0, v1, v2
  598. .line 211
  599. .local v0, "transparentColor":I
  600. iget-object v1, p0, Landroid/support/v4/view/PagerTitleStrip;->mPrevText:Landroid/widget/TextView;
  601. invoke-virtual {v1, v0}, Landroid/widget/TextView;->setTextColor(I)V
  602. .line 212
  603. iget-object v1, p0, Landroid/support/v4/view/PagerTitleStrip;->mNextText:Landroid/widget/TextView;
  604. invoke-virtual {v1, v0}, Landroid/widget/TextView;->setTextColor(I)V
  605. .line 213
  606. return-void
  607. .end method
  608. .method public setTextSize(IF)V
  609. .locals 1
  610. .param p1, "unit" # I
  611. .param p2, "size" # F
  612. .prologue
  613. .line 226
  614. iget-object v0, p0, Landroid/support/v4/view/PagerTitleStrip;->mPrevText:Landroid/widget/TextView;
  615. invoke-virtual {v0, p1, p2}, Landroid/widget/TextView;->setTextSize(IF)V
  616. .line 227
  617. iget-object v0, p0, Landroid/support/v4/view/PagerTitleStrip;->mCurrText:Landroid/widget/TextView;
  618. invoke-virtual {v0, p1, p2}, Landroid/widget/TextView;->setTextSize(IF)V
  619. .line 228
  620. iget-object v0, p0, Landroid/support/v4/view/PagerTitleStrip;->mNextText:Landroid/widget/TextView;
  621. invoke-virtual {v0, p1, p2}, Landroid/widget/TextView;->setTextSize(IF)V
  622. .line 229
  623. return-void
  624. .end method
  625. .method public setTextSpacing(I)V
  626. .locals 0
  627. .param p1, "spacingPixels" # I
  628. .prologue
  629. .line 178
  630. iput p1, p0, Landroid/support/v4/view/PagerTitleStrip;->mScaledTextSpacing:I
  631. .line 179
  632. invoke-virtual {p0}, Landroid/support/v4/view/PagerTitleStrip;->requestLayout()V
  633. .line 180
  634. return-void
  635. .end method
  636. .method updateAdapter(Landroid/support/v4/view/PagerAdapter;Landroid/support/v4/view/PagerAdapter;)V
  637. .locals 1
  638. .param p1, "oldAdapter" # Landroid/support/v4/view/PagerAdapter;
  639. .param p2, "newAdapter" # Landroid/support/v4/view/PagerAdapter;
  640. .prologue
  641. .line 319
  642. if-eqz p1, :cond_0
  643. .line 320
  644. iget-object v0, p0, Landroid/support/v4/view/PagerTitleStrip;->mPageListener:Landroid/support/v4/view/PagerTitleStrip$PageListener;
  645. invoke-virtual {p1, v0}, Landroid/support/v4/view/PagerAdapter;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
  646. .line 321
  647. const/4 v0, 0x0
  648. iput-object v0, p0, Landroid/support/v4/view/PagerTitleStrip;->mWatchingAdapter:Ljava/lang/ref/WeakReference;
  649. .line 323
  650. :cond_0
  651. if-eqz p2, :cond_1
  652. .line 324
  653. iget-object v0, p0, Landroid/support/v4/view/PagerTitleStrip;->mPageListener:Landroid/support/v4/view/PagerTitleStrip$PageListener;
  654. invoke-virtual {p2, v0}, Landroid/support/v4/view/PagerAdapter;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
  655. .line 325
  656. new-instance v0, Ljava/lang/ref/WeakReference;
  657. invoke-direct {v0, p2}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
  658. iput-object v0, p0, Landroid/support/v4/view/PagerTitleStrip;->mWatchingAdapter:Ljava/lang/ref/WeakReference;
  659. .line 327
  660. :cond_1
  661. iget-object v0, p0, Landroid/support/v4/view/PagerTitleStrip;->mPager:Landroid/support/v4/view/ViewPager;
  662. if-eqz v0, :cond_2
  663. .line 328
  664. const/4 v0, -0x1
  665. iput v0, p0, Landroid/support/v4/view/PagerTitleStrip;->mLastKnownCurrentPage:I
  666. .line 329
  667. const/high16 v0, -0x40800000 # -1.0f
  668. iput v0, p0, Landroid/support/v4/view/PagerTitleStrip;->mLastKnownPositionOffset:F
  669. .line 330
  670. iget-object v0, p0, Landroid/support/v4/view/PagerTitleStrip;->mPager:Landroid/support/v4/view/ViewPager;
  671. invoke-virtual {v0}, Landroid/support/v4/view/ViewPager;->getCurrentItem()I
  672. move-result v0
  673. invoke-virtual {p0, v0, p2}, Landroid/support/v4/view/PagerTitleStrip;->updateText(ILandroid/support/v4/view/PagerAdapter;)V
  674. .line 331
  675. invoke-virtual {p0}, Landroid/support/v4/view/PagerTitleStrip;->requestLayout()V
  676. .line 333
  677. :cond_2
  678. return-void
  679. .end method
  680. .method updateText(ILandroid/support/v4/view/PagerAdapter;)V
  681. .locals 12
  682. .param p1, "currentItem" # I
  683. .param p2, "adapter" # Landroid/support/v4/view/PagerAdapter;
  684. .prologue
  685. const/4 v9, 0x1
  686. const/high16 v11, -0x80000000
  687. const/4 v8, 0x0
  688. .line 273
  689. if-eqz p2, :cond_3
  690. invoke-virtual {p2}, Landroid/support/v4/view/PagerAdapter;->getCount()I
  691. move-result v3
  692. .line 274
  693. .local v3, "itemCount":I
  694. :goto_0
  695. iput-boolean v9, p0, Landroid/support/v4/view/PagerTitleStrip;->mUpdatingText:Z
  696. .line 276
  697. const/4 v6, 0x0
  698. .line 277
  699. .local v6, "text":Ljava/lang/CharSequence;
  700. if-lt p1, v9, :cond_0
  701. if-eqz p2, :cond_0
  702. .line 278
  703. add-int/lit8 v9, p1, -0x1
  704. invoke-virtual {p2, v9}, Landroid/support/v4/view/PagerAdapter;->getPageTitle(I)Ljava/lang/CharSequence;
  705. move-result-object v6
  706. .line 280
  707. :cond_0
  708. iget-object v9, p0, Landroid/support/v4/view/PagerTitleStrip;->mPrevText:Landroid/widget/TextView;
  709. invoke-virtual {v9, v6}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
  710. .line 282
  711. iget-object v10, p0, Landroid/support/v4/view/PagerTitleStrip;->mCurrText:Landroid/widget/TextView;
  712. if-eqz p2, :cond_4
  713. if-ge p1, v3, :cond_4
  714. invoke-virtual {p2, p1}, Landroid/support/v4/view/PagerAdapter;->getPageTitle(I)Ljava/lang/CharSequence;
  715. move-result-object v9
  716. :goto_1
  717. invoke-virtual {v10, v9}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
  718. .line 285
  719. const/4 v6, 0x0
  720. .line 286
  721. add-int/lit8 v9, p1, 0x1
  722. if-ge v9, v3, :cond_1
  723. if-eqz p2, :cond_1
  724. .line 287
  725. add-int/lit8 v9, p1, 0x1
  726. invoke-virtual {p2, v9}, Landroid/support/v4/view/PagerAdapter;->getPageTitle(I)Ljava/lang/CharSequence;
  727. move-result-object v6
  728. .line 289
  729. :cond_1
  730. iget-object v9, p0, Landroid/support/v4/view/PagerTitleStrip;->mNextText:Landroid/widget/TextView;
  731. invoke-virtual {v9, v6}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
  732. .line 292
  733. invoke-virtual {p0}, Landroid/support/v4/view/PagerTitleStrip;->getWidth()I
  734. move-result v9
  735. invoke-virtual {p0}, Landroid/support/v4/view/PagerTitleStrip;->getPaddingLeft()I
  736. move-result v10
  737. sub-int/2addr v9, v10
  738. invoke-virtual {p0}, Landroid/support/v4/view/PagerTitleStrip;->getPaddingRight()I
  739. move-result v10
  740. sub-int v7, v9, v10
  741. .line 293
  742. .local v7, "width":I
  743. int-to-float v9, v7
  744. const v10, 0x3f4ccccd # 0.8f
  745. mul-float/2addr v9, v10
  746. float-to-int v9, v9
  747. invoke-static {v8, v9}, Ljava/lang/Math;->max(II)I
  748. move-result v5
  749. .line 294
  750. .local v5, "maxWidth":I
  751. invoke-static {v5, v11}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
  752. move-result v2
  753. .line 295
  754. .local v2, "childWidthSpec":I
  755. invoke-virtual {p0}, Landroid/support/v4/view/PagerTitleStrip;->getHeight()I
  756. move-result v9
  757. invoke-virtual {p0}, Landroid/support/v4/view/PagerTitleStrip;->getPaddingTop()I
  758. move-result v10
  759. sub-int/2addr v9, v10
  760. invoke-virtual {p0}, Landroid/support/v4/view/PagerTitleStrip;->getPaddingBottom()I
  761. move-result v10
  762. sub-int v0, v9, v10
  763. .line 296
  764. .local v0, "childHeight":I
  765. invoke-static {v8, v0}, Ljava/lang/Math;->max(II)I
  766. move-result v4
  767. .line 297
  768. .local v4, "maxHeight":I
  769. invoke-static {v4, v11}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
  770. move-result v1
  771. .line 298
  772. .local v1, "childHeightSpec":I
  773. iget-object v9, p0, Landroid/support/v4/view/PagerTitleStrip;->mPrevText:Landroid/widget/TextView;
  774. invoke-virtual {v9, v2, v1}, Landroid/widget/TextView;->measure(II)V
  775. .line 299
  776. iget-object v9, p0, Landroid/support/v4/view/PagerTitleStrip;->mCurrText:Landroid/widget/TextView;
  777. invoke-virtual {v9, v2, v1}, Landroid/widget/TextView;->measure(II)V
  778. .line 300
  779. iget-object v9, p0, Landroid/support/v4/view/PagerTitleStrip;->mNextText:Landroid/widget/TextView;
  780. invoke-virtual {v9, v2, v1}, Landroid/widget/TextView;->measure(II)V
  781. .line 302
  782. iput p1, p0, Landroid/support/v4/view/PagerTitleStrip;->mLastKnownCurrentPage:I
  783. .line 304
  784. iget-boolean v9, p0, Landroid/support/v4/view/PagerTitleStrip;->mUpdatingPositions:Z
  785. if-nez v9, :cond_2
  786. .line 305
  787. iget v9, p0, Landroid/support/v4/view/PagerTitleStrip;->mLastKnownPositionOffset:F
  788. invoke-virtual {p0, p1, v9, v8}, Landroid/support/v4/view/PagerTitleStrip;->updateTextPositions(IFZ)V
  789. .line 308
  790. :cond_2
  791. iput-boolean v8, p0, Landroid/support/v4/view/PagerTitleStrip;->mUpdatingText:Z
  792. .line 309
  793. return-void
  794. .end local v0 # "childHeight":I
  795. .end local v1 # "childHeightSpec":I
  796. .end local v2 # "childWidthSpec":I
  797. .end local v3 # "itemCount":I
  798. .end local v4 # "maxHeight":I
  799. .end local v5 # "maxWidth":I
  800. .end local v6 # "text":Ljava/lang/CharSequence;
  801. .end local v7 # "width":I
  802. :cond_3
  803. move v3, v8
  804. .line 273
  805. goto/16 :goto_0
  806. .line 282
  807. .restart local v3 # "itemCount":I
  808. .restart local v6 # "text":Ljava/lang/CharSequence;
  809. :cond_4
  810. const/4 v9, 0x0
  811. goto :goto_1
  812. .end method
  813. .method updateTextPositions(IFZ)V
  814. .locals 45
  815. .param p1, "position" # I
  816. .param p2, "positionOffset" # F
  817. .param p3, "force" # Z
  818. .prologue
  819. .line 336
  820. move-object/from16 v0, p0
  821. iget v0, v0, Landroid/support/v4/view/PagerTitleStrip;->mLastKnownCurrentPage:I
  822. move/from16 v42, v0
  823. move/from16 v0, p1
  824. move/from16 v1, v42
  825. if-eq v0, v1, :cond_2
  826. .line 337
  827. move-object/from16 v0, p0
  828. iget-object v0, v0, Landroid/support/v4/view/PagerTitleStrip;->mPager:Landroid/support/v4/view/ViewPager;
  829. move-object/from16 v42, v0
  830. invoke-virtual/range {v42 .. v42}, Landroid/support/v4/view/ViewPager;->getAdapter()Landroid/support/v4/view/PagerAdapter;
  831. move-result-object v42
  832. move-object/from16 v0, p0
  833. move/from16 v1, p1
  834. move-object/from16 v2, v42
  835. invoke-virtual {v0, v1, v2}, Landroid/support/v4/view/PagerTitleStrip;->updateText(ILandroid/support/v4/view/PagerAdapter;)V
  836. .line 342
  837. :cond_0
  838. const/16 v42, 0x1
  839. move/from16 v0, v42
  840. move-object/from16 v1, p0
  841. iput-boolean v0, v1, Landroid/support/v4/view/PagerTitleStrip;->mUpdatingPositions:Z
  842. .line 344
  843. move-object/from16 v0, p0
  844. iget-object v0, v0, Landroid/support/v4/view/PagerTitleStrip;->mPrevText:Landroid/widget/TextView;
  845. move-object/from16 v42, v0
  846. invoke-virtual/range {v42 .. v42}, Landroid/widget/TextView;->getMeasuredWidth()I
  847. move-result v36
  848. .line 345
  849. .local v36, "prevWidth":I
  850. move-object/from16 v0, p0
  851. iget-object v0, v0, Landroid/support/v4/view/PagerTitleStrip;->mCurrText:Landroid/widget/TextView;
  852. move-object/from16 v42, v0
  853. invoke-virtual/range {v42 .. v42}, Landroid/widget/TextView;->getMeasuredWidth()I
  854. move-result v18
  855. .line 346
  856. .local v18, "currWidth":I
  857. move-object/from16 v0, p0
  858. iget-object v0, v0, Landroid/support/v4/view/PagerTitleStrip;->mNextText:Landroid/widget/TextView;
  859. move-object/from16 v42, v0
  860. invoke-virtual/range {v42 .. v42}, Landroid/widget/TextView;->getMeasuredWidth()I
  861. move-result v26
  862. .line 347
  863. .local v26, "nextWidth":I
  864. div-int/lit8 v19, v18, 0x2
  865. .line 349
  866. .local v19, "halfCurrWidth":I
  867. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/view/PagerTitleStrip;->getWidth()I
  868. move-result v38
  869. .line 350
  870. .local v38, "stripWidth":I
  871. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/view/PagerTitleStrip;->getHeight()I
  872. move-result v37
  873. .line 351
  874. .local v37, "stripHeight":I
  875. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/view/PagerTitleStrip;->getPaddingLeft()I
  876. move-result v29
  877. .line 352
  878. .local v29, "paddingLeft":I
  879. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/view/PagerTitleStrip;->getPaddingRight()I
  880. move-result v30
  881. .line 353
  882. .local v30, "paddingRight":I
  883. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/view/PagerTitleStrip;->getPaddingTop()I
  884. move-result v31
  885. .line 354
  886. .local v31, "paddingTop":I
  887. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/view/PagerTitleStrip;->getPaddingBottom()I
  888. move-result v28
  889. .line 355
  890. .local v28, "paddingBottom":I
  891. add-int v39, v29, v19
  892. .line 356
  893. .local v39, "textPaddedLeft":I
  894. add-int v40, v30, v19
  895. .line 357
  896. .local v40, "textPaddedRight":I
  897. sub-int v42, v38, v39
  898. sub-int v10, v42, v40
  899. .line 359
  900. .local v10, "contentWidth":I
  901. const/high16 v42, 0x3f000000 # 0.5f
  902. add-float v14, p2, v42
  903. .line 360
  904. .local v14, "currOffset":F
  905. const/high16 v42, 0x3f800000 # 1.0f
  906. cmpl-float v42, v14, v42
  907. if-lez v42, :cond_1
  908. .line 361
  909. const/high16 v42, 0x3f800000 # 1.0f
  910. sub-float v14, v14, v42
  911. .line 363
  912. :cond_1
  913. sub-int v42, v38, v40
  914. int-to-float v0, v10
  915. move/from16 v43, v0
  916. mul-float v43, v43, v14
  917. move/from16 v0, v43
  918. float-to-int v0, v0
  919. move/from16 v43, v0
  920. sub-int v12, v42, v43
  921. .line 364
  922. .local v12, "currCenter":I
  923. div-int/lit8 v42, v18, 0x2
  924. sub-int v13, v12, v42
  925. .line 365
  926. .local v13, "currLeft":I
  927. add-int v15, v13, v18
  928. .line 367
  929. .local v15, "currRight":I
  930. move-object/from16 v0, p0
  931. iget-object v0, v0, Landroid/support/v4/view/PagerTitleStrip;->mPrevText:Landroid/widget/TextView;
  932. move-object/from16 v42, v0
  933. invoke-virtual/range {v42 .. v42}, Landroid/widget/TextView;->getBaseline()I
  934. move-result v32
  935. .line 368
  936. .local v32, "prevBaseline":I
  937. move-object/from16 v0, p0
  938. iget-object v0, v0, Landroid/support/v4/view/PagerTitleStrip;->mCurrText:Landroid/widget/TextView;
  939. move-object/from16 v42, v0
  940. invoke-virtual/range {v42 .. v42}, Landroid/widget/TextView;->getBaseline()I
  941. move-result v11
  942. .line 369
  943. .local v11, "currBaseline":I
  944. move-object/from16 v0, p0
  945. iget-object v0, v0, Landroid/support/v4/view/PagerTitleStrip;->mNextText:Landroid/widget/TextView;
  946. move-object/from16 v42, v0
  947. invoke-virtual/range {v42 .. v42}, Landroid/widget/TextView;->getBaseline()I
  948. move-result v22
  949. .line 370
  950. .local v22, "nextBaseline":I
  951. move/from16 v0, v32
  952. invoke-static {v0, v11}, Ljava/lang/Math;->max(II)I
  953. move-result v42
  954. move/from16 v0, v42
  955. move/from16 v1, v22
  956. invoke-static {v0, v1}, Ljava/lang/Math;->max(II)I
  957. move-result v20
  958. .line 371
  959. .local v20, "maxBaseline":I
  960. sub-int v35, v20, v32
  961. .line 372
  962. .local v35, "prevTopOffset":I
  963. sub-int v17, v20, v11
  964. .line 373
  965. .local v17, "currTopOffset":I
  966. sub-int v25, v20, v22
  967. .line 374
  968. .local v25, "nextTopOffset":I
  969. move-object/from16 v0, p0
  970. iget-object v0, v0, Landroid/support/v4/view/PagerTitleStrip;->mPrevText:Landroid/widget/TextView;
  971. move-object/from16 v42, v0
  972. invoke-virtual/range {v42 .. v42}, Landroid/widget/TextView;->getMeasuredHeight()I
  973. move-result v42
  974. add-int v7, v35, v42
  975. .line 375
  976. .local v7, "alignedPrevHeight":I
  977. move-object/from16 v0, p0
  978. iget-object v0, v0, Landroid/support/v4/view/PagerTitleStrip;->mCurrText:Landroid/widget/TextView;
  979. move-object/from16 v42, v0
  980. invoke-virtual/range {v42 .. v42}, Landroid/widget/TextView;->getMeasuredHeight()I
  981. move-result v42
  982. add-int v5, v17, v42
  983. .line 376
  984. .local v5, "alignedCurrHeight":I
  985. move-object/from16 v0, p0
  986. iget-object v0, v0, Landroid/support/v4/view/PagerTitleStrip;->mNextText:Landroid/widget/TextView;
  987. move-object/from16 v42, v0
  988. invoke-virtual/range {v42 .. v42}, Landroid/widget/TextView;->getMeasuredHeight()I
  989. move-result v42
  990. add-int v6, v25, v42
  991. .line 377
  992. .local v6, "alignedNextHeight":I
  993. invoke-static {v7, v5}, Ljava/lang/Math;->max(II)I
  994. move-result v42
  995. move/from16 v0, v42
  996. invoke-static {v0, v6}, Ljava/lang/Math;->max(II)I
  997. move-result v21
  998. .line 380
  999. .local v21, "maxTextHeight":I
  1000. move-object/from16 v0, p0
  1001. iget v0, v0, Landroid/support/v4/view/PagerTitleStrip;->mGravity:I
  1002. move/from16 v42, v0
  1003. and-int/lit8 v41, v42, 0x70
  1004. .line 385
  1005. .local v41, "vgrav":I
  1006. sparse-switch v41, :sswitch_data_0
  1007. .line 388
  1008. add-int v34, v31, v35
  1009. .line 389
  1010. .local v34, "prevTop":I
  1011. add-int v16, v31, v17
  1012. .line 390
  1013. .local v16, "currTop":I
  1014. add-int v24, v31, v25
  1015. .line 407
  1016. .local v24, "nextTop":I
  1017. :goto_0
  1018. move-object/from16 v0, p0
  1019. iget-object v0, v0, Landroid/support/v4/view/PagerTitleStrip;->mCurrText:Landroid/widget/TextView;
  1020. move-object/from16 v42, v0
  1021. move-object/from16 v0, p0
  1022. iget-object v0, v0, Landroid/support/v4/view/PagerTitleStrip;->mCurrText:Landroid/widget/TextView;
  1023. move-object/from16 v43, v0
  1024. invoke-virtual/range {v43 .. v43}, Landroid/widget/TextView;->getMeasuredHeight()I
  1025. move-result v43
  1026. add-int v43, v43, v16
  1027. move-object/from16 v0, v42
  1028. move/from16 v1, v16
  1029. move/from16 v2, v43
  1030. invoke-virtual {v0, v13, v1, v15, v2}, Landroid/widget/TextView;->layout(IIII)V
  1031. .line 410
  1032. move-object/from16 v0, p0
  1033. iget v0, v0, Landroid/support/v4/view/PagerTitleStrip;->mScaledTextSpacing:I
  1034. move/from16 v42, v0
  1035. sub-int v42, v13, v42
  1036. sub-int v42, v42, v36
  1037. move/from16 v0, v29
  1038. move/from16 v1, v42
  1039. invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I
  1040. move-result v33
  1041. .line 411
  1042. .local v33, "prevLeft":I
  1043. move-object/from16 v0, p0
  1044. iget-object v0, v0, Landroid/support/v4/view/PagerTitleStrip;->mPrevText:Landroid/widget/TextView;
  1045. move-object/from16 v42, v0
  1046. add-int v43, v33, v36
  1047. move-object/from16 v0, p0
  1048. iget-object v0, v0, Landroid/support/v4/view/PagerTitleStrip;->mPrevText:Landroid/widget/TextView;
  1049. move-object/from16 v44, v0
  1050. invoke-virtual/range {v44 .. v44}, Landroid/widget/TextView;->getMeasuredHeight()I
  1051. move-result v44
  1052. add-int v44, v44, v34
  1053. move-object/from16 v0, v42
  1054. move/from16 v1, v33
  1055. move/from16 v2, v34
  1056. move/from16 v3, v43
  1057. move/from16 v4, v44
  1058. invoke-virtual {v0, v1, v2, v3, v4}, Landroid/widget/TextView;->layout(IIII)V
  1059. .line 414
  1060. sub-int v42, v38, v30
  1061. sub-int v42, v42, v26
  1062. move-object/from16 v0, p0
  1063. iget v0, v0, Landroid/support/v4/view/PagerTitleStrip;->mScaledTextSpacing:I
  1064. move/from16 v43, v0
  1065. add-int v43, v43, v15
  1066. invoke-static/range {v42 .. v43}, Ljava/lang/Math;->max(II)I
  1067. move-result v23
  1068. .line 416
  1069. .local v23, "nextLeft":I
  1070. move-object/from16 v0, p0
  1071. iget-object v0, v0, Landroid/support/v4/view/PagerTitleStrip;->mNextText:Landroid/widget/TextView;
  1072. move-object/from16 v42, v0
  1073. add-int v43, v23, v26
  1074. move-object/from16 v0, p0
  1075. iget-object v0, v0, Landroid/support/v4/view/PagerTitleStrip;->mNextText:Landroid/widget/TextView;
  1076. move-object/from16 v44, v0
  1077. invoke-virtual/range {v44 .. v44}, Landroid/widget/TextView;->getMeasuredHeight()I
  1078. move-result v44
  1079. add-int v44, v44, v24
  1080. move-object/from16 v0, v42
  1081. move/from16 v1, v23
  1082. move/from16 v2, v24
  1083. move/from16 v3, v43
  1084. move/from16 v4, v44
  1085. invoke-virtual {v0, v1, v2, v3, v4}, Landroid/widget/TextView;->layout(IIII)V
  1086. .line 419
  1087. move/from16 v0, p2
  1088. move-object/from16 v1, p0
  1089. iput v0, v1, Landroid/support/v4/view/PagerTitleStrip;->mLastKnownPositionOffset:F
  1090. .line 420
  1091. const/16 v42, 0x0
  1092. move/from16 v0, v42
  1093. move-object/from16 v1, p0
  1094. iput-boolean v0, v1, Landroid/support/v4/view/PagerTitleStrip;->mUpdatingPositions:Z
  1095. .line 421
  1096. .end local v5 # "alignedCurrHeight":I
  1097. .end local v6 # "alignedNextHeight":I
  1098. .end local v7 # "alignedPrevHeight":I
  1099. .end local v10 # "contentWidth":I
  1100. .end local v11 # "currBaseline":I
  1101. .end local v12 # "currCenter":I
  1102. .end local v13 # "currLeft":I
  1103. .end local v14 # "currOffset":F
  1104. .end local v15 # "currRight":I
  1105. .end local v16 # "currTop":I
  1106. .end local v17 # "currTopOffset":I
  1107. .end local v18 # "currWidth":I
  1108. .end local v19 # "halfCurrWidth":I
  1109. .end local v20 # "maxBaseline":I
  1110. .end local v21 # "maxTextHeight":I
  1111. .end local v22 # "nextBaseline":I
  1112. .end local v23 # "nextLeft":I
  1113. .end local v24 # "nextTop":I
  1114. .end local v25 # "nextTopOffset":I
  1115. .end local v26 # "nextWidth":I
  1116. .end local v28 # "paddingBottom":I
  1117. .end local v29 # "paddingLeft":I
  1118. .end local v30 # "paddingRight":I
  1119. .end local v31 # "paddingTop":I
  1120. .end local v32 # "prevBaseline":I
  1121. .end local v33 # "prevLeft":I
  1122. .end local v34 # "prevTop":I
  1123. .end local v35 # "prevTopOffset":I
  1124. .end local v36 # "prevWidth":I
  1125. .end local v37 # "stripHeight":I
  1126. .end local v38 # "stripWidth":I
  1127. .end local v39 # "textPaddedLeft":I
  1128. .end local v40 # "textPaddedRight":I
  1129. .end local v41 # "vgrav":I
  1130. :goto_1
  1131. return-void
  1132. .line 338
  1133. :cond_2
  1134. if-nez p3, :cond_0
  1135. move-object/from16 v0, p0
  1136. iget v0, v0, Landroid/support/v4/view/PagerTitleStrip;->mLastKnownPositionOffset:F
  1137. move/from16 v42, v0
  1138. cmpl-float v42, p2, v42
  1139. if-nez v42, :cond_0
  1140. goto :goto_1
  1141. .line 393
  1142. .restart local v5 # "alignedCurrHeight":I
  1143. .restart local v6 # "alignedNextHeight":I
  1144. .restart local v7 # "alignedPrevHeight":I
  1145. .restart local v10 # "contentWidth":I
  1146. .restart local v11 # "currBaseline":I
  1147. .restart local v12 # "currCenter":I
  1148. .restart local v13 # "currLeft":I
  1149. .restart local v14 # "currOffset":F
  1150. .restart local v15 # "currRight":I
  1151. .restart local v17 # "currTopOffset":I
  1152. .restart local v18 # "currWidth":I
  1153. .restart local v19 # "halfCurrWidth":I
  1154. .restart local v20 # "maxBaseline":I
  1155. .restart local v21 # "maxTextHeight":I
  1156. .restart local v22 # "nextBaseline":I
  1157. .restart local v25 # "nextTopOffset":I
  1158. .restart local v26 # "nextWidth":I
  1159. .restart local v28 # "paddingBottom":I
  1160. .restart local v29 # "paddingLeft":I
  1161. .restart local v30 # "paddingRight":I
  1162. .restart local v31 # "paddingTop":I
  1163. .restart local v32 # "prevBaseline":I
  1164. .restart local v35 # "prevTopOffset":I
  1165. .restart local v36 # "prevWidth":I
  1166. .restart local v37 # "stripHeight":I
  1167. .restart local v38 # "stripWidth":I
  1168. .restart local v39 # "textPaddedLeft":I
  1169. .restart local v40 # "textPaddedRight":I
  1170. .restart local v41 # "vgrav":I
  1171. :sswitch_0
  1172. sub-int v42, v37, v31
  1173. sub-int v27, v42, v28
  1174. .line 394
  1175. .local v27, "paddedHeight":I
  1176. sub-int v42, v27, v21
  1177. div-int/lit8 v9, v42, 0x2
  1178. .line 395
  1179. .local v9, "centeredTop":I
  1180. add-int v34, v9, v35
  1181. .line 396
  1182. .restart local v34 # "prevTop":I
  1183. add-int v16, v9, v17
  1184. .line 397
  1185. .restart local v16 # "currTop":I
  1186. add-int v24, v9, v25
  1187. .line 398
  1188. .restart local v24 # "nextTop":I
  1189. goto/16 :goto_0
  1190. .line 400
  1191. .end local v9 # "centeredTop":I
  1192. .end local v16 # "currTop":I
  1193. .end local v24 # "nextTop":I
  1194. .end local v27 # "paddedHeight":I
  1195. .end local v34 # "prevTop":I
  1196. :sswitch_1
  1197. sub-int v42, v37, v28
  1198. sub-int v8, v42, v21
  1199. .line 401
  1200. .local v8, "bottomGravTop":I
  1201. add-int v34, v8, v35
  1202. .line 402
  1203. .restart local v34 # "prevTop":I
  1204. add-int v16, v8, v17
  1205. .line 403
  1206. .restart local v16 # "currTop":I
  1207. add-int v24, v8, v25
  1208. .restart local v24 # "nextTop":I
  1209. goto/16 :goto_0
  1210. .line 385
  1211. nop
  1212. :sswitch_data_0
  1213. .sparse-switch
  1214. 0x10 -> :sswitch_0
  1215. 0x50 -> :sswitch_1
  1216. .end sparse-switch
  1217. .end method