NestedScrollView.smali 151 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256
  1. .class public Landroid/support/v4/widget/NestedScrollView;
  2. .super Landroid/widget/FrameLayout;
  3. .source "NestedScrollView.java"
  4. # interfaces
  5. .implements Landroid/support/v4/view/NestedScrollingParent;
  6. .implements Landroid/support/v4/view/NestedScrollingChild;
  7. .implements Landroid/support/v4/view/ScrollingView;
  8. # annotations
  9. .annotation system Ldalvik/annotation/MemberClasses;
  10. value = {
  11. Landroid/support/v4/widget/NestedScrollView$AccessibilityDelegate;,
  12. Landroid/support/v4/widget/NestedScrollView$SavedState;,
  13. Landroid/support/v4/widget/NestedScrollView$OnScrollChangeListener;
  14. }
  15. .end annotation
  16. # static fields
  17. .field private static final ACCESSIBILITY_DELEGATE:Landroid/support/v4/widget/NestedScrollView$AccessibilityDelegate;
  18. .field static final ANIMATED_SCROLL_GAP:I = 0xfa
  19. .field private static final INVALID_POINTER:I = -0x1
  20. .field static final MAX_SCROLL_FACTOR:F = 0.5f
  21. .field private static final SCROLLVIEW_STYLEABLE:[I
  22. .field private static final TAG:Ljava/lang/String; = "NestedScrollView"
  23. # instance fields
  24. .field private mActivePointerId:I
  25. .field private final mChildHelper:Landroid/support/v4/view/NestedScrollingChildHelper;
  26. .field private mChildToScrollTo:Landroid/view/View;
  27. .field private mEdgeGlowBottom:Landroid/support/v4/widget/EdgeEffectCompat;
  28. .field private mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat;
  29. .field private mFillViewport:Z
  30. .field private mIsBeingDragged:Z
  31. .field private mIsLaidOut:Z
  32. .field private mIsLayoutDirty:Z
  33. .field private mLastMotionY:I
  34. .field private mLastScroll:J
  35. .field private mMaximumVelocity:I
  36. .field private mMinimumVelocity:I
  37. .field private mNestedYOffset:I
  38. .field private mOnScrollChangeListener:Landroid/support/v4/widget/NestedScrollView$OnScrollChangeListener;
  39. .field private final mParentHelper:Landroid/support/v4/view/NestedScrollingParentHelper;
  40. .field private mSavedState:Landroid/support/v4/widget/NestedScrollView$SavedState;
  41. .field private final mScrollConsumed:[I
  42. .field private final mScrollOffset:[I
  43. .field private mScroller:Landroid/support/v4/widget/ScrollerCompat;
  44. .field private mSmoothScrollingEnabled:Z
  45. .field private final mTempRect:Landroid/graphics/Rect;
  46. .field private mTouchSlop:I
  47. .field private mVelocityTracker:Landroid/view/VelocityTracker;
  48. .field private mVerticalScrollFactor:F
  49. # direct methods
  50. .method static constructor <clinit>()V
  51. .locals 3
  52. .prologue
  53. .line 167
  54. new-instance v0, Landroid/support/v4/widget/NestedScrollView$AccessibilityDelegate;
  55. invoke-direct {v0}, Landroid/support/v4/widget/NestedScrollView$AccessibilityDelegate;-><init>()V
  56. sput-object v0, Landroid/support/v4/widget/NestedScrollView;->ACCESSIBILITY_DELEGATE:Landroid/support/v4/widget/NestedScrollView$AccessibilityDelegate;
  57. .line 169
  58. const/4 v0, 0x1
  59. new-array v0, v0, [I
  60. const/4 v1, 0x0
  61. const v2, 0x101017a
  62. aput v2, v0, v1
  63. sput-object v0, Landroid/support/v4/widget/NestedScrollView;->SCROLLVIEW_STYLEABLE:[I
  64. return-void
  65. .end method
  66. .method public constructor <init>(Landroid/content/Context;)V
  67. .locals 1
  68. .param p1, "context" # Landroid/content/Context;
  69. .prologue
  70. .line 181
  71. const/4 v0, 0x0
  72. invoke-direct {p0, p1, v0}, Landroid/support/v4/widget/NestedScrollView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
  73. .line 182
  74. return-void
  75. .end method
  76. .method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
  77. .locals 1
  78. .param p1, "context" # Landroid/content/Context;
  79. .param p2, "attrs" # Landroid/util/AttributeSet;
  80. .prologue
  81. .line 185
  82. const/4 v0, 0x0
  83. invoke-direct {p0, p1, p2, v0}, Landroid/support/v4/widget/NestedScrollView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
  84. .line 186
  85. return-void
  86. .end method
  87. .method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
  88. .locals 5
  89. .param p1, "context" # Landroid/content/Context;
  90. .param p2, "attrs" # Landroid/util/AttributeSet;
  91. .param p3, "defStyleAttr" # I
  92. .prologue
  93. const/4 v4, 0x2
  94. const/4 v3, 0x1
  95. const/4 v2, 0x0
  96. .line 189
  97. invoke-direct {p0, p1, p2, p3}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
  98. .line 95
  99. new-instance v1, Landroid/graphics/Rect;
  100. invoke-direct {v1}, Landroid/graphics/Rect;-><init>()V
  101. iput-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  102. .line 109
  103. iput-boolean v3, p0, Landroid/support/v4/widget/NestedScrollView;->mIsLayoutDirty:Z
  104. .line 110
  105. iput-boolean v2, p0, Landroid/support/v4/widget/NestedScrollView;->mIsLaidOut:Z
  106. .line 117
  107. const/4 v1, 0x0
  108. iput-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mChildToScrollTo:Landroid/view/View;
  109. .line 124
  110. iput-boolean v2, p0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z
  111. .line 140
  112. iput-boolean v3, p0, Landroid/support/v4/widget/NestedScrollView;->mSmoothScrollingEnabled:Z
  113. .line 150
  114. const/4 v1, -0x1
  115. iput v1, p0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I
  116. .line 155
  117. new-array v1, v4, [I
  118. iput-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mScrollOffset:[I
  119. .line 156
  120. new-array v1, v4, [I
  121. iput-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mScrollConsumed:[I
  122. .line 190
  123. invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->initScrollView()V
  124. .line 192
  125. sget-object v1, Landroid/support/v4/widget/NestedScrollView;->SCROLLVIEW_STYLEABLE:[I
  126. invoke-virtual {p1, p2, v1, p3, v2}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
  127. move-result-object v0
  128. .line 195
  129. .local v0, "a":Landroid/content/res/TypedArray;
  130. invoke-virtual {v0, v2, v2}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
  131. move-result v1
  132. invoke-virtual {p0, v1}, Landroid/support/v4/widget/NestedScrollView;->setFillViewport(Z)V
  133. .line 197
  134. invoke-virtual {v0}, Landroid/content/res/TypedArray;->recycle()V
  135. .line 199
  136. new-instance v1, Landroid/support/v4/view/NestedScrollingParentHelper;
  137. invoke-direct {v1, p0}, Landroid/support/v4/view/NestedScrollingParentHelper;-><init>(Landroid/view/ViewGroup;)V
  138. iput-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mParentHelper:Landroid/support/v4/view/NestedScrollingParentHelper;
  139. .line 200
  140. new-instance v1, Landroid/support/v4/view/NestedScrollingChildHelper;
  141. invoke-direct {v1, p0}, Landroid/support/v4/view/NestedScrollingChildHelper;-><init>(Landroid/view/View;)V
  142. iput-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mChildHelper:Landroid/support/v4/view/NestedScrollingChildHelper;
  143. .line 203
  144. invoke-virtual {p0, v3}, Landroid/support/v4/widget/NestedScrollView;->setNestedScrollingEnabled(Z)V
  145. .line 205
  146. sget-object v1, Landroid/support/v4/widget/NestedScrollView;->ACCESSIBILITY_DELEGATE:Landroid/support/v4/widget/NestedScrollView$AccessibilityDelegate;
  147. invoke-static {p0, v1}, Landroid/support/v4/view/ViewCompat;->setAccessibilityDelegate(Landroid/view/View;Landroid/support/v4/view/AccessibilityDelegateCompat;)V
  148. .line 206
  149. return-void
  150. .end method
  151. .method static synthetic access$000(Landroid/support/v4/widget/NestedScrollView;)I
  152. .locals 1
  153. .param p0, "x0" # Landroid/support/v4/widget/NestedScrollView;
  154. .prologue
  155. .line 63
  156. invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollRange()I
  157. move-result v0
  158. return v0
  159. .end method
  160. .method private canScroll()Z
  161. .locals 6
  162. .prologue
  163. const/4 v2, 0x0
  164. .line 420
  165. invoke-virtual {p0, v2}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View;
  166. move-result-object v0
  167. .line 421
  168. .local v0, "child":Landroid/view/View;
  169. if-eqz v0, :cond_0
  170. .line 422
  171. invoke-virtual {v0}, Landroid/view/View;->getHeight()I
  172. move-result v1
  173. .line 423
  174. .local v1, "childHeight":I
  175. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I
  176. move-result v3
  177. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingTop()I
  178. move-result v4
  179. add-int/2addr v4, v1
  180. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingBottom()I
  181. move-result v5
  182. add-int/2addr v4, v5
  183. if-ge v3, v4, :cond_0
  184. const/4 v2, 0x1
  185. .line 425
  186. .end local v1 # "childHeight":I
  187. :cond_0
  188. return v2
  189. .end method
  190. .method private static clamp(III)I
  191. .locals 1
  192. .param p0, "n" # I
  193. .param p1, "my" # I
  194. .param p2, "child" # I
  195. .prologue
  196. .line 1793
  197. if-ge p1, p2, :cond_0
  198. if-gez p0, :cond_2
  199. .line 1809
  200. :cond_0
  201. const/4 p0, 0x0
  202. .line 1819
  203. .end local p0 # "n":I
  204. :cond_1
  205. :goto_0
  206. return p0
  207. .line 1811
  208. .restart local p0 # "n":I
  209. :cond_2
  210. add-int v0, p1, p0
  211. if-le v0, p2, :cond_1
  212. .line 1817
  213. sub-int p0, p2, p1
  214. goto :goto_0
  215. .end method
  216. .method private doScrollY(I)V
  217. .locals 2
  218. .param p1, "delta" # I
  219. .prologue
  220. const/4 v1, 0x0
  221. .line 1286
  222. if-eqz p1, :cond_0
  223. .line 1287
  224. iget-boolean v0, p0, Landroid/support/v4/widget/NestedScrollView;->mSmoothScrollingEnabled:Z
  225. if-eqz v0, :cond_1
  226. .line 1288
  227. invoke-virtual {p0, v1, p1}, Landroid/support/v4/widget/NestedScrollView;->smoothScrollBy(II)V
  228. .line 1293
  229. :cond_0
  230. :goto_0
  231. return-void
  232. .line 1290
  233. :cond_1
  234. invoke-virtual {p0, v1, p1}, Landroid/support/v4/widget/NestedScrollView;->scrollBy(II)V
  235. goto :goto_0
  236. .end method
  237. .method private endDrag()V
  238. .locals 1
  239. .prologue
  240. .line 1717
  241. const/4 v0, 0x0
  242. iput-boolean v0, p0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z
  243. .line 1719
  244. invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->recycleVelocityTracker()V
  245. .line 1720
  246. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->stopNestedScroll()V
  247. .line 1722
  248. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat;
  249. if-eqz v0, :cond_0
  250. .line 1723
  251. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat;
  252. invoke-virtual {v0}, Landroid/support/v4/widget/EdgeEffectCompat;->onRelease()Z
  253. .line 1724
  254. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowBottom:Landroid/support/v4/widget/EdgeEffectCompat;
  255. invoke-virtual {v0}, Landroid/support/v4/widget/EdgeEffectCompat;->onRelease()Z
  256. .line 1726
  257. :cond_0
  258. return-void
  259. .end method
  260. .method private ensureGlows()V
  261. .locals 4
  262. .prologue
  263. const/4 v3, 0x0
  264. .line 1747
  265. invoke-static {p0}, Landroid/support/v4/view/ViewCompat;->getOverScrollMode(Landroid/view/View;)I
  266. move-result v1
  267. const/4 v2, 0x2
  268. if-eq v1, v2, :cond_1
  269. .line 1748
  270. iget-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat;
  271. if-nez v1, :cond_0
  272. .line 1749
  273. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getContext()Landroid/content/Context;
  274. move-result-object v0
  275. .line 1750
  276. .local v0, "context":Landroid/content/Context;
  277. new-instance v1, Landroid/support/v4/widget/EdgeEffectCompat;
  278. invoke-direct {v1, v0}, Landroid/support/v4/widget/EdgeEffectCompat;-><init>(Landroid/content/Context;)V
  279. iput-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat;
  280. .line 1751
  281. new-instance v1, Landroid/support/v4/widget/EdgeEffectCompat;
  282. invoke-direct {v1, v0}, Landroid/support/v4/widget/EdgeEffectCompat;-><init>(Landroid/content/Context;)V
  283. iput-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowBottom:Landroid/support/v4/widget/EdgeEffectCompat;
  284. .line 1757
  285. .end local v0 # "context":Landroid/content/Context;
  286. :cond_0
  287. :goto_0
  288. return-void
  289. .line 1754
  290. :cond_1
  291. iput-object v3, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat;
  292. .line 1755
  293. iput-object v3, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowBottom:Landroid/support/v4/widget/EdgeEffectCompat;
  294. goto :goto_0
  295. .end method
  296. .method private findFocusableViewInBounds(ZII)Landroid/view/View;
  297. .locals 11
  298. .param p1, "topFocus" # Z
  299. .param p2, "top" # I
  300. .param p3, "bottom" # I
  301. .prologue
  302. .line 1032
  303. const/4 v10, 0x2
  304. invoke-virtual {p0, v10}, Landroid/support/v4/widget/NestedScrollView;->getFocusables(I)Ljava/util/ArrayList;
  305. move-result-object v2
  306. .line 1033
  307. .local v2, "focusables":Ljava/util/List;, "Ljava/util/List<Landroid/view/View;>;"
  308. const/4 v1, 0x0
  309. .line 1042
  310. .local v1, "focusCandidate":Landroid/view/View;
  311. const/4 v3, 0x0
  312. .line 1044
  313. .local v3, "foundFullyContainedFocusable":Z
  314. invoke-interface {v2}, Ljava/util/List;->size()I
  315. move-result v0
  316. .line 1045
  317. .local v0, "count":I
  318. const/4 v4, 0x0
  319. .local v4, "i":I
  320. :goto_0
  321. if-ge v4, v0, :cond_8
  322. .line 1046
  323. invoke-interface {v2, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;
  324. move-result-object v5
  325. check-cast v5, Landroid/view/View;
  326. .line 1047
  327. .local v5, "view":Landroid/view/View;
  328. invoke-virtual {v5}, Landroid/view/View;->getTop()I
  329. move-result v9
  330. .line 1048
  331. .local v9, "viewTop":I
  332. invoke-virtual {v5}, Landroid/view/View;->getBottom()I
  333. move-result v6
  334. .line 1050
  335. .local v6, "viewBottom":I
  336. if-ge p2, v6, :cond_0
  337. if-ge v9, p3, :cond_0
  338. .line 1056
  339. if-ge p2, v9, :cond_1
  340. if-ge v6, p3, :cond_1
  341. const/4 v8, 0x1
  342. .line 1059
  343. .local v8, "viewIsFullyContained":Z
  344. :goto_1
  345. if-nez v1, :cond_2
  346. .line 1061
  347. move-object v1, v5
  348. .line 1062
  349. move v3, v8
  350. .line 1045
  351. .end local v8 # "viewIsFullyContained":Z
  352. :cond_0
  353. :goto_2
  354. add-int/lit8 v4, v4, 0x1
  355. goto :goto_0
  356. .line 1056
  357. :cond_1
  358. const/4 v8, 0x0
  359. goto :goto_1
  360. .line 1064
  361. .restart local v8 # "viewIsFullyContained":Z
  362. :cond_2
  363. if-eqz p1, :cond_3
  364. invoke-virtual {v1}, Landroid/view/View;->getTop()I
  365. move-result v10
  366. if-lt v9, v10, :cond_4
  367. :cond_3
  368. if-nez p1, :cond_5
  369. invoke-virtual {v1}, Landroid/view/View;->getBottom()I
  370. move-result v10
  371. if-le v6, v10, :cond_5
  372. :cond_4
  373. const/4 v7, 0x1
  374. .line 1069
  375. .local v7, "viewIsCloserToBoundary":Z
  376. :goto_3
  377. if-eqz v3, :cond_6
  378. .line 1070
  379. if-eqz v8, :cond_0
  380. if-eqz v7, :cond_0
  381. .line 1076
  382. move-object v1, v5
  383. goto :goto_2
  384. .line 1064
  385. .end local v7 # "viewIsCloserToBoundary":Z
  386. :cond_5
  387. const/4 v7, 0x0
  388. goto :goto_3
  389. .line 1079
  390. .restart local v7 # "viewIsCloserToBoundary":Z
  391. :cond_6
  392. if-eqz v8, :cond_7
  393. .line 1081
  394. move-object v1, v5
  395. .line 1082
  396. const/4 v3, 0x1
  397. goto :goto_2
  398. .line 1083
  399. :cond_7
  400. if-eqz v7, :cond_0
  401. .line 1088
  402. move-object v1, v5
  403. goto :goto_2
  404. .line 1095
  405. .end local v5 # "view":Landroid/view/View;
  406. .end local v6 # "viewBottom":I
  407. .end local v7 # "viewIsCloserToBoundary":Z
  408. .end local v8 # "viewIsFullyContained":Z
  409. .end local v9 # "viewTop":I
  410. :cond_8
  411. return-object v1
  412. .end method
  413. .method private flingWithNestedDispatch(I)V
  414. .locals 4
  415. .param p1, "velocityY" # I
  416. .prologue
  417. const/4 v3, 0x0
  418. .line 1705
  419. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  420. move-result v1
  421. .line 1706
  422. .local v1, "scrollY":I
  423. if-gtz v1, :cond_0
  424. if-lez p1, :cond_3
  425. :cond_0
  426. invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollRange()I
  427. move-result v2
  428. if-lt v1, v2, :cond_1
  429. if-gez p1, :cond_3
  430. :cond_1
  431. const/4 v0, 0x1
  432. .line 1708
  433. .local v0, "canFling":Z
  434. :goto_0
  435. int-to-float v2, p1
  436. invoke-virtual {p0, v3, v2}, Landroid/support/v4/widget/NestedScrollView;->dispatchNestedPreFling(FF)Z
  437. move-result v2
  438. if-nez v2, :cond_2
  439. .line 1709
  440. int-to-float v2, p1
  441. invoke-virtual {p0, v3, v2, v0}, Landroid/support/v4/widget/NestedScrollView;->dispatchNestedFling(FFZ)Z
  442. .line 1710
  443. if-eqz v0, :cond_2
  444. .line 1711
  445. invoke-virtual {p0, p1}, Landroid/support/v4/widget/NestedScrollView;->fling(I)V
  446. .line 1714
  447. :cond_2
  448. return-void
  449. .line 1706
  450. .end local v0 # "canFling":Z
  451. :cond_3
  452. const/4 v0, 0x0
  453. goto :goto_0
  454. .end method
  455. .method private getScrollRange()I
  456. .locals 6
  457. .prologue
  458. const/4 v5, 0x0
  459. .line 1006
  460. const/4 v1, 0x0
  461. .line 1007
  462. .local v1, "scrollRange":I
  463. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I
  464. move-result v2
  465. if-lez v2, :cond_0
  466. .line 1008
  467. invoke-virtual {p0, v5}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View;
  468. move-result-object v0
  469. .line 1009
  470. .local v0, "child":Landroid/view/View;
  471. invoke-virtual {v0}, Landroid/view/View;->getHeight()I
  472. move-result v2
  473. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I
  474. move-result v3
  475. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingBottom()I
  476. move-result v4
  477. sub-int/2addr v3, v4
  478. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingTop()I
  479. move-result v4
  480. sub-int/2addr v3, v4
  481. sub-int/2addr v2, v3
  482. invoke-static {v5, v2}, Ljava/lang/Math;->max(II)I
  483. move-result v1
  484. .line 1012
  485. .end local v0 # "child":Landroid/view/View;
  486. :cond_0
  487. return v1
  488. .end method
  489. .method private getVerticalScrollFactorCompat()F
  490. .locals 5
  491. .prologue
  492. .line 928
  493. iget v2, p0, Landroid/support/v4/widget/NestedScrollView;->mVerticalScrollFactor:F
  494. const/4 v3, 0x0
  495. cmpl-float v2, v2, v3
  496. if-nez v2, :cond_1
  497. .line 929
  498. new-instance v1, Landroid/util/TypedValue;
  499. invoke-direct {v1}, Landroid/util/TypedValue;-><init>()V
  500. .line 930
  501. .local v1, "outValue":Landroid/util/TypedValue;
  502. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getContext()Landroid/content/Context;
  503. move-result-object v0
  504. .line 931
  505. .local v0, "context":Landroid/content/Context;
  506. invoke-virtual {v0}, Landroid/content/Context;->getTheme()Landroid/content/res/Resources$Theme;
  507. move-result-object v2
  508. const v3, 0x101004d
  509. const/4 v4, 0x1
  510. invoke-virtual {v2, v3, v1, v4}, Landroid/content/res/Resources$Theme;->resolveAttribute(ILandroid/util/TypedValue;Z)Z
  511. move-result v2
  512. if-nez v2, :cond_0
  513. .line 933
  514. new-instance v2, Ljava/lang/IllegalStateException;
  515. const-string v3, "Expected theme to define listPreferredItemHeight."
  516. invoke-direct {v2, v3}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
  517. throw v2
  518. .line 936
  519. :cond_0
  520. invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
  521. move-result-object v2
  522. invoke-virtual {v2}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
  523. move-result-object v2
  524. invoke-virtual {v1, v2}, Landroid/util/TypedValue;->getDimension(Landroid/util/DisplayMetrics;)F
  525. move-result v2
  526. iput v2, p0, Landroid/support/v4/widget/NestedScrollView;->mVerticalScrollFactor:F
  527. .line 939
  528. .end local v0 # "context":Landroid/content/Context;
  529. .end local v1 # "outValue":Landroid/util/TypedValue;
  530. :cond_1
  531. iget v2, p0, Landroid/support/v4/widget/NestedScrollView;->mVerticalScrollFactor:F
  532. return v2
  533. .end method
  534. .method private inChild(II)Z
  535. .locals 4
  536. .param p1, "x" # I
  537. .param p2, "y" # I
  538. .prologue
  539. const/4 v2, 0x0
  540. .line 567
  541. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I
  542. move-result v3
  543. if-lez v3, :cond_0
  544. .line 568
  545. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  546. move-result v1
  547. .line 569
  548. .local v1, "scrollY":I
  549. invoke-virtual {p0, v2}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View;
  550. move-result-object v0
  551. .line 570
  552. .local v0, "child":Landroid/view/View;
  553. invoke-virtual {v0}, Landroid/view/View;->getTop()I
  554. move-result v3
  555. sub-int/2addr v3, v1
  556. if-lt p2, v3, :cond_0
  557. invoke-virtual {v0}, Landroid/view/View;->getBottom()I
  558. move-result v3
  559. sub-int/2addr v3, v1
  560. if-ge p2, v3, :cond_0
  561. invoke-virtual {v0}, Landroid/view/View;->getLeft()I
  562. move-result v3
  563. if-lt p1, v3, :cond_0
  564. invoke-virtual {v0}, Landroid/view/View;->getRight()I
  565. move-result v3
  566. if-ge p1, v3, :cond_0
  567. const/4 v2, 0x1
  568. .line 575
  569. .end local v0 # "child":Landroid/view/View;
  570. .end local v1 # "scrollY":I
  571. :cond_0
  572. return v2
  573. .end method
  574. .method private initOrResetVelocityTracker()V
  575. .locals 1
  576. .prologue
  577. .line 579
  578. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker;
  579. if-nez v0, :cond_0
  580. .line 580
  581. invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker;
  582. move-result-object v0
  583. iput-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker;
  584. .line 584
  585. :goto_0
  586. return-void
  587. .line 582
  588. :cond_0
  589. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker;
  590. invoke-virtual {v0}, Landroid/view/VelocityTracker;->clear()V
  591. goto :goto_0
  592. .end method
  593. .method private initScrollView()V
  594. .locals 3
  595. .prologue
  596. .line 357
  597. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getContext()Landroid/content/Context;
  598. move-result-object v1
  599. const/4 v2, 0x0
  600. invoke-static {v1, v2}, Landroid/support/v4/widget/ScrollerCompat;->create(Landroid/content/Context;Landroid/view/animation/Interpolator;)Landroid/support/v4/widget/ScrollerCompat;
  601. move-result-object v1
  602. iput-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  603. .line 358
  604. const/4 v1, 0x1
  605. invoke-virtual {p0, v1}, Landroid/support/v4/widget/NestedScrollView;->setFocusable(Z)V
  606. .line 359
  607. const/high16 v1, 0x40000
  608. invoke-virtual {p0, v1}, Landroid/support/v4/widget/NestedScrollView;->setDescendantFocusability(I)V
  609. .line 360
  610. const/4 v1, 0x0
  611. invoke-virtual {p0, v1}, Landroid/support/v4/widget/NestedScrollView;->setWillNotDraw(Z)V
  612. .line 361
  613. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getContext()Landroid/content/Context;
  614. move-result-object v1
  615. invoke-static {v1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;
  616. move-result-object v0
  617. .line 362
  618. .local v0, "configuration":Landroid/view/ViewConfiguration;
  619. invoke-virtual {v0}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I
  620. move-result v1
  621. iput v1, p0, Landroid/support/v4/widget/NestedScrollView;->mTouchSlop:I
  622. .line 363
  623. invoke-virtual {v0}, Landroid/view/ViewConfiguration;->getScaledMinimumFlingVelocity()I
  624. move-result v1
  625. iput v1, p0, Landroid/support/v4/widget/NestedScrollView;->mMinimumVelocity:I
  626. .line 364
  627. invoke-virtual {v0}, Landroid/view/ViewConfiguration;->getScaledMaximumFlingVelocity()I
  628. move-result v1
  629. iput v1, p0, Landroid/support/v4/widget/NestedScrollView;->mMaximumVelocity:I
  630. .line 365
  631. return-void
  632. .end method
  633. .method private initVelocityTrackerIfNotExists()V
  634. .locals 1
  635. .prologue
  636. .line 587
  637. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker;
  638. if-nez v0, :cond_0
  639. .line 588
  640. invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker;
  641. move-result-object v0
  642. iput-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker;
  643. .line 590
  644. :cond_0
  645. return-void
  646. .end method
  647. .method private isOffScreen(Landroid/view/View;)Z
  648. .locals 2
  649. .param p1, "descendant" # Landroid/view/View;
  650. .prologue
  651. const/4 v0, 0x0
  652. .line 1265
  653. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I
  654. move-result v1
  655. invoke-direct {p0, p1, v0, v1}, Landroid/support/v4/widget/NestedScrollView;->isWithinDeltaOfScreen(Landroid/view/View;II)Z
  656. move-result v1
  657. if-nez v1, :cond_0
  658. const/4 v0, 0x1
  659. :cond_0
  660. return v0
  661. .end method
  662. .method private static isViewDescendantOf(Landroid/view/View;Landroid/view/View;)Z
  663. .locals 3
  664. .param p0, "child" # Landroid/view/View;
  665. .param p1, "parent" # Landroid/view/View;
  666. .prologue
  667. const/4 v1, 0x1
  668. .line 1677
  669. if-ne p0, p1, :cond_1
  670. .line 1682
  671. :cond_0
  672. :goto_0
  673. return v1
  674. .line 1681
  675. :cond_1
  676. invoke-virtual {p0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
  677. move-result-object v0
  678. .line 1682
  679. .local v0, "theParent":Landroid/view/ViewParent;
  680. instance-of v2, v0, Landroid/view/ViewGroup;
  681. if-eqz v2, :cond_2
  682. check-cast v0, Landroid/view/View;
  683. .end local v0 # "theParent":Landroid/view/ViewParent;
  684. invoke-static {v0, p1}, Landroid/support/v4/widget/NestedScrollView;->isViewDescendantOf(Landroid/view/View;Landroid/view/View;)Z
  685. move-result v2
  686. if-nez v2, :cond_0
  687. :cond_2
  688. const/4 v1, 0x0
  689. goto :goto_0
  690. .end method
  691. .method private isWithinDeltaOfScreen(Landroid/view/View;II)Z
  692. .locals 2
  693. .param p1, "descendant" # Landroid/view/View;
  694. .param p2, "delta" # I
  695. .param p3, "height" # I
  696. .prologue
  697. .line 1273
  698. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  699. invoke-virtual {p1, v0}, Landroid/view/View;->getDrawingRect(Landroid/graphics/Rect;)V
  700. .line 1274
  701. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  702. invoke-virtual {p0, p1, v0}, Landroid/support/v4/widget/NestedScrollView;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
  703. .line 1276
  704. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  705. iget v0, v0, Landroid/graphics/Rect;->bottom:I
  706. add-int/2addr v0, p2
  707. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  708. move-result v1
  709. if-lt v0, v1, :cond_0
  710. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  711. iget v0, v0, Landroid/graphics/Rect;->top:I
  712. sub-int/2addr v0, p2
  713. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  714. move-result v1
  715. add-int/2addr v1, p3
  716. if-gt v0, v1, :cond_0
  717. const/4 v0, 0x1
  718. :goto_0
  719. return v0
  720. :cond_0
  721. const/4 v0, 0x0
  722. goto :goto_0
  723. .end method
  724. .method private onSecondaryPointerUp(Landroid/view/MotionEvent;)V
  725. .locals 5
  726. .param p1, "ev" # Landroid/view/MotionEvent;
  727. .prologue
  728. .line 882
  729. invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
  730. move-result v3
  731. const v4, 0xff00
  732. and-int/2addr v3, v4
  733. shr-int/lit8 v2, v3, 0x8
  734. .line 884
  735. .local v2, "pointerIndex":I
  736. invoke-static {p1, v2}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I
  737. move-result v1
  738. .line 885
  739. .local v1, "pointerId":I
  740. iget v3, p0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I
  741. if-ne v1, v3, :cond_0
  742. .line 889
  743. if-nez v2, :cond_1
  744. const/4 v0, 0x1
  745. .line 890
  746. .local v0, "newPointerIndex":I
  747. :goto_0
  748. invoke-static {p1, v0}, Landroid/support/v4/view/MotionEventCompat;->getY(Landroid/view/MotionEvent;I)F
  749. move-result v3
  750. float-to-int v3, v3
  751. iput v3, p0, Landroid/support/v4/widget/NestedScrollView;->mLastMotionY:I
  752. .line 891
  753. invoke-static {p1, v0}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I
  754. move-result v3
  755. iput v3, p0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I
  756. .line 892
  757. iget-object v3, p0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker;
  758. if-eqz v3, :cond_0
  759. .line 893
  760. iget-object v3, p0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker;
  761. invoke-virtual {v3}, Landroid/view/VelocityTracker;->clear()V
  762. .line 896
  763. .end local v0 # "newPointerIndex":I
  764. :cond_0
  765. return-void
  766. .line 889
  767. :cond_1
  768. const/4 v0, 0x0
  769. goto :goto_0
  770. .end method
  771. .method private recycleVelocityTracker()V
  772. .locals 1
  773. .prologue
  774. .line 593
  775. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker;
  776. if-eqz v0, :cond_0
  777. .line 594
  778. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker;
  779. invoke-virtual {v0}, Landroid/view/VelocityTracker;->recycle()V
  780. .line 595
  781. const/4 v0, 0x0
  782. iput-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker;
  783. .line 597
  784. :cond_0
  785. return-void
  786. .end method
  787. .method private scrollAndFocus(III)Z
  788. .locals 8
  789. .param p1, "direction" # I
  790. .param p2, "top" # I
  791. .param p3, "bottom" # I
  792. .prologue
  793. .line 1178
  794. const/4 v3, 0x1
  795. .line 1180
  796. .local v3, "handled":Z
  797. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I
  798. move-result v4
  799. .line 1181
  800. .local v4, "height":I
  801. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  802. move-result v1
  803. .line 1182
  804. .local v1, "containerTop":I
  805. add-int v0, v1, v4
  806. .line 1183
  807. .local v0, "containerBottom":I
  808. const/16 v7, 0x21
  809. if-ne p1, v7, :cond_2
  810. const/4 v6, 0x1
  811. .line 1185
  812. .local v6, "up":Z
  813. :goto_0
  814. invoke-direct {p0, v6, p2, p3}, Landroid/support/v4/widget/NestedScrollView;->findFocusableViewInBounds(ZII)Landroid/view/View;
  815. move-result-object v5
  816. .line 1186
  817. .local v5, "newFocused":Landroid/view/View;
  818. if-nez v5, :cond_0
  819. .line 1187
  820. move-object v5, p0
  821. .line 1190
  822. :cond_0
  823. if-lt p2, v1, :cond_3
  824. if-gt p3, v0, :cond_3
  825. .line 1191
  826. const/4 v3, 0x0
  827. .line 1197
  828. :goto_1
  829. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->findFocus()Landroid/view/View;
  830. move-result-object v7
  831. if-eq v5, v7, :cond_1
  832. invoke-virtual {v5, p1}, Landroid/view/View;->requestFocus(I)Z
  833. .line 1199
  834. :cond_1
  835. return v3
  836. .line 1183
  837. .end local v5 # "newFocused":Landroid/view/View;
  838. .end local v6 # "up":Z
  839. :cond_2
  840. const/4 v6, 0x0
  841. goto :goto_0
  842. .line 1193
  843. .restart local v5 # "newFocused":Landroid/view/View;
  844. .restart local v6 # "up":Z
  845. :cond_3
  846. if-eqz v6, :cond_4
  847. sub-int v2, p2, v1
  848. .line 1194
  849. .local v2, "delta":I
  850. :goto_2
  851. invoke-direct {p0, v2}, Landroid/support/v4/widget/NestedScrollView;->doScrollY(I)V
  852. goto :goto_1
  853. .line 1193
  854. .end local v2 # "delta":I
  855. :cond_4
  856. sub-int v2, p3, v0
  857. goto :goto_2
  858. .end method
  859. .method private scrollToChild(Landroid/view/View;)V
  860. .locals 2
  861. .param p1, "child" # Landroid/view/View;
  862. .prologue
  863. .line 1454
  864. iget-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  865. invoke-virtual {p1, v1}, Landroid/view/View;->getDrawingRect(Landroid/graphics/Rect;)V
  866. .line 1457
  867. iget-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  868. invoke-virtual {p0, p1, v1}, Landroid/support/v4/widget/NestedScrollView;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
  869. .line 1459
  870. iget-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  871. invoke-virtual {p0, v1}, Landroid/support/v4/widget/NestedScrollView;->computeScrollDeltaToGetChildRectOnScreen(Landroid/graphics/Rect;)I
  872. move-result v0
  873. .line 1461
  874. .local v0, "scrollDelta":I
  875. if-eqz v0, :cond_0
  876. .line 1462
  877. const/4 v1, 0x0
  878. invoke-virtual {p0, v1, v0}, Landroid/support/v4/widget/NestedScrollView;->scrollBy(II)V
  879. .line 1464
  880. :cond_0
  881. return-void
  882. .end method
  883. .method private scrollToChildRect(Landroid/graphics/Rect;Z)Z
  884. .locals 3
  885. .param p1, "rect" # Landroid/graphics/Rect;
  886. .param p2, "immediate" # Z
  887. .prologue
  888. const/4 v2, 0x0
  889. .line 1475
  890. invoke-virtual {p0, p1}, Landroid/support/v4/widget/NestedScrollView;->computeScrollDeltaToGetChildRectOnScreen(Landroid/graphics/Rect;)I
  891. move-result v0
  892. .line 1476
  893. .local v0, "delta":I
  894. if-eqz v0, :cond_1
  895. const/4 v1, 0x1
  896. .line 1477
  897. .local v1, "scroll":Z
  898. :goto_0
  899. if-eqz v1, :cond_0
  900. .line 1478
  901. if-eqz p2, :cond_2
  902. .line 1479
  903. invoke-virtual {p0, v2, v0}, Landroid/support/v4/widget/NestedScrollView;->scrollBy(II)V
  904. .line 1484
  905. :cond_0
  906. :goto_1
  907. return v1
  908. .end local v1 # "scroll":Z
  909. :cond_1
  910. move v1, v2
  911. .line 1476
  912. goto :goto_0
  913. .line 1481
  914. .restart local v1 # "scroll":Z
  915. :cond_2
  916. invoke-virtual {p0, v2, v0}, Landroid/support/v4/widget/NestedScrollView;->smoothScrollBy(II)V
  917. goto :goto_1
  918. .end method
  919. # virtual methods
  920. .method public addView(Landroid/view/View;)V
  921. .locals 2
  922. .param p1, "child" # Landroid/view/View;
  923. .prologue
  924. .line 369
  925. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I
  926. move-result v0
  927. if-lez v0, :cond_0
  928. .line 370
  929. new-instance v0, Ljava/lang/IllegalStateException;
  930. const-string v1, "ScrollView can host only one direct child"
  931. invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
  932. throw v0
  933. .line 373
  934. :cond_0
  935. invoke-super {p0, p1}, Landroid/widget/FrameLayout;->addView(Landroid/view/View;)V
  936. .line 374
  937. return-void
  938. .end method
  939. .method public addView(Landroid/view/View;I)V
  940. .locals 2
  941. .param p1, "child" # Landroid/view/View;
  942. .param p2, "index" # I
  943. .prologue
  944. .line 378
  945. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I
  946. move-result v0
  947. if-lez v0, :cond_0
  948. .line 379
  949. new-instance v0, Ljava/lang/IllegalStateException;
  950. const-string v1, "ScrollView can host only one direct child"
  951. invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
  952. throw v0
  953. .line 382
  954. :cond_0
  955. invoke-super {p0, p1, p2}, Landroid/widget/FrameLayout;->addView(Landroid/view/View;I)V
  956. .line 383
  957. return-void
  958. .end method
  959. .method public addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
  960. .locals 2
  961. .param p1, "child" # Landroid/view/View;
  962. .param p2, "index" # I
  963. .param p3, "params" # Landroid/view/ViewGroup$LayoutParams;
  964. .prologue
  965. .line 396
  966. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I
  967. move-result v0
  968. if-lez v0, :cond_0
  969. .line 397
  970. new-instance v0, Ljava/lang/IllegalStateException;
  971. const-string v1, "ScrollView can host only one direct child"
  972. invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
  973. throw v0
  974. .line 400
  975. :cond_0
  976. invoke-super {p0, p1, p2, p3}, Landroid/widget/FrameLayout;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
  977. .line 401
  978. return-void
  979. .end method
  980. .method public addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
  981. .locals 2
  982. .param p1, "child" # Landroid/view/View;
  983. .param p2, "params" # Landroid/view/ViewGroup$LayoutParams;
  984. .prologue
  985. .line 387
  986. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I
  987. move-result v0
  988. if-lez v0, :cond_0
  989. .line 388
  990. new-instance v0, Ljava/lang/IllegalStateException;
  991. const-string v1, "ScrollView can host only one direct child"
  992. invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
  993. throw v0
  994. .line 391
  995. :cond_0
  996. invoke-super {p0, p1, p2}, Landroid/widget/FrameLayout;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
  997. .line 392
  998. return-void
  999. .end method
  1000. .method public arrowScroll(I)Z
  1001. .locals 11
  1002. .param p1, "direction" # I
  1003. .prologue
  1004. const/16 v10, 0x82
  1005. const/4 v7, 0x0
  1006. .line 1211
  1007. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->findFocus()Landroid/view/View;
  1008. move-result-object v0
  1009. .line 1212
  1010. .local v0, "currentFocused":Landroid/view/View;
  1011. if-ne v0, p0, :cond_0
  1012. const/4 v0, 0x0
  1013. .line 1214
  1014. :cond_0
  1015. invoke-static {}, Landroid/view/FocusFinder;->getInstance()Landroid/view/FocusFinder;
  1016. move-result-object v8
  1017. invoke-virtual {v8, p0, v0, p1}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
  1018. move-result-object v4
  1019. .line 1216
  1020. .local v4, "nextFocused":Landroid/view/View;
  1021. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getMaxScrollAmount()I
  1022. move-result v3
  1023. .line 1218
  1024. .local v3, "maxJump":I
  1025. if-eqz v4, :cond_3
  1026. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I
  1027. move-result v8
  1028. invoke-direct {p0, v4, v3, v8}, Landroid/support/v4/widget/NestedScrollView;->isWithinDeltaOfScreen(Landroid/view/View;II)Z
  1029. move-result v8
  1030. if-eqz v8, :cond_3
  1031. .line 1219
  1032. iget-object v7, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  1033. invoke-virtual {v4, v7}, Landroid/view/View;->getDrawingRect(Landroid/graphics/Rect;)V
  1034. .line 1220
  1035. iget-object v7, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  1036. invoke-virtual {p0, v4, v7}, Landroid/support/v4/widget/NestedScrollView;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
  1037. .line 1221
  1038. iget-object v7, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  1039. invoke-virtual {p0, v7}, Landroid/support/v4/widget/NestedScrollView;->computeScrollDeltaToGetChildRectOnScreen(Landroid/graphics/Rect;)I
  1040. move-result v6
  1041. .line 1222
  1042. .local v6, "scrollDelta":I
  1043. invoke-direct {p0, v6}, Landroid/support/v4/widget/NestedScrollView;->doScrollY(I)V
  1044. .line 1223
  1045. invoke-virtual {v4, p1}, Landroid/view/View;->requestFocus(I)Z
  1046. .line 1245
  1047. :goto_0
  1048. if-eqz v0, :cond_1
  1049. invoke-virtual {v0}, Landroid/view/View;->isFocused()Z
  1050. move-result v7
  1051. if-eqz v7, :cond_1
  1052. invoke-direct {p0, v0}, Landroid/support/v4/widget/NestedScrollView;->isOffScreen(Landroid/view/View;)Z
  1053. move-result v7
  1054. if-eqz v7, :cond_1
  1055. .line 1252
  1056. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getDescendantFocusability()I
  1057. move-result v2
  1058. .line 1253
  1059. .local v2, "descendantFocusability":I
  1060. const/high16 v7, 0x20000
  1061. invoke-virtual {p0, v7}, Landroid/support/v4/widget/NestedScrollView;->setDescendantFocusability(I)V
  1062. .line 1254
  1063. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->requestFocus()Z
  1064. .line 1255
  1065. invoke-virtual {p0, v2}, Landroid/support/v4/widget/NestedScrollView;->setDescendantFocusability(I)V
  1066. .line 1257
  1067. .end local v2 # "descendantFocusability":I
  1068. :cond_1
  1069. const/4 v7, 0x1
  1070. :cond_2
  1071. return v7
  1072. .line 1226
  1073. .end local v6 # "scrollDelta":I
  1074. :cond_3
  1075. move v6, v3
  1076. .line 1228
  1077. .restart local v6 # "scrollDelta":I
  1078. const/16 v8, 0x21
  1079. if-ne p1, v8, :cond_5
  1080. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  1081. move-result v8
  1082. if-ge v8, v6, :cond_5
  1083. .line 1229
  1084. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  1085. move-result v6
  1086. .line 1239
  1087. :cond_4
  1088. :goto_1
  1089. if-eqz v6, :cond_2
  1090. .line 1242
  1091. if-ne p1, v10, :cond_6
  1092. move v7, v6
  1093. :goto_2
  1094. invoke-direct {p0, v7}, Landroid/support/v4/widget/NestedScrollView;->doScrollY(I)V
  1095. goto :goto_0
  1096. .line 1230
  1097. :cond_5
  1098. if-ne p1, v10, :cond_4
  1099. .line 1231
  1100. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I
  1101. move-result v8
  1102. if-lez v8, :cond_4
  1103. .line 1232
  1104. invoke-virtual {p0, v7}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View;
  1105. move-result-object v8
  1106. invoke-virtual {v8}, Landroid/view/View;->getBottom()I
  1107. move-result v1
  1108. .line 1233
  1109. .local v1, "daBottom":I
  1110. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  1111. move-result v8
  1112. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I
  1113. move-result v9
  1114. add-int/2addr v8, v9
  1115. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingBottom()I
  1116. move-result v9
  1117. sub-int v5, v8, v9
  1118. .line 1234
  1119. .local v5, "screenBottom":I
  1120. sub-int v8, v1, v5
  1121. if-ge v8, v3, :cond_4
  1122. .line 1235
  1123. sub-int v6, v1, v5
  1124. goto :goto_1
  1125. .line 1242
  1126. .end local v1 # "daBottom":I
  1127. .end local v5 # "screenBottom":I
  1128. :cond_6
  1129. neg-int v7, v6
  1130. goto :goto_2
  1131. .end method
  1132. .method public computeHorizontalScrollExtent()I
  1133. .locals 1
  1134. .prologue
  1135. .line 1387
  1136. invoke-super {p0}, Landroid/widget/FrameLayout;->computeHorizontalScrollExtent()I
  1137. move-result v0
  1138. return v0
  1139. .end method
  1140. .method public computeHorizontalScrollOffset()I
  1141. .locals 1
  1142. .prologue
  1143. .line 1381
  1144. invoke-super {p0}, Landroid/widget/FrameLayout;->computeHorizontalScrollOffset()I
  1145. move-result v0
  1146. return v0
  1147. .end method
  1148. .method public computeHorizontalScrollRange()I
  1149. .locals 1
  1150. .prologue
  1151. .line 1375
  1152. invoke-super {p0}, Landroid/widget/FrameLayout;->computeHorizontalScrollRange()I
  1153. move-result v0
  1154. return v0
  1155. .end method
  1156. .method public computeScroll()V
  1157. .locals 14
  1158. .prologue
  1159. const/4 v10, 0x1
  1160. const/4 v5, 0x0
  1161. .line 1421
  1162. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  1163. invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->computeScrollOffset()Z
  1164. move-result v0
  1165. if-eqz v0, :cond_2
  1166. .line 1422
  1167. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I
  1168. move-result v3
  1169. .line 1423
  1170. .local v3, "oldX":I
  1171. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  1172. move-result v4
  1173. .line 1424
  1174. .local v4, "oldY":I
  1175. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  1176. invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->getCurrX()I
  1177. move-result v12
  1178. .line 1425
  1179. .local v12, "x":I
  1180. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  1181. invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->getCurrY()I
  1182. move-result v13
  1183. .line 1427
  1184. .local v13, "y":I
  1185. if-ne v3, v12, :cond_0
  1186. if-eq v4, v13, :cond_2
  1187. .line 1428
  1188. :cond_0
  1189. invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollRange()I
  1190. move-result v6
  1191. .line 1429
  1192. .local v6, "range":I
  1193. invoke-static {p0}, Landroid/support/v4/view/ViewCompat;->getOverScrollMode(Landroid/view/View;)I
  1194. move-result v11
  1195. .line 1430
  1196. .local v11, "overscrollMode":I
  1197. if-eqz v11, :cond_1
  1198. if-ne v11, v10, :cond_3
  1199. if-lez v6, :cond_3
  1200. .line 1433
  1201. .local v10, "canOverscroll":Z
  1202. :cond_1
  1203. :goto_0
  1204. sub-int v1, v12, v3
  1205. sub-int v2, v13, v4
  1206. move-object v0, p0
  1207. move v7, v5
  1208. move v8, v5
  1209. move v9, v5
  1210. invoke-virtual/range {v0 .. v9}, Landroid/support/v4/widget/NestedScrollView;->overScrollByCompat(IIIIIIIIZ)Z
  1211. .line 1436
  1212. if-eqz v10, :cond_2
  1213. .line 1437
  1214. invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->ensureGlows()V
  1215. .line 1438
  1216. if-gtz v13, :cond_4
  1217. if-lez v4, :cond_4
  1218. .line 1439
  1219. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat;
  1220. iget-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  1221. invoke-virtual {v1}, Landroid/support/v4/widget/ScrollerCompat;->getCurrVelocity()F
  1222. move-result v1
  1223. float-to-int v1, v1
  1224. invoke-virtual {v0, v1}, Landroid/support/v4/widget/EdgeEffectCompat;->onAbsorb(I)Z
  1225. .line 1446
  1226. .end local v3 # "oldX":I
  1227. .end local v4 # "oldY":I
  1228. .end local v6 # "range":I
  1229. .end local v10 # "canOverscroll":Z
  1230. .end local v11 # "overscrollMode":I
  1231. .end local v12 # "x":I
  1232. .end local v13 # "y":I
  1233. :cond_2
  1234. :goto_1
  1235. return-void
  1236. .restart local v3 # "oldX":I
  1237. .restart local v4 # "oldY":I
  1238. .restart local v6 # "range":I
  1239. .restart local v11 # "overscrollMode":I
  1240. .restart local v12 # "x":I
  1241. .restart local v13 # "y":I
  1242. :cond_3
  1243. move v10, v5
  1244. .line 1430
  1245. goto :goto_0
  1246. .line 1440
  1247. .restart local v10 # "canOverscroll":Z
  1248. :cond_4
  1249. if-lt v13, v6, :cond_2
  1250. if-ge v4, v6, :cond_2
  1251. .line 1441
  1252. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowBottom:Landroid/support/v4/widget/EdgeEffectCompat;
  1253. iget-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  1254. invoke-virtual {v1}, Landroid/support/v4/widget/ScrollerCompat;->getCurrVelocity()F
  1255. move-result v1
  1256. float-to-int v1, v1
  1257. invoke-virtual {v0, v1}, Landroid/support/v4/widget/EdgeEffectCompat;->onAbsorb(I)Z
  1258. goto :goto_1
  1259. .end method
  1260. .method protected computeScrollDeltaToGetChildRectOnScreen(Landroid/graphics/Rect;)I
  1261. .locals 10
  1262. .param p1, "rect" # Landroid/graphics/Rect;
  1263. .prologue
  1264. const/4 v7, 0x0
  1265. .line 1496
  1266. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I
  1267. move-result v8
  1268. if-nez v8, :cond_1
  1269. move v6, v7
  1270. .line 1550
  1271. :cond_0
  1272. :goto_0
  1273. return v6
  1274. .line 1498
  1275. :cond_1
  1276. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I
  1277. move-result v3
  1278. .line 1499
  1279. .local v3, "height":I
  1280. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  1281. move-result v5
  1282. .line 1500
  1283. .local v5, "screenTop":I
  1284. add-int v4, v5, v3
  1285. .line 1502
  1286. .local v4, "screenBottom":I
  1287. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getVerticalFadingEdgeLength()I
  1288. move-result v2
  1289. .line 1505
  1290. .local v2, "fadingEdge":I
  1291. iget v8, p1, Landroid/graphics/Rect;->top:I
  1292. if-lez v8, :cond_2
  1293. .line 1506
  1294. add-int/2addr v5, v2
  1295. .line 1510
  1296. :cond_2
  1297. iget v8, p1, Landroid/graphics/Rect;->bottom:I
  1298. invoke-virtual {p0, v7}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View;
  1299. move-result-object v9
  1300. invoke-virtual {v9}, Landroid/view/View;->getHeight()I
  1301. move-result v9
  1302. if-ge v8, v9, :cond_3
  1303. .line 1511
  1304. sub-int/2addr v4, v2
  1305. .line 1514
  1306. :cond_3
  1307. const/4 v6, 0x0
  1308. .line 1516
  1309. .local v6, "scrollYDelta":I
  1310. iget v8, p1, Landroid/graphics/Rect;->bottom:I
  1311. if-le v8, v4, :cond_5
  1312. iget v8, p1, Landroid/graphics/Rect;->top:I
  1313. if-le v8, v5, :cond_5
  1314. .line 1521
  1315. invoke-virtual {p1}, Landroid/graphics/Rect;->height()I
  1316. move-result v8
  1317. if-le v8, v3, :cond_4
  1318. .line 1523
  1319. iget v8, p1, Landroid/graphics/Rect;->top:I
  1320. sub-int/2addr v8, v5
  1321. add-int/2addr v6, v8
  1322. .line 1530
  1323. :goto_1
  1324. invoke-virtual {p0, v7}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View;
  1325. move-result-object v7
  1326. invoke-virtual {v7}, Landroid/view/View;->getBottom()I
  1327. move-result v0
  1328. .line 1531
  1329. .local v0, "bottom":I
  1330. sub-int v1, v0, v4
  1331. .line 1532
  1332. .local v1, "distanceToBottom":I
  1333. invoke-static {v6, v1}, Ljava/lang/Math;->min(II)I
  1334. move-result v6
  1335. .line 1534
  1336. goto :goto_0
  1337. .line 1526
  1338. .end local v0 # "bottom":I
  1339. .end local v1 # "distanceToBottom":I
  1340. :cond_4
  1341. iget v8, p1, Landroid/graphics/Rect;->bottom:I
  1342. sub-int/2addr v8, v4
  1343. add-int/2addr v6, v8
  1344. goto :goto_1
  1345. .line 1534
  1346. :cond_5
  1347. iget v7, p1, Landroid/graphics/Rect;->top:I
  1348. if-ge v7, v5, :cond_0
  1349. iget v7, p1, Landroid/graphics/Rect;->bottom:I
  1350. if-ge v7, v4, :cond_0
  1351. .line 1539
  1352. invoke-virtual {p1}, Landroid/graphics/Rect;->height()I
  1353. move-result v7
  1354. if-le v7, v3, :cond_6
  1355. .line 1541
  1356. iget v7, p1, Landroid/graphics/Rect;->bottom:I
  1357. sub-int v7, v4, v7
  1358. sub-int/2addr v6, v7
  1359. .line 1548
  1360. :goto_2
  1361. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  1362. move-result v7
  1363. neg-int v7, v7
  1364. invoke-static {v6, v7}, Ljava/lang/Math;->max(II)I
  1365. move-result v6
  1366. goto :goto_0
  1367. .line 1544
  1368. :cond_6
  1369. iget v7, p1, Landroid/graphics/Rect;->top:I
  1370. sub-int v7, v5, v7
  1371. sub-int/2addr v6, v7
  1372. goto :goto_2
  1373. .end method
  1374. .method public computeVerticalScrollExtent()I
  1375. .locals 1
  1376. .prologue
  1377. .line 1369
  1378. invoke-super {p0}, Landroid/widget/FrameLayout;->computeVerticalScrollExtent()I
  1379. move-result v0
  1380. return v0
  1381. .end method
  1382. .method public computeVerticalScrollOffset()I
  1383. .locals 2
  1384. .prologue
  1385. .line 1363
  1386. const/4 v0, 0x0
  1387. invoke-super {p0}, Landroid/widget/FrameLayout;->computeVerticalScrollOffset()I
  1388. move-result v1
  1389. invoke-static {v0, v1}, Ljava/lang/Math;->max(II)I
  1390. move-result v0
  1391. return v0
  1392. .end method
  1393. .method public computeVerticalScrollRange()I
  1394. .locals 8
  1395. .prologue
  1396. const/4 v7, 0x0
  1397. .line 1342
  1398. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I
  1399. move-result v1
  1400. .line 1343
  1401. .local v1, "count":I
  1402. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I
  1403. move-result v5
  1404. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingBottom()I
  1405. move-result v6
  1406. sub-int/2addr v5, v6
  1407. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingTop()I
  1408. move-result v6
  1409. sub-int v0, v5, v6
  1410. .line 1344
  1411. .local v0, "contentHeight":I
  1412. if-nez v1, :cond_0
  1413. .line 1357
  1414. .end local v0 # "contentHeight":I
  1415. :goto_0
  1416. return v0
  1417. .line 1348
  1418. .restart local v0 # "contentHeight":I
  1419. :cond_0
  1420. invoke-virtual {p0, v7}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View;
  1421. move-result-object v5
  1422. invoke-virtual {v5}, Landroid/view/View;->getBottom()I
  1423. move-result v3
  1424. .line 1349
  1425. .local v3, "scrollRange":I
  1426. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  1427. move-result v4
  1428. .line 1350
  1429. .local v4, "scrollY":I
  1430. sub-int v5, v3, v0
  1431. invoke-static {v7, v5}, Ljava/lang/Math;->max(II)I
  1432. move-result v2
  1433. .line 1351
  1434. .local v2, "overscrollBottom":I
  1435. if-gez v4, :cond_2
  1436. .line 1352
  1437. sub-int/2addr v3, v4
  1438. :cond_1
  1439. :goto_1
  1440. move v0, v3
  1441. .line 1357
  1442. goto :goto_0
  1443. .line 1353
  1444. :cond_2
  1445. if-le v4, v2, :cond_1
  1446. .line 1354
  1447. sub-int v5, v4, v2
  1448. add-int/2addr v3, v5
  1449. goto :goto_1
  1450. .end method
  1451. .method public dispatchKeyEvent(Landroid/view/KeyEvent;)Z
  1452. .locals 1
  1453. .param p1, "event" # Landroid/view/KeyEvent;
  1454. .prologue
  1455. .line 513
  1456. invoke-super {p0, p1}, Landroid/widget/FrameLayout;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
  1457. move-result v0
  1458. if-nez v0, :cond_0
  1459. invoke-virtual {p0, p1}, Landroid/support/v4/widget/NestedScrollView;->executeKeyEvent(Landroid/view/KeyEvent;)Z
  1460. move-result v0
  1461. if-eqz v0, :cond_1
  1462. :cond_0
  1463. const/4 v0, 0x1
  1464. :goto_0
  1465. return v0
  1466. :cond_1
  1467. const/4 v0, 0x0
  1468. goto :goto_0
  1469. .end method
  1470. .method public dispatchNestedFling(FFZ)Z
  1471. .locals 1
  1472. .param p1, "velocityX" # F
  1473. .param p2, "velocityY" # F
  1474. .param p3, "consumed" # Z
  1475. .prologue
  1476. .line 249
  1477. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mChildHelper:Landroid/support/v4/view/NestedScrollingChildHelper;
  1478. invoke-virtual {v0, p1, p2, p3}, Landroid/support/v4/view/NestedScrollingChildHelper;->dispatchNestedFling(FFZ)Z
  1479. move-result v0
  1480. return v0
  1481. .end method
  1482. .method public dispatchNestedPreFling(FF)Z
  1483. .locals 1
  1484. .param p1, "velocityX" # F
  1485. .param p2, "velocityY" # F
  1486. .prologue
  1487. .line 254
  1488. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mChildHelper:Landroid/support/v4/view/NestedScrollingChildHelper;
  1489. invoke-virtual {v0, p1, p2}, Landroid/support/v4/view/NestedScrollingChildHelper;->dispatchNestedPreFling(FF)Z
  1490. move-result v0
  1491. return v0
  1492. .end method
  1493. .method public dispatchNestedPreScroll(II[I[I)Z
  1494. .locals 1
  1495. .param p1, "dx" # I
  1496. .param p2, "dy" # I
  1497. .param p3, "consumed" # [I
  1498. .param p4, "offsetInWindow" # [I
  1499. .prologue
  1500. .line 244
  1501. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mChildHelper:Landroid/support/v4/view/NestedScrollingChildHelper;
  1502. invoke-virtual {v0, p1, p2, p3, p4}, Landroid/support/v4/view/NestedScrollingChildHelper;->dispatchNestedPreScroll(II[I[I)Z
  1503. move-result v0
  1504. return v0
  1505. .end method
  1506. .method public dispatchNestedScroll(IIII[I)Z
  1507. .locals 6
  1508. .param p1, "dxConsumed" # I
  1509. .param p2, "dyConsumed" # I
  1510. .param p3, "dxUnconsumed" # I
  1511. .param p4, "dyUnconsumed" # I
  1512. .param p5, "offsetInWindow" # [I
  1513. .prologue
  1514. .line 238
  1515. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mChildHelper:Landroid/support/v4/view/NestedScrollingChildHelper;
  1516. move v1, p1
  1517. move v2, p2
  1518. move v3, p3
  1519. move v4, p4
  1520. move-object v5, p5
  1521. invoke-virtual/range {v0 .. v5}, Landroid/support/v4/view/NestedScrollingChildHelper;->dispatchNestedScroll(IIII[I)Z
  1522. move-result v0
  1523. return v0
  1524. .end method
  1525. .method public draw(Landroid/graphics/Canvas;)V
  1526. .locals 7
  1527. .param p1, "canvas" # Landroid/graphics/Canvas;
  1528. .prologue
  1529. .line 1761
  1530. invoke-super {p0, p1}, Landroid/widget/FrameLayout;->draw(Landroid/graphics/Canvas;)V
  1531. .line 1762
  1532. iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat;
  1533. if-eqz v4, :cond_3
  1534. .line 1763
  1535. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  1536. move-result v2
  1537. .line 1764
  1538. .local v2, "scrollY":I
  1539. iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat;
  1540. invoke-virtual {v4}, Landroid/support/v4/widget/EdgeEffectCompat;->isFinished()Z
  1541. move-result v4
  1542. if-nez v4, :cond_1
  1543. .line 1765
  1544. invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
  1545. move-result v1
  1546. .line 1766
  1547. .local v1, "restoreCount":I
  1548. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getWidth()I
  1549. move-result v4
  1550. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingLeft()I
  1551. move-result v5
  1552. sub-int/2addr v4, v5
  1553. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingRight()I
  1554. move-result v5
  1555. sub-int v3, v4, v5
  1556. .line 1768
  1557. .local v3, "width":I
  1558. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingLeft()I
  1559. move-result v4
  1560. int-to-float v4, v4
  1561. const/4 v5, 0x0
  1562. invoke-static {v5, v2}, Ljava/lang/Math;->min(II)I
  1563. move-result v5
  1564. int-to-float v5, v5
  1565. invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V
  1566. .line 1769
  1567. iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat;
  1568. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I
  1569. move-result v5
  1570. invoke-virtual {v4, v3, v5}, Landroid/support/v4/widget/EdgeEffectCompat;->setSize(II)V
  1571. .line 1770
  1572. iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat;
  1573. invoke-virtual {v4, p1}, Landroid/support/v4/widget/EdgeEffectCompat;->draw(Landroid/graphics/Canvas;)Z
  1574. move-result v4
  1575. if-eqz v4, :cond_0
  1576. .line 1771
  1577. invoke-static {p0}, Landroid/support/v4/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
  1578. .line 1773
  1579. :cond_0
  1580. invoke-virtual {p1, v1}, Landroid/graphics/Canvas;->restoreToCount(I)V
  1581. .line 1775
  1582. .end local v1 # "restoreCount":I
  1583. .end local v3 # "width":I
  1584. :cond_1
  1585. iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowBottom:Landroid/support/v4/widget/EdgeEffectCompat;
  1586. invoke-virtual {v4}, Landroid/support/v4/widget/EdgeEffectCompat;->isFinished()Z
  1587. move-result v4
  1588. if-nez v4, :cond_3
  1589. .line 1776
  1590. invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
  1591. move-result v1
  1592. .line 1777
  1593. .restart local v1 # "restoreCount":I
  1594. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getWidth()I
  1595. move-result v4
  1596. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingLeft()I
  1597. move-result v5
  1598. sub-int/2addr v4, v5
  1599. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingRight()I
  1600. move-result v5
  1601. sub-int v3, v4, v5
  1602. .line 1778
  1603. .restart local v3 # "width":I
  1604. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I
  1605. move-result v0
  1606. .line 1780
  1607. .local v0, "height":I
  1608. neg-int v4, v3
  1609. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingLeft()I
  1610. move-result v5
  1611. add-int/2addr v4, v5
  1612. int-to-float v4, v4
  1613. invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollRange()I
  1614. move-result v5
  1615. invoke-static {v5, v2}, Ljava/lang/Math;->max(II)I
  1616. move-result v5
  1617. add-int/2addr v5, v0
  1618. int-to-float v5, v5
  1619. invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V
  1620. .line 1782
  1621. const/high16 v4, 0x43340000 # 180.0f
  1622. int-to-float v5, v3
  1623. const/4 v6, 0x0
  1624. invoke-virtual {p1, v4, v5, v6}, Landroid/graphics/Canvas;->rotate(FFF)V
  1625. .line 1783
  1626. iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowBottom:Landroid/support/v4/widget/EdgeEffectCompat;
  1627. invoke-virtual {v4, v3, v0}, Landroid/support/v4/widget/EdgeEffectCompat;->setSize(II)V
  1628. .line 1784
  1629. iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowBottom:Landroid/support/v4/widget/EdgeEffectCompat;
  1630. invoke-virtual {v4, p1}, Landroid/support/v4/widget/EdgeEffectCompat;->draw(Landroid/graphics/Canvas;)Z
  1631. move-result v4
  1632. if-eqz v4, :cond_2
  1633. .line 1785
  1634. invoke-static {p0}, Landroid/support/v4/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
  1635. .line 1787
  1636. :cond_2
  1637. invoke-virtual {p1, v1}, Landroid/graphics/Canvas;->restoreToCount(I)V
  1638. .line 1790
  1639. .end local v0 # "height":I
  1640. .end local v1 # "restoreCount":I
  1641. .end local v2 # "scrollY":I
  1642. .end local v3 # "width":I
  1643. :cond_3
  1644. return-void
  1645. .end method
  1646. .method public executeKeyEvent(Landroid/view/KeyEvent;)Z
  1647. .locals 7
  1648. .param p1, "event" # Landroid/view/KeyEvent;
  1649. .prologue
  1650. const/4 v3, 0x0
  1651. const/16 v4, 0x21
  1652. const/16 v5, 0x82
  1653. .line 525
  1654. iget-object v6, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  1655. invoke-virtual {v6}, Landroid/graphics/Rect;->setEmpty()V
  1656. .line 527
  1657. invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->canScroll()Z
  1658. move-result v6
  1659. if-nez v6, :cond_2
  1660. .line 528
  1661. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->isFocused()Z
  1662. move-result v4
  1663. if-eqz v4, :cond_1
  1664. invoke-virtual {p1}, Landroid/view/KeyEvent;->getKeyCode()I
  1665. move-result v4
  1666. const/4 v6, 0x4
  1667. if-eq v4, v6, :cond_1
  1668. .line 529
  1669. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->findFocus()Landroid/view/View;
  1670. move-result-object v0
  1671. .line 530
  1672. .local v0, "currentFocused":Landroid/view/View;
  1673. if-ne v0, p0, :cond_0
  1674. const/4 v0, 0x0
  1675. .line 531
  1676. :cond_0
  1677. invoke-static {}, Landroid/view/FocusFinder;->getInstance()Landroid/view/FocusFinder;
  1678. move-result-object v4
  1679. invoke-virtual {v4, p0, v0, v5}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
  1680. move-result-object v2
  1681. .line 533
  1682. .local v2, "nextFocused":Landroid/view/View;
  1683. if-eqz v2, :cond_1
  1684. if-eq v2, p0, :cond_1
  1685. invoke-virtual {v2, v5}, Landroid/view/View;->requestFocus(I)Z
  1686. move-result v4
  1687. if-eqz v4, :cond_1
  1688. const/4 v3, 0x1
  1689. .line 563
  1690. .end local v0 # "currentFocused":Landroid/view/View;
  1691. .end local v2 # "nextFocused":Landroid/view/View;
  1692. :cond_1
  1693. :goto_0
  1694. return v3
  1695. .line 540
  1696. :cond_2
  1697. const/4 v1, 0x0
  1698. .line 541
  1699. .local v1, "handled":Z
  1700. invoke-virtual {p1}, Landroid/view/KeyEvent;->getAction()I
  1701. move-result v3
  1702. if-nez v3, :cond_3
  1703. .line 542
  1704. invoke-virtual {p1}, Landroid/view/KeyEvent;->getKeyCode()I
  1705. move-result v3
  1706. sparse-switch v3, :sswitch_data_0
  1707. :cond_3
  1708. :goto_1
  1709. move v3, v1
  1710. .line 563
  1711. goto :goto_0
  1712. .line 544
  1713. :sswitch_0
  1714. invoke-virtual {p1}, Landroid/view/KeyEvent;->isAltPressed()Z
  1715. move-result v3
  1716. if-nez v3, :cond_4
  1717. .line 545
  1718. invoke-virtual {p0, v4}, Landroid/support/v4/widget/NestedScrollView;->arrowScroll(I)Z
  1719. move-result v1
  1720. goto :goto_1
  1721. .line 547
  1722. :cond_4
  1723. invoke-virtual {p0, v4}, Landroid/support/v4/widget/NestedScrollView;->fullScroll(I)Z
  1724. move-result v1
  1725. .line 549
  1726. goto :goto_1
  1727. .line 551
  1728. :sswitch_1
  1729. invoke-virtual {p1}, Landroid/view/KeyEvent;->isAltPressed()Z
  1730. move-result v3
  1731. if-nez v3, :cond_5
  1732. .line 552
  1733. invoke-virtual {p0, v5}, Landroid/support/v4/widget/NestedScrollView;->arrowScroll(I)Z
  1734. move-result v1
  1735. goto :goto_1
  1736. .line 554
  1737. :cond_5
  1738. invoke-virtual {p0, v5}, Landroid/support/v4/widget/NestedScrollView;->fullScroll(I)Z
  1739. move-result v1
  1740. .line 556
  1741. goto :goto_1
  1742. .line 558
  1743. :sswitch_2
  1744. invoke-virtual {p1}, Landroid/view/KeyEvent;->isShiftPressed()Z
  1745. move-result v3
  1746. if-eqz v3, :cond_6
  1747. move v3, v4
  1748. :goto_2
  1749. invoke-virtual {p0, v3}, Landroid/support/v4/widget/NestedScrollView;->pageScroll(I)Z
  1750. goto :goto_1
  1751. :cond_6
  1752. move v3, v5
  1753. goto :goto_2
  1754. .line 542
  1755. nop
  1756. :sswitch_data_0
  1757. .sparse-switch
  1758. 0x13 -> :sswitch_0
  1759. 0x14 -> :sswitch_1
  1760. 0x3e -> :sswitch_2
  1761. .end sparse-switch
  1762. .end method
  1763. .method public fling(I)V
  1764. .locals 13
  1765. .param p1, "velocityY" # I
  1766. .prologue
  1767. const/4 v3, 0x0
  1768. .line 1693
  1769. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I
  1770. move-result v0
  1771. if-lez v0, :cond_0
  1772. .line 1694
  1773. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I
  1774. move-result v0
  1775. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingBottom()I
  1776. move-result v1
  1777. sub-int/2addr v0, v1
  1778. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingTop()I
  1779. move-result v1
  1780. sub-int v12, v0, v1
  1781. .line 1695
  1782. .local v12, "height":I
  1783. invoke-virtual {p0, v3}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View;
  1784. move-result-object v0
  1785. invoke-virtual {v0}, Landroid/view/View;->getHeight()I
  1786. move-result v11
  1787. .line 1697
  1788. .local v11, "bottom":I
  1789. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  1790. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I
  1791. move-result v1
  1792. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  1793. move-result v2
  1794. sub-int v4, v11, v12
  1795. invoke-static {v3, v4}, Ljava/lang/Math;->max(II)I
  1796. move-result v8
  1797. div-int/lit8 v10, v12, 0x2
  1798. move v4, p1
  1799. move v5, v3
  1800. move v6, v3
  1801. move v7, v3
  1802. move v9, v3
  1803. invoke-virtual/range {v0 .. v10}, Landroid/support/v4/widget/ScrollerCompat;->fling(IIIIIIIIII)V
  1804. .line 1700
  1805. invoke-static {p0}, Landroid/support/v4/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
  1806. .line 1702
  1807. .end local v11 # "bottom":I
  1808. .end local v12 # "height":I
  1809. :cond_0
  1810. return-void
  1811. .end method
  1812. .method public fullScroll(I)Z
  1813. .locals 7
  1814. .param p1, "direction" # I
  1815. .prologue
  1816. const/4 v4, 0x0
  1817. .line 1147
  1818. const/16 v5, 0x82
  1819. if-ne p1, v5, :cond_1
  1820. const/4 v1, 0x1
  1821. .line 1148
  1822. .local v1, "down":Z
  1823. :goto_0
  1824. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I
  1825. move-result v2
  1826. .line 1150
  1827. .local v2, "height":I
  1828. iget-object v5, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  1829. iput v4, v5, Landroid/graphics/Rect;->top:I
  1830. .line 1151
  1831. iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  1832. iput v2, v4, Landroid/graphics/Rect;->bottom:I
  1833. .line 1153
  1834. if-eqz v1, :cond_0
  1835. .line 1154
  1836. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I
  1837. move-result v0
  1838. .line 1155
  1839. .local v0, "count":I
  1840. if-lez v0, :cond_0
  1841. .line 1156
  1842. add-int/lit8 v4, v0, -0x1
  1843. invoke-virtual {p0, v4}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View;
  1844. move-result-object v3
  1845. .line 1157
  1846. .local v3, "view":Landroid/view/View;
  1847. iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  1848. invoke-virtual {v3}, Landroid/view/View;->getBottom()I
  1849. move-result v5
  1850. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingBottom()I
  1851. move-result v6
  1852. add-int/2addr v5, v6
  1853. iput v5, v4, Landroid/graphics/Rect;->bottom:I
  1854. .line 1158
  1855. iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  1856. iget-object v5, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  1857. iget v5, v5, Landroid/graphics/Rect;->bottom:I
  1858. sub-int/2addr v5, v2
  1859. iput v5, v4, Landroid/graphics/Rect;->top:I
  1860. .line 1162
  1861. .end local v0 # "count":I
  1862. .end local v3 # "view":Landroid/view/View;
  1863. :cond_0
  1864. iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  1865. iget v4, v4, Landroid/graphics/Rect;->top:I
  1866. iget-object v5, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  1867. iget v5, v5, Landroid/graphics/Rect;->bottom:I
  1868. invoke-direct {p0, p1, v4, v5}, Landroid/support/v4/widget/NestedScrollView;->scrollAndFocus(III)Z
  1869. move-result v4
  1870. return v4
  1871. .end local v1 # "down":Z
  1872. .end local v2 # "height":I
  1873. :cond_1
  1874. move v1, v4
  1875. .line 1147
  1876. goto :goto_0
  1877. .end method
  1878. .method protected getBottomFadingEdgeStrength()F
  1879. .locals 5
  1880. .prologue
  1881. .line 334
  1882. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I
  1883. move-result v3
  1884. if-nez v3, :cond_0
  1885. .line 335
  1886. const/4 v3, 0x0
  1887. .line 345
  1888. :goto_0
  1889. return v3
  1890. .line 338
  1891. :cond_0
  1892. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getVerticalFadingEdgeLength()I
  1893. move-result v1
  1894. .line 339
  1895. .local v1, "length":I
  1896. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I
  1897. move-result v3
  1898. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingBottom()I
  1899. move-result v4
  1900. sub-int v0, v3, v4
  1901. .line 340
  1902. .local v0, "bottomEdge":I
  1903. const/4 v3, 0x0
  1904. invoke-virtual {p0, v3}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View;
  1905. move-result-object v3
  1906. invoke-virtual {v3}, Landroid/view/View;->getBottom()I
  1907. move-result v3
  1908. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  1909. move-result v4
  1910. sub-int/2addr v3, v4
  1911. sub-int v2, v3, v0
  1912. .line 341
  1913. .local v2, "span":I
  1914. if-ge v2, v1, :cond_1
  1915. .line 342
  1916. int-to-float v3, v2
  1917. int-to-float v4, v1
  1918. div-float/2addr v3, v4
  1919. goto :goto_0
  1920. .line 345
  1921. :cond_1
  1922. const/high16 v3, 0x3f800000 # 1.0f
  1923. goto :goto_0
  1924. .end method
  1925. .method public getMaxScrollAmount()I
  1926. .locals 2
  1927. .prologue
  1928. .line 353
  1929. const/high16 v0, 0x3f000000 # 0.5f
  1930. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I
  1931. move-result v1
  1932. int-to-float v1, v1
  1933. mul-float/2addr v0, v1
  1934. float-to-int v0, v0
  1935. return v0
  1936. .end method
  1937. .method public getNestedScrollAxes()I
  1938. .locals 1
  1939. .prologue
  1940. .line 308
  1941. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mParentHelper:Landroid/support/v4/view/NestedScrollingParentHelper;
  1942. invoke-virtual {v0}, Landroid/support/v4/view/NestedScrollingParentHelper;->getNestedScrollAxes()I
  1943. move-result v0
  1944. return v0
  1945. .end method
  1946. .method protected getTopFadingEdgeStrength()F
  1947. .locals 4
  1948. .prologue
  1949. .line 319
  1950. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I
  1951. move-result v2
  1952. if-nez v2, :cond_0
  1953. .line 320
  1954. const/4 v2, 0x0
  1955. .line 329
  1956. :goto_0
  1957. return v2
  1958. .line 323
  1959. :cond_0
  1960. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getVerticalFadingEdgeLength()I
  1961. move-result v0
  1962. .line 324
  1963. .local v0, "length":I
  1964. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  1965. move-result v1
  1966. .line 325
  1967. .local v1, "scrollY":I
  1968. if-ge v1, v0, :cond_1
  1969. .line 326
  1970. int-to-float v2, v1
  1971. int-to-float v3, v0
  1972. div-float/2addr v2, v3
  1973. goto :goto_0
  1974. .line 329
  1975. :cond_1
  1976. const/high16 v2, 0x3f800000 # 1.0f
  1977. goto :goto_0
  1978. .end method
  1979. .method public hasNestedScrollingParent()Z
  1980. .locals 1
  1981. .prologue
  1982. .line 232
  1983. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mChildHelper:Landroid/support/v4/view/NestedScrollingChildHelper;
  1984. invoke-virtual {v0}, Landroid/support/v4/view/NestedScrollingChildHelper;->hasNestedScrollingParent()Z
  1985. move-result v0
  1986. return v0
  1987. .end method
  1988. .method public isFillViewport()Z
  1989. .locals 1
  1990. .prologue
  1991. .line 436
  1992. iget-boolean v0, p0, Landroid/support/v4/widget/NestedScrollView;->mFillViewport:Z
  1993. return v0
  1994. .end method
  1995. .method public isNestedScrollingEnabled()Z
  1996. .locals 1
  1997. .prologue
  1998. .line 217
  1999. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mChildHelper:Landroid/support/v4/view/NestedScrollingChildHelper;
  2000. invoke-virtual {v0}, Landroid/support/v4/view/NestedScrollingChildHelper;->isNestedScrollingEnabled()Z
  2001. move-result v0
  2002. return v0
  2003. .end method
  2004. .method public isSmoothScrollingEnabled()Z
  2005. .locals 1
  2006. .prologue
  2007. .line 459
  2008. iget-boolean v0, p0, Landroid/support/v4/widget/NestedScrollView;->mSmoothScrollingEnabled:Z
  2009. return v0
  2010. .end method
  2011. .method protected measureChild(Landroid/view/View;II)V
  2012. .locals 6
  2013. .param p1, "child" # Landroid/view/View;
  2014. .param p2, "parentWidthMeasureSpec" # I
  2015. .param p3, "parentHeightMeasureSpec" # I
  2016. .prologue
  2017. const/4 v5, 0x0
  2018. .line 1392
  2019. invoke-virtual {p1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
  2020. move-result-object v2
  2021. .line 1397
  2022. .local v2, "lp":Landroid/view/ViewGroup$LayoutParams;
  2023. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingLeft()I
  2024. move-result v3
  2025. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingRight()I
  2026. move-result v4
  2027. add-int/2addr v3, v4
  2028. iget v4, v2, Landroid/view/ViewGroup$LayoutParams;->width:I
  2029. invoke-static {p2, v3, v4}, Landroid/support/v4/widget/NestedScrollView;->getChildMeasureSpec(III)I
  2030. move-result v1
  2031. .line 1400
  2032. .local v1, "childWidthMeasureSpec":I
  2033. invoke-static {v5, v5}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
  2034. move-result v0
  2035. .line 1402
  2036. .local v0, "childHeightMeasureSpec":I
  2037. invoke-virtual {p1, v1, v0}, Landroid/view/View;->measure(II)V
  2038. .line 1403
  2039. return-void
  2040. .end method
  2041. .method protected measureChildWithMargins(Landroid/view/View;IIII)V
  2042. .locals 5
  2043. .param p1, "child" # Landroid/view/View;
  2044. .param p2, "parentWidthMeasureSpec" # I
  2045. .param p3, "widthUsed" # I
  2046. .param p4, "parentHeightMeasureSpec" # I
  2047. .param p5, "heightUsed" # I
  2048. .prologue
  2049. .line 1408
  2050. invoke-virtual {p1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
  2051. move-result-object v2
  2052. check-cast v2, Landroid/view/ViewGroup$MarginLayoutParams;
  2053. .line 1410
  2054. .local v2, "lp":Landroid/view/ViewGroup$MarginLayoutParams;
  2055. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingLeft()I
  2056. move-result v3
  2057. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingRight()I
  2058. move-result v4
  2059. add-int/2addr v3, v4
  2060. iget v4, v2, Landroid/view/ViewGroup$MarginLayoutParams;->leftMargin:I
  2061. add-int/2addr v3, v4
  2062. iget v4, v2, Landroid/view/ViewGroup$MarginLayoutParams;->rightMargin:I
  2063. add-int/2addr v3, v4
  2064. add-int/2addr v3, p3
  2065. iget v4, v2, Landroid/view/ViewGroup$MarginLayoutParams;->width:I
  2066. invoke-static {p2, v3, v4}, Landroid/support/v4/widget/NestedScrollView;->getChildMeasureSpec(III)I
  2067. move-result v1
  2068. .line 1413
  2069. .local v1, "childWidthMeasureSpec":I
  2070. iget v3, v2, Landroid/view/ViewGroup$MarginLayoutParams;->topMargin:I
  2071. iget v4, v2, Landroid/view/ViewGroup$MarginLayoutParams;->bottomMargin:I
  2072. add-int/2addr v3, v4
  2073. const/4 v4, 0x0
  2074. invoke-static {v3, v4}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
  2075. move-result v0
  2076. .line 1416
  2077. .local v0, "childHeightMeasureSpec":I
  2078. invoke-virtual {p1, v1, v0}, Landroid/view/View;->measure(II)V
  2079. .line 1417
  2080. return-void
  2081. .end method
  2082. .method public onAttachedToWindow()V
  2083. .locals 1
  2084. .prologue
  2085. .line 1651
  2086. const/4 v0, 0x0
  2087. iput-boolean v0, p0, Landroid/support/v4/widget/NestedScrollView;->mIsLaidOut:Z
  2088. .line 1652
  2089. return-void
  2090. .end method
  2091. .method public onGenericMotionEvent(Landroid/view/MotionEvent;)Z
  2092. .locals 6
  2093. .param p1, "event" # Landroid/view/MotionEvent;
  2094. .prologue
  2095. .line 899
  2096. invoke-static {p1}, Landroid/support/v4/view/MotionEventCompat;->getSource(Landroid/view/MotionEvent;)I
  2097. move-result v5
  2098. and-int/lit8 v5, v5, 0x2
  2099. if-eqz v5, :cond_0
  2100. .line 900
  2101. invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
  2102. move-result v5
  2103. packed-switch v5, :pswitch_data_0
  2104. .line 924
  2105. :cond_0
  2106. const/4 v5, 0x0
  2107. :goto_0
  2108. return v5
  2109. .line 902
  2110. :pswitch_0
  2111. iget-boolean v5, p0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z
  2112. if-nez v5, :cond_0
  2113. .line 903
  2114. const/16 v5, 0x9
  2115. invoke-static {p1, v5}, Landroid/support/v4/view/MotionEventCompat;->getAxisValue(Landroid/view/MotionEvent;I)F
  2116. move-result v4
  2117. .line 905
  2118. .local v4, "vscroll":F
  2119. const/4 v5, 0x0
  2120. cmpl-float v5, v4, v5
  2121. if-eqz v5, :cond_0
  2122. .line 906
  2123. invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->getVerticalScrollFactorCompat()F
  2124. move-result v5
  2125. mul-float/2addr v5, v4
  2126. float-to-int v0, v5
  2127. .line 907
  2128. .local v0, "delta":I
  2129. invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollRange()I
  2130. move-result v3
  2131. .line 908
  2132. .local v3, "range":I
  2133. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  2134. move-result v2
  2135. .line 909
  2136. .local v2, "oldScrollY":I
  2137. sub-int v1, v2, v0
  2138. .line 910
  2139. .local v1, "newScrollY":I
  2140. if-gez v1, :cond_2
  2141. .line 911
  2142. const/4 v1, 0x0
  2143. .line 915
  2144. :cond_1
  2145. :goto_1
  2146. if-eq v1, v2, :cond_0
  2147. .line 916
  2148. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I
  2149. move-result v5
  2150. invoke-super {p0, v5, v1}, Landroid/widget/FrameLayout;->scrollTo(II)V
  2151. .line 917
  2152. const/4 v5, 0x1
  2153. goto :goto_0
  2154. .line 912
  2155. :cond_2
  2156. if-le v1, v3, :cond_1
  2157. .line 913
  2158. move v1, v3
  2159. goto :goto_1
  2160. .line 900
  2161. :pswitch_data_0
  2162. .packed-switch 0x8
  2163. :pswitch_0
  2164. .end packed-switch
  2165. .end method
  2166. .method public onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
  2167. .locals 13
  2168. .param p1, "ev" # Landroid/view/MotionEvent;
  2169. .prologue
  2170. const/4 v4, 0x2
  2171. const/4 v2, -0x1
  2172. const/4 v0, 0x1
  2173. const/4 v3, 0x0
  2174. .line 621
  2175. invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
  2176. move-result v7
  2177. .line 622
  2178. .local v7, "action":I
  2179. if-ne v7, v4, :cond_0
  2180. iget-boolean v1, p0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z
  2181. if-eqz v1, :cond_0
  2182. .line 716
  2183. :goto_0
  2184. return v0
  2185. .line 626
  2186. :cond_0
  2187. and-int/lit16 v1, v7, 0xff
  2188. packed-switch v1, :pswitch_data_0
  2189. .line 716
  2190. :cond_1
  2191. :goto_1
  2192. :pswitch_0
  2193. iget-boolean v0, p0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z
  2194. goto :goto_0
  2195. .line 637
  2196. :pswitch_1
  2197. iget v8, p0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I
  2198. .line 638
  2199. .local v8, "activePointerId":I
  2200. if-eq v8, v2, :cond_1
  2201. .line 643
  2202. invoke-static {p1, v8}, Landroid/support/v4/view/MotionEventCompat;->findPointerIndex(Landroid/view/MotionEvent;I)I
  2203. move-result v10
  2204. .line 644
  2205. .local v10, "pointerIndex":I
  2206. if-ne v10, v2, :cond_2
  2207. .line 645
  2208. const-string v0, "NestedScrollView"
  2209. new-instance v1, Ljava/lang/StringBuilder;
  2210. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  2211. const-string v2, "Invalid pointerId="
  2212. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2213. move-result-object v1
  2214. invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  2215. move-result-object v1
  2216. const-string v2, " in onInterceptTouchEvent"
  2217. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2218. move-result-object v1
  2219. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  2220. move-result-object v1
  2221. invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
  2222. goto :goto_1
  2223. .line 650
  2224. :cond_2
  2225. invoke-static {p1, v10}, Landroid/support/v4/view/MotionEventCompat;->getY(Landroid/view/MotionEvent;I)F
  2226. move-result v1
  2227. float-to-int v11, v1
  2228. .line 651
  2229. .local v11, "y":I
  2230. iget v1, p0, Landroid/support/v4/widget/NestedScrollView;->mLastMotionY:I
  2231. sub-int v1, v11, v1
  2232. invoke-static {v1}, Ljava/lang/Math;->abs(I)I
  2233. move-result v12
  2234. .line 652
  2235. .local v12, "yDiff":I
  2236. iget v1, p0, Landroid/support/v4/widget/NestedScrollView;->mTouchSlop:I
  2237. if-le v12, v1, :cond_1
  2238. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getNestedScrollAxes()I
  2239. move-result v1
  2240. and-int/lit8 v1, v1, 0x2
  2241. if-nez v1, :cond_1
  2242. .line 654
  2243. iput-boolean v0, p0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z
  2244. .line 655
  2245. iput v11, p0, Landroid/support/v4/widget/NestedScrollView;->mLastMotionY:I
  2246. .line 656
  2247. invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->initVelocityTrackerIfNotExists()V
  2248. .line 657
  2249. iget-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker;
  2250. invoke-virtual {v1, p1}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V
  2251. .line 658
  2252. iput v3, p0, Landroid/support/v4/widget/NestedScrollView;->mNestedYOffset:I
  2253. .line 659
  2254. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getParent()Landroid/view/ViewParent;
  2255. move-result-object v9
  2256. .line 660
  2257. .local v9, "parent":Landroid/view/ViewParent;
  2258. if-eqz v9, :cond_1
  2259. .line 661
  2260. invoke-interface {v9, v0}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
  2261. goto :goto_1
  2262. .line 668
  2263. .end local v8 # "activePointerId":I
  2264. .end local v9 # "parent":Landroid/view/ViewParent;
  2265. .end local v10 # "pointerIndex":I
  2266. .end local v11 # "y":I
  2267. .end local v12 # "yDiff":I
  2268. :pswitch_2
  2269. invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F
  2270. move-result v1
  2271. float-to-int v11, v1
  2272. .line 669
  2273. .restart local v11 # "y":I
  2274. invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F
  2275. move-result v1
  2276. float-to-int v1, v1
  2277. invoke-direct {p0, v1, v11}, Landroid/support/v4/widget/NestedScrollView;->inChild(II)Z
  2278. move-result v1
  2279. if-nez v1, :cond_3
  2280. .line 670
  2281. iput-boolean v3, p0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z
  2282. .line 671
  2283. invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->recycleVelocityTracker()V
  2284. goto :goto_1
  2285. .line 679
  2286. :cond_3
  2287. iput v11, p0, Landroid/support/v4/widget/NestedScrollView;->mLastMotionY:I
  2288. .line 680
  2289. invoke-static {p1, v3}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I
  2290. move-result v1
  2291. iput v1, p0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I
  2292. .line 682
  2293. invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->initOrResetVelocityTracker()V
  2294. .line 683
  2295. iget-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker;
  2296. invoke-virtual {v1, p1}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V
  2297. .line 690
  2298. iget-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  2299. invoke-virtual {v1}, Landroid/support/v4/widget/ScrollerCompat;->computeScrollOffset()Z
  2300. .line 691
  2301. iget-object v1, p0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  2302. invoke-virtual {v1}, Landroid/support/v4/widget/ScrollerCompat;->isFinished()Z
  2303. move-result v1
  2304. if-nez v1, :cond_4
  2305. move v3, v0
  2306. :cond_4
  2307. iput-boolean v3, p0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z
  2308. .line 692
  2309. invoke-virtual {p0, v4}, Landroid/support/v4/widget/NestedScrollView;->startNestedScroll(I)Z
  2310. goto/16 :goto_1
  2311. .line 699
  2312. .end local v11 # "y":I
  2313. :pswitch_3
  2314. iput-boolean v3, p0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z
  2315. .line 700
  2316. iput v2, p0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I
  2317. .line 701
  2318. invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->recycleVelocityTracker()V
  2319. .line 702
  2320. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  2321. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I
  2322. move-result v1
  2323. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  2324. move-result v2
  2325. invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollRange()I
  2326. move-result v6
  2327. move v4, v3
  2328. move v5, v3
  2329. invoke-virtual/range {v0 .. v6}, Landroid/support/v4/widget/ScrollerCompat;->springBack(IIIIII)Z
  2330. move-result v0
  2331. if-eqz v0, :cond_5
  2332. .line 703
  2333. invoke-static {p0}, Landroid/support/v4/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
  2334. .line 705
  2335. :cond_5
  2336. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->stopNestedScroll()V
  2337. goto/16 :goto_1
  2338. .line 708
  2339. :pswitch_4
  2340. invoke-direct {p0, p1}, Landroid/support/v4/widget/NestedScrollView;->onSecondaryPointerUp(Landroid/view/MotionEvent;)V
  2341. goto/16 :goto_1
  2342. .line 626
  2343. :pswitch_data_0
  2344. .packed-switch 0x0
  2345. :pswitch_2
  2346. :pswitch_3
  2347. :pswitch_1
  2348. :pswitch_3
  2349. :pswitch_0
  2350. :pswitch_0
  2351. :pswitch_4
  2352. .end packed-switch
  2353. .end method
  2354. .method protected onLayout(ZIIII)V
  2355. .locals 6
  2356. .param p1, "changed" # Z
  2357. .param p2, "l" # I
  2358. .param p3, "t" # I
  2359. .param p4, "r" # I
  2360. .param p5, "b" # I
  2361. .prologue
  2362. const/4 v5, 0x0
  2363. const/4 v2, 0x0
  2364. .line 1618
  2365. invoke-super/range {p0 .. p5}, Landroid/widget/FrameLayout;->onLayout(ZIIII)V
  2366. .line 1619
  2367. iput-boolean v2, p0, Landroid/support/v4/widget/NestedScrollView;->mIsLayoutDirty:Z
  2368. .line 1621
  2369. iget-object v3, p0, Landroid/support/v4/widget/NestedScrollView;->mChildToScrollTo:Landroid/view/View;
  2370. if-eqz v3, :cond_0
  2371. iget-object v3, p0, Landroid/support/v4/widget/NestedScrollView;->mChildToScrollTo:Landroid/view/View;
  2372. invoke-static {v3, p0}, Landroid/support/v4/widget/NestedScrollView;->isViewDescendantOf(Landroid/view/View;Landroid/view/View;)Z
  2373. move-result v3
  2374. if-eqz v3, :cond_0
  2375. .line 1622
  2376. iget-object v3, p0, Landroid/support/v4/widget/NestedScrollView;->mChildToScrollTo:Landroid/view/View;
  2377. invoke-direct {p0, v3}, Landroid/support/v4/widget/NestedScrollView;->scrollToChild(Landroid/view/View;)V
  2378. .line 1624
  2379. :cond_0
  2380. iput-object v5, p0, Landroid/support/v4/widget/NestedScrollView;->mChildToScrollTo:Landroid/view/View;
  2381. .line 1626
  2382. iget-boolean v3, p0, Landroid/support/v4/widget/NestedScrollView;->mIsLaidOut:Z
  2383. if-nez v3, :cond_2
  2384. .line 1627
  2385. iget-object v3, p0, Landroid/support/v4/widget/NestedScrollView;->mSavedState:Landroid/support/v4/widget/NestedScrollView$SavedState;
  2386. if-eqz v3, :cond_1
  2387. .line 1628
  2388. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I
  2389. move-result v3
  2390. iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mSavedState:Landroid/support/v4/widget/NestedScrollView$SavedState;
  2391. iget v4, v4, Landroid/support/v4/widget/NestedScrollView$SavedState;->scrollPosition:I
  2392. invoke-virtual {p0, v3, v4}, Landroid/support/v4/widget/NestedScrollView;->scrollTo(II)V
  2393. .line 1629
  2394. iput-object v5, p0, Landroid/support/v4/widget/NestedScrollView;->mSavedState:Landroid/support/v4/widget/NestedScrollView$SavedState;
  2395. .line 1632
  2396. :cond_1
  2397. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I
  2398. move-result v3
  2399. if-lez v3, :cond_3
  2400. invoke-virtual {p0, v2}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View;
  2401. move-result-object v3
  2402. invoke-virtual {v3}, Landroid/view/View;->getMeasuredHeight()I
  2403. move-result v0
  2404. .line 1633
  2405. .local v0, "childHeight":I
  2406. :goto_0
  2407. sub-int v3, p5, p3
  2408. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingBottom()I
  2409. move-result v4
  2410. sub-int/2addr v3, v4
  2411. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingTop()I
  2412. move-result v4
  2413. sub-int/2addr v3, v4
  2414. sub-int v3, v0, v3
  2415. invoke-static {v2, v3}, Ljava/lang/Math;->max(II)I
  2416. move-result v1
  2417. .line 1637
  2418. .local v1, "scrollRange":I
  2419. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  2420. move-result v3
  2421. if-le v3, v1, :cond_4
  2422. .line 1638
  2423. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I
  2424. move-result v2
  2425. invoke-virtual {p0, v2, v1}, Landroid/support/v4/widget/NestedScrollView;->scrollTo(II)V
  2426. .line 1645
  2427. .end local v0 # "childHeight":I
  2428. .end local v1 # "scrollRange":I
  2429. :cond_2
  2430. :goto_1
  2431. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I
  2432. move-result v2
  2433. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  2434. move-result v3
  2435. invoke-virtual {p0, v2, v3}, Landroid/support/v4/widget/NestedScrollView;->scrollTo(II)V
  2436. .line 1646
  2437. const/4 v2, 0x1
  2438. iput-boolean v2, p0, Landroid/support/v4/widget/NestedScrollView;->mIsLaidOut:Z
  2439. .line 1647
  2440. return-void
  2441. :cond_3
  2442. move v0, v2
  2443. .line 1632
  2444. goto :goto_0
  2445. .line 1639
  2446. .restart local v0 # "childHeight":I
  2447. .restart local v1 # "scrollRange":I
  2448. :cond_4
  2449. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  2450. move-result v3
  2451. if-gez v3, :cond_2
  2452. .line 1640
  2453. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I
  2454. move-result v3
  2455. invoke-virtual {p0, v3, v2}, Landroid/support/v4/widget/NestedScrollView;->scrollTo(II)V
  2456. goto :goto_1
  2457. .end method
  2458. .method protected onMeasure(II)V
  2459. .locals 8
  2460. .param p1, "widthMeasureSpec" # I
  2461. .param p2, "heightMeasureSpec" # I
  2462. .prologue
  2463. .line 481
  2464. invoke-super {p0, p1, p2}, Landroid/widget/FrameLayout;->onMeasure(II)V
  2465. .line 483
  2466. iget-boolean v6, p0, Landroid/support/v4/widget/NestedScrollView;->mFillViewport:Z
  2467. if-nez v6, :cond_1
  2468. .line 508
  2469. :cond_0
  2470. :goto_0
  2471. return-void
  2472. .line 487
  2473. :cond_1
  2474. invoke-static {p2}, Landroid/view/View$MeasureSpec;->getMode(I)I
  2475. move-result v4
  2476. .line 488
  2477. .local v4, "heightMode":I
  2478. if-eqz v4, :cond_0
  2479. .line 492
  2480. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I
  2481. move-result v6
  2482. if-lez v6, :cond_0
  2483. .line 493
  2484. const/4 v6, 0x0
  2485. invoke-virtual {p0, v6}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View;
  2486. move-result-object v0
  2487. .line 494
  2488. .local v0, "child":Landroid/view/View;
  2489. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getMeasuredHeight()I
  2490. move-result v3
  2491. .line 495
  2492. .local v3, "height":I
  2493. invoke-virtual {v0}, Landroid/view/View;->getMeasuredHeight()I
  2494. move-result v6
  2495. if-ge v6, v3, :cond_0
  2496. .line 496
  2497. invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
  2498. move-result-object v5
  2499. check-cast v5, Landroid/widget/FrameLayout$LayoutParams;
  2500. .line 498
  2501. .local v5, "lp":Landroid/widget/FrameLayout$LayoutParams;
  2502. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingLeft()I
  2503. move-result v6
  2504. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingRight()I
  2505. move-result v7
  2506. add-int/2addr v6, v7
  2507. iget v7, v5, Landroid/widget/FrameLayout$LayoutParams;->width:I
  2508. invoke-static {p1, v6, v7}, Landroid/support/v4/widget/NestedScrollView;->getChildMeasureSpec(III)I
  2509. move-result v2
  2510. .line 500
  2511. .local v2, "childWidthMeasureSpec":I
  2512. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingTop()I
  2513. move-result v6
  2514. sub-int/2addr v3, v6
  2515. .line 501
  2516. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingBottom()I
  2517. move-result v6
  2518. sub-int/2addr v3, v6
  2519. .line 502
  2520. const/high16 v6, 0x40000000 # 2.0f
  2521. invoke-static {v3, v6}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
  2522. move-result v1
  2523. .line 505
  2524. .local v1, "childHeightMeasureSpec":I
  2525. invoke-virtual {v0, v2, v1}, Landroid/view/View;->measure(II)V
  2526. goto :goto_0
  2527. .end method
  2528. .method public onNestedFling(Landroid/view/View;FFZ)Z
  2529. .locals 1
  2530. .param p1, "target" # Landroid/view/View;
  2531. .param p2, "velocityX" # F
  2532. .param p3, "velocityY" # F
  2533. .param p4, "consumed" # Z
  2534. .prologue
  2535. .line 293
  2536. if-nez p4, :cond_0
  2537. .line 294
  2538. float-to-int v0, p3
  2539. invoke-direct {p0, v0}, Landroid/support/v4/widget/NestedScrollView;->flingWithNestedDispatch(I)V
  2540. .line 295
  2541. const/4 v0, 0x1
  2542. .line 297
  2543. :goto_0
  2544. return v0
  2545. :cond_0
  2546. const/4 v0, 0x0
  2547. goto :goto_0
  2548. .end method
  2549. .method public onNestedPreFling(Landroid/view/View;FF)Z
  2550. .locals 1
  2551. .param p1, "target" # Landroid/view/View;
  2552. .param p2, "velocityX" # F
  2553. .param p3, "velocityY" # F
  2554. .prologue
  2555. .line 303
  2556. const/4 v0, 0x0
  2557. return v0
  2558. .end method
  2559. .method public onNestedPreScroll(Landroid/view/View;II[I)V
  2560. .locals 0
  2561. .param p1, "target" # Landroid/view/View;
  2562. .param p2, "dx" # I
  2563. .param p3, "dy" # I
  2564. .param p4, "consumed" # [I
  2565. .prologue
  2566. .line 289
  2567. return-void
  2568. .end method
  2569. .method public onNestedScroll(Landroid/view/View;IIII)V
  2570. .locals 7
  2571. .param p1, "target" # Landroid/view/View;
  2572. .param p2, "dxConsumed" # I
  2573. .param p3, "dyConsumed" # I
  2574. .param p4, "dxUnconsumed" # I
  2575. .param p5, "dyUnconsumed" # I
  2576. .prologue
  2577. const/4 v1, 0x0
  2578. .line 279
  2579. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  2580. move-result v6
  2581. .line 280
  2582. .local v6, "oldScrollY":I
  2583. invoke-virtual {p0, v1, p5}, Landroid/support/v4/widget/NestedScrollView;->scrollBy(II)V
  2584. .line 281
  2585. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  2586. move-result v0
  2587. sub-int v2, v0, v6
  2588. .line 282
  2589. .local v2, "myConsumed":I
  2590. sub-int v4, p5, v2
  2591. .line 283
  2592. .local v4, "myUnconsumed":I
  2593. const/4 v5, 0x0
  2594. move-object v0, p0
  2595. move v3, v1
  2596. invoke-virtual/range {v0 .. v5}, Landroid/support/v4/widget/NestedScrollView;->dispatchNestedScroll(IIII[I)Z
  2597. .line 284
  2598. return-void
  2599. .end method
  2600. .method public onNestedScrollAccepted(Landroid/view/View;Landroid/view/View;I)V
  2601. .locals 1
  2602. .param p1, "child" # Landroid/view/View;
  2603. .param p2, "target" # Landroid/view/View;
  2604. .param p3, "nestedScrollAxes" # I
  2605. .prologue
  2606. .line 266
  2607. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mParentHelper:Landroid/support/v4/view/NestedScrollingParentHelper;
  2608. invoke-virtual {v0, p1, p2, p3}, Landroid/support/v4/view/NestedScrollingParentHelper;->onNestedScrollAccepted(Landroid/view/View;Landroid/view/View;I)V
  2609. .line 267
  2610. const/4 v0, 0x2
  2611. invoke-virtual {p0, v0}, Landroid/support/v4/widget/NestedScrollView;->startNestedScroll(I)Z
  2612. .line 268
  2613. return-void
  2614. .end method
  2615. .method protected onOverScrolled(IIZZ)V
  2616. .locals 0
  2617. .param p1, "scrollX" # I
  2618. .param p2, "scrollY" # I
  2619. .param p3, "clampedX" # Z
  2620. .param p4, "clampedY" # Z
  2621. .prologue
  2622. .line 944
  2623. invoke-super {p0, p1, p2}, Landroid/widget/FrameLayout;->scrollTo(II)V
  2624. .line 945
  2625. return-void
  2626. .end method
  2627. .method protected onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z
  2628. .locals 4
  2629. .param p1, "direction" # I
  2630. .param p2, "previouslyFocusedRect" # Landroid/graphics/Rect;
  2631. .prologue
  2632. const/4 v1, 0x0
  2633. .line 1578
  2634. const/4 v2, 0x2
  2635. if-ne p1, v2, :cond_2
  2636. .line 1579
  2637. const/16 p1, 0x82
  2638. .line 1584
  2639. :cond_0
  2640. :goto_0
  2641. if-nez p2, :cond_3
  2642. invoke-static {}, Landroid/view/FocusFinder;->getInstance()Landroid/view/FocusFinder;
  2643. move-result-object v2
  2644. const/4 v3, 0x0
  2645. invoke-virtual {v2, p0, v3, p1}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
  2646. move-result-object v0
  2647. .line 1589
  2648. .local v0, "nextFocus":Landroid/view/View;
  2649. :goto_1
  2650. if-nez v0, :cond_4
  2651. .line 1597
  2652. :cond_1
  2653. :goto_2
  2654. return v1
  2655. .line 1580
  2656. .end local v0 # "nextFocus":Landroid/view/View;
  2657. :cond_2
  2658. const/4 v2, 0x1
  2659. if-ne p1, v2, :cond_0
  2660. .line 1581
  2661. const/16 p1, 0x21
  2662. goto :goto_0
  2663. .line 1584
  2664. :cond_3
  2665. invoke-static {}, Landroid/view/FocusFinder;->getInstance()Landroid/view/FocusFinder;
  2666. move-result-object v2
  2667. invoke-virtual {v2, p0, p2, p1}, Landroid/view/FocusFinder;->findNextFocusFromRect(Landroid/view/ViewGroup;Landroid/graphics/Rect;I)Landroid/view/View;
  2668. move-result-object v0
  2669. goto :goto_1
  2670. .line 1593
  2671. .restart local v0 # "nextFocus":Landroid/view/View;
  2672. :cond_4
  2673. invoke-direct {p0, v0}, Landroid/support/v4/widget/NestedScrollView;->isOffScreen(Landroid/view/View;)Z
  2674. move-result v2
  2675. if-nez v2, :cond_1
  2676. .line 1597
  2677. invoke-virtual {v0, p1, p2}, Landroid/view/View;->requestFocus(ILandroid/graphics/Rect;)Z
  2678. move-result v1
  2679. goto :goto_2
  2680. .end method
  2681. .method protected onRestoreInstanceState(Landroid/os/Parcelable;)V
  2682. .locals 2
  2683. .param p1, "state" # Landroid/os/Parcelable;
  2684. .prologue
  2685. .line 1824
  2686. move-object v0, p1
  2687. check-cast v0, Landroid/support/v4/widget/NestedScrollView$SavedState;
  2688. .line 1825
  2689. .local v0, "ss":Landroid/support/v4/widget/NestedScrollView$SavedState;
  2690. invoke-virtual {v0}, Landroid/support/v4/widget/NestedScrollView$SavedState;->getSuperState()Landroid/os/Parcelable;
  2691. move-result-object v1
  2692. invoke-super {p0, v1}, Landroid/widget/FrameLayout;->onRestoreInstanceState(Landroid/os/Parcelable;)V
  2693. .line 1826
  2694. iput-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mSavedState:Landroid/support/v4/widget/NestedScrollView$SavedState;
  2695. .line 1827
  2696. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->requestLayout()V
  2697. .line 1828
  2698. return-void
  2699. .end method
  2700. .method protected onSaveInstanceState()Landroid/os/Parcelable;
  2701. .locals 3
  2702. .prologue
  2703. .line 1832
  2704. invoke-super {p0}, Landroid/widget/FrameLayout;->onSaveInstanceState()Landroid/os/Parcelable;
  2705. move-result-object v1
  2706. .line 1833
  2707. .local v1, "superState":Landroid/os/Parcelable;
  2708. new-instance v0, Landroid/support/v4/widget/NestedScrollView$SavedState;
  2709. invoke-direct {v0, v1}, Landroid/support/v4/widget/NestedScrollView$SavedState;-><init>(Landroid/os/Parcelable;)V
  2710. .line 1834
  2711. .local v0, "ss":Landroid/support/v4/widget/NestedScrollView$SavedState;
  2712. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  2713. move-result v2
  2714. iput v2, v0, Landroid/support/v4/widget/NestedScrollView$SavedState;->scrollPosition:I
  2715. .line 1835
  2716. return-object v0
  2717. .end method
  2718. .method protected onScrollChanged(IIII)V
  2719. .locals 6
  2720. .param p1, "l" # I
  2721. .param p2, "t" # I
  2722. .param p3, "oldl" # I
  2723. .param p4, "oldt" # I
  2724. .prologue
  2725. .line 472
  2726. invoke-super {p0, p1, p2, p3, p4}, Landroid/widget/FrameLayout;->onScrollChanged(IIII)V
  2727. .line 474
  2728. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mOnScrollChangeListener:Landroid/support/v4/widget/NestedScrollView$OnScrollChangeListener;
  2729. if-eqz v0, :cond_0
  2730. .line 475
  2731. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mOnScrollChangeListener:Landroid/support/v4/widget/NestedScrollView$OnScrollChangeListener;
  2732. move-object v1, p0
  2733. move v2, p1
  2734. move v3, p2
  2735. move v4, p3
  2736. move v5, p4
  2737. invoke-interface/range {v0 .. v5}, Landroid/support/v4/widget/NestedScrollView$OnScrollChangeListener;->onScrollChange(Landroid/support/v4/widget/NestedScrollView;IIII)V
  2738. .line 477
  2739. :cond_0
  2740. return-void
  2741. .end method
  2742. .method protected onSizeChanged(IIII)V
  2743. .locals 3
  2744. .param p1, "w" # I
  2745. .param p2, "h" # I
  2746. .param p3, "oldw" # I
  2747. .param p4, "oldh" # I
  2748. .prologue
  2749. .line 1656
  2750. invoke-super {p0, p1, p2, p3, p4}, Landroid/widget/FrameLayout;->onSizeChanged(IIII)V
  2751. .line 1658
  2752. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->findFocus()Landroid/view/View;
  2753. move-result-object v0
  2754. .line 1659
  2755. .local v0, "currentFocused":Landroid/view/View;
  2756. if-eqz v0, :cond_0
  2757. if-ne p0, v0, :cond_1
  2758. .line 1671
  2759. :cond_0
  2760. :goto_0
  2761. return-void
  2762. .line 1665
  2763. :cond_1
  2764. const/4 v2, 0x0
  2765. invoke-direct {p0, v0, v2, p4}, Landroid/support/v4/widget/NestedScrollView;->isWithinDeltaOfScreen(Landroid/view/View;II)Z
  2766. move-result v2
  2767. if-eqz v2, :cond_0
  2768. .line 1666
  2769. iget-object v2, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  2770. invoke-virtual {v0, v2}, Landroid/view/View;->getDrawingRect(Landroid/graphics/Rect;)V
  2771. .line 1667
  2772. iget-object v2, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  2773. invoke-virtual {p0, v0, v2}, Landroid/support/v4/widget/NestedScrollView;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
  2774. .line 1668
  2775. iget-object v2, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  2776. invoke-virtual {p0, v2}, Landroid/support/v4/widget/NestedScrollView;->computeScrollDeltaToGetChildRectOnScreen(Landroid/graphics/Rect;)I
  2777. move-result v1
  2778. .line 1669
  2779. .local v1, "scrollDelta":I
  2780. invoke-direct {p0, v1}, Landroid/support/v4/widget/NestedScrollView;->doScrollY(I)V
  2781. goto :goto_0
  2782. .end method
  2783. .method public onStartNestedScroll(Landroid/view/View;Landroid/view/View;I)Z
  2784. .locals 1
  2785. .param p1, "child" # Landroid/view/View;
  2786. .param p2, "target" # Landroid/view/View;
  2787. .param p3, "nestedScrollAxes" # I
  2788. .prologue
  2789. .line 261
  2790. and-int/lit8 v0, p3, 0x2
  2791. if-eqz v0, :cond_0
  2792. const/4 v0, 0x1
  2793. :goto_0
  2794. return v0
  2795. :cond_0
  2796. const/4 v0, 0x0
  2797. goto :goto_0
  2798. .end method
  2799. .method public onStopNestedScroll(Landroid/view/View;)V
  2800. .locals 1
  2801. .param p1, "target" # Landroid/view/View;
  2802. .prologue
  2803. .line 272
  2804. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mParentHelper:Landroid/support/v4/view/NestedScrollingParentHelper;
  2805. invoke-virtual {v0, p1}, Landroid/support/v4/view/NestedScrollingParentHelper;->onStopNestedScroll(Landroid/view/View;)V
  2806. .line 273
  2807. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->stopNestedScroll()V
  2808. .line 274
  2809. return-void
  2810. .end method
  2811. .method public onTouchEvent(Landroid/view/MotionEvent;)Z
  2812. .locals 33
  2813. .param p1, "ev" # Landroid/view/MotionEvent;
  2814. .prologue
  2815. .line 721
  2816. invoke-direct/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->initVelocityTrackerIfNotExists()V
  2817. .line 723
  2818. invoke-static/range {p1 .. p1}, Landroid/view/MotionEvent;->obtain(Landroid/view/MotionEvent;)Landroid/view/MotionEvent;
  2819. move-result-object v31
  2820. .line 725
  2821. .local v31, "vtev":Landroid/view/MotionEvent;
  2822. invoke-static/range {p1 .. p1}, Landroid/support/v4/view/MotionEventCompat;->getActionMasked(Landroid/view/MotionEvent;)I
  2823. move-result v21
  2824. .line 727
  2825. .local v21, "actionMasked":I
  2826. if-nez v21, :cond_0
  2827. .line 728
  2828. const/4 v2, 0x0
  2829. move-object/from16 v0, p0
  2830. iput v2, v0, Landroid/support/v4/widget/NestedScrollView;->mNestedYOffset:I
  2831. .line 730
  2832. :cond_0
  2833. const/4 v2, 0x0
  2834. move-object/from16 v0, p0
  2835. iget v3, v0, Landroid/support/v4/widget/NestedScrollView;->mNestedYOffset:I
  2836. int-to-float v3, v3
  2837. move-object/from16 v0, v31
  2838. invoke-virtual {v0, v2, v3}, Landroid/view/MotionEvent;->offsetLocation(FF)V
  2839. .line 732
  2840. packed-switch v21, :pswitch_data_0
  2841. .line 874
  2842. :cond_1
  2843. :goto_0
  2844. :pswitch_0
  2845. move-object/from16 v0, p0
  2846. iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker;
  2847. if-eqz v2, :cond_2
  2848. .line 875
  2849. move-object/from16 v0, p0
  2850. iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker;
  2851. move-object/from16 v0, v31
  2852. invoke-virtual {v2, v0}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V
  2853. .line 877
  2854. :cond_2
  2855. invoke-virtual/range {v31 .. v31}, Landroid/view/MotionEvent;->recycle()V
  2856. .line 878
  2857. const/4 v2, 0x1
  2858. :goto_1
  2859. return v2
  2860. .line 734
  2861. :pswitch_1
  2862. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I
  2863. move-result v2
  2864. if-nez v2, :cond_3
  2865. .line 735
  2866. const/4 v2, 0x0
  2867. goto :goto_1
  2868. .line 737
  2869. :cond_3
  2870. move-object/from16 v0, p0
  2871. iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  2872. invoke-virtual {v2}, Landroid/support/v4/widget/ScrollerCompat;->isFinished()Z
  2873. move-result v2
  2874. if-nez v2, :cond_6
  2875. const/4 v2, 0x1
  2876. :goto_2
  2877. move-object/from16 v0, p0
  2878. iput-boolean v2, v0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z
  2879. if-eqz v2, :cond_4
  2880. .line 738
  2881. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getParent()Landroid/view/ViewParent;
  2882. move-result-object v28
  2883. .line 739
  2884. .local v28, "parent":Landroid/view/ViewParent;
  2885. if-eqz v28, :cond_4
  2886. .line 740
  2887. const/4 v2, 0x1
  2888. move-object/from16 v0, v28
  2889. invoke-interface {v0, v2}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
  2890. .line 748
  2891. .end local v28 # "parent":Landroid/view/ViewParent;
  2892. :cond_4
  2893. move-object/from16 v0, p0
  2894. iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  2895. invoke-virtual {v2}, Landroid/support/v4/widget/ScrollerCompat;->isFinished()Z
  2896. move-result v2
  2897. if-nez v2, :cond_5
  2898. .line 749
  2899. move-object/from16 v0, p0
  2900. iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  2901. invoke-virtual {v2}, Landroid/support/v4/widget/ScrollerCompat;->abortAnimation()V
  2902. .line 753
  2903. :cond_5
  2904. invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getY()F
  2905. move-result v2
  2906. float-to-int v2, v2
  2907. move-object/from16 v0, p0
  2908. iput v2, v0, Landroid/support/v4/widget/NestedScrollView;->mLastMotionY:I
  2909. .line 754
  2910. const/4 v2, 0x0
  2911. move-object/from16 v0, p1
  2912. invoke-static {v0, v2}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I
  2913. move-result v2
  2914. move-object/from16 v0, p0
  2915. iput v2, v0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I
  2916. .line 755
  2917. const/4 v2, 0x2
  2918. move-object/from16 v0, p0
  2919. invoke-virtual {v0, v2}, Landroid/support/v4/widget/NestedScrollView;->startNestedScroll(I)Z
  2920. goto :goto_0
  2921. .line 737
  2922. :cond_6
  2923. const/4 v2, 0x0
  2924. goto :goto_2
  2925. .line 759
  2926. :pswitch_2
  2927. move-object/from16 v0, p0
  2928. iget v2, v0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I
  2929. move-object/from16 v0, p1
  2930. invoke-static {v0, v2}, Landroid/support/v4/view/MotionEventCompat;->findPointerIndex(Landroid/view/MotionEvent;I)I
  2931. move-result v22
  2932. .line 761
  2933. .local v22, "activePointerIndex":I
  2934. const/4 v2, -0x1
  2935. move/from16 v0, v22
  2936. if-ne v0, v2, :cond_7
  2937. .line 762
  2938. const-string v2, "NestedScrollView"
  2939. new-instance v3, Ljava/lang/StringBuilder;
  2940. invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  2941. const-string v5, "Invalid pointerId="
  2942. invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2943. move-result-object v3
  2944. move-object/from16 v0, p0
  2945. iget v5, v0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I
  2946. invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  2947. move-result-object v3
  2948. const-string v5, " in onTouchEvent"
  2949. invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2950. move-result-object v3
  2951. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  2952. move-result-object v3
  2953. invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
  2954. goto/16 :goto_0
  2955. .line 766
  2956. :cond_7
  2957. move-object/from16 v0, p1
  2958. move/from16 v1, v22
  2959. invoke-static {v0, v1}, Landroid/support/v4/view/MotionEventCompat;->getY(Landroid/view/MotionEvent;I)F
  2960. move-result v2
  2961. float-to-int v0, v2
  2962. move/from16 v32, v0
  2963. .line 767
  2964. .local v32, "y":I
  2965. move-object/from16 v0, p0
  2966. iget v2, v0, Landroid/support/v4/widget/NestedScrollView;->mLastMotionY:I
  2967. sub-int v4, v2, v32
  2968. .line 768
  2969. .local v4, "deltaY":I
  2970. const/4 v2, 0x0
  2971. move-object/from16 v0, p0
  2972. iget-object v3, v0, Landroid/support/v4/widget/NestedScrollView;->mScrollConsumed:[I
  2973. move-object/from16 v0, p0
  2974. iget-object v5, v0, Landroid/support/v4/widget/NestedScrollView;->mScrollOffset:[I
  2975. move-object/from16 v0, p0
  2976. invoke-virtual {v0, v2, v4, v3, v5}, Landroid/support/v4/widget/NestedScrollView;->dispatchNestedPreScroll(II[I[I)Z
  2977. move-result v2
  2978. if-eqz v2, :cond_8
  2979. .line 769
  2980. move-object/from16 v0, p0
  2981. iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mScrollConsumed:[I
  2982. const/4 v3, 0x1
  2983. aget v2, v2, v3
  2984. sub-int/2addr v4, v2
  2985. .line 770
  2986. const/4 v2, 0x0
  2987. move-object/from16 v0, p0
  2988. iget-object v3, v0, Landroid/support/v4/widget/NestedScrollView;->mScrollOffset:[I
  2989. const/4 v5, 0x1
  2990. aget v3, v3, v5
  2991. int-to-float v3, v3
  2992. move-object/from16 v0, v31
  2993. invoke-virtual {v0, v2, v3}, Landroid/view/MotionEvent;->offsetLocation(FF)V
  2994. .line 771
  2995. move-object/from16 v0, p0
  2996. iget v2, v0, Landroid/support/v4/widget/NestedScrollView;->mNestedYOffset:I
  2997. move-object/from16 v0, p0
  2998. iget-object v3, v0, Landroid/support/v4/widget/NestedScrollView;->mScrollOffset:[I
  2999. const/4 v5, 0x1
  3000. aget v3, v3, v5
  3001. add-int/2addr v2, v3
  3002. move-object/from16 v0, p0
  3003. iput v2, v0, Landroid/support/v4/widget/NestedScrollView;->mNestedYOffset:I
  3004. .line 773
  3005. :cond_8
  3006. move-object/from16 v0, p0
  3007. iget-boolean v2, v0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z
  3008. if-nez v2, :cond_a
  3009. invoke-static {v4}, Ljava/lang/Math;->abs(I)I
  3010. move-result v2
  3011. move-object/from16 v0, p0
  3012. iget v3, v0, Landroid/support/v4/widget/NestedScrollView;->mTouchSlop:I
  3013. if-le v2, v3, :cond_a
  3014. .line 774
  3015. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getParent()Landroid/view/ViewParent;
  3016. move-result-object v28
  3017. .line 775
  3018. .restart local v28 # "parent":Landroid/view/ViewParent;
  3019. if-eqz v28, :cond_9
  3020. .line 776
  3021. const/4 v2, 0x1
  3022. move-object/from16 v0, v28
  3023. invoke-interface {v0, v2}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
  3024. .line 778
  3025. :cond_9
  3026. const/4 v2, 0x1
  3027. move-object/from16 v0, p0
  3028. iput-boolean v2, v0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z
  3029. .line 779
  3030. if-lez v4, :cond_d
  3031. .line 780
  3032. move-object/from16 v0, p0
  3033. iget v2, v0, Landroid/support/v4/widget/NestedScrollView;->mTouchSlop:I
  3034. sub-int/2addr v4, v2
  3035. .line 785
  3036. .end local v28 # "parent":Landroid/view/ViewParent;
  3037. :cond_a
  3038. :goto_3
  3039. move-object/from16 v0, p0
  3040. iget-boolean v2, v0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z
  3041. if-eqz v2, :cond_1
  3042. .line 787
  3043. move-object/from16 v0, p0
  3044. iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mScrollOffset:[I
  3045. const/4 v3, 0x1
  3046. aget v2, v2, v3
  3047. sub-int v2, v32, v2
  3048. move-object/from16 v0, p0
  3049. iput v2, v0, Landroid/support/v4/widget/NestedScrollView;->mLastMotionY:I
  3050. .line 789
  3051. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  3052. move-result v26
  3053. .line 790
  3054. .local v26, "oldY":I
  3055. invoke-direct/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollRange()I
  3056. move-result v8
  3057. .line 791
  3058. .local v8, "range":I
  3059. invoke-static/range {p0 .. p0}, Landroid/support/v4/view/ViewCompat;->getOverScrollMode(Landroid/view/View;)I
  3060. move-result v27
  3061. .line 792
  3062. .local v27, "overscrollMode":I
  3063. if-eqz v27, :cond_b
  3064. const/4 v2, 0x1
  3065. move/from16 v0, v27
  3066. if-ne v0, v2, :cond_e
  3067. if-lez v8, :cond_e
  3068. :cond_b
  3069. const/16 v23, 0x1
  3070. .line 798
  3071. .local v23, "canOverscroll":Z
  3072. :goto_4
  3073. const/4 v3, 0x0
  3074. const/4 v5, 0x0
  3075. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  3076. move-result v6
  3077. const/4 v7, 0x0
  3078. const/4 v9, 0x0
  3079. const/4 v10, 0x0
  3080. const/4 v11, 0x1
  3081. move-object/from16 v2, p0
  3082. invoke-virtual/range {v2 .. v11}, Landroid/support/v4/widget/NestedScrollView;->overScrollByCompat(IIIIIIIIZ)Z
  3083. move-result v2
  3084. if-eqz v2, :cond_c
  3085. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->hasNestedScrollingParent()Z
  3086. move-result v2
  3087. if-nez v2, :cond_c
  3088. .line 801
  3089. move-object/from16 v0, p0
  3090. iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker;
  3091. invoke-virtual {v2}, Landroid/view/VelocityTracker;->clear()V
  3092. .line 804
  3093. :cond_c
  3094. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  3095. move-result v2
  3096. sub-int v11, v2, v26
  3097. .line 805
  3098. .local v11, "scrolledDeltaY":I
  3099. sub-int v13, v4, v11
  3100. .line 806
  3101. .local v13, "unconsumedY":I
  3102. const/4 v10, 0x0
  3103. const/4 v12, 0x0
  3104. move-object/from16 v0, p0
  3105. iget-object v14, v0, Landroid/support/v4/widget/NestedScrollView;->mScrollOffset:[I
  3106. move-object/from16 v9, p0
  3107. invoke-virtual/range {v9 .. v14}, Landroid/support/v4/widget/NestedScrollView;->dispatchNestedScroll(IIII[I)Z
  3108. move-result v2
  3109. if-eqz v2, :cond_f
  3110. .line 807
  3111. move-object/from16 v0, p0
  3112. iget v2, v0, Landroid/support/v4/widget/NestedScrollView;->mLastMotionY:I
  3113. move-object/from16 v0, p0
  3114. iget-object v3, v0, Landroid/support/v4/widget/NestedScrollView;->mScrollOffset:[I
  3115. const/4 v5, 0x1
  3116. aget v3, v3, v5
  3117. sub-int/2addr v2, v3
  3118. move-object/from16 v0, p0
  3119. iput v2, v0, Landroid/support/v4/widget/NestedScrollView;->mLastMotionY:I
  3120. .line 808
  3121. const/4 v2, 0x0
  3122. move-object/from16 v0, p0
  3123. iget-object v3, v0, Landroid/support/v4/widget/NestedScrollView;->mScrollOffset:[I
  3124. const/4 v5, 0x1
  3125. aget v3, v3, v5
  3126. int-to-float v3, v3
  3127. move-object/from16 v0, v31
  3128. invoke-virtual {v0, v2, v3}, Landroid/view/MotionEvent;->offsetLocation(FF)V
  3129. .line 809
  3130. move-object/from16 v0, p0
  3131. iget v2, v0, Landroid/support/v4/widget/NestedScrollView;->mNestedYOffset:I
  3132. move-object/from16 v0, p0
  3133. iget-object v3, v0, Landroid/support/v4/widget/NestedScrollView;->mScrollOffset:[I
  3134. const/4 v5, 0x1
  3135. aget v3, v3, v5
  3136. add-int/2addr v2, v3
  3137. move-object/from16 v0, p0
  3138. iput v2, v0, Landroid/support/v4/widget/NestedScrollView;->mNestedYOffset:I
  3139. goto/16 :goto_0
  3140. .line 782
  3141. .end local v8 # "range":I
  3142. .end local v11 # "scrolledDeltaY":I
  3143. .end local v13 # "unconsumedY":I
  3144. .end local v23 # "canOverscroll":Z
  3145. .end local v26 # "oldY":I
  3146. .end local v27 # "overscrollMode":I
  3147. .restart local v28 # "parent":Landroid/view/ViewParent;
  3148. :cond_d
  3149. move-object/from16 v0, p0
  3150. iget v2, v0, Landroid/support/v4/widget/NestedScrollView;->mTouchSlop:I
  3151. add-int/2addr v4, v2
  3152. goto/16 :goto_3
  3153. .line 792
  3154. .end local v28 # "parent":Landroid/view/ViewParent;
  3155. .restart local v8 # "range":I
  3156. .restart local v26 # "oldY":I
  3157. .restart local v27 # "overscrollMode":I
  3158. :cond_e
  3159. const/16 v23, 0x0
  3160. goto :goto_4
  3161. .line 810
  3162. .restart local v11 # "scrolledDeltaY":I
  3163. .restart local v13 # "unconsumedY":I
  3164. .restart local v23 # "canOverscroll":Z
  3165. :cond_f
  3166. if-eqz v23, :cond_1
  3167. .line 811
  3168. invoke-direct/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->ensureGlows()V
  3169. .line 812
  3170. add-int v29, v26, v4
  3171. .line 813
  3172. .local v29, "pulledToY":I
  3173. if-gez v29, :cond_12
  3174. .line 814
  3175. move-object/from16 v0, p0
  3176. iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat;
  3177. int-to-float v3, v4
  3178. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I
  3179. move-result v5
  3180. int-to-float v5, v5
  3181. div-float/2addr v3, v5
  3182. move-object/from16 v0, p1
  3183. move/from16 v1, v22
  3184. invoke-static {v0, v1}, Landroid/support/v4/view/MotionEventCompat;->getX(Landroid/view/MotionEvent;I)F
  3185. move-result v5
  3186. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getWidth()I
  3187. move-result v6
  3188. int-to-float v6, v6
  3189. div-float/2addr v5, v6
  3190. invoke-virtual {v2, v3, v5}, Landroid/support/v4/widget/EdgeEffectCompat;->onPull(FF)Z
  3191. .line 816
  3192. move-object/from16 v0, p0
  3193. iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowBottom:Landroid/support/v4/widget/EdgeEffectCompat;
  3194. invoke-virtual {v2}, Landroid/support/v4/widget/EdgeEffectCompat;->isFinished()Z
  3195. move-result v2
  3196. if-nez v2, :cond_10
  3197. .line 817
  3198. move-object/from16 v0, p0
  3199. iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowBottom:Landroid/support/v4/widget/EdgeEffectCompat;
  3200. invoke-virtual {v2}, Landroid/support/v4/widget/EdgeEffectCompat;->onRelease()Z
  3201. .line 827
  3202. :cond_10
  3203. :goto_5
  3204. move-object/from16 v0, p0
  3205. iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat;
  3206. if-eqz v2, :cond_1
  3207. move-object/from16 v0, p0
  3208. iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat;
  3209. invoke-virtual {v2}, Landroid/support/v4/widget/EdgeEffectCompat;->isFinished()Z
  3210. move-result v2
  3211. if-eqz v2, :cond_11
  3212. move-object/from16 v0, p0
  3213. iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowBottom:Landroid/support/v4/widget/EdgeEffectCompat;
  3214. invoke-virtual {v2}, Landroid/support/v4/widget/EdgeEffectCompat;->isFinished()Z
  3215. move-result v2
  3216. if-nez v2, :cond_1
  3217. .line 829
  3218. :cond_11
  3219. invoke-static/range {p0 .. p0}, Landroid/support/v4/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
  3220. goto/16 :goto_0
  3221. .line 819
  3222. :cond_12
  3223. move/from16 v0, v29
  3224. if-le v0, v8, :cond_10
  3225. .line 820
  3226. move-object/from16 v0, p0
  3227. iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowBottom:Landroid/support/v4/widget/EdgeEffectCompat;
  3228. int-to-float v3, v4
  3229. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I
  3230. move-result v5
  3231. int-to-float v5, v5
  3232. div-float/2addr v3, v5
  3233. const/high16 v5, 0x3f800000 # 1.0f
  3234. move-object/from16 v0, p1
  3235. move/from16 v1, v22
  3236. invoke-static {v0, v1}, Landroid/support/v4/view/MotionEventCompat;->getX(Landroid/view/MotionEvent;I)F
  3237. move-result v6
  3238. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getWidth()I
  3239. move-result v7
  3240. int-to-float v7, v7
  3241. div-float/2addr v6, v7
  3242. sub-float/2addr v5, v6
  3243. invoke-virtual {v2, v3, v5}, Landroid/support/v4/widget/EdgeEffectCompat;->onPull(FF)Z
  3244. .line 823
  3245. move-object/from16 v0, p0
  3246. iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat;
  3247. invoke-virtual {v2}, Landroid/support/v4/widget/EdgeEffectCompat;->isFinished()Z
  3248. move-result v2
  3249. if-nez v2, :cond_10
  3250. .line 824
  3251. move-object/from16 v0, p0
  3252. iget-object v2, v0, Landroid/support/v4/widget/NestedScrollView;->mEdgeGlowTop:Landroid/support/v4/widget/EdgeEffectCompat;
  3253. invoke-virtual {v2}, Landroid/support/v4/widget/EdgeEffectCompat;->onRelease()Z
  3254. goto :goto_5
  3255. .line 835
  3256. .end local v4 # "deltaY":I
  3257. .end local v8 # "range":I
  3258. .end local v11 # "scrolledDeltaY":I
  3259. .end local v13 # "unconsumedY":I
  3260. .end local v22 # "activePointerIndex":I
  3261. .end local v23 # "canOverscroll":Z
  3262. .end local v26 # "oldY":I
  3263. .end local v27 # "overscrollMode":I
  3264. .end local v29 # "pulledToY":I
  3265. .end local v32 # "y":I
  3266. :pswitch_3
  3267. move-object/from16 v0, p0
  3268. iget-boolean v2, v0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z
  3269. if-eqz v2, :cond_13
  3270. .line 836
  3271. move-object/from16 v0, p0
  3272. iget-object v0, v0, Landroid/support/v4/widget/NestedScrollView;->mVelocityTracker:Landroid/view/VelocityTracker;
  3273. move-object/from16 v30, v0
  3274. .line 837
  3275. .local v30, "velocityTracker":Landroid/view/VelocityTracker;
  3276. const/16 v2, 0x3e8
  3277. move-object/from16 v0, p0
  3278. iget v3, v0, Landroid/support/v4/widget/NestedScrollView;->mMaximumVelocity:I
  3279. int-to-float v3, v3
  3280. move-object/from16 v0, v30
  3281. invoke-virtual {v0, v2, v3}, Landroid/view/VelocityTracker;->computeCurrentVelocity(IF)V
  3282. .line 838
  3283. move-object/from16 v0, p0
  3284. iget v2, v0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I
  3285. move-object/from16 v0, v30
  3286. invoke-static {v0, v2}, Landroid/support/v4/view/VelocityTrackerCompat;->getYVelocity(Landroid/view/VelocityTracker;I)F
  3287. move-result v2
  3288. float-to-int v0, v2
  3289. move/from16 v25, v0
  3290. .line 841
  3291. .local v25, "initialVelocity":I
  3292. invoke-static/range {v25 .. v25}, Ljava/lang/Math;->abs(I)I
  3293. move-result v2
  3294. move-object/from16 v0, p0
  3295. iget v3, v0, Landroid/support/v4/widget/NestedScrollView;->mMinimumVelocity:I
  3296. if-le v2, v3, :cond_14
  3297. .line 842
  3298. move/from16 v0, v25
  3299. neg-int v2, v0
  3300. move-object/from16 v0, p0
  3301. invoke-direct {v0, v2}, Landroid/support/v4/widget/NestedScrollView;->flingWithNestedDispatch(I)V
  3302. .line 848
  3303. .end local v25 # "initialVelocity":I
  3304. .end local v30 # "velocityTracker":Landroid/view/VelocityTracker;
  3305. :cond_13
  3306. :goto_6
  3307. const/4 v2, -0x1
  3308. move-object/from16 v0, p0
  3309. iput v2, v0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I
  3310. .line 849
  3311. invoke-direct/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->endDrag()V
  3312. goto/16 :goto_0
  3313. .line 843
  3314. .restart local v25 # "initialVelocity":I
  3315. .restart local v30 # "velocityTracker":Landroid/view/VelocityTracker;
  3316. :cond_14
  3317. move-object/from16 v0, p0
  3318. iget-object v14, v0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  3319. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I
  3320. move-result v15
  3321. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  3322. move-result v16
  3323. const/16 v17, 0x0
  3324. const/16 v18, 0x0
  3325. const/16 v19, 0x0
  3326. invoke-direct/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollRange()I
  3327. move-result v20
  3328. invoke-virtual/range {v14 .. v20}, Landroid/support/v4/widget/ScrollerCompat;->springBack(IIIIII)Z
  3329. move-result v2
  3330. if-eqz v2, :cond_13
  3331. .line 845
  3332. invoke-static/range {p0 .. p0}, Landroid/support/v4/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
  3333. goto :goto_6
  3334. .line 852
  3335. .end local v25 # "initialVelocity":I
  3336. .end local v30 # "velocityTracker":Landroid/view/VelocityTracker;
  3337. :pswitch_4
  3338. move-object/from16 v0, p0
  3339. iget-boolean v2, v0, Landroid/support/v4/widget/NestedScrollView;->mIsBeingDragged:Z
  3340. if-eqz v2, :cond_15
  3341. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I
  3342. move-result v2
  3343. if-lez v2, :cond_15
  3344. .line 853
  3345. move-object/from16 v0, p0
  3346. iget-object v14, v0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  3347. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I
  3348. move-result v15
  3349. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  3350. move-result v16
  3351. const/16 v17, 0x0
  3352. const/16 v18, 0x0
  3353. const/16 v19, 0x0
  3354. invoke-direct/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollRange()I
  3355. move-result v20
  3356. invoke-virtual/range {v14 .. v20}, Landroid/support/v4/widget/ScrollerCompat;->springBack(IIIIII)Z
  3357. move-result v2
  3358. if-eqz v2, :cond_15
  3359. .line 855
  3360. invoke-static/range {p0 .. p0}, Landroid/support/v4/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
  3361. .line 858
  3362. :cond_15
  3363. const/4 v2, -0x1
  3364. move-object/from16 v0, p0
  3365. iput v2, v0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I
  3366. .line 859
  3367. invoke-direct/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->endDrag()V
  3368. goto/16 :goto_0
  3369. .line 862
  3370. :pswitch_5
  3371. invoke-static/range {p1 .. p1}, Landroid/support/v4/view/MotionEventCompat;->getActionIndex(Landroid/view/MotionEvent;)I
  3372. move-result v24
  3373. .line 863
  3374. .local v24, "index":I
  3375. move-object/from16 v0, p1
  3376. move/from16 v1, v24
  3377. invoke-static {v0, v1}, Landroid/support/v4/view/MotionEventCompat;->getY(Landroid/view/MotionEvent;I)F
  3378. move-result v2
  3379. float-to-int v2, v2
  3380. move-object/from16 v0, p0
  3381. iput v2, v0, Landroid/support/v4/widget/NestedScrollView;->mLastMotionY:I
  3382. .line 864
  3383. move-object/from16 v0, p1
  3384. move/from16 v1, v24
  3385. invoke-static {v0, v1}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I
  3386. move-result v2
  3387. move-object/from16 v0, p0
  3388. iput v2, v0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I
  3389. goto/16 :goto_0
  3390. .line 868
  3391. .end local v24 # "index":I
  3392. :pswitch_6
  3393. invoke-direct/range {p0 .. p1}, Landroid/support/v4/widget/NestedScrollView;->onSecondaryPointerUp(Landroid/view/MotionEvent;)V
  3394. .line 869
  3395. move-object/from16 v0, p0
  3396. iget v2, v0, Landroid/support/v4/widget/NestedScrollView;->mActivePointerId:I
  3397. move-object/from16 v0, p1
  3398. invoke-static {v0, v2}, Landroid/support/v4/view/MotionEventCompat;->findPointerIndex(Landroid/view/MotionEvent;I)I
  3399. move-result v2
  3400. move-object/from16 v0, p1
  3401. invoke-static {v0, v2}, Landroid/support/v4/view/MotionEventCompat;->getY(Landroid/view/MotionEvent;I)F
  3402. move-result v2
  3403. float-to-int v2, v2
  3404. move-object/from16 v0, p0
  3405. iput v2, v0, Landroid/support/v4/widget/NestedScrollView;->mLastMotionY:I
  3406. goto/16 :goto_0
  3407. .line 732
  3408. :pswitch_data_0
  3409. .packed-switch 0x0
  3410. :pswitch_1
  3411. :pswitch_3
  3412. :pswitch_2
  3413. :pswitch_4
  3414. :pswitch_0
  3415. :pswitch_5
  3416. :pswitch_6
  3417. .end packed-switch
  3418. .end method
  3419. .method overScrollByCompat(IIIIIIIIZ)Z
  3420. .locals 19
  3421. .param p1, "deltaX" # I
  3422. .param p2, "deltaY" # I
  3423. .param p3, "scrollX" # I
  3424. .param p4, "scrollY" # I
  3425. .param p5, "scrollRangeX" # I
  3426. .param p6, "scrollRangeY" # I
  3427. .param p7, "maxOverScrollX" # I
  3428. .param p8, "maxOverScrollY" # I
  3429. .param p9, "isTouchEvent" # Z
  3430. .prologue
  3431. .line 952
  3432. invoke-static/range {p0 .. p0}, Landroid/support/v4/view/ViewCompat;->getOverScrollMode(Landroid/view/View;)I
  3433. move-result v15
  3434. .line 953
  3435. .local v15, "overScrollMode":I
  3436. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->computeHorizontalScrollRange()I
  3437. move-result v1
  3438. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->computeHorizontalScrollExtent()I
  3439. move-result v4
  3440. if-le v1, v4, :cond_8
  3441. const/4 v9, 0x1
  3442. .line 955
  3443. .local v9, "canScrollHorizontal":Z
  3444. :goto_0
  3445. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->computeVerticalScrollRange()I
  3446. move-result v1
  3447. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->computeVerticalScrollExtent()I
  3448. move-result v4
  3449. if-le v1, v4, :cond_9
  3450. const/4 v10, 0x1
  3451. .line 957
  3452. .local v10, "canScrollVertical":Z
  3453. :goto_1
  3454. if-eqz v15, :cond_0
  3455. const/4 v1, 0x1
  3456. if-ne v15, v1, :cond_a
  3457. if-eqz v9, :cond_a
  3458. :cond_0
  3459. const/4 v14, 0x1
  3460. .line 959
  3461. .local v14, "overScrollHorizontal":Z
  3462. :goto_2
  3463. if-eqz v15, :cond_1
  3464. const/4 v1, 0x1
  3465. if-ne v15, v1, :cond_b
  3466. if-eqz v10, :cond_b
  3467. :cond_1
  3468. const/16 v16, 0x1
  3469. .line 962
  3470. .local v16, "overScrollVertical":Z
  3471. :goto_3
  3472. add-int v2, p3, p1
  3473. .line 963
  3474. .local v2, "newScrollX":I
  3475. if-nez v14, :cond_2
  3476. .line 964
  3477. const/16 p7, 0x0
  3478. .line 967
  3479. :cond_2
  3480. add-int v3, p4, p2
  3481. .line 968
  3482. .local v3, "newScrollY":I
  3483. if-nez v16, :cond_3
  3484. .line 969
  3485. const/16 p8, 0x0
  3486. .line 973
  3487. :cond_3
  3488. move/from16 v0, p7
  3489. neg-int v13, v0
  3490. .line 974
  3491. .local v13, "left":I
  3492. add-int v17, p7, p5
  3493. .line 975
  3494. .local v17, "right":I
  3495. move/from16 v0, p8
  3496. neg-int v0, v0
  3497. move/from16 v18, v0
  3498. .line 976
  3499. .local v18, "top":I
  3500. add-int v8, p8, p6
  3501. .line 978
  3502. .local v8, "bottom":I
  3503. const/4 v11, 0x0
  3504. .line 979
  3505. .local v11, "clampedX":Z
  3506. move/from16 v0, v17
  3507. if-le v2, v0, :cond_c
  3508. .line 980
  3509. move/from16 v2, v17
  3510. .line 981
  3511. const/4 v11, 0x1
  3512. .line 987
  3513. :cond_4
  3514. :goto_4
  3515. const/4 v12, 0x0
  3516. .line 988
  3517. .local v12, "clampedY":Z
  3518. if-le v3, v8, :cond_d
  3519. .line 989
  3520. move v3, v8
  3521. .line 990
  3522. const/4 v12, 0x1
  3523. .line 996
  3524. :cond_5
  3525. :goto_5
  3526. if-eqz v12, :cond_6
  3527. .line 997
  3528. move-object/from16 v0, p0
  3529. iget-object v1, v0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  3530. const/4 v4, 0x0
  3531. const/4 v5, 0x0
  3532. const/4 v6, 0x0
  3533. invoke-direct/range {p0 .. p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollRange()I
  3534. move-result v7
  3535. invoke-virtual/range {v1 .. v7}, Landroid/support/v4/widget/ScrollerCompat;->springBack(IIIIII)Z
  3536. .line 1000
  3537. :cond_6
  3538. move-object/from16 v0, p0
  3539. invoke-virtual {v0, v2, v3, v11, v12}, Landroid/support/v4/widget/NestedScrollView;->onOverScrolled(IIZZ)V
  3540. .line 1002
  3541. if-nez v11, :cond_7
  3542. if-eqz v12, :cond_e
  3543. :cond_7
  3544. const/4 v1, 0x1
  3545. :goto_6
  3546. return v1
  3547. .line 953
  3548. .end local v2 # "newScrollX":I
  3549. .end local v3 # "newScrollY":I
  3550. .end local v8 # "bottom":I
  3551. .end local v9 # "canScrollHorizontal":Z
  3552. .end local v10 # "canScrollVertical":Z
  3553. .end local v11 # "clampedX":Z
  3554. .end local v12 # "clampedY":Z
  3555. .end local v13 # "left":I
  3556. .end local v14 # "overScrollHorizontal":Z
  3557. .end local v16 # "overScrollVertical":Z
  3558. .end local v17 # "right":I
  3559. .end local v18 # "top":I
  3560. :cond_8
  3561. const/4 v9, 0x0
  3562. goto :goto_0
  3563. .line 955
  3564. .restart local v9 # "canScrollHorizontal":Z
  3565. :cond_9
  3566. const/4 v10, 0x0
  3567. goto :goto_1
  3568. .line 957
  3569. .restart local v10 # "canScrollVertical":Z
  3570. :cond_a
  3571. const/4 v14, 0x0
  3572. goto :goto_2
  3573. .line 959
  3574. .restart local v14 # "overScrollHorizontal":Z
  3575. :cond_b
  3576. const/16 v16, 0x0
  3577. goto :goto_3
  3578. .line 982
  3579. .restart local v2 # "newScrollX":I
  3580. .restart local v3 # "newScrollY":I
  3581. .restart local v8 # "bottom":I
  3582. .restart local v11 # "clampedX":Z
  3583. .restart local v13 # "left":I
  3584. .restart local v16 # "overScrollVertical":Z
  3585. .restart local v17 # "right":I
  3586. .restart local v18 # "top":I
  3587. :cond_c
  3588. if-ge v2, v13, :cond_4
  3589. .line 983
  3590. move v2, v13
  3591. .line 984
  3592. const/4 v11, 0x1
  3593. goto :goto_4
  3594. .line 991
  3595. .restart local v12 # "clampedY":Z
  3596. :cond_d
  3597. move/from16 v0, v18
  3598. if-ge v3, v0, :cond_5
  3599. .line 992
  3600. move/from16 v3, v18
  3601. .line 993
  3602. const/4 v12, 0x1
  3603. goto :goto_5
  3604. .line 1002
  3605. :cond_e
  3606. const/4 v1, 0x0
  3607. goto :goto_6
  3608. .end method
  3609. .method public pageScroll(I)Z
  3610. .locals 7
  3611. .param p1, "direction" # I
  3612. .prologue
  3613. const/4 v4, 0x0
  3614. .line 1111
  3615. const/16 v5, 0x82
  3616. if-ne p1, v5, :cond_1
  3617. const/4 v1, 0x1
  3618. .line 1112
  3619. .local v1, "down":Z
  3620. :goto_0
  3621. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I
  3622. move-result v2
  3623. .line 1114
  3624. .local v2, "height":I
  3625. if-eqz v1, :cond_2
  3626. .line 1115
  3627. iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  3628. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  3629. move-result v5
  3630. add-int/2addr v5, v2
  3631. iput v5, v4, Landroid/graphics/Rect;->top:I
  3632. .line 1116
  3633. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I
  3634. move-result v0
  3635. .line 1117
  3636. .local v0, "count":I
  3637. if-lez v0, :cond_0
  3638. .line 1118
  3639. add-int/lit8 v4, v0, -0x1
  3640. invoke-virtual {p0, v4}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View;
  3641. move-result-object v3
  3642. .line 1119
  3643. .local v3, "view":Landroid/view/View;
  3644. iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  3645. iget v4, v4, Landroid/graphics/Rect;->top:I
  3646. add-int/2addr v4, v2
  3647. invoke-virtual {v3}, Landroid/view/View;->getBottom()I
  3648. move-result v5
  3649. if-le v4, v5, :cond_0
  3650. .line 1120
  3651. iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  3652. invoke-virtual {v3}, Landroid/view/View;->getBottom()I
  3653. move-result v5
  3654. sub-int/2addr v5, v2
  3655. iput v5, v4, Landroid/graphics/Rect;->top:I
  3656. .line 1129
  3657. .end local v0 # "count":I
  3658. .end local v3 # "view":Landroid/view/View;
  3659. :cond_0
  3660. :goto_1
  3661. iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  3662. iget-object v5, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  3663. iget v5, v5, Landroid/graphics/Rect;->top:I
  3664. add-int/2addr v5, v2
  3665. iput v5, v4, Landroid/graphics/Rect;->bottom:I
  3666. .line 1131
  3667. iget-object v4, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  3668. iget v4, v4, Landroid/graphics/Rect;->top:I
  3669. iget-object v5, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  3670. iget v5, v5, Landroid/graphics/Rect;->bottom:I
  3671. invoke-direct {p0, p1, v4, v5}, Landroid/support/v4/widget/NestedScrollView;->scrollAndFocus(III)Z
  3672. move-result v4
  3673. return v4
  3674. .end local v1 # "down":Z
  3675. .end local v2 # "height":I
  3676. :cond_1
  3677. move v1, v4
  3678. .line 1111
  3679. goto :goto_0
  3680. .line 1124
  3681. .restart local v1 # "down":Z
  3682. .restart local v2 # "height":I
  3683. :cond_2
  3684. iget-object v5, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  3685. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  3686. move-result v6
  3687. sub-int/2addr v6, v2
  3688. iput v6, v5, Landroid/graphics/Rect;->top:I
  3689. .line 1125
  3690. iget-object v5, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  3691. iget v5, v5, Landroid/graphics/Rect;->top:I
  3692. if-gez v5, :cond_0
  3693. .line 1126
  3694. iget-object v5, p0, Landroid/support/v4/widget/NestedScrollView;->mTempRect:Landroid/graphics/Rect;
  3695. iput v4, v5, Landroid/graphics/Rect;->top:I
  3696. goto :goto_1
  3697. .end method
  3698. .method public requestChildFocus(Landroid/view/View;Landroid/view/View;)V
  3699. .locals 1
  3700. .param p1, "child" # Landroid/view/View;
  3701. .param p2, "focused" # Landroid/view/View;
  3702. .prologue
  3703. .line 1555
  3704. iget-boolean v0, p0, Landroid/support/v4/widget/NestedScrollView;->mIsLayoutDirty:Z
  3705. if-nez v0, :cond_0
  3706. .line 1556
  3707. invoke-direct {p0, p2}, Landroid/support/v4/widget/NestedScrollView;->scrollToChild(Landroid/view/View;)V
  3708. .line 1561
  3709. :goto_0
  3710. invoke-super {p0, p1, p2}, Landroid/widget/FrameLayout;->requestChildFocus(Landroid/view/View;Landroid/view/View;)V
  3711. .line 1562
  3712. return-void
  3713. .line 1559
  3714. :cond_0
  3715. iput-object p2, p0, Landroid/support/v4/widget/NestedScrollView;->mChildToScrollTo:Landroid/view/View;
  3716. goto :goto_0
  3717. .end method
  3718. .method public requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z
  3719. .locals 3
  3720. .param p1, "child" # Landroid/view/View;
  3721. .param p2, "rectangle" # Landroid/graphics/Rect;
  3722. .param p3, "immediate" # Z
  3723. .prologue
  3724. .line 1604
  3725. invoke-virtual {p1}, Landroid/view/View;->getLeft()I
  3726. move-result v0
  3727. invoke-virtual {p1}, Landroid/view/View;->getScrollX()I
  3728. move-result v1
  3729. sub-int/2addr v0, v1
  3730. invoke-virtual {p1}, Landroid/view/View;->getTop()I
  3731. move-result v1
  3732. invoke-virtual {p1}, Landroid/view/View;->getScrollY()I
  3733. move-result v2
  3734. sub-int/2addr v1, v2
  3735. invoke-virtual {p2, v0, v1}, Landroid/graphics/Rect;->offset(II)V
  3736. .line 1607
  3737. invoke-direct {p0, p2, p3}, Landroid/support/v4/widget/NestedScrollView;->scrollToChildRect(Landroid/graphics/Rect;Z)Z
  3738. move-result v0
  3739. return v0
  3740. .end method
  3741. .method public requestDisallowInterceptTouchEvent(Z)V
  3742. .locals 0
  3743. .param p1, "disallowIntercept" # Z
  3744. .prologue
  3745. .line 601
  3746. if-eqz p1, :cond_0
  3747. .line 602
  3748. invoke-direct {p0}, Landroid/support/v4/widget/NestedScrollView;->recycleVelocityTracker()V
  3749. .line 604
  3750. :cond_0
  3751. invoke-super {p0, p1}, Landroid/widget/FrameLayout;->requestDisallowInterceptTouchEvent(Z)V
  3752. .line 605
  3753. return-void
  3754. .end method
  3755. .method public requestLayout()V
  3756. .locals 1
  3757. .prologue
  3758. .line 1612
  3759. const/4 v0, 0x1
  3760. iput-boolean v0, p0, Landroid/support/v4/widget/NestedScrollView;->mIsLayoutDirty:Z
  3761. .line 1613
  3762. invoke-super {p0}, Landroid/widget/FrameLayout;->requestLayout()V
  3763. .line 1614
  3764. return-void
  3765. .end method
  3766. .method public scrollTo(II)V
  3767. .locals 3
  3768. .param p1, "x" # I
  3769. .param p2, "y" # I
  3770. .prologue
  3771. .line 1736
  3772. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I
  3773. move-result v1
  3774. if-lez v1, :cond_1
  3775. .line 1737
  3776. const/4 v1, 0x0
  3777. invoke-virtual {p0, v1}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View;
  3778. move-result-object v0
  3779. .line 1738
  3780. .local v0, "child":Landroid/view/View;
  3781. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getWidth()I
  3782. move-result v1
  3783. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingRight()I
  3784. move-result v2
  3785. sub-int/2addr v1, v2
  3786. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingLeft()I
  3787. move-result v2
  3788. sub-int/2addr v1, v2
  3789. invoke-virtual {v0}, Landroid/view/View;->getWidth()I
  3790. move-result v2
  3791. invoke-static {p1, v1, v2}, Landroid/support/v4/widget/NestedScrollView;->clamp(III)I
  3792. move-result p1
  3793. .line 1739
  3794. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I
  3795. move-result v1
  3796. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingBottom()I
  3797. move-result v2
  3798. sub-int/2addr v1, v2
  3799. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingTop()I
  3800. move-result v2
  3801. sub-int/2addr v1, v2
  3802. invoke-virtual {v0}, Landroid/view/View;->getHeight()I
  3803. move-result v2
  3804. invoke-static {p2, v1, v2}, Landroid/support/v4/widget/NestedScrollView;->clamp(III)I
  3805. move-result p2
  3806. .line 1740
  3807. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I
  3808. move-result v1
  3809. if-ne p1, v1, :cond_0
  3810. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  3811. move-result v1
  3812. if-eq p2, v1, :cond_1
  3813. .line 1741
  3814. :cond_0
  3815. invoke-super {p0, p1, p2}, Landroid/widget/FrameLayout;->scrollTo(II)V
  3816. .line 1744
  3817. .end local v0 # "child":Landroid/view/View;
  3818. :cond_1
  3819. return-void
  3820. .end method
  3821. .method public setFillViewport(Z)V
  3822. .locals 1
  3823. .param p1, "fillViewport" # Z
  3824. .prologue
  3825. .line 449
  3826. iget-boolean v0, p0, Landroid/support/v4/widget/NestedScrollView;->mFillViewport:Z
  3827. if-eq p1, v0, :cond_0
  3828. .line 450
  3829. iput-boolean p1, p0, Landroid/support/v4/widget/NestedScrollView;->mFillViewport:Z
  3830. .line 451
  3831. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->requestLayout()V
  3832. .line 453
  3833. :cond_0
  3834. return-void
  3835. .end method
  3836. .method public setNestedScrollingEnabled(Z)V
  3837. .locals 1
  3838. .param p1, "enabled" # Z
  3839. .prologue
  3840. .line 212
  3841. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mChildHelper:Landroid/support/v4/view/NestedScrollingChildHelper;
  3842. invoke-virtual {v0, p1}, Landroid/support/v4/view/NestedScrollingChildHelper;->setNestedScrollingEnabled(Z)V
  3843. .line 213
  3844. return-void
  3845. .end method
  3846. .method public setOnScrollChangeListener(Landroid/support/v4/widget/NestedScrollView$OnScrollChangeListener;)V
  3847. .locals 0
  3848. .param p1, "l" # Landroid/support/v4/widget/NestedScrollView$OnScrollChangeListener;
  3849. .prologue
  3850. .line 413
  3851. iput-object p1, p0, Landroid/support/v4/widget/NestedScrollView;->mOnScrollChangeListener:Landroid/support/v4/widget/NestedScrollView$OnScrollChangeListener;
  3852. .line 414
  3853. return-void
  3854. .end method
  3855. .method public setSmoothScrollingEnabled(Z)V
  3856. .locals 0
  3857. .param p1, "smoothScrollingEnabled" # Z
  3858. .prologue
  3859. .line 467
  3860. iput-boolean p1, p0, Landroid/support/v4/widget/NestedScrollView;->mSmoothScrollingEnabled:Z
  3861. .line 468
  3862. return-void
  3863. .end method
  3864. .method public shouldDelayChildPressedState()Z
  3865. .locals 1
  3866. .prologue
  3867. .line 314
  3868. const/4 v0, 0x1
  3869. return v0
  3870. .end method
  3871. .method public final smoothScrollBy(II)V
  3872. .locals 11
  3873. .param p1, "dx" # I
  3874. .param p2, "dy" # I
  3875. .prologue
  3876. const/4 v10, 0x0
  3877. .line 1302
  3878. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getChildCount()I
  3879. move-result v6
  3880. if-nez v6, :cond_0
  3881. .line 1323
  3882. :goto_0
  3883. return-void
  3884. .line 1306
  3885. :cond_0
  3886. invoke-static {}, Landroid/view/animation/AnimationUtils;->currentAnimationTimeMillis()J
  3887. move-result-wide v6
  3888. iget-wide v8, p0, Landroid/support/v4/widget/NestedScrollView;->mLastScroll:J
  3889. sub-long v1, v6, v8
  3890. .line 1307
  3891. .local v1, "duration":J
  3892. const-wide/16 v6, 0xfa
  3893. cmp-long v6, v1, v6
  3894. if-lez v6, :cond_1
  3895. .line 1308
  3896. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getHeight()I
  3897. move-result v6
  3898. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingBottom()I
  3899. move-result v7
  3900. sub-int/2addr v6, v7
  3901. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getPaddingTop()I
  3902. move-result v7
  3903. sub-int v3, v6, v7
  3904. .line 1309
  3905. .local v3, "height":I
  3906. invoke-virtual {p0, v10}, Landroid/support/v4/widget/NestedScrollView;->getChildAt(I)Landroid/view/View;
  3907. move-result-object v6
  3908. invoke-virtual {v6}, Landroid/view/View;->getHeight()I
  3909. move-result v0
  3910. .line 1310
  3911. .local v0, "bottom":I
  3912. sub-int v6, v0, v3
  3913. invoke-static {v10, v6}, Ljava/lang/Math;->max(II)I
  3914. move-result v4
  3915. .line 1311
  3916. .local v4, "maxY":I
  3917. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  3918. move-result v5
  3919. .line 1312
  3920. .local v5, "scrollY":I
  3921. add-int v6, v5, p2
  3922. invoke-static {v6, v4}, Ljava/lang/Math;->min(II)I
  3923. move-result v6
  3924. invoke-static {v10, v6}, Ljava/lang/Math;->max(II)I
  3925. move-result v6
  3926. sub-int p2, v6, v5
  3927. .line 1314
  3928. iget-object v6, p0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  3929. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I
  3930. move-result v7
  3931. invoke-virtual {v6, v7, v5, v10, p2}, Landroid/support/v4/widget/ScrollerCompat;->startScroll(IIII)V
  3932. .line 1315
  3933. invoke-static {p0}, Landroid/support/v4/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
  3934. .line 1322
  3935. .end local v0 # "bottom":I
  3936. .end local v3 # "height":I
  3937. .end local v4 # "maxY":I
  3938. .end local v5 # "scrollY":I
  3939. :goto_1
  3940. invoke-static {}, Landroid/view/animation/AnimationUtils;->currentAnimationTimeMillis()J
  3941. move-result-wide v6
  3942. iput-wide v6, p0, Landroid/support/v4/widget/NestedScrollView;->mLastScroll:J
  3943. goto :goto_0
  3944. .line 1317
  3945. :cond_1
  3946. iget-object v6, p0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  3947. invoke-virtual {v6}, Landroid/support/v4/widget/ScrollerCompat;->isFinished()Z
  3948. move-result v6
  3949. if-nez v6, :cond_2
  3950. .line 1318
  3951. iget-object v6, p0, Landroid/support/v4/widget/NestedScrollView;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  3952. invoke-virtual {v6}, Landroid/support/v4/widget/ScrollerCompat;->abortAnimation()V
  3953. .line 1320
  3954. :cond_2
  3955. invoke-virtual {p0, p1, p2}, Landroid/support/v4/widget/NestedScrollView;->scrollBy(II)V
  3956. goto :goto_1
  3957. .end method
  3958. .method public final smoothScrollTo(II)V
  3959. .locals 2
  3960. .param p1, "x" # I
  3961. .param p2, "y" # I
  3962. .prologue
  3963. .line 1332
  3964. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollX()I
  3965. move-result v0
  3966. sub-int v0, p1, v0
  3967. invoke-virtual {p0}, Landroid/support/v4/widget/NestedScrollView;->getScrollY()I
  3968. move-result v1
  3969. sub-int v1, p2, v1
  3970. invoke-virtual {p0, v0, v1}, Landroid/support/v4/widget/NestedScrollView;->smoothScrollBy(II)V
  3971. .line 1333
  3972. return-void
  3973. .end method
  3974. .method public startNestedScroll(I)Z
  3975. .locals 1
  3976. .param p1, "axes" # I
  3977. .prologue
  3978. .line 222
  3979. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mChildHelper:Landroid/support/v4/view/NestedScrollingChildHelper;
  3980. invoke-virtual {v0, p1}, Landroid/support/v4/view/NestedScrollingChildHelper;->startNestedScroll(I)Z
  3981. move-result v0
  3982. return v0
  3983. .end method
  3984. .method public stopNestedScroll()V
  3985. .locals 1
  3986. .prologue
  3987. .line 227
  3988. iget-object v0, p0, Landroid/support/v4/widget/NestedScrollView;->mChildHelper:Landroid/support/v4/view/NestedScrollingChildHelper;
  3989. invoke-virtual {v0}, Landroid/support/v4/view/NestedScrollingChildHelper;->stopNestedScroll()V
  3990. .line 228
  3991. return-void
  3992. .end method