a.smali
.class public Lcom/wxy/appstartfaster/e/a;
.super Ljava/lang/Object;
.source "AppStartTaskSortUtil.java"
# direct methods
.method public static a(Ljava/util/List;Ljava/util/HashMap;Ljava/util/HashMap;)Ljava/util/List;
.registers 11
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/wxy/appstartfaster/d/a;",
">;",
"Ljava/util/HashMap<",
"Ljava/lang/Class<",
"+",
"Lcom/wxy/appstartfaster/d/a;",
">;",
"Lcom/wxy/appstartfaster/d/a;",
">;",
"Ljava/util/HashMap<",
"Ljava/lang/Class<",
"+",
"Lcom/wxy/appstartfaster/d/a;",
">;",
"Ljava/util/List<",
"Ljava/lang/Class<",
"+",
"Lcom/wxy/appstartfaster/d/a;",
">;>;>;)",
"Ljava/util/List<",
"Lcom/wxy/appstartfaster/d/a;",
">;"
}
.end annotation
.line 1
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 2
new-instance v1, Ljava/util/HashMap;
invoke-direct {v1}, Ljava/util/HashMap;-><init>()V
.line 3
new-instance v2, Ljava/util/ArrayDeque;
invoke-direct {v2}, Ljava/util/ArrayDeque;-><init>()V
.line 4
invoke-interface {p0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v3
:cond_13
:goto_13
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_8b
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/wxy/appstartfaster/d/a;
.line 5
invoke-virtual {v4}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v5
invoke-virtual {v1, v5}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z
move-result v5
if-nez v5, :cond_70
.line 6
invoke-virtual {v4}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v5
invoke-virtual {p1, v5, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 7
invoke-virtual {v4}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v5
new-instance v6, Lcom/wxy/appstartfaster/e/a/a;
invoke-virtual {v4}, Lcom/wxy/appstartfaster/d/a;->getDependsTaskList()Ljava/util/List;
move-result-object v7
if-nez v7, :cond_3e
const/4 v7, 0x0
goto :goto_46
:cond_3e
invoke-virtual {v4}, Lcom/wxy/appstartfaster/d/a;->getDependsTaskList()Ljava/util/List;
move-result-object v7
invoke-interface {v7}, Ljava/util/List;->size()I
move-result v7
:goto_46
invoke-direct {v6, v7}, Lcom/wxy/appstartfaster/e/a/a;-><init>(I)V
invoke-virtual {v1, v5, v6}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 8
invoke-virtual {v4}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v5
new-instance v6, Ljava/util/ArrayList;
invoke-direct {v6}, Ljava/util/ArrayList;-><init>()V
invoke-virtual {p2, v5, v6}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 9
invoke-virtual {v4}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v5
invoke-virtual {v1, v5}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
check-cast v5, Lcom/wxy/appstartfaster/e/a/a;
invoke-virtual {v5}, Lcom/wxy/appstartfaster/e/a/a;->a()I
move-result v5
if-nez v5, :cond_13
.line 10
invoke-virtual {v4}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v4
invoke-interface {v2, v4}, Ljava/util/Deque;->offer(Ljava/lang/Object;)Z
goto :goto_13
.line 11
:cond_70
new-instance p0, Ljava/lang/RuntimeException;
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string p2, "\u4efb\u52a1\u91cd\u590d\u4e86: "
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p2
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p0, p1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw p0
.line 12
:cond_8b
invoke-interface {p0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v3
:cond_8f
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_c3
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/wxy/appstartfaster/d/a;
.line 13
invoke-virtual {v4}, Lcom/wxy/appstartfaster/d/a;->getDependsTaskList()Ljava/util/List;
move-result-object v5
if-eqz v5, :cond_8f
.line 14
invoke-virtual {v4}, Lcom/wxy/appstartfaster/d/a;->getDependsTaskList()Ljava/util/List;
move-result-object v5
invoke-interface {v5}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v5
:goto_a9
invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z
move-result v6
if-eqz v6, :cond_8f
invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v6
check-cast v6, Ljava/lang/Class;
.line 15
invoke-virtual {p2, v6}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v6
check-cast v6, Ljava/util/List;
invoke-virtual {v4}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v7
invoke-interface {v6, v7}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_a9
.line 16
:cond_c3
invoke-interface {v2}, Ljava/util/Deque;->isEmpty()Z
move-result v3
if-nez v3, :cond_111
.line 17
invoke-interface {v2}, Ljava/util/Deque;->poll()Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/Class;
.line 18
invoke-virtual {p1, v3}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
invoke-interface {v0, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 19
invoke-virtual {p2, v3}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/util/List;
invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v3
:cond_e0
:goto_e0
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_c3
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/lang/Class;
.line 20
invoke-virtual {v1, v4}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
check-cast v5, Lcom/wxy/appstartfaster/e/a/a;
invoke-virtual {v1, v4}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v6
check-cast v6, Lcom/wxy/appstartfaster/e/a/a;
invoke-virtual {v6}, Lcom/wxy/appstartfaster/e/a/a;->a()I
move-result v6
add-int/lit8 v6, v6, -0x1
invoke-virtual {v5, v6}, Lcom/wxy/appstartfaster/e/a/a;->a(I)V
.line 21
invoke-virtual {v1, v4}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
check-cast v5, Lcom/wxy/appstartfaster/e/a/a;
invoke-virtual {v5}, Lcom/wxy/appstartfaster/e/a/a;->a()I
move-result v5
if-nez v5, :cond_e0
.line 22
invoke-interface {v2, v4}, Ljava/util/Deque;->offer(Ljava/lang/Object;)Z
goto :goto_e0
.line 23
:cond_111
invoke-interface {v0}, Ljava/util/List;->size()I
move-result p1
invoke-interface {p0}, Ljava/util/List;->size()I
move-result p0
if-ne p1, p0, :cond_11c
return-object v0
.line 24
:cond_11c
new-instance p0, Ljava/lang/RuntimeException;
const-string p1, "\u51fa\u73b0\u73af\u4e86"
invoke-direct {p0, p1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
goto :goto_125
:goto_124
throw p0
:goto_125
goto :goto_124
.end method