MultiTypeExpandableRecyclerViewAdapter.smali

.class public abstract Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter;
.super Lim/tpelyyftgw/ui/expand/ExpandableRecyclerViewAdapter;
.source "MultiTypeExpandableRecyclerViewAdapter.java"


# annotations
.annotation system Ldalvik/annotation/Signature;
    value = {
        "<GVH:",
        "Lim/tpelyyftgw/ui/expand/viewholders/GroupViewHolder;",
        "CVH:",
        "Lim/tpelyyftgw/ui/expand/viewholders/ChildViewHolder;",
        ">",
        "Lim/tpelyyftgw/ui/expand/ExpandableRecyclerViewAdapter<",
        "TGVH;TCVH;>;"
    }
.end annotation


# direct methods
.method static constructor <clinit>()V
    .registers 1

    return-void
.end method

.method public constructor <init>(Ljava/util/List;)V
    .registers 2
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/List<",
            "+",
            "Lim/tpelyyftgw/ui/expand/models/ExpandableGroup;",
            ">;)V"
        }
    .end annotation

    .line 18
    .local p0, "this":Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter;, "Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter<TGVH;TCVH;>;"
    .local p1, "groups":Ljava/util/List;, "Ljava/util/List<+Lim/tpelyyftgw/ui/expand/models/ExpandableGroup;>;"
    invoke-direct {p0, p1}, Lim/tpelyyftgw/ui/expand/ExpandableRecyclerViewAdapter;-><init>(Ljava/util/List;)V

    .line 19
    return-void
.end method


# virtual methods
.method public getChildViewType(ILim/tpelyyftgw/ui/expand/models/ExpandableGroup;I)I
    .registers 5
    .param p1, "position"    # I
    .param p2, "group"    # Lim/tpelyyftgw/ui/expand/models/ExpandableGroup;
    .param p3, "childIndex"    # I

    .line 117
    .local p0, "this":Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter;, "Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter<TGVH;TCVH;>;"
    invoke-super {p0, p1}, Lim/tpelyyftgw/ui/expand/ExpandableRecyclerViewAdapter;->getItemViewType(I)I

    move-result v0

    return v0
.end method

.method public getGroupViewType(ILim/tpelyyftgw/ui/expand/models/ExpandableGroup;)I
    .registers 4
    .param p1, "position"    # I
    .param p2, "group"    # Lim/tpelyyftgw/ui/expand/models/ExpandableGroup;

    .line 137
    .local p0, "this":Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter;, "Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter<TGVH;TCVH;>;"
    invoke-super {p0, p1}, Lim/tpelyyftgw/ui/expand/ExpandableRecyclerViewAdapter;->getItemViewType(I)I

    move-result v0

    return v0
.end method

.method public getItemViewType(I)I
    .registers 6
    .param p1, "position"    # I

    .line 85
    .local p0, "this":Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter;, "Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter<TGVH;TCVH;>;"
    iget-object v0, p0, Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter;->expandableList:Lim/tpelyyftgw/ui/expand/models/ExpandableList;

    invoke-virtual {v0, p1}, Lim/tpelyyftgw/ui/expand/models/ExpandableList;->getUnflattenedPosition(I)Lim/tpelyyftgw/ui/expand/models/ExpandableListPosition;

    move-result-object v0

    .line 86
    .local v0, "listPosition":Lim/tpelyyftgw/ui/expand/models/ExpandableListPosition;
    iget-object v1, p0, Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter;->expandableList:Lim/tpelyyftgw/ui/expand/models/ExpandableList;

    invoke-virtual {v1, v0}, Lim/tpelyyftgw/ui/expand/models/ExpandableList;->getExpandableGroup(Lim/tpelyyftgw/ui/expand/models/ExpandableListPosition;)Lim/tpelyyftgw/ui/expand/models/ExpandableGroup;

    move-result-object v1

    .line 88
    .local v1, "group":Lim/tpelyyftgw/ui/expand/models/ExpandableGroup;
    iget v2, v0, Lim/tpelyyftgw/ui/expand/models/ExpandableListPosition;->type:I

    .line 89
    .local v2, "viewType":I
    const/4 v3, 0x1

    if-eq v2, v3, :cond_1a

    const/4 v3, 0x2

    if-eq v2, v3, :cond_15

    .line 95
    return v2

    .line 91
    :cond_15
    invoke-virtual {p0, p1, v1}, Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter;->getGroupViewType(ILim/tpelyyftgw/ui/expand/models/ExpandableGroup;)I

    move-result v3

    return v3

    .line 93
    :cond_1a
    iget v3, v0, Lim/tpelyyftgw/ui/expand/models/ExpandableListPosition;->childPos:I

    invoke-virtual {p0, p1, v1, v3}, Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter;->getChildViewType(ILim/tpelyyftgw/ui/expand/models/ExpandableGroup;I)I

    move-result v3

    return v3
.end method

.method public isChild(I)Z
    .registers 3
    .param p1, "viewType"    # I

    .line 155
    .local p0, "this":Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter;, "Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter<TGVH;TCVH;>;"
    const/4 v0, 0x1

    if-ne p1, v0, :cond_4

    goto :goto_5

    :cond_4
    const/4 v0, 0x0

    :goto_5
    return v0
.end method

.method public isGroup(I)Z
    .registers 3
    .param p1, "viewType"    # I

    .line 146
    .local p0, "this":Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter;, "Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter<TGVH;TCVH;>;"
    const/4 v0, 0x2

    if-ne p1, v0, :cond_5

    const/4 v0, 0x1

    goto :goto_6

    :cond_5
    const/4 v0, 0x0

    :goto_6
    return v0
.end method

.method public onBindViewHolder(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)V
    .registers 7
    .param p1, "holder"    # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
    .param p2, "position"    # I

    .line 60
    .local p0, "this":Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter;, "Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter<TGVH;TCVH;>;"
    iget-object v0, p0, Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter;->expandableList:Lim/tpelyyftgw/ui/expand/models/ExpandableList;

    invoke-virtual {v0, p2}, Lim/tpelyyftgw/ui/expand/models/ExpandableList;->getUnflattenedPosition(I)Lim/tpelyyftgw/ui/expand/models/ExpandableListPosition;

    move-result-object v0

    .line 61
    .local v0, "listPos":Lim/tpelyyftgw/ui/expand/models/ExpandableListPosition;
    iget-object v1, p0, Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter;->expandableList:Lim/tpelyyftgw/ui/expand/models/ExpandableList;

    invoke-virtual {v1, v0}, Lim/tpelyyftgw/ui/expand/models/ExpandableList;->getExpandableGroup(Lim/tpelyyftgw/ui/expand/models/ExpandableListPosition;)Lim/tpelyyftgw/ui/expand/models/ExpandableGroup;

    move-result-object v1

    .line 62
    .local v1, "group":Lim/tpelyyftgw/ui/expand/models/ExpandableGroup;
    invoke-virtual {p0, p2}, Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter;->getItemViewType(I)I

    move-result v2

    invoke-virtual {p0, v2}, Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter;->isGroup(I)Z

    move-result v2

    if-eqz v2, :cond_30

    .line 63
    move-object v2, p1

    check-cast v2, Lim/tpelyyftgw/ui/expand/viewholders/GroupViewHolder;

    invoke-virtual {p0, v2, p2, v1}, Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter;->onBindGroupViewHolder(Lim/tpelyyftgw/ui/expand/viewholders/GroupViewHolder;ILim/tpelyyftgw/ui/expand/models/ExpandableGroup;)V

    .line 65
    invoke-virtual {p0, v1}, Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter;->isGroupExpanded(Lim/tpelyyftgw/ui/expand/models/ExpandableGroup;)Z

    move-result v2

    if-eqz v2, :cond_29

    .line 66
    move-object v2, p1

    check-cast v2, Lim/tpelyyftgw/ui/expand/viewholders/GroupViewHolder;

    invoke-virtual {v2}, Lim/tpelyyftgw/ui/expand/viewholders/GroupViewHolder;->expand()V

    goto :goto_42

    .line 68
    :cond_29
    move-object v2, p1

    check-cast v2, Lim/tpelyyftgw/ui/expand/viewholders/GroupViewHolder;

    invoke-virtual {v2}, Lim/tpelyyftgw/ui/expand/viewholders/GroupViewHolder;->collapse()V

    goto :goto_42

    .line 70
    :cond_30
    invoke-virtual {p0, p2}, Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter;->getItemViewType(I)I

    move-result v2

    invoke-virtual {p0, v2}, Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter;->isChild(I)Z

    move-result v2

    if-eqz v2, :cond_42

    .line 71
    move-object v2, p1

    check-cast v2, Lim/tpelyyftgw/ui/expand/viewholders/ChildViewHolder;

    iget v3, v0, Lim/tpelyyftgw/ui/expand/models/ExpandableListPosition;->childPos:I

    invoke-virtual {p0, v2, p2, v1, v3}, Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter;->onBindChildViewHolder(Lim/tpelyyftgw/ui/expand/viewholders/ChildViewHolder;ILim/tpelyyftgw/ui/expand/models/ExpandableGroup;I)V

    .line 73
    :cond_42
    :goto_42
    return-void
.end method

.method public onCreateViewHolder(Landroid/view/ViewGroup;I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
    .registers 5
    .param p1, "parent"    # Landroid/view/ViewGroup;
    .param p2, "viewType"    # I

    .line 35
    .local p0, "this":Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter;, "Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter<TGVH;TCVH;>;"
    invoke-virtual {p0, p2}, Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter;->isGroup(I)Z

    move-result v0

    if-eqz v0, :cond_e

    .line 36
    invoke-virtual {p0, p1, p2}, Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter;->onCreateGroupViewHolder(Landroid/view/ViewGroup;I)Lim/tpelyyftgw/ui/expand/viewholders/GroupViewHolder;

    move-result-object v0

    .line 37
    .local v0, "gvh":Lim/tpelyyftgw/ui/expand/viewholders/GroupViewHolder;, "TGVH;"
    invoke-virtual {v0, p0}, Lim/tpelyyftgw/ui/expand/viewholders/GroupViewHolder;->setOnGroupClickListener(Lim/tpelyyftgw/ui/expand/listeners/OnGroupClickListener;)V

    .line 38
    return-object v0

    .line 39
    .end local v0    # "gvh":Lim/tpelyyftgw/ui/expand/viewholders/GroupViewHolder;, "TGVH;"
    :cond_e
    invoke-virtual {p0, p2}, Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter;->isChild(I)Z

    move-result v0

    if-eqz v0, :cond_19

    .line 40
    invoke-virtual {p0, p1, p2}, Lim/tpelyyftgw/ui/expand/MultiTypeExpandableRecyclerViewAdapter;->onCreateChildViewHolder(Landroid/view/ViewGroup;I)Lim/tpelyyftgw/ui/expand/viewholders/ChildViewHolder;

    move-result-object v0

    .line 41
    .local v0, "cvh":Lim/tpelyyftgw/ui/expand/viewholders/ChildViewHolder;, "TCVH;"
    return-object v0

    .line 43
    .end local v0    # "cvh":Lim/tpelyyftgw/ui/expand/viewholders/ChildViewHolder;, "TCVH;"
    :cond_19
    new-instance v0, Ljava/lang/IllegalArgumentException;

    const-string v1, "viewType is not valid"

    invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v0
.end method