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