EventBusBuilder.smali

.class public Lio/rong/eventbus/EventBusBuilder;
.super Ljava/lang/Object;
.source "EventBusBuilder.java"


# static fields
.field private static final DEFAULT_EXECUTOR_SERVICE:Ljava/util/concurrent/ExecutorService;


# instance fields
.field eventInheritance:Z

.field executorService:Ljava/util/concurrent/ExecutorService;

.field logNoSubscriberMessages:Z

.field logSubscriberExceptions:Z

.field sendNoSubscriberEvent:Z

.field sendSubscriberExceptionEvent:Z

.field skipMethodVerificationForClasses:Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List<",
            "Ljava/lang/Class<",
            "*>;>;"
        }
    .end annotation
.end field

.field throwSubscriberException:Z


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

    .line 1
    invoke-static {}, Ljava/util/concurrent/Executors;->newCachedThreadPool()Ljava/util/concurrent/ExecutorService;

    move-result-object v0

    sput-object v0, Lio/rong/eventbus/EventBusBuilder;->DEFAULT_EXECUTOR_SERVICE:Ljava/util/concurrent/ExecutorService;

    return-void
.end method

.method constructor <init>()V
    .registers 2

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

    const/4 v0, 0x1

    .line 2
    iput-boolean v0, p0, Lio/rong/eventbus/EventBusBuilder;->logSubscriberExceptions:Z

    .line 3
    iput-boolean v0, p0, Lio/rong/eventbus/EventBusBuilder;->logNoSubscriberMessages:Z

    .line 4
    iput-boolean v0, p0, Lio/rong/eventbus/EventBusBuilder;->sendSubscriberExceptionEvent:Z

    .line 5
    iput-boolean v0, p0, Lio/rong/eventbus/EventBusBuilder;->sendNoSubscriberEvent:Z

    .line 6
    iput-boolean v0, p0, Lio/rong/eventbus/EventBusBuilder;->eventInheritance:Z

    .line 7
    sget-object v0, Lio/rong/eventbus/EventBusBuilder;->DEFAULT_EXECUTOR_SERVICE:Ljava/util/concurrent/ExecutorService;

    iput-object v0, p0, Lio/rong/eventbus/EventBusBuilder;->executorService:Ljava/util/concurrent/ExecutorService;

    return-void
.end method


# virtual methods
.method public build()Lio/rong/eventbus/EventBus;
    .registers 2

    .line 1
    new-instance v0, Lio/rong/eventbus/EventBus;

    invoke-direct {v0, p0}, Lio/rong/eventbus/EventBus;-><init>(Lio/rong/eventbus/EventBusBuilder;)V

    return-object v0
.end method

.method public eventInheritance(Z)Lio/rong/eventbus/EventBusBuilder;
    .registers 2

    .line 1
    iput-boolean p1, p0, Lio/rong/eventbus/EventBusBuilder;->eventInheritance:Z

    return-object p0
.end method

.method public executorService(Ljava/util/concurrent/ExecutorService;)Lio/rong/eventbus/EventBusBuilder;
    .registers 2

    .line 1
    iput-object p1, p0, Lio/rong/eventbus/EventBusBuilder;->executorService:Ljava/util/concurrent/ExecutorService;

    return-object p0
.end method

.method public installDefaultEventBus()Lio/rong/eventbus/EventBus;
    .registers 4

    .line 1
    const-class v0, Lio/rong/eventbus/EventBus;

    monitor-enter v0

    .line 2
    :try_start_3
    sget-object v1, Lio/rong/eventbus/EventBus;->defaultInstance:Lio/rong/eventbus/EventBus;

    if-nez v1, :cond_11

    .line 3
    invoke-virtual {p0}, Lio/rong/eventbus/EventBusBuilder;->build()Lio/rong/eventbus/EventBus;

    move-result-object v1

    sput-object v1, Lio/rong/eventbus/EventBus;->defaultInstance:Lio/rong/eventbus/EventBus;

    .line 4
    sget-object v1, Lio/rong/eventbus/EventBus;->defaultInstance:Lio/rong/eventbus/EventBus;

    monitor-exit v0

    return-object v1

    .line 5
    :cond_11
    new-instance v1, Lio/rong/eventbus/EventBusException;

    const-string v2, "Default instance already exists. It may be only set once before it\'s used the first time to ensure consistent behavior."

    invoke-direct {v1, v2}, Lio/rong/eventbus/EventBusException;-><init>(Ljava/lang/String;)V

    throw v1

    :catchall_19
    move-exception v1

    .line 6
    monitor-exit v0
    :try_end_1b
    .catchall {:try_start_3 .. :try_end_1b} :catchall_19

    throw v1
.end method

.method public logNoSubscriberMessages(Z)Lio/rong/eventbus/EventBusBuilder;
    .registers 2

    .line 1
    iput-boolean p1, p0, Lio/rong/eventbus/EventBusBuilder;->logNoSubscriberMessages:Z

    return-object p0
.end method

.method public logSubscriberExceptions(Z)Lio/rong/eventbus/EventBusBuilder;
    .registers 2

    .line 1
    iput-boolean p1, p0, Lio/rong/eventbus/EventBusBuilder;->logSubscriberExceptions:Z

    return-object p0
.end method

.method public sendNoSubscriberEvent(Z)Lio/rong/eventbus/EventBusBuilder;
    .registers 2

    .line 1
    iput-boolean p1, p0, Lio/rong/eventbus/EventBusBuilder;->sendNoSubscriberEvent:Z

    return-object p0
.end method

.method public sendSubscriberExceptionEvent(Z)Lio/rong/eventbus/EventBusBuilder;
    .registers 2

    .line 1
    iput-boolean p1, p0, Lio/rong/eventbus/EventBusBuilder;->sendSubscriberExceptionEvent:Z

    return-object p0
.end method

.method public skipMethodVerificationFor(Ljava/lang/Class;)Lio/rong/eventbus/EventBusBuilder;
    .registers 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/Class<",
            "*>;)",
            "Lio/rong/eventbus/EventBusBuilder;"
        }
    .end annotation

    .line 1
    iget-object v0, p0, Lio/rong/eventbus/EventBusBuilder;->skipMethodVerificationForClasses:Ljava/util/List;

    if-nez v0, :cond_b

    .line 2
    new-instance v0, Ljava/util/ArrayList;

    invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V

    iput-object v0, p0, Lio/rong/eventbus/EventBusBuilder;->skipMethodVerificationForClasses:Ljava/util/List;

    .line 3
    :cond_b
    iget-object v0, p0, Lio/rong/eventbus/EventBusBuilder;->skipMethodVerificationForClasses:Ljava/util/List;

    invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    return-object p0
.end method

.method public throwSubscriberException(Z)Lio/rong/eventbus/EventBusBuilder;
    .registers 2

    .line 1
    iput-boolean p1, p0, Lio/rong/eventbus/EventBusBuilder;->throwSubscriberException:Z

    return-object p0
.end method