b.smali
.class public final Landroidx/lifecycle/b;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/lifecycle/b$b;,
Landroidx/lifecycle/b$a;
}
.end annotation
.annotation runtime Ljava/lang/Deprecated;
.end annotation
# static fields
.field public static c:Landroidx/lifecycle/b;
# instance fields
.field public final a:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/Class<",
"*>;",
"Landroidx/lifecycle/b$a;",
">;"
}
.end annotation
.end field
.field public final b:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/Boolean;",
">;"
}
.end annotation
.end field
# direct methods
.method public static constructor <clinit>()V
.registers 1
new-instance v0, Landroidx/lifecycle/b;
invoke-direct {v0}, Landroidx/lifecycle/b;-><init>()V
sput-object v0, Landroidx/lifecycle/b;->c:Landroidx/lifecycle/b;
return-void
.end method
.method public constructor <init>()V
.registers 2
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Landroidx/lifecycle/b;->a:Ljava/util/HashMap;
.line 3
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Landroidx/lifecycle/b;->b:Ljava/util/HashMap;
return-void
.end method
# virtual methods
.method public final a(Ljava/lang/Class;[Ljava/lang/reflect/Method;)Landroidx/lifecycle/b$a;
.registers 14
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;[",
"Ljava/lang/reflect/Method;",
")",
"Landroidx/lifecycle/b$a;"
}
.end annotation
.line 1
invoke-virtual {p1}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object v0
.line 2
new-instance v1, Ljava/util/HashMap;
invoke-direct {v1}, Ljava/util/HashMap;-><init>()V
if-eqz v0, :cond_14
.line 3
invoke-virtual {p0, v0}, Landroidx/lifecycle/b;->b(Ljava/lang/Class;)Landroidx/lifecycle/b$a;
move-result-object v0
.line 4
iget-object v0, v0, Landroidx/lifecycle/b$a;->b:Ljava/util/Map;
invoke-virtual {v1, v0}, Ljava/util/HashMap;->putAll(Ljava/util/Map;)V
.line 5
:cond_14
invoke-virtual {p1}, Ljava/lang/Class;->getInterfaces()[Ljava/lang/Class;
move-result-object v0
.line 6
array-length v2, v0
const/4 v3, 0x0
const/4 v4, 0x0
:goto_1b
if-ge v4, v2, :cond_4c
aget-object v5, v0, v4
.line 7
invoke-virtual {p0, v5}, Landroidx/lifecycle/b;->b(Ljava/lang/Class;)Landroidx/lifecycle/b$a;
move-result-object v5
iget-object v5, v5, Landroidx/lifecycle/b$a;->b:Ljava/util/Map;
.line 8
invoke-interface {v5}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object v5
.line 9
invoke-interface {v5}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v5
:goto_2d
invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z
move-result v6
if-eqz v6, :cond_49
invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v6
check-cast v6, Ljava/util/Map$Entry;
.line 10
invoke-interface {v6}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v7
check-cast v7, Landroidx/lifecycle/b$b;
invoke-interface {v6}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v6
check-cast v6, Landroidx/lifecycle/h$b;
invoke-virtual {p0, v1, v7, v6, p1}, Landroidx/lifecycle/b;->c(Ljava/util/Map;Landroidx/lifecycle/b$b;Landroidx/lifecycle/h$b;Ljava/lang/Class;)V
goto :goto_2d
:cond_49
add-int/lit8 v4, v4, 0x1
goto :goto_1b
:cond_4c
if-eqz p2, :cond_4f
goto :goto_53
.line 11
:cond_4f
:try_start_4f
invoke-virtual {p1}, Ljava/lang/Class;->getDeclaredMethods()[Ljava/lang/reflect/Method;
move-result-object p2
:try_end_53
.catch Ljava/lang/NoClassDefFoundError; {:try_start_4f .. :try_end_53} :catch_d5
.line 12
:goto_53
array-length v0, p2
const/4 v2, 0x0
const/4 v4, 0x0
:goto_56
if-ge v2, v0, :cond_c1
aget-object v5, p2, v2
.line 13
const-class v6, Landroidx/lifecycle/w;
invoke-virtual {v5, v6}, Ljava/lang/reflect/Method;->getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
move-result-object v6
check-cast v6, Landroidx/lifecycle/w;
const/4 v7, 0x1
if-nez v6, :cond_66
goto :goto_b6
.line 14
:cond_66
invoke-virtual {v5}, Ljava/lang/reflect/Method;->getParameterTypes()[Ljava/lang/Class;
move-result-object v4
.line 15
array-length v8, v4
if-lez v8, :cond_81
.line 16
aget-object v8, v4, v3
const-class v9, Landroidx/lifecycle/n;
invoke-virtual {v8, v9}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v8
if-eqz v8, :cond_79
const/4 v8, 0x1
goto :goto_82
.line 17
:cond_79
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "invalid parameter type. Must be one and instanceof LifecycleOwner"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
:cond_81
const/4 v8, 0x0
.line 18
:goto_82
invoke-interface {v6}, Landroidx/lifecycle/w;->value()Landroidx/lifecycle/h$b;
move-result-object v6
.line 19
array-length v9, v4
const/4 v10, 0x2
if-le v9, v7, :cond_aa
.line 20
aget-object v8, v4, v7
const-class v9, Landroidx/lifecycle/h$b;
invoke-virtual {v8, v9}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v8
if-eqz v8, :cond_a2
.line 21
sget-object v8, Landroidx/lifecycle/h$b;->ON_ANY:Landroidx/lifecycle/h$b;
if-ne v6, v8, :cond_9a
const/4 v8, 0x2
goto :goto_aa
.line 22
:cond_9a
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Second arg is supported only for ON_ANY value"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 23
:cond_a2
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "invalid parameter type. second arg must be an event"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 24
:cond_aa
:goto_aa
array-length v4, v4
if-gt v4, v10, :cond_b9
.line 25
new-instance v4, Landroidx/lifecycle/b$b;
invoke-direct {v4, v8, v5}, Landroidx/lifecycle/b$b;-><init>(ILjava/lang/reflect/Method;)V
.line 26
invoke-virtual {p0, v1, v4, v6, p1}, Landroidx/lifecycle/b;->c(Ljava/util/Map;Landroidx/lifecycle/b$b;Landroidx/lifecycle/h$b;Ljava/lang/Class;)V
const/4 v4, 0x1
:goto_b6
add-int/lit8 v2, v2, 0x1
goto :goto_56
.line 27
:cond_b9
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "cannot have more than 2 params"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 28
:cond_c1
new-instance p2, Landroidx/lifecycle/b$a;
invoke-direct {p2, v1}, Landroidx/lifecycle/b$a;-><init>(Ljava/util/Map;)V
.line 29
iget-object v0, p0, Landroidx/lifecycle/b;->a:Ljava/util/HashMap;
invoke-virtual {v0, p1, p2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 30
iget-object v0, p0, Landroidx/lifecycle/b;->b:Ljava/util/HashMap;
invoke-static {v4}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v1
invoke-virtual {v0, p1, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return-object p2
:catch_d5
move-exception p1
.line 31
new-instance p2, Ljava/lang/IllegalArgumentException;
const-string v0, "The observer class has some methods that use newer APIs which are not available in the current OS version. Lifecycles cannot access even other methods so you should make sure that your observer classes only access framework classes that are available in your min API level OR use lifecycle:compiler annotation processor."
invoke-direct {p2, v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p2
.end method
.method public final b(Ljava/lang/Class;)Landroidx/lifecycle/b$a;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;)",
"Landroidx/lifecycle/b$a;"
}
.end annotation
.line 1
iget-object v0, p0, Landroidx/lifecycle/b;->a:Ljava/util/HashMap;
invoke-virtual {v0, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroidx/lifecycle/b$a;
if-eqz v0, :cond_b
return-object v0
:cond_b
const/4 v0, 0x0
.line 2
invoke-virtual {p0, p1, v0}, Landroidx/lifecycle/b;->a(Ljava/lang/Class;[Ljava/lang/reflect/Method;)Landroidx/lifecycle/b$a;
move-result-object p1
return-object p1
.end method
.method public final c(Ljava/util/Map;Landroidx/lifecycle/b$b;Landroidx/lifecycle/h$b;Ljava/lang/Class;)V
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map<",
"Landroidx/lifecycle/b$b;",
"Landroidx/lifecycle/h$b;",
">;",
"Landroidx/lifecycle/b$b;",
"Landroidx/lifecycle/h$b;",
"Ljava/lang/Class<",
"*>;)V"
}
.end annotation
.line 1
invoke-interface {p1, p2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroidx/lifecycle/h$b;
if-eqz v0, :cond_40
if-ne p3, v0, :cond_b
goto :goto_40
.line 2
:cond_b
iget-object p1, p2, Landroidx/lifecycle/b$b;->b:Ljava/lang/reflect/Method;
.line 3
new-instance p2, Ljava/lang/IllegalArgumentException;
const-string v1, "Method "
.line 4
invoke-static {v1}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
.line 5
invoke-virtual {p1}, Ljava/lang/reflect/Method;->getName()Ljava/lang/String;
move-result-object p1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, " in "
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p4}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object p1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, " already declared with different @OnLifecycleEvent value: previous value "
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string p1, ", new value "
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p2, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p2
:cond_40
:goto_40
if-nez v0, :cond_45
.line 6
invoke-interface {p1, p2, p3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_45
return-void
.end method