ARouter.smali

.class public final Lcom/alibaba/android/arouter/launcher/ARouter;
.super Ljava/lang/Object;
.source "ARouter.java"


# static fields
.field public static final AUTO_INJECT:Ljava/lang/String; = "wmHzgD4lOj5o4241"

.field public static final RAW_URI:Ljava/lang/String; = "NTeRQWvye18AkPd6G"

.field private static volatile hasInit:Z

.field private static volatile instance:Lcom/alibaba/android/arouter/launcher/ARouter;

.field public static logger:Lcom/alibaba/android/arouter/facade/template/ILogger;


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

    return-void
.end method

.method private constructor <init>()V
    .registers 1

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

    return-void
.end method

.method public static attachBaseContext()V
    .registers 0
    .annotation runtime Ljava/lang/Deprecated;
    .end annotation

    .line 1
    invoke-static {}, Lcom/alibaba/android/arouter/launcher/_ARouter;->attachBaseContext()V

    return-void
.end method

.method public static canAutoInject()Z
    .registers 1

    .line 1
    invoke-static {}, Lcom/alibaba/android/arouter/launcher/_ARouter;->canAutoInject()Z

    move-result v0

    return v0
.end method

.method public static debuggable()Z
    .registers 1

    .line 1
    invoke-static {}, Lcom/alibaba/android/arouter/launcher/_ARouter;->debuggable()Z

    move-result v0

    return v0
.end method

.method public static declared-synchronized enableAutoInject()V
    .registers 2
    .annotation runtime Ljava/lang/Deprecated;
    .end annotation

    const-class v0, Lcom/alibaba/android/arouter/launcher/ARouter;

    monitor-enter v0

    .line 1
    :try_start_3
    invoke-static {}, Lcom/alibaba/android/arouter/launcher/_ARouter;->enableAutoInject()V
    :try_end_6
    .catchall {:try_start_3 .. :try_end_6} :catchall_8

    .line 2
    monitor-exit v0

    return-void

    :catchall_8
    move-exception v1

    monitor-exit v0

    throw v1
.end method

.method public static getInstance()Lcom/alibaba/android/arouter/launcher/ARouter;
    .registers 2

    .line 1
    sget-boolean v0, Lcom/alibaba/android/arouter/launcher/ARouter;->hasInit:Z

    if-eqz v0, :cond_1e

    .line 2
    sget-object v0, Lcom/alibaba/android/arouter/launcher/ARouter;->instance:Lcom/alibaba/android/arouter/launcher/ARouter;

    if-nez v0, :cond_1b

    .line 3
    const-class v0, Lcom/alibaba/android/arouter/launcher/ARouter;

    monitor-enter v0

    .line 4
    :try_start_b
    sget-object v1, Lcom/alibaba/android/arouter/launcher/ARouter;->instance:Lcom/alibaba/android/arouter/launcher/ARouter;

    if-nez v1, :cond_16

    .line 5
    new-instance v1, Lcom/alibaba/android/arouter/launcher/ARouter;

    invoke-direct {v1}, Lcom/alibaba/android/arouter/launcher/ARouter;-><init>()V

    sput-object v1, Lcom/alibaba/android/arouter/launcher/ARouter;->instance:Lcom/alibaba/android/arouter/launcher/ARouter;

    .line 6
    :cond_16
    monitor-exit v0

    goto :goto_1b

    :catchall_18
    move-exception v1

    monitor-exit v0
    :try_end_1a
    .catchall {:try_start_b .. :try_end_1a} :catchall_18

    throw v1

    .line 7
    :cond_1b
    :goto_1b
    sget-object v0, Lcom/alibaba/android/arouter/launcher/ARouter;->instance:Lcom/alibaba/android/arouter/launcher/ARouter;

    return-object v0

    .line 8
    :cond_1e
    new-instance v0, Lcom/alibaba/android/arouter/exception/InitException;

    const-string v1, "ARouter::Init::Invoke init(context) first!"

    invoke-direct {v0, v1}, Lcom/alibaba/android/arouter/exception/InitException;-><init>(Ljava/lang/String;)V

    throw v0
.end method

