2026-07-06 19:54:44 +08:00

398 lines
10 KiB
Smali

.class public final Landroidx/work/Configuration;
.super Ljava/lang/Object;
.source "Configuration.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/work/Configuration$Provider;,
Landroidx/work/Configuration$Builder;
}
.end annotation
# static fields
.field public static final MIN_SCHEDULER_LIMIT:I = 0x14
# instance fields
.field final mDefaultProcessName:Ljava/lang/String;
.field final mExceptionHandler:Landroidx/work/InitializationExceptionHandler;
.field final mExecutor:Ljava/util/concurrent/Executor;
.field final mInputMergerFactory:Landroidx/work/InputMergerFactory;
.field private final mIsUsingDefaultTaskExecutor:Z
.field final mLoggingLevel:I
.field final mMaxJobSchedulerId:I
.field final mMaxSchedulerLimit:I
.field final mMinJobSchedulerId:I
.field final mRunnableScheduler:Landroidx/work/RunnableScheduler;
.field final mTaskExecutor:Ljava/util/concurrent/Executor;
.field final mWorkerFactory:Landroidx/work/WorkerFactory;
# direct methods
.method constructor <init>(Landroidx/work/Configuration$Builder;)V
.locals 2
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"builder"
}
.end annotation
.line 82
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 83
iget-object v0, p1, Landroidx/work/Configuration$Builder;->mExecutor:Ljava/util/concurrent/Executor;
const/4 v1, 0x0
if-nez v0, :cond_0
.line 84
invoke-direct {p0, v1}, Landroidx/work/Configuration;->createDefaultExecutor(Z)Ljava/util/concurrent/Executor;
move-result-object v0
iput-object v0, p0, Landroidx/work/Configuration;->mExecutor:Ljava/util/concurrent/Executor;
goto :goto_0
.line 86
:cond_0
iget-object v0, p1, Landroidx/work/Configuration$Builder;->mExecutor:Ljava/util/concurrent/Executor;
iput-object v0, p0, Landroidx/work/Configuration;->mExecutor:Ljava/util/concurrent/Executor;
.line 89
:goto_0
iget-object v0, p1, Landroidx/work/Configuration$Builder;->mTaskExecutor:Ljava/util/concurrent/Executor;
if-nez v0, :cond_1
const/4 v0, 0x1
.line 90
iput-boolean v0, p0, Landroidx/work/Configuration;->mIsUsingDefaultTaskExecutor:Z
.line 94
invoke-direct {p0, v0}, Landroidx/work/Configuration;->createDefaultExecutor(Z)Ljava/util/concurrent/Executor;
move-result-object v0
iput-object v0, p0, Landroidx/work/Configuration;->mTaskExecutor:Ljava/util/concurrent/Executor;
goto :goto_1
.line 96
:cond_1
iput-boolean v1, p0, Landroidx/work/Configuration;->mIsUsingDefaultTaskExecutor:Z
.line 97
iget-object v0, p1, Landroidx/work/Configuration$Builder;->mTaskExecutor:Ljava/util/concurrent/Executor;
iput-object v0, p0, Landroidx/work/Configuration;->mTaskExecutor:Ljava/util/concurrent/Executor;
.line 100
:goto_1
iget-object v0, p1, Landroidx/work/Configuration$Builder;->mWorkerFactory:Landroidx/work/WorkerFactory;
if-nez v0, :cond_2
.line 101
invoke-static {}, Landroidx/work/WorkerFactory;->getDefaultWorkerFactory()Landroidx/work/WorkerFactory;
move-result-object v0
iput-object v0, p0, Landroidx/work/Configuration;->mWorkerFactory:Landroidx/work/WorkerFactory;
goto :goto_2
.line 103
:cond_2
iget-object v0, p1, Landroidx/work/Configuration$Builder;->mWorkerFactory:Landroidx/work/WorkerFactory;
iput-object v0, p0, Landroidx/work/Configuration;->mWorkerFactory:Landroidx/work/WorkerFactory;
.line 106
:goto_2
iget-object v0, p1, Landroidx/work/Configuration$Builder;->mInputMergerFactory:Landroidx/work/InputMergerFactory;
if-nez v0, :cond_3
.line 107
invoke-static {}, Landroidx/work/InputMergerFactory;->getDefaultInputMergerFactory()Landroidx/work/InputMergerFactory;
move-result-object v0
iput-object v0, p0, Landroidx/work/Configuration;->mInputMergerFactory:Landroidx/work/InputMergerFactory;
goto :goto_3
.line 109
:cond_3
iget-object v0, p1, Landroidx/work/Configuration$Builder;->mInputMergerFactory:Landroidx/work/InputMergerFactory;
iput-object v0, p0, Landroidx/work/Configuration;->mInputMergerFactory:Landroidx/work/InputMergerFactory;
.line 112
:goto_3
iget-object v0, p1, Landroidx/work/Configuration$Builder;->mRunnableScheduler:Landroidx/work/RunnableScheduler;
if-nez v0, :cond_4
.line 113
new-instance v0, Landroidx/work/impl/DefaultRunnableScheduler;
invoke-direct {v0}, Landroidx/work/impl/DefaultRunnableScheduler;-><init>()V
iput-object v0, p0, Landroidx/work/Configuration;->mRunnableScheduler:Landroidx/work/RunnableScheduler;
goto :goto_4
.line 115
:cond_4
iget-object v0, p1, Landroidx/work/Configuration$Builder;->mRunnableScheduler:Landroidx/work/RunnableScheduler;
iput-object v0, p0, Landroidx/work/Configuration;->mRunnableScheduler:Landroidx/work/RunnableScheduler;
.line 118
:goto_4
iget v0, p1, Landroidx/work/Configuration$Builder;->mLoggingLevel:I
iput v0, p0, Landroidx/work/Configuration;->mLoggingLevel:I
.line 119
iget v0, p1, Landroidx/work/Configuration$Builder;->mMinJobSchedulerId:I
iput v0, p0, Landroidx/work/Configuration;->mMinJobSchedulerId:I
.line 120
iget v0, p1, Landroidx/work/Configuration$Builder;->mMaxJobSchedulerId:I
iput v0, p0, Landroidx/work/Configuration;->mMaxJobSchedulerId:I
.line 121
iget v0, p1, Landroidx/work/Configuration$Builder;->mMaxSchedulerLimit:I
iput v0, p0, Landroidx/work/Configuration;->mMaxSchedulerLimit:I
.line 122
iget-object v0, p1, Landroidx/work/Configuration$Builder;->mExceptionHandler:Landroidx/work/InitializationExceptionHandler;
iput-object v0, p0, Landroidx/work/Configuration;->mExceptionHandler:Landroidx/work/InitializationExceptionHandler;
.line 123
iget-object p1, p1, Landroidx/work/Configuration$Builder;->mDefaultProcessName:Ljava/lang/String;
iput-object p1, p0, Landroidx/work/Configuration;->mDefaultProcessName:Ljava/lang/String;
return-void
.end method
.method private createDefaultExecutor(Z)Ljava/util/concurrent/Executor;
.locals 2
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"isTaskExecutor"
}
.end annotation
.line 263
invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Runtime;->availableProcessors()I
move-result v0
add-int/lit8 v0, v0, -0x1
const/4 v1, 0x4
invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I
move-result v0
const/4 v1, 0x2
invoke-static {v1, v0}, Ljava/lang/Math;->max(II)I
move-result v0
.line 264
invoke-direct {p0, p1}, Landroidx/work/Configuration;->createDefaultThreadFactory(Z)Ljava/util/concurrent/ThreadFactory;
move-result-object p1
.line 261
invoke-static {v0, p1}, Ljava/util/concurrent/Executors;->newFixedThreadPool(ILjava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService;
move-result-object p1
return-object p1
.end method
.method private createDefaultThreadFactory(Z)Ljava/util/concurrent/ThreadFactory;
.locals 1
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"isTaskExecutor"
}
.end annotation
.line 269
new-instance v0, Landroidx/work/Configuration$1;
invoke-direct {v0, p0, p1}, Landroidx/work/Configuration$1;-><init>(Landroidx/work/Configuration;Z)V
return-object v0
.end method
# virtual methods
.method public getDefaultProcessName()Ljava/lang/String;
.locals 1
.line 218
iget-object v0, p0, Landroidx/work/Configuration;->mDefaultProcessName:Ljava/lang/String;
return-object v0
.end method
.method public getExceptionHandler()Landroidx/work/InitializationExceptionHandler;
.locals 1
.line 257
iget-object v0, p0, Landroidx/work/Configuration;->mExceptionHandler:Landroidx/work/InitializationExceptionHandler;
return-object v0
.end method
.method public getExecutor()Ljava/util/concurrent/Executor;
.locals 1
.line 132
iget-object v0, p0, Landroidx/work/Configuration;->mExecutor:Ljava/util/concurrent/Executor;
return-object v0
.end method
.method public getInputMergerFactory()Landroidx/work/InputMergerFactory;
.locals 1
.line 161
iget-object v0, p0, Landroidx/work/Configuration;->mInputMergerFactory:Landroidx/work/InputMergerFactory;
return-object v0
.end method
.method public getMaxJobSchedulerId()I
.locals 1
.line 210
iget v0, p0, Landroidx/work/Configuration;->mMaxJobSchedulerId:I
return v0
.end method
.method public getMaxSchedulerLimit()I
.locals 2
.line 233
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x17
if-ne v0, v1, :cond_0
.line 234
iget v0, p0, Landroidx/work/Configuration;->mMaxSchedulerLimit:I
div-int/lit8 v0, v0, 0x2
return v0
.line 236
:cond_0
iget v0, p0, Landroidx/work/Configuration;->mMaxSchedulerLimit:I
return v0
.end method
.method public getMinJobSchedulerId()I
.locals 1
.line 196
iget v0, p0, Landroidx/work/Configuration;->mMinJobSchedulerId:I
return v0
.end method
.method public getMinimumLoggingLevel()I
.locals 1
.line 182
iget v0, p0, Landroidx/work/Configuration;->mLoggingLevel:I
return v0
.end method
.method public getRunnableScheduler()Landroidx/work/RunnableScheduler;
.locals 1
.line 170
iget-object v0, p0, Landroidx/work/Configuration;->mRunnableScheduler:Landroidx/work/RunnableScheduler;
return-object v0
.end method
.method public getTaskExecutor()Ljava/util/concurrent/Executor;
.locals 1
.line 142
iget-object v0, p0, Landroidx/work/Configuration;->mTaskExecutor:Ljava/util/concurrent/Executor;
return-object v0
.end method
.method public getWorkerFactory()Landroidx/work/WorkerFactory;
.locals 1
.line 153
iget-object v0, p0, Landroidx/work/Configuration;->mWorkerFactory:Landroidx/work/WorkerFactory;
return-object v0
.end method
.method public isUsingDefaultTaskExecutor()Z
.locals 1
.line 246
iget-boolean v0, p0, Landroidx/work/Configuration;->mIsUsingDefaultTaskExecutor:Z
return v0
.end method