.class public abstract Lcom/forum/im/animator/BaseItemAnimator; .super Landroidx/recyclerview/widget/SimpleItemAnimator; .source "BaseItemAnimator.java" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/forum/im/animator/BaseItemAnimator$MoveInfo;, Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;, Lcom/forum/im/animator/BaseItemAnimator$VpaListenerAdapter; } .end annotation # static fields .field private static final DEBUG:Z = false # instance fields .field protected mAddAnimations:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroidx/recyclerview/widget/RecyclerView$ViewHolder;", ">;" } .end annotation .end field .field private mAdditionsList:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Ljava/util/ArrayList<", "Landroidx/recyclerview/widget/RecyclerView$ViewHolder;", ">;>;" } .end annotation .end field .field protected mChangeAnimations:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroidx/recyclerview/widget/RecyclerView$ViewHolder;", ">;" } .end annotation .end field .field private mChangesList:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Ljava/util/ArrayList<", "Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;", ">;>;" } .end annotation .end field .field protected mMoveAnimations:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroidx/recyclerview/widget/RecyclerView$ViewHolder;", ">;" } .end annotation .end field .field private mMovesList:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Ljava/util/ArrayList<", "Lcom/forum/im/animator/BaseItemAnimator$MoveInfo;", ">;>;" } .end annotation .end field .field private mPendingAdditions:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroidx/recyclerview/widget/RecyclerView$ViewHolder;", ">;" } .end annotation .end field .field private mPendingChanges:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;", ">;" } .end annotation .end field .field private mPendingMoves:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Lcom/forum/im/animator/BaseItemAnimator$MoveInfo;", ">;" } .end annotation .end field .field private mPendingRemovals:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroidx/recyclerview/widget/RecyclerView$ViewHolder;", ">;" } .end annotation .end field .field protected mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; .field protected mRemoveAnimations:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroidx/recyclerview/widget/RecyclerView$ViewHolder;", ">;" } .end annotation .end field # direct methods .method static bridge synthetic -$$Nest$fgetmAdditionsList(Lcom/forum/im/animator/BaseItemAnimator;)Ljava/util/ArrayList; .registers 1 iget-object p0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mAdditionsList:Ljava/util/ArrayList; return-object p0 .end method .method static bridge synthetic -$$Nest$fgetmChangesList(Lcom/forum/im/animator/BaseItemAnimator;)Ljava/util/ArrayList; .registers 1 iget-object p0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mChangesList:Ljava/util/ArrayList; return-object p0 .end method .method static bridge synthetic -$$Nest$fgetmMovesList(Lcom/forum/im/animator/BaseItemAnimator;)Ljava/util/ArrayList; .registers 1 iget-object p0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mMovesList:Ljava/util/ArrayList; return-object p0 .end method .method static bridge synthetic -$$Nest$manimateChangeImpl(Lcom/forum/im/animator/BaseItemAnimator;Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;)V .registers 2 invoke-direct {p0, p1}, Lcom/forum/im/animator/BaseItemAnimator;->animateChangeImpl(Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;)V return-void .end method .method static bridge synthetic -$$Nest$manimateMoveImpl(Lcom/forum/im/animator/BaseItemAnimator;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;IIII)V .registers 6 invoke-direct/range {p0 .. p5}, Lcom/forum/im/animator/BaseItemAnimator;->animateMoveImpl(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;IIII)V return-void .end method .method public constructor (Landroidx/recyclerview/widget/RecyclerView;)V .registers 3 .line 28 invoke-direct {p0}, Landroidx/recyclerview/widget/SimpleItemAnimator;->()V .line 37 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingRemovals:Ljava/util/ArrayList; .line 38 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingAdditions:Ljava/util/ArrayList; .line 39 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingMoves:Ljava/util/ArrayList; .line 40 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingChanges:Ljava/util/ArrayList; .line 42 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mAdditionsList:Ljava/util/ArrayList; .line 43 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mMovesList:Ljava/util/ArrayList; .line 44 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mChangesList:Ljava/util/ArrayList; .line 46 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mAddAnimations:Ljava/util/ArrayList; .line 47 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mMoveAnimations:Ljava/util/ArrayList; .line 48 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mRemoveAnimations:Ljava/util/ArrayList; .line 49 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mChangeAnimations:Ljava/util/ArrayList; .line 29 iput-object p1, p0, Lcom/forum/im/animator/BaseItemAnimator;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; return-void .end method .method private animateChangeImpl(Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;)V .registers 7 .line 300 iget-object v0, p1, Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;->oldHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; const/4 v1, 0x0 if-nez v0, :cond_7 move-object v0, v1 goto :goto_9 .line 301 :cond_7 iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; .line 302 :goto_9 iget-object v2, p1, Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;->newHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; if-eqz v2, :cond_f .line 303 iget-object v1, v2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; :cond_f const/4 v2, 0x0 if-eqz v0, :cond_47 .line 305 invoke-static {v0}, Landroidx/core/view/ViewCompat;->animate(Landroid/view/View;)Landroidx/core/view/ViewPropertyAnimatorCompat; move-result-object v0 .line 306 invoke-virtual {p0}, Lcom/forum/im/animator/BaseItemAnimator;->getChangeDuration()J move-result-wide v3 .line 305 invoke-virtual {v0, v3, v4}, Landroidx/core/view/ViewPropertyAnimatorCompat;->setDuration(J)Landroidx/core/view/ViewPropertyAnimatorCompat; move-result-object v0 .line 307 iget-object v3, p0, Lcom/forum/im/animator/BaseItemAnimator;->mChangeAnimations:Ljava/util/ArrayList; iget-object v4, p1, Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;->oldHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; invoke-virtual {v3, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 308 iget v3, p1, Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;->toX:I iget v4, p1, Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;->fromX:I sub-int/2addr v3, v4 int-to-float v3, v3 invoke-virtual {v0, v3}, Landroidx/core/view/ViewPropertyAnimatorCompat;->translationX(F)Landroidx/core/view/ViewPropertyAnimatorCompat; .line 309 iget v3, p1, Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;->toY:I iget v4, p1, Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;->fromY:I sub-int/2addr v3, v4 int-to-float v3, v3 invoke-virtual {v0, v3}, Landroidx/core/view/ViewPropertyAnimatorCompat;->translationY(F)Landroidx/core/view/ViewPropertyAnimatorCompat; .line 310 invoke-virtual {v0, v2}, Landroidx/core/view/ViewPropertyAnimatorCompat;->alpha(F)Landroidx/core/view/ViewPropertyAnimatorCompat; move-result-object v3 new-instance v4, Lcom/forum/im/animator/BaseItemAnimator$5; invoke-direct {v4, p0, p1, v0}, Lcom/forum/im/animator/BaseItemAnimator$5;->(Lcom/forum/im/animator/BaseItemAnimator;Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;Landroidx/core/view/ViewPropertyAnimatorCompat;)V invoke-virtual {v3, v4}, Landroidx/core/view/ViewPropertyAnimatorCompat;->setListener(Landroidx/core/view/ViewPropertyAnimatorListener;)Landroidx/core/view/ViewPropertyAnimatorCompat; move-result-object v0 .line 326 invoke-virtual {v0}, Landroidx/core/view/ViewPropertyAnimatorCompat;->start()V :cond_47 if-eqz v1, :cond_76 .line 329 invoke-static {v1}, Landroidx/core/view/ViewCompat;->animate(Landroid/view/View;)Landroidx/core/view/ViewPropertyAnimatorCompat; move-result-object v0 .line 330 iget-object v3, p0, Lcom/forum/im/animator/BaseItemAnimator;->mChangeAnimations:Ljava/util/ArrayList; iget-object v4, p1, Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;->newHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; invoke-virtual {v3, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 331 invoke-virtual {v0, v2}, Landroidx/core/view/ViewPropertyAnimatorCompat;->translationX(F)Landroidx/core/view/ViewPropertyAnimatorCompat; move-result-object v3 invoke-virtual {v3, v2}, Landroidx/core/view/ViewPropertyAnimatorCompat;->translationY(F)Landroidx/core/view/ViewPropertyAnimatorCompat; move-result-object v2 invoke-virtual {p0}, Lcom/forum/im/animator/BaseItemAnimator;->getChangeDuration()J move-result-wide v3 invoke-virtual {v2, v3, v4}, Landroidx/core/view/ViewPropertyAnimatorCompat;->setDuration(J)Landroidx/core/view/ViewPropertyAnimatorCompat; move-result-object v2 const/high16 v3, 0x3f800000 # 1.0f .line 332 invoke-virtual {v2, v3}, Landroidx/core/view/ViewPropertyAnimatorCompat;->alpha(F)Landroidx/core/view/ViewPropertyAnimatorCompat; move-result-object v2 new-instance v3, Lcom/forum/im/animator/BaseItemAnimator$6; invoke-direct {v3, p0, p1, v0, v1}, Lcom/forum/im/animator/BaseItemAnimator$6;->(Lcom/forum/im/animator/BaseItemAnimator;Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;Landroidx/core/view/ViewPropertyAnimatorCompat;Landroid/view/View;)V invoke-virtual {v2, v3}, Landroidx/core/view/ViewPropertyAnimatorCompat;->setListener(Landroidx/core/view/ViewPropertyAnimatorListener;)Landroidx/core/view/ViewPropertyAnimatorCompat; move-result-object p1 .line 347 invoke-virtual {p1}, Landroidx/core/view/ViewPropertyAnimatorCompat;->start()V :cond_76 return-void .end method .method private animateMoveImpl(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;IIII)V .registers 13 .line 232 iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; sub-int v4, p4, p2 sub-int v5, p5, p3 const/4 p2, 0x0 if-eqz v4, :cond_10 .line 236 invoke-static {v0}, Landroidx/core/view/ViewCompat;->animate(Landroid/view/View;)Landroidx/core/view/ViewPropertyAnimatorCompat; move-result-object p3 invoke-virtual {p3, p2}, Landroidx/core/view/ViewPropertyAnimatorCompat;->translationX(F)Landroidx/core/view/ViewPropertyAnimatorCompat; :cond_10 if-eqz v5, :cond_19 .line 239 invoke-static {v0}, Landroidx/core/view/ViewCompat;->animate(Landroid/view/View;)Landroidx/core/view/ViewPropertyAnimatorCompat; move-result-object p3 invoke-virtual {p3, p2}, Landroidx/core/view/ViewPropertyAnimatorCompat;->translationY(F)Landroidx/core/view/ViewPropertyAnimatorCompat; .line 244 :cond_19 invoke-static {v0}, Landroidx/core/view/ViewCompat;->animate(Landroid/view/View;)Landroidx/core/view/ViewPropertyAnimatorCompat; move-result-object v6 .line 245 iget-object p2, p0, Lcom/forum/im/animator/BaseItemAnimator;->mMoveAnimations:Ljava/util/ArrayList; invoke-virtual {p2, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 246 invoke-virtual {p0}, Lcom/forum/im/animator/BaseItemAnimator;->getMoveDuration()J move-result-wide p2 invoke-virtual {v6, p2, p3}, Landroidx/core/view/ViewPropertyAnimatorCompat;->setDuration(J)Landroidx/core/view/ViewPropertyAnimatorCompat; move-result-object p2 new-instance p3, Lcom/forum/im/animator/BaseItemAnimator$4; move-object v1, p3 move-object v2, p0 move-object v3, p1 invoke-direct/range {v1 .. v6}, Lcom/forum/im/animator/BaseItemAnimator$4;->(Lcom/forum/im/animator/BaseItemAnimator;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;IILandroidx/core/view/ViewPropertyAnimatorCompat;)V invoke-virtual {p2, p3}, Landroidx/core/view/ViewPropertyAnimatorCompat;->setListener(Landroidx/core/view/ViewPropertyAnimatorListener;)Landroidx/core/view/ViewPropertyAnimatorCompat; move-result-object p1 .line 267 invoke-virtual {p1}, Landroidx/core/view/ViewPropertyAnimatorCompat;->start()V return-void .end method .method private endChangeAnimation(Ljava/util/List;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .registers 6 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/List<", "Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;", ">;", "Landroidx/recyclerview/widget/RecyclerView$ViewHolder;", ")V" } .end annotation .line 352 invoke-interface {p1}, Ljava/util/List;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_6 if-ltz v0, :cond_22 .line 353 invoke-interface {p1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo; .line 354 invoke-direct {p0, v1, p2}, Lcom/forum/im/animator/BaseItemAnimator;->endChangeAnimationIfNecessary(Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z move-result v2 if-eqz v2, :cond_1f .line 355 iget-object v2, v1, Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;->oldHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; if-nez v2, :cond_1f iget-object v2, v1, Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;->newHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; if-nez v2, :cond_1f .line 356 invoke-interface {p1, v1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z :cond_1f add-int/lit8 v0, v0, -0x1 goto :goto_6 :cond_22 return-void .end method .method private endChangeAnimationIfNecessary(Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;)V .registers 3 .line 363 iget-object v0, p1, Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;->oldHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; if-eqz v0, :cond_9 .line 364 iget-object v0, p1, Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;->oldHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; invoke-direct {p0, p1, v0}, Lcom/forum/im/animator/BaseItemAnimator;->endChangeAnimationIfNecessary(Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z .line 366 :cond_9 iget-object v0, p1, Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;->newHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; if-eqz v0, :cond_12 .line 367 iget-object v0, p1, Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;->newHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; invoke-direct {p0, p1, v0}, Lcom/forum/im/animator/BaseItemAnimator;->endChangeAnimationIfNecessary(Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z :cond_12 return-void .end method .method private endChangeAnimationIfNecessary(Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z .registers 7 .line 372 iget-object v0, p1, Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;->newHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; const/4 v1, 0x1 const/4 v2, 0x0 const/4 v3, 0x0 if-ne v0, p2, :cond_a .line 373 iput-object v2, p1, Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;->newHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; goto :goto_11 .line 374 :cond_a iget-object v0, p1, Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;->oldHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; if-ne v0, p2, :cond_27 .line 375 iput-object v2, p1, Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;->oldHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move v3, v1 .line 380 :goto_11 iget-object p1, p2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; const/high16 v0, 0x3f800000 # 1.0f invoke-static {p1, v0}, Landroidx/core/view/ViewCompat;->setAlpha(Landroid/view/View;F)V .line 381 iget-object p1, p2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; const/4 v0, 0x0 invoke-static {p1, v0}, Landroidx/core/view/ViewCompat;->setTranslationX(Landroid/view/View;F)V .line 382 iget-object p1, p2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-static {p1, v0}, Landroidx/core/view/ViewCompat;->setTranslationY(Landroid/view/View;F)V .line 383 invoke-virtual {p0, p2, v3}, Lcom/forum/im/animator/BaseItemAnimator;->dispatchChangeFinished(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Z)V return v1 :cond_27 return v3 .end method .method private resetAnimation(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .registers 2 .line 475 invoke-virtual {p0, p1}, Lcom/forum/im/animator/BaseItemAnimator;->endAnimation(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V return-void .end method # virtual methods .method public animateAdd(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z .registers 4 .line 187 invoke-direct {p0, p1}, Lcom/forum/im/animator/BaseItemAnimator;->resetAnimation(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 188 invoke-virtual {p0, p1}, Lcom/forum/im/animator/BaseItemAnimator;->prepareAnimateAdd(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 189 iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; const/4 v1, 0x0 invoke-static {v0, v1}, Landroidx/core/view/ViewCompat;->setAlpha(Landroid/view/View;F)V .line 190 iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingAdditions:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z const/4 p1, 0x1 return p1 .end method .method protected abstract animateAddImpl(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .end method .method public animateChange(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;IIII)Z .registers 22 move-object v6, p0 move-object/from16 v1, p1 move-object/from16 v0, p2 if-ne v1, v0, :cond_17 move-object v0, p0 move-object/from16 v1, p1 move/from16 v2, p3 move/from16 v3, p4 move/from16 v4, p5 move/from16 v5, p6 .line 276 invoke-virtual/range {v0 .. v5}, Lcom/forum/im/animator/BaseItemAnimator;->animateMove(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;IIII)Z move-result v0 return v0 .line 278 :cond_17 iget-object v2, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-static {v2}, Landroidx/core/view/ViewCompat;->getTranslationX(Landroid/view/View;)F move-result v2 .line 279 iget-object v3, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-static {v3}, Landroidx/core/view/ViewCompat;->getTranslationY(Landroid/view/View;)F move-result v3 .line 280 iget-object v4, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-static {v4}, Landroidx/core/view/ViewCompat;->getAlpha(Landroid/view/View;)F move-result v4 .line 281 invoke-direct/range {p0 .. p1}, Lcom/forum/im/animator/BaseItemAnimator;->resetAnimation(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V sub-int v5, p5, p3 int-to-float v5, v5 sub-float/2addr v5, v2 float-to-int v5, v5 sub-int v7, p6, p4 int-to-float v7, v7 sub-float/2addr v7, v3 float-to-int v7, v7 .line 285 iget-object v8, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-static {v8, v2}, Landroidx/core/view/ViewCompat;->setTranslationX(Landroid/view/View;F)V .line 286 iget-object v2, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-static {v2, v3}, Landroidx/core/view/ViewCompat;->setTranslationY(Landroid/view/View;F)V .line 287 iget-object v2, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-static {v2, v4}, Landroidx/core/view/ViewCompat;->setAlpha(Landroid/view/View;F)V if-eqz v0, :cond_5e .line 290 invoke-direct {p0, v0}, Lcom/forum/im/animator/BaseItemAnimator;->resetAnimation(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 291 iget-object v2, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; neg-int v3, v5 int-to-float v3, v3 invoke-static {v2, v3}, Landroidx/core/view/ViewCompat;->setTranslationX(Landroid/view/View;F)V .line 292 iget-object v2, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; neg-int v3, v7 int-to-float v3, v3 invoke-static {v2, v3}, Landroidx/core/view/ViewCompat;->setTranslationY(Landroid/view/View;F)V .line 293 iget-object v2, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; const/4 v3, 0x0 invoke-static {v2, v3}, Landroidx/core/view/ViewCompat;->setAlpha(Landroid/view/View;F)V .line 295 :cond_5e iget-object v2, v6, Lcom/forum/im/animator/BaseItemAnimator;->mPendingChanges:Ljava/util/ArrayList; new-instance v3, Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo; const/4 v14, 0x0 move-object v7, v3 move-object/from16 v8, p1 move-object/from16 v9, p2 move/from16 v10, p3 move/from16 v11, p4 move/from16 v12, p5 move/from16 v13, p6 invoke-direct/range {v7 .. v14}, Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;->(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;IIIILcom/forum/im/animator/BaseItemAnimator-IA;)V invoke-virtual {v2, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z const/4 v0, 0x1 return v0 .end method .method public animateMove(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;IIII)Z .registers 14 .line 210 iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; int-to-float p2, p2 .line 211 iget-object v1, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-static {v1}, Landroidx/core/view/ViewCompat;->getTranslationX(Landroid/view/View;)F move-result v1 add-float/2addr p2, v1 float-to-int v3, p2 int-to-float p2, p3 .line 212 iget-object p3, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-static {p3}, Landroidx/core/view/ViewCompat;->getTranslationY(Landroid/view/View;)F move-result p3 add-float/2addr p2, p3 float-to-int v4, p2 .line 213 invoke-direct {p0, p1}, Lcom/forum/im/animator/BaseItemAnimator;->resetAnimation(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V sub-int p2, p4, v3 sub-int p3, p5, v4 if-nez p2, :cond_24 if-nez p3, :cond_24 .line 217 invoke-virtual {p0, p1}, Lcom/forum/im/animator/BaseItemAnimator;->dispatchMoveFinished(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V const/4 p1, 0x0 return p1 :cond_24 if-eqz p2, :cond_2b neg-int p2, p2 int-to-float p2, p2 .line 221 invoke-static {v0, p2}, Landroidx/core/view/ViewCompat;->setTranslationX(Landroid/view/View;F)V :cond_2b if-eqz p3, :cond_32 neg-int p2, p3 int-to-float p2, p2 .line 224 invoke-static {v0, p2}, Landroidx/core/view/ViewCompat;->setTranslationY(Landroid/view/View;F)V .line 226 :cond_32 iget-object p2, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingMoves:Ljava/util/ArrayList; new-instance p3, Lcom/forum/im/animator/BaseItemAnimator$MoveInfo; const/4 v7, 0x0 move-object v1, p3 move-object v2, p1 move v5, p4 move v6, p5 invoke-direct/range {v1 .. v7}, Lcom/forum/im/animator/BaseItemAnimator$MoveInfo;->(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;IIIILcom/forum/im/animator/BaseItemAnimator-IA;)V invoke-virtual {p2, p3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z const/4 p1, 0x1 return p1 .end method .method public animateRemove(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z .registers 3 .line 200 invoke-direct {p0, p1}, Lcom/forum/im/animator/BaseItemAnimator;->resetAnimation(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 201 iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingRemovals:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z const/4 p1, 0x1 return p1 .end method .method protected abstract animateRemoveImpl(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .end method .method cancelAll(Ljava/util/List;)V .registers 4 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/List<", "Landroidx/recyclerview/widget/RecyclerView$ViewHolder;", ">;)V" } .end annotation .line 591 invoke-interface {p1}, Ljava/util/List;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_6 if-ltz v0, :cond_1a .line 592 invoke-interface {p1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder; iget-object v1, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-static {v1}, Landroidx/core/view/ViewCompat;->animate(Landroid/view/View;)Landroidx/core/view/ViewPropertyAnimatorCompat; move-result-object v1 invoke-virtual {v1}, Landroidx/core/view/ViewPropertyAnimatorCompat;->cancel()V add-int/lit8 v0, v0, -0x1 goto :goto_6 :cond_1a return-void .end method .method protected dispatchFinishedWhenDone()V .registers 2 .line 499 invoke-virtual {p0}, Lcom/forum/im/animator/BaseItemAnimator;->isRunning()Z move-result v0 if-nez v0, :cond_9 .line 500 invoke-virtual {p0}, Lcom/forum/im/animator/BaseItemAnimator;->dispatchAnimationsFinished()V :cond_9 return-void .end method .method public endAnimation(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .registers 9 .line 389 iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; .line 391 invoke-static {v0}, Landroidx/core/view/ViewCompat;->animate(Landroid/view/View;)Landroidx/core/view/ViewPropertyAnimatorCompat; move-result-object v1 invoke-virtual {v1}, Landroidx/core/view/ViewPropertyAnimatorCompat;->cancel()V .line 393 iget-object v1, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingMoves:Ljava/util/ArrayList; invoke-virtual {v1}, Ljava/util/ArrayList;->size()I move-result v1 add-int/lit8 v1, v1, -0x1 :goto_11 const/4 v2, 0x0 if-ltz v1, :cond_31 .line 394 iget-object v3, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingMoves:Ljava/util/ArrayList; invoke-virtual {v3, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Lcom/forum/im/animator/BaseItemAnimator$MoveInfo; .line 395 iget-object v3, v3, Lcom/forum/im/animator/BaseItemAnimator$MoveInfo;->holder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; if-ne v3, p1, :cond_2e .line 396 invoke-static {v0, v2}, Landroidx/core/view/ViewCompat;->setTranslationY(Landroid/view/View;F)V .line 397 invoke-static {v0, v2}, Landroidx/core/view/ViewCompat;->setTranslationX(Landroid/view/View;F)V .line 398 invoke-virtual {p0, p1}, Lcom/forum/im/animator/BaseItemAnimator;->dispatchMoveFinished(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 399 iget-object v2, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingMoves:Ljava/util/ArrayList; invoke-virtual {v2, v1}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object; :cond_2e add-int/lit8 v1, v1, -0x1 goto :goto_11 .line 402 :cond_31 iget-object v1, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingChanges:Ljava/util/ArrayList; invoke-direct {p0, v1, p1}, Lcom/forum/im/animator/BaseItemAnimator;->endChangeAnimation(Ljava/util/List;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 403 iget-object v1, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingRemovals:Ljava/util/ArrayList; invoke-virtual {v1, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z move-result v1 const/high16 v3, 0x3f800000 # 1.0f if-eqz v1, :cond_46 .line 404 invoke-static {v0, v3}, Landroidx/core/view/ViewCompat;->setAlpha(Landroid/view/View;F)V .line 405 invoke-virtual {p0, p1}, Lcom/forum/im/animator/BaseItemAnimator;->dispatchRemoveFinished(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 407 :cond_46 iget-object v1, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingAdditions:Ljava/util/ArrayList; invoke-virtual {v1, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z move-result v1 if-eqz v1, :cond_54 .line 408 invoke-static {v0, v3}, Landroidx/core/view/ViewCompat;->setAlpha(Landroid/view/View;F)V .line 409 invoke-virtual {p0, p1}, Lcom/forum/im/animator/BaseItemAnimator;->dispatchAddFinished(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 412 :cond_54 iget-object v1, p0, Lcom/forum/im/animator/BaseItemAnimator;->mChangesList:Ljava/util/ArrayList; invoke-virtual {v1}, Ljava/util/ArrayList;->size()I move-result v1 add-int/lit8 v1, v1, -0x1 :goto_5c if-ltz v1, :cond_77 .line 413 iget-object v4, p0, Lcom/forum/im/animator/BaseItemAnimator;->mChangesList:Ljava/util/ArrayList; invoke-virtual {v4, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v4 check-cast v4, Ljava/util/ArrayList; .line 414 invoke-direct {p0, v4, p1}, Lcom/forum/im/animator/BaseItemAnimator;->endChangeAnimation(Ljava/util/List;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 415 invoke-virtual {v4}, Ljava/util/ArrayList;->isEmpty()Z move-result v4 if-eqz v4, :cond_74 .line 416 iget-object v4, p0, Lcom/forum/im/animator/BaseItemAnimator;->mChangesList:Ljava/util/ArrayList; invoke-virtual {v4, v1}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object; :cond_74 add-int/lit8 v1, v1, -0x1 goto :goto_5c .line 419 :cond_77 iget-object v1, p0, Lcom/forum/im/animator/BaseItemAnimator;->mMovesList:Ljava/util/ArrayList; invoke-virtual {v1}, Ljava/util/ArrayList;->size()I move-result v1 add-int/lit8 v1, v1, -0x1 :goto_7f if-ltz v1, :cond_b9 .line 420 iget-object v4, p0, Lcom/forum/im/animator/BaseItemAnimator;->mMovesList:Ljava/util/ArrayList; invoke-virtual {v4, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v4 check-cast v4, Ljava/util/ArrayList; .line 421 invoke-virtual {v4}, Ljava/util/ArrayList;->size()I move-result v5 add-int/lit8 v5, v5, -0x1 :goto_8f if-ltz v5, :cond_b6 .line 422 invoke-virtual {v4, v5}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v6 check-cast v6, Lcom/forum/im/animator/BaseItemAnimator$MoveInfo; .line 423 iget-object v6, v6, Lcom/forum/im/animator/BaseItemAnimator$MoveInfo;->holder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; if-ne v6, p1, :cond_b3 .line 424 invoke-static {v0, v2}, Landroidx/core/view/ViewCompat;->setTranslationY(Landroid/view/View;F)V .line 425 invoke-static {v0, v2}, Landroidx/core/view/ViewCompat;->setTranslationX(Landroid/view/View;F)V .line 426 invoke-virtual {p0, p1}, Lcom/forum/im/animator/BaseItemAnimator;->dispatchMoveFinished(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 427 invoke-virtual {v4, v5}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object; .line 428 invoke-virtual {v4}, Ljava/util/ArrayList;->isEmpty()Z move-result v4 if-eqz v4, :cond_b6 .line 429 iget-object v4, p0, Lcom/forum/im/animator/BaseItemAnimator;->mMovesList:Ljava/util/ArrayList; invoke-virtual {v4, v1}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object; goto :goto_b6 :cond_b3 add-int/lit8 v5, v5, -0x1 goto :goto_8f :cond_b6 :goto_b6 add-int/lit8 v1, v1, -0x1 goto :goto_7f .line 435 :cond_b9 iget-object v1, p0, Lcom/forum/im/animator/BaseItemAnimator;->mAdditionsList:Ljava/util/ArrayList; invoke-virtual {v1}, Ljava/util/ArrayList;->size()I move-result v1 add-int/lit8 v1, v1, -0x1 :goto_c1 if-ltz v1, :cond_e5 .line 436 iget-object v2, p0, Lcom/forum/im/animator/BaseItemAnimator;->mAdditionsList:Ljava/util/ArrayList; invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Ljava/util/ArrayList; .line 437 invoke-virtual {v2, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z move-result v4 if-eqz v4, :cond_e2 .line 438 invoke-static {v0, v3}, Landroidx/core/view/ViewCompat;->setAlpha(Landroid/view/View;F)V .line 439 invoke-virtual {p0, p1}, Lcom/forum/im/animator/BaseItemAnimator;->dispatchAddFinished(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 440 invoke-virtual {v2}, Ljava/util/ArrayList;->isEmpty()Z move-result v2 if-eqz v2, :cond_e2 .line 441 iget-object v2, p0, Lcom/forum/im/animator/BaseItemAnimator;->mAdditionsList:Ljava/util/ArrayList; invoke-virtual {v2, v1}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object; :cond_e2 add-int/lit8 v1, v1, -0x1 goto :goto_c1 .line 448 :cond_e5 iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mRemoveAnimations:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z .line 454 iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mAddAnimations:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z .line 460 iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mChangeAnimations:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z .line 466 iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mMoveAnimations:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z .line 470 invoke-virtual {p0}, Lcom/forum/im/animator/BaseItemAnimator;->dispatchFinishedWhenDone()V return-void .end method .method public endAnimations()V .registers 8 .line 506 iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingMoves:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_8 const/4 v1, 0x0 if-ltz v0, :cond_2a .line 508 iget-object v2, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingMoves:Ljava/util/ArrayList; invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Lcom/forum/im/animator/BaseItemAnimator$MoveInfo; .line 509 iget-object v3, v2, Lcom/forum/im/animator/BaseItemAnimator$MoveInfo;->holder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; iget-object v3, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; .line 510 invoke-static {v3, v1}, Landroidx/core/view/ViewCompat;->setTranslationY(Landroid/view/View;F)V .line 511 invoke-static {v3, v1}, Landroidx/core/view/ViewCompat;->setTranslationX(Landroid/view/View;F)V .line 512 iget-object v1, v2, Lcom/forum/im/animator/BaseItemAnimator$MoveInfo;->holder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; invoke-virtual {p0, v1}, Lcom/forum/im/animator/BaseItemAnimator;->dispatchMoveFinished(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 513 iget-object v1, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingMoves:Ljava/util/ArrayList; invoke-virtual {v1, v0}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object; add-int/lit8 v0, v0, -0x1 goto :goto_8 .line 515 :cond_2a iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingRemovals:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_32 if-ltz v0, :cond_47 .line 517 iget-object v2, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingRemovals:Ljava/util/ArrayList; invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .line 518 invoke-virtual {p0, v2}, Lcom/forum/im/animator/BaseItemAnimator;->dispatchRemoveFinished(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 519 iget-object v2, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingRemovals:Ljava/util/ArrayList; invoke-virtual {v2, v0}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object; add-int/lit8 v0, v0, -0x1 goto :goto_32 .line 521 :cond_47 iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingAdditions:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_4f const/high16 v2, 0x3f800000 # 1.0f if-ltz v0, :cond_6b .line 523 iget-object v3, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingAdditions:Ljava/util/ArrayList; invoke-virtual {v3, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .line 524 iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; .line 525 invoke-static {v4, v2}, Landroidx/core/view/ViewCompat;->setAlpha(Landroid/view/View;F)V .line 526 invoke-virtual {p0, v3}, Lcom/forum/im/animator/BaseItemAnimator;->dispatchAddFinished(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 527 iget-object v2, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingAdditions:Ljava/util/ArrayList; invoke-virtual {v2, v0}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object; add-int/lit8 v0, v0, -0x1 goto :goto_4f .line 529 :cond_6b iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingChanges:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_73 if-ltz v0, :cond_83 .line 531 iget-object v3, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingChanges:Ljava/util/ArrayList; invoke-virtual {v3, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo; invoke-direct {p0, v3}, Lcom/forum/im/animator/BaseItemAnimator;->endChangeAnimationIfNecessary(Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;)V add-int/lit8 v0, v0, -0x1 goto :goto_73 .line 533 :cond_83 iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingChanges:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V .line 534 invoke-virtual {p0}, Lcom/forum/im/animator/BaseItemAnimator;->isRunning()Z move-result v0 if-nez v0, :cond_8f return-void .line 538 :cond_8f iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mMovesList:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_97 if-ltz v0, :cond_d2 .line 540 iget-object v3, p0, Lcom/forum/im/animator/BaseItemAnimator;->mMovesList:Ljava/util/ArrayList; invoke-virtual {v3, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Ljava/util/ArrayList; .line 541 invoke-virtual {v3}, Ljava/util/ArrayList;->size()I move-result v4 add-int/lit8 v4, v4, -0x1 :goto_a7 if-ltz v4, :cond_cf .line 543 invoke-virtual {v3, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v5 check-cast v5, Lcom/forum/im/animator/BaseItemAnimator$MoveInfo; .line 544 iget-object v6, v5, Lcom/forum/im/animator/BaseItemAnimator$MoveInfo;->holder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .line 545 iget-object v6, v6, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; .line 546 invoke-static {v6, v1}, Landroidx/core/view/ViewCompat;->setTranslationY(Landroid/view/View;F)V .line 547 invoke-static {v6, v1}, Landroidx/core/view/ViewCompat;->setTranslationX(Landroid/view/View;F)V .line 548 iget-object v5, v5, Lcom/forum/im/animator/BaseItemAnimator$MoveInfo;->holder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; invoke-virtual {p0, v5}, Lcom/forum/im/animator/BaseItemAnimator;->dispatchMoveFinished(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 549 invoke-virtual {v3, v4}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object; .line 550 invoke-virtual {v3}, Ljava/util/ArrayList;->isEmpty()Z move-result v5 if-eqz v5, :cond_cc .line 551 iget-object v5, p0, Lcom/forum/im/animator/BaseItemAnimator;->mMovesList:Ljava/util/ArrayList; invoke-virtual {v5, v3}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z :cond_cc add-int/lit8 v4, v4, -0x1 goto :goto_a7 :cond_cf add-int/lit8 v0, v0, -0x1 goto :goto_97 .line 555 :cond_d2 iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mAdditionsList:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_da if-ltz v0, :cond_10e .line 557 iget-object v1, p0, Lcom/forum/im/animator/BaseItemAnimator;->mAdditionsList:Ljava/util/ArrayList; invoke-virtual {v1, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/util/ArrayList; .line 558 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I move-result v3 add-int/lit8 v3, v3, -0x1 :goto_ea if-ltz v3, :cond_10b .line 560 invoke-virtual {v1, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v4 check-cast v4, Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .line 561 iget-object v5, v4, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; .line 562 invoke-static {v5, v2}, Landroidx/core/view/ViewCompat;->setAlpha(Landroid/view/View;F)V .line 563 invoke-virtual {p0, v4}, Lcom/forum/im/animator/BaseItemAnimator;->dispatchAddFinished(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 564 invoke-virtual {v1, v3}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object; .line 565 invoke-virtual {v1}, Ljava/util/ArrayList;->isEmpty()Z move-result v4 if-eqz v4, :cond_108 .line 566 iget-object v4, p0, Lcom/forum/im/animator/BaseItemAnimator;->mAdditionsList:Ljava/util/ArrayList; invoke-virtual {v4, v1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z :cond_108 add-int/lit8 v3, v3, -0x1 goto :goto_ea :cond_10b add-int/lit8 v0, v0, -0x1 goto :goto_da .line 570 :cond_10e iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mChangesList:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_116 if-ltz v0, :cond_142 .line 572 iget-object v1, p0, Lcom/forum/im/animator/BaseItemAnimator;->mChangesList:Ljava/util/ArrayList; invoke-virtual {v1, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/util/ArrayList; .line 573 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I move-result v2 add-int/lit8 v2, v2, -0x1 :goto_126 if-ltz v2, :cond_13f .line 575 invoke-virtual {v1, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo; invoke-direct {p0, v3}, Lcom/forum/im/animator/BaseItemAnimator;->endChangeAnimationIfNecessary(Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;)V .line 576 invoke-virtual {v1}, Ljava/util/ArrayList;->isEmpty()Z move-result v3 if-eqz v3, :cond_13c .line 577 iget-object v3, p0, Lcom/forum/im/animator/BaseItemAnimator;->mChangesList:Ljava/util/ArrayList; invoke-virtual {v3, v1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z :cond_13c add-int/lit8 v2, v2, -0x1 goto :goto_126 :cond_13f add-int/lit8 v0, v0, -0x1 goto :goto_116 .line 582 :cond_142 iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mRemoveAnimations:Ljava/util/ArrayList; invoke-virtual {p0, v0}, Lcom/forum/im/animator/BaseItemAnimator;->cancelAll(Ljava/util/List;)V .line 583 iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mMoveAnimations:Ljava/util/ArrayList; invoke-virtual {p0, v0}, Lcom/forum/im/animator/BaseItemAnimator;->cancelAll(Ljava/util/List;)V .line 584 iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mAddAnimations:Ljava/util/ArrayList; invoke-virtual {p0, v0}, Lcom/forum/im/animator/BaseItemAnimator;->cancelAll(Ljava/util/List;)V .line 585 iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mChangeAnimations:Ljava/util/ArrayList; invoke-virtual {p0, v0}, Lcom/forum/im/animator/BaseItemAnimator;->cancelAll(Ljava/util/List;)V .line 587 invoke-virtual {p0}, Lcom/forum/im/animator/BaseItemAnimator;->dispatchAnimationsFinished()V return-void .end method .method public isRunning()Z .registers 2 .line 480 iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingAdditions:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z move-result v0 if-eqz v0, :cond_5b iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingChanges:Ljava/util/ArrayList; .line 481 invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z move-result v0 if-eqz v0, :cond_5b iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingMoves:Ljava/util/ArrayList; .line 482 invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z move-result v0 if-eqz v0, :cond_5b iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingRemovals:Ljava/util/ArrayList; .line 483 invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z move-result v0 if-eqz v0, :cond_5b iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mMoveAnimations:Ljava/util/ArrayList; .line 484 invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z move-result v0 if-eqz v0, :cond_5b iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mRemoveAnimations:Ljava/util/ArrayList; .line 485 invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z move-result v0 if-eqz v0, :cond_5b iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mAddAnimations:Ljava/util/ArrayList; .line 486 invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z move-result v0 if-eqz v0, :cond_5b iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mChangeAnimations:Ljava/util/ArrayList; .line 487 invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z move-result v0 if-eqz v0, :cond_5b iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mMovesList:Ljava/util/ArrayList; .line 488 invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z move-result v0 if-eqz v0, :cond_5b iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mAdditionsList:Ljava/util/ArrayList; .line 489 invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z move-result v0 if-eqz v0, :cond_5b iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mChangesList:Ljava/util/ArrayList; .line 490 invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z move-result v0 if-nez v0, :cond_59 goto :goto_5b :cond_59 const/4 v0, 0x0 goto :goto_5c :cond_5b :goto_5b const/4 v0, 0x1 :goto_5c return v0 .end method .method protected abstract prepareAnimateAdd(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .end method .method public runPendingAnimations()V .registers 11 .line 97 iget-object v0, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingRemovals:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z move-result v0 .line 98 iget-object v1, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingMoves:Ljava/util/ArrayList; invoke-virtual {v1}, Ljava/util/ArrayList;->isEmpty()Z move-result v1 .line 99 iget-object v2, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingChanges:Ljava/util/ArrayList; invoke-virtual {v2}, Ljava/util/ArrayList;->isEmpty()Z move-result v2 .line 100 iget-object v3, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingAdditions:Ljava/util/ArrayList; invoke-virtual {v3}, Ljava/util/ArrayList;->isEmpty()Z move-result v3 if-eqz v0, :cond_21 if-eqz v1, :cond_21 if-eqz v3, :cond_21 if-eqz v2, :cond_21 return-void .line 106 :cond_21 iget-object v4, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingRemovals:Ljava/util/ArrayList; invoke-virtual {v4}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v4 :goto_27 invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z move-result v5 if-eqz v5, :cond_37 invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v5 check-cast v5, Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .line 107 invoke-virtual {p0, v5}, Lcom/forum/im/animator/BaseItemAnimator;->animateRemoveImpl(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V goto :goto_27 .line 109 :cond_37 iget-object v4, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingRemovals:Ljava/util/ArrayList; invoke-virtual {v4}, Ljava/util/ArrayList;->clear()V const/4 v4, 0x0 if-nez v1, :cond_6f .line 112 new-instance v5, Ljava/util/ArrayList; invoke-direct {v5}, Ljava/util/ArrayList;->()V .line 113 iget-object v6, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingMoves:Ljava/util/ArrayList; invoke-virtual {v5, v6}, Ljava/util/ArrayList;->addAll(Ljava/util/Collection;)Z .line 114 iget-object v6, p0, Lcom/forum/im/animator/BaseItemAnimator;->mMovesList:Ljava/util/ArrayList; invoke-virtual {v6, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 115 iget-object v6, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingMoves:Ljava/util/ArrayList; invoke-virtual {v6}, Ljava/util/ArrayList;->clear()V .line 116 new-instance v6, Lcom/forum/im/animator/BaseItemAnimator$1; invoke-direct {v6, p0, v5}, Lcom/forum/im/animator/BaseItemAnimator$1;->(Lcom/forum/im/animator/BaseItemAnimator;Ljava/util/ArrayList;)V if-nez v0, :cond_6c .line 128 invoke-virtual {v5, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v5 check-cast v5, Lcom/forum/im/animator/BaseItemAnimator$MoveInfo; iget-object v5, v5, Lcom/forum/im/animator/BaseItemAnimator$MoveInfo;->holder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; iget-object v5, v5, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; .line 129 invoke-virtual {p0}, Lcom/forum/im/animator/BaseItemAnimator;->getRemoveDuration()J move-result-wide v7 invoke-static {v5, v6, v7, v8}, Landroidx/core/view/ViewCompat;->postOnAnimationDelayed(Landroid/view/View;Ljava/lang/Runnable;J)V goto :goto_6f .line 131 :cond_6c invoke-interface {v6}, Ljava/lang/Runnable;->run()V :cond_6f :goto_6f if-nez v2, :cond_a1 .line 136 new-instance v5, Ljava/util/ArrayList; invoke-direct {v5}, Ljava/util/ArrayList;->()V .line 137 iget-object v6, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingChanges:Ljava/util/ArrayList; invoke-virtual {v5, v6}, Ljava/util/ArrayList;->addAll(Ljava/util/Collection;)Z .line 138 iget-object v6, p0, Lcom/forum/im/animator/BaseItemAnimator;->mChangesList:Ljava/util/ArrayList; invoke-virtual {v6, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 139 iget-object v6, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingChanges:Ljava/util/ArrayList; invoke-virtual {v6}, Ljava/util/ArrayList;->clear()V .line 140 new-instance v6, Lcom/forum/im/animator/BaseItemAnimator$2; invoke-direct {v6, p0, v5}, Lcom/forum/im/animator/BaseItemAnimator$2;->(Lcom/forum/im/animator/BaseItemAnimator;Ljava/util/ArrayList;)V if-nez v0, :cond_9e .line 151 invoke-virtual {v5, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v5 check-cast v5, Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo; iget-object v5, v5, Lcom/forum/im/animator/BaseItemAnimator$ChangeInfo;->oldHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .line 152 iget-object v5, v5, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-virtual {p0}, Lcom/forum/im/animator/BaseItemAnimator;->getRemoveDuration()J move-result-wide v7 invoke-static {v5, v6, v7, v8}, Landroidx/core/view/ViewCompat;->postOnAnimationDelayed(Landroid/view/View;Ljava/lang/Runnable;J)V goto :goto_a1 .line 154 :cond_9e invoke-interface {v6}, Ljava/lang/Runnable;->run()V :cond_a1 :goto_a1 if-nez v3, :cond_ef .line 159 new-instance v3, Ljava/util/ArrayList; invoke-direct {v3}, Ljava/util/ArrayList;->()V .line 160 iget-object v5, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingAdditions:Ljava/util/ArrayList; invoke-virtual {v3, v5}, Ljava/util/ArrayList;->addAll(Ljava/util/Collection;)Z .line 161 iget-object v5, p0, Lcom/forum/im/animator/BaseItemAnimator;->mAdditionsList:Ljava/util/ArrayList; invoke-virtual {v5, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 162 iget-object v5, p0, Lcom/forum/im/animator/BaseItemAnimator;->mPendingAdditions:Ljava/util/ArrayList; invoke-virtual {v5}, Ljava/util/ArrayList;->clear()V .line 163 new-instance v5, Lcom/forum/im/animator/BaseItemAnimator$3; invoke-direct {v5, p0, v3}, Lcom/forum/im/animator/BaseItemAnimator$3;->(Lcom/forum/im/animator/BaseItemAnimator;Ljava/util/ArrayList;)V if-eqz v0, :cond_c7 if-eqz v1, :cond_c7 if-nez v2, :cond_c3 goto :goto_c7 .line 180 :cond_c3 invoke-interface {v5}, Ljava/lang/Runnable;->run()V goto :goto_ef :cond_c7 :goto_c7 const-wide/16 v6, 0x0 if-nez v0, :cond_d0 .line 173 invoke-virtual {p0}, Lcom/forum/im/animator/BaseItemAnimator;->getRemoveDuration()J move-result-wide v8 goto :goto_d1 :cond_d0 move-wide v8, v6 :goto_d1 if-nez v1, :cond_d8 .line 174 invoke-virtual {p0}, Lcom/forum/im/animator/BaseItemAnimator;->getMoveDuration()J move-result-wide v0 goto :goto_d9 :cond_d8 move-wide v0, v6 :goto_d9 if-nez v2, :cond_df .line 175 invoke-virtual {p0}, Lcom/forum/im/animator/BaseItemAnimator;->getChangeDuration()J move-result-wide v6 .line 176 :cond_df invoke-static {v0, v1, v6, v7}, Ljava/lang/Math;->max(JJ)J move-result-wide v0 add-long/2addr v8, v0 .line 177 invoke-virtual {v3, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v0 check-cast v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder; iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; .line 178 invoke-static {v0, v5, v8, v9}, Landroidx/core/view/ViewCompat;->postOnAnimationDelayed(Landroid/view/View;Ljava/lang/Runnable;J)V :cond_ef :goto_ef return-void .end method