c.smali
.class public Lc/k/a/c;
.super Landroid/os/Handler;
.source "GameRecord.java"
# static fields
.field private static a:Ljava/lang/String; = "c"
# instance fields
.field private b:Ljava/lang/String;
.field private c:J
.field private d:Ljava/lang/String;
.field private e:Landroid/media/MediaRecorder;
.field private f:Lc/k/a/b;
# direct methods
.method public constructor <init>(Landroid/os/Looper;Ljava/lang/String;Lc/k/a/b;)V
.registers 4
.line 1
invoke-direct {p0, p1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
.line 2
iput-object p3, p0, Lc/k/a/c;->f:Lc/k/a/b;
.line 3
iput-object p2, p0, Lc/k/a/c;->b:Ljava/lang/String;
.line 4
new-instance p1, Ljava/io/File;
iget-object p2, p0, Lc/k/a/c;->b:Ljava/lang/String;
invoke-direct {p1, p2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 5
invoke-virtual {p1}, Ljava/io/File;->exists()Z
move-result p2
if-nez p2, :cond_17
.line 6
invoke-virtual {p1}, Ljava/io/File;->mkdirs()Z
:cond_17
return-void
.end method
.method private a(Ljava/lang/String;)V
.registers 3
.line 10
sget-object v0, Lc/k/a/c;->a:Ljava/lang/String;
invoke-static {v0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
.end method
.method private declared-synchronized b()V
.registers 7
monitor-enter p0
.line 1
:try_start_1
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v0
iput-wide v0, p0, Lc/k/a/c;->c:J
:try_end_7
.catchall {:try_start_1 .. :try_end_7} :catchall_d5
const/4 v0, 0x0
.line 2
:try_start_8
iget-object v1, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
if-eqz v1, :cond_1d
.line 3
iget-object v1, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
invoke-virtual {v1}, Landroid/media/MediaRecorder;->reset()V
.line 4
iget-object v1, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
invoke-virtual {v1}, Landroid/media/MediaRecorder;->release()V
.line 5
iput-object v0, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
:try_end_18
.catch Ljava/lang/Exception; {:try_start_8 .. :try_end_18} :catch_19
.catchall {:try_start_8 .. :try_end_18} :catchall_d5
goto :goto_1d
:catch_19
move-exception v1
.line 6
:try_start_1a
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
.line 7
:cond_1d
:goto_1d
new-instance v1, Landroid/media/MediaRecorder;
invoke-direct {v1}, Landroid/media/MediaRecorder;-><init>()V
iput-object v1, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
:try_end_24
.catch Ljava/lang/Exception; {:try_start_1a .. :try_end_24} :catch_8f
.catchall {:try_start_1a .. :try_end_24} :catchall_d5
const/16 v1, 0x1f0e
.line 8
:try_start_26
iget-object v2, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
const/16 v3, 0x1f40
invoke-virtual {v2, v3}, Landroid/media/MediaRecorder;->setAudioSamplingRate(I)V
.line 9
iget-object v2, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
invoke-virtual {v2, v1}, Landroid/media/MediaRecorder;->setAudioEncodingBitRate(I)V
:try_end_32
.catch Ljava/lang/Exception; {:try_start_26 .. :try_end_32} :catch_33
.catchall {:try_start_26 .. :try_end_32} :catchall_d5
goto :goto_37
:catch_33
move-exception v1
.line 10
:try_start_34
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
.line 11
:goto_37
iget-object v1, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
const/4 v2, 0x1
invoke-virtual {v1, v2}, Landroid/media/MediaRecorder;->setAudioChannels(I)V
.line 12
iget-object v1, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
invoke-virtual {v1, v2}, Landroid/media/MediaRecorder;->setAudioSource(I)V
.line 13
iget-object v1, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
const/4 v2, 0x6
invoke-virtual {v1, v2}, Landroid/media/MediaRecorder;->setOutputFormat(I)V
.line 14
iget-object v1, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
const/4 v2, 0x3
invoke-virtual {v1, v2}, Landroid/media/MediaRecorder;->setAudioEncoder(I)V
.line 15
new-instance v1, Ljava/io/File;
iget-object v2, p0, Lc/k/a/c;->b:Ljava/lang/String;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "temp_record_"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v4, ".voice"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-direct {v1, v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {v1}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object v1
iput-object v1, p0, Lc/k/a/c;->d:Ljava/lang/String;
.line 16
iget-object v1, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
iget-object v2, p0, Lc/k/a/c;->d:Ljava/lang/String;
invoke-virtual {v1, v2}, Landroid/media/MediaRecorder;->setOutputFile(Ljava/lang/String;)V
.line 17
iget-object v1, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
const v2, 0xea60
invoke-virtual {v1, v2}, Landroid/media/MediaRecorder;->setMaxDuration(I)V
.line 18
iget-object v1, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
invoke-virtual {v1}, Landroid/media/MediaRecorder;->prepare()V
.line 19
iget-object v1, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
invoke-virtual {v1}, Landroid/media/MediaRecorder;->start()V
:try_end_8e
.catch Ljava/lang/Exception; {:try_start_34 .. :try_end_8e} :catch_8f
.catchall {:try_start_34 .. :try_end_8e} :catchall_d5
goto :goto_cd
:catch_8f
move-exception v1
const/4 v2, 0x0
.line 20
:try_start_91
iget-object v3, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
if-eqz v3, :cond_a1
.line 21
iget-object v3, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
invoke-virtual {v3}, Landroid/media/MediaRecorder;->reset()V
.line 22
iget-object v3, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
invoke-virtual {v3}, Landroid/media/MediaRecorder;->release()V
.line 23
iput-object v0, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
.line 24
:cond_a1
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
:try_end_a4
.catch Ljava/lang/Exception; {:try_start_91 .. :try_end_a4} :catch_ac
.catchall {:try_start_91 .. :try_end_a4} :catchall_aa
.line 25
:try_start_a4
iget-object v0, p0, Lc/k/a/c;->f:Lc/k/a/b;
:goto_a6
invoke-interface {v0, v2}, Lc/k/a/b;->onRecordFailure(I)V
:try_end_a9
.catchall {:try_start_a4 .. :try_end_a9} :catchall_d5
goto :goto_cd
:catchall_aa
move-exception v0
goto :goto_cf
:catch_ac
move-exception v0
.line 26
:try_start_ad
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
const-string v0, "GameRecord"
.line 27
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Exception e: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
:try_end_ca
.catchall {:try_start_ad .. :try_end_ca} :catchall_aa
.line 28
:try_start_ca
iget-object v0, p0, Lc/k/a/c;->f:Lc/k/a/b;
:try_end_cc
.catchall {:try_start_ca .. :try_end_cc} :catchall_d5
goto :goto_a6
.line 29
:goto_cd
monitor-exit p0
return-void
.line 30
:goto_cf
:try_start_cf
iget-object v1, p0, Lc/k/a/c;->f:Lc/k/a/b;
invoke-interface {v1, v2}, Lc/k/a/b;->onRecordFailure(I)V
.line 31
throw v0
:try_end_d5
.catchall {:try_start_cf .. :try_end_d5} :catchall_d5
:catchall_d5
move-exception v0
monitor-exit p0
goto :goto_d9
:goto_d8
throw v0
:goto_d9
goto :goto_d8
.end method
.method private declared-synchronized c()V
.registers 5
monitor-enter p0
.line 1
:try_start_1
iget-object v0, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
:try_end_3
.catchall {:try_start_1 .. :try_end_3} :catchall_52
if-eqz v0, :cond_50
const/4 v0, 0x0
.line 2
:try_start_6
iget-object v1, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
invoke-virtual {v1}, Landroid/media/MediaRecorder;->stop()V
.line 3
iget-object v1, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
invoke-virtual {v1}, Landroid/media/MediaRecorder;->reset()V
.line 4
iget-object v1, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
invoke-virtual {v1}, Landroid/media/MediaRecorder;->release()V
:try_end_15
.catch Ljava/lang/Exception; {:try_start_6 .. :try_end_15} :catch_1a
.catchall {:try_start_6 .. :try_end_15} :catchall_18
.line 5
:goto_15
:try_start_15
iput-object v0, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
:try_end_17
.catchall {:try_start_15 .. :try_end_17} :catchall_52
goto :goto_1f
:catchall_18
move-exception v1
goto :goto_4d
:catch_1a
move-exception v1
.line 6
:try_start_1b
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
:try_end_1e
.catchall {:try_start_1b .. :try_end_1e} :catchall_18
goto :goto_15
.line 7
:goto_1f
:try_start_1f
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v0
iget-wide v2, p0, Lc/k/a/c;->c:J
sub-long/2addr v0, v2
long-to-int v1, v0
.line 8
new-instance v0, Ljava/io/File;
iget-object v2, p0, Lc/k/a/c;->d:Ljava/lang/String;
invoke-direct {v0, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 9
iget-object v2, p0, Lc/k/a/c;->d:Ljava/lang/String;
if-eqz v2, :cond_44
const/16 v2, 0x3e8
if-le v1, v2, :cond_44
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v2
if-eqz v2, :cond_44
.line 10
iget-object v0, p0, Lc/k/a/c;->f:Lc/k/a/b;
iget-object v2, p0, Lc/k/a/c;->d:Ljava/lang/String;
invoke-interface {v0, v1, v2}, Lc/k/a/b;->onRecordSuccess(ILjava/lang/String;)V
goto :goto_50
.line 11
:cond_44
iget-object v2, p0, Lc/k/a/c;->f:Lc/k/a/b;
invoke-interface {v2, v1}, Lc/k/a/b;->onRecordFailure(I)V
.line 12
invoke-virtual {v0}, Ljava/io/File;->delete()Z
goto :goto_50
.line 13
:goto_4d
iput-object v0, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
.line 14
throw v1
:try_end_50
.catchall {:try_start_1f .. :try_end_50} :catchall_52
.line 15
:cond_50
:goto_50
monitor-exit p0
return-void
:catchall_52
move-exception v0
monitor-exit p0
goto :goto_56
:goto_55
throw v0
:goto_56
goto :goto_55
.end method
# virtual methods
.method public declared-synchronized a()V
.registers 3
monitor-enter p0
.line 1
:try_start_1
iget-object v0, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
:try_end_3
.catchall {:try_start_1 .. :try_end_3} :catchall_24
if-eqz v0, :cond_22
const/4 v0, 0x0
.line 2
:try_start_6
iget-object v1, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
invoke-virtual {v1}, Landroid/media/MediaRecorder;->stop()V
.line 3
iget-object v1, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
invoke-virtual {v1}, Landroid/media/MediaRecorder;->reset()V
.line 4
iget-object v1, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
invoke-virtual {v1}, Landroid/media/MediaRecorder;->release()V
:try_end_15
.catch Ljava/lang/Exception; {:try_start_6 .. :try_end_15} :catch_1a
.catchall {:try_start_6 .. :try_end_15} :catchall_18
.line 5
:goto_15
:try_start_15
iput-object v0, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
:try_end_17
.catchall {:try_start_15 .. :try_end_17} :catchall_24
goto :goto_22
:catchall_18
move-exception v1
goto :goto_1f
:catch_1a
move-exception v1
.line 6
:try_start_1b
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
:try_end_1e
.catchall {:try_start_1b .. :try_end_1e} :catchall_18
goto :goto_15
.line 7
:goto_1f
:try_start_1f
iput-object v0, p0, Lc/k/a/c;->e:Landroid/media/MediaRecorder;
.line 8
throw v1
:try_end_22
.catchall {:try_start_1f .. :try_end_22} :catchall_24
.line 9
:cond_22
:goto_22
monitor-exit p0
return-void
:catchall_24
move-exception v0
monitor-exit p0
goto :goto_28
:goto_27
throw v0
:goto_28
goto :goto_27
.end method
.method public handleMessage(Landroid/os/Message;)V
.registers 4
.line 1
iget v0, p1, Landroid/os/Message;->what:I
const/4 v1, 0x1
if-eq v0, v1, :cond_14
const/4 v1, 0x2
if-eq v0, v1, :cond_10
const/4 v1, 0x3
if-eq v0, v1, :cond_c
goto :goto_17
.line 2
:cond_c
invoke-virtual {p0}, Lc/k/a/c;->a()V
goto :goto_17
.line 3
:cond_10
invoke-direct {p0}, Lc/k/a/c;->c()V
goto :goto_17
.line 4
:cond_14
invoke-direct {p0}, Lc/k/a/c;->b()V
.line 5
:goto_17
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "------------------------------------------- what: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget p1, p1, Landroid/os/Message;->what:I
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p0, p1}, Lc/k/a/c;->a(Ljava/lang/String;)V
return-void
.end method