ViewDragHelper.smali 114 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911
  1. .class public Landroid/support/v4/widget/ViewDragHelper;
  2. .super Ljava/lang/Object;
  3. .source "ViewDragHelper.java"
  4. # annotations
  5. .annotation system Ldalvik/annotation/MemberClasses;
  6. value = {
  7. Landroid/support/v4/widget/ViewDragHelper$Callback;
  8. }
  9. .end annotation
  10. # static fields
  11. .field private static final BASE_SETTLE_DURATION:I = 0x100
  12. .field public static final DIRECTION_ALL:I = 0x3
  13. .field public static final DIRECTION_HORIZONTAL:I = 0x1
  14. .field public static final DIRECTION_VERTICAL:I = 0x2
  15. .field public static final EDGE_ALL:I = 0xf
  16. .field public static final EDGE_BOTTOM:I = 0x8
  17. .field public static final EDGE_LEFT:I = 0x1
  18. .field public static final EDGE_RIGHT:I = 0x2
  19. .field private static final EDGE_SIZE:I = 0x14
  20. .field public static final EDGE_TOP:I = 0x4
  21. .field public static final INVALID_POINTER:I = -0x1
  22. .field private static final MAX_SETTLE_DURATION:I = 0x258
  23. .field public static final STATE_DRAGGING:I = 0x1
  24. .field public static final STATE_IDLE:I = 0x0
  25. .field public static final STATE_SETTLING:I = 0x2
  26. .field private static final TAG:Ljava/lang/String; = "ViewDragHelper"
  27. .field private static final sInterpolator:Landroid/view/animation/Interpolator;
  28. # instance fields
  29. .field private mActivePointerId:I
  30. .field private final mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback;
  31. .field private mCapturedView:Landroid/view/View;
  32. .field private mDragState:I
  33. .field private mEdgeDragsInProgress:[I
  34. .field private mEdgeDragsLocked:[I
  35. .field private mEdgeSize:I
  36. .field private mInitialEdgesTouched:[I
  37. .field private mInitialMotionX:[F
  38. .field private mInitialMotionY:[F
  39. .field private mLastMotionX:[F
  40. .field private mLastMotionY:[F
  41. .field private mMaxVelocity:F
  42. .field private mMinVelocity:F
  43. .field private final mParentView:Landroid/view/ViewGroup;
  44. .field private mPointersDown:I
  45. .field private mReleaseInProgress:Z
  46. .field private mScroller:Landroid/support/v4/widget/ScrollerCompat;
  47. .field private final mSetIdleRunnable:Ljava/lang/Runnable;
  48. .field private mTouchSlop:I
  49. .field private mTrackingEdges:I
  50. .field private mVelocityTracker:Landroid/view/VelocityTracker;
  51. # direct methods
  52. .method static constructor <clinit>()V
  53. .locals 1
  54. .prologue
  55. .line 327
  56. new-instance v0, Landroid/support/v4/widget/ViewDragHelper$1;
  57. invoke-direct {v0}, Landroid/support/v4/widget/ViewDragHelper$1;-><init>()V
  58. sput-object v0, Landroid/support/v4/widget/ViewDragHelper;->sInterpolator:Landroid/view/animation/Interpolator;
  59. return-void
  60. .end method
  61. .method private constructor <init>(Landroid/content/Context;Landroid/view/ViewGroup;Landroid/support/v4/widget/ViewDragHelper$Callback;)V
  62. .locals 4
  63. .param p1, "context" # Landroid/content/Context;
  64. .param p2, "forParent" # Landroid/view/ViewGroup;
  65. .param p3, "cb" # Landroid/support/v4/widget/ViewDragHelper$Callback;
  66. .prologue
  67. .line 374
  68. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  69. .line 116
  70. const/4 v2, -0x1
  71. iput v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I
  72. .line 334
  73. new-instance v2, Landroid/support/v4/widget/ViewDragHelper$2;
  74. invoke-direct {v2, p0}, Landroid/support/v4/widget/ViewDragHelper$2;-><init>(Landroid/support/v4/widget/ViewDragHelper;)V
  75. iput-object v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mSetIdleRunnable:Ljava/lang/Runnable;
  76. .line 375
  77. if-nez p2, :cond_0
  78. .line 376
  79. new-instance v2, Ljava/lang/IllegalArgumentException;
  80. const-string v3, "Parent view may not be null"
  81. invoke-direct {v2, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
  82. throw v2
  83. .line 378
  84. :cond_0
  85. if-nez p3, :cond_1
  86. .line 379
  87. new-instance v2, Ljava/lang/IllegalArgumentException;
  88. const-string v3, "Callback may not be null"
  89. invoke-direct {v2, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
  90. throw v2
  91. .line 382
  92. :cond_1
  93. iput-object p2, p0, Landroid/support/v4/widget/ViewDragHelper;->mParentView:Landroid/view/ViewGroup;
  94. .line 383
  95. iput-object p3, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback;
  96. .line 385
  97. invoke-static {p1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;
  98. move-result-object v1
  99. .line 386
  100. .local v1, "vc":Landroid/view/ViewConfiguration;
  101. invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
  102. move-result-object v2
  103. invoke-virtual {v2}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
  104. move-result-object v2
  105. iget v0, v2, Landroid/util/DisplayMetrics;->density:F
  106. .line 387
  107. .local v0, "density":F
  108. const/high16 v2, 0x41a00000 # 20.0f
  109. mul-float/2addr v2, v0
  110. const/high16 v3, 0x3f000000 # 0.5f
  111. add-float/2addr v2, v3
  112. float-to-int v2, v2
  113. iput v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeSize:I
  114. .line 389
  115. invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I
  116. move-result v2
  117. iput v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I
  118. .line 390
  119. invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledMaximumFlingVelocity()I
  120. move-result v2
  121. int-to-float v2, v2
  122. iput v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mMaxVelocity:F
  123. .line 391
  124. invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledMinimumFlingVelocity()I
  125. move-result v2
  126. int-to-float v2, v2
  127. iput v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mMinVelocity:F
  128. .line 392
  129. sget-object v2, Landroid/support/v4/widget/ViewDragHelper;->sInterpolator:Landroid/view/animation/Interpolator;
  130. invoke-static {p1, v2}, Landroid/support/v4/widget/ScrollerCompat;->create(Landroid/content/Context;Landroid/view/animation/Interpolator;)Landroid/support/v4/widget/ScrollerCompat;
  131. move-result-object v2
  132. iput-object v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  133. .line 393
  134. return-void
  135. .end method
  136. .method private checkNewEdgeDrag(FFII)Z
  137. .locals 5
  138. .param p1, "delta" # F
  139. .param p2, "odelta" # F
  140. .param p3, "pointerId" # I
  141. .param p4, "edge" # I
  142. .prologue
  143. const/4 v2, 0x0
  144. .line 1263
  145. invoke-static {p1}, Ljava/lang/Math;->abs(F)F
  146. move-result v0
  147. .line 1264
  148. .local v0, "absDelta":F
  149. invoke-static {p2}, Ljava/lang/Math;->abs(F)F
  150. move-result v1
  151. .line 1266
  152. .local v1, "absODelta":F
  153. iget-object v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialEdgesTouched:[I
  154. aget v3, v3, p3
  155. and-int/2addr v3, p4
  156. if-ne v3, p4, :cond_0
  157. iget v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mTrackingEdges:I
  158. and-int/2addr v3, p4
  159. if-eqz v3, :cond_0
  160. iget-object v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsLocked:[I
  161. aget v3, v3, p3
  162. and-int/2addr v3, p4
  163. if-eq v3, p4, :cond_0
  164. iget-object v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsInProgress:[I
  165. aget v3, v3, p3
  166. and-int/2addr v3, p4
  167. if-eq v3, p4, :cond_0
  168. iget v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I
  169. int-to-float v3, v3
  170. cmpg-float v3, v0, v3
  171. if-gtz v3, :cond_1
  172. iget v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I
  173. int-to-float v3, v3
  174. cmpg-float v3, v1, v3
  175. if-gtz v3, :cond_1
  176. .line 1276
  177. :cond_0
  178. :goto_0
  179. return v2
  180. .line 1272
  181. :cond_1
  182. const/high16 v3, 0x3f000000 # 0.5f
  183. mul-float/2addr v3, v1
  184. cmpg-float v3, v0, v3
  185. if-gez v3, :cond_2
  186. iget-object v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback;
  187. invoke-virtual {v3, p4}, Landroid/support/v4/widget/ViewDragHelper$Callback;->onEdgeLock(I)Z
  188. move-result v3
  189. if-eqz v3, :cond_2
  190. .line 1273
  191. iget-object v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsLocked:[I
  192. aget v4, v3, p3
  193. or-int/2addr v4, p4
  194. aput v4, v3, p3
  195. goto :goto_0
  196. .line 1276
  197. :cond_2
  198. iget-object v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsInProgress:[I
  199. aget v3, v3, p3
  200. and-int/2addr v3, p4
  201. if-nez v3, :cond_0
  202. iget v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I
  203. int-to-float v3, v3
  204. cmpl-float v3, v0, v3
  205. if-lez v3, :cond_0
  206. const/4 v2, 0x1
  207. goto :goto_0
  208. .end method
  209. .method private checkTouchSlop(Landroid/view/View;FF)Z
  210. .locals 7
  211. .param p1, "child" # Landroid/view/View;
  212. .param p2, "dx" # F
  213. .param p3, "dy" # F
  214. .prologue
  215. const/4 v2, 0x1
  216. const/4 v3, 0x0
  217. .line 1290
  218. if-nez p1, :cond_1
  219. move v2, v3
  220. .line 1303
  221. :cond_0
  222. :goto_0
  223. return v2
  224. .line 1293
  225. :cond_1
  226. iget-object v4, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback;
  227. invoke-virtual {v4, p1}, Landroid/support/v4/widget/ViewDragHelper$Callback;->getViewHorizontalDragRange(Landroid/view/View;)I
  228. move-result v4
  229. if-lez v4, :cond_2
  230. move v0, v2
  231. .line 1294
  232. .local v0, "checkHorizontal":Z
  233. :goto_1
  234. iget-object v4, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback;
  235. invoke-virtual {v4, p1}, Landroid/support/v4/widget/ViewDragHelper$Callback;->getViewVerticalDragRange(Landroid/view/View;)I
  236. move-result v4
  237. if-lez v4, :cond_3
  238. move v1, v2
  239. .line 1296
  240. .local v1, "checkVertical":Z
  241. :goto_2
  242. if-eqz v0, :cond_4
  243. if-eqz v1, :cond_4
  244. .line 1297
  245. mul-float v4, p2, p2
  246. mul-float v5, p3, p3
  247. add-float/2addr v4, v5
  248. iget v5, p0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I
  249. iget v6, p0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I
  250. mul-int/2addr v5, v6
  251. int-to-float v5, v5
  252. cmpl-float v4, v4, v5
  253. if-gtz v4, :cond_0
  254. move v2, v3
  255. goto :goto_0
  256. .end local v0 # "checkHorizontal":Z
  257. .end local v1 # "checkVertical":Z
  258. :cond_2
  259. move v0, v3
  260. .line 1293
  261. goto :goto_1
  262. .restart local v0 # "checkHorizontal":Z
  263. :cond_3
  264. move v1, v3
  265. .line 1294
  266. goto :goto_2
  267. .line 1298
  268. .restart local v1 # "checkVertical":Z
  269. :cond_4
  270. if-eqz v0, :cond_5
  271. .line 1299
  272. invoke-static {p2}, Ljava/lang/Math;->abs(F)F
  273. move-result v4
  274. iget v5, p0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I
  275. int-to-float v5, v5
  276. cmpl-float v4, v4, v5
  277. if-gtz v4, :cond_0
  278. move v2, v3
  279. goto :goto_0
  280. .line 1300
  281. :cond_5
  282. if-eqz v1, :cond_6
  283. .line 1301
  284. invoke-static {p3}, Ljava/lang/Math;->abs(F)F
  285. move-result v4
  286. iget v5, p0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I
  287. int-to-float v5, v5
  288. cmpl-float v4, v4, v5
  289. if-gtz v4, :cond_0
  290. move v2, v3
  291. goto :goto_0
  292. :cond_6
  293. move v2, v3
  294. .line 1303
  295. goto :goto_0
  296. .end method
  297. .method private clampMag(FFF)F
  298. .locals 3
  299. .param p1, "value" # F
  300. .param p2, "absMin" # F
  301. .param p3, "absMax" # F
  302. .prologue
  303. const/4 v1, 0x0
  304. .line 675
  305. invoke-static {p1}, Ljava/lang/Math;->abs(F)F
  306. move-result v0
  307. .line 676
  308. .local v0, "absValue":F
  309. cmpg-float v2, v0, p2
  310. if-gez v2, :cond_1
  311. move p3, v1
  312. .line 678
  313. .end local p3 # "absMax":F
  314. :cond_0
  315. :goto_0
  316. return p3
  317. .line 677
  318. .restart local p3 # "absMax":F
  319. :cond_1
  320. cmpl-float v2, v0, p3
  321. if-lez v2, :cond_2
  322. cmpl-float v1, p1, v1
  323. if-gtz v1, :cond_0
  324. neg-float p3, p3
  325. goto :goto_0
  326. :cond_2
  327. move p3, p1
  328. .line 678
  329. goto :goto_0
  330. .end method
  331. .method private clampMag(III)I
  332. .locals 1
  333. .param p1, "value" # I
  334. .param p2, "absMin" # I
  335. .param p3, "absMax" # I
  336. .prologue
  337. .line 658
  338. invoke-static {p1}, Ljava/lang/Math;->abs(I)I
  339. move-result v0
  340. .line 659
  341. .local v0, "absValue":I
  342. if-ge v0, p2, :cond_1
  343. const/4 p3, 0x0
  344. .line 661
  345. .end local p3 # "absMax":I
  346. :cond_0
  347. :goto_0
  348. return p3
  349. .line 660
  350. .restart local p3 # "absMax":I
  351. :cond_1
  352. if-le v0, p3, :cond_2
  353. if-gtz p1, :cond_0
  354. neg-int p3, p3
  355. goto :goto_0
  356. :cond_2
  357. move p3, p1
  358. .line 661
  359. goto :goto_0
  360. .end method
  361. .method private clearMotionHistory()V
  362. .locals 3
  363. .prologue
  364. const/4 v2, 0x0
  365. const/4 v1, 0x0
  366. .line 778
  367. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F
  368. if-nez v0, :cond_0
  369. .line 789
  370. :goto_0
  371. return-void
  372. .line 781
  373. :cond_0
  374. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F
  375. invoke-static {v0, v1}, Ljava/util/Arrays;->fill([FF)V
  376. .line 782
  377. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionY:[F
  378. invoke-static {v0, v1}, Ljava/util/Arrays;->fill([FF)V
  379. .line 783
  380. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionX:[F
  381. invoke-static {v0, v1}, Ljava/util/Arrays;->fill([FF)V
  382. .line 784
  383. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionY:[F
  384. invoke-static {v0, v1}, Ljava/util/Arrays;->fill([FF)V
  385. .line 785
  386. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialEdgesTouched:[I
  387. invoke-static {v0, v2}, Ljava/util/Arrays;->fill([II)V
  388. .line 786
  389. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsInProgress:[I
  390. invoke-static {v0, v2}, Ljava/util/Arrays;->fill([II)V
  391. .line 787
  392. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsLocked:[I
  393. invoke-static {v0, v2}, Ljava/util/Arrays;->fill([II)V
  394. .line 788
  395. iput v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mPointersDown:I
  396. goto :goto_0
  397. .end method
  398. .method private clearMotionHistory(I)V
  399. .locals 3
  400. .param p1, "pointerId" # I
  401. .prologue
  402. const/4 v2, 0x0
  403. const/4 v1, 0x0
  404. .line 792
  405. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F
  406. if-nez v0, :cond_0
  407. .line 803
  408. :goto_0
  409. return-void
  410. .line 795
  411. :cond_0
  412. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F
  413. aput v1, v0, p1
  414. .line 796
  415. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionY:[F
  416. aput v1, v0, p1
  417. .line 797
  418. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionX:[F
  419. aput v1, v0, p1
  420. .line 798
  421. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionY:[F
  422. aput v1, v0, p1
  423. .line 799
  424. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialEdgesTouched:[I
  425. aput v2, v0, p1
  426. .line 800
  427. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsInProgress:[I
  428. aput v2, v0, p1
  429. .line 801
  430. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsLocked:[I
  431. aput v2, v0, p1
  432. .line 802
  433. iget v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mPointersDown:I
  434. const/4 v1, 0x1
  435. shl-int/2addr v1, p1
  436. xor-int/lit8 v1, v1, -0x1
  437. and-int/2addr v0, v1
  438. iput v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mPointersDown:I
  439. goto :goto_0
  440. .end method
  441. .method private computeAxisDuration(III)I
  442. .locals 10
  443. .param p1, "delta" # I
  444. .param p2, "velocity" # I
  445. .param p3, "motionRange" # I
  446. .prologue
  447. const/high16 v9, 0x3f800000 # 1.0f
  448. .line 626
  449. if-nez p1, :cond_0
  450. .line 627
  451. const/4 v6, 0x0
  452. .line 644
  453. :goto_0
  454. return v6
  455. .line 630
  456. :cond_0
  457. iget-object v6, p0, Landroid/support/v4/widget/ViewDragHelper;->mParentView:Landroid/view/ViewGroup;
  458. invoke-virtual {v6}, Landroid/view/ViewGroup;->getWidth()I
  459. move-result v5
  460. .line 631
  461. .local v5, "width":I
  462. div-int/lit8 v3, v5, 0x2
  463. .line 632
  464. .local v3, "halfWidth":I
  465. invoke-static {p1}, Ljava/lang/Math;->abs(I)I
  466. move-result v6
  467. int-to-float v6, v6
  468. int-to-float v7, v5
  469. div-float/2addr v6, v7
  470. invoke-static {v9, v6}, Ljava/lang/Math;->min(FF)F
  471. move-result v1
  472. .line 633
  473. .local v1, "distanceRatio":F
  474. int-to-float v6, v3
  475. int-to-float v7, v3
  476. invoke-direct {p0, v1}, Landroid/support/v4/widget/ViewDragHelper;->distanceInfluenceForSnapDuration(F)F
  477. move-result v8
  478. mul-float/2addr v7, v8
  479. add-float v0, v6, v7
  480. .line 637
  481. .local v0, "distance":F
  482. invoke-static {p2}, Ljava/lang/Math;->abs(I)I
  483. move-result p2
  484. .line 638
  485. if-lez p2, :cond_1
  486. .line 639
  487. const/high16 v6, 0x447a0000 # 1000.0f
  488. int-to-float v7, p2
  489. div-float v7, v0, v7
  490. invoke-static {v7}, Ljava/lang/Math;->abs(F)F
  491. move-result v7
  492. mul-float/2addr v6, v7
  493. invoke-static {v6}, Ljava/lang/Math;->round(F)I
  494. move-result v6
  495. mul-int/lit8 v2, v6, 0x4
  496. .line 644
  497. .local v2, "duration":I
  498. :goto_1
  499. const/16 v6, 0x258
  500. invoke-static {v2, v6}, Ljava/lang/Math;->min(II)I
  501. move-result v6
  502. goto :goto_0
  503. .line 641
  504. .end local v2 # "duration":I
  505. :cond_1
  506. invoke-static {p1}, Ljava/lang/Math;->abs(I)I
  507. move-result v6
  508. int-to-float v6, v6
  509. int-to-float v7, p3
  510. div-float v4, v6, v7
  511. .line 642
  512. .local v4, "range":F
  513. add-float v6, v4, v9
  514. const/high16 v7, 0x43800000 # 256.0f
  515. mul-float/2addr v6, v7
  516. float-to-int v2, v6
  517. .restart local v2 # "duration":I
  518. goto :goto_1
  519. .end method
  520. .method private computeSettleDuration(Landroid/view/View;IIII)I
  521. .locals 14
  522. .param p1, "child" # Landroid/view/View;
  523. .param p2, "dx" # I
  524. .param p3, "dy" # I
  525. .param p4, "xvel" # I
  526. .param p5, "yvel" # I
  527. .prologue
  528. .line 605
  529. iget v12, p0, Landroid/support/v4/widget/ViewDragHelper;->mMinVelocity:F
  530. float-to-int v12, v12
  531. iget v13, p0, Landroid/support/v4/widget/ViewDragHelper;->mMaxVelocity:F
  532. float-to-int v13, v13
  533. move/from16 v0, p4
  534. invoke-direct {p0, v0, v12, v13}, Landroid/support/v4/widget/ViewDragHelper;->clampMag(III)I
  535. move-result p4
  536. .line 606
  537. iget v12, p0, Landroid/support/v4/widget/ViewDragHelper;->mMinVelocity:F
  538. float-to-int v12, v12
  539. iget v13, p0, Landroid/support/v4/widget/ViewDragHelper;->mMaxVelocity:F
  540. float-to-int v13, v13
  541. move/from16 v0, p5
  542. invoke-direct {p0, v0, v12, v13}, Landroid/support/v4/widget/ViewDragHelper;->clampMag(III)I
  543. move-result p5
  544. .line 607
  545. invoke-static/range {p2 .. p2}, Ljava/lang/Math;->abs(I)I
  546. move-result v2
  547. .line 608
  548. .local v2, "absDx":I
  549. invoke-static/range {p3 .. p3}, Ljava/lang/Math;->abs(I)I
  550. move-result v3
  551. .line 609
  552. .local v3, "absDy":I
  553. invoke-static/range {p4 .. p4}, Ljava/lang/Math;->abs(I)I
  554. move-result v4
  555. .line 610
  556. .local v4, "absXVel":I
  557. invoke-static/range {p5 .. p5}, Ljava/lang/Math;->abs(I)I
  558. move-result v5
  559. .line 611
  560. .local v5, "absYVel":I
  561. add-int v7, v4, v5
  562. .line 612
  563. .local v7, "addedVel":I
  564. add-int v6, v2, v3
  565. .line 614
  566. .local v6, "addedDistance":I
  567. if-eqz p4, :cond_0
  568. int-to-float v12, v4
  569. int-to-float v13, v7
  570. div-float v9, v12, v13
  571. .line 616
  572. .local v9, "xweight":F
  573. :goto_0
  574. if-eqz p5, :cond_1
  575. int-to-float v12, v5
  576. int-to-float v13, v7
  577. div-float v11, v12, v13
  578. .line 619
  579. .local v11, "yweight":F
  580. :goto_1
  581. iget-object v12, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback;
  582. invoke-virtual {v12, p1}, Landroid/support/v4/widget/ViewDragHelper$Callback;->getViewHorizontalDragRange(Landroid/view/View;)I
  583. move-result v12
  584. move/from16 v0, p2
  585. move/from16 v1, p4
  586. invoke-direct {p0, v0, v1, v12}, Landroid/support/v4/widget/ViewDragHelper;->computeAxisDuration(III)I
  587. move-result v8
  588. .line 620
  589. .local v8, "xduration":I
  590. iget-object v12, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback;
  591. invoke-virtual {v12, p1}, Landroid/support/v4/widget/ViewDragHelper$Callback;->getViewVerticalDragRange(Landroid/view/View;)I
  592. move-result v12
  593. move/from16 v0, p3
  594. move/from16 v1, p5
  595. invoke-direct {p0, v0, v1, v12}, Landroid/support/v4/widget/ViewDragHelper;->computeAxisDuration(III)I
  596. move-result v10
  597. .line 622
  598. .local v10, "yduration":I
  599. int-to-float v12, v8
  600. mul-float/2addr v12, v9
  601. int-to-float v13, v10
  602. mul-float/2addr v13, v11
  603. add-float/2addr v12, v13
  604. float-to-int v12, v12
  605. return v12
  606. .line 614
  607. .end local v8 # "xduration":I
  608. .end local v9 # "xweight":F
  609. .end local v10 # "yduration":I
  610. .end local v11 # "yweight":F
  611. :cond_0
  612. int-to-float v12, v2
  613. int-to-float v13, v6
  614. div-float v9, v12, v13
  615. goto :goto_0
  616. .line 616
  617. .restart local v9 # "xweight":F
  618. :cond_1
  619. int-to-float v12, v3
  620. int-to-float v13, v6
  621. div-float v11, v12, v13
  622. goto :goto_1
  623. .end method
  624. .method public static create(Landroid/view/ViewGroup;FLandroid/support/v4/widget/ViewDragHelper$Callback;)Landroid/support/v4/widget/ViewDragHelper;
  625. .locals 3
  626. .param p0, "forParent" # Landroid/view/ViewGroup;
  627. .param p1, "sensitivity" # F
  628. .param p2, "cb" # Landroid/support/v4/widget/ViewDragHelper$Callback;
  629. .prologue
  630. .line 361
  631. invoke-static {p0, p2}, Landroid/support/v4/widget/ViewDragHelper;->create(Landroid/view/ViewGroup;Landroid/support/v4/widget/ViewDragHelper$Callback;)Landroid/support/v4/widget/ViewDragHelper;
  632. move-result-object v0
  633. .line 362
  634. .local v0, "helper":Landroid/support/v4/widget/ViewDragHelper;
  635. iget v1, v0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I
  636. int-to-float v1, v1
  637. const/high16 v2, 0x3f800000 # 1.0f
  638. div-float/2addr v2, p1
  639. mul-float/2addr v1, v2
  640. float-to-int v1, v1
  641. iput v1, v0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I
  642. .line 363
  643. return-object v0
  644. .end method
  645. .method public static create(Landroid/view/ViewGroup;Landroid/support/v4/widget/ViewDragHelper$Callback;)Landroid/support/v4/widget/ViewDragHelper;
  646. .locals 2
  647. .param p0, "forParent" # Landroid/view/ViewGroup;
  648. .param p1, "cb" # Landroid/support/v4/widget/ViewDragHelper$Callback;
  649. .prologue
  650. .line 348
  651. new-instance v0, Landroid/support/v4/widget/ViewDragHelper;
  652. invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context;
  653. move-result-object v1
  654. invoke-direct {v0, v1, p0, p1}, Landroid/support/v4/widget/ViewDragHelper;-><init>(Landroid/content/Context;Landroid/view/ViewGroup;Landroid/support/v4/widget/ViewDragHelper$Callback;)V
  655. return-object v0
  656. .end method
  657. .method private dispatchViewReleased(FF)V
  658. .locals 4
  659. .param p1, "xvel" # F
  660. .param p2, "yvel" # F
  661. .prologue
  662. const/4 v3, 0x1
  663. const/4 v2, 0x0
  664. .line 767
  665. iput-boolean v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mReleaseInProgress:Z
  666. .line 768
  667. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback;
  668. iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  669. invoke-virtual {v0, v1, p1, p2}, Landroid/support/v4/widget/ViewDragHelper$Callback;->onViewReleased(Landroid/view/View;FF)V
  670. .line 769
  671. iput-boolean v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mReleaseInProgress:Z
  672. .line 771
  673. iget v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I
  674. if-ne v0, v3, :cond_0
  675. .line 773
  676. invoke-virtual {p0, v2}, Landroid/support/v4/widget/ViewDragHelper;->setDragState(I)V
  677. .line 775
  678. :cond_0
  679. return-void
  680. .end method
  681. .method private distanceInfluenceForSnapDuration(F)F
  682. .locals 4
  683. .param p1, "f" # F
  684. .prologue
  685. .line 682
  686. const/high16 v0, 0x3f000000 # 0.5f
  687. sub-float/2addr p1, v0
  688. .line 683
  689. float-to-double v0, p1
  690. const-wide v2, 0x3fde28c7460698c7L # 0.4712389167638204
  691. mul-double/2addr v0, v2
  692. double-to-float p1, v0
  693. .line 684
  694. float-to-double v0, p1
  695. invoke-static {v0, v1}, Ljava/lang/Math;->sin(D)D
  696. move-result-wide v0
  697. double-to-float v0, v0
  698. return v0
  699. .end method
  700. .method private dragTo(IIII)V
  701. .locals 8
  702. .param p1, "left" # I
  703. .param p2, "top" # I
  704. .param p3, "dx" # I
  705. .param p4, "dy" # I
  706. .prologue
  707. .line 1411
  708. move v2, p1
  709. .line 1412
  710. .local v2, "clampedX":I
  711. move v3, p2
  712. .line 1413
  713. .local v3, "clampedY":I
  714. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  715. invoke-virtual {v0}, Landroid/view/View;->getLeft()I
  716. move-result v6
  717. .line 1414
  718. .local v6, "oldLeft":I
  719. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  720. invoke-virtual {v0}, Landroid/view/View;->getTop()I
  721. move-result v7
  722. .line 1415
  723. .local v7, "oldTop":I
  724. if-eqz p3, :cond_0
  725. .line 1416
  726. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback;
  727. iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  728. invoke-virtual {v0, v1, p1, p3}, Landroid/support/v4/widget/ViewDragHelper$Callback;->clampViewPositionHorizontal(Landroid/view/View;II)I
  729. move-result v2
  730. .line 1417
  731. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  732. sub-int v1, v2, v6
  733. invoke-static {v0, v1}, Landroid/support/v4/view/ViewCompat;->offsetLeftAndRight(Landroid/view/View;I)V
  734. .line 1419
  735. :cond_0
  736. if-eqz p4, :cond_1
  737. .line 1420
  738. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback;
  739. iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  740. invoke-virtual {v0, v1, p2, p4}, Landroid/support/v4/widget/ViewDragHelper$Callback;->clampViewPositionVertical(Landroid/view/View;II)I
  741. move-result v3
  742. .line 1421
  743. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  744. sub-int v1, v3, v7
  745. invoke-static {v0, v1}, Landroid/support/v4/view/ViewCompat;->offsetTopAndBottom(Landroid/view/View;I)V
  746. .line 1424
  747. :cond_1
  748. if-nez p3, :cond_2
  749. if-eqz p4, :cond_3
  750. .line 1425
  751. :cond_2
  752. sub-int v4, v2, v6
  753. .line 1426
  754. .local v4, "clampedDx":I
  755. sub-int v5, v3, v7
  756. .line 1427
  757. .local v5, "clampedDy":I
  758. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback;
  759. iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  760. invoke-virtual/range {v0 .. v5}, Landroid/support/v4/widget/ViewDragHelper$Callback;->onViewPositionChanged(Landroid/view/View;IIII)V
  761. .line 1430
  762. .end local v4 # "clampedDx":I
  763. .end local v5 # "clampedDy":I
  764. :cond_3
  765. return-void
  766. .end method
  767. .method private ensureMotionHistorySizeForId(I)V
  768. .locals 10
  769. .param p1, "pointerId" # I
  770. .prologue
  771. const/4 v9, 0x0
  772. .line 806
  773. iget-object v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F
  774. if-eqz v7, :cond_0
  775. iget-object v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F
  776. array-length v7, v7
  777. if-gt v7, p1, :cond_2
  778. .line 807
  779. :cond_0
  780. add-int/lit8 v7, p1, 0x1
  781. new-array v3, v7, [F
  782. .line 808
  783. .local v3, "imx":[F
  784. add-int/lit8 v7, p1, 0x1
  785. new-array v4, v7, [F
  786. .line 809
  787. .local v4, "imy":[F
  788. add-int/lit8 v7, p1, 0x1
  789. new-array v5, v7, [F
  790. .line 810
  791. .local v5, "lmx":[F
  792. add-int/lit8 v7, p1, 0x1
  793. new-array v6, v7, [F
  794. .line 811
  795. .local v6, "lmy":[F
  796. add-int/lit8 v7, p1, 0x1
  797. new-array v2, v7, [I
  798. .line 812
  799. .local v2, "iit":[I
  800. add-int/lit8 v7, p1, 0x1
  801. new-array v0, v7, [I
  802. .line 813
  803. .local v0, "edip":[I
  804. add-int/lit8 v7, p1, 0x1
  805. new-array v1, v7, [I
  806. .line 815
  807. .local v1, "edl":[I
  808. iget-object v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F
  809. if-eqz v7, :cond_1
  810. .line 816
  811. iget-object v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F
  812. iget-object v8, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F
  813. array-length v8, v8
  814. invoke-static {v7, v9, v3, v9, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
  815. .line 817
  816. iget-object v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionY:[F
  817. iget-object v8, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionY:[F
  818. array-length v8, v8
  819. invoke-static {v7, v9, v4, v9, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
  820. .line 818
  821. iget-object v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionX:[F
  822. iget-object v8, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionX:[F
  823. array-length v8, v8
  824. invoke-static {v7, v9, v5, v9, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
  825. .line 819
  826. iget-object v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionY:[F
  827. iget-object v8, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionY:[F
  828. array-length v8, v8
  829. invoke-static {v7, v9, v6, v9, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
  830. .line 820
  831. iget-object v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialEdgesTouched:[I
  832. iget-object v8, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialEdgesTouched:[I
  833. array-length v8, v8
  834. invoke-static {v7, v9, v2, v9, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
  835. .line 821
  836. iget-object v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsInProgress:[I
  837. iget-object v8, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsInProgress:[I
  838. array-length v8, v8
  839. invoke-static {v7, v9, v0, v9, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
  840. .line 822
  841. iget-object v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsLocked:[I
  842. iget-object v8, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsLocked:[I
  843. array-length v8, v8
  844. invoke-static {v7, v9, v1, v9, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
  845. .line 825
  846. :cond_1
  847. iput-object v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F
  848. .line 826
  849. iput-object v4, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionY:[F
  850. .line 827
  851. iput-object v5, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionX:[F
  852. .line 828
  853. iput-object v6, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionY:[F
  854. .line 829
  855. iput-object v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialEdgesTouched:[I
  856. .line 830
  857. iput-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsInProgress:[I
  858. .line 831
  859. iput-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsLocked:[I
  860. .line 833
  861. .end local v0 # "edip":[I
  862. .end local v1 # "edl":[I
  863. .end local v2 # "iit":[I
  864. .end local v3 # "imx":[F
  865. .end local v4 # "imy":[F
  866. .end local v5 # "lmx":[F
  867. .end local v6 # "lmy":[F
  868. :cond_2
  869. return-void
  870. .end method
  871. .method private forceSettleCapturedViewAt(IIII)Z
  872. .locals 11
  873. .param p1, "finalLeft" # I
  874. .param p2, "finalTop" # I
  875. .param p3, "xvel" # I
  876. .param p4, "yvel" # I
  877. .prologue
  878. const/4 v0, 0x0
  879. .line 585
  880. iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  881. invoke-virtual {v1}, Landroid/view/View;->getLeft()I
  882. move-result v10
  883. .line 586
  884. .local v10, "startLeft":I
  885. iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  886. invoke-virtual {v1}, Landroid/view/View;->getTop()I
  887. move-result v6
  888. .line 587
  889. .local v6, "startTop":I
  890. sub-int v2, p1, v10
  891. .line 588
  892. .local v2, "dx":I
  893. sub-int v3, p2, v6
  894. .line 590
  895. .local v3, "dy":I
  896. if-nez v2, :cond_0
  897. if-nez v3, :cond_0
  898. .line 592
  899. iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  900. invoke-virtual {v1}, Landroid/support/v4/widget/ScrollerCompat;->abortAnimation()V
  901. .line 593
  902. invoke-virtual {p0, v0}, Landroid/support/v4/widget/ViewDragHelper;->setDragState(I)V
  903. .line 601
  904. :goto_0
  905. return v0
  906. .line 597
  907. :cond_0
  908. iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  909. move-object v0, p0
  910. move v4, p3
  911. move v5, p4
  912. invoke-direct/range {v0 .. v5}, Landroid/support/v4/widget/ViewDragHelper;->computeSettleDuration(Landroid/view/View;IIII)I
  913. move-result v9
  914. .line 598
  915. .local v9, "duration":I
  916. iget-object v4, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  917. move v5, v10
  918. move v7, v2
  919. move v8, v3
  920. invoke-virtual/range {v4 .. v9}, Landroid/support/v4/widget/ScrollerCompat;->startScroll(IIIII)V
  921. .line 600
  922. const/4 v0, 0x2
  923. invoke-virtual {p0, v0}, Landroid/support/v4/widget/ViewDragHelper;->setDragState(I)V
  924. .line 601
  925. const/4 v0, 0x1
  926. goto :goto_0
  927. .end method
  928. .method private getEdgesTouched(II)I
  929. .locals 3
  930. .param p1, "x" # I
  931. .param p2, "y" # I
  932. .prologue
  933. .line 1485
  934. const/4 v0, 0x0
  935. .line 1487
  936. .local v0, "result":I
  937. iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mParentView:Landroid/view/ViewGroup;
  938. invoke-virtual {v1}, Landroid/view/ViewGroup;->getLeft()I
  939. move-result v1
  940. iget v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeSize:I
  941. add-int/2addr v1, v2
  942. if-ge p1, v1, :cond_0
  943. or-int/lit8 v0, v0, 0x1
  944. .line 1488
  945. :cond_0
  946. iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mParentView:Landroid/view/ViewGroup;
  947. invoke-virtual {v1}, Landroid/view/ViewGroup;->getTop()I
  948. move-result v1
  949. iget v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeSize:I
  950. add-int/2addr v1, v2
  951. if-ge p2, v1, :cond_1
  952. or-int/lit8 v0, v0, 0x4
  953. .line 1489
  954. :cond_1
  955. iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mParentView:Landroid/view/ViewGroup;
  956. invoke-virtual {v1}, Landroid/view/ViewGroup;->getRight()I
  957. move-result v1
  958. iget v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeSize:I
  959. sub-int/2addr v1, v2
  960. if-le p1, v1, :cond_2
  961. or-int/lit8 v0, v0, 0x2
  962. .line 1490
  963. :cond_2
  964. iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mParentView:Landroid/view/ViewGroup;
  965. invoke-virtual {v1}, Landroid/view/ViewGroup;->getBottom()I
  966. move-result v1
  967. iget v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeSize:I
  968. sub-int/2addr v1, v2
  969. if-le p2, v1, :cond_3
  970. or-int/lit8 v0, v0, 0x8
  971. .line 1492
  972. :cond_3
  973. return v0
  974. .end method
  975. .method private isValidPointerForActionMove(I)Z
  976. .locals 3
  977. .param p1, "pointerId" # I
  978. .prologue
  979. .line 1496
  980. invoke-virtual {p0, p1}, Landroid/support/v4/widget/ViewDragHelper;->isPointerDown(I)Z
  981. move-result v0
  982. if-nez v0, :cond_0
  983. .line 1497
  984. const-string v0, "ViewDragHelper"
  985. new-instance v1, Ljava/lang/StringBuilder;
  986. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  987. const-string v2, "Ignoring pointerId="
  988. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  989. move-result-object v1
  990. invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  991. move-result-object v1
  992. const-string v2, " because ACTION_DOWN was not received "
  993. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  994. move-result-object v1
  995. const-string v2, "for this pointer before ACTION_MOVE. It likely happened because "
  996. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  997. move-result-object v1
  998. const-string v2, " ViewDragHelper did not receive all the events in the event stream."
  999. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1000. move-result-object v1
  1001. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  1002. move-result-object v1
  1003. invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
  1004. .line 1500
  1005. const/4 v0, 0x0
  1006. .line 1502
  1007. :goto_0
  1008. return v0
  1009. :cond_0
  1010. const/4 v0, 0x1
  1011. goto :goto_0
  1012. .end method
  1013. .method private releaseViewForPointerUp()V
  1014. .locals 5
  1015. .prologue
  1016. .line 1400
  1017. iget-object v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
  1018. const/16 v3, 0x3e8
  1019. iget v4, p0, Landroid/support/v4/widget/ViewDragHelper;->mMaxVelocity:F
  1020. invoke-virtual {v2, v3, v4}, Landroid/view/VelocityTracker;->computeCurrentVelocity(IF)V
  1021. .line 1401
  1022. iget-object v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
  1023. iget v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I
  1024. invoke-static {v2, v3}, Landroid/support/v4/view/VelocityTrackerCompat;->getXVelocity(Landroid/view/VelocityTracker;I)F
  1025. move-result v2
  1026. iget v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mMinVelocity:F
  1027. iget v4, p0, Landroid/support/v4/widget/ViewDragHelper;->mMaxVelocity:F
  1028. invoke-direct {p0, v2, v3, v4}, Landroid/support/v4/widget/ViewDragHelper;->clampMag(FFF)F
  1029. move-result v0
  1030. .line 1404
  1031. .local v0, "xvel":F
  1032. iget-object v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
  1033. iget v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I
  1034. invoke-static {v2, v3}, Landroid/support/v4/view/VelocityTrackerCompat;->getYVelocity(Landroid/view/VelocityTracker;I)F
  1035. move-result v2
  1036. iget v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mMinVelocity:F
  1037. iget v4, p0, Landroid/support/v4/widget/ViewDragHelper;->mMaxVelocity:F
  1038. invoke-direct {p0, v2, v3, v4}, Landroid/support/v4/widget/ViewDragHelper;->clampMag(FFF)F
  1039. move-result v1
  1040. .line 1407
  1041. .local v1, "yvel":F
  1042. invoke-direct {p0, v0, v1}, Landroid/support/v4/widget/ViewDragHelper;->dispatchViewReleased(FF)V
  1043. .line 1408
  1044. return-void
  1045. .end method
  1046. .method private reportNewEdgeDrags(FFI)V
  1047. .locals 3
  1048. .param p1, "dx" # F
  1049. .param p2, "dy" # F
  1050. .param p3, "pointerId" # I
  1051. .prologue
  1052. .line 1242
  1053. const/4 v0, 0x0
  1054. .line 1243
  1055. .local v0, "dragsStarted":I
  1056. const/4 v1, 0x1
  1057. invoke-direct {p0, p1, p2, p3, v1}, Landroid/support/v4/widget/ViewDragHelper;->checkNewEdgeDrag(FFII)Z
  1058. move-result v1
  1059. if-eqz v1, :cond_0
  1060. .line 1244
  1061. or-int/lit8 v0, v0, 0x1
  1062. .line 1246
  1063. :cond_0
  1064. const/4 v1, 0x4
  1065. invoke-direct {p0, p2, p1, p3, v1}, Landroid/support/v4/widget/ViewDragHelper;->checkNewEdgeDrag(FFII)Z
  1066. move-result v1
  1067. if-eqz v1, :cond_1
  1068. .line 1247
  1069. or-int/lit8 v0, v0, 0x4
  1070. .line 1249
  1071. :cond_1
  1072. const/4 v1, 0x2
  1073. invoke-direct {p0, p1, p2, p3, v1}, Landroid/support/v4/widget/ViewDragHelper;->checkNewEdgeDrag(FFII)Z
  1074. move-result v1
  1075. if-eqz v1, :cond_2
  1076. .line 1250
  1077. or-int/lit8 v0, v0, 0x2
  1078. .line 1252
  1079. :cond_2
  1080. const/16 v1, 0x8
  1081. invoke-direct {p0, p2, p1, p3, v1}, Landroid/support/v4/widget/ViewDragHelper;->checkNewEdgeDrag(FFII)Z
  1082. move-result v1
  1083. if-eqz v1, :cond_3
  1084. .line 1253
  1085. or-int/lit8 v0, v0, 0x8
  1086. .line 1256
  1087. :cond_3
  1088. if-eqz v0, :cond_4
  1089. .line 1257
  1090. iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsInProgress:[I
  1091. aget v2, v1, p3
  1092. or-int/2addr v2, v0
  1093. aput v2, v1, p3
  1094. .line 1258
  1095. iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback;
  1096. invoke-virtual {v1, v0, p3}, Landroid/support/v4/widget/ViewDragHelper$Callback;->onEdgeDragStarted(II)V
  1097. .line 1260
  1098. :cond_4
  1099. return-void
  1100. .end method
  1101. .method private saveInitialMotion(FFI)V
  1102. .locals 3
  1103. .param p1, "x" # F
  1104. .param p2, "y" # F
  1105. .param p3, "pointerId" # I
  1106. .prologue
  1107. .line 836
  1108. invoke-direct {p0, p3}, Landroid/support/v4/widget/ViewDragHelper;->ensureMotionHistorySizeForId(I)V
  1109. .line 837
  1110. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F
  1111. iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionX:[F
  1112. aput p1, v1, p3
  1113. aput p1, v0, p3
  1114. .line 838
  1115. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionY:[F
  1116. iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionY:[F
  1117. aput p2, v1, p3
  1118. aput p2, v0, p3
  1119. .line 839
  1120. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialEdgesTouched:[I
  1121. float-to-int v1, p1
  1122. float-to-int v2, p2
  1123. invoke-direct {p0, v1, v2}, Landroid/support/v4/widget/ViewDragHelper;->getEdgesTouched(II)I
  1124. move-result v1
  1125. aput v1, v0, p3
  1126. .line 840
  1127. iget v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mPointersDown:I
  1128. const/4 v1, 0x1
  1129. shl-int/2addr v1, p3
  1130. or-int/2addr v0, v1
  1131. iput v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mPointersDown:I
  1132. .line 841
  1133. return-void
  1134. .end method
  1135. .method private saveLastMotion(Landroid/view/MotionEvent;)V
  1136. .locals 6
  1137. .param p1, "ev" # Landroid/view/MotionEvent;
  1138. .prologue
  1139. .line 844
  1140. invoke-static {p1}, Landroid/support/v4/view/MotionEventCompat;->getPointerCount(Landroid/view/MotionEvent;)I
  1141. move-result v1
  1142. .line 845
  1143. .local v1, "pointerCount":I
  1144. const/4 v0, 0x0
  1145. .local v0, "i":I
  1146. :goto_0
  1147. if-ge v0, v1, :cond_0
  1148. .line 846
  1149. invoke-static {p1, v0}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I
  1150. move-result v2
  1151. .line 847
  1152. .local v2, "pointerId":I
  1153. invoke-static {p1, v0}, Landroid/support/v4/view/MotionEventCompat;->getX(Landroid/view/MotionEvent;I)F
  1154. move-result v3
  1155. .line 848
  1156. .local v3, "x":F
  1157. invoke-static {p1, v0}, Landroid/support/v4/view/MotionEventCompat;->getY(Landroid/view/MotionEvent;I)F
  1158. move-result v4
  1159. .line 849
  1160. .local v4, "y":F
  1161. iget-object v5, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionX:[F
  1162. aput v3, v5, v2
  1163. .line 850
  1164. iget-object v5, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionY:[F
  1165. aput v4, v5, v2
  1166. .line 845
  1167. add-int/lit8 v0, v0, 0x1
  1168. goto :goto_0
  1169. .line 852
  1170. .end local v2 # "pointerId":I
  1171. .end local v3 # "x":F
  1172. .end local v4 # "y":F
  1173. :cond_0
  1174. return-void
  1175. .end method
  1176. # virtual methods
  1177. .method public abort()V
  1178. .locals 8
  1179. .prologue
  1180. .line 513
  1181. invoke-virtual {p0}, Landroid/support/v4/widget/ViewDragHelper;->cancel()V
  1182. .line 514
  1183. iget v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I
  1184. const/4 v1, 0x2
  1185. if-ne v0, v1, :cond_0
  1186. .line 515
  1187. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  1188. invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->getCurrX()I
  1189. move-result v6
  1190. .line 516
  1191. .local v6, "oldX":I
  1192. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  1193. invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->getCurrY()I
  1194. move-result v7
  1195. .line 517
  1196. .local v7, "oldY":I
  1197. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  1198. invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->abortAnimation()V
  1199. .line 518
  1200. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  1201. invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->getCurrX()I
  1202. move-result v2
  1203. .line 519
  1204. .local v2, "newX":I
  1205. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  1206. invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->getCurrY()I
  1207. move-result v3
  1208. .line 520
  1209. .local v3, "newY":I
  1210. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback;
  1211. iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  1212. sub-int v4, v2, v6
  1213. sub-int v5, v3, v7
  1214. invoke-virtual/range {v0 .. v5}, Landroid/support/v4/widget/ViewDragHelper$Callback;->onViewPositionChanged(Landroid/view/View;IIII)V
  1215. .line 522
  1216. .end local v2 # "newX":I
  1217. .end local v3 # "newY":I
  1218. .end local v6 # "oldX":I
  1219. .end local v7 # "oldY":I
  1220. :cond_0
  1221. const/4 v0, 0x0
  1222. invoke-virtual {p0, v0}, Landroid/support/v4/widget/ViewDragHelper;->setDragState(I)V
  1223. .line 523
  1224. return-void
  1225. .end method
  1226. .method protected canScroll(Landroid/view/View;ZIIII)Z
  1227. .locals 13
  1228. .param p1, "v" # Landroid/view/View;
  1229. .param p2, "checkV" # Z
  1230. .param p3, "dx" # I
  1231. .param p4, "dy" # I
  1232. .param p5, "x" # I
  1233. .param p6, "y" # I
  1234. .prologue
  1235. .line 917
  1236. instance-of v1, p1, Landroid/view/ViewGroup;
  1237. if-eqz v1, :cond_1
  1238. move-object v9, p1
  1239. .line 918
  1240. check-cast v9, Landroid/view/ViewGroup;
  1241. .line 919
  1242. .local v9, "group":Landroid/view/ViewGroup;
  1243. invoke-virtual {p1}, Landroid/view/View;->getScrollX()I
  1244. move-result v11
  1245. .line 920
  1246. .local v11, "scrollX":I
  1247. invoke-virtual {p1}, Landroid/view/View;->getScrollY()I
  1248. move-result v12
  1249. .line 921
  1250. .local v12, "scrollY":I
  1251. invoke-virtual {v9}, Landroid/view/ViewGroup;->getChildCount()I
  1252. move-result v8
  1253. .line 923
  1254. .local v8, "count":I
  1255. add-int/lit8 v10, v8, -0x1
  1256. .local v10, "i":I
  1257. :goto_0
  1258. if-ltz v10, :cond_1
  1259. .line 926
  1260. invoke-virtual {v9, v10}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
  1261. move-result-object v2
  1262. .line 927
  1263. .local v2, "child":Landroid/view/View;
  1264. add-int v1, p5, v11
  1265. invoke-virtual {v2}, Landroid/view/View;->getLeft()I
  1266. move-result v3
  1267. if-lt v1, v3, :cond_0
  1268. add-int v1, p5, v11
  1269. invoke-virtual {v2}, Landroid/view/View;->getRight()I
  1270. move-result v3
  1271. if-ge v1, v3, :cond_0
  1272. add-int v1, p6, v12
  1273. invoke-virtual {v2}, Landroid/view/View;->getTop()I
  1274. move-result v3
  1275. if-lt v1, v3, :cond_0
  1276. add-int v1, p6, v12
  1277. invoke-virtual {v2}, Landroid/view/View;->getBottom()I
  1278. move-result v3
  1279. if-ge v1, v3, :cond_0
  1280. const/4 v3, 0x1
  1281. add-int v1, p5, v11
  1282. invoke-virtual {v2}, Landroid/view/View;->getLeft()I
  1283. move-result v4
  1284. sub-int v6, v1, v4
  1285. add-int v1, p6, v12
  1286. invoke-virtual {v2}, Landroid/view/View;->getTop()I
  1287. move-result v4
  1288. sub-int v7, v1, v4
  1289. move-object v1, p0
  1290. move/from16 v4, p3
  1291. move/from16 v5, p4
  1292. invoke-virtual/range {v1 .. v7}, Landroid/support/v4/widget/ViewDragHelper;->canScroll(Landroid/view/View;ZIIII)Z
  1293. move-result v1
  1294. if-eqz v1, :cond_0
  1295. .line 931
  1296. const/4 v1, 0x1
  1297. .line 936
  1298. .end local v2 # "child":Landroid/view/View;
  1299. .end local v8 # "count":I
  1300. .end local v9 # "group":Landroid/view/ViewGroup;
  1301. .end local v10 # "i":I
  1302. .end local v11 # "scrollX":I
  1303. .end local v12 # "scrollY":I
  1304. :goto_1
  1305. return v1
  1306. .line 923
  1307. .restart local v2 # "child":Landroid/view/View;
  1308. .restart local v8 # "count":I
  1309. .restart local v9 # "group":Landroid/view/ViewGroup;
  1310. .restart local v10 # "i":I
  1311. .restart local v11 # "scrollX":I
  1312. .restart local v12 # "scrollY":I
  1313. :cond_0
  1314. add-int/lit8 v10, v10, -0x1
  1315. goto :goto_0
  1316. .line 936
  1317. .end local v2 # "child":Landroid/view/View;
  1318. .end local v8 # "count":I
  1319. .end local v9 # "group":Landroid/view/ViewGroup;
  1320. .end local v10 # "i":I
  1321. .end local v11 # "scrollX":I
  1322. .end local v12 # "scrollY":I
  1323. :cond_1
  1324. if-eqz p2, :cond_3
  1325. move/from16 v0, p3
  1326. neg-int v1, v0
  1327. invoke-static {p1, v1}, Landroid/support/v4/view/ViewCompat;->canScrollHorizontally(Landroid/view/View;I)Z
  1328. move-result v1
  1329. if-nez v1, :cond_2
  1330. move/from16 v0, p4
  1331. neg-int v1, v0
  1332. invoke-static {p1, v1}, Landroid/support/v4/view/ViewCompat;->canScrollVertically(Landroid/view/View;I)Z
  1333. move-result v1
  1334. if-eqz v1, :cond_3
  1335. :cond_2
  1336. const/4 v1, 0x1
  1337. goto :goto_1
  1338. :cond_3
  1339. const/4 v1, 0x0
  1340. goto :goto_1
  1341. .end method
  1342. .method public cancel()V
  1343. .locals 1
  1344. .prologue
  1345. .line 499
  1346. const/4 v0, -0x1
  1347. iput v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I
  1348. .line 500
  1349. invoke-direct {p0}, Landroid/support/v4/widget/ViewDragHelper;->clearMotionHistory()V
  1350. .line 502
  1351. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
  1352. if-eqz v0, :cond_0
  1353. .line 503
  1354. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
  1355. invoke-virtual {v0}, Landroid/view/VelocityTracker;->recycle()V
  1356. .line 504
  1357. const/4 v0, 0x0
  1358. iput-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
  1359. .line 506
  1360. :cond_0
  1361. return-void
  1362. .end method
  1363. .method public captureChildView(Landroid/view/View;I)V
  1364. .locals 3
  1365. .param p1, "childView" # Landroid/view/View;
  1366. .param p2, "activePointerId" # I
  1367. .prologue
  1368. .line 461
  1369. invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
  1370. move-result-object v0
  1371. iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mParentView:Landroid/view/ViewGroup;
  1372. if-eq v0, v1, :cond_0
  1373. .line 462
  1374. new-instance v0, Ljava/lang/IllegalArgumentException;
  1375. new-instance v1, Ljava/lang/StringBuilder;
  1376. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  1377. const-string v2, "captureChildView: parameter must be a descendant of the ViewDragHelper\'s tracked parent view ("
  1378. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1379. move-result-object v1
  1380. iget-object v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mParentView:Landroid/view/ViewGroup;
  1381. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  1382. move-result-object v1
  1383. const-string v2, ")"
  1384. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1385. move-result-object v1
  1386. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  1387. move-result-object v1
  1388. invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
  1389. throw v0
  1390. .line 466
  1391. :cond_0
  1392. iput-object p1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  1393. .line 467
  1394. iput p2, p0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I
  1395. .line 468
  1396. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback;
  1397. invoke-virtual {v0, p1, p2}, Landroid/support/v4/widget/ViewDragHelper$Callback;->onViewCaptured(Landroid/view/View;I)V
  1398. .line 469
  1399. const/4 v0, 0x1
  1400. invoke-virtual {p0, v0}, Landroid/support/v4/widget/ViewDragHelper;->setDragState(I)V
  1401. .line 470
  1402. return-void
  1403. .end method
  1404. .method public checkTouchSlop(I)Z
  1405. .locals 3
  1406. .param p1, "directions" # I
  1407. .prologue
  1408. .line 1321
  1409. iget-object v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F
  1410. array-length v0, v2
  1411. .line 1322
  1412. .local v0, "count":I
  1413. const/4 v1, 0x0
  1414. .local v1, "i":I
  1415. :goto_0
  1416. if-ge v1, v0, :cond_1
  1417. .line 1323
  1418. invoke-virtual {p0, p1, v1}, Landroid/support/v4/widget/ViewDragHelper;->checkTouchSlop(II)Z
  1419. move-result v2
  1420. if-eqz v2, :cond_0
  1421. .line 1324
  1422. const/4 v2, 0x1
  1423. .line 1327
  1424. :goto_1
  1425. return v2
  1426. .line 1322
  1427. :cond_0
  1428. add-int/lit8 v1, v1, 0x1
  1429. goto :goto_0
  1430. .line 1327
  1431. :cond_1
  1432. const/4 v2, 0x0
  1433. goto :goto_1
  1434. .end method
  1435. .method public checkTouchSlop(II)Z
  1436. .locals 9
  1437. .param p1, "directions" # I
  1438. .param p2, "pointerId" # I
  1439. .prologue
  1440. const/4 v4, 0x1
  1441. const/4 v5, 0x0
  1442. .line 1346
  1443. invoke-virtual {p0, p2}, Landroid/support/v4/widget/ViewDragHelper;->isPointerDown(I)Z
  1444. move-result v6
  1445. if-nez v6, :cond_1
  1446. move v4, v5
  1447. .line 1363
  1448. :cond_0
  1449. :goto_0
  1450. return v4
  1451. .line 1350
  1452. :cond_1
  1453. and-int/lit8 v6, p1, 0x1
  1454. if-ne v6, v4, :cond_2
  1455. move v0, v4
  1456. .line 1351
  1457. .local v0, "checkHorizontal":Z
  1458. :goto_1
  1459. and-int/lit8 v6, p1, 0x2
  1460. const/4 v7, 0x2
  1461. if-ne v6, v7, :cond_3
  1462. move v1, v4
  1463. .line 1353
  1464. .local v1, "checkVertical":Z
  1465. :goto_2
  1466. iget-object v6, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionX:[F
  1467. aget v6, v6, p2
  1468. iget-object v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F
  1469. aget v7, v7, p2
  1470. sub-float v2, v6, v7
  1471. .line 1354
  1472. .local v2, "dx":F
  1473. iget-object v6, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionY:[F
  1474. aget v6, v6, p2
  1475. iget-object v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionY:[F
  1476. aget v7, v7, p2
  1477. sub-float v3, v6, v7
  1478. .line 1356
  1479. .local v3, "dy":F
  1480. if-eqz v0, :cond_4
  1481. if-eqz v1, :cond_4
  1482. .line 1357
  1483. mul-float v6, v2, v2
  1484. mul-float v7, v3, v3
  1485. add-float/2addr v6, v7
  1486. iget v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I
  1487. iget v8, p0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I
  1488. mul-int/2addr v7, v8
  1489. int-to-float v7, v7
  1490. cmpl-float v6, v6, v7
  1491. if-gtz v6, :cond_0
  1492. move v4, v5
  1493. goto :goto_0
  1494. .end local v0 # "checkHorizontal":Z
  1495. .end local v1 # "checkVertical":Z
  1496. .end local v2 # "dx":F
  1497. .end local v3 # "dy":F
  1498. :cond_2
  1499. move v0, v5
  1500. .line 1350
  1501. goto :goto_1
  1502. .restart local v0 # "checkHorizontal":Z
  1503. :cond_3
  1504. move v1, v5
  1505. .line 1351
  1506. goto :goto_2
  1507. .line 1358
  1508. .restart local v1 # "checkVertical":Z
  1509. .restart local v2 # "dx":F
  1510. .restart local v3 # "dy":F
  1511. :cond_4
  1512. if-eqz v0, :cond_5
  1513. .line 1359
  1514. invoke-static {v2}, Ljava/lang/Math;->abs(F)F
  1515. move-result v6
  1516. iget v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I
  1517. int-to-float v7, v7
  1518. cmpl-float v6, v6, v7
  1519. if-gtz v6, :cond_0
  1520. move v4, v5
  1521. goto :goto_0
  1522. .line 1360
  1523. :cond_5
  1524. if-eqz v1, :cond_6
  1525. .line 1361
  1526. invoke-static {v3}, Ljava/lang/Math;->abs(F)F
  1527. move-result v6
  1528. iget v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I
  1529. int-to-float v7, v7
  1530. cmpl-float v6, v6, v7
  1531. if-gtz v6, :cond_0
  1532. move v4, v5
  1533. goto :goto_0
  1534. :cond_6
  1535. move v4, v5
  1536. .line 1363
  1537. goto :goto_0
  1538. .end method
  1539. .method public continueSettling(Z)Z
  1540. .locals 9
  1541. .param p1, "deferCallbacks" # Z
  1542. .prologue
  1543. const/4 v8, 0x2
  1544. const/4 v7, 0x0
  1545. .line 723
  1546. iget v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I
  1547. if-ne v0, v8, :cond_5
  1548. .line 724
  1549. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  1550. invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->computeScrollOffset()Z
  1551. move-result v6
  1552. .line 725
  1553. .local v6, "keepGoing":Z
  1554. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  1555. invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->getCurrX()I
  1556. move-result v2
  1557. .line 726
  1558. .local v2, "x":I
  1559. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  1560. invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->getCurrY()I
  1561. move-result v3
  1562. .line 727
  1563. .local v3, "y":I
  1564. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  1565. invoke-virtual {v0}, Landroid/view/View;->getLeft()I
  1566. move-result v0
  1567. sub-int v4, v2, v0
  1568. .line 728
  1569. .local v4, "dx":I
  1570. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  1571. invoke-virtual {v0}, Landroid/view/View;->getTop()I
  1572. move-result v0
  1573. sub-int v5, v3, v0
  1574. .line 730
  1575. .local v5, "dy":I
  1576. if-eqz v4, :cond_0
  1577. .line 731
  1578. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  1579. invoke-static {v0, v4}, Landroid/support/v4/view/ViewCompat;->offsetLeftAndRight(Landroid/view/View;I)V
  1580. .line 733
  1581. :cond_0
  1582. if-eqz v5, :cond_1
  1583. .line 734
  1584. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  1585. invoke-static {v0, v5}, Landroid/support/v4/view/ViewCompat;->offsetTopAndBottom(Landroid/view/View;I)V
  1586. .line 737
  1587. :cond_1
  1588. if-nez v4, :cond_2
  1589. if-eqz v5, :cond_3
  1590. .line 738
  1591. :cond_2
  1592. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback;
  1593. iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  1594. invoke-virtual/range {v0 .. v5}, Landroid/support/v4/widget/ViewDragHelper$Callback;->onViewPositionChanged(Landroid/view/View;IIII)V
  1595. .line 741
  1596. :cond_3
  1597. if-eqz v6, :cond_4
  1598. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  1599. invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->getFinalX()I
  1600. move-result v0
  1601. if-ne v2, v0, :cond_4
  1602. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  1603. invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->getFinalY()I
  1604. move-result v0
  1605. if-ne v3, v0, :cond_4
  1606. .line 744
  1607. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  1608. invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->abortAnimation()V
  1609. .line 745
  1610. const/4 v6, 0x0
  1611. .line 748
  1612. :cond_4
  1613. if-nez v6, :cond_5
  1614. .line 749
  1615. if-eqz p1, :cond_6
  1616. .line 750
  1617. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mParentView:Landroid/view/ViewGroup;
  1618. iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mSetIdleRunnable:Ljava/lang/Runnable;
  1619. invoke-virtual {v0, v1}, Landroid/view/ViewGroup;->post(Ljava/lang/Runnable;)Z
  1620. .line 757
  1621. .end local v2 # "x":I
  1622. .end local v3 # "y":I
  1623. .end local v4 # "dx":I
  1624. .end local v5 # "dy":I
  1625. .end local v6 # "keepGoing":Z
  1626. :cond_5
  1627. :goto_0
  1628. iget v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I
  1629. if-ne v0, v8, :cond_7
  1630. const/4 v0, 0x1
  1631. :goto_1
  1632. return v0
  1633. .line 752
  1634. .restart local v2 # "x":I
  1635. .restart local v3 # "y":I
  1636. .restart local v4 # "dx":I
  1637. .restart local v5 # "dy":I
  1638. .restart local v6 # "keepGoing":Z
  1639. :cond_6
  1640. invoke-virtual {p0, v7}, Landroid/support/v4/widget/ViewDragHelper;->setDragState(I)V
  1641. goto :goto_0
  1642. .end local v2 # "x":I
  1643. .end local v3 # "y":I
  1644. .end local v4 # "dx":I
  1645. .end local v5 # "dy":I
  1646. .end local v6 # "keepGoing":Z
  1647. :cond_7
  1648. move v0, v7
  1649. .line 757
  1650. goto :goto_1
  1651. .end method
  1652. .method public findTopChildUnder(II)Landroid/view/View;
  1653. .locals 5
  1654. .param p1, "x" # I
  1655. .param p2, "y" # I
  1656. .prologue
  1657. .line 1473
  1658. iget-object v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mParentView:Landroid/view/ViewGroup;
  1659. invoke-virtual {v3}, Landroid/view/ViewGroup;->getChildCount()I
  1660. move-result v1
  1661. .line 1474
  1662. .local v1, "childCount":I
  1663. add-int/lit8 v2, v1, -0x1
  1664. .local v2, "i":I
  1665. :goto_0
  1666. if-ltz v2, :cond_1
  1667. .line 1475
  1668. iget-object v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mParentView:Landroid/view/ViewGroup;
  1669. iget-object v4, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback;
  1670. invoke-virtual {v4, v2}, Landroid/support/v4/widget/ViewDragHelper$Callback;->getOrderedChildIndex(I)I
  1671. move-result v4
  1672. invoke-virtual {v3, v4}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
  1673. move-result-object v0
  1674. .line 1476
  1675. .local v0, "child":Landroid/view/View;
  1676. invoke-virtual {v0}, Landroid/view/View;->getLeft()I
  1677. move-result v3
  1678. if-lt p1, v3, :cond_0
  1679. invoke-virtual {v0}, Landroid/view/View;->getRight()I
  1680. move-result v3
  1681. if-ge p1, v3, :cond_0
  1682. invoke-virtual {v0}, Landroid/view/View;->getTop()I
  1683. move-result v3
  1684. if-lt p2, v3, :cond_0
  1685. invoke-virtual {v0}, Landroid/view/View;->getBottom()I
  1686. move-result v3
  1687. if-ge p2, v3, :cond_0
  1688. .line 1481
  1689. .end local v0 # "child":Landroid/view/View;
  1690. :goto_1
  1691. return-object v0
  1692. .line 1474
  1693. .restart local v0 # "child":Landroid/view/View;
  1694. :cond_0
  1695. add-int/lit8 v2, v2, -0x1
  1696. goto :goto_0
  1697. .line 1481
  1698. .end local v0 # "child":Landroid/view/View;
  1699. :cond_1
  1700. const/4 v0, 0x0
  1701. goto :goto_1
  1702. .end method
  1703. .method public flingCapturedView(IIII)V
  1704. .locals 9
  1705. .param p1, "minLeft" # I
  1706. .param p2, "minTop" # I
  1707. .param p3, "maxLeft" # I
  1708. .param p4, "maxTop" # I
  1709. .prologue
  1710. .line 698
  1711. iget-boolean v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mReleaseInProgress:Z
  1712. if-nez v0, :cond_0
  1713. .line 699
  1714. new-instance v0, Ljava/lang/IllegalStateException;
  1715. const-string v1, "Cannot flingCapturedView outside of a call to Callback#onViewReleased"
  1716. invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
  1717. throw v0
  1718. .line 703
  1719. :cond_0
  1720. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat;
  1721. iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  1722. invoke-virtual {v1}, Landroid/view/View;->getLeft()I
  1723. move-result v1
  1724. iget-object v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  1725. invoke-virtual {v2}, Landroid/view/View;->getTop()I
  1726. move-result v2
  1727. iget-object v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
  1728. iget v4, p0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I
  1729. invoke-static {v3, v4}, Landroid/support/v4/view/VelocityTrackerCompat;->getXVelocity(Landroid/view/VelocityTracker;I)F
  1730. move-result v3
  1731. float-to-int v3, v3
  1732. iget-object v4, p0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
  1733. iget v5, p0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I
  1734. invoke-static {v4, v5}, Landroid/support/v4/view/VelocityTrackerCompat;->getYVelocity(Landroid/view/VelocityTracker;I)F
  1735. move-result v4
  1736. float-to-int v4, v4
  1737. move v5, p1
  1738. move v6, p3
  1739. move v7, p2
  1740. move v8, p4
  1741. invoke-virtual/range {v0 .. v8}, Landroid/support/v4/widget/ScrollerCompat;->fling(IIIIIIII)V
  1742. .line 708
  1743. const/4 v0, 0x2
  1744. invoke-virtual {p0, v0}, Landroid/support/v4/widget/ViewDragHelper;->setDragState(I)V
  1745. .line 709
  1746. return-void
  1747. .end method
  1748. .method public getActivePointerId()I
  1749. .locals 1
  1750. .prologue
  1751. .line 484
  1752. iget v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I
  1753. return v0
  1754. .end method
  1755. .method public getCapturedView()Landroid/view/View;
  1756. .locals 1
  1757. .prologue
  1758. .line 476
  1759. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  1760. return-object v0
  1761. .end method
  1762. .method public getEdgeSize()I
  1763. .locals 1
  1764. .prologue
  1765. .line 449
  1766. iget v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeSize:I
  1767. return v0
  1768. .end method
  1769. .method public getMinVelocity()F
  1770. .locals 1
  1771. .prologue
  1772. .line 413
  1773. iget v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mMinVelocity:F
  1774. return v0
  1775. .end method
  1776. .method public getTouchSlop()I
  1777. .locals 1
  1778. .prologue
  1779. .line 491
  1780. iget v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I
  1781. return v0
  1782. .end method
  1783. .method public getViewDragState()I
  1784. .locals 1
  1785. .prologue
  1786. .line 422
  1787. iget v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I
  1788. return v0
  1789. .end method
  1790. .method public isCapturedViewUnder(II)Z
  1791. .locals 1
  1792. .param p1, "x" # I
  1793. .param p2, "y" # I
  1794. .prologue
  1795. .line 1442
  1796. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  1797. invoke-virtual {p0, v0, p1, p2}, Landroid/support/v4/widget/ViewDragHelper;->isViewUnder(Landroid/view/View;II)Z
  1798. move-result v0
  1799. return v0
  1800. .end method
  1801. .method public isEdgeTouched(I)Z
  1802. .locals 3
  1803. .param p1, "edges" # I
  1804. .prologue
  1805. .line 1376
  1806. iget-object v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialEdgesTouched:[I
  1807. array-length v0, v2
  1808. .line 1377
  1809. .local v0, "count":I
  1810. const/4 v1, 0x0
  1811. .local v1, "i":I
  1812. :goto_0
  1813. if-ge v1, v0, :cond_1
  1814. .line 1378
  1815. invoke-virtual {p0, p1, v1}, Landroid/support/v4/widget/ViewDragHelper;->isEdgeTouched(II)Z
  1816. move-result v2
  1817. if-eqz v2, :cond_0
  1818. .line 1379
  1819. const/4 v2, 0x1
  1820. .line 1382
  1821. :goto_1
  1822. return v2
  1823. .line 1377
  1824. :cond_0
  1825. add-int/lit8 v1, v1, 0x1
  1826. goto :goto_0
  1827. .line 1382
  1828. :cond_1
  1829. const/4 v2, 0x0
  1830. goto :goto_1
  1831. .end method
  1832. .method public isEdgeTouched(II)Z
  1833. .locals 1
  1834. .param p1, "edges" # I
  1835. .param p2, "pointerId" # I
  1836. .prologue
  1837. .line 1396
  1838. invoke-virtual {p0, p2}, Landroid/support/v4/widget/ViewDragHelper;->isPointerDown(I)Z
  1839. move-result v0
  1840. if-eqz v0, :cond_0
  1841. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialEdgesTouched:[I
  1842. aget v0, v0, p2
  1843. and-int/2addr v0, p1
  1844. if-eqz v0, :cond_0
  1845. const/4 v0, 0x1
  1846. :goto_0
  1847. return v0
  1848. :cond_0
  1849. const/4 v0, 0x0
  1850. goto :goto_0
  1851. .end method
  1852. .method public isPointerDown(I)Z
  1853. .locals 3
  1854. .param p1, "pointerId" # I
  1855. .prologue
  1856. const/4 v0, 0x1
  1857. .line 868
  1858. iget v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mPointersDown:I
  1859. shl-int v2, v0, p1
  1860. and-int/2addr v1, v2
  1861. if-eqz v1, :cond_0
  1862. :goto_0
  1863. return v0
  1864. :cond_0
  1865. const/4 v0, 0x0
  1866. goto :goto_0
  1867. .end method
  1868. .method public isViewUnder(Landroid/view/View;II)Z
  1869. .locals 2
  1870. .param p1, "view" # Landroid/view/View;
  1871. .param p2, "x" # I
  1872. .param p3, "y" # I
  1873. .prologue
  1874. const/4 v0, 0x0
  1875. .line 1455
  1876. if-nez p1, :cond_1
  1877. .line 1458
  1878. :cond_0
  1879. :goto_0
  1880. return v0
  1881. :cond_1
  1882. invoke-virtual {p1}, Landroid/view/View;->getLeft()I
  1883. move-result v1
  1884. if-lt p2, v1, :cond_0
  1885. invoke-virtual {p1}, Landroid/view/View;->getRight()I
  1886. move-result v1
  1887. if-ge p2, v1, :cond_0
  1888. invoke-virtual {p1}, Landroid/view/View;->getTop()I
  1889. move-result v1
  1890. if-lt p3, v1, :cond_0
  1891. invoke-virtual {p1}, Landroid/view/View;->getBottom()I
  1892. move-result v1
  1893. if-ge p3, v1, :cond_0
  1894. const/4 v0, 0x1
  1895. goto :goto_0
  1896. .end method
  1897. .method public processTouchEvent(Landroid/view/MotionEvent;)V
  1898. .locals 21
  1899. .param p1, "ev" # Landroid/view/MotionEvent;
  1900. .prologue
  1901. .line 1084
  1902. invoke-static/range {p1 .. p1}, Landroid/support/v4/view/MotionEventCompat;->getActionMasked(Landroid/view/MotionEvent;)I
  1903. move-result v3
  1904. .line 1085
  1905. .local v3, "action":I
  1906. invoke-static/range {p1 .. p1}, Landroid/support/v4/view/MotionEventCompat;->getActionIndex(Landroid/view/MotionEvent;)I
  1907. move-result v4
  1908. .line 1087
  1909. .local v4, "actionIndex":I
  1910. if-nez v3, :cond_0
  1911. .line 1090
  1912. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/ViewDragHelper;->cancel()V
  1913. .line 1093
  1914. :cond_0
  1915. move-object/from16 v0, p0
  1916. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
  1917. move-object/from16 v19, v0
  1918. if-nez v19, :cond_1
  1919. .line 1094
  1920. invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker;
  1921. move-result-object v19
  1922. move-object/from16 v0, v19
  1923. move-object/from16 v1, p0
  1924. iput-object v0, v1, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
  1925. .line 1096
  1926. :cond_1
  1927. move-object/from16 v0, p0
  1928. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
  1929. move-object/from16 v19, v0
  1930. move-object/from16 v0, v19
  1931. move-object/from16 v1, p1
  1932. invoke-virtual {v0, v1}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V
  1933. .line 1098
  1934. packed-switch v3, :pswitch_data_0
  1935. .line 1239
  1936. :cond_2
  1937. :goto_0
  1938. :pswitch_0
  1939. return-void
  1940. .line 1100
  1941. :pswitch_1
  1942. invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getX()F
  1943. move-result v17
  1944. .line 1101
  1945. .local v17, "x":F
  1946. invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getY()F
  1947. move-result v18
  1948. .line 1102
  1949. .local v18, "y":F
  1950. const/16 v19, 0x0
  1951. move-object/from16 v0, p1
  1952. move/from16 v1, v19
  1953. invoke-static {v0, v1}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I
  1954. move-result v15
  1955. .line 1103
  1956. .local v15, "pointerId":I
  1957. move/from16 v0, v17
  1958. float-to-int v0, v0
  1959. move/from16 v19, v0
  1960. move/from16 v0, v18
  1961. float-to-int v0, v0
  1962. move/from16 v20, v0
  1963. move-object/from16 v0, p0
  1964. move/from16 v1, v19
  1965. move/from16 v2, v20
  1966. invoke-virtual {v0, v1, v2}, Landroid/support/v4/widget/ViewDragHelper;->findTopChildUnder(II)Landroid/view/View;
  1967. move-result-object v16
  1968. .line 1105
  1969. .local v16, "toCapture":Landroid/view/View;
  1970. move-object/from16 v0, p0
  1971. move/from16 v1, v17
  1972. move/from16 v2, v18
  1973. invoke-direct {v0, v1, v2, v15}, Landroid/support/v4/widget/ViewDragHelper;->saveInitialMotion(FFI)V
  1974. .line 1110
  1975. move-object/from16 v0, p0
  1976. move-object/from16 v1, v16
  1977. invoke-virtual {v0, v1, v15}, Landroid/support/v4/widget/ViewDragHelper;->tryCaptureViewForDrag(Landroid/view/View;I)Z
  1978. .line 1112
  1979. move-object/from16 v0, p0
  1980. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mInitialEdgesTouched:[I
  1981. move-object/from16 v19, v0
  1982. aget v7, v19, v15
  1983. .line 1113
  1984. .local v7, "edgesTouched":I
  1985. move-object/from16 v0, p0
  1986. iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mTrackingEdges:I
  1987. move/from16 v19, v0
  1988. and-int v19, v19, v7
  1989. if-eqz v19, :cond_2
  1990. .line 1114
  1991. move-object/from16 v0, p0
  1992. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback;
  1993. move-object/from16 v19, v0
  1994. move-object/from16 v0, p0
  1995. iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mTrackingEdges:I
  1996. move/from16 v20, v0
  1997. and-int v20, v20, v7
  1998. move-object/from16 v0, v19
  1999. move/from16 v1, v20
  2000. invoke-virtual {v0, v1, v15}, Landroid/support/v4/widget/ViewDragHelper$Callback;->onEdgeTouched(II)V
  2001. goto :goto_0
  2002. .line 1120
  2003. .end local v7 # "edgesTouched":I
  2004. .end local v15 # "pointerId":I
  2005. .end local v16 # "toCapture":Landroid/view/View;
  2006. .end local v17 # "x":F
  2007. .end local v18 # "y":F
  2008. :pswitch_2
  2009. move-object/from16 v0, p1
  2010. invoke-static {v0, v4}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I
  2011. move-result v15
  2012. .line 1121
  2013. .restart local v15 # "pointerId":I
  2014. move-object/from16 v0, p1
  2015. invoke-static {v0, v4}, Landroid/support/v4/view/MotionEventCompat;->getX(Landroid/view/MotionEvent;I)F
  2016. move-result v17
  2017. .line 1122
  2018. .restart local v17 # "x":F
  2019. move-object/from16 v0, p1
  2020. invoke-static {v0, v4}, Landroid/support/v4/view/MotionEventCompat;->getY(Landroid/view/MotionEvent;I)F
  2021. move-result v18
  2022. .line 1124
  2023. .restart local v18 # "y":F
  2024. move-object/from16 v0, p0
  2025. move/from16 v1, v17
  2026. move/from16 v2, v18
  2027. invoke-direct {v0, v1, v2, v15}, Landroid/support/v4/widget/ViewDragHelper;->saveInitialMotion(FFI)V
  2028. .line 1127
  2029. move-object/from16 v0, p0
  2030. iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I
  2031. move/from16 v19, v0
  2032. if-nez v19, :cond_3
  2033. .line 1130
  2034. move/from16 v0, v17
  2035. float-to-int v0, v0
  2036. move/from16 v19, v0
  2037. move/from16 v0, v18
  2038. float-to-int v0, v0
  2039. move/from16 v20, v0
  2040. move-object/from16 v0, p0
  2041. move/from16 v1, v19
  2042. move/from16 v2, v20
  2043. invoke-virtual {v0, v1, v2}, Landroid/support/v4/widget/ViewDragHelper;->findTopChildUnder(II)Landroid/view/View;
  2044. move-result-object v16
  2045. .line 1131
  2046. .restart local v16 # "toCapture":Landroid/view/View;
  2047. move-object/from16 v0, p0
  2048. move-object/from16 v1, v16
  2049. invoke-virtual {v0, v1, v15}, Landroid/support/v4/widget/ViewDragHelper;->tryCaptureViewForDrag(Landroid/view/View;I)Z
  2050. .line 1133
  2051. move-object/from16 v0, p0
  2052. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mInitialEdgesTouched:[I
  2053. move-object/from16 v19, v0
  2054. aget v7, v19, v15
  2055. .line 1134
  2056. .restart local v7 # "edgesTouched":I
  2057. move-object/from16 v0, p0
  2058. iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mTrackingEdges:I
  2059. move/from16 v19, v0
  2060. and-int v19, v19, v7
  2061. if-eqz v19, :cond_2
  2062. .line 1135
  2063. move-object/from16 v0, p0
  2064. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback;
  2065. move-object/from16 v19, v0
  2066. move-object/from16 v0, p0
  2067. iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mTrackingEdges:I
  2068. move/from16 v20, v0
  2069. and-int v20, v20, v7
  2070. move-object/from16 v0, v19
  2071. move/from16 v1, v20
  2072. invoke-virtual {v0, v1, v15}, Landroid/support/v4/widget/ViewDragHelper$Callback;->onEdgeTouched(II)V
  2073. goto/16 :goto_0
  2074. .line 1137
  2075. .end local v7 # "edgesTouched":I
  2076. .end local v16 # "toCapture":Landroid/view/View;
  2077. :cond_3
  2078. move/from16 v0, v17
  2079. float-to-int v0, v0
  2080. move/from16 v19, v0
  2081. move/from16 v0, v18
  2082. float-to-int v0, v0
  2083. move/from16 v20, v0
  2084. move-object/from16 v0, p0
  2085. move/from16 v1, v19
  2086. move/from16 v2, v20
  2087. invoke-virtual {v0, v1, v2}, Landroid/support/v4/widget/ViewDragHelper;->isCapturedViewUnder(II)Z
  2088. move-result v19
  2089. if-eqz v19, :cond_2
  2090. .line 1142
  2091. move-object/from16 v0, p0
  2092. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  2093. move-object/from16 v19, v0
  2094. move-object/from16 v0, p0
  2095. move-object/from16 v1, v19
  2096. invoke-virtual {v0, v1, v15}, Landroid/support/v4/widget/ViewDragHelper;->tryCaptureViewForDrag(Landroid/view/View;I)Z
  2097. goto/16 :goto_0
  2098. .line 1148
  2099. .end local v15 # "pointerId":I
  2100. .end local v17 # "x":F
  2101. .end local v18 # "y":F
  2102. :pswitch_3
  2103. move-object/from16 v0, p0
  2104. iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I
  2105. move/from16 v19, v0
  2106. const/16 v20, 0x1
  2107. move/from16 v0, v19
  2108. move/from16 v1, v20
  2109. if-ne v0, v1, :cond_4
  2110. .line 1150
  2111. move-object/from16 v0, p0
  2112. iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I
  2113. move/from16 v19, v0
  2114. move-object/from16 v0, p0
  2115. move/from16 v1, v19
  2116. invoke-direct {v0, v1}, Landroid/support/v4/widget/ViewDragHelper;->isValidPointerForActionMove(I)Z
  2117. move-result v19
  2118. if-eqz v19, :cond_2
  2119. .line 1152
  2120. move-object/from16 v0, p0
  2121. iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I
  2122. move/from16 v19, v0
  2123. move-object/from16 v0, p1
  2124. move/from16 v1, v19
  2125. invoke-static {v0, v1}, Landroid/support/v4/view/MotionEventCompat;->findPointerIndex(Landroid/view/MotionEvent;I)I
  2126. move-result v12
  2127. .line 1153
  2128. .local v12, "index":I
  2129. move-object/from16 v0, p1
  2130. invoke-static {v0, v12}, Landroid/support/v4/view/MotionEventCompat;->getX(Landroid/view/MotionEvent;I)F
  2131. move-result v17
  2132. .line 1154
  2133. .restart local v17 # "x":F
  2134. move-object/from16 v0, p1
  2135. invoke-static {v0, v12}, Landroid/support/v4/view/MotionEventCompat;->getY(Landroid/view/MotionEvent;I)F
  2136. move-result v18
  2137. .line 1155
  2138. .restart local v18 # "y":F
  2139. move-object/from16 v0, p0
  2140. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionX:[F
  2141. move-object/from16 v19, v0
  2142. move-object/from16 v0, p0
  2143. iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I
  2144. move/from16 v20, v0
  2145. aget v19, v19, v20
  2146. sub-float v19, v17, v19
  2147. move/from16 v0, v19
  2148. float-to-int v10, v0
  2149. .line 1156
  2150. .local v10, "idx":I
  2151. move-object/from16 v0, p0
  2152. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionY:[F
  2153. move-object/from16 v19, v0
  2154. move-object/from16 v0, p0
  2155. iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I
  2156. move/from16 v20, v0
  2157. aget v19, v19, v20
  2158. sub-float v19, v18, v19
  2159. move/from16 v0, v19
  2160. float-to-int v11, v0
  2161. .line 1158
  2162. .local v11, "idy":I
  2163. move-object/from16 v0, p0
  2164. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  2165. move-object/from16 v19, v0
  2166. invoke-virtual/range {v19 .. v19}, Landroid/view/View;->getLeft()I
  2167. move-result v19
  2168. add-int v19, v19, v10
  2169. move-object/from16 v0, p0
  2170. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  2171. move-object/from16 v20, v0
  2172. invoke-virtual/range {v20 .. v20}, Landroid/view/View;->getTop()I
  2173. move-result v20
  2174. add-int v20, v20, v11
  2175. move-object/from16 v0, p0
  2176. move/from16 v1, v19
  2177. move/from16 v2, v20
  2178. invoke-direct {v0, v1, v2, v10, v11}, Landroid/support/v4/widget/ViewDragHelper;->dragTo(IIII)V
  2179. .line 1160
  2180. invoke-direct/range {p0 .. p1}, Landroid/support/v4/widget/ViewDragHelper;->saveLastMotion(Landroid/view/MotionEvent;)V
  2181. goto/16 :goto_0
  2182. .line 1163
  2183. .end local v10 # "idx":I
  2184. .end local v11 # "idy":I
  2185. .end local v12 # "index":I
  2186. .end local v17 # "x":F
  2187. .end local v18 # "y":F
  2188. :cond_4
  2189. invoke-static/range {p1 .. p1}, Landroid/support/v4/view/MotionEventCompat;->getPointerCount(Landroid/view/MotionEvent;)I
  2190. move-result v14
  2191. .line 1164
  2192. .local v14, "pointerCount":I
  2193. const/4 v8, 0x0
  2194. .local v8, "i":I
  2195. :goto_1
  2196. if-ge v8, v14, :cond_7
  2197. .line 1165
  2198. move-object/from16 v0, p1
  2199. invoke-static {v0, v8}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I
  2200. move-result v15
  2201. .line 1168
  2202. .restart local v15 # "pointerId":I
  2203. move-object/from16 v0, p0
  2204. invoke-direct {v0, v15}, Landroid/support/v4/widget/ViewDragHelper;->isValidPointerForActionMove(I)Z
  2205. move-result v19
  2206. if-nez v19, :cond_6
  2207. .line 1164
  2208. :cond_5
  2209. add-int/lit8 v8, v8, 0x1
  2210. goto :goto_1
  2211. .line 1170
  2212. :cond_6
  2213. move-object/from16 v0, p1
  2214. invoke-static {v0, v8}, Landroid/support/v4/view/MotionEventCompat;->getX(Landroid/view/MotionEvent;I)F
  2215. move-result v17
  2216. .line 1171
  2217. .restart local v17 # "x":F
  2218. move-object/from16 v0, p1
  2219. invoke-static {v0, v8}, Landroid/support/v4/view/MotionEventCompat;->getY(Landroid/view/MotionEvent;I)F
  2220. move-result v18
  2221. .line 1172
  2222. .restart local v18 # "y":F
  2223. move-object/from16 v0, p0
  2224. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F
  2225. move-object/from16 v19, v0
  2226. aget v19, v19, v15
  2227. sub-float v5, v17, v19
  2228. .line 1173
  2229. .local v5, "dx":F
  2230. move-object/from16 v0, p0
  2231. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionY:[F
  2232. move-object/from16 v19, v0
  2233. aget v19, v19, v15
  2234. sub-float v6, v18, v19
  2235. .line 1175
  2236. .local v6, "dy":F
  2237. move-object/from16 v0, p0
  2238. invoke-direct {v0, v5, v6, v15}, Landroid/support/v4/widget/ViewDragHelper;->reportNewEdgeDrags(FFI)V
  2239. .line 1176
  2240. move-object/from16 v0, p0
  2241. iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I
  2242. move/from16 v19, v0
  2243. const/16 v20, 0x1
  2244. move/from16 v0, v19
  2245. move/from16 v1, v20
  2246. if-ne v0, v1, :cond_8
  2247. .line 1187
  2248. .end local v5 # "dx":F
  2249. .end local v6 # "dy":F
  2250. .end local v15 # "pointerId":I
  2251. .end local v17 # "x":F
  2252. .end local v18 # "y":F
  2253. :cond_7
  2254. :goto_2
  2255. invoke-direct/range {p0 .. p1}, Landroid/support/v4/widget/ViewDragHelper;->saveLastMotion(Landroid/view/MotionEvent;)V
  2256. goto/16 :goto_0
  2257. .line 1181
  2258. .restart local v5 # "dx":F
  2259. .restart local v6 # "dy":F
  2260. .restart local v15 # "pointerId":I
  2261. .restart local v17 # "x":F
  2262. .restart local v18 # "y":F
  2263. :cond_8
  2264. move/from16 v0, v17
  2265. float-to-int v0, v0
  2266. move/from16 v19, v0
  2267. move/from16 v0, v18
  2268. float-to-int v0, v0
  2269. move/from16 v20, v0
  2270. move-object/from16 v0, p0
  2271. move/from16 v1, v19
  2272. move/from16 v2, v20
  2273. invoke-virtual {v0, v1, v2}, Landroid/support/v4/widget/ViewDragHelper;->findTopChildUnder(II)Landroid/view/View;
  2274. move-result-object v16
  2275. .line 1182
  2276. .restart local v16 # "toCapture":Landroid/view/View;
  2277. move-object/from16 v0, p0
  2278. move-object/from16 v1, v16
  2279. invoke-direct {v0, v1, v5, v6}, Landroid/support/v4/widget/ViewDragHelper;->checkTouchSlop(Landroid/view/View;FF)Z
  2280. move-result v19
  2281. if-eqz v19, :cond_5
  2282. move-object/from16 v0, p0
  2283. move-object/from16 v1, v16
  2284. invoke-virtual {v0, v1, v15}, Landroid/support/v4/widget/ViewDragHelper;->tryCaptureViewForDrag(Landroid/view/View;I)Z
  2285. move-result v19
  2286. if-eqz v19, :cond_5
  2287. goto :goto_2
  2288. .line 1193
  2289. .end local v5 # "dx":F
  2290. .end local v6 # "dy":F
  2291. .end local v8 # "i":I
  2292. .end local v14 # "pointerCount":I
  2293. .end local v15 # "pointerId":I
  2294. .end local v16 # "toCapture":Landroid/view/View;
  2295. .end local v17 # "x":F
  2296. .end local v18 # "y":F
  2297. :pswitch_4
  2298. move-object/from16 v0, p1
  2299. invoke-static {v0, v4}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I
  2300. move-result v15
  2301. .line 1194
  2302. .restart local v15 # "pointerId":I
  2303. move-object/from16 v0, p0
  2304. iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I
  2305. move/from16 v19, v0
  2306. const/16 v20, 0x1
  2307. move/from16 v0, v19
  2308. move/from16 v1, v20
  2309. if-ne v0, v1, :cond_c
  2310. move-object/from16 v0, p0
  2311. iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I
  2312. move/from16 v19, v0
  2313. move/from16 v0, v19
  2314. if-ne v15, v0, :cond_c
  2315. .line 1196
  2316. const/4 v13, -0x1
  2317. .line 1197
  2318. .local v13, "newActivePointer":I
  2319. invoke-static/range {p1 .. p1}, Landroid/support/v4/view/MotionEventCompat;->getPointerCount(Landroid/view/MotionEvent;)I
  2320. move-result v14
  2321. .line 1198
  2322. .restart local v14 # "pointerCount":I
  2323. const/4 v8, 0x0
  2324. .restart local v8 # "i":I
  2325. :goto_3
  2326. if-ge v8, v14, :cond_b
  2327. .line 1199
  2328. move-object/from16 v0, p1
  2329. invoke-static {v0, v8}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I
  2330. move-result v9
  2331. .line 1200
  2332. .local v9, "id":I
  2333. move-object/from16 v0, p0
  2334. iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I
  2335. move/from16 v19, v0
  2336. move/from16 v0, v19
  2337. if-ne v9, v0, :cond_a
  2338. .line 1198
  2339. :cond_9
  2340. add-int/lit8 v8, v8, 0x1
  2341. goto :goto_3
  2342. .line 1205
  2343. :cond_a
  2344. move-object/from16 v0, p1
  2345. invoke-static {v0, v8}, Landroid/support/v4/view/MotionEventCompat;->getX(Landroid/view/MotionEvent;I)F
  2346. move-result v17
  2347. .line 1206
  2348. .restart local v17 # "x":F
  2349. move-object/from16 v0, p1
  2350. invoke-static {v0, v8}, Landroid/support/v4/view/MotionEventCompat;->getY(Landroid/view/MotionEvent;I)F
  2351. move-result v18
  2352. .line 1207
  2353. .restart local v18 # "y":F
  2354. move/from16 v0, v17
  2355. float-to-int v0, v0
  2356. move/from16 v19, v0
  2357. move/from16 v0, v18
  2358. float-to-int v0, v0
  2359. move/from16 v20, v0
  2360. move-object/from16 v0, p0
  2361. move/from16 v1, v19
  2362. move/from16 v2, v20
  2363. invoke-virtual {v0, v1, v2}, Landroid/support/v4/widget/ViewDragHelper;->findTopChildUnder(II)Landroid/view/View;
  2364. move-result-object v19
  2365. move-object/from16 v0, p0
  2366. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  2367. move-object/from16 v20, v0
  2368. move-object/from16 v0, v19
  2369. move-object/from16 v1, v20
  2370. if-ne v0, v1, :cond_9
  2371. move-object/from16 v0, p0
  2372. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  2373. move-object/from16 v19, v0
  2374. move-object/from16 v0, p0
  2375. move-object/from16 v1, v19
  2376. invoke-virtual {v0, v1, v9}, Landroid/support/v4/widget/ViewDragHelper;->tryCaptureViewForDrag(Landroid/view/View;I)Z
  2377. move-result v19
  2378. if-eqz v19, :cond_9
  2379. .line 1209
  2380. move-object/from16 v0, p0
  2381. iget v13, v0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I
  2382. .line 1214
  2383. .end local v9 # "id":I
  2384. .end local v17 # "x":F
  2385. .end local v18 # "y":F
  2386. :cond_b
  2387. const/16 v19, -0x1
  2388. move/from16 v0, v19
  2389. if-ne v13, v0, :cond_c
  2390. .line 1216
  2391. invoke-direct/range {p0 .. p0}, Landroid/support/v4/widget/ViewDragHelper;->releaseViewForPointerUp()V
  2392. .line 1219
  2393. .end local v8 # "i":I
  2394. .end local v13 # "newActivePointer":I
  2395. .end local v14 # "pointerCount":I
  2396. :cond_c
  2397. move-object/from16 v0, p0
  2398. invoke-direct {v0, v15}, Landroid/support/v4/widget/ViewDragHelper;->clearMotionHistory(I)V
  2399. goto/16 :goto_0
  2400. .line 1224
  2401. .end local v15 # "pointerId":I
  2402. :pswitch_5
  2403. move-object/from16 v0, p0
  2404. iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I
  2405. move/from16 v19, v0
  2406. const/16 v20, 0x1
  2407. move/from16 v0, v19
  2408. move/from16 v1, v20
  2409. if-ne v0, v1, :cond_d
  2410. .line 1225
  2411. invoke-direct/range {p0 .. p0}, Landroid/support/v4/widget/ViewDragHelper;->releaseViewForPointerUp()V
  2412. .line 1227
  2413. :cond_d
  2414. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/ViewDragHelper;->cancel()V
  2415. goto/16 :goto_0
  2416. .line 1232
  2417. :pswitch_6
  2418. move-object/from16 v0, p0
  2419. iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I
  2420. move/from16 v19, v0
  2421. const/16 v20, 0x1
  2422. move/from16 v0, v19
  2423. move/from16 v1, v20
  2424. if-ne v0, v1, :cond_e
  2425. .line 1233
  2426. const/16 v19, 0x0
  2427. const/16 v20, 0x0
  2428. move-object/from16 v0, p0
  2429. move/from16 v1, v19
  2430. move/from16 v2, v20
  2431. invoke-direct {v0, v1, v2}, Landroid/support/v4/widget/ViewDragHelper;->dispatchViewReleased(FF)V
  2432. .line 1235
  2433. :cond_e
  2434. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/ViewDragHelper;->cancel()V
  2435. goto/16 :goto_0
  2436. .line 1098
  2437. :pswitch_data_0
  2438. .packed-switch 0x0
  2439. :pswitch_1
  2440. :pswitch_5
  2441. :pswitch_3
  2442. :pswitch_6
  2443. :pswitch_0
  2444. :pswitch_2
  2445. :pswitch_4
  2446. .end packed-switch
  2447. .end method
  2448. .method setDragState(I)V
  2449. .locals 2
  2450. .param p1, "state" # I
  2451. .prologue
  2452. .line 872
  2453. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mParentView:Landroid/view/ViewGroup;
  2454. iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mSetIdleRunnable:Ljava/lang/Runnable;
  2455. invoke-virtual {v0, v1}, Landroid/view/ViewGroup;->removeCallbacks(Ljava/lang/Runnable;)Z
  2456. .line 873
  2457. iget v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I
  2458. if-eq v0, p1, :cond_0
  2459. .line 874
  2460. iput p1, p0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I
  2461. .line 875
  2462. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback;
  2463. invoke-virtual {v0, p1}, Landroid/support/v4/widget/ViewDragHelper$Callback;->onViewDragStateChanged(I)V
  2464. .line 876
  2465. iget v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I
  2466. if-nez v0, :cond_0
  2467. .line 877
  2468. const/4 v0, 0x0
  2469. iput-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  2470. .line 880
  2471. :cond_0
  2472. return-void
  2473. .end method
  2474. .method public setEdgeTrackingEnabled(I)V
  2475. .locals 0
  2476. .param p1, "edgeFlags" # I
  2477. .prologue
  2478. .line 438
  2479. iput p1, p0, Landroid/support/v4/widget/ViewDragHelper;->mTrackingEdges:I
  2480. .line 439
  2481. return-void
  2482. .end method
  2483. .method public setMinVelocity(F)V
  2484. .locals 0
  2485. .param p1, "minVel" # F
  2486. .prologue
  2487. .line 402
  2488. iput p1, p0, Landroid/support/v4/widget/ViewDragHelper;->mMinVelocity:F
  2489. .line 403
  2490. return-void
  2491. .end method
  2492. .method public settleCapturedViewAt(II)Z
  2493. .locals 3
  2494. .param p1, "finalLeft" # I
  2495. .param p2, "finalTop" # I
  2496. .prologue
  2497. .line 565
  2498. iget-boolean v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mReleaseInProgress:Z
  2499. if-nez v0, :cond_0
  2500. .line 566
  2501. new-instance v0, Ljava/lang/IllegalStateException;
  2502. const-string v1, "Cannot settleCapturedViewAt outside of a call to Callback#onViewReleased"
  2503. invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
  2504. throw v0
  2505. .line 570
  2506. :cond_0
  2507. iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
  2508. iget v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I
  2509. invoke-static {v0, v1}, Landroid/support/v4/view/VelocityTrackerCompat;->getXVelocity(Landroid/view/VelocityTracker;I)F
  2510. move-result v0
  2511. float-to-int v0, v0
  2512. iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
  2513. iget v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I
  2514. invoke-static {v1, v2}, Landroid/support/v4/view/VelocityTrackerCompat;->getYVelocity(Landroid/view/VelocityTracker;I)F
  2515. move-result v1
  2516. float-to-int v1, v1
  2517. invoke-direct {p0, p1, p2, v0, v1}, Landroid/support/v4/widget/ViewDragHelper;->forceSettleCapturedViewAt(IIII)Z
  2518. move-result v0
  2519. return v0
  2520. .end method
  2521. .method public shouldInterceptTouchEvent(Landroid/view/MotionEvent;)Z
  2522. .locals 26
  2523. .param p1, "ev" # Landroid/view/MotionEvent;
  2524. .prologue
  2525. .line 948
  2526. invoke-static/range {p1 .. p1}, Landroid/support/v4/view/MotionEventCompat;->getActionMasked(Landroid/view/MotionEvent;)I
  2527. move-result v4
  2528. .line 949
  2529. .local v4, "action":I
  2530. invoke-static/range {p1 .. p1}, Landroid/support/v4/view/MotionEventCompat;->getActionIndex(Landroid/view/MotionEvent;)I
  2531. move-result v5
  2532. .line 951
  2533. .local v5, "actionIndex":I
  2534. if-nez v4, :cond_0
  2535. .line 954
  2536. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/ViewDragHelper;->cancel()V
  2537. .line 957
  2538. :cond_0
  2539. move-object/from16 v0, p0
  2540. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
  2541. move-object/from16 v24, v0
  2542. if-nez v24, :cond_1
  2543. .line 958
  2544. invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker;
  2545. move-result-object v24
  2546. move-object/from16 v0, v24
  2547. move-object/from16 v1, p0
  2548. iput-object v0, v1, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
  2549. .line 960
  2550. :cond_1
  2551. move-object/from16 v0, p0
  2552. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
  2553. move-object/from16 v24, v0
  2554. move-object/from16 v0, v24
  2555. move-object/from16 v1, p1
  2556. invoke-virtual {v0, v1}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V
  2557. .line 962
  2558. packed-switch v4, :pswitch_data_0
  2559. .line 1074
  2560. :cond_2
  2561. :goto_0
  2562. :pswitch_0
  2563. move-object/from16 v0, p0
  2564. iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I
  2565. move/from16 v24, v0
  2566. const/16 v25, 0x1
  2567. move/from16 v0, v24
  2568. move/from16 v1, v25
  2569. if-ne v0, v1, :cond_b
  2570. const/16 v24, 0x1
  2571. :goto_1
  2572. return v24
  2573. .line 964
  2574. :pswitch_1
  2575. invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getX()F
  2576. move-result v22
  2577. .line 965
  2578. .local v22, "x":F
  2579. invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getY()F
  2580. move-result v23
  2581. .line 966
  2582. .local v23, "y":F
  2583. const/16 v24, 0x0
  2584. move-object/from16 v0, p1
  2585. move/from16 v1, v24
  2586. invoke-static {v0, v1}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I
  2587. move-result v17
  2588. .line 967
  2589. .local v17, "pointerId":I
  2590. move-object/from16 v0, p0
  2591. move/from16 v1, v22
  2592. move/from16 v2, v23
  2593. move/from16 v3, v17
  2594. invoke-direct {v0, v1, v2, v3}, Landroid/support/v4/widget/ViewDragHelper;->saveInitialMotion(FFI)V
  2595. .line 969
  2596. move/from16 v0, v22
  2597. float-to-int v0, v0
  2598. move/from16 v24, v0
  2599. move/from16 v0, v23
  2600. float-to-int v0, v0
  2601. move/from16 v25, v0
  2602. move-object/from16 v0, p0
  2603. move/from16 v1, v24
  2604. move/from16 v2, v25
  2605. invoke-virtual {v0, v1, v2}, Landroid/support/v4/widget/ViewDragHelper;->findTopChildUnder(II)Landroid/view/View;
  2606. move-result-object v20
  2607. .line 972
  2608. .local v20, "toCapture":Landroid/view/View;
  2609. move-object/from16 v0, p0
  2610. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  2611. move-object/from16 v24, v0
  2612. move-object/from16 v0, v20
  2613. move-object/from16 v1, v24
  2614. if-ne v0, v1, :cond_3
  2615. move-object/from16 v0, p0
  2616. iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I
  2617. move/from16 v24, v0
  2618. const/16 v25, 0x2
  2619. move/from16 v0, v24
  2620. move/from16 v1, v25
  2621. if-ne v0, v1, :cond_3
  2622. .line 973
  2623. move-object/from16 v0, p0
  2624. move-object/from16 v1, v20
  2625. move/from16 v2, v17
  2626. invoke-virtual {v0, v1, v2}, Landroid/support/v4/widget/ViewDragHelper;->tryCaptureViewForDrag(Landroid/view/View;I)Z
  2627. .line 976
  2628. :cond_3
  2629. move-object/from16 v0, p0
  2630. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mInitialEdgesTouched:[I
  2631. move-object/from16 v24, v0
  2632. aget v8, v24, v17
  2633. .line 977
  2634. .local v8, "edgesTouched":I
  2635. move-object/from16 v0, p0
  2636. iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mTrackingEdges:I
  2637. move/from16 v24, v0
  2638. and-int v24, v24, v8
  2639. if-eqz v24, :cond_2
  2640. .line 978
  2641. move-object/from16 v0, p0
  2642. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback;
  2643. move-object/from16 v24, v0
  2644. move-object/from16 v0, p0
  2645. iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mTrackingEdges:I
  2646. move/from16 v25, v0
  2647. and-int v25, v25, v8
  2648. move-object/from16 v0, v24
  2649. move/from16 v1, v25
  2650. move/from16 v2, v17
  2651. invoke-virtual {v0, v1, v2}, Landroid/support/v4/widget/ViewDragHelper$Callback;->onEdgeTouched(II)V
  2652. goto/16 :goto_0
  2653. .line 984
  2654. .end local v8 # "edgesTouched":I
  2655. .end local v17 # "pointerId":I
  2656. .end local v20 # "toCapture":Landroid/view/View;
  2657. .end local v22 # "x":F
  2658. .end local v23 # "y":F
  2659. :pswitch_2
  2660. move-object/from16 v0, p1
  2661. invoke-static {v0, v5}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I
  2662. move-result v17
  2663. .line 985
  2664. .restart local v17 # "pointerId":I
  2665. move-object/from16 v0, p1
  2666. invoke-static {v0, v5}, Landroid/support/v4/view/MotionEventCompat;->getX(Landroid/view/MotionEvent;I)F
  2667. move-result v22
  2668. .line 986
  2669. .restart local v22 # "x":F
  2670. move-object/from16 v0, p1
  2671. invoke-static {v0, v5}, Landroid/support/v4/view/MotionEventCompat;->getY(Landroid/view/MotionEvent;I)F
  2672. move-result v23
  2673. .line 988
  2674. .restart local v23 # "y":F
  2675. move-object/from16 v0, p0
  2676. move/from16 v1, v22
  2677. move/from16 v2, v23
  2678. move/from16 v3, v17
  2679. invoke-direct {v0, v1, v2, v3}, Landroid/support/v4/widget/ViewDragHelper;->saveInitialMotion(FFI)V
  2680. .line 991
  2681. move-object/from16 v0, p0
  2682. iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I
  2683. move/from16 v24, v0
  2684. if-nez v24, :cond_4
  2685. .line 992
  2686. move-object/from16 v0, p0
  2687. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mInitialEdgesTouched:[I
  2688. move-object/from16 v24, v0
  2689. aget v8, v24, v17
  2690. .line 993
  2691. .restart local v8 # "edgesTouched":I
  2692. move-object/from16 v0, p0
  2693. iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mTrackingEdges:I
  2694. move/from16 v24, v0
  2695. and-int v24, v24, v8
  2696. if-eqz v24, :cond_2
  2697. .line 994
  2698. move-object/from16 v0, p0
  2699. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback;
  2700. move-object/from16 v24, v0
  2701. move-object/from16 v0, p0
  2702. iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mTrackingEdges:I
  2703. move/from16 v25, v0
  2704. and-int v25, v25, v8
  2705. move-object/from16 v0, v24
  2706. move/from16 v1, v25
  2707. move/from16 v2, v17
  2708. invoke-virtual {v0, v1, v2}, Landroid/support/v4/widget/ViewDragHelper$Callback;->onEdgeTouched(II)V
  2709. goto/16 :goto_0
  2710. .line 996
  2711. .end local v8 # "edgesTouched":I
  2712. :cond_4
  2713. move-object/from16 v0, p0
  2714. iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I
  2715. move/from16 v24, v0
  2716. const/16 v25, 0x2
  2717. move/from16 v0, v24
  2718. move/from16 v1, v25
  2719. if-ne v0, v1, :cond_2
  2720. .line 998
  2721. move/from16 v0, v22
  2722. float-to-int v0, v0
  2723. move/from16 v24, v0
  2724. move/from16 v0, v23
  2725. float-to-int v0, v0
  2726. move/from16 v25, v0
  2727. move-object/from16 v0, p0
  2728. move/from16 v1, v24
  2729. move/from16 v2, v25
  2730. invoke-virtual {v0, v1, v2}, Landroid/support/v4/widget/ViewDragHelper;->findTopChildUnder(II)Landroid/view/View;
  2731. move-result-object v20
  2732. .line 999
  2733. .restart local v20 # "toCapture":Landroid/view/View;
  2734. move-object/from16 v0, p0
  2735. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  2736. move-object/from16 v24, v0
  2737. move-object/from16 v0, v20
  2738. move-object/from16 v1, v24
  2739. if-ne v0, v1, :cond_2
  2740. .line 1000
  2741. move-object/from16 v0, p0
  2742. move-object/from16 v1, v20
  2743. move/from16 v2, v17
  2744. invoke-virtual {v0, v1, v2}, Landroid/support/v4/widget/ViewDragHelper;->tryCaptureViewForDrag(Landroid/view/View;I)Z
  2745. goto/16 :goto_0
  2746. .line 1007
  2747. .end local v17 # "pointerId":I
  2748. .end local v20 # "toCapture":Landroid/view/View;
  2749. .end local v22 # "x":F
  2750. .end local v23 # "y":F
  2751. :pswitch_3
  2752. move-object/from16 v0, p0
  2753. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F
  2754. move-object/from16 v24, v0
  2755. if-eqz v24, :cond_2
  2756. move-object/from16 v0, p0
  2757. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionY:[F
  2758. move-object/from16 v24, v0
  2759. if-eqz v24, :cond_2
  2760. .line 1010
  2761. invoke-static/range {p1 .. p1}, Landroid/support/v4/view/MotionEventCompat;->getPointerCount(Landroid/view/MotionEvent;)I
  2762. move-result v16
  2763. .line 1011
  2764. .local v16, "pointerCount":I
  2765. const/4 v10, 0x0
  2766. .local v10, "i":I
  2767. :goto_2
  2768. move/from16 v0, v16
  2769. if-ge v10, v0, :cond_8
  2770. .line 1012
  2771. move-object/from16 v0, p1
  2772. invoke-static {v0, v10}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I
  2773. move-result v17
  2774. .line 1015
  2775. .restart local v17 # "pointerId":I
  2776. move-object/from16 v0, p0
  2777. move/from16 v1, v17
  2778. invoke-direct {v0, v1}, Landroid/support/v4/widget/ViewDragHelper;->isValidPointerForActionMove(I)Z
  2779. move-result v24
  2780. if-nez v24, :cond_6
  2781. .line 1011
  2782. :cond_5
  2783. add-int/lit8 v10, v10, 0x1
  2784. goto :goto_2
  2785. .line 1017
  2786. :cond_6
  2787. move-object/from16 v0, p1
  2788. invoke-static {v0, v10}, Landroid/support/v4/view/MotionEventCompat;->getX(Landroid/view/MotionEvent;I)F
  2789. move-result v22
  2790. .line 1018
  2791. .restart local v22 # "x":F
  2792. move-object/from16 v0, p1
  2793. invoke-static {v0, v10}, Landroid/support/v4/view/MotionEventCompat;->getY(Landroid/view/MotionEvent;I)F
  2794. move-result v23
  2795. .line 1019
  2796. .restart local v23 # "y":F
  2797. move-object/from16 v0, p0
  2798. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F
  2799. move-object/from16 v24, v0
  2800. aget v24, v24, v17
  2801. sub-float v6, v22, v24
  2802. .line 1020
  2803. .local v6, "dx":F
  2804. move-object/from16 v0, p0
  2805. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionY:[F
  2806. move-object/from16 v24, v0
  2807. aget v24, v24, v17
  2808. sub-float v7, v23, v24
  2809. .line 1022
  2810. .local v7, "dy":F
  2811. move/from16 v0, v22
  2812. float-to-int v0, v0
  2813. move/from16 v24, v0
  2814. move/from16 v0, v23
  2815. float-to-int v0, v0
  2816. move/from16 v25, v0
  2817. move-object/from16 v0, p0
  2818. move/from16 v1, v24
  2819. move/from16 v2, v25
  2820. invoke-virtual {v0, v1, v2}, Landroid/support/v4/widget/ViewDragHelper;->findTopChildUnder(II)Landroid/view/View;
  2821. move-result-object v20
  2822. .line 1023
  2823. .restart local v20 # "toCapture":Landroid/view/View;
  2824. if-eqz v20, :cond_9
  2825. move-object/from16 v0, p0
  2826. move-object/from16 v1, v20
  2827. invoke-direct {v0, v1, v6, v7}, Landroid/support/v4/widget/ViewDragHelper;->checkTouchSlop(Landroid/view/View;FF)Z
  2828. move-result v24
  2829. if-eqz v24, :cond_9
  2830. const/4 v15, 0x1
  2831. .line 1024
  2832. .local v15, "pastSlop":Z
  2833. :goto_3
  2834. if-eqz v15, :cond_a
  2835. .line 1030
  2836. invoke-virtual/range {v20 .. v20}, Landroid/view/View;->getLeft()I
  2837. move-result v13
  2838. .line 1031
  2839. .local v13, "oldLeft":I
  2840. float-to-int v0, v6
  2841. move/from16 v24, v0
  2842. add-int v18, v13, v24
  2843. .line 1032
  2844. .local v18, "targetLeft":I
  2845. move-object/from16 v0, p0
  2846. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback;
  2847. move-object/from16 v24, v0
  2848. float-to-int v0, v6
  2849. move/from16 v25, v0
  2850. move-object/from16 v0, v24
  2851. move-object/from16 v1, v20
  2852. move/from16 v2, v18
  2853. move/from16 v3, v25
  2854. invoke-virtual {v0, v1, v2, v3}, Landroid/support/v4/widget/ViewDragHelper$Callback;->clampViewPositionHorizontal(Landroid/view/View;II)I
  2855. move-result v11
  2856. .line 1034
  2857. .local v11, "newLeft":I
  2858. invoke-virtual/range {v20 .. v20}, Landroid/view/View;->getTop()I
  2859. move-result v14
  2860. .line 1035
  2861. .local v14, "oldTop":I
  2862. float-to-int v0, v7
  2863. move/from16 v24, v0
  2864. add-int v19, v14, v24
  2865. .line 1036
  2866. .local v19, "targetTop":I
  2867. move-object/from16 v0, p0
  2868. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback;
  2869. move-object/from16 v24, v0
  2870. float-to-int v0, v7
  2871. move/from16 v25, v0
  2872. move-object/from16 v0, v24
  2873. move-object/from16 v1, v20
  2874. move/from16 v2, v19
  2875. move/from16 v3, v25
  2876. invoke-virtual {v0, v1, v2, v3}, Landroid/support/v4/widget/ViewDragHelper$Callback;->clampViewPositionVertical(Landroid/view/View;II)I
  2877. move-result v12
  2878. .line 1038
  2879. .local v12, "newTop":I
  2880. move-object/from16 v0, p0
  2881. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback;
  2882. move-object/from16 v24, v0
  2883. move-object/from16 v0, v24
  2884. move-object/from16 v1, v20
  2885. invoke-virtual {v0, v1}, Landroid/support/v4/widget/ViewDragHelper$Callback;->getViewHorizontalDragRange(Landroid/view/View;)I
  2886. move-result v9
  2887. .line 1040
  2888. .local v9, "horizontalDragRange":I
  2889. move-object/from16 v0, p0
  2890. iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback;
  2891. move-object/from16 v24, v0
  2892. move-object/from16 v0, v24
  2893. move-object/from16 v1, v20
  2894. invoke-virtual {v0, v1}, Landroid/support/v4/widget/ViewDragHelper$Callback;->getViewVerticalDragRange(Landroid/view/View;)I
  2895. move-result v21
  2896. .line 1041
  2897. .local v21, "verticalDragRange":I
  2898. if-eqz v9, :cond_7
  2899. if-lez v9, :cond_a
  2900. if-ne v11, v13, :cond_a
  2901. :cond_7
  2902. if-eqz v21, :cond_8
  2903. if-lez v21, :cond_a
  2904. if-ne v12, v14, :cond_a
  2905. .line 1057
  2906. .end local v6 # "dx":F
  2907. .end local v7 # "dy":F
  2908. .end local v9 # "horizontalDragRange":I
  2909. .end local v11 # "newLeft":I
  2910. .end local v12 # "newTop":I
  2911. .end local v13 # "oldLeft":I
  2912. .end local v14 # "oldTop":I
  2913. .end local v15 # "pastSlop":Z
  2914. .end local v17 # "pointerId":I
  2915. .end local v18 # "targetLeft":I
  2916. .end local v19 # "targetTop":I
  2917. .end local v20 # "toCapture":Landroid/view/View;
  2918. .end local v21 # "verticalDragRange":I
  2919. .end local v22 # "x":F
  2920. .end local v23 # "y":F
  2921. :cond_8
  2922. :goto_4
  2923. invoke-direct/range {p0 .. p1}, Landroid/support/v4/widget/ViewDragHelper;->saveLastMotion(Landroid/view/MotionEvent;)V
  2924. goto/16 :goto_0
  2925. .line 1023
  2926. .restart local v6 # "dx":F
  2927. .restart local v7 # "dy":F
  2928. .restart local v17 # "pointerId":I
  2929. .restart local v20 # "toCapture":Landroid/view/View;
  2930. .restart local v22 # "x":F
  2931. .restart local v23 # "y":F
  2932. :cond_9
  2933. const/4 v15, 0x0
  2934. goto :goto_3
  2935. .line 1047
  2936. .restart local v15 # "pastSlop":Z
  2937. :cond_a
  2938. move-object/from16 v0, p0
  2939. move/from16 v1, v17
  2940. invoke-direct {v0, v6, v7, v1}, Landroid/support/v4/widget/ViewDragHelper;->reportNewEdgeDrags(FFI)V
  2941. .line 1048
  2942. move-object/from16 v0, p0
  2943. iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I
  2944. move/from16 v24, v0
  2945. const/16 v25, 0x1
  2946. move/from16 v0, v24
  2947. move/from16 v1, v25
  2948. if-eq v0, v1, :cond_8
  2949. .line 1053
  2950. if-eqz v15, :cond_5
  2951. move-object/from16 v0, p0
  2952. move-object/from16 v1, v20
  2953. move/from16 v2, v17
  2954. invoke-virtual {v0, v1, v2}, Landroid/support/v4/widget/ViewDragHelper;->tryCaptureViewForDrag(Landroid/view/View;I)Z
  2955. move-result v24
  2956. if-eqz v24, :cond_5
  2957. goto :goto_4
  2958. .line 1062
  2959. .end local v6 # "dx":F
  2960. .end local v7 # "dy":F
  2961. .end local v10 # "i":I
  2962. .end local v15 # "pastSlop":Z
  2963. .end local v16 # "pointerCount":I
  2964. .end local v17 # "pointerId":I
  2965. .end local v20 # "toCapture":Landroid/view/View;
  2966. .end local v22 # "x":F
  2967. .end local v23 # "y":F
  2968. :pswitch_4
  2969. move-object/from16 v0, p1
  2970. invoke-static {v0, v5}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I
  2971. move-result v17
  2972. .line 1063
  2973. .restart local v17 # "pointerId":I
  2974. move-object/from16 v0, p0
  2975. move/from16 v1, v17
  2976. invoke-direct {v0, v1}, Landroid/support/v4/widget/ViewDragHelper;->clearMotionHistory(I)V
  2977. goto/16 :goto_0
  2978. .line 1069
  2979. .end local v17 # "pointerId":I
  2980. :pswitch_5
  2981. invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/ViewDragHelper;->cancel()V
  2982. goto/16 :goto_0
  2983. .line 1074
  2984. :cond_b
  2985. const/16 v24, 0x0
  2986. goto/16 :goto_1
  2987. .line 962
  2988. :pswitch_data_0
  2989. .packed-switch 0x0
  2990. :pswitch_1
  2991. :pswitch_5
  2992. :pswitch_3
  2993. :pswitch_5
  2994. :pswitch_0
  2995. :pswitch_2
  2996. :pswitch_4
  2997. .end packed-switch
  2998. .end method
  2999. .method public smoothSlideViewTo(Landroid/view/View;II)Z
  3000. .locals 3
  3001. .param p1, "child" # Landroid/view/View;
  3002. .param p2, "finalLeft" # I
  3003. .param p3, "finalTop" # I
  3004. .prologue
  3005. const/4 v2, 0x0
  3006. .line 540
  3007. iput-object p1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  3008. .line 541
  3009. const/4 v1, -0x1
  3010. iput v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I
  3011. .line 543
  3012. invoke-direct {p0, p2, p3, v2, v2}, Landroid/support/v4/widget/ViewDragHelper;->forceSettleCapturedViewAt(IIII)Z
  3013. move-result v0
  3014. .line 544
  3015. .local v0, "continueSliding":Z
  3016. if-nez v0, :cond_0
  3017. iget v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I
  3018. if-nez v1, :cond_0
  3019. iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  3020. if-eqz v1, :cond_0
  3021. .line 547
  3022. const/4 v1, 0x0
  3023. iput-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  3024. .line 550
  3025. :cond_0
  3026. return v0
  3027. .end method
  3028. .method tryCaptureViewForDrag(Landroid/view/View;I)Z
  3029. .locals 2
  3030. .param p1, "toCapture" # Landroid/view/View;
  3031. .param p2, "pointerId" # I
  3032. .prologue
  3033. const/4 v0, 0x1
  3034. .line 892
  3035. iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View;
  3036. if-ne p1, v1, :cond_0
  3037. iget v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I
  3038. if-ne v1, p2, :cond_0
  3039. .line 901
  3040. :goto_0
  3041. return v0
  3042. .line 896
  3043. :cond_0
  3044. if-eqz p1, :cond_1
  3045. iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback;
  3046. invoke-virtual {v1, p1, p2}, Landroid/support/v4/widget/ViewDragHelper$Callback;->tryCaptureView(Landroid/view/View;I)Z
  3047. move-result v1
  3048. if-eqz v1, :cond_1
  3049. .line 897
  3050. iput p2, p0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I
  3051. .line 898
  3052. invoke-virtual {p0, p1, p2}, Landroid/support/v4/widget/ViewDragHelper;->captureChildView(Landroid/view/View;I)V
  3053. goto :goto_0
  3054. .line 901
  3055. :cond_1
  3056. const/4 v0, 0x0
  3057. goto :goto_0
  3058. .end method