GridLayout$PackedMap.smali
.class final Landroidx/gridlayout/widget/GridLayout$PackedMap;
.super Ljava/lang/Object;
.source "GridLayout.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/gridlayout/widget/GridLayout;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x18
name = "PackedMap"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
"V:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# instance fields
.field public final index:[I
.field public final keys:[Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"[TK;"
}
.end annotation
.end field
.field public final values:[Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"[TV;"
}
.end annotation
.end field
# direct methods
.method constructor <init>([Ljava/lang/Object;[Ljava/lang/Object;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"([TK;[TV;)V"
}
.end annotation
.line 2207
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2208
invoke-static {p1}, Landroidx/gridlayout/widget/GridLayout$PackedMap;->createIndex([Ljava/lang/Object;)[I
move-result-object v0
iput-object v0, p0, Landroidx/gridlayout/widget/GridLayout$PackedMap;->index:[I
.line 2210
invoke-static {p1, v0}, Landroidx/gridlayout/widget/GridLayout$PackedMap;->compact([Ljava/lang/Object;[I)[Ljava/lang/Object;
move-result-object p1
iput-object p1, p0, Landroidx/gridlayout/widget/GridLayout$PackedMap;->keys:[Ljava/lang/Object;
.line 2211
iget-object p1, p0, Landroidx/gridlayout/widget/GridLayout$PackedMap;->index:[I
invoke-static {p2, p1}, Landroidx/gridlayout/widget/GridLayout$PackedMap;->compact([Ljava/lang/Object;[I)[Ljava/lang/Object;
move-result-object p1
iput-object p1, p0, Landroidx/gridlayout/widget/GridLayout$PackedMap;->values:[Ljava/lang/Object;
return-void
.end method
.method private static compact([Ljava/lang/Object;[I)[Ljava/lang/Object;
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
">([TK;[I)[TK;"
}
.end annotation
.line 2239
array-length v0, p0
.line 2240
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Class;->getComponentType()Ljava/lang/Class;
move-result-object v1
const/4 v2, -0x1
.line 2241
invoke-static {p1, v2}, Landroidx/gridlayout/widget/GridLayout;->max2([II)I
move-result v2
add-int/lit8 v2, v2, 0x1
invoke-static {v1, v2}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;I)Ljava/lang/Object;
move-result-object v1
check-cast v1, [Ljava/lang/Object;
check-cast v1, [Ljava/lang/Object;
const/4 v2, 0x0
:goto_19
if-ge v2, v0, :cond_24
.line 2245
aget v3, p1, v2
aget-object v4, p0, v2
aput-object v4, v1, v3
add-int/lit8 v2, v2, 0x1
goto :goto_19
:cond_24
return-object v1
.end method
.method private static createIndex([Ljava/lang/Object;)[I
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
">([TK;)[I"
}
.end annotation
.line 2219
array-length v0, p0
.line 2220
new-array v1, v0, [I
.line 2222
new-instance v2, Ljava/util/HashMap;
invoke-direct {v2}, Ljava/util/HashMap;-><init>()V
const/4 v3, 0x0
:goto_9
if-ge v3, v0, :cond_29
.line 2224
aget-object v4, p0, v3
.line 2225
invoke-interface {v2, v4}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
check-cast v5, Ljava/lang/Integer;
if-nez v5, :cond_20
.line 2227
invoke-interface {v2}, Ljava/util/Map;->size()I
move-result v5
invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v5
.line 2228
invoke-interface {v2, v4, v5}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 2230
:cond_20
invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
move-result v4
aput v4, v1, v3
add-int/lit8 v3, v3, 0x1
goto :goto_9
:cond_29
return-object v1
.end method
# virtual methods
.method public getValue(I)Ljava/lang/Object;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(I)TV;"
}
.end annotation
.line 2215
iget-object v0, p0, Landroidx/gridlayout/widget/GridLayout$PackedMap;->values:[Ljava/lang/Object;
iget-object v1, p0, Landroidx/gridlayout/widget/GridLayout$PackedMap;->index:[I
aget p1, v1, p1
aget-object p1, v0, p1
return-object p1
.end method