.class public Landroidx/recyclerview/widget/DiffUtil$DiffResult; .super Ljava/lang/Object; .source "DiffUtil.java" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Landroidx/recyclerview/widget/DiffUtil; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x9 name = "DiffResult" .end annotation # static fields .field private static final FLAG_CHANGED:I = 0x2 .field private static final FLAG_MASK:I = 0xf .field private static final FLAG_MOVED:I = 0xc .field private static final FLAG_MOVED_CHANGED:I = 0x4 .field private static final FLAG_MOVED_NOT_CHANGED:I = 0x8 .field private static final FLAG_NOT_CHANGED:I = 0x1 .field private static final FLAG_OFFSET:I = 0x4 .field public static final NO_POSITION:I = -0x1 # instance fields .field private final mCallback:Landroidx/recyclerview/widget/DiffUtil$Callback; .field private final mDetectMoves:Z .field private final mDiagonals:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Landroidx/recyclerview/widget/DiffUtil$Diagonal;", ">;" } .end annotation .end field .field private final mNewItemStatuses:[I .field private final mNewListSize:I .field private final mOldItemStatuses:[I .field private final mOldListSize:I # direct methods .method constructor (Landroidx/recyclerview/widget/DiffUtil$Callback;Ljava/util/List;[I[IZ)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroidx/recyclerview/widget/DiffUtil$Callback;", "Ljava/util/List<", "Landroidx/recyclerview/widget/DiffUtil$Diagonal;", ">;[I[IZ)V" } .end annotation .line 664 invoke-direct {p0}, Ljava/lang/Object;->()V iput-object p2, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mDiagonals:Ljava/util/List; iput-object p3, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mOldItemStatuses:[I iput-object p4, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mNewItemStatuses:[I const/4 p2, 0x0 .line 668 invoke-static {p3, p2}, Ljava/util/Arrays;->fill([II)V .line 669 invoke-static {p4, p2}, Ljava/util/Arrays;->fill([II)V iput-object p1, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mCallback:Landroidx/recyclerview/widget/DiffUtil$Callback; .line 671 invoke-virtual {p1}, Landroidx/recyclerview/widget/DiffUtil$Callback;->getOldListSize()I move-result p2 iput p2, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mOldListSize:I .line 672 invoke-virtual {p1}, Landroidx/recyclerview/widget/DiffUtil$Callback;->getNewListSize()I move-result p1 iput p1, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mNewListSize:I iput-boolean p5, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mDetectMoves:Z .line 674 invoke-direct {p0}, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->addEdgeDiagonals()V .line 675 invoke-direct {p0}, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->findMatchingItems()V return-void .end method .method private addEdgeDiagonals()V .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mDiagonals:Ljava/util/List; .line 683 invoke-interface {v0}, Ljava/util/List;->isEmpty()Z move-result v0 const/4 v1, 0x0 if-eqz v0, :cond_0 const/4 v0, 0x0 goto :goto_0 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mDiagonals:Ljava/util/List; invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v0 check-cast v0, Landroidx/recyclerview/widget/DiffUtil$Diagonal; :goto_0 if-eqz v0, :cond_1 .line 685 iget v2, v0, Landroidx/recyclerview/widget/DiffUtil$Diagonal;->x:I if-nez v2, :cond_1 iget v0, v0, Landroidx/recyclerview/widget/DiffUtil$Diagonal;->y:I if-eqz v0, :cond_2 :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mDiagonals:Ljava/util/List; .line 686 new-instance v2, Landroidx/recyclerview/widget/DiffUtil$Diagonal; invoke-direct {v2, v1, v1, v1}, Landroidx/recyclerview/widget/DiffUtil$Diagonal;->(III)V invoke-interface {v0, v1, v2}, Ljava/util/List;->add(ILjava/lang/Object;)V :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mDiagonals:Ljava/util/List; .line 689 new-instance v2, Landroidx/recyclerview/widget/DiffUtil$Diagonal; iget v3, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mOldListSize:I iget p0, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mNewListSize:I invoke-direct {v2, v3, p0, v1}, Landroidx/recyclerview/widget/DiffUtil$Diagonal;->(III)V invoke-interface {v0, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z return-void .end method .method private findMatchingAddition(I)V .locals 5 iget-object v0, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mDiagonals:Ljava/util/List; .line 739 invoke-interface {v0}, Ljava/util/List;->size()I move-result v0 const/4 v1, 0x0 move v2, v1 :goto_0 if-ge v1, v0, :cond_3 iget-object v3, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mDiagonals:Ljava/util/List; .line 741 invoke-interface {v3, v1}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Landroidx/recyclerview/widget/DiffUtil$Diagonal; .line 742 :goto_1 iget v4, v3, Landroidx/recyclerview/widget/DiffUtil$Diagonal;->y:I if-ge v2, v4, :cond_2 iget-object v4, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mNewItemStatuses:[I .line 744 aget v4, v4, v2 if-nez v4, :cond_1 iget-object v4, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mCallback:Landroidx/recyclerview/widget/DiffUtil$Callback; .line 745 invoke-virtual {v4, p1, v2}, Landroidx/recyclerview/widget/DiffUtil$Callback;->areItemsTheSame(II)Z move-result v4 if-eqz v4, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mCallback:Landroidx/recyclerview/widget/DiffUtil$Callback; .line 748 invoke-virtual {v0, p1, v2}, Landroidx/recyclerview/widget/DiffUtil$Callback;->areContentsTheSame(II)Z move-result v0 const/4 v1, 0x4 if-eqz v0, :cond_0 const/16 v0, 0x8 goto :goto_2 :cond_0 move v0, v1 :goto_2 iget-object v3, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mOldItemStatuses:[I shl-int/lit8 v4, v2, 0x4 or-int/2addr v4, v0 .line 752 aput v4, v3, p1 iget-object p0, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mNewItemStatuses:[I shl-int/2addr p1, v1 or-int/2addr p1, v0 .line 753 aput p1, p0, v2 return-void :cond_1 add-int/lit8 v2, v2, 0x1 goto :goto_1 .line 759 :cond_2 invoke-virtual {v3}, Landroidx/recyclerview/widget/DiffUtil$Diagonal;->endY()I move-result v2 add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_3 return-void .end method .method private findMatchingItems()V .locals 8 iget-object v0, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mDiagonals:Ljava/util/List; .line 698 invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object v0 :cond_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_2 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/recyclerview/widget/DiffUtil$Diagonal; const/4 v2, 0x0 .line 699 :goto_0 iget v3, v1, Landroidx/recyclerview/widget/DiffUtil$Diagonal;->size:I if-ge v2, v3, :cond_0 .line 700 iget v3, v1, Landroidx/recyclerview/widget/DiffUtil$Diagonal;->x:I add-int/2addr v3, v2 .line 701 iget v4, v1, Landroidx/recyclerview/widget/DiffUtil$Diagonal;->y:I add-int/2addr v4, v2 iget-object v5, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mCallback:Landroidx/recyclerview/widget/DiffUtil$Callback; .line 702 invoke-virtual {v5, v3, v4}, Landroidx/recyclerview/widget/DiffUtil$Callback;->areContentsTheSame(II)Z move-result v5 if-eqz v5, :cond_1 const/4 v5, 0x1 goto :goto_1 :cond_1 const/4 v5, 0x2 :goto_1 iget-object v6, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mOldItemStatuses:[I shl-int/lit8 v7, v4, 0x4 or-int/2addr v7, v5 .line 704 aput v7, v6, v3 iget-object v6, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mNewItemStatuses:[I shl-int/lit8 v3, v3, 0x4 or-int/2addr v3, v5 .line 705 aput v3, v6, v4 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_2 iget-boolean v0, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mDetectMoves:Z if-eqz v0, :cond_3 .line 712 invoke-direct {p0}, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->findMoveMatches()V :cond_3 return-void .end method .method private findMoveMatches()V .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mDiagonals:Ljava/util/List; .line 719 invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object v0 const/4 v1, 0x0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_2 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/recyclerview/widget/DiffUtil$Diagonal; .line 720 :goto_1 iget v3, v2, Landroidx/recyclerview/widget/DiffUtil$Diagonal;->x:I if-ge v1, v3, :cond_1 iget-object v3, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mOldItemStatuses:[I .line 721 aget v3, v3, v1 if-nez v3, :cond_0 .line 723 invoke-direct {p0, v1}, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->findMatchingAddition(I)V :cond_0 add-int/lit8 v1, v1, 0x1 goto :goto_1 .line 728 :cond_1 invoke-virtual {v2}, Landroidx/recyclerview/widget/DiffUtil$Diagonal;->endX()I move-result v1 goto :goto_0 :cond_2 return-void .end method .method private static getPostponedUpdate(Ljava/util/Collection;IZ)Landroidx/recyclerview/widget/DiffUtil$PostponedUpdate; .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Collection<", "Landroidx/recyclerview/widget/DiffUtil$PostponedUpdate;", ">;IZ)", "Landroidx/recyclerview/widget/DiffUtil$PostponedUpdate;" } .end annotation .line 976 invoke-interface {p0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; move-result-object p0 .line 977 :cond_0 invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z move-result v0 if-eqz v0, :cond_1 .line 978 invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v0 check-cast v0, Landroidx/recyclerview/widget/DiffUtil$PostponedUpdate; .line 979 iget v1, v0, Landroidx/recyclerview/widget/DiffUtil$PostponedUpdate;->posInOwnerList:I if-ne v1, p1, :cond_0 iget-boolean v1, v0, Landroidx/recyclerview/widget/DiffUtil$PostponedUpdate;->removal:Z if-ne v1, p2, :cond_0 .line 981 invoke-interface {p0}, Ljava/util/Iterator;->remove()V goto :goto_0 :cond_1 const/4 v0, 0x0 .line 985 :goto_0 invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z move-result p1 if-eqz p1, :cond_3 .line 987 invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object p1 check-cast p1, Landroidx/recyclerview/widget/DiffUtil$PostponedUpdate; if-eqz p2, :cond_2 .line 989 iget v1, p1, Landroidx/recyclerview/widget/DiffUtil$PostponedUpdate;->currentPos:I add-int/lit8 v1, v1, -0x1 iput v1, p1, Landroidx/recyclerview/widget/DiffUtil$PostponedUpdate;->currentPos:I goto :goto_0 .line 991 :cond_2 iget v1, p1, Landroidx/recyclerview/widget/DiffUtil$PostponedUpdate;->currentPos:I add-int/lit8 v1, v1, 0x1 iput v1, p1, Landroidx/recyclerview/widget/DiffUtil$PostponedUpdate;->currentPos:I goto :goto_0 :cond_3 return-object v0 .end method # virtual methods .method public convertNewPositionToOld(I)I .locals 3 if-ltz p1, :cond_1 iget v0, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mNewListSize:I if-ge p1, v0, :cond_1 iget-object p0, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mNewItemStatuses:[I .line 799 aget p0, p0, p1 and-int/lit8 p1, p0, 0xf if-nez p1, :cond_0 const/4 p0, -0x1 return p0 :cond_0 shr-int/lit8 p0, p0, 0x4 return p0 .line 796 :cond_1 new-instance v0, Ljava/lang/IndexOutOfBoundsException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "Index out of bounds - passed position = " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 const-string v1, ", new list size = " invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 iget p0, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mNewListSize:I invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {v0, p0}, Ljava/lang/IndexOutOfBoundsException;->(Ljava/lang/String;)V throw v0 .end method .method public convertOldPositionToNew(I)I .locals 3 if-ltz p1, :cond_1 iget v0, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mOldListSize:I if-ge p1, v0, :cond_1 iget-object p0, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mOldItemStatuses:[I .line 777 aget p0, p0, p1 and-int/lit8 p1, p0, 0xf if-nez p1, :cond_0 const/4 p0, -0x1 return p0 :cond_0 shr-int/lit8 p0, p0, 0x4 return p0 .line 774 :cond_1 new-instance v0, Ljava/lang/IndexOutOfBoundsException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "Index out of bounds - passed position = " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 const-string v1, ", old list size = " invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 iget p0, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mOldListSize:I invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {v0, p0}, Ljava/lang/IndexOutOfBoundsException;->(Ljava/lang/String;)V throw v0 .end method .method public dispatchUpdatesTo(Landroidx/recyclerview/widget/ListUpdateCallback;)V .locals 12 .line 855 instance-of v0, p1, Landroidx/recyclerview/widget/BatchingListUpdateCallback; if-eqz v0, :cond_0 .line 856 check-cast p1, Landroidx/recyclerview/widget/BatchingListUpdateCallback; goto :goto_0 .line 858 :cond_0 new-instance v0, Landroidx/recyclerview/widget/BatchingListUpdateCallback; invoke-direct {v0, p1}, Landroidx/recyclerview/widget/BatchingListUpdateCallback;->(Landroidx/recyclerview/widget/ListUpdateCallback;)V move-object p1, v0 :goto_0 iget v0, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mOldListSize:I .line 870 new-instance v1, Ljava/util/ArrayDeque; invoke-direct {v1}, Ljava/util/ArrayDeque;->()V iget v2, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mOldListSize:I iget v3, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mNewListSize:I iget-object v4, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mDiagonals:Ljava/util/List; .line 877 invoke-interface {v4}, Ljava/util/List;->size()I move-result v4 const/4 v5, 0x1 sub-int/2addr v4, v5 :goto_1 if-ltz v4, :cond_a iget-object v6, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mDiagonals:Ljava/util/List; .line 878 invoke-interface {v6, v4}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v6 check-cast v6, Landroidx/recyclerview/widget/DiffUtil$Diagonal; .line 879 invoke-virtual {v6}, Landroidx/recyclerview/widget/DiffUtil$Diagonal;->endX()I move-result v7 .line 880 invoke-virtual {v6}, Landroidx/recyclerview/widget/DiffUtil$Diagonal;->endY()I move-result v8 :cond_1 :goto_2 const/4 v9, 0x0 if-le v2, v7, :cond_4 add-int/lit8 v2, v2, -0x1 iget-object v10, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mOldItemStatuses:[I .line 887 aget v10, v10, v2 and-int/lit8 v11, v10, 0xc if-eqz v11, :cond_3 shr-int/lit8 v11, v10, 0x4 .line 891 invoke-static {v1, v11, v9}, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->getPostponedUpdate(Ljava/util/Collection;IZ)Landroidx/recyclerview/widget/DiffUtil$PostponedUpdate; move-result-object v9 if-eqz v9, :cond_2 .line 895 iget v9, v9, Landroidx/recyclerview/widget/DiffUtil$PostponedUpdate;->currentPos:I sub-int v9, v0, v9 sub-int/2addr v9, v5 .line 896 invoke-virtual {p1, v2, v9}, Landroidx/recyclerview/widget/BatchingListUpdateCallback;->onMoved(II)V and-int/lit8 v10, v10, 0x4 if-eqz v10, :cond_1 iget-object v10, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mCallback:Landroidx/recyclerview/widget/DiffUtil$Callback; .line 898 invoke-virtual {v10, v2, v11}, Landroidx/recyclerview/widget/DiffUtil$Callback;->getChangePayload(II)Ljava/lang/Object; move-result-object v10 .line 899 invoke-virtual {p1, v9, v5, v10}, Landroidx/recyclerview/widget/BatchingListUpdateCallback;->onChanged(IILjava/lang/Object;)V goto :goto_2 .line 903 :cond_2 new-instance v9, Landroidx/recyclerview/widget/DiffUtil$PostponedUpdate; sub-int v10, v0, v2 sub-int/2addr v10, v5 invoke-direct {v9, v2, v10, v5}, Landroidx/recyclerview/widget/DiffUtil$PostponedUpdate;->(IIZ)V invoke-interface {v1, v9}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z goto :goto_2 .line 911 :cond_3 invoke-virtual {p1, v2, v5}, Landroidx/recyclerview/widget/BatchingListUpdateCallback;->onRemoved(II)V add-int/lit8 v0, v0, -0x1 goto :goto_2 :cond_4 :goto_3 if-le v3, v8, :cond_7 add-int/lit8 v3, v3, -0x1 iget-object v7, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mNewItemStatuses:[I .line 918 aget v7, v7, v3 and-int/lit8 v10, v7, 0xc if-eqz v10, :cond_6 shr-int/lit8 v10, v7, 0x4 .line 924 invoke-static {v1, v10, v5}, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->getPostponedUpdate(Ljava/util/Collection;IZ)Landroidx/recyclerview/widget/DiffUtil$PostponedUpdate; move-result-object v11 if-nez v11, :cond_5 .line 929 new-instance v7, Landroidx/recyclerview/widget/DiffUtil$PostponedUpdate; sub-int v10, v0, v2 invoke-direct {v7, v3, v10, v9}, Landroidx/recyclerview/widget/DiffUtil$PostponedUpdate;->(IIZ)V invoke-interface {v1, v7}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z goto :goto_3 .line 938 :cond_5 iget v11, v11, Landroidx/recyclerview/widget/DiffUtil$PostponedUpdate;->currentPos:I sub-int v11, v0, v11 sub-int/2addr v11, v5 .line 939 invoke-virtual {p1, v11, v2}, Landroidx/recyclerview/widget/BatchingListUpdateCallback;->onMoved(II)V and-int/lit8 v7, v7, 0x4 if-eqz v7, :cond_4 iget-object v7, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mCallback:Landroidx/recyclerview/widget/DiffUtil$Callback; .line 941 invoke-virtual {v7, v10, v3}, Landroidx/recyclerview/widget/DiffUtil$Callback;->getChangePayload(II)Ljava/lang/Object; move-result-object v7 .line 942 invoke-virtual {p1, v2, v5, v7}, Landroidx/recyclerview/widget/BatchingListUpdateCallback;->onChanged(IILjava/lang/Object;)V goto :goto_3 .line 947 :cond_6 invoke-virtual {p1, v2, v5}, Landroidx/recyclerview/widget/BatchingListUpdateCallback;->onInserted(II)V add-int/lit8 v0, v0, 0x1 goto :goto_3 .line 952 :cond_7 iget v2, v6, Landroidx/recyclerview/widget/DiffUtil$Diagonal;->x:I .line 953 iget v3, v6, Landroidx/recyclerview/widget/DiffUtil$Diagonal;->y:I .line 954 :goto_4 iget v7, v6, Landroidx/recyclerview/widget/DiffUtil$Diagonal;->size:I if-ge v9, v7, :cond_9 iget-object v7, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mOldItemStatuses:[I .line 956 aget v7, v7, v2 and-int/lit8 v7, v7, 0xf const/4 v8, 0x2 if-ne v7, v8, :cond_8 iget-object v7, p0, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->mCallback:Landroidx/recyclerview/widget/DiffUtil$Callback; .line 957 invoke-virtual {v7, v2, v3}, Landroidx/recyclerview/widget/DiffUtil$Callback;->getChangePayload(II)Ljava/lang/Object; move-result-object v7 .line 958 invoke-virtual {p1, v2, v5, v7}, Landroidx/recyclerview/widget/BatchingListUpdateCallback;->onChanged(IILjava/lang/Object;)V :cond_8 add-int/lit8 v2, v2, 0x1 add-int/lit8 v3, v3, 0x1 add-int/lit8 v9, v9, 0x1 goto :goto_4 .line 964 :cond_9 iget v2, v6, Landroidx/recyclerview/widget/DiffUtil$Diagonal;->x:I .line 965 iget v3, v6, Landroidx/recyclerview/widget/DiffUtil$Diagonal;->y:I add-int/lit8 v4, v4, -0x1 goto/16 :goto_1 .line 967 :cond_a invoke-virtual {p1}, Landroidx/recyclerview/widget/BatchingListUpdateCallback;->dispatchLastEvent()V return-void .end method .method public dispatchUpdatesTo(Landroidx/recyclerview/widget/RecyclerView$Adapter;)V .locals 1 .line 840 new-instance v0, Landroidx/recyclerview/widget/AdapterListUpdateCallback; invoke-direct {v0, p1}, Landroidx/recyclerview/widget/AdapterListUpdateCallback;->(Landroidx/recyclerview/widget/RecyclerView$Adapter;)V invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/DiffUtil$DiffResult;->dispatchUpdatesTo(Landroidx/recyclerview/widget/ListUpdateCallback;)V return-void .end method