AsyncDifferConfig$Builder.smali
.class public final Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$Builder;
.super Ljava/lang/Object;
.source "AsyncDifferConfig.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# static fields
.field private static sDiffExecutor:Ljava/util/concurrent/Executor;
.field private static final sExecutorLock:Ljava/lang/Object;
.field private static final sMainThreadExecutor:Ljava/util/concurrent/Executor;
# instance fields
.field private mBackgroundThreadExecutor:Ljava/util/concurrent/Executor;
.field private final mDiffCallback:Landroid/support/v7/util/DiffUtil$ItemCallback;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroid/support/v7/util/DiffUtil$ItemCallback",
"<TT;>;"
}
.end annotation
.end field
.field private mMainThreadExecutor:Ljava/util/concurrent/Executor;
# direct methods
.method static constructor <clinit>()V
.registers 2
.prologue
const/4 v1, 0x0
.line 155
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
sput-object v0, Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$Builder;->sExecutorLock:Ljava/lang/Object;
.line 156
sput-object v1, Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$Builder;->sDiffExecutor:Ljava/util/concurrent/Executor;
.line 159
new-instance v0, Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$Builder$MainThreadExecutor;
invoke-direct {v0, v1}, Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$Builder$MainThreadExecutor;-><init>(Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$1;)V
sput-object v0, Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$Builder;->sMainThreadExecutor:Ljava/util/concurrent/Executor;
return-void
.end method
.method public constructor <init>(Landroid/support/v7/util/DiffUtil$ItemCallback;)V
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/support/v7/util/DiffUtil$ItemCallback",
"<TT;>;)V"
}
.end annotation
.prologue
.line 84
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 85
iput-object p1, p0, Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$Builder;->mDiffCallback:Landroid/support/v7/util/DiffUtil$ItemCallback;
.line 86
return-void
.end method
# virtual methods
.method public final build()Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig",
"<TT;>;"
}
.end annotation
.prologue
.line 137
iget-object v0, p0, Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$Builder;->mMainThreadExecutor:Ljava/util/concurrent/Executor;
if-nez v0, :cond_8
.line 138
sget-object v0, Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$Builder;->sMainThreadExecutor:Ljava/util/concurrent/Executor;
iput-object v0, p0, Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$Builder;->mMainThreadExecutor:Ljava/util/concurrent/Executor;
.line 140
:cond_8
iget-object v0, p0, Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$Builder;->mBackgroundThreadExecutor:Ljava/util/concurrent/Executor;
if-nez v0, :cond_1f
.line 141
sget-object v1, Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$Builder;->sExecutorLock:Ljava/lang/Object;
monitor-enter v1
.line 142
:try_start_f
sget-object v0, Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$Builder;->sDiffExecutor:Ljava/util/concurrent/Executor;
if-nez v0, :cond_1a
.line 143
const/4 v0, 0x2
invoke-static {v0}, Ljava/util/concurrent/Executors;->newFixedThreadPool(I)Ljava/util/concurrent/ExecutorService;
move-result-object v0
sput-object v0, Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$Builder;->sDiffExecutor:Ljava/util/concurrent/Executor;
.line 145
:cond_1a
monitor-exit v1
:try_end_1b
.catchall {:try_start_f .. :try_end_1b} :catchall_2c
.line 146
sget-object v0, Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$Builder;->sDiffExecutor:Ljava/util/concurrent/Executor;
iput-object v0, p0, Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$Builder;->mBackgroundThreadExecutor:Ljava/util/concurrent/Executor;
.line 148
:cond_1f
new-instance v0, Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig;
iget-object v1, p0, Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$Builder;->mMainThreadExecutor:Ljava/util/concurrent/Executor;
iget-object v2, p0, Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$Builder;->mBackgroundThreadExecutor:Ljava/util/concurrent/Executor;
iget-object v3, p0, Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$Builder;->mDiffCallback:Landroid/support/v7/util/DiffUtil$ItemCallback;
const/4 v4, 0x0
invoke-direct {v0, v1, v2, v3, v4}, Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig;-><init>(Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;Landroid/support/v7/util/DiffUtil$ItemCallback;Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$1;)V
return-object v0
.line 145
:catchall_2c
move-exception v0
:try_start_2d
monitor-exit v1
:try_end_2e
.catchall {:try_start_2d .. :try_end_2e} :catchall_2c
throw v0
.end method
.method public final setBackgroundThreadExecutor(Ljava/util/concurrent/Executor;)Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$Builder;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/concurrent/Executor;",
")",
"Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$Builder",
"<TT;>;"
}
.end annotation
.prologue
.line 118
iput-object p1, p0, Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$Builder;->mBackgroundThreadExecutor:Ljava/util/concurrent/Executor;
.line 119
return-object p0
.end method
.method public final setMainThreadExecutor(Ljava/util/concurrent/Executor;)Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$Builder;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/concurrent/Executor;",
")",
"Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$Builder",
"<TT;>;"
}
.end annotation
.prologue
.line 102
iput-object p1, p0, Landroid/support/v7/recyclerview/extensions/AsyncDifferConfig$Builder;->mMainThreadExecutor:Ljava/util/concurrent/Executor;
.line 103
return-object p0
.end method