LinearLayoutManager.smali 143 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634
  1. .class public Landroid/support/v7/widget/LinearLayoutManager;
  2. .super Landroid/support/v7/widget/RecyclerView$LayoutManager;
  3. .source ""
  4. # interfaces
  5. .implements Landroid/support/v7/widget/helper/ItemTouchHelper$ViewDropHandler;
  6. # annotations
  7. .annotation system Ldalvik/annotation/MemberClasses;
  8. value = {
  9. Landroid/support/v7/widget/LinearLayoutManager$LayoutChunkResult;,
  10. Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;,
  11. Landroid/support/v7/widget/LinearLayoutManager$SavedState;,
  12. Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  13. }
  14. .end annotation
  15. # static fields
  16. .field private static final DEBUG:Z = false
  17. .field public static final HORIZONTAL:I = 0x0
  18. .field public static final INVALID_OFFSET:I = -0x80000000
  19. .field private static final MAX_SCROLL_FACTOR:F = 0.33333334f
  20. .field private static final TAG:Ljava/lang/String; = "LinearLayoutManager"
  21. .field public static final VERTICAL:I = 0x1
  22. # instance fields
  23. .field final mAnchorInfo:Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;
  24. .field private mLastStackFromEnd:Z
  25. .field private mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  26. .field mOrientation:I
  27. .field mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  28. .field mPendingSavedState:Landroid/support/v7/widget/LinearLayoutManager$SavedState;
  29. .field mPendingScrollPosition:I
  30. .field mPendingScrollPositionOffset:I
  31. .field private mRecycleChildrenOnDetach:Z
  32. .field private mReverseLayout:Z
  33. .field mShouldReverseLayout:Z
  34. .field private mSmoothScrollbarEnabled:Z
  35. .field private mStackFromEnd:Z
  36. # direct methods
  37. .method public constructor <init>(Landroid/content/Context;)V
  38. .locals 2
  39. const/4 v0, 0x1
  40. const/4 v1, 0x0
  41. invoke-direct {p0, p1, v0, v1}, Landroid/support/v7/widget/LinearLayoutManager;-><init>(Landroid/content/Context;IZ)V
  42. return-void
  43. .end method
  44. .method public constructor <init>(Landroid/content/Context;IZ)V
  45. .locals 1
  46. invoke-direct {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;-><init>()V
  47. const/4 p1, 0x0
  48. iput-boolean p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mReverseLayout:Z
  49. iput-boolean p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  50. iput-boolean p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mStackFromEnd:Z
  51. const/4 p1, 0x1
  52. iput-boolean p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mSmoothScrollbarEnabled:Z
  53. const/4 v0, -0x1
  54. iput v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingScrollPosition:I
  55. const/high16 v0, -0x80000000
  56. iput v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingScrollPositionOffset:I
  57. const/4 v0, 0x0
  58. iput-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingSavedState:Landroid/support/v7/widget/LinearLayoutManager$SavedState;
  59. new-instance v0, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;
  60. invoke-direct {v0, p0}, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;-><init>(Landroid/support/v7/widget/LinearLayoutManager;)V
  61. iput-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mAnchorInfo:Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;
  62. invoke-virtual {p0, p2}, Landroid/support/v7/widget/LinearLayoutManager;->setOrientation(I)V
  63. invoke-virtual {p0, p3}, Landroid/support/v7/widget/LinearLayoutManager;->setReverseLayout(Z)V
  64. invoke-virtual {p0, p1}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->setAutoMeasureEnabled(Z)V
  65. return-void
  66. .end method
  67. .method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
  68. .locals 2
  69. invoke-direct {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;-><init>()V
  70. const/4 v0, 0x0
  71. iput-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mReverseLayout:Z
  72. iput-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  73. iput-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mStackFromEnd:Z
  74. const/4 v0, 0x1
  75. iput-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mSmoothScrollbarEnabled:Z
  76. const/4 v1, -0x1
  77. iput v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingScrollPosition:I
  78. const/high16 v1, -0x80000000
  79. iput v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingScrollPositionOffset:I
  80. const/4 v1, 0x0
  81. iput-object v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingSavedState:Landroid/support/v7/widget/LinearLayoutManager$SavedState;
  82. new-instance v1, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;
  83. invoke-direct {v1, p0}, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;-><init>(Landroid/support/v7/widget/LinearLayoutManager;)V
  84. iput-object v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mAnchorInfo:Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;
  85. invoke-static {p1, p2, p3, p4}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getProperties(Landroid/content/Context;Landroid/util/AttributeSet;II)Landroid/support/v7/widget/RecyclerView$LayoutManager$Properties;
  86. move-result-object p1
  87. iget p2, p1, Landroid/support/v7/widget/RecyclerView$LayoutManager$Properties;->orientation:I
  88. invoke-virtual {p0, p2}, Landroid/support/v7/widget/LinearLayoutManager;->setOrientation(I)V
  89. iget-boolean p2, p1, Landroid/support/v7/widget/RecyclerView$LayoutManager$Properties;->reverseLayout:Z
  90. invoke-virtual {p0, p2}, Landroid/support/v7/widget/LinearLayoutManager;->setReverseLayout(Z)V
  91. iget-boolean p1, p1, Landroid/support/v7/widget/RecyclerView$LayoutManager$Properties;->stackFromEnd:Z
  92. invoke-virtual {p0, p1}, Landroid/support/v7/widget/LinearLayoutManager;->setStackFromEnd(Z)V
  93. invoke-virtual {p0, v0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->setAutoMeasureEnabled(Z)V
  94. return-void
  95. .end method
  96. .method private computeScrollExtent(Landroid/support/v7/widget/RecyclerView$State;)I
  97. .locals 6
  98. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  99. move-result v0
  100. if-nez v0, :cond_0
  101. const/4 p1, 0x0
  102. return p1
  103. :cond_0
  104. invoke-virtual {p0}, Landroid/support/v7/widget/LinearLayoutManager;->ensureLayoutState()V
  105. iget-object v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  106. iget-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mSmoothScrollbarEnabled:Z
  107. const/4 v2, 0x1
  108. xor-int/2addr v0, v2
  109. invoke-direct {p0, v0, v2}, Landroid/support/v7/widget/LinearLayoutManager;->findFirstVisibleChildClosestToStart(ZZ)Landroid/view/View;
  110. move-result-object v3
  111. iget-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mSmoothScrollbarEnabled:Z
  112. xor-int/2addr v0, v2
  113. invoke-direct {p0, v0, v2}, Landroid/support/v7/widget/LinearLayoutManager;->findFirstVisibleChildClosestToEnd(ZZ)Landroid/view/View;
  114. move-result-object v4
  115. iget-boolean v5, p0, Landroid/support/v7/widget/LinearLayoutManager;->mSmoothScrollbarEnabled:Z
  116. move-object v0, p1
  117. move-object v2, v3
  118. move-object v3, v4
  119. move-object v4, p0
  120. invoke-static/range {v0 .. v5}, Landroid/support/v7/widget/ScrollbarHelper;->computeScrollExtent(Landroid/support/v7/widget/RecyclerView$State;Landroid/support/v7/widget/OrientationHelper;Landroid/view/View;Landroid/view/View;Landroid/support/v7/widget/RecyclerView$LayoutManager;Z)I
  121. move-result p1
  122. return p1
  123. .end method
  124. .method private computeScrollOffset(Landroid/support/v7/widget/RecyclerView$State;)I
  125. .locals 7
  126. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  127. move-result v0
  128. if-nez v0, :cond_0
  129. const/4 p1, 0x0
  130. return p1
  131. :cond_0
  132. invoke-virtual {p0}, Landroid/support/v7/widget/LinearLayoutManager;->ensureLayoutState()V
  133. iget-object v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  134. iget-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mSmoothScrollbarEnabled:Z
  135. const/4 v2, 0x1
  136. xor-int/2addr v0, v2
  137. invoke-direct {p0, v0, v2}, Landroid/support/v7/widget/LinearLayoutManager;->findFirstVisibleChildClosestToStart(ZZ)Landroid/view/View;
  138. move-result-object v3
  139. iget-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mSmoothScrollbarEnabled:Z
  140. xor-int/2addr v0, v2
  141. invoke-direct {p0, v0, v2}, Landroid/support/v7/widget/LinearLayoutManager;->findFirstVisibleChildClosestToEnd(ZZ)Landroid/view/View;
  142. move-result-object v4
  143. iget-boolean v5, p0, Landroid/support/v7/widget/LinearLayoutManager;->mSmoothScrollbarEnabled:Z
  144. iget-boolean v6, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  145. move-object v0, p1
  146. move-object v2, v3
  147. move-object v3, v4
  148. move-object v4, p0
  149. invoke-static/range {v0 .. v6}, Landroid/support/v7/widget/ScrollbarHelper;->computeScrollOffset(Landroid/support/v7/widget/RecyclerView$State;Landroid/support/v7/widget/OrientationHelper;Landroid/view/View;Landroid/view/View;Landroid/support/v7/widget/RecyclerView$LayoutManager;ZZ)I
  150. move-result p1
  151. return p1
  152. .end method
  153. .method private computeScrollRange(Landroid/support/v7/widget/RecyclerView$State;)I
  154. .locals 6
  155. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  156. move-result v0
  157. if-nez v0, :cond_0
  158. const/4 p1, 0x0
  159. return p1
  160. :cond_0
  161. invoke-virtual {p0}, Landroid/support/v7/widget/LinearLayoutManager;->ensureLayoutState()V
  162. iget-object v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  163. iget-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mSmoothScrollbarEnabled:Z
  164. const/4 v2, 0x1
  165. xor-int/2addr v0, v2
  166. invoke-direct {p0, v0, v2}, Landroid/support/v7/widget/LinearLayoutManager;->findFirstVisibleChildClosestToStart(ZZ)Landroid/view/View;
  167. move-result-object v3
  168. iget-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mSmoothScrollbarEnabled:Z
  169. xor-int/2addr v0, v2
  170. invoke-direct {p0, v0, v2}, Landroid/support/v7/widget/LinearLayoutManager;->findFirstVisibleChildClosestToEnd(ZZ)Landroid/view/View;
  171. move-result-object v4
  172. iget-boolean v5, p0, Landroid/support/v7/widget/LinearLayoutManager;->mSmoothScrollbarEnabled:Z
  173. move-object v0, p1
  174. move-object v2, v3
  175. move-object v3, v4
  176. move-object v4, p0
  177. invoke-static/range {v0 .. v5}, Landroid/support/v7/widget/ScrollbarHelper;->computeScrollRange(Landroid/support/v7/widget/RecyclerView$State;Landroid/support/v7/widget/OrientationHelper;Landroid/view/View;Landroid/view/View;Landroid/support/v7/widget/RecyclerView$LayoutManager;Z)I
  178. move-result p1
  179. return p1
  180. .end method
  181. .method private findFirstReferenceChild(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;)Landroid/view/View;
  182. .locals 6
  183. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  184. move-result v4
  185. invoke-virtual {p2}, Landroid/support/v7/widget/RecyclerView$State;->getItemCount()I
  186. move-result v5
  187. const/4 v3, 0x0
  188. move-object v0, p0
  189. move-object v1, p1
  190. move-object v2, p2
  191. invoke-virtual/range {v0 .. v5}, Landroid/support/v7/widget/LinearLayoutManager;->findReferenceChild(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;III)Landroid/view/View;
  192. move-result-object p1
  193. return-object p1
  194. .end method
  195. .method private findFirstVisibleChildClosestToEnd(ZZ)Landroid/view/View;
  196. .locals 2
  197. iget-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  198. if-eqz v0, :cond_0
  199. const/4 v0, 0x0
  200. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  201. move-result v1
  202. :goto_0
  203. invoke-virtual {p0, v0, v1, p1, p2}, Landroid/support/v7/widget/LinearLayoutManager;->findOneVisibleChild(IIZZ)Landroid/view/View;
  204. move-result-object p1
  205. return-object p1
  206. :cond_0
  207. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  208. move-result v0
  209. add-int/lit8 v0, v0, -0x1
  210. const/4 v1, -0x1
  211. goto :goto_0
  212. .end method
  213. .method private findFirstVisibleChildClosestToStart(ZZ)Landroid/view/View;
  214. .locals 2
  215. iget-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  216. if-eqz v0, :cond_0
  217. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  218. move-result v0
  219. add-int/lit8 v0, v0, -0x1
  220. const/4 v1, -0x1
  221. :goto_0
  222. invoke-virtual {p0, v0, v1, p1, p2}, Landroid/support/v7/widget/LinearLayoutManager;->findOneVisibleChild(IIZZ)Landroid/view/View;
  223. move-result-object p1
  224. return-object p1
  225. :cond_0
  226. const/4 v0, 0x0
  227. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  228. move-result v1
  229. goto :goto_0
  230. .end method
  231. .method private findLastReferenceChild(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;)Landroid/view/View;
  232. .locals 7
  233. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  234. move-result v0
  235. add-int/lit8 v4, v0, -0x1
  236. invoke-virtual {p2}, Landroid/support/v7/widget/RecyclerView$State;->getItemCount()I
  237. move-result v6
  238. const/4 v5, -0x1
  239. move-object v1, p0
  240. move-object v2, p1
  241. move-object v3, p2
  242. invoke-virtual/range {v1 .. v6}, Landroid/support/v7/widget/LinearLayoutManager;->findReferenceChild(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;III)Landroid/view/View;
  243. move-result-object p1
  244. return-object p1
  245. .end method
  246. .method private findReferenceChildClosestToEnd(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;)Landroid/view/View;
  247. .locals 1
  248. iget-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  249. if-eqz v0, :cond_0
  250. invoke-direct {p0, p1, p2}, Landroid/support/v7/widget/LinearLayoutManager;->findFirstReferenceChild(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;)Landroid/view/View;
  251. move-result-object p1
  252. goto :goto_0
  253. :cond_0
  254. invoke-direct {p0, p1, p2}, Landroid/support/v7/widget/LinearLayoutManager;->findLastReferenceChild(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;)Landroid/view/View;
  255. move-result-object p1
  256. :goto_0
  257. return-object p1
  258. .end method
  259. .method private findReferenceChildClosestToStart(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;)Landroid/view/View;
  260. .locals 1
  261. iget-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  262. if-eqz v0, :cond_0
  263. invoke-direct {p0, p1, p2}, Landroid/support/v7/widget/LinearLayoutManager;->findLastReferenceChild(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;)Landroid/view/View;
  264. move-result-object p1
  265. goto :goto_0
  266. :cond_0
  267. invoke-direct {p0, p1, p2}, Landroid/support/v7/widget/LinearLayoutManager;->findFirstReferenceChild(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;)Landroid/view/View;
  268. move-result-object p1
  269. :goto_0
  270. return-object p1
  271. .end method
  272. .method private fixLayoutEndGap(ILandroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;Z)I
  273. .locals 1
  274. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  275. invoke-virtual {v0}, Landroid/support/v7/widget/OrientationHelper;->getEndAfterPadding()I
  276. move-result v0
  277. sub-int/2addr v0, p1
  278. if-lez v0, :cond_1
  279. neg-int v0, v0
  280. invoke-virtual {p0, v0, p2, p3}, Landroid/support/v7/widget/LinearLayoutManager;->scrollBy(ILandroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;)I
  281. move-result p2
  282. neg-int p2, p2
  283. add-int/2addr p1, p2
  284. if-eqz p4, :cond_0
  285. iget-object p3, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  286. invoke-virtual {p3}, Landroid/support/v7/widget/OrientationHelper;->getEndAfterPadding()I
  287. move-result p3
  288. sub-int/2addr p3, p1
  289. if-lez p3, :cond_0
  290. iget-object p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  291. invoke-virtual {p1, p3}, Landroid/support/v7/widget/OrientationHelper;->offsetChildren(I)V
  292. add-int/2addr p3, p2
  293. return p3
  294. :cond_0
  295. return p2
  296. :cond_1
  297. const/4 p1, 0x0
  298. return p1
  299. .end method
  300. .method private fixLayoutStartGap(ILandroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;Z)I
  301. .locals 1
  302. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  303. invoke-virtual {v0}, Landroid/support/v7/widget/OrientationHelper;->getStartAfterPadding()I
  304. move-result v0
  305. sub-int v0, p1, v0
  306. if-lez v0, :cond_1
  307. invoke-virtual {p0, v0, p2, p3}, Landroid/support/v7/widget/LinearLayoutManager;->scrollBy(ILandroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;)I
  308. move-result p2
  309. neg-int p2, p2
  310. add-int/2addr p1, p2
  311. if-eqz p4, :cond_0
  312. iget-object p3, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  313. invoke-virtual {p3}, Landroid/support/v7/widget/OrientationHelper;->getStartAfterPadding()I
  314. move-result p3
  315. sub-int/2addr p1, p3
  316. if-lez p1, :cond_0
  317. iget-object p3, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  318. neg-int p4, p1
  319. invoke-virtual {p3, p4}, Landroid/support/v7/widget/OrientationHelper;->offsetChildren(I)V
  320. sub-int/2addr p2, p1
  321. :cond_0
  322. return p2
  323. :cond_1
  324. const/4 p1, 0x0
  325. return p1
  326. .end method
  327. .method private getChildClosestToEnd()Landroid/view/View;
  328. .locals 1
  329. iget-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  330. if-eqz v0, :cond_0
  331. const/4 v0, 0x0
  332. goto :goto_0
  333. :cond_0
  334. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  335. move-result v0
  336. add-int/lit8 v0, v0, -0x1
  337. :goto_0
  338. invoke-virtual {p0, v0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildAt(I)Landroid/view/View;
  339. move-result-object v0
  340. return-object v0
  341. .end method
  342. .method private getChildClosestToStart()Landroid/view/View;
  343. .locals 1
  344. iget-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  345. if-eqz v0, :cond_0
  346. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  347. move-result v0
  348. add-int/lit8 v0, v0, -0x1
  349. goto :goto_0
  350. :cond_0
  351. const/4 v0, 0x0
  352. :goto_0
  353. invoke-virtual {p0, v0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildAt(I)Landroid/view/View;
  354. move-result-object v0
  355. return-object v0
  356. .end method
  357. .method private layoutForPredictiveAnimations(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;II)V
  358. .locals 15
  359. move-object v0, p0
  360. move-object/from16 v1, p1
  361. move-object/from16 v2, p2
  362. invoke-virtual/range {p2 .. p2}, Landroid/support/v7/widget/RecyclerView$State;->willRunPredictiveAnimations()Z
  363. move-result v3
  364. if-eqz v3, :cond_8
  365. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  366. move-result v3
  367. if-eqz v3, :cond_8
  368. invoke-virtual/range {p2 .. p2}, Landroid/support/v7/widget/RecyclerView$State;->isPreLayout()Z
  369. move-result v3
  370. if-nez v3, :cond_8
  371. invoke-virtual {p0}, Landroid/support/v7/widget/LinearLayoutManager;->supportsPredictiveItemAnimations()Z
  372. move-result v3
  373. if-nez v3, :cond_0
  374. goto/16 :goto_3
  375. :cond_0
  376. invoke-virtual/range {p1 .. p1}, Landroid/support/v7/widget/RecyclerView$Recycler;->getScrapList()Ljava/util/List;
  377. move-result-object v3
  378. invoke-interface {v3}, Ljava/util/List;->size()I
  379. move-result v4
  380. const/4 v5, 0x0
  381. invoke-virtual {p0, v5}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildAt(I)Landroid/view/View;
  382. move-result-object v6
  383. invoke-virtual {p0, v6}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  384. move-result v6
  385. const/4 v7, 0x0
  386. const/4 v8, 0x0
  387. const/4 v9, 0x0
  388. :goto_0
  389. if-ge v7, v4, :cond_5
  390. invoke-interface {v3, v7}, Ljava/util/List;->get(I)Ljava/lang/Object;
  391. move-result-object v10
  392. check-cast v10, Landroid/support/v7/widget/RecyclerView$ViewHolder;
  393. invoke-virtual {v10}, Landroid/support/v7/widget/RecyclerView$ViewHolder;->isRemoved()Z
  394. move-result v11
  395. if-eqz v11, :cond_1
  396. goto :goto_2
  397. :cond_1
  398. invoke-virtual {v10}, Landroid/support/v7/widget/RecyclerView$ViewHolder;->getLayoutPosition()I
  399. move-result v11
  400. const/4 v12, 0x1
  401. if-ge v11, v6, :cond_2
  402. const/4 v11, 0x1
  403. goto :goto_1
  404. :cond_2
  405. const/4 v11, 0x0
  406. :goto_1
  407. iget-boolean v13, v0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  408. const/4 v14, -0x1
  409. if-eq v11, v13, :cond_3
  410. const/4 v12, -0x1
  411. :cond_3
  412. iget-object v11, v0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  413. iget-object v10, v10, Landroid/support/v7/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
  414. invoke-virtual {v11, v10}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedMeasurement(Landroid/view/View;)I
  415. move-result v10
  416. if-ne v12, v14, :cond_4
  417. add-int/2addr v8, v10
  418. goto :goto_2
  419. :cond_4
  420. add-int/2addr v9, v10
  421. :goto_2
  422. add-int/lit8 v7, v7, 0x1
  423. goto :goto_0
  424. :cond_5
  425. iget-object v4, v0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  426. iput-object v3, v4, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mScrapList:Ljava/util/List;
  427. if-lez v8, :cond_6
  428. invoke-direct {p0}, Landroid/support/v7/widget/LinearLayoutManager;->getChildClosestToStart()Landroid/view/View;
  429. move-result-object v3
  430. invoke-virtual {p0, v3}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  431. move-result v3
  432. move/from16 v4, p3
  433. invoke-direct {p0, v3, v4}, Landroid/support/v7/widget/LinearLayoutManager;->updateLayoutStateToFillStart(II)V
  434. iget-object v3, v0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  435. iput v8, v3, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mExtra:I
  436. iput v5, v3, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mAvailable:I
  437. invoke-virtual {v3}, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->assignPositionFromScrapList()V
  438. iget-object v3, v0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  439. invoke-virtual {p0, v1, v3, v2, v5}, Landroid/support/v7/widget/LinearLayoutManager;->fill(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/LinearLayoutManager$LayoutState;Landroid/support/v7/widget/RecyclerView$State;Z)I
  440. :cond_6
  441. if-lez v9, :cond_7
  442. invoke-direct {p0}, Landroid/support/v7/widget/LinearLayoutManager;->getChildClosestToEnd()Landroid/view/View;
  443. move-result-object v3
  444. invoke-virtual {p0, v3}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  445. move-result v3
  446. move/from16 v4, p4
  447. invoke-direct {p0, v3, v4}, Landroid/support/v7/widget/LinearLayoutManager;->updateLayoutStateToFillEnd(II)V
  448. iget-object v3, v0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  449. iput v9, v3, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mExtra:I
  450. iput v5, v3, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mAvailable:I
  451. invoke-virtual {v3}, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->assignPositionFromScrapList()V
  452. iget-object v3, v0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  453. invoke-virtual {p0, v1, v3, v2, v5}, Landroid/support/v7/widget/LinearLayoutManager;->fill(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/LinearLayoutManager$LayoutState;Landroid/support/v7/widget/RecyclerView$State;Z)I
  454. :cond_7
  455. iget-object v1, v0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  456. const/4 v2, 0x0
  457. iput-object v2, v1, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mScrapList:Ljava/util/List;
  458. :cond_8
  459. :goto_3
  460. return-void
  461. .end method
  462. .method private logChildren()V
  463. .locals 5
  464. const-string v0, "LinearLayoutManager"
  465. const-string v1, "internal representation of views on the screen"
  466. invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  467. const/4 v1, 0x0
  468. :goto_0
  469. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  470. move-result v2
  471. if-ge v1, v2, :cond_0
  472. invoke-virtual {p0, v1}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildAt(I)Landroid/view/View;
  473. move-result-object v2
  474. new-instance v3, Ljava/lang/StringBuilder;
  475. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  476. const-string v4, "item "
  477. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  478. invoke-virtual {p0, v2}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  479. move-result v4
  480. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  481. const-string v4, ", coord:"
  482. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  483. iget-object v4, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  484. invoke-virtual {v4, v2}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
  485. move-result v2
  486. invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  487. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  488. move-result-object v2
  489. invoke-static {v0, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  490. add-int/lit8 v1, v1, 0x1
  491. goto :goto_0
  492. :cond_0
  493. const-string v1, "=============="
  494. invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  495. return-void
  496. .end method
  497. .method private recycleByLayoutState(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/LinearLayoutManager$LayoutState;)V
  498. .locals 2
  499. iget-boolean v0, p2, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mRecycle:Z
  500. if-eqz v0, :cond_2
  501. iget-boolean v0, p2, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mInfinite:Z
  502. if-eqz v0, :cond_0
  503. goto :goto_0
  504. :cond_0
  505. iget v0, p2, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I
  506. const/4 v1, -0x1
  507. iget p2, p2, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
  508. if-ne v0, v1, :cond_1
  509. invoke-direct {p0, p1, p2}, Landroid/support/v7/widget/LinearLayoutManager;->recycleViewsFromEnd(Landroid/support/v7/widget/RecyclerView$Recycler;I)V
  510. goto :goto_0
  511. :cond_1
  512. invoke-direct {p0, p1, p2}, Landroid/support/v7/widget/LinearLayoutManager;->recycleViewsFromStart(Landroid/support/v7/widget/RecyclerView$Recycler;I)V
  513. :cond_2
  514. :goto_0
  515. return-void
  516. .end method
  517. .method private recycleChildren(Landroid/support/v7/widget/RecyclerView$Recycler;II)V
  518. .locals 0
  519. if-ne p2, p3, :cond_0
  520. return-void
  521. :cond_0
  522. if-le p3, p2, :cond_1
  523. add-int/lit8 p3, p3, -0x1
  524. :goto_0
  525. if-lt p3, p2, :cond_2
  526. invoke-virtual {p0, p3, p1}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->removeAndRecycleViewAt(ILandroid/support/v7/widget/RecyclerView$Recycler;)V
  527. add-int/lit8 p3, p3, -0x1
  528. goto :goto_0
  529. :cond_1
  530. :goto_1
  531. if-le p2, p3, :cond_2
  532. invoke-virtual {p0, p2, p1}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->removeAndRecycleViewAt(ILandroid/support/v7/widget/RecyclerView$Recycler;)V
  533. add-int/lit8 p2, p2, -0x1
  534. goto :goto_1
  535. :cond_2
  536. return-void
  537. .end method
  538. .method private recycleViewsFromEnd(Landroid/support/v7/widget/RecyclerView$Recycler;I)V
  539. .locals 5
  540. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  541. move-result v0
  542. if-gez p2, :cond_0
  543. return-void
  544. :cond_0
  545. iget-object v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  546. invoke-virtual {v1}, Landroid/support/v7/widget/OrientationHelper;->getEnd()I
  547. move-result v1
  548. sub-int/2addr v1, p2
  549. iget-boolean p2, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  550. if-eqz p2, :cond_3
  551. const/4 p2, 0x0
  552. const/4 v2, 0x0
  553. :goto_0
  554. if-ge v2, v0, :cond_6
  555. invoke-virtual {p0, v2}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildAt(I)Landroid/view/View;
  556. move-result-object v3
  557. iget-object v4, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  558. invoke-virtual {v4, v3}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
  559. move-result v4
  560. if-lt v4, v1, :cond_2
  561. iget-object v4, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  562. invoke-virtual {v4, v3}, Landroid/support/v7/widget/OrientationHelper;->getTransformedStartWithDecoration(Landroid/view/View;)I
  563. move-result v3
  564. if-ge v3, v1, :cond_1
  565. goto :goto_1
  566. :cond_1
  567. add-int/lit8 v2, v2, 0x1
  568. goto :goto_0
  569. :cond_2
  570. :goto_1
  571. invoke-direct {p0, p1, p2, v2}, Landroid/support/v7/widget/LinearLayoutManager;->recycleChildren(Landroid/support/v7/widget/RecyclerView$Recycler;II)V
  572. return-void
  573. :cond_3
  574. add-int/lit8 v0, v0, -0x1
  575. move p2, v0
  576. :goto_2
  577. if-ltz p2, :cond_6
  578. invoke-virtual {p0, p2}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildAt(I)Landroid/view/View;
  579. move-result-object v2
  580. iget-object v3, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  581. invoke-virtual {v3, v2}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
  582. move-result v3
  583. if-lt v3, v1, :cond_5
  584. iget-object v3, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  585. invoke-virtual {v3, v2}, Landroid/support/v7/widget/OrientationHelper;->getTransformedStartWithDecoration(Landroid/view/View;)I
  586. move-result v2
  587. if-ge v2, v1, :cond_4
  588. goto :goto_3
  589. :cond_4
  590. add-int/lit8 p2, p2, -0x1
  591. goto :goto_2
  592. :cond_5
  593. :goto_3
  594. invoke-direct {p0, p1, v0, p2}, Landroid/support/v7/widget/LinearLayoutManager;->recycleChildren(Landroid/support/v7/widget/RecyclerView$Recycler;II)V
  595. :cond_6
  596. return-void
  597. .end method
  598. .method private recycleViewsFromStart(Landroid/support/v7/widget/RecyclerView$Recycler;I)V
  599. .locals 5
  600. if-gez p2, :cond_0
  601. return-void
  602. :cond_0
  603. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  604. move-result v0
  605. iget-boolean v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  606. if-eqz v1, :cond_3
  607. add-int/lit8 v0, v0, -0x1
  608. move v1, v0
  609. :goto_0
  610. if-ltz v1, :cond_6
  611. invoke-virtual {p0, v1}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildAt(I)Landroid/view/View;
  612. move-result-object v2
  613. iget-object v3, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  614. invoke-virtual {v3, v2}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
  615. move-result v3
  616. if-gt v3, p2, :cond_2
  617. iget-object v3, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  618. invoke-virtual {v3, v2}, Landroid/support/v7/widget/OrientationHelper;->getTransformedEndWithDecoration(Landroid/view/View;)I
  619. move-result v2
  620. if-le v2, p2, :cond_1
  621. goto :goto_1
  622. :cond_1
  623. add-int/lit8 v1, v1, -0x1
  624. goto :goto_0
  625. :cond_2
  626. :goto_1
  627. invoke-direct {p0, p1, v0, v1}, Landroid/support/v7/widget/LinearLayoutManager;->recycleChildren(Landroid/support/v7/widget/RecyclerView$Recycler;II)V
  628. return-void
  629. :cond_3
  630. const/4 v1, 0x0
  631. const/4 v2, 0x0
  632. :goto_2
  633. if-ge v2, v0, :cond_6
  634. invoke-virtual {p0, v2}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildAt(I)Landroid/view/View;
  635. move-result-object v3
  636. iget-object v4, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  637. invoke-virtual {v4, v3}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
  638. move-result v4
  639. if-gt v4, p2, :cond_5
  640. iget-object v4, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  641. invoke-virtual {v4, v3}, Landroid/support/v7/widget/OrientationHelper;->getTransformedEndWithDecoration(Landroid/view/View;)I
  642. move-result v3
  643. if-le v3, p2, :cond_4
  644. goto :goto_3
  645. :cond_4
  646. add-int/lit8 v2, v2, 0x1
  647. goto :goto_2
  648. :cond_5
  649. :goto_3
  650. invoke-direct {p0, p1, v1, v2}, Landroid/support/v7/widget/LinearLayoutManager;->recycleChildren(Landroid/support/v7/widget/RecyclerView$Recycler;II)V
  651. :cond_6
  652. return-void
  653. .end method
  654. .method private resolveShouldLayoutReverse()V
  655. .locals 2
  656. iget v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientation:I
  657. const/4 v1, 0x1
  658. if-eq v0, v1, :cond_1
  659. invoke-virtual {p0}, Landroid/support/v7/widget/LinearLayoutManager;->isLayoutRTL()Z
  660. move-result v0
  661. if-nez v0, :cond_0
  662. goto :goto_0
  663. :cond_0
  664. iget-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mReverseLayout:Z
  665. xor-int/2addr v0, v1
  666. goto :goto_1
  667. :cond_1
  668. :goto_0
  669. iget-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mReverseLayout:Z
  670. :goto_1
  671. iput-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  672. return-void
  673. .end method
  674. .method private updateAnchorFromChildren(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;)Z
  675. .locals 4
  676. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  677. move-result v0
  678. const/4 v1, 0x0
  679. if-nez v0, :cond_0
  680. return v1
  681. :cond_0
  682. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getFocusedChild()Landroid/view/View;
  683. move-result-object v0
  684. const/4 v2, 0x1
  685. if-eqz v0, :cond_1
  686. invoke-static {p3, v0, p2}, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->access$000(Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;Landroid/view/View;Landroid/support/v7/widget/RecyclerView$State;)Z
  687. move-result v3
  688. if-eqz v3, :cond_1
  689. invoke-virtual {p3, v0}, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->assignFromViewAndKeepVisibleRect(Landroid/view/View;)V
  690. return v2
  691. :cond_1
  692. iget-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLastStackFromEnd:Z
  693. iget-boolean v3, p0, Landroid/support/v7/widget/LinearLayoutManager;->mStackFromEnd:Z
  694. if-eq v0, v3, :cond_2
  695. return v1
  696. :cond_2
  697. iget-boolean v0, p3, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->mLayoutFromEnd:Z
  698. if-eqz v0, :cond_3
  699. invoke-direct {p0, p1, p2}, Landroid/support/v7/widget/LinearLayoutManager;->findReferenceChildClosestToEnd(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;)Landroid/view/View;
  700. move-result-object p1
  701. goto :goto_0
  702. :cond_3
  703. invoke-direct {p0, p1, p2}, Landroid/support/v7/widget/LinearLayoutManager;->findReferenceChildClosestToStart(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;)Landroid/view/View;
  704. move-result-object p1
  705. :goto_0
  706. if-eqz p1, :cond_8
  707. invoke-virtual {p3, p1}, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->assignFromView(Landroid/view/View;)V
  708. invoke-virtual {p2}, Landroid/support/v7/widget/RecyclerView$State;->isPreLayout()Z
  709. move-result p2
  710. if-nez p2, :cond_7
  711. invoke-virtual {p0}, Landroid/support/v7/widget/LinearLayoutManager;->supportsPredictiveItemAnimations()Z
  712. move-result p2
  713. if-eqz p2, :cond_7
  714. iget-object p2, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  715. invoke-virtual {p2, p1}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
  716. move-result p2
  717. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  718. invoke-virtual {v0}, Landroid/support/v7/widget/OrientationHelper;->getEndAfterPadding()I
  719. move-result v0
  720. if-ge p2, v0, :cond_4
  721. iget-object p2, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  722. invoke-virtual {p2, p1}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
  723. move-result p1
  724. iget-object p2, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  725. invoke-virtual {p2}, Landroid/support/v7/widget/OrientationHelper;->getStartAfterPadding()I
  726. move-result p2
  727. if-ge p1, p2, :cond_5
  728. :cond_4
  729. const/4 v1, 0x1
  730. :cond_5
  731. if-eqz v1, :cond_7
  732. iget-boolean p1, p3, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->mLayoutFromEnd:Z
  733. if-eqz p1, :cond_6
  734. iget-object p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  735. invoke-virtual {p1}, Landroid/support/v7/widget/OrientationHelper;->getEndAfterPadding()I
  736. move-result p1
  737. goto :goto_1
  738. :cond_6
  739. iget-object p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  740. invoke-virtual {p1}, Landroid/support/v7/widget/OrientationHelper;->getStartAfterPadding()I
  741. move-result p1
  742. :goto_1
  743. iput p1, p3, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->mCoordinate:I
  744. :cond_7
  745. return v2
  746. :cond_8
  747. return v1
  748. .end method
  749. .method private updateAnchorFromPendingData(Landroid/support/v7/widget/RecyclerView$State;Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;)Z
  750. .locals 4
  751. invoke-virtual {p1}, Landroid/support/v7/widget/RecyclerView$State;->isPreLayout()Z
  752. move-result v0
  753. const/4 v1, 0x0
  754. if-nez v0, :cond_f
  755. iget v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingScrollPosition:I
  756. const/4 v2, -0x1
  757. if-ne v0, v2, :cond_0
  758. goto/16 :goto_6
  759. :cond_0
  760. const/high16 v3, -0x80000000
  761. if-ltz v0, :cond_e
  762. invoke-virtual {p1}, Landroid/support/v7/widget/RecyclerView$State;->getItemCount()I
  763. move-result p1
  764. if-lt v0, p1, :cond_1
  765. goto/16 :goto_5
  766. :cond_1
  767. iget p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingScrollPosition:I
  768. iput p1, p2, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->mPosition:I
  769. iget-object p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingSavedState:Landroid/support/v7/widget/LinearLayoutManager$SavedState;
  770. const/4 v0, 0x1
  771. if-eqz p1, :cond_3
  772. invoke-virtual {p1}, Landroid/support/v7/widget/LinearLayoutManager$SavedState;->hasValidAnchor()Z
  773. move-result p1
  774. if-eqz p1, :cond_3
  775. iget-object p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingSavedState:Landroid/support/v7/widget/LinearLayoutManager$SavedState;
  776. iget-boolean p1, p1, Landroid/support/v7/widget/LinearLayoutManager$SavedState;->mAnchorLayoutFromEnd:Z
  777. iput-boolean p1, p2, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->mLayoutFromEnd:Z
  778. iget-boolean p1, p2, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->mLayoutFromEnd:Z
  779. if-eqz p1, :cond_2
  780. iget-object p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  781. invoke-virtual {p1}, Landroid/support/v7/widget/OrientationHelper;->getEndAfterPadding()I
  782. move-result p1
  783. iget-object v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingSavedState:Landroid/support/v7/widget/LinearLayoutManager$SavedState;
  784. iget v1, v1, Landroid/support/v7/widget/LinearLayoutManager$SavedState;->mAnchorOffset:I
  785. sub-int/2addr p1, v1
  786. goto :goto_0
  787. :cond_2
  788. iget-object p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  789. invoke-virtual {p1}, Landroid/support/v7/widget/OrientationHelper;->getStartAfterPadding()I
  790. move-result p1
  791. iget-object v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingSavedState:Landroid/support/v7/widget/LinearLayoutManager$SavedState;
  792. iget v1, v1, Landroid/support/v7/widget/LinearLayoutManager$SavedState;->mAnchorOffset:I
  793. add-int/2addr p1, v1
  794. :goto_0
  795. iput p1, p2, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->mCoordinate:I
  796. return v0
  797. :cond_3
  798. iget p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingScrollPositionOffset:I
  799. if-ne p1, v3, :cond_c
  800. iget p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingScrollPosition:I
  801. invoke-virtual {p0, p1}, Landroid/support/v7/widget/LinearLayoutManager;->findViewByPosition(I)Landroid/view/View;
  802. move-result-object p1
  803. if-eqz p1, :cond_8
  804. iget-object v2, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  805. invoke-virtual {v2, p1}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedMeasurement(Landroid/view/View;)I
  806. move-result v2
  807. iget-object v3, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  808. invoke-virtual {v3}, Landroid/support/v7/widget/OrientationHelper;->getTotalSpace()I
  809. move-result v3
  810. if-le v2, v3, :cond_4
  811. invoke-virtual {p2}, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->assignCoordinateFromPadding()V
  812. return v0
  813. :cond_4
  814. iget-object v2, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  815. invoke-virtual {v2, p1}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
  816. move-result v2
  817. iget-object v3, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  818. invoke-virtual {v3}, Landroid/support/v7/widget/OrientationHelper;->getStartAfterPadding()I
  819. move-result v3
  820. sub-int/2addr v2, v3
  821. if-gez v2, :cond_5
  822. iget-object p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  823. invoke-virtual {p1}, Landroid/support/v7/widget/OrientationHelper;->getStartAfterPadding()I
  824. move-result p1
  825. iput p1, p2, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->mCoordinate:I
  826. iput-boolean v1, p2, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->mLayoutFromEnd:Z
  827. return v0
  828. :cond_5
  829. iget-object v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  830. invoke-virtual {v1}, Landroid/support/v7/widget/OrientationHelper;->getEndAfterPadding()I
  831. move-result v1
  832. iget-object v2, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  833. invoke-virtual {v2, p1}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
  834. move-result v2
  835. sub-int/2addr v1, v2
  836. if-gez v1, :cond_6
  837. iget-object p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  838. invoke-virtual {p1}, Landroid/support/v7/widget/OrientationHelper;->getEndAfterPadding()I
  839. move-result p1
  840. iput p1, p2, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->mCoordinate:I
  841. iput-boolean v0, p2, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->mLayoutFromEnd:Z
  842. return v0
  843. :cond_6
  844. iget-boolean v1, p2, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->mLayoutFromEnd:Z
  845. if-eqz v1, :cond_7
  846. iget-object v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  847. invoke-virtual {v1, p1}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
  848. move-result p1
  849. iget-object v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  850. invoke-virtual {v1}, Landroid/support/v7/widget/OrientationHelper;->getTotalSpaceChange()I
  851. move-result v1
  852. add-int/2addr p1, v1
  853. goto :goto_1
  854. :cond_7
  855. iget-object v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  856. invoke-virtual {v1, p1}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
  857. move-result p1
  858. :goto_1
  859. iput p1, p2, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->mCoordinate:I
  860. goto :goto_3
  861. :cond_8
  862. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  863. move-result p1
  864. if-lez p1, :cond_b
  865. invoke-virtual {p0, v1}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildAt(I)Landroid/view/View;
  866. move-result-object p1
  867. invoke-virtual {p0, p1}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  868. move-result p1
  869. iget v2, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingScrollPosition:I
  870. if-ge v2, p1, :cond_9
  871. const/4 p1, 0x1
  872. goto :goto_2
  873. :cond_9
  874. const/4 p1, 0x0
  875. :goto_2
  876. iget-boolean v2, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  877. if-ne p1, v2, :cond_a
  878. const/4 v1, 0x1
  879. :cond_a
  880. iput-boolean v1, p2, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->mLayoutFromEnd:Z
  881. :cond_b
  882. invoke-virtual {p2}, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->assignCoordinateFromPadding()V
  883. :goto_3
  884. return v0
  885. :cond_c
  886. iget-boolean p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  887. iput-boolean p1, p2, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->mLayoutFromEnd:Z
  888. if-eqz p1, :cond_d
  889. iget-object p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  890. invoke-virtual {p1}, Landroid/support/v7/widget/OrientationHelper;->getEndAfterPadding()I
  891. move-result p1
  892. iget v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingScrollPositionOffset:I
  893. sub-int/2addr p1, v1
  894. goto :goto_4
  895. :cond_d
  896. iget-object p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  897. invoke-virtual {p1}, Landroid/support/v7/widget/OrientationHelper;->getStartAfterPadding()I
  898. move-result p1
  899. iget v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingScrollPositionOffset:I
  900. add-int/2addr p1, v1
  901. :goto_4
  902. iput p1, p2, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->mCoordinate:I
  903. return v0
  904. :cond_e
  905. :goto_5
  906. iput v2, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingScrollPosition:I
  907. iput v3, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingScrollPositionOffset:I
  908. :cond_f
  909. :goto_6
  910. return v1
  911. .end method
  912. .method private updateAnchorInfoForLayout(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;)V
  913. .locals 1
  914. invoke-direct {p0, p2, p3}, Landroid/support/v7/widget/LinearLayoutManager;->updateAnchorFromPendingData(Landroid/support/v7/widget/RecyclerView$State;Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;)Z
  915. move-result v0
  916. if-eqz v0, :cond_0
  917. return-void
  918. :cond_0
  919. invoke-direct {p0, p1, p2, p3}, Landroid/support/v7/widget/LinearLayoutManager;->updateAnchorFromChildren(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;)Z
  920. move-result p1
  921. if-eqz p1, :cond_1
  922. return-void
  923. :cond_1
  924. invoke-virtual {p3}, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->assignCoordinateFromPadding()V
  925. iget-boolean p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mStackFromEnd:Z
  926. if-eqz p1, :cond_2
  927. invoke-virtual {p2}, Landroid/support/v7/widget/RecyclerView$State;->getItemCount()I
  928. move-result p1
  929. add-int/lit8 p1, p1, -0x1
  930. goto :goto_0
  931. :cond_2
  932. const/4 p1, 0x0
  933. :goto_0
  934. iput p1, p3, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->mPosition:I
  935. return-void
  936. .end method
  937. .method private updateLayoutState(IIZLandroid/support/v7/widget/RecyclerView$State;)V
  938. .locals 4
  939. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  940. invoke-virtual {p0}, Landroid/support/v7/widget/LinearLayoutManager;->resolveIsInfinite()Z
  941. move-result v1
  942. iput-boolean v1, v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mInfinite:Z
  943. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  944. invoke-virtual {p0, p4}, Landroid/support/v7/widget/LinearLayoutManager;->getExtraLayoutSpace(Landroid/support/v7/widget/RecyclerView$State;)I
  945. move-result p4
  946. iput p4, v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mExtra:I
  947. iget-object p4, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  948. iput p1, p4, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I
  949. const/4 v0, -0x1
  950. const/4 v1, 0x1
  951. if-ne p1, v1, :cond_1
  952. iget p1, p4, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mExtra:I
  953. iget-object v2, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  954. invoke-virtual {v2}, Landroid/support/v7/widget/OrientationHelper;->getEndPadding()I
  955. move-result v2
  956. add-int/2addr p1, v2
  957. iput p1, p4, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mExtra:I
  958. invoke-direct {p0}, Landroid/support/v7/widget/LinearLayoutManager;->getChildClosestToEnd()Landroid/view/View;
  959. move-result-object p1
  960. iget-object p4, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  961. iget-boolean v2, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  962. if-eqz v2, :cond_0
  963. goto :goto_0
  964. :cond_0
  965. const/4 v0, 0x1
  966. :goto_0
  967. iput v0, p4, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mItemDirection:I
  968. iget-object p4, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  969. invoke-virtual {p0, p1}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  970. move-result v0
  971. iget-object v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  972. iget v2, v1, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mItemDirection:I
  973. add-int/2addr v0, v2
  974. iput v0, p4, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I
  975. iget-object p4, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  976. invoke-virtual {p4, p1}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
  977. move-result p4
  978. iput p4, v1, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mOffset:I
  979. iget-object p4, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  980. invoke-virtual {p4, p1}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
  981. move-result p1
  982. iget-object p4, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  983. invoke-virtual {p4}, Landroid/support/v7/widget/OrientationHelper;->getEndAfterPadding()I
  984. move-result p4
  985. sub-int/2addr p1, p4
  986. goto :goto_1
  987. :cond_1
  988. invoke-direct {p0}, Landroid/support/v7/widget/LinearLayoutManager;->getChildClosestToStart()Landroid/view/View;
  989. move-result-object p1
  990. iget-object p4, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  991. iget v2, p4, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mExtra:I
  992. iget-object v3, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  993. invoke-virtual {v3}, Landroid/support/v7/widget/OrientationHelper;->getStartAfterPadding()I
  994. move-result v3
  995. add-int/2addr v2, v3
  996. iput v2, p4, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mExtra:I
  997. iget-object p4, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  998. iget-boolean v2, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  999. if-eqz v2, :cond_2
  1000. const/4 v0, 0x1
  1001. :cond_2
  1002. iput v0, p4, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mItemDirection:I
  1003. iget-object p4, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  1004. invoke-virtual {p0, p1}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  1005. move-result v0
  1006. iget-object v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  1007. iget v2, v1, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mItemDirection:I
  1008. add-int/2addr v0, v2
  1009. iput v0, p4, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I
  1010. iget-object p4, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1011. invoke-virtual {p4, p1}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
  1012. move-result p4
  1013. iput p4, v1, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mOffset:I
  1014. iget-object p4, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1015. invoke-virtual {p4, p1}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
  1016. move-result p1
  1017. neg-int p1, p1
  1018. iget-object p4, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1019. invoke-virtual {p4}, Landroid/support/v7/widget/OrientationHelper;->getStartAfterPadding()I
  1020. move-result p4
  1021. add-int/2addr p1, p4
  1022. :goto_1
  1023. iget-object p4, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  1024. iput p2, p4, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mAvailable:I
  1025. if-eqz p3, :cond_3
  1026. iget p2, p4, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mAvailable:I
  1027. sub-int/2addr p2, p1
  1028. iput p2, p4, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mAvailable:I
  1029. :cond_3
  1030. iget-object p2, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  1031. iput p1, p2, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
  1032. return-void
  1033. .end method
  1034. .method private updateLayoutStateToFillEnd(II)V
  1035. .locals 3
  1036. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  1037. iget-object v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1038. invoke-virtual {v1}, Landroid/support/v7/widget/OrientationHelper;->getEndAfterPadding()I
  1039. move-result v1
  1040. sub-int/2addr v1, p2
  1041. iput v1, v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mAvailable:I
  1042. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  1043. iget-boolean v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  1044. const/4 v2, 0x1
  1045. if-eqz v1, :cond_0
  1046. const/4 v1, -0x1
  1047. goto :goto_0
  1048. :cond_0
  1049. const/4 v1, 0x1
  1050. :goto_0
  1051. iput v1, v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mItemDirection:I
  1052. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  1053. iput p1, v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I
  1054. iput v2, v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I
  1055. iput p2, v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mOffset:I
  1056. const/high16 p1, -0x80000000
  1057. iput p1, v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
  1058. return-void
  1059. .end method
  1060. .method private updateLayoutStateToFillEnd(Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;)V
  1061. .locals 1
  1062. iget v0, p1, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->mPosition:I
  1063. iget p1, p1, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->mCoordinate:I
  1064. invoke-direct {p0, v0, p1}, Landroid/support/v7/widget/LinearLayoutManager;->updateLayoutStateToFillEnd(II)V
  1065. return-void
  1066. .end method
  1067. .method private updateLayoutStateToFillStart(II)V
  1068. .locals 2
  1069. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  1070. iget-object v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1071. invoke-virtual {v1}, Landroid/support/v7/widget/OrientationHelper;->getStartAfterPadding()I
  1072. move-result v1
  1073. sub-int v1, p2, v1
  1074. iput v1, v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mAvailable:I
  1075. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  1076. iput p1, v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I
  1077. iget-boolean p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  1078. const/4 v1, -0x1
  1079. if-eqz p1, :cond_0
  1080. const/4 p1, 0x1
  1081. goto :goto_0
  1082. :cond_0
  1083. const/4 p1, -0x1
  1084. :goto_0
  1085. iput p1, v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mItemDirection:I
  1086. iget-object p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  1087. iput v1, p1, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I
  1088. iput p2, p1, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mOffset:I
  1089. const/high16 p2, -0x80000000
  1090. iput p2, p1, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
  1091. return-void
  1092. .end method
  1093. .method private updateLayoutStateToFillStart(Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;)V
  1094. .locals 1
  1095. iget v0, p1, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->mPosition:I
  1096. iget p1, p1, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->mCoordinate:I
  1097. invoke-direct {p0, v0, p1}, Landroid/support/v7/widget/LinearLayoutManager;->updateLayoutStateToFillStart(II)V
  1098. return-void
  1099. .end method
  1100. # virtual methods
  1101. .method public assertNotInLayoutOrScroll(Ljava/lang/String;)V
  1102. .locals 1
  1103. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingSavedState:Landroid/support/v7/widget/LinearLayoutManager$SavedState;
  1104. if-nez v0, :cond_0
  1105. invoke-super {p0, p1}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
  1106. :cond_0
  1107. return-void
  1108. .end method
  1109. .method public canScrollHorizontally()Z
  1110. .locals 1
  1111. iget v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientation:I
  1112. if-nez v0, :cond_0
  1113. const/4 v0, 0x1
  1114. goto :goto_0
  1115. :cond_0
  1116. const/4 v0, 0x0
  1117. :goto_0
  1118. return v0
  1119. .end method
  1120. .method public canScrollVertically()Z
  1121. .locals 2
  1122. iget v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientation:I
  1123. const/4 v1, 0x1
  1124. if-ne v0, v1, :cond_0
  1125. goto :goto_0
  1126. :cond_0
  1127. const/4 v1, 0x0
  1128. :goto_0
  1129. return v1
  1130. .end method
  1131. .method public computeHorizontalScrollExtent(Landroid/support/v7/widget/RecyclerView$State;)I
  1132. .locals 0
  1133. invoke-direct {p0, p1}, Landroid/support/v7/widget/LinearLayoutManager;->computeScrollExtent(Landroid/support/v7/widget/RecyclerView$State;)I
  1134. move-result p1
  1135. return p1
  1136. .end method
  1137. .method public computeHorizontalScrollOffset(Landroid/support/v7/widget/RecyclerView$State;)I
  1138. .locals 0
  1139. invoke-direct {p0, p1}, Landroid/support/v7/widget/LinearLayoutManager;->computeScrollOffset(Landroid/support/v7/widget/RecyclerView$State;)I
  1140. move-result p1
  1141. return p1
  1142. .end method
  1143. .method public computeHorizontalScrollRange(Landroid/support/v7/widget/RecyclerView$State;)I
  1144. .locals 0
  1145. invoke-direct {p0, p1}, Landroid/support/v7/widget/LinearLayoutManager;->computeScrollRange(Landroid/support/v7/widget/RecyclerView$State;)I
  1146. move-result p1
  1147. return p1
  1148. .end method
  1149. .method public computeScrollVectorForPosition(I)Landroid/graphics/PointF;
  1150. .locals 3
  1151. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  1152. move-result v0
  1153. if-nez v0, :cond_0
  1154. const/4 p1, 0x0
  1155. return-object p1
  1156. :cond_0
  1157. const/4 v0, 0x0
  1158. invoke-virtual {p0, v0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildAt(I)Landroid/view/View;
  1159. move-result-object v1
  1160. invoke-virtual {p0, v1}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  1161. move-result v1
  1162. const/4 v2, 0x1
  1163. if-ge p1, v1, :cond_1
  1164. const/4 v0, 0x1
  1165. :cond_1
  1166. iget-boolean p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  1167. if-eq v0, p1, :cond_2
  1168. const/4 v2, -0x1
  1169. :cond_2
  1170. iget p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientation:I
  1171. const/4 v0, 0x0
  1172. if-nez p1, :cond_3
  1173. new-instance p1, Landroid/graphics/PointF;
  1174. int-to-float v1, v2
  1175. invoke-direct {p1, v1, v0}, Landroid/graphics/PointF;-><init>(FF)V
  1176. return-object p1
  1177. :cond_3
  1178. new-instance p1, Landroid/graphics/PointF;
  1179. int-to-float v1, v2
  1180. invoke-direct {p1, v0, v1}, Landroid/graphics/PointF;-><init>(FF)V
  1181. return-object p1
  1182. .end method
  1183. .method public computeVerticalScrollExtent(Landroid/support/v7/widget/RecyclerView$State;)I
  1184. .locals 0
  1185. invoke-direct {p0, p1}, Landroid/support/v7/widget/LinearLayoutManager;->computeScrollExtent(Landroid/support/v7/widget/RecyclerView$State;)I
  1186. move-result p1
  1187. return p1
  1188. .end method
  1189. .method public computeVerticalScrollOffset(Landroid/support/v7/widget/RecyclerView$State;)I
  1190. .locals 0
  1191. invoke-direct {p0, p1}, Landroid/support/v7/widget/LinearLayoutManager;->computeScrollOffset(Landroid/support/v7/widget/RecyclerView$State;)I
  1192. move-result p1
  1193. return p1
  1194. .end method
  1195. .method public computeVerticalScrollRange(Landroid/support/v7/widget/RecyclerView$State;)I
  1196. .locals 0
  1197. invoke-direct {p0, p1}, Landroid/support/v7/widget/LinearLayoutManager;->computeScrollRange(Landroid/support/v7/widget/RecyclerView$State;)I
  1198. move-result p1
  1199. return p1
  1200. .end method
  1201. .method convertFocusDirectionToLayoutDirection(I)I
  1202. .locals 4
  1203. const/4 v0, -0x1
  1204. const/4 v1, 0x1
  1205. if-eq p1, v1, :cond_b
  1206. const/4 v2, 0x2
  1207. if-eq p1, v2, :cond_8
  1208. const/16 v2, 0x11
  1209. const/high16 v3, -0x80000000
  1210. if-eq p1, v2, :cond_6
  1211. const/16 v2, 0x21
  1212. if-eq p1, v2, :cond_4
  1213. const/16 v0, 0x42
  1214. if-eq p1, v0, :cond_2
  1215. const/16 v0, 0x82
  1216. if-eq p1, v0, :cond_0
  1217. return v3
  1218. :cond_0
  1219. iget p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientation:I
  1220. if-ne p1, v1, :cond_1
  1221. goto :goto_0
  1222. :cond_1
  1223. const/high16 v1, -0x80000000
  1224. :goto_0
  1225. return v1
  1226. :cond_2
  1227. iget p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientation:I
  1228. if-nez p1, :cond_3
  1229. goto :goto_1
  1230. :cond_3
  1231. const/high16 v1, -0x80000000
  1232. :goto_1
  1233. return v1
  1234. :cond_4
  1235. iget p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientation:I
  1236. if-ne p1, v1, :cond_5
  1237. goto :goto_2
  1238. :cond_5
  1239. const/high16 v0, -0x80000000
  1240. :goto_2
  1241. return v0
  1242. :cond_6
  1243. iget p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientation:I
  1244. if-nez p1, :cond_7
  1245. goto :goto_3
  1246. :cond_7
  1247. const/high16 v0, -0x80000000
  1248. :goto_3
  1249. return v0
  1250. :cond_8
  1251. iget p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientation:I
  1252. if-ne p1, v1, :cond_9
  1253. return v1
  1254. :cond_9
  1255. invoke-virtual {p0}, Landroid/support/v7/widget/LinearLayoutManager;->isLayoutRTL()Z
  1256. move-result p1
  1257. if-eqz p1, :cond_a
  1258. return v0
  1259. :cond_a
  1260. return v1
  1261. :cond_b
  1262. iget p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientation:I
  1263. if-ne p1, v1, :cond_c
  1264. return v0
  1265. :cond_c
  1266. invoke-virtual {p0}, Landroid/support/v7/widget/LinearLayoutManager;->isLayoutRTL()Z
  1267. move-result p1
  1268. if-eqz p1, :cond_d
  1269. return v1
  1270. :cond_d
  1271. return v0
  1272. .end method
  1273. .method createLayoutState()Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  1274. .locals 1
  1275. new-instance v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  1276. invoke-direct {v0}, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;-><init>()V
  1277. return-object v0
  1278. .end method
  1279. .method ensureLayoutState()V
  1280. .locals 1
  1281. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  1282. if-nez v0, :cond_0
  1283. invoke-virtual {p0}, Landroid/support/v7/widget/LinearLayoutManager;->createLayoutState()Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  1284. move-result-object v0
  1285. iput-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  1286. :cond_0
  1287. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1288. if-nez v0, :cond_1
  1289. iget v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientation:I
  1290. invoke-static {p0, v0}, Landroid/support/v7/widget/OrientationHelper;->createOrientationHelper(Landroid/support/v7/widget/RecyclerView$LayoutManager;I)Landroid/support/v7/widget/OrientationHelper;
  1291. move-result-object v0
  1292. iput-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1293. :cond_1
  1294. return-void
  1295. .end method
  1296. .method fill(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/LinearLayoutManager$LayoutState;Landroid/support/v7/widget/RecyclerView$State;Z)I
  1297. .locals 7
  1298. iget v0, p2, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mAvailable:I
  1299. iget v1, p2, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
  1300. const/high16 v2, -0x80000000
  1301. if-eq v1, v2, :cond_1
  1302. if-gez v0, :cond_0
  1303. add-int/2addr v1, v0
  1304. iput v1, p2, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
  1305. :cond_0
  1306. invoke-direct {p0, p1, p2}, Landroid/support/v7/widget/LinearLayoutManager;->recycleByLayoutState(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/LinearLayoutManager$LayoutState;)V
  1307. :cond_1
  1308. iget v1, p2, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mAvailable:I
  1309. iget v3, p2, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mExtra:I
  1310. add-int/2addr v1, v3
  1311. new-instance v3, Landroid/support/v7/widget/LinearLayoutManager$LayoutChunkResult;
  1312. invoke-direct {v3}, Landroid/support/v7/widget/LinearLayoutManager$LayoutChunkResult;-><init>()V
  1313. :cond_2
  1314. iget-boolean v4, p2, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mInfinite:Z
  1315. if-nez v4, :cond_3
  1316. if-lez v1, :cond_9
  1317. :cond_3
  1318. invoke-virtual {p2, p3}, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->hasMore(Landroid/support/v7/widget/RecyclerView$State;)Z
  1319. move-result v4
  1320. if-eqz v4, :cond_9
  1321. invoke-virtual {v3}, Landroid/support/v7/widget/LinearLayoutManager$LayoutChunkResult;->resetInternal()V
  1322. invoke-virtual {p0, p1, p3, p2, v3}, Landroid/support/v7/widget/LinearLayoutManager;->layoutChunk(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;Landroid/support/v7/widget/LinearLayoutManager$LayoutState;Landroid/support/v7/widget/LinearLayoutManager$LayoutChunkResult;)V
  1323. iget-boolean v4, v3, Landroid/support/v7/widget/LinearLayoutManager$LayoutChunkResult;->mFinished:Z
  1324. if-eqz v4, :cond_4
  1325. goto :goto_0
  1326. :cond_4
  1327. iget v4, p2, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mOffset:I
  1328. iget v5, v3, Landroid/support/v7/widget/LinearLayoutManager$LayoutChunkResult;->mConsumed:I
  1329. iget v6, p2, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I
  1330. mul-int v5, v5, v6
  1331. add-int/2addr v4, v5
  1332. iput v4, p2, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mOffset:I
  1333. iget-boolean v4, v3, Landroid/support/v7/widget/LinearLayoutManager$LayoutChunkResult;->mIgnoreConsumed:Z
  1334. if-eqz v4, :cond_5
  1335. iget-object v4, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  1336. iget-object v4, v4, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mScrapList:Ljava/util/List;
  1337. if-nez v4, :cond_5
  1338. invoke-virtual {p3}, Landroid/support/v7/widget/RecyclerView$State;->isPreLayout()Z
  1339. move-result v4
  1340. if-nez v4, :cond_6
  1341. :cond_5
  1342. iget v4, p2, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mAvailable:I
  1343. iget v5, v3, Landroid/support/v7/widget/LinearLayoutManager$LayoutChunkResult;->mConsumed:I
  1344. sub-int/2addr v4, v5
  1345. iput v4, p2, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mAvailable:I
  1346. sub-int/2addr v1, v5
  1347. :cond_6
  1348. iget v4, p2, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
  1349. if-eq v4, v2, :cond_8
  1350. iget v5, v3, Landroid/support/v7/widget/LinearLayoutManager$LayoutChunkResult;->mConsumed:I
  1351. add-int/2addr v4, v5
  1352. iput v4, p2, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
  1353. iget v4, p2, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mAvailable:I
  1354. if-gez v4, :cond_7
  1355. iget v5, p2, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
  1356. add-int/2addr v5, v4
  1357. iput v5, p2, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
  1358. :cond_7
  1359. invoke-direct {p0, p1, p2}, Landroid/support/v7/widget/LinearLayoutManager;->recycleByLayoutState(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/LinearLayoutManager$LayoutState;)V
  1360. :cond_8
  1361. if-eqz p4, :cond_2
  1362. iget-boolean v4, v3, Landroid/support/v7/widget/LinearLayoutManager$LayoutChunkResult;->mFocusable:Z
  1363. if-eqz v4, :cond_2
  1364. :cond_9
  1365. :goto_0
  1366. iget p1, p2, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mAvailable:I
  1367. sub-int/2addr v0, p1
  1368. return v0
  1369. .end method
  1370. .method public findFirstCompletelyVisibleItemPosition()I
  1371. .locals 3
  1372. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  1373. move-result v0
  1374. const/4 v1, 0x0
  1375. const/4 v2, 0x1
  1376. invoke-virtual {p0, v1, v0, v2, v1}, Landroid/support/v7/widget/LinearLayoutManager;->findOneVisibleChild(IIZZ)Landroid/view/View;
  1377. move-result-object v0
  1378. if-nez v0, :cond_0
  1379. const/4 v0, -0x1
  1380. goto :goto_0
  1381. :cond_0
  1382. invoke-virtual {p0, v0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  1383. move-result v0
  1384. :goto_0
  1385. return v0
  1386. .end method
  1387. .method public findFirstVisibleItemPosition()I
  1388. .locals 3
  1389. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  1390. move-result v0
  1391. const/4 v1, 0x0
  1392. const/4 v2, 0x1
  1393. invoke-virtual {p0, v1, v0, v1, v2}, Landroid/support/v7/widget/LinearLayoutManager;->findOneVisibleChild(IIZZ)Landroid/view/View;
  1394. move-result-object v0
  1395. if-nez v0, :cond_0
  1396. const/4 v0, -0x1
  1397. goto :goto_0
  1398. :cond_0
  1399. invoke-virtual {p0, v0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  1400. move-result v0
  1401. :goto_0
  1402. return v0
  1403. .end method
  1404. .method public findLastCompletelyVisibleItemPosition()I
  1405. .locals 4
  1406. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  1407. move-result v0
  1408. const/4 v1, 0x1
  1409. sub-int/2addr v0, v1
  1410. const/4 v2, -0x1
  1411. const/4 v3, 0x0
  1412. invoke-virtual {p0, v0, v2, v1, v3}, Landroid/support/v7/widget/LinearLayoutManager;->findOneVisibleChild(IIZZ)Landroid/view/View;
  1413. move-result-object v0
  1414. if-nez v0, :cond_0
  1415. goto :goto_0
  1416. :cond_0
  1417. invoke-virtual {p0, v0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  1418. move-result v2
  1419. :goto_0
  1420. return v2
  1421. .end method
  1422. .method public findLastVisibleItemPosition()I
  1423. .locals 4
  1424. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  1425. move-result v0
  1426. const/4 v1, 0x1
  1427. sub-int/2addr v0, v1
  1428. const/4 v2, -0x1
  1429. const/4 v3, 0x0
  1430. invoke-virtual {p0, v0, v2, v3, v1}, Landroid/support/v7/widget/LinearLayoutManager;->findOneVisibleChild(IIZZ)Landroid/view/View;
  1431. move-result-object v0
  1432. if-nez v0, :cond_0
  1433. goto :goto_0
  1434. :cond_0
  1435. invoke-virtual {p0, v0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  1436. move-result v2
  1437. :goto_0
  1438. return v2
  1439. .end method
  1440. .method findOneVisibleChild(IIZZ)Landroid/view/View;
  1441. .locals 7
  1442. invoke-virtual {p0}, Landroid/support/v7/widget/LinearLayoutManager;->ensureLayoutState()V
  1443. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1444. invoke-virtual {v0}, Landroid/support/v7/widget/OrientationHelper;->getStartAfterPadding()I
  1445. move-result v0
  1446. iget-object v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1447. invoke-virtual {v1}, Landroid/support/v7/widget/OrientationHelper;->getEndAfterPadding()I
  1448. move-result v1
  1449. if-le p2, p1, :cond_0
  1450. const/4 v2, 0x1
  1451. goto :goto_0
  1452. :cond_0
  1453. const/4 v2, -0x1
  1454. :goto_0
  1455. const/4 v3, 0x0
  1456. :goto_1
  1457. if-eq p1, p2, :cond_4
  1458. invoke-virtual {p0, p1}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildAt(I)Landroid/view/View;
  1459. move-result-object v4
  1460. iget-object v5, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1461. invoke-virtual {v5, v4}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
  1462. move-result v5
  1463. iget-object v6, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1464. invoke-virtual {v6, v4}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
  1465. move-result v6
  1466. if-ge v5, v1, :cond_3
  1467. if-le v6, v0, :cond_3
  1468. if-eqz p3, :cond_2
  1469. if-lt v5, v0, :cond_1
  1470. if-gt v6, v1, :cond_1
  1471. return-object v4
  1472. :cond_1
  1473. if-eqz p4, :cond_3
  1474. if-nez v3, :cond_3
  1475. move-object v3, v4
  1476. goto :goto_2
  1477. :cond_2
  1478. return-object v4
  1479. :cond_3
  1480. :goto_2
  1481. add-int/2addr p1, v2
  1482. goto :goto_1
  1483. :cond_4
  1484. return-object v3
  1485. .end method
  1486. .method findReferenceChild(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;III)Landroid/view/View;
  1487. .locals 5
  1488. invoke-virtual {p0}, Landroid/support/v7/widget/LinearLayoutManager;->ensureLayoutState()V
  1489. iget-object p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1490. invoke-virtual {p1}, Landroid/support/v7/widget/OrientationHelper;->getStartAfterPadding()I
  1491. move-result p1
  1492. iget-object p2, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1493. invoke-virtual {p2}, Landroid/support/v7/widget/OrientationHelper;->getEndAfterPadding()I
  1494. move-result p2
  1495. if-le p4, p3, :cond_0
  1496. const/4 v0, 0x1
  1497. goto :goto_0
  1498. :cond_0
  1499. const/4 v0, -0x1
  1500. :goto_0
  1501. const/4 v1, 0x0
  1502. move-object v2, v1
  1503. :goto_1
  1504. if-eq p3, p4, :cond_5
  1505. invoke-virtual {p0, p3}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildAt(I)Landroid/view/View;
  1506. move-result-object v3
  1507. invoke-virtual {p0, v3}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  1508. move-result v4
  1509. if-ltz v4, :cond_4
  1510. if-ge v4, p5, :cond_4
  1511. invoke-virtual {v3}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
  1512. move-result-object v4
  1513. check-cast v4, Landroid/support/v7/widget/RecyclerView$LayoutParams;
  1514. invoke-virtual {v4}, Landroid/support/v7/widget/RecyclerView$LayoutParams;->isItemRemoved()Z
  1515. move-result v4
  1516. if-eqz v4, :cond_1
  1517. if-nez v2, :cond_4
  1518. move-object v2, v3
  1519. goto :goto_3
  1520. :cond_1
  1521. iget-object v4, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1522. invoke-virtual {v4, v3}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
  1523. move-result v4
  1524. if-ge v4, p2, :cond_3
  1525. iget-object v4, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1526. invoke-virtual {v4, v3}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
  1527. move-result v4
  1528. if-ge v4, p1, :cond_2
  1529. goto :goto_2
  1530. :cond_2
  1531. return-object v3
  1532. :cond_3
  1533. :goto_2
  1534. if-nez v1, :cond_4
  1535. move-object v1, v3
  1536. :cond_4
  1537. :goto_3
  1538. add-int/2addr p3, v0
  1539. goto :goto_1
  1540. :cond_5
  1541. if-eqz v1, :cond_6
  1542. goto :goto_4
  1543. :cond_6
  1544. move-object v1, v2
  1545. :goto_4
  1546. return-object v1
  1547. .end method
  1548. .method public findViewByPosition(I)Landroid/view/View;
  1549. .locals 2
  1550. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  1551. move-result v0
  1552. if-nez v0, :cond_0
  1553. const/4 p1, 0x0
  1554. return-object p1
  1555. :cond_0
  1556. const/4 v1, 0x0
  1557. invoke-virtual {p0, v1}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildAt(I)Landroid/view/View;
  1558. move-result-object v1
  1559. invoke-virtual {p0, v1}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  1560. move-result v1
  1561. sub-int v1, p1, v1
  1562. if-ltz v1, :cond_1
  1563. if-ge v1, v0, :cond_1
  1564. invoke-virtual {p0, v1}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildAt(I)Landroid/view/View;
  1565. move-result-object v0
  1566. invoke-virtual {p0, v0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  1567. move-result v1
  1568. if-ne v1, p1, :cond_1
  1569. return-object v0
  1570. :cond_1
  1571. invoke-super {p0, p1}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->findViewByPosition(I)Landroid/view/View;
  1572. move-result-object p1
  1573. return-object p1
  1574. .end method
  1575. .method public generateDefaultLayoutParams()Landroid/support/v7/widget/RecyclerView$LayoutParams;
  1576. .locals 2
  1577. new-instance v0, Landroid/support/v7/widget/RecyclerView$LayoutParams;
  1578. const/4 v1, -0x2
  1579. invoke-direct {v0, v1, v1}, Landroid/support/v7/widget/RecyclerView$LayoutParams;-><init>(II)V
  1580. return-object v0
  1581. .end method
  1582. .method protected getExtraLayoutSpace(Landroid/support/v7/widget/RecyclerView$State;)I
  1583. .locals 0
  1584. invoke-virtual {p1}, Landroid/support/v7/widget/RecyclerView$State;->hasTargetScrollPosition()Z
  1585. move-result p1
  1586. if-eqz p1, :cond_0
  1587. iget-object p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1588. invoke-virtual {p1}, Landroid/support/v7/widget/OrientationHelper;->getTotalSpace()I
  1589. move-result p1
  1590. return p1
  1591. :cond_0
  1592. const/4 p1, 0x0
  1593. return p1
  1594. .end method
  1595. .method public getOrientation()I
  1596. .locals 1
  1597. iget v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientation:I
  1598. return v0
  1599. .end method
  1600. .method public getRecycleChildrenOnDetach()Z
  1601. .locals 1
  1602. iget-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mRecycleChildrenOnDetach:Z
  1603. return v0
  1604. .end method
  1605. .method public getReverseLayout()Z
  1606. .locals 1
  1607. iget-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mReverseLayout:Z
  1608. return v0
  1609. .end method
  1610. .method public getStackFromEnd()Z
  1611. .locals 1
  1612. iget-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mStackFromEnd:Z
  1613. return v0
  1614. .end method
  1615. .method protected isLayoutRTL()Z
  1616. .locals 2
  1617. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getLayoutDirection()I
  1618. move-result v0
  1619. const/4 v1, 0x1
  1620. if-ne v0, v1, :cond_0
  1621. goto :goto_0
  1622. :cond_0
  1623. const/4 v1, 0x0
  1624. :goto_0
  1625. return v1
  1626. .end method
  1627. .method public isSmoothScrollbarEnabled()Z
  1628. .locals 1
  1629. iget-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mSmoothScrollbarEnabled:Z
  1630. return v0
  1631. .end method
  1632. .method layoutChunk(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;Landroid/support/v7/widget/LinearLayoutManager$LayoutState;Landroid/support/v7/widget/LinearLayoutManager$LayoutChunkResult;)V
  1633. .locals 7
  1634. invoke-virtual {p3, p1}, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->next(Landroid/support/v7/widget/RecyclerView$Recycler;)Landroid/view/View;
  1635. move-result-object p1
  1636. const/4 p2, 0x1
  1637. if-nez p1, :cond_0
  1638. iput-boolean p2, p4, Landroid/support/v7/widget/LinearLayoutManager$LayoutChunkResult;->mFinished:Z
  1639. return-void
  1640. :cond_0
  1641. invoke-virtual {p1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
  1642. move-result-object v0
  1643. move-object v6, v0
  1644. check-cast v6, Landroid/support/v7/widget/RecyclerView$LayoutParams;
  1645. iget-object v0, p3, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mScrapList:Ljava/util/List;
  1646. const/4 v1, -0x1
  1647. const/4 v2, 0x0
  1648. if-nez v0, :cond_3
  1649. iget-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  1650. iget v3, p3, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I
  1651. if-ne v3, v1, :cond_1
  1652. const/4 v3, 0x1
  1653. goto :goto_0
  1654. :cond_1
  1655. const/4 v3, 0x0
  1656. :goto_0
  1657. if-ne v0, v3, :cond_2
  1658. invoke-virtual {p0, p1}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->addView(Landroid/view/View;)V
  1659. goto :goto_2
  1660. :cond_2
  1661. invoke-virtual {p0, p1, v2}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->addView(Landroid/view/View;I)V
  1662. goto :goto_2
  1663. :cond_3
  1664. iget-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  1665. iget v3, p3, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I
  1666. if-ne v3, v1, :cond_4
  1667. const/4 v3, 0x1
  1668. goto :goto_1
  1669. :cond_4
  1670. const/4 v3, 0x0
  1671. :goto_1
  1672. if-ne v0, v3, :cond_5
  1673. invoke-virtual {p0, p1}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->addDisappearingView(Landroid/view/View;)V
  1674. goto :goto_2
  1675. :cond_5
  1676. invoke-virtual {p0, p1, v2}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->addDisappearingView(Landroid/view/View;I)V
  1677. :goto_2
  1678. invoke-virtual {p0, p1, v2, v2}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->measureChildWithMargins(Landroid/view/View;II)V
  1679. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1680. invoke-virtual {v0, p1}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedMeasurement(Landroid/view/View;)I
  1681. move-result v0
  1682. iput v0, p4, Landroid/support/v7/widget/LinearLayoutManager$LayoutChunkResult;->mConsumed:I
  1683. iget v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientation:I
  1684. if-ne v0, p2, :cond_8
  1685. invoke-virtual {p0}, Landroid/support/v7/widget/LinearLayoutManager;->isLayoutRTL()Z
  1686. move-result v0
  1687. if-eqz v0, :cond_6
  1688. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getWidth()I
  1689. move-result v0
  1690. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPaddingRight()I
  1691. move-result v2
  1692. sub-int/2addr v0, v2
  1693. iget-object v2, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1694. invoke-virtual {v2, p1}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedMeasurementInOther(Landroid/view/View;)I
  1695. move-result v2
  1696. sub-int v2, v0, v2
  1697. goto :goto_3
  1698. :cond_6
  1699. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPaddingLeft()I
  1700. move-result v2
  1701. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1702. invoke-virtual {v0, p1}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedMeasurementInOther(Landroid/view/View;)I
  1703. move-result v0
  1704. add-int/2addr v0, v2
  1705. :goto_3
  1706. iget v3, p3, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I
  1707. iget p3, p3, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mOffset:I
  1708. if-ne v3, v1, :cond_7
  1709. iget v1, p4, Landroid/support/v7/widget/LinearLayoutManager$LayoutChunkResult;->mConsumed:I
  1710. sub-int v1, p3, v1
  1711. move v5, p3
  1712. move v4, v0
  1713. move v3, v1
  1714. goto :goto_4
  1715. :cond_7
  1716. iget v1, p4, Landroid/support/v7/widget/LinearLayoutManager$LayoutChunkResult;->mConsumed:I
  1717. add-int/2addr v1, p3
  1718. move v3, p3
  1719. move v4, v0
  1720. move v5, v1
  1721. goto :goto_4
  1722. :cond_8
  1723. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPaddingTop()I
  1724. move-result v0
  1725. iget-object v2, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1726. invoke-virtual {v2, p1}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedMeasurementInOther(Landroid/view/View;)I
  1727. move-result v2
  1728. add-int/2addr v2, v0
  1729. iget v3, p3, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I
  1730. iget p3, p3, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mOffset:I
  1731. if-ne v3, v1, :cond_9
  1732. iget v1, p4, Landroid/support/v7/widget/LinearLayoutManager$LayoutChunkResult;->mConsumed:I
  1733. sub-int v1, p3, v1
  1734. move v4, p3
  1735. move v3, v0
  1736. move v5, v2
  1737. move v2, v1
  1738. goto :goto_4
  1739. :cond_9
  1740. iget v1, p4, Landroid/support/v7/widget/LinearLayoutManager$LayoutChunkResult;->mConsumed:I
  1741. add-int/2addr v1, p3
  1742. move v3, v0
  1743. move v4, v1
  1744. move v5, v2
  1745. move v2, p3
  1746. :goto_4
  1747. move-object v0, p0
  1748. move-object v1, p1
  1749. invoke-virtual/range {v0 .. v5}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->layoutDecoratedWithMargins(Landroid/view/View;IIII)V
  1750. invoke-virtual {v6}, Landroid/support/v7/widget/RecyclerView$LayoutParams;->isItemRemoved()Z
  1751. move-result p3
  1752. if-nez p3, :cond_a
  1753. invoke-virtual {v6}, Landroid/support/v7/widget/RecyclerView$LayoutParams;->isItemChanged()Z
  1754. move-result p3
  1755. if-eqz p3, :cond_b
  1756. :cond_a
  1757. iput-boolean p2, p4, Landroid/support/v7/widget/LinearLayoutManager$LayoutChunkResult;->mIgnoreConsumed:Z
  1758. :cond_b
  1759. invoke-virtual {p1}, Landroid/view/View;->isFocusable()Z
  1760. move-result p1
  1761. iput-boolean p1, p4, Landroid/support/v7/widget/LinearLayoutManager$LayoutChunkResult;->mFocusable:Z
  1762. return-void
  1763. .end method
  1764. .method onAnchorReady(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;I)V
  1765. .locals 0
  1766. return-void
  1767. .end method
  1768. .method public onDetachedFromWindow(Landroid/support/v7/widget/RecyclerView;Landroid/support/v7/widget/RecyclerView$Recycler;)V
  1769. .locals 0
  1770. invoke-super {p0, p1, p2}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->onDetachedFromWindow(Landroid/support/v7/widget/RecyclerView;Landroid/support/v7/widget/RecyclerView$Recycler;)V
  1771. iget-boolean p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mRecycleChildrenOnDetach:Z
  1772. if-eqz p1, :cond_0
  1773. invoke-virtual {p0, p2}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->removeAndRecycleAllViews(Landroid/support/v7/widget/RecyclerView$Recycler;)V
  1774. invoke-virtual {p2}, Landroid/support/v7/widget/RecyclerView$Recycler;->clear()V
  1775. :cond_0
  1776. return-void
  1777. .end method
  1778. .method public onFocusSearchFailed(Landroid/view/View;ILandroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;)Landroid/view/View;
  1779. .locals 5
  1780. invoke-direct {p0}, Landroid/support/v7/widget/LinearLayoutManager;->resolveShouldLayoutReverse()V
  1781. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  1782. move-result p1
  1783. const/4 v0, 0x0
  1784. if-nez p1, :cond_0
  1785. return-object v0
  1786. :cond_0
  1787. invoke-virtual {p0, p2}, Landroid/support/v7/widget/LinearLayoutManager;->convertFocusDirectionToLayoutDirection(I)I
  1788. move-result p1
  1789. const/high16 p2, -0x80000000
  1790. if-ne p1, p2, :cond_1
  1791. return-object v0
  1792. :cond_1
  1793. invoke-virtual {p0}, Landroid/support/v7/widget/LinearLayoutManager;->ensureLayoutState()V
  1794. const/4 v1, -0x1
  1795. if-ne p1, v1, :cond_2
  1796. invoke-direct {p0, p3, p4}, Landroid/support/v7/widget/LinearLayoutManager;->findReferenceChildClosestToStart(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;)Landroid/view/View;
  1797. move-result-object v2
  1798. goto :goto_0
  1799. :cond_2
  1800. invoke-direct {p0, p3, p4}, Landroid/support/v7/widget/LinearLayoutManager;->findReferenceChildClosestToEnd(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;)Landroid/view/View;
  1801. move-result-object v2
  1802. :goto_0
  1803. if-nez v2, :cond_3
  1804. return-object v0
  1805. :cond_3
  1806. invoke-virtual {p0}, Landroid/support/v7/widget/LinearLayoutManager;->ensureLayoutState()V
  1807. const v3, 0x3eaaaaab
  1808. iget-object v4, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1809. invoke-virtual {v4}, Landroid/support/v7/widget/OrientationHelper;->getTotalSpace()I
  1810. move-result v4
  1811. int-to-float v4, v4
  1812. mul-float v4, v4, v3
  1813. float-to-int v3, v4
  1814. const/4 v4, 0x0
  1815. invoke-direct {p0, p1, v3, v4, p4}, Landroid/support/v7/widget/LinearLayoutManager;->updateLayoutState(IIZLandroid/support/v7/widget/RecyclerView$State;)V
  1816. iget-object v3, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  1817. iput p2, v3, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
  1818. iput-boolean v4, v3, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mRecycle:Z
  1819. const/4 p2, 0x1
  1820. invoke-virtual {p0, p3, v3, p4, p2}, Landroid/support/v7/widget/LinearLayoutManager;->fill(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/LinearLayoutManager$LayoutState;Landroid/support/v7/widget/RecyclerView$State;Z)I
  1821. if-ne p1, v1, :cond_4
  1822. invoke-direct {p0}, Landroid/support/v7/widget/LinearLayoutManager;->getChildClosestToStart()Landroid/view/View;
  1823. move-result-object p1
  1824. goto :goto_1
  1825. :cond_4
  1826. invoke-direct {p0}, Landroid/support/v7/widget/LinearLayoutManager;->getChildClosestToEnd()Landroid/view/View;
  1827. move-result-object p1
  1828. :goto_1
  1829. if-eq p1, v2, :cond_6
  1830. invoke-virtual {p1}, Landroid/view/View;->isFocusable()Z
  1831. move-result p2
  1832. if-nez p2, :cond_5
  1833. goto :goto_2
  1834. :cond_5
  1835. return-object p1
  1836. :cond_6
  1837. :goto_2
  1838. return-object v0
  1839. .end method
  1840. .method public onInitializeAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
  1841. .locals 1
  1842. invoke-super {p0, p1}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->onInitializeAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
  1843. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  1844. move-result v0
  1845. if-lez v0, :cond_0
  1846. invoke-static {p1}, Landroid/support/v4/view/accessibility/AccessibilityEventCompat;->asRecord(Landroid/view/accessibility/AccessibilityEvent;)Landroid/support/v4/view/accessibility/AccessibilityRecordCompat;
  1847. move-result-object p1
  1848. invoke-virtual {p0}, Landroid/support/v7/widget/LinearLayoutManager;->findFirstVisibleItemPosition()I
  1849. move-result v0
  1850. invoke-virtual {p1, v0}, Landroid/support/v4/view/accessibility/AccessibilityRecordCompat;->setFromIndex(I)V
  1851. invoke-virtual {p0}, Landroid/support/v7/widget/LinearLayoutManager;->findLastVisibleItemPosition()I
  1852. move-result v0
  1853. invoke-virtual {p1, v0}, Landroid/support/v4/view/accessibility/AccessibilityRecordCompat;->setToIndex(I)V
  1854. :cond_0
  1855. return-void
  1856. .end method
  1857. .method public onLayoutChildren(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;)V
  1858. .locals 8
  1859. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingSavedState:Landroid/support/v7/widget/LinearLayoutManager$SavedState;
  1860. const/4 v1, -0x1
  1861. if-nez v0, :cond_0
  1862. iget v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingScrollPosition:I
  1863. if-eq v0, v1, :cond_1
  1864. :cond_0
  1865. invoke-virtual {p2}, Landroid/support/v7/widget/RecyclerView$State;->getItemCount()I
  1866. move-result v0
  1867. if-nez v0, :cond_1
  1868. invoke-virtual {p0, p1}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->removeAndRecycleAllViews(Landroid/support/v7/widget/RecyclerView$Recycler;)V
  1869. return-void
  1870. :cond_1
  1871. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingSavedState:Landroid/support/v7/widget/LinearLayoutManager$SavedState;
  1872. if-eqz v0, :cond_2
  1873. invoke-virtual {v0}, Landroid/support/v7/widget/LinearLayoutManager$SavedState;->hasValidAnchor()Z
  1874. move-result v0
  1875. if-eqz v0, :cond_2
  1876. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingSavedState:Landroid/support/v7/widget/LinearLayoutManager$SavedState;
  1877. iget v0, v0, Landroid/support/v7/widget/LinearLayoutManager$SavedState;->mAnchorPosition:I
  1878. iput v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingScrollPosition:I
  1879. :cond_2
  1880. invoke-virtual {p0}, Landroid/support/v7/widget/LinearLayoutManager;->ensureLayoutState()V
  1881. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  1882. const/4 v2, 0x0
  1883. iput-boolean v2, v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mRecycle:Z
  1884. invoke-direct {p0}, Landroid/support/v7/widget/LinearLayoutManager;->resolveShouldLayoutReverse()V
  1885. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mAnchorInfo:Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;
  1886. iget-boolean v0, v0, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->mValid:Z
  1887. const/4 v3, 0x1
  1888. if-eqz v0, :cond_3
  1889. iget v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingScrollPosition:I
  1890. if-ne v0, v1, :cond_3
  1891. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingSavedState:Landroid/support/v7/widget/LinearLayoutManager$SavedState;
  1892. if-eqz v0, :cond_4
  1893. :cond_3
  1894. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mAnchorInfo:Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;
  1895. invoke-virtual {v0}, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->reset()V
  1896. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mAnchorInfo:Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;
  1897. iget-boolean v4, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  1898. iget-boolean v5, p0, Landroid/support/v7/widget/LinearLayoutManager;->mStackFromEnd:Z
  1899. xor-int/2addr v4, v5
  1900. iput-boolean v4, v0, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->mLayoutFromEnd:Z
  1901. invoke-direct {p0, p1, p2, v0}, Landroid/support/v7/widget/LinearLayoutManager;->updateAnchorInfoForLayout(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;)V
  1902. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mAnchorInfo:Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;
  1903. iput-boolean v3, v0, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->mValid:Z
  1904. :cond_4
  1905. invoke-virtual {p0, p2}, Landroid/support/v7/widget/LinearLayoutManager;->getExtraLayoutSpace(Landroid/support/v7/widget/RecyclerView$State;)I
  1906. move-result v0
  1907. iget-object v4, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  1908. iget v4, v4, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mLastScrollDelta:I
  1909. if-ltz v4, :cond_5
  1910. move v4, v0
  1911. const/4 v0, 0x0
  1912. goto :goto_0
  1913. :cond_5
  1914. const/4 v4, 0x0
  1915. :goto_0
  1916. iget-object v5, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1917. invoke-virtual {v5}, Landroid/support/v7/widget/OrientationHelper;->getStartAfterPadding()I
  1918. move-result v5
  1919. add-int/2addr v0, v5
  1920. iget-object v5, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1921. invoke-virtual {v5}, Landroid/support/v7/widget/OrientationHelper;->getEndPadding()I
  1922. move-result v5
  1923. add-int/2addr v4, v5
  1924. invoke-virtual {p2}, Landroid/support/v7/widget/RecyclerView$State;->isPreLayout()Z
  1925. move-result v5
  1926. if-eqz v5, :cond_8
  1927. iget v5, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingScrollPosition:I
  1928. if-eq v5, v1, :cond_8
  1929. iget v6, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingScrollPositionOffset:I
  1930. const/high16 v7, -0x80000000
  1931. if-eq v6, v7, :cond_8
  1932. invoke-virtual {p0, v5}, Landroid/support/v7/widget/LinearLayoutManager;->findViewByPosition(I)Landroid/view/View;
  1933. move-result-object v5
  1934. if-eqz v5, :cond_8
  1935. iget-boolean v6, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  1936. if-eqz v6, :cond_6
  1937. iget-object v6, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1938. invoke-virtual {v6}, Landroid/support/v7/widget/OrientationHelper;->getEndAfterPadding()I
  1939. move-result v6
  1940. iget-object v7, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1941. invoke-virtual {v7, v5}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
  1942. move-result v5
  1943. sub-int/2addr v6, v5
  1944. iget v5, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingScrollPositionOffset:I
  1945. goto :goto_1
  1946. :cond_6
  1947. iget-object v6, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1948. invoke-virtual {v6, v5}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
  1949. move-result v5
  1950. iget-object v6, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  1951. invoke-virtual {v6}, Landroid/support/v7/widget/OrientationHelper;->getStartAfterPadding()I
  1952. move-result v6
  1953. sub-int/2addr v5, v6
  1954. iget v6, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingScrollPositionOffset:I
  1955. :goto_1
  1956. sub-int/2addr v6, v5
  1957. if-lez v6, :cond_7
  1958. add-int/2addr v0, v6
  1959. goto :goto_2
  1960. :cond_7
  1961. sub-int/2addr v4, v6
  1962. :cond_8
  1963. :goto_2
  1964. iget-object v5, p0, Landroid/support/v7/widget/LinearLayoutManager;->mAnchorInfo:Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;
  1965. iget-boolean v5, v5, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->mLayoutFromEnd:Z
  1966. if-eqz v5, :cond_a
  1967. iget-boolean v5, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  1968. if-eqz v5, :cond_b
  1969. :cond_9
  1970. const/4 v1, 0x1
  1971. goto :goto_3
  1972. :cond_a
  1973. iget-boolean v5, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  1974. if-eqz v5, :cond_9
  1975. :cond_b
  1976. :goto_3
  1977. iget-object v5, p0, Landroid/support/v7/widget/LinearLayoutManager;->mAnchorInfo:Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;
  1978. invoke-virtual {p0, p1, p2, v5, v1}, Landroid/support/v7/widget/LinearLayoutManager;->onAnchorReady(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;I)V
  1979. invoke-virtual {p0, p1}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->detachAndScrapAttachedViews(Landroid/support/v7/widget/RecyclerView$Recycler;)V
  1980. iget-object v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  1981. invoke-virtual {p0}, Landroid/support/v7/widget/LinearLayoutManager;->resolveIsInfinite()Z
  1982. move-result v5
  1983. iput-boolean v5, v1, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mInfinite:Z
  1984. iget-object v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  1985. invoke-virtual {p2}, Landroid/support/v7/widget/RecyclerView$State;->isPreLayout()Z
  1986. move-result v5
  1987. iput-boolean v5, v1, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mIsPreLayout:Z
  1988. iget-object v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mAnchorInfo:Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;
  1989. iget-boolean v5, v1, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->mLayoutFromEnd:Z
  1990. if-eqz v5, :cond_d
  1991. invoke-direct {p0, v1}, Landroid/support/v7/widget/LinearLayoutManager;->updateLayoutStateToFillStart(Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;)V
  1992. iget-object v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  1993. iput v0, v1, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mExtra:I
  1994. invoke-virtual {p0, p1, v1, p2, v2}, Landroid/support/v7/widget/LinearLayoutManager;->fill(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/LinearLayoutManager$LayoutState;Landroid/support/v7/widget/RecyclerView$State;Z)I
  1995. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  1996. iget v1, v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mOffset:I
  1997. iget v5, v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I
  1998. iget v0, v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mAvailable:I
  1999. if-lez v0, :cond_c
  2000. add-int/2addr v4, v0
  2001. :cond_c
  2002. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mAnchorInfo:Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;
  2003. invoke-direct {p0, v0}, Landroid/support/v7/widget/LinearLayoutManager;->updateLayoutStateToFillEnd(Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;)V
  2004. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  2005. iput v4, v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mExtra:I
  2006. iget v4, v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I
  2007. iget v6, v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mItemDirection:I
  2008. add-int/2addr v4, v6
  2009. iput v4, v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I
  2010. invoke-virtual {p0, p1, v0, p2, v2}, Landroid/support/v7/widget/LinearLayoutManager;->fill(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/LinearLayoutManager$LayoutState;Landroid/support/v7/widget/RecyclerView$State;Z)I
  2011. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  2012. iget v4, v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mOffset:I
  2013. iget v0, v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mAvailable:I
  2014. if-lez v0, :cond_f
  2015. invoke-direct {p0, v5, v1}, Landroid/support/v7/widget/LinearLayoutManager;->updateLayoutStateToFillStart(II)V
  2016. iget-object v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  2017. iput v0, v1, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mExtra:I
  2018. invoke-virtual {p0, p1, v1, p2, v2}, Landroid/support/v7/widget/LinearLayoutManager;->fill(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/LinearLayoutManager$LayoutState;Landroid/support/v7/widget/RecyclerView$State;Z)I
  2019. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  2020. iget v1, v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mOffset:I
  2021. goto :goto_4
  2022. :cond_d
  2023. invoke-direct {p0, v1}, Landroid/support/v7/widget/LinearLayoutManager;->updateLayoutStateToFillEnd(Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;)V
  2024. iget-object v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  2025. iput v4, v1, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mExtra:I
  2026. invoke-virtual {p0, p1, v1, p2, v2}, Landroid/support/v7/widget/LinearLayoutManager;->fill(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/LinearLayoutManager$LayoutState;Landroid/support/v7/widget/RecyclerView$State;Z)I
  2027. iget-object v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  2028. iget v4, v1, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mOffset:I
  2029. iget v5, v1, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I
  2030. iget v1, v1, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mAvailable:I
  2031. if-lez v1, :cond_e
  2032. add-int/2addr v0, v1
  2033. :cond_e
  2034. iget-object v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mAnchorInfo:Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;
  2035. invoke-direct {p0, v1}, Landroid/support/v7/widget/LinearLayoutManager;->updateLayoutStateToFillStart(Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;)V
  2036. iget-object v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  2037. iput v0, v1, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mExtra:I
  2038. iget v0, v1, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I
  2039. iget v6, v1, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mItemDirection:I
  2040. add-int/2addr v0, v6
  2041. iput v0, v1, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I
  2042. invoke-virtual {p0, p1, v1, p2, v2}, Landroid/support/v7/widget/LinearLayoutManager;->fill(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/LinearLayoutManager$LayoutState;Landroid/support/v7/widget/RecyclerView$State;Z)I
  2043. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  2044. iget v1, v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mOffset:I
  2045. iget v0, v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mAvailable:I
  2046. if-lez v0, :cond_f
  2047. invoke-direct {p0, v5, v4}, Landroid/support/v7/widget/LinearLayoutManager;->updateLayoutStateToFillEnd(II)V
  2048. iget-object v4, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  2049. iput v0, v4, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mExtra:I
  2050. invoke-virtual {p0, p1, v4, p2, v2}, Landroid/support/v7/widget/LinearLayoutManager;->fill(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/LinearLayoutManager$LayoutState;Landroid/support/v7/widget/RecyclerView$State;Z)I
  2051. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  2052. iget v4, v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mOffset:I
  2053. :cond_f
  2054. :goto_4
  2055. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  2056. move-result v0
  2057. if-lez v0, :cond_11
  2058. iget-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  2059. iget-boolean v5, p0, Landroid/support/v7/widget/LinearLayoutManager;->mStackFromEnd:Z
  2060. xor-int/2addr v0, v5
  2061. if-eqz v0, :cond_10
  2062. invoke-direct {p0, v4, p1, p2, v3}, Landroid/support/v7/widget/LinearLayoutManager;->fixLayoutEndGap(ILandroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;Z)I
  2063. move-result v0
  2064. add-int/2addr v1, v0
  2065. add-int/2addr v4, v0
  2066. invoke-direct {p0, v1, p1, p2, v2}, Landroid/support/v7/widget/LinearLayoutManager;->fixLayoutStartGap(ILandroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;Z)I
  2067. move-result v0
  2068. goto :goto_5
  2069. :cond_10
  2070. invoke-direct {p0, v1, p1, p2, v3}, Landroid/support/v7/widget/LinearLayoutManager;->fixLayoutStartGap(ILandroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;Z)I
  2071. move-result v0
  2072. add-int/2addr v1, v0
  2073. add-int/2addr v4, v0
  2074. invoke-direct {p0, v4, p1, p2, v2}, Landroid/support/v7/widget/LinearLayoutManager;->fixLayoutEndGap(ILandroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;Z)I
  2075. move-result v0
  2076. :goto_5
  2077. add-int/2addr v1, v0
  2078. add-int/2addr v4, v0
  2079. :cond_11
  2080. invoke-direct {p0, p1, p2, v1, v4}, Landroid/support/v7/widget/LinearLayoutManager;->layoutForPredictiveAnimations(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;II)V
  2081. invoke-virtual {p2}, Landroid/support/v7/widget/RecyclerView$State;->isPreLayout()Z
  2082. move-result p1
  2083. if-nez p1, :cond_12
  2084. iget-object p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  2085. invoke-virtual {p1}, Landroid/support/v7/widget/OrientationHelper;->onLayoutComplete()V
  2086. goto :goto_6
  2087. :cond_12
  2088. iget-object p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mAnchorInfo:Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;
  2089. invoke-virtual {p1}, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->reset()V
  2090. :goto_6
  2091. iget-boolean p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mStackFromEnd:Z
  2092. iput-boolean p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLastStackFromEnd:Z
  2093. return-void
  2094. .end method
  2095. .method public onLayoutCompleted(Landroid/support/v7/widget/RecyclerView$State;)V
  2096. .locals 0
  2097. invoke-super {p0, p1}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->onLayoutCompleted(Landroid/support/v7/widget/RecyclerView$State;)V
  2098. const/4 p1, 0x0
  2099. iput-object p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingSavedState:Landroid/support/v7/widget/LinearLayoutManager$SavedState;
  2100. const/4 p1, -0x1
  2101. iput p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingScrollPosition:I
  2102. const/high16 p1, -0x80000000
  2103. iput p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingScrollPositionOffset:I
  2104. iget-object p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mAnchorInfo:Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;
  2105. invoke-virtual {p1}, Landroid/support/v7/widget/LinearLayoutManager$AnchorInfo;->reset()V
  2106. return-void
  2107. .end method
  2108. .method public onRestoreInstanceState(Landroid/os/Parcelable;)V
  2109. .locals 1
  2110. instance-of v0, p1, Landroid/support/v7/widget/LinearLayoutManager$SavedState;
  2111. if-eqz v0, :cond_0
  2112. check-cast p1, Landroid/support/v7/widget/LinearLayoutManager$SavedState;
  2113. iput-object p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingSavedState:Landroid/support/v7/widget/LinearLayoutManager$SavedState;
  2114. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->requestLayout()V
  2115. :cond_0
  2116. return-void
  2117. .end method
  2118. .method public onSaveInstanceState()Landroid/os/Parcelable;
  2119. .locals 4
  2120. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingSavedState:Landroid/support/v7/widget/LinearLayoutManager$SavedState;
  2121. if-eqz v0, :cond_0
  2122. new-instance v1, Landroid/support/v7/widget/LinearLayoutManager$SavedState;
  2123. invoke-direct {v1, v0}, Landroid/support/v7/widget/LinearLayoutManager$SavedState;-><init>(Landroid/support/v7/widget/LinearLayoutManager$SavedState;)V
  2124. return-object v1
  2125. :cond_0
  2126. new-instance v0, Landroid/support/v7/widget/LinearLayoutManager$SavedState;
  2127. invoke-direct {v0}, Landroid/support/v7/widget/LinearLayoutManager$SavedState;-><init>()V
  2128. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  2129. move-result v1
  2130. if-lez v1, :cond_2
  2131. invoke-virtual {p0}, Landroid/support/v7/widget/LinearLayoutManager;->ensureLayoutState()V
  2132. iget-boolean v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLastStackFromEnd:Z
  2133. iget-boolean v2, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  2134. xor-int/2addr v1, v2
  2135. iput-boolean v1, v0, Landroid/support/v7/widget/LinearLayoutManager$SavedState;->mAnchorLayoutFromEnd:Z
  2136. if-eqz v1, :cond_1
  2137. invoke-direct {p0}, Landroid/support/v7/widget/LinearLayoutManager;->getChildClosestToEnd()Landroid/view/View;
  2138. move-result-object v1
  2139. iget-object v2, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  2140. invoke-virtual {v2}, Landroid/support/v7/widget/OrientationHelper;->getEndAfterPadding()I
  2141. move-result v2
  2142. iget-object v3, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  2143. invoke-virtual {v3, v1}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
  2144. move-result v3
  2145. sub-int/2addr v2, v3
  2146. iput v2, v0, Landroid/support/v7/widget/LinearLayoutManager$SavedState;->mAnchorOffset:I
  2147. invoke-virtual {p0, v1}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  2148. move-result v1
  2149. iput v1, v0, Landroid/support/v7/widget/LinearLayoutManager$SavedState;->mAnchorPosition:I
  2150. goto :goto_0
  2151. :cond_1
  2152. invoke-direct {p0}, Landroid/support/v7/widget/LinearLayoutManager;->getChildClosestToStart()Landroid/view/View;
  2153. move-result-object v1
  2154. invoke-virtual {p0, v1}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  2155. move-result v2
  2156. iput v2, v0, Landroid/support/v7/widget/LinearLayoutManager$SavedState;->mAnchorPosition:I
  2157. iget-object v2, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  2158. invoke-virtual {v2, v1}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
  2159. move-result v1
  2160. iget-object v2, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  2161. invoke-virtual {v2}, Landroid/support/v7/widget/OrientationHelper;->getStartAfterPadding()I
  2162. move-result v2
  2163. sub-int/2addr v1, v2
  2164. iput v1, v0, Landroid/support/v7/widget/LinearLayoutManager$SavedState;->mAnchorOffset:I
  2165. goto :goto_0
  2166. :cond_2
  2167. invoke-virtual {v0}, Landroid/support/v7/widget/LinearLayoutManager$SavedState;->invalidateAnchor()V
  2168. :goto_0
  2169. return-object v0
  2170. .end method
  2171. .method public prepareForDrop(Landroid/view/View;Landroid/view/View;II)V
  2172. .locals 3
  2173. const-string p3, "Cannot drop a view during a scroll or layout calculation"
  2174. invoke-virtual {p0, p3}, Landroid/support/v7/widget/LinearLayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
  2175. invoke-virtual {p0}, Landroid/support/v7/widget/LinearLayoutManager;->ensureLayoutState()V
  2176. invoke-direct {p0}, Landroid/support/v7/widget/LinearLayoutManager;->resolveShouldLayoutReverse()V
  2177. invoke-virtual {p0, p1}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  2178. move-result p3
  2179. invoke-virtual {p0, p2}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  2180. move-result p4
  2181. const/4 v0, 0x1
  2182. const/4 v1, -0x1
  2183. if-ge p3, p4, :cond_0
  2184. const/4 p3, 0x1
  2185. goto :goto_0
  2186. :cond_0
  2187. const/4 p3, -0x1
  2188. :goto_0
  2189. iget-boolean v2, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  2190. if-eqz v2, :cond_2
  2191. if-ne p3, v0, :cond_1
  2192. iget-object p3, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  2193. invoke-virtual {p3}, Landroid/support/v7/widget/OrientationHelper;->getEndAfterPadding()I
  2194. move-result p3
  2195. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  2196. invoke-virtual {v0, p2}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
  2197. move-result p2
  2198. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  2199. invoke-virtual {v0, p1}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedMeasurement(Landroid/view/View;)I
  2200. move-result p1
  2201. add-int/2addr p2, p1
  2202. sub-int/2addr p3, p2
  2203. invoke-virtual {p0, p4, p3}, Landroid/support/v7/widget/LinearLayoutManager;->scrollToPositionWithOffset(II)V
  2204. goto :goto_2
  2205. :cond_1
  2206. iget-object p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  2207. invoke-virtual {p1}, Landroid/support/v7/widget/OrientationHelper;->getEndAfterPadding()I
  2208. move-result p1
  2209. iget-object p3, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  2210. invoke-virtual {p3, p2}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
  2211. move-result p2
  2212. sub-int/2addr p1, p2
  2213. goto :goto_1
  2214. :cond_2
  2215. if-ne p3, v1, :cond_3
  2216. iget-object p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  2217. invoke-virtual {p1, p2}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
  2218. move-result p1
  2219. :goto_1
  2220. invoke-virtual {p0, p4, p1}, Landroid/support/v7/widget/LinearLayoutManager;->scrollToPositionWithOffset(II)V
  2221. goto :goto_2
  2222. :cond_3
  2223. iget-object p3, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  2224. invoke-virtual {p3, p2}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
  2225. move-result p2
  2226. iget-object p3, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  2227. invoke-virtual {p3, p1}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedMeasurement(Landroid/view/View;)I
  2228. move-result p1
  2229. sub-int/2addr p2, p1
  2230. invoke-virtual {p0, p4, p2}, Landroid/support/v7/widget/LinearLayoutManager;->scrollToPositionWithOffset(II)V
  2231. :goto_2
  2232. return-void
  2233. .end method
  2234. .method resolveIsInfinite()Z
  2235. .locals 1
  2236. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  2237. invoke-virtual {v0}, Landroid/support/v7/widget/OrientationHelper;->getMode()I
  2238. move-result v0
  2239. if-nez v0, :cond_0
  2240. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  2241. invoke-virtual {v0}, Landroid/support/v7/widget/OrientationHelper;->getEnd()I
  2242. move-result v0
  2243. if-nez v0, :cond_0
  2244. const/4 v0, 0x1
  2245. goto :goto_0
  2246. :cond_0
  2247. const/4 v0, 0x0
  2248. :goto_0
  2249. return v0
  2250. .end method
  2251. .method scrollBy(ILandroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;)I
  2252. .locals 5
  2253. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  2254. move-result v0
  2255. const/4 v1, 0x0
  2256. if-eqz v0, :cond_4
  2257. if-nez p1, :cond_0
  2258. goto :goto_1
  2259. :cond_0
  2260. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  2261. const/4 v2, 0x1
  2262. iput-boolean v2, v0, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mRecycle:Z
  2263. invoke-virtual {p0}, Landroid/support/v7/widget/LinearLayoutManager;->ensureLayoutState()V
  2264. if-lez p1, :cond_1
  2265. const/4 v0, 0x1
  2266. goto :goto_0
  2267. :cond_1
  2268. const/4 v0, -0x1
  2269. :goto_0
  2270. invoke-static {p1}, Ljava/lang/Math;->abs(I)I
  2271. move-result v3
  2272. invoke-direct {p0, v0, v3, v2, p3}, Landroid/support/v7/widget/LinearLayoutManager;->updateLayoutState(IIZLandroid/support/v7/widget/RecyclerView$State;)V
  2273. iget-object v2, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  2274. iget v4, v2, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
  2275. invoke-virtual {p0, p2, v2, p3, v1}, Landroid/support/v7/widget/LinearLayoutManager;->fill(Landroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/LinearLayoutManager$LayoutState;Landroid/support/v7/widget/RecyclerView$State;Z)I
  2276. move-result p2
  2277. add-int/2addr v4, p2
  2278. if-gez v4, :cond_2
  2279. return v1
  2280. :cond_2
  2281. if-le v3, v4, :cond_3
  2282. mul-int p1, v0, v4
  2283. :cond_3
  2284. iget-object p2, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  2285. neg-int p3, p1
  2286. invoke-virtual {p2, p3}, Landroid/support/v7/widget/OrientationHelper;->offsetChildren(I)V
  2287. iget-object p2, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLayoutState:Landroid/support/v7/widget/LinearLayoutManager$LayoutState;
  2288. iput p1, p2, Landroid/support/v7/widget/LinearLayoutManager$LayoutState;->mLastScrollDelta:I
  2289. return p1
  2290. :cond_4
  2291. :goto_1
  2292. return v1
  2293. .end method
  2294. .method public scrollHorizontallyBy(ILandroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;)I
  2295. .locals 2
  2296. iget v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientation:I
  2297. const/4 v1, 0x1
  2298. if-ne v0, v1, :cond_0
  2299. const/4 p1, 0x0
  2300. return p1
  2301. :cond_0
  2302. invoke-virtual {p0, p1, p2, p3}, Landroid/support/v7/widget/LinearLayoutManager;->scrollBy(ILandroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;)I
  2303. move-result p1
  2304. return p1
  2305. .end method
  2306. .method public scrollToPosition(I)V
  2307. .locals 0
  2308. iput p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingScrollPosition:I
  2309. const/high16 p1, -0x80000000
  2310. iput p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingScrollPositionOffset:I
  2311. iget-object p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingSavedState:Landroid/support/v7/widget/LinearLayoutManager$SavedState;
  2312. if-eqz p1, :cond_0
  2313. invoke-virtual {p1}, Landroid/support/v7/widget/LinearLayoutManager$SavedState;->invalidateAnchor()V
  2314. :cond_0
  2315. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->requestLayout()V
  2316. return-void
  2317. .end method
  2318. .method public scrollToPositionWithOffset(II)V
  2319. .locals 0
  2320. iput p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingScrollPosition:I
  2321. iput p2, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingScrollPositionOffset:I
  2322. iget-object p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingSavedState:Landroid/support/v7/widget/LinearLayoutManager$SavedState;
  2323. if-eqz p1, :cond_0
  2324. invoke-virtual {p1}, Landroid/support/v7/widget/LinearLayoutManager$SavedState;->invalidateAnchor()V
  2325. :cond_0
  2326. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->requestLayout()V
  2327. return-void
  2328. .end method
  2329. .method public scrollVerticallyBy(ILandroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;)I
  2330. .locals 1
  2331. iget v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientation:I
  2332. if-nez v0, :cond_0
  2333. const/4 p1, 0x0
  2334. return p1
  2335. :cond_0
  2336. invoke-virtual {p0, p1, p2, p3}, Landroid/support/v7/widget/LinearLayoutManager;->scrollBy(ILandroid/support/v7/widget/RecyclerView$Recycler;Landroid/support/v7/widget/RecyclerView$State;)I
  2337. move-result p1
  2338. return p1
  2339. .end method
  2340. .method public setOrientation(I)V
  2341. .locals 3
  2342. if-eqz p1, :cond_1
  2343. const/4 v0, 0x1
  2344. if-ne p1, v0, :cond_0
  2345. goto :goto_0
  2346. :cond_0
  2347. new-instance v0, Ljava/lang/IllegalArgumentException;
  2348. new-instance v1, Ljava/lang/StringBuilder;
  2349. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  2350. const-string v2, "invalid orientation:"
  2351. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2352. invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  2353. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  2354. move-result-object p1
  2355. invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
  2356. throw v0
  2357. :cond_1
  2358. :goto_0
  2359. const/4 v0, 0x0
  2360. invoke-virtual {p0, v0}, Landroid/support/v7/widget/LinearLayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
  2361. iget v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientation:I
  2362. if-ne p1, v1, :cond_2
  2363. return-void
  2364. :cond_2
  2365. iput p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientation:I
  2366. iput-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  2367. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->requestLayout()V
  2368. return-void
  2369. .end method
  2370. .method public setRecycleChildrenOnDetach(Z)V
  2371. .locals 0
  2372. iput-boolean p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mRecycleChildrenOnDetach:Z
  2373. return-void
  2374. .end method
  2375. .method public setReverseLayout(Z)V
  2376. .locals 1
  2377. const/4 v0, 0x0
  2378. invoke-virtual {p0, v0}, Landroid/support/v7/widget/LinearLayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
  2379. iget-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mReverseLayout:Z
  2380. if-ne p1, v0, :cond_0
  2381. return-void
  2382. :cond_0
  2383. iput-boolean p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mReverseLayout:Z
  2384. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->requestLayout()V
  2385. return-void
  2386. .end method
  2387. .method public setSmoothScrollbarEnabled(Z)V
  2388. .locals 0
  2389. iput-boolean p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mSmoothScrollbarEnabled:Z
  2390. return-void
  2391. .end method
  2392. .method public setStackFromEnd(Z)V
  2393. .locals 1
  2394. const/4 v0, 0x0
  2395. invoke-virtual {p0, v0}, Landroid/support/v7/widget/LinearLayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
  2396. iget-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mStackFromEnd:Z
  2397. if-ne v0, p1, :cond_0
  2398. return-void
  2399. :cond_0
  2400. iput-boolean p1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mStackFromEnd:Z
  2401. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->requestLayout()V
  2402. return-void
  2403. .end method
  2404. .method shouldMeasureTwice()Z
  2405. .locals 2
  2406. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getHeightMode()I
  2407. move-result v0
  2408. const/high16 v1, 0x40000000 # 2.0f
  2409. if-eq v0, v1, :cond_0
  2410. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getWidthMode()I
  2411. move-result v0
  2412. if-eq v0, v1, :cond_0
  2413. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->hasFlexibleChildInBothOrientations()Z
  2414. move-result v0
  2415. if-eqz v0, :cond_0
  2416. const/4 v0, 0x1
  2417. goto :goto_0
  2418. :cond_0
  2419. const/4 v0, 0x0
  2420. :goto_0
  2421. return v0
  2422. .end method
  2423. .method public smoothScrollToPosition(Landroid/support/v7/widget/RecyclerView;Landroid/support/v7/widget/RecyclerView$State;I)V
  2424. .locals 0
  2425. new-instance p2, Landroid/support/v7/widget/LinearLayoutManager$1;
  2426. invoke-virtual {p1}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context;
  2427. move-result-object p1
  2428. invoke-direct {p2, p0, p1}, Landroid/support/v7/widget/LinearLayoutManager$1;-><init>(Landroid/support/v7/widget/LinearLayoutManager;Landroid/content/Context;)V
  2429. invoke-virtual {p2, p3}, Landroid/support/v7/widget/RecyclerView$SmoothScroller;->setTargetPosition(I)V
  2430. invoke-virtual {p0, p2}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->startSmoothScroll(Landroid/support/v7/widget/RecyclerView$SmoothScroller;)V
  2431. return-void
  2432. .end method
  2433. .method public supportsPredictiveItemAnimations()Z
  2434. .locals 2
  2435. iget-object v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mPendingSavedState:Landroid/support/v7/widget/LinearLayoutManager$SavedState;
  2436. if-nez v0, :cond_0
  2437. iget-boolean v0, p0, Landroid/support/v7/widget/LinearLayoutManager;->mLastStackFromEnd:Z
  2438. iget-boolean v1, p0, Landroid/support/v7/widget/LinearLayoutManager;->mStackFromEnd:Z
  2439. if-ne v0, v1, :cond_0
  2440. const/4 v0, 0x1
  2441. goto :goto_0
  2442. :cond_0
  2443. const/4 v0, 0x0
  2444. :goto_0
  2445. return v0
  2446. .end method
  2447. .method validateChildOrder()V
  2448. .locals 10
  2449. new-instance v0, Ljava/lang/StringBuilder;
  2450. invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
  2451. const-string v1, "validating child count "
  2452. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2453. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  2454. move-result v1
  2455. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  2456. invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  2457. move-result-object v0
  2458. const-string v1, "LinearLayoutManager"
  2459. invoke-static {v1, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  2460. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  2461. move-result v0
  2462. const/4 v1, 0x1
  2463. if-ge v0, v1, :cond_0
  2464. return-void
  2465. :cond_0
  2466. const/4 v0, 0x0
  2467. invoke-virtual {p0, v0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildAt(I)Landroid/view/View;
  2468. move-result-object v2
  2469. invoke-virtual {p0, v2}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  2470. move-result v2
  2471. iget-object v3, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  2472. invoke-virtual {p0, v0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildAt(I)Landroid/view/View;
  2473. move-result-object v4
  2474. invoke-virtual {v3, v4}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
  2475. move-result v3
  2476. iget-boolean v4, p0, Landroid/support/v7/widget/LinearLayoutManager;->mShouldReverseLayout:Z
  2477. const-string v5, "detected invalid location"
  2478. const-string v6, "detected invalid position. loc invalid? "
  2479. if-eqz v4, :cond_4
  2480. const/4 v4, 0x1
  2481. :goto_0
  2482. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  2483. move-result v7
  2484. if-ge v4, v7, :cond_8
  2485. invoke-virtual {p0, v4}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildAt(I)Landroid/view/View;
  2486. move-result-object v7
  2487. invoke-virtual {p0, v7}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  2488. move-result v8
  2489. iget-object v9, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  2490. invoke-virtual {v9, v7}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
  2491. move-result v7
  2492. if-ge v8, v2, :cond_2
  2493. invoke-direct {p0}, Landroid/support/v7/widget/LinearLayoutManager;->logChildren()V
  2494. new-instance v2, Ljava/lang/RuntimeException;
  2495. new-instance v4, Ljava/lang/StringBuilder;
  2496. invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
  2497. invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2498. if-ge v7, v3, :cond_1
  2499. const/4 v0, 0x1
  2500. :cond_1
  2501. invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  2502. invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  2503. move-result-object v0
  2504. invoke-direct {v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
  2505. throw v2
  2506. :cond_2
  2507. if-gt v7, v3, :cond_3
  2508. add-int/lit8 v4, v4, 0x1
  2509. goto :goto_0
  2510. :cond_3
  2511. invoke-direct {p0}, Landroid/support/v7/widget/LinearLayoutManager;->logChildren()V
  2512. new-instance v0, Ljava/lang/RuntimeException;
  2513. invoke-direct {v0, v5}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
  2514. throw v0
  2515. :cond_4
  2516. const/4 v4, 0x1
  2517. :goto_1
  2518. invoke-virtual {p0}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildCount()I
  2519. move-result v7
  2520. if-ge v4, v7, :cond_8
  2521. invoke-virtual {p0, v4}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getChildAt(I)Landroid/view/View;
  2522. move-result-object v7
  2523. invoke-virtual {p0, v7}, Landroid/support/v7/widget/RecyclerView$LayoutManager;->getPosition(Landroid/view/View;)I
  2524. move-result v8
  2525. iget-object v9, p0, Landroid/support/v7/widget/LinearLayoutManager;->mOrientationHelper:Landroid/support/v7/widget/OrientationHelper;
  2526. invoke-virtual {v9, v7}, Landroid/support/v7/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
  2527. move-result v7
  2528. if-ge v8, v2, :cond_6
  2529. invoke-direct {p0}, Landroid/support/v7/widget/LinearLayoutManager;->logChildren()V
  2530. new-instance v2, Ljava/lang/RuntimeException;
  2531. new-instance v4, Ljava/lang/StringBuilder;
  2532. invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
  2533. invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2534. if-ge v7, v3, :cond_5
  2535. const/4 v0, 0x1
  2536. :cond_5
  2537. invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  2538. invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  2539. move-result-object v0
  2540. invoke-direct {v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
  2541. throw v2
  2542. :cond_6
  2543. if-lt v7, v3, :cond_7
  2544. add-int/lit8 v4, v4, 0x1
  2545. goto :goto_1
  2546. :cond_7
  2547. invoke-direct {p0}, Landroid/support/v7/widget/LinearLayoutManager;->logChildren()V
  2548. new-instance v0, Ljava/lang/RuntimeException;
  2549. invoke-direct {v0, v5}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
  2550. throw v0
  2551. :cond_8
  2552. return-void
  2553. .end method