AsyncTaskExecutorInjector.smali
.class Lorg/acdd/android/task/AsyncTaskExecutorInjector;
.super Ljava/lang/Object;
.source "AsyncTaskExecutorInjector.java"
# direct methods
.method constructor <init>()V
.registers 1
.prologue
.line 37
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method static installAsDefaultAsyncTaskExecutor(Ljava/util/concurrent/ThreadPoolExecutor;)Z
.registers 8
.prologue
const/4 v1, 0x0
const/4 v0, 0x1
.line 133
sget v2, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v3, 0xb
if-lt v2, v3, :cond_18
.line 135
:try_start_8
const-class v2, Landroid/os/AsyncTask;
const-string v3, "THREAD_POOL_EXECUTOR"
.line 136
invoke-virtual {v2, v3}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v2
.line 137
const/4 v3, 0x1
invoke-virtual {v2, v3}, Ljava/lang/reflect/Field;->setAccessible(Z)V
.line 138
const/4 v3, 0x0
invoke-virtual {v2, v3, p0}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_18
.catch Ljava/lang/Exception; {:try_start_8 .. :try_end_18} :catch_61
.line 143
:cond_18
:goto_18
:try_start_18
const-class v2, Landroid/os/AsyncTask;
const-string/jumbo v3, "setDefaultExecutor"
const/4 v4, 0x1
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
const-class v6, Ljava/util/concurrent/Executor;
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v2
.line 145
const/4 v3, 0x1
invoke-virtual {v2, v3}, Ljava/lang/reflect/Method;->setAccessible(Z)V
.line 146
const/4 v3, 0x0
const/4 v4, 0x1
new-array v4, v4, [Ljava/lang/Object;
const/4 v5, 0x0
aput-object p0, v4, v5
invoke-virtual {v2, v3, v4}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
:try_end_37
.catch Ljava/lang/Exception; {:try_start_18 .. :try_end_37} :catch_38
.line 164
:goto_37
return v0
.line 148
:catch_38
move-exception v2
.line 151
:try_start_39
const-class v2, Landroid/os/AsyncTask;
const-string/jumbo v3, "sDefaultExecutor"
.line 152
invoke-virtual {v2, v3}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v2
.line 153
const/4 v3, 0x1
invoke-virtual {v2, v3}, Ljava/lang/reflect/Field;->setAccessible(Z)V
.line 154
const/4 v3, 0x0
invoke-virtual {v2, v3, p0}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_4a
.catch Ljava/lang/Exception; {:try_start_39 .. :try_end_4a} :catch_4b
goto :goto_37
.line 156
:catch_4b
move-exception v2
.line 158
:try_start_4c
const-class v2, Landroid/os/AsyncTask;
const-string/jumbo v3, "sExecutor"
.line 159
invoke-virtual {v2, v3}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v2
.line 160
const/4 v3, 0x1
invoke-virtual {v2, v3}, Ljava/lang/reflect/Field;->setAccessible(Z)V
.line 161
const/4 v3, 0x0
invoke-virtual {v2, v3, p0}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_5d
.catch Ljava/lang/Exception; {:try_start_4c .. :try_end_5d} :catch_5e
goto :goto_37
.line 163
:catch_5e
move-exception v0
move v0, v1
.line 164
goto :goto_37
.line 139
:catch_61
move-exception v2
goto :goto_18
.end method