LogExceptionRunnable.smali
.class public final Lio/grpc/internal/LogExceptionRunnable;
.super Ljava/lang/Object;
.source "LogExceptionRunnable.java"
# interfaces
.implements Ljava/lang/Runnable;
# static fields
.field private static final log:Ljava/util/logging/Logger;
# instance fields
.field private final task:Ljava/lang/Runnable;
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 1
const-class v0, Lio/grpc/internal/LogExceptionRunnable;
invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/util/logging/Logger;->getLogger(Ljava/lang/String;)Ljava/util/logging/Logger;
move-result-object v0
sput-object v0, Lio/grpc/internal/LogExceptionRunnable;->log:Ljava/util/logging/Logger;
return-void
.end method
.method public constructor <init>(Ljava/lang/Runnable;)V
.registers 2
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
invoke-static {p1}, Lcom/google/common/base/r;->a(Ljava/lang/Object;)Ljava/lang/Object;
check-cast p1, Ljava/lang/Runnable;
iput-object p1, p0, Lio/grpc/internal/LogExceptionRunnable;->task:Ljava/lang/Runnable;
return-void
.end method
# virtual methods
.method public run()V
.registers 6
.line 1
:try_start_0
iget-object v0, p0, Lio/grpc/internal/LogExceptionRunnable;->task:Ljava/lang/Runnable;
invoke-interface {v0}, Ljava/lang/Runnable;->run()V
:try_end_5
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_5} :catch_6
return-void
:catch_6
move-exception v0
.line 2
sget-object v1, Lio/grpc/internal/LogExceptionRunnable;->log:Ljava/util/logging/Logger;
sget-object v2, Ljava/util/logging/Level;->SEVERE:Ljava/util/logging/Level;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Exception while executing runnable "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v4, p0, Lio/grpc/internal/LogExceptionRunnable;->task:Ljava/lang/Runnable;
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v2, v3, v0}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 3
instance-of v1, v0, Ljava/lang/RuntimeException;
if-eqz v1, :cond_28
check-cast v0, Ljava/lang/RuntimeException;
goto :goto_2e
:cond_28
new-instance v1, Ljava/lang/RuntimeException;
invoke-direct {v1, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
move-object v0, v1
:goto_2e
throw v0
.end method
.method public toString()Ljava/lang/String;
.registers 3
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "LogExceptionRunnable("
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lio/grpc/internal/LogExceptionRunnable;->task:Ljava/lang/Runnable;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, ")"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method