ExpandCollapseController.smali

.class public Lim/tpelyyftgw/ui/expand/ExpandCollapseController;
.super Ljava/lang/Object;
.source "ExpandCollapseController.java"


# instance fields
.field private expandableList:Lim/tpelyyftgw/ui/expand/models/ExpandableList;

.field private listener:Lim/tpelyyftgw/ui/expand/listeners/ExpandCollapseListener;


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

    return-void
.end method

.method public constructor <init>(Lim/tpelyyftgw/ui/expand/models/ExpandableList;Lim/tpelyyftgw/ui/expand/listeners/ExpandCollapseListener;)V
    .registers 3
    .param p1, "expandableList"    # Lim/tpelyyftgw/ui/expand/models/ExpandableList;
    .param p2, "listener"    # Lim/tpelyyftgw/ui/expand/listeners/ExpandCollapseListener;

    .line 18
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 19
    iput-object p1, p0, Lim/tpelyyftgw/ui/expand/ExpandCollapseController;->expandableList:Lim/tpelyyftgw/ui/expand/models/ExpandableList;

    .line 20
    iput-object p2, p0, Lim/tpelyyftgw/ui/expand/ExpandCollapseController;->listener:Lim/tpelyyftgw/ui/expand/listeners/ExpandCollapseListener;

    .line 21
    return-void
.end method

.method private collapseGroup(Lim/tpelyyftgw/ui/expand/models/ExpandableListPosition;)V
    .registers 6
    .param p1, "listPosition"    # Lim/tpelyyftgw/ui/expand/models/ExpandableListPosition;

    .line 29
    iget-object v0, p0, Lim/tpelyyftgw/ui/expand/ExpandCollapseController;->expandableList:Lim/tpelyyftgw/ui/expand/models/ExpandableList;

    iget-object v0, v0, Lim/tpelyyftgw/ui/expand/models/ExpandableList;->expandedGroupIndexes:[Z

    iget v1, p1, Lim/tpelyyftgw/ui/expand/models/ExpandableListPosition;->groupPos:I

    const/4 v2, 0x0

    aput-boolean v2, v0, v1

    .line 30
    iget-object v0, p0, Lim/tpelyyftgw/ui/expand/ExpandCollapseController;->listener:Lim/tpelyyftgw/ui/expand/listeners/ExpandCollapseListener;

    if-eqz v0, :cond_28

    .line 31
    iget-object v1, p0, Lim/tpelyyftgw/ui/expand/ExpandCollapseController;->expandableList:Lim/tpelyyftgw/ui/expand/models/ExpandableList;

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

    move-result v1

    add-int/lit8 v1, v1, 0x1

    iget-object v2, p0, Lim/tpelyyftgw/ui/expand/ExpandCollapseController;->expandableList:Lim/tpelyyftgw/ui/expand/models/ExpandableList;

    iget-object v2, v2, Lim/tpelyyftgw/ui/expand/models/ExpandableList;->groups:Ljava/util/List;

    iget v3, p1, Lim/tpelyyftgw/ui/expand/models/ExpandableListPosition;->groupPos:I

    .line 32
    invoke-interface {v2, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Lim/tpelyyftgw/ui/expand/models/ExpandableGroup;

    invoke-virtual {v2}, Lim/tpelyyftgw/ui/expand/models/ExpandableGroup;->getItemCount()I

    move-result v2

    .line 31
    invoke-interface {v0, v1, v2}, Lim/tpelyyftgw/ui/expand/listeners/ExpandCollapseListener;->onGroupCollapsed(II)V

    .line 34
    :cond_28
    return-void
.end method

.method private expandGroup(Lim/tpelyyftgw/ui/expand/models/ExpandableListPosition;)V
    .registers 6
    .param p1, "listPosition"    # Lim/tpelyyftgw/ui/expand/models/ExpandableListPosition;

    .line 42
    iget-object v0, p0, Lim/tpelyyftgw/ui/expand/ExpandCollapseController;->expandableList:Lim/tpelyyftgw/ui/expand/models/ExpandableList;

    iget-object v0, v0, Lim/tpelyyftgw/ui/expand/models/ExpandableList;->expandedGroupIndexes:[Z

    iget v1, p1, Lim/tpelyyftgw/ui/expand/models/ExpandableListPosition;->groupPos:I

    const/4 v2, 0x1

    aput-boolean v2, v0, v1

    .line 43
    iget-object v0, p0, Lim/tpelyyftgw/ui/expand/ExpandCollapseController;->listener:Lim/tpelyyftgw/ui/expand/listeners/ExpandCollapseListener;

    if-eqz v0, :cond_27

    .line 44
    iget-object v1, p0, Lim/tpelyyftgw/ui/expand/ExpandCollapseController;->expandableList:Lim/tpelyyftgw/ui/expand/models/ExpandableList;

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

    move-result v1

    add-int/2addr v1, v2

    iget-object v2, p0, Lim/tpelyyftgw/ui/expand/ExpandCollapseController;->expandableList:Lim/tpelyyftgw/ui/expand/models/ExpandableList;

    iget-object v2, v2, Lim/tpelyyftgw/ui/expand/models/ExpandableList;->groups:Ljava/util/List;

    iget v3, p1, Lim/tpelyyftgw/ui/expand/models/ExpandableListPosition;->groupPos:I

    .line 45
    invoke-interface {v2, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Lim/tpelyyftgw/ui/expand/models/ExpandableGroup;

    invoke-virtual {v2}, Lim/tpelyyftgw/ui/expand/models/ExpandableGroup;->getItemCount()I

    move-result v2

    .line 44
    invoke-interface {v0, v1, v2}, Lim/tpelyyftgw/ui/expand/listeners/ExpandCollapseListener;->onGroupExpanded(II)V

    .line 47
    :cond_27
    return-void
.end method


# virtual methods
.method public isGroupExpanded(I)Z
    .registers 5
    .param p1, "flatPos"    # I

    .line 63
    iget-object v0, p0, Lim/tpelyyftgw/ui/expand/ExpandCollapseController;->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 64
    .local v0, "listPosition":Lim/tpelyyftgw/ui/expand/models/ExpandableListPosition;
    iget-object v1, p0, Lim/tpelyyftgw/ui/expand/ExpandCollapseController;->expandableList:Lim/tpelyyftgw/ui/expand/models/ExpandableList;

    iget-object v1, v1, Lim/tpelyyftgw/ui/expand/models/ExpandableList;->expandedGroupIndexes:[Z

    iget v2, v0, Lim/tpelyyftgw/ui/expand/models/ExpandableListPosition;->groupPos:I

    aget-boolean v1, v1, v2

    return v1
.end method

.method public isGroupExpanded(Lim/tpelyyftgw/ui/expand/models/ExpandableGroup;)Z
    .registers 4
    .param p1, "group"    # Lim/tpelyyftgw/ui/expand/models/ExpandableGroup;

    .line 54
    iget-object v0, p0, Lim/tpelyyftgw/ui/expand/ExpandCollapseController;->expandableList:Lim/tpelyyftgw/ui/expand/models/ExpandableList;

    iget-object v0, v0, Lim/tpelyyftgw/ui/expand/models/ExpandableList;->groups:Ljava/util/List;

    invoke-interface {v0, p1}, Ljava/util/List;->indexOf(Ljava/lang/Object;)I

    move-result v0

    .line 55
    .local v0, "groupIndex":I
    iget-object v1, p0, Lim/tpelyyftgw/ui/expand/ExpandCollapseController;->expandableList:Lim/tpelyyftgw/ui/expand/models/ExpandableList;

    iget-object v1, v1, Lim/tpelyyftgw/ui/expand/models/ExpandableList;->expandedGroupIndexes:[Z

    aget-boolean v1, v1, v0

    return v1
.end method

.method public toggleGroup(I)Z
    .registers 5
    .param p1, "flatPos"    # I

    .line 72
    iget-object v0, p0, Lim/tpelyyftgw/ui/expand/ExpandCollapseController;->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 73
    .local v0, "listPos":Lim/tpelyyftgw/ui/expand/models/ExpandableListPosition;
    iget-object v1, p0, Lim/tpelyyftgw/ui/expand/ExpandCollapseController;->expandableList:Lim/tpelyyftgw/ui/expand/models/ExpandableList;

    iget-object v1, v1, Lim/tpelyyftgw/ui/expand/models/ExpandableList;->expandedGroupIndexes:[Z

    iget v2, v0, Lim/tpelyyftgw/ui/expand/models/ExpandableListPosition;->groupPos:I

    aget-boolean v1, v1, v2

    .line 74
    .local v1, "expanded":Z
    if-eqz v1, :cond_14

    .line 75
    invoke-direct {p0, v0}, Lim/tpelyyftgw/ui/expand/ExpandCollapseController;->collapseGroup(Lim/tpelyyftgw/ui/expand/models/ExpandableListPosition;)V

    goto :goto_17

    .line 77
    :cond_14
    invoke-direct {p0, v0}, Lim/tpelyyftgw/ui/expand/ExpandCollapseController;->expandGroup(Lim/tpelyyftgw/ui/expand/models/ExpandableListPosition;)V

    .line 79
    :goto_17
    return v1
.end method

.method public toggleGroup(Lim/tpelyyftgw/ui/expand/models/ExpandableGroup;)Z
    .registers 5
    .param p1, "group"    # Lim/tpelyyftgw/ui/expand/models/ExpandableGroup;

    .line 83
    iget-object v0, p0, Lim/tpelyyftgw/ui/expand/ExpandCollapseController;->expandableList:Lim/tpelyyftgw/ui/expand/models/ExpandableList;

    .line 84
    invoke-virtual {v0, p1}, Lim/tpelyyftgw/ui/expand/models/ExpandableList;->getFlattenedGroupIndex(Lim/tpelyyftgw/ui/expand/models/ExpandableGroup;)I

    move-result v1

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

    move-result-object v0

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

    iget-object v1, v1, Lim/tpelyyftgw/ui/expand/models/ExpandableList;->expandedGroupIndexes:[Z

    iget v2, v0, Lim/tpelyyftgw/ui/expand/models/ExpandableListPosition;->groupPos:I

    aget-boolean v1, v1, v2

    .line 86
    .local v1, "expanded":Z
    if-eqz v1, :cond_18

    .line 87
    invoke-direct {p0, v0}, Lim/tpelyyftgw/ui/expand/ExpandCollapseController;->collapseGroup(Lim/tpelyyftgw/ui/expand/models/ExpandableListPosition;)V

    goto :goto_1b

    .line 89
    :cond_18
    invoke-direct {p0, v0}, Lim/tpelyyftgw/ui/expand/ExpandCollapseController;->expandGroup(Lim/tpelyyftgw/ui/expand/models/ExpandableListPosition;)V

    .line 91
    :goto_1b
    return v1
.end method