zzhj.smali
.class final Lcom/google/android/gms/wearable/internal/zzhj;
.super Ljava/lang/Object;
# interfaces
.implements Ljava/lang/Runnable;
# instance fields
.field private final synthetic zzco:Landroid/net/Uri;
.field private final synthetic zzcq:J
.field private final synthetic zzcr:J
.field private final synthetic zzcs:Ljava/lang/String;
.field private final synthetic zzfh:Lcom/google/android/gms/common/api/internal/BaseImplementation$ResultHolder;
.field private final synthetic zzfi:Lcom/google/android/gms/wearable/internal/zzhg;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method constructor <init>(Lcom/google/android/gms/wearable/internal/zzhg;Landroid/net/Uri;Lcom/google/android/gms/common/api/internal/BaseImplementation$ResultHolder;Ljava/lang/String;JJ)V
.registers 9
.line 1
iput-object p1, p0, Lcom/google/android/gms/wearable/internal/zzhj;->zzfi:Lcom/google/android/gms/wearable/internal/zzhg;
iput-object p2, p0, Lcom/google/android/gms/wearable/internal/zzhj;->zzco:Landroid/net/Uri;
iput-object p3, p0, Lcom/google/android/gms/wearable/internal/zzhj;->zzfh:Lcom/google/android/gms/common/api/internal/BaseImplementation$ResultHolder;
iput-object p4, p0, Lcom/google/android/gms/wearable/internal/zzhj;->zzcs:Ljava/lang/String;
iput-wide p5, p0, Lcom/google/android/gms/wearable/internal/zzhj;->zzcq:J
iput-wide p7, p0, Lcom/google/android/gms/wearable/internal/zzhj;->zzcr:J
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final run()V
.registers 13
.line 2
const-string v0, "Failed to close sourceFd"
const-string v1, "WearableClient"
const/4 v2, 0x2
invoke-static {v1, v2}, Landroid/util/Log;->isLoggable(Ljava/lang/String;I)Z
move-result v2
if-eqz v2, :cond_10
.line 3
const-string v2, "Executing sendFileToChannelTask"
invoke-static {v1, v2}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
.line 4
:cond_10
iget-object v2, p0, Lcom/google/android/gms/wearable/internal/zzhj;->zzco:Landroid/net/Uri;
invoke-virtual {v2}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
move-result-object v2
const-string v3, "file"
invoke-virtual {v3, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_30
.line 5
const-string v0, "Channel.sendFile used with non-file URI"
invoke-static {v1, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 6
iget-object v1, p0, Lcom/google/android/gms/wearable/internal/zzhj;->zzfh:Lcom/google/android/gms/common/api/internal/BaseImplementation$ResultHolder;
new-instance v2, Lcom/google/android/gms/common/api/Status;
const/16 v3, 0xa
invoke-direct {v2, v3, v0}, Lcom/google/android/gms/common/api/Status;-><init>(ILjava/lang/String;)V
invoke-interface {v1, v2}, Lcom/google/android/gms/common/api/internal/BaseImplementation$ResultHolder;->setFailedResult(Lcom/google/android/gms/common/api/Status;)V
.line 7
return-void
.line 8
:cond_30
new-instance v2, Ljava/io/File;
iget-object v3, p0, Lcom/google/android/gms/wearable/internal/zzhj;->zzco:Landroid/net/Uri;
invoke-virtual {v3}, Landroid/net/Uri;->getPath()Ljava/lang/String;
move-result-object v3
invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 9
const/high16 v3, 0x10000000
:try_start_3d
invoke-static {v2, v3}, Landroid/os/ParcelFileDescriptor;->open(Ljava/io/File;I)Landroid/os/ParcelFileDescriptor;
move-result-object v2
:try_end_41
.catch Ljava/io/FileNotFoundException; {:try_start_3d .. :try_end_41} :catch_8b
.line 10
nop
.line 15
:try_start_42
iget-object v3, p0, Lcom/google/android/gms/wearable/internal/zzhj;->zzfi:Lcom/google/android/gms/wearable/internal/zzhg;
invoke-virtual {v3}, Lcom/google/android/gms/wearable/internal/zzhg;->getService()Landroid/os/IInterface;
move-result-object v3
move-object v4, v3
check-cast v4, Lcom/google/android/gms/wearable/internal/zzep;
new-instance v5, Lcom/google/android/gms/wearable/internal/zzhc;
iget-object v3, p0, Lcom/google/android/gms/wearable/internal/zzhj;->zzfh:Lcom/google/android/gms/common/api/internal/BaseImplementation$ResultHolder;
invoke-direct {v5, v3}, Lcom/google/android/gms/wearable/internal/zzhc;-><init>(Lcom/google/android/gms/common/api/internal/BaseImplementation$ResultHolder;)V
iget-object v6, p0, Lcom/google/android/gms/wearable/internal/zzhj;->zzcs:Ljava/lang/String;
iget-wide v8, p0, Lcom/google/android/gms/wearable/internal/zzhj;->zzcq:J
iget-wide v10, p0, Lcom/google/android/gms/wearable/internal/zzhj;->zzcr:J
.line 16
move-object v7, v2
invoke-interface/range {v4 .. v11}, Lcom/google/android/gms/wearable/internal/zzep;->zza(Lcom/google/android/gms/wearable/internal/zzek;Ljava/lang/String;Landroid/os/ParcelFileDescriptor;JJ)V
:try_end_5c
.catch Landroid/os/RemoteException; {:try_start_42 .. :try_end_5c} :catch_67
.catchall {:try_start_42 .. :try_end_5c} :catchall_65
.line 17
:try_start_5c
invoke-virtual {v2}, Landroid/os/ParcelFileDescriptor;->close()V
:try_end_5f
.catch Ljava/io/IOException; {:try_start_5c .. :try_end_5f} :catch_60
.line 18
return-void
.line 19
:catch_60
move-exception v2
.line 20
invoke-static {v1, v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 21
return-void
.line 30
:catchall_65
move-exception v3
goto :goto_82
.line 22
:catch_67
move-exception v3
.line 23
:try_start_68
const-string v4, "Channel.sendFile failed."
invoke-static {v1, v4, v3}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 24
iget-object v3, p0, Lcom/google/android/gms/wearable/internal/zzhj;->zzfh:Lcom/google/android/gms/common/api/internal/BaseImplementation$ResultHolder;
new-instance v4, Lcom/google/android/gms/common/api/Status;
const/16 v5, 0x8
invoke-direct {v4, v5}, Lcom/google/android/gms/common/api/Status;-><init>(I)V
invoke-interface {v3, v4}, Lcom/google/android/gms/common/api/internal/BaseImplementation$ResultHolder;->setFailedResult(Lcom/google/android/gms/common/api/Status;)V
:try_end_79
.catchall {:try_start_68 .. :try_end_79} :catchall_65
.line 25
:try_start_79
invoke-virtual {v2}, Landroid/os/ParcelFileDescriptor;->close()V
:try_end_7c
.catch Ljava/io/IOException; {:try_start_79 .. :try_end_7c} :catch_7d
.line 26
return-void
.line 27
:catch_7d
move-exception v2
.line 28
invoke-static {v1, v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 29
return-void
.line 31
:goto_82
:try_start_82
invoke-virtual {v2}, Landroid/os/ParcelFileDescriptor;->close()V
:try_end_85
.catch Ljava/io/IOException; {:try_start_82 .. :try_end_85} :catch_86
.line 32
goto :goto_8a
.line 33
:catch_86
move-exception v2
.line 34
invoke-static {v1, v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 35
:goto_8a
throw v3
.line 11
:catch_8b
move-exception v0
.line 12
invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v2
add-int/lit8 v2, v2, 0x2e
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3, v2}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v2, "File couldn\'t be opened for Channel.sendFile: "
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v1, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 13
iget-object v0, p0, Lcom/google/android/gms/wearable/internal/zzhj;->zzfh:Lcom/google/android/gms/common/api/internal/BaseImplementation$ResultHolder;
new-instance v1, Lcom/google/android/gms/common/api/Status;
const/16 v2, 0xd
invoke-direct {v1, v2}, Lcom/google/android/gms/common/api/Status;-><init>(I)V
invoke-interface {v0, v1}, Lcom/google/android/gms/common/api/internal/BaseImplementation$ResultHolder;->setFailedResult(Lcom/google/android/gms/common/api/Status;)V
.line 14
return-void
.end method