MoreExecutors.smali
.class public final Lcom/google/common/util/concurrent/MoreExecutors;
.super Ljava/lang/Object;
.source "MoreExecutors.java"
# direct methods
.method static a(Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Thread;
.registers 4
.prologue
.line 814
invoke-static {p0}, Lcom/google/common/base/n;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 815
invoke-static {p1}, Lcom/google/common/base/n;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 816
invoke-static {}, Lcom/google/common/util/concurrent/MoreExecutors;->yf()Ljava/util/concurrent/ThreadFactory;
move-result-object v0
invoke-interface {v0, p1}, Ljava/util/concurrent/ThreadFactory;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;
move-result-object v0
.line 818
:try_start_e
invoke-virtual {v0, p0}, Ljava/lang/Thread;->setName(Ljava/lang/String;)V
:try_end_11
.catch Ljava/lang/SecurityException; {:try_start_e .. :try_end_11} :catch_12
.line 822
:goto_11
return-object v0
:catch_12
move-exception v1
goto :goto_11
.end method
.method static a(Ljava/util/concurrent/Executor;Lcom/google/common/base/u;)Ljava/util/concurrent/Executor;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/concurrent/Executor;",
"Lcom/google/common/base/u",
"<",
"Ljava/lang/String;",
">;)",
"Ljava/util/concurrent/Executor;"
}
.end annotation
.prologue
.line 841
invoke-static {p0}, Lcom/google/common/base/n;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 842
invoke-static {p1}, Lcom/google/common/base/n;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 843
invoke-static {}, Lcom/google/common/util/concurrent/MoreExecutors;->yg()Z
move-result v0
if-eqz v0, :cond_d
.line 847
:goto_c
return-object p0
:cond_d
new-instance v0, Lcom/google/common/util/concurrent/MoreExecutors$1;
invoke-direct {v0, p0, p1}, Lcom/google/common/util/concurrent/MoreExecutors$1;-><init>(Ljava/util/concurrent/Executor;Lcom/google/common/base/u;)V
move-object p0, v0
goto :goto_c
.end method
.method public static c(Ljava/util/concurrent/ExecutorService;)Lcom/google/common/util/concurrent/ad;
.registers 2
.prologue
.line 481
instance-of v0, p0, Lcom/google/common/util/concurrent/ad;
if-eqz v0, :cond_7
check-cast p0, Lcom/google/common/util/concurrent/ad;
:goto_6
return-object p0
:cond_7
instance-of v0, p0, Ljava/util/concurrent/ScheduledExecutorService;
if-eqz v0, :cond_14
new-instance v0, Lcom/google/common/util/concurrent/aj;
check-cast p0, Ljava/util/concurrent/ScheduledExecutorService;
invoke-direct {v0, p0}, Lcom/google/common/util/concurrent/aj;-><init>(Ljava/util/concurrent/ScheduledExecutorService;)V
move-object p0, v0
goto :goto_6
:cond_14
new-instance v0, Lcom/google/common/util/concurrent/ai;
invoke-direct {v0, p0}, Lcom/google/common/util/concurrent/ai;-><init>(Ljava/util/concurrent/ExecutorService;)V
move-object p0, v0
goto :goto_6
.end method
.method private static yf()Ljava/util/concurrent/ThreadFactory;
.registers 3
.prologue
.line 767
invoke-static {}, Lcom/google/common/util/concurrent/MoreExecutors;->yg()Z
move-result v0
if-nez v0, :cond_b
.line 768
invoke-static {}, Ljava/util/concurrent/Executors;->defaultThreadFactory()Ljava/util/concurrent/ThreadFactory;
move-result-object v0
.line 771
:goto_a
return-object v0
:cond_b
:try_start_b
const-string v0, "com.google.appengine.api.ThreadManager"
invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
const-string v1, "currentRequestThreadFactory"
const/4 v2, 0x0
new-array v2, v2, [Ljava/lang/Class;
invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
const/4 v1, 0x0
const/4 v2, 0x0
new-array v2, v2, [Ljava/lang/Object;
invoke-virtual {v0, v1, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/concurrent/ThreadFactory;
:try_end_24
.catch Ljava/lang/IllegalAccessException; {:try_start_b .. :try_end_24} :catch_25
.catch Ljava/lang/ClassNotFoundException; {:try_start_b .. :try_end_24} :catch_2e
.catch Ljava/lang/NoSuchMethodException; {:try_start_b .. :try_end_24} :catch_37
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_b .. :try_end_24} :catch_40
goto :goto_a
.line 774
:catch_25
move-exception v0
.line 775
new-instance v1, Ljava/lang/RuntimeException;
const-string v2, "Couldn\'t invoke ThreadManager.currentRequestThreadFactory"
invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
.line 776
:catch_2e
move-exception v0
.line 777
new-instance v1, Ljava/lang/RuntimeException;
const-string v2, "Couldn\'t invoke ThreadManager.currentRequestThreadFactory"
invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
.line 778
:catch_37
move-exception v0
.line 779
new-instance v1, Ljava/lang/RuntimeException;
const-string v2, "Couldn\'t invoke ThreadManager.currentRequestThreadFactory"
invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
.line 781
:catch_40
move-exception v0
invoke-virtual {v0}, Ljava/lang/reflect/InvocationTargetException;->getCause()Ljava/lang/Throwable;
move-result-object v0
invoke-static {v0}, Lcom/google/common/base/v;->c(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
move-result-object v0
throw v0
.end method
.method private static yg()Z
.registers 4
.prologue
const/4 v0, 0x0
.line 786
const-string v1, "com.google.appengine.runtime.environment"
invoke-static {v1}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
if-nez v1, :cond_a
.line 805
:cond_9
:goto_9
return v0
.line 791
:cond_a
:try_start_a
const-string v1, "com.google.apphosting.api.ApiProxy"
invoke-static {v1}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v1
const-string v2, "getCurrentEnvironment"
const/4 v3, 0x0
new-array v3, v3, [Ljava/lang/Class;
invoke-virtual {v1, v2, v3}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v1
const/4 v2, 0x0
const/4 v3, 0x0
new-array v3, v3, [Ljava/lang/Object;
invoke-virtual {v1, v2, v3}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
:try_end_20
.catch Ljava/lang/ClassNotFoundException; {:try_start_a .. :try_end_20} :catch_2b
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_a .. :try_end_20} :catch_29
.catch Ljava/lang/IllegalAccessException; {:try_start_a .. :try_end_20} :catch_27
.catch Ljava/lang/NoSuchMethodException; {:try_start_a .. :try_end_20} :catch_25
move-result-object v1
if-eqz v1, :cond_9
const/4 v0, 0x1
goto :goto_9
.line 805
:catch_25
move-exception v1
goto :goto_9
.line 802
:catch_27
move-exception v1
goto :goto_9
.line 799
:catch_29
move-exception v1
goto :goto_9
.line 796
:catch_2b
move-exception v1
goto :goto_9
.end method