.method public static init(Landroid/app/Application;)V
    .registers 4

    .line 1
    sget-boolean v0, Lcom/alibaba/android/arouter/launcher/ARouter;->hasInit:Z

    if-nez v0, :cond_23

    .line 2
    sget-object v0, Lcom/alibaba/android/arouter/launcher/_ARouter;->logger:Lcom/alibaba/android/arouter/facade/template/ILogger;

    sput-object v0, Lcom/alibaba/android/arouter/launcher/ARouter;->logger:Lcom/alibaba/android/arouter/facade/template/ILogger;

    const-string v1, "ARouter::"

    const-string v2, "ARouter init start."

    .line 3
    invoke-interface {v0, v1, v2}, Lcom/alibaba/android/arouter/facade/template/ILogger;->info(Ljava/lang/String;Ljava/lang/String;)V

    .line 4
    invoke-static {p0}, Lcom/alibaba/android/arouter/launcher/_ARouter;->init(Landroid/app/Application;)Z

    move-result p0

    sput-boolean p0, Lcom/alibaba/android/arouter/launcher/ARouter;->hasInit:Z

    .line 5
    sget-boolean p0, Lcom/alibaba/android/arouter/launcher/ARouter;->hasInit:Z

    if-eqz p0, :cond_1c

    .line 6
    invoke-static {}, Lcom/alibaba/android/arouter/launcher/_ARouter;->afterInit()V

    .line 7
    :cond_1c
    sget-object p0, Lcom/alibaba/android/arouter/launcher/_ARouter;->logger:Lcom/alibaba/android/arouter/facade/template/ILogger;

    const-string v0, "ARouter init over."

    invoke-interface {p0, v1, v0}, Lcom/alibaba/android/arouter/facade/template/ILogger;->info(Ljava/lang/String;Ljava/lang/String;)V

    :cond_23
    return-void
.end method

.method public static isMonitorMode()Z
    .registers 1

    .line 1
    invoke-static {}, Lcom/alibaba/android/arouter/launcher/_ARouter;->isMonitorMode()Z

    move-result v0

    return v0
.end method

.method public static declared-synchronized monitorMode()V
    .registers 2

    const-class v0, Lcom/alibaba/android/arouter/launcher/ARouter;

    monitor-enter v0

    .line 1
    :try_start_3
    invoke-static {}, Lcom/alibaba/android/arouter/launcher/_ARouter;->monitorMode()V
    :try_end_6
    .catchall {:try_start_3 .. :try_end_6} :catchall_8

    .line 2
    monitor-exit v0

    return-void

    :catchall_8
    move-exception v1

    monitor-exit v0

    throw v1
.end method

.method public static declared-synchronized openDebug()V
    .registers 2

    const-class v0, Lcom/alibaba/android/arouter/launcher/ARouter;

    monitor-enter v0

    .line 1
    :try_start_3
    invoke-static {}, Lcom/alibaba/android/arouter/launcher/_ARouter;->openDebug()V
    :try_end_6
    .catchall {:try_start_3 .. :try_end_6} :catchall_8

    .line 2
    monitor-exit v0

    return-void

    :catchall_8
    move-exception v1

    monitor-exit v0

    throw v1
.end method

.method public static declared-synchronized openLog()V
    .registers 2

    const-class v0, Lcom/alibaba/android/arouter/launcher/ARouter;

    monitor-enter v0

    .line 1
    :try_start_3
    invoke-static {}, Lcom/alibaba/android/arouter/launcher/_ARouter;->openLog()V
    :try_end_6
    .catchall {:try_start_3 .. :try_end_6} :catchall_8

    .line 2
    monitor-exit v0

    return-void

    :catchall_8
    move-exception v1

    monitor-exit v0

    throw v1
.end method

.method public static declared-synchronized printStackTrace()V
    .registers 2

    const-class v0, Lcom/alibaba/android/arouter/launcher/ARouter;

    monitor-enter v0

    .line 1
    :try_start_3
    invoke-static {}, Lcom/alibaba/android/arouter/launcher/_ARouter;->printStackTrace()V
    :try_end_6
    .catchall {:try_start_3 .. :try_end_6} :catchall_8

    .line 2
    monitor-exit v0

    return-void

    :catchall_8
    move-exception v1

    monitor-exit v0

    throw v1
.end method

.method public static declared-synchronized setExecutor(Ljava/util/concurrent/ThreadPoolExecutor;)V
    .registers 2

    const-class v0, Lcom/alibaba/android/arouter/launcher/ARouter;

    monitor-enter v0

    .line 1
    :try_start_3
    invoke-static {p0}, Lcom/alibaba/android/arouter/launcher/_ARouter;->setExecutor(Ljava/util/concurrent/ThreadPoolExecutor;)V
    :try_end_6
    .catchall {:try_start_3 .. :try_end_6} :catchall_8

    .line 2
    monitor-exit v0

    return-void

    :catchall_8
    move-exception p0

    monitor-exit v0

    throw p0
.end method

.method public static setLogger(Lcom/alibaba/android/arouter/facade/template/ILogger;)V
    .registers 1

    .line 1
    invoke-static {p0}, Lcom/alibaba/android/arouter/launcher/_ARouter;->setLogger(Lcom/alibaba/android/arouter/facade/template/ILogger;)V

    return-void
.end method


# virtual methods
.method public build(Landroid/net/Uri;)Lcom/alibaba/android/arouter/facade/Postcard;
    .registers 3

    .line 3
    invoke-static {}, Lcom/alibaba/android/arouter/launcher/_ARouter;->getInstance()Lcom/alibaba/android/arouter/launcher/_ARouter;

    move-result-object v0

    invoke-virtual {v0, p1}, Lcom/alibaba/android/arouter/launcher/_ARouter;->build(Landroid/net/Uri;)Lcom/alibaba/android/arouter/facade/Postcard;

    move-result-object p1

    return-object p1
.end method

.method public build(Ljava/lang/String;)Lcom/alibaba/android/arouter/facade/Postcard;
    .registers 3

    .line 1
    invoke-static {}, Lcom/alibaba/android/arouter/launcher/_ARouter;->getInstance()Lcom/alibaba/android/arouter/launcher/_ARouter;

    move-result-object v0

    invoke-virtual {v0, p1}, Lcom/alibaba/android/arouter/launcher/_ARouter;->build(Ljava/lang/String;)Lcom/alibaba/android/arouter/facade/Postcard;

    move-result-object p1

    return-object p1
.end method

.method public build(Ljava/lang/String;Ljava/lang/String;)Lcom/alibaba/android/arouter/facade/Postcard;
    .registers 4
    .annotation runtime Ljava/lang/Deprecated;
    .end annotation

    .line 2
    invoke-static {}, Lcom/alibaba/android/arouter/launcher/_ARouter;->getInstance()Lcom/alibaba/android/arouter/launcher/_ARouter;

    move-result-object v0

    invoke-virtual {v0, p1, p2}, Lcom/alibaba/android/arouter/launcher/_ARouter;->build(Ljava/lang/String;Ljava/lang/String;)Lcom/alibaba/android/arouter/facade/Postcard;

    move-result-object p1

    return-object p1
.end method

.method public declared-synchronized destroy()V
    .registers 2

    monitor-enter p0

    .line 1
    :try_start_1
    invoke-static {}, Lcom/alibaba/android/arouter/launcher/_ARouter;->destroy()V

    const/4 v0, 0x0

    .line 2
    sput-boolean v0, Lcom/alibaba/android/arouter/launcher/ARouter;->hasInit:Z
    :try_end_7
    .catchall {:try_start_1 .. :try_end_7} :catchall_9

    .line 3
    monitor-exit p0

    return-void

    :catchall_9
    move-exception v0

    monitor-exit p0

    throw v0
.end method

.method public inject(Ljava/lang/Object;)V
    .registers 2

    .line 1
    invoke-static {p1}, Lcom/alibaba/android/arouter/launcher/_ARouter;->inject(Ljava/lang/Object;)V

    return-void
.end method

.method public navigation(Landroid/content/Context;Lcom/alibaba/android/arouter/facade/Postcard;ILcom/alibaba/android/arouter/facade/callback/NavigationCallback;)Ljava/lang/Object;
    .registers 6

    .line 2
    invoke-static {}, Lcom/alibaba/android/arouter/launcher/_ARouter;->getInstance()Lcom/alibaba/android/arouter/launcher/_ARouter;

    move-result-object v0

    invoke-virtual {v0, p1, p2, p3, p4}, Lcom/alibaba/android/arouter/launcher/_ARouter;->navigation(Landroid/content/Context;Lcom/alibaba/android/arouter/facade/Postcard;ILcom/alibaba/android/arouter/facade/callback/NavigationCallback;)Ljava/lang/Object;

    move-result-object p1

    return-object p1
.end method

.method public navigation(Ljava/lang/Class;)Ljava/lang/Object;
    .registers 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<T:",
            "Ljava/lang/Object;",
            ">(",
            "Ljava/lang/Class<",
            "+TT;>;)TT;"
        }
    .end annotation

    .line 1
    invoke-static {}, Lcom/alibaba/android/arouter/launcher/_ARouter;->getInstance()Lcom/alibaba/android/arouter/launcher/_ARouter;

    move-result-object v0

    invoke-virtual {v0, p1}, Lcom/alibaba/android/arouter/launcher/_ARouter;->navigation(Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object p1

    return-object p1
.end method