123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560 |
- .class public Landroid/support/v4/view/NestedScrollingChildHelper;
- .super Ljava/lang/Object;
- .source "NestedScrollingChildHelper.java"
- # instance fields
- .field private mIsNestedScrollingEnabled:Z
- .field private mNestedScrollingParent:Landroid/view/ViewParent;
- .field private mTempNestedScrollConsumed:[I
- .field private final mView:Landroid/view/View;
- # direct methods
- .method public constructor <init>(Landroid/view/View;)V
- .locals 0
- .param p1, "view" # Landroid/view/View;
- .prologue
- .line 46
- invoke-direct {p0}, Ljava/lang/Object;-><init>()V
- .line 47
- iput-object p1, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mView:Landroid/view/View;
- .line 48
- return-void
- .end method
- # virtual methods
- .method public dispatchNestedFling(FFZ)Z
- .locals 2
- .param p1, "velocityX" # F
- .param p2, "velocityY" # F
- .param p3, "consumed" # Z
- .prologue
- .line 234
- invoke-virtual {p0}, Landroid/support/v4/view/NestedScrollingChildHelper;->isNestedScrollingEnabled()Z
- move-result v0
- if-eqz v0, :cond_0
- iget-object v0, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mNestedScrollingParent:Landroid/view/ViewParent;
- if-eqz v0, :cond_0
- .line 235
- iget-object v0, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mNestedScrollingParent:Landroid/view/ViewParent;
- iget-object v1, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mView:Landroid/view/View;
- invoke-static {v0, v1, p1, p2, p3}, Landroid/support/v4/view/ViewParentCompat;->onNestedFling(Landroid/view/ViewParent;Landroid/view/View;FFZ)Z
- move-result v0
- .line 238
- :goto_0
- return v0
- :cond_0
- const/4 v0, 0x0
- goto :goto_0
- .end method
- .method public dispatchNestedPreFling(FF)Z
- .locals 2
- .param p1, "velocityX" # F
- .param p2, "velocityY" # F
- .prologue
- .line 251
- invoke-virtual {p0}, Landroid/support/v4/view/NestedScrollingChildHelper;->isNestedScrollingEnabled()Z
- move-result v0
- if-eqz v0, :cond_0
- iget-object v0, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mNestedScrollingParent:Landroid/view/ViewParent;
- if-eqz v0, :cond_0
- .line 252
- iget-object v0, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mNestedScrollingParent:Landroid/view/ViewParent;
- iget-object v1, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mView:Landroid/view/View;
- invoke-static {v0, v1, p1, p2}, Landroid/support/v4/view/ViewParentCompat;->onNestedPreFling(Landroid/view/ViewParent;Landroid/view/View;FF)Z
- move-result v0
- .line 255
- :goto_0
- return v0
- :cond_0
- const/4 v0, 0x0
- goto :goto_0
- .end method
- .method public dispatchNestedPreScroll(II[I[I)Z
- .locals 6
- .param p1, "dx" # I
- .param p2, "dy" # I
- .param p3, "consumed" # [I
- .param p4, "offsetInWindow" # [I
- .prologue
- const/4 v3, 0x1
- const/4 v2, 0x0
- .line 190
- invoke-virtual {p0}, Landroid/support/v4/view/NestedScrollingChildHelper;->isNestedScrollingEnabled()Z
- move-result v4
- if-eqz v4, :cond_6
- iget-object v4, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mNestedScrollingParent:Landroid/view/ViewParent;
- if-eqz v4, :cond_6
- .line 191
- if-nez p1, :cond_0
- if-eqz p2, :cond_7
- .line 192
- :cond_0
- const/4 v0, 0x0
- .line 193
- .local v0, "startX":I
- const/4 v1, 0x0
- .line 194
- .local v1, "startY":I
- if-eqz p4, :cond_1
- .line 195
- iget-object v4, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mView:Landroid/view/View;
- invoke-virtual {v4, p4}, Landroid/view/View;->getLocationInWindow([I)V
- .line 196
- aget v0, p4, v2
- .line 197
- aget v1, p4, v3
- .line 200
- :cond_1
- if-nez p3, :cond_3
- .line 201
- iget-object v4, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mTempNestedScrollConsumed:[I
- if-nez v4, :cond_2
- .line 202
- const/4 v4, 0x2
- new-array v4, v4, [I
- iput-object v4, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mTempNestedScrollConsumed:[I
- .line 204
- :cond_2
- iget-object p3, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mTempNestedScrollConsumed:[I
- .line 206
- :cond_3
- aput v2, p3, v2
- .line 207
- aput v2, p3, v3
- .line 208
- iget-object v4, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mNestedScrollingParent:Landroid/view/ViewParent;
- iget-object v5, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mView:Landroid/view/View;
- invoke-static {v4, v5, p1, p2, p3}, Landroid/support/v4/view/ViewParentCompat;->onNestedPreScroll(Landroid/view/ViewParent;Landroid/view/View;II[I)V
- .line 210
- if-eqz p4, :cond_4
- .line 211
- iget-object v4, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mView:Landroid/view/View;
- invoke-virtual {v4, p4}, Landroid/view/View;->getLocationInWindow([I)V
- .line 212
- aget v4, p4, v2
- sub-int/2addr v4, v0
- aput v4, p4, v2
- .line 213
- aget v4, p4, v3
- sub-int/2addr v4, v1
- aput v4, p4, v3
- .line 215
- :cond_4
- aget v4, p3, v2
- if-nez v4, :cond_5
- aget v4, p3, v3
- if-eqz v4, :cond_6
- :cond_5
- move v2, v3
- .line 221
- .end local v0 # "startX":I
- .end local v1 # "startY":I
- :cond_6
- :goto_0
- return v2
- .line 216
- :cond_7
- if-eqz p4, :cond_6
- .line 217
- aput v2, p4, v2
- .line 218
- aput v2, p4, v3
- goto :goto_0
- .end method
- .method public dispatchNestedScroll(IIII[I)Z
- .locals 10
- .param p1, "dxConsumed" # I
- .param p2, "dyConsumed" # I
- .param p3, "dxUnconsumed" # I
- .param p4, "dyUnconsumed" # I
- .param p5, "offsetInWindow" # [I
- .prologue
- const/4 v8, 0x1
- const/4 v9, 0x0
- .line 152
- invoke-virtual {p0}, Landroid/support/v4/view/NestedScrollingChildHelper;->isNestedScrollingEnabled()Z
- move-result v0
- if-eqz v0, :cond_4
- iget-object v0, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mNestedScrollingParent:Landroid/view/ViewParent;
- if-eqz v0, :cond_4
- .line 153
- if-nez p1, :cond_0
- if-nez p2, :cond_0
- if-nez p3, :cond_0
- if-eqz p4, :cond_3
- .line 154
- :cond_0
- const/4 v6, 0x0
- .line 155
- .local v6, "startX":I
- const/4 v7, 0x0
- .line 156
- .local v7, "startY":I
- if-eqz p5, :cond_1
- .line 157
- iget-object v0, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mView:Landroid/view/View;
- invoke-virtual {v0, p5}, Landroid/view/View;->getLocationInWindow([I)V
- .line 158
- aget v6, p5, v9
- .line 159
- aget v7, p5, v8
- .line 162
- :cond_1
- iget-object v0, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mNestedScrollingParent:Landroid/view/ViewParent;
- iget-object v1, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mView:Landroid/view/View;
- move v2, p1
- move v3, p2
- move v4, p3
- move v5, p4
- invoke-static/range {v0 .. v5}, Landroid/support/v4/view/ViewParentCompat;->onNestedScroll(Landroid/view/ViewParent;Landroid/view/View;IIII)V
- .line 165
- if-eqz p5, :cond_2
- .line 166
- iget-object v0, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mView:Landroid/view/View;
- invoke-virtual {v0, p5}, Landroid/view/View;->getLocationInWindow([I)V
- .line 167
- aget v0, p5, v9
- sub-int/2addr v0, v6
- aput v0, p5, v9
- .line 168
- aget v0, p5, v8
- sub-int/2addr v0, v7
- aput v0, p5, v8
- :cond_2
- move v0, v8
- .line 177
- .end local v6 # "startX":I
- .end local v7 # "startY":I
- :goto_0
- return v0
- .line 171
- :cond_3
- if-eqz p5, :cond_4
- .line 173
- aput v9, p5, v9
- .line 174
- aput v9, p5, v8
- :cond_4
- move v0, v9
- .line 177
- goto :goto_0
- .end method
- .method public hasNestedScrollingParent()Z
- .locals 1
- .prologue
- .line 90
- iget-object v0, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mNestedScrollingParent:Landroid/view/ViewParent;
- if-eqz v0, :cond_0
- const/4 v0, 0x1
- :goto_0
- return v0
- :cond_0
- const/4 v0, 0x0
- goto :goto_0
- .end method
- .method public isNestedScrollingEnabled()Z
- .locals 1
- .prologue
- .line 76
- iget-boolean v0, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mIsNestedScrollingEnabled:Z
- return v0
- .end method
- .method public onDetachedFromWindow()V
- .locals 1
- .prologue
- .line 267
- iget-object v0, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mView:Landroid/view/View;
- invoke-static {v0}, Landroid/support/v4/view/ViewCompat;->stopNestedScroll(Landroid/view/View;)V
- .line 268
- return-void
- .end method
- .method public onStopNestedScroll(Landroid/view/View;)V
- .locals 1
- .param p1, "child" # Landroid/view/View;
- .prologue
- .line 280
- iget-object v0, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mView:Landroid/view/View;
- invoke-static {v0}, Landroid/support/v4/view/ViewCompat;->stopNestedScroll(Landroid/view/View;)V
- .line 281
- return-void
- .end method
- .method public setNestedScrollingEnabled(Z)V
- .locals 1
- .param p1, "enabled" # Z
- .prologue
- .line 60
- iget-boolean v0, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mIsNestedScrollingEnabled:Z
- if-eqz v0, :cond_0
- .line 61
- iget-object v0, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mView:Landroid/view/View;
- invoke-static {v0}, Landroid/support/v4/view/ViewCompat;->stopNestedScroll(Landroid/view/View;)V
- .line 63
- :cond_0
- iput-boolean p1, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mIsNestedScrollingEnabled:Z
- .line 64
- return-void
- .end method
- .method public startNestedScroll(I)Z
- .locals 4
- .param p1, "axes" # I
- .prologue
- const/4 v2, 0x1
- .line 105
- invoke-virtual {p0}, Landroid/support/v4/view/NestedScrollingChildHelper;->hasNestedScrollingParent()Z
- move-result v3
- if-eqz v3, :cond_0
- .line 124
- :goto_0
- return v2
- .line 109
- :cond_0
- invoke-virtual {p0}, Landroid/support/v4/view/NestedScrollingChildHelper;->isNestedScrollingEnabled()Z
- move-result v3
- if-eqz v3, :cond_3
- .line 110
- iget-object v3, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mView:Landroid/view/View;
- invoke-virtual {v3}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
- move-result-object v1
- .line 111
- .local v1, "p":Landroid/view/ViewParent;
- iget-object v0, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mView:Landroid/view/View;
- .line 112
- .local v0, "child":Landroid/view/View;
- :goto_1
- if-eqz v1, :cond_3
- .line 113
- iget-object v3, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mView:Landroid/view/View;
- invoke-static {v1, v0, v3, p1}, Landroid/support/v4/view/ViewParentCompat;->onStartNestedScroll(Landroid/view/ViewParent;Landroid/view/View;Landroid/view/View;I)Z
- move-result v3
- if-eqz v3, :cond_1
- .line 114
- iput-object v1, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mNestedScrollingParent:Landroid/view/ViewParent;
- .line 115
- iget-object v3, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mView:Landroid/view/View;
- invoke-static {v1, v0, v3, p1}, Landroid/support/v4/view/ViewParentCompat;->onNestedScrollAccepted(Landroid/view/ViewParent;Landroid/view/View;Landroid/view/View;I)V
- goto :goto_0
- .line 118
- :cond_1
- instance-of v3, v1, Landroid/view/View;
- if-eqz v3, :cond_2
- move-object v0, v1
- .line 119
- check-cast v0, Landroid/view/View;
- .line 121
- :cond_2
- invoke-interface {v1}, Landroid/view/ViewParent;->getParent()Landroid/view/ViewParent;
- move-result-object v1
- goto :goto_1
- .line 124
- .end local v0 # "child":Landroid/view/View;
- .end local v1 # "p":Landroid/view/ViewParent;
- :cond_3
- const/4 v2, 0x0
- goto :goto_0
- .end method
- .method public stopNestedScroll()V
- .locals 2
- .prologue
- .line 135
- iget-object v0, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mNestedScrollingParent:Landroid/view/ViewParent;
- if-eqz v0, :cond_0
- .line 136
- iget-object v0, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mNestedScrollingParent:Landroid/view/ViewParent;
- iget-object v1, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mView:Landroid/view/View;
- invoke-static {v0, v1}, Landroid/support/v4/view/ViewParentCompat;->onStopNestedScroll(Landroid/view/ViewParent;Landroid/view/View;)V
- .line 137
- const/4 v0, 0x0
- iput-object v0, p0, Landroid/support/v4/view/NestedScrollingChildHelper;->mNestedScrollingParent:Landroid/view/ViewParent;
- .line 139
- :cond_0
- return-void
- .end method
|