d.smali
.class public Lc/k/a/d;
.super Landroid/os/Handler;
.source "PlayVoice.java"
# interfaces
.implements Landroid/media/MediaPlayer$OnCompletionListener;
# static fields
.field private static a:Ljava/lang/String; = "d"
# instance fields
.field private b:Ljava/util/LinkedList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/LinkedList<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field private c:Landroid/media/MediaPlayer;
.field private d:Ljava/lang/String;
.field private e:Lc/k/a/b;
.field private f:Z
# direct methods
.method public constructor <init>(Landroid/os/Looper;Lc/k/a/b;)V
.registers 3
.line 1
invoke-direct {p0, p1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
.line 2
new-instance p1, Ljava/util/LinkedList;
invoke-direct {p1}, Ljava/util/LinkedList;-><init>()V
iput-object p1, p0, Lc/k/a/d;->b:Ljava/util/LinkedList;
.line 3
iput-object p2, p0, Lc/k/a/d;->e:Lc/k/a/b;
return-void
.end method
.method private a(Ljava/lang/String;)V
.registers 3
if-eqz p1, :cond_7
.line 6
iget-object v0, p0, Lc/k/a/d;->b:Ljava/util/LinkedList;
invoke-virtual {v0, p1}, Ljava/util/LinkedList;->add(Ljava/lang/Object;)Z
.line 7
:cond_7
iget-boolean p1, p0, Lc/k/a/d;->f:Z
if-eqz p1, :cond_c
return-void
.line 8
:cond_c
:try_start_c
iget-object p1, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
if-eqz p1, :cond_20
iget-object p1, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
invoke-virtual {p1}, Landroid/media/MediaPlayer;->isPlaying()Z
move-result p1
:try_end_16
.catch Ljava/lang/IllegalStateException; {:try_start_c .. :try_end_16} :catch_19
if-eqz p1, :cond_20
return-void
:catch_19
const-string p1, "PlayVoice"
const-string v0, "noPlaying"
.line 9
invoke-static {p1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 10
:cond_20
invoke-direct {p0}, Lc/k/a/d;->c()V
return-void
.end method
.method private b(Ljava/lang/String;)V
.registers 3
.line 9
sget-object v0, Lc/k/a/d;->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 c()V
.registers 4
const-string v0, "PlayVoice"
const-string v1, "playNext"
.line 6
invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 7
iget-object v1, p0, Lc/k/a/d;->b:Ljava/util/LinkedList;
invoke-virtual {v1}, Ljava/util/LinkedList;->size()I
move-result v1
if-gtz v1, :cond_10
return-void
.line 8
:cond_10
:try_start_10
iget-object v1, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
if-eqz v1, :cond_32
.line 9
iget-object v1, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
invoke-virtual {v1}, Landroid/media/MediaPlayer;->isPlaying()Z
move-result v1
if-eqz v1, :cond_26
.line 10
iget-object v1, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
invoke-virtual {v1}, Landroid/media/MediaPlayer;->stop()V
.line 11
iget-object v1, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
invoke-virtual {v1}, Landroid/media/MediaPlayer;->release()V
:cond_26
const/4 v1, 0x0
.line 12
iput-boolean v1, p0, Lc/k/a/d;->f:Z
const/4 v1, 0x0
.line 13
iput-object v1, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
:try_end_2c
.catch Ljava/lang/RuntimeException; {:try_start_10 .. :try_end_2c} :catch_2d
goto :goto_32
:catch_2d
const-string v1, "noPlaying"
.line 14
invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 15
:cond_32
:goto_32
new-instance v1, Landroid/media/MediaPlayer;
invoke-direct {v1}, Landroid/media/MediaPlayer;-><init>()V
iput-object v1, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
.line 16
iget-object v1, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
invoke-virtual {v1, p0}, Landroid/media/MediaPlayer;->setOnCompletionListener(Landroid/media/MediaPlayer$OnCompletionListener;)V
.line 17
iget-object v1, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
sget-object v2, Lc/k/a/a;->a:Lc/k/a/a;
invoke-virtual {v1, v2}, Landroid/media/MediaPlayer;->setOnPreparedListener(Landroid/media/MediaPlayer$OnPreparedListener;)V
.line 18
iget-object v1, p0, Lc/k/a/d;->b:Ljava/util/LinkedList;
invoke-virtual {v1}, Ljava/util/LinkedList;->remove()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
iput-object v1, p0, Lc/k/a/d;->d:Ljava/lang/String;
.line 19
new-instance v1, Ljava/io/File;
iget-object v2, p0, Lc/k/a/d;->d:Ljava/lang/String;
invoke-direct {v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 20
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v2
if-eqz v2, :cond_81
const-string v2, "file.exists()true"
.line 21
invoke-static {v0, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 22
:try_start_61
new-instance v0, Ljava/io/FileInputStream;
invoke-direct {v0, v1}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
.line 23
iget-object v1, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
invoke-virtual {v0}, Ljava/io/FileInputStream;->getFD()Ljava/io/FileDescriptor;
move-result-object v0
invoke-virtual {v1, v0}, Landroid/media/MediaPlayer;->setDataSource(Ljava/io/FileDescriptor;)V
.line 24
iget-object v0, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
invoke-virtual {v0}, Landroid/media/MediaPlayer;->prepare()V
.line 25
iget-object v0, p0, Lc/k/a/d;->e:Lc/k/a/b;
iget-object v1, p0, Lc/k/a/d;->d:Ljava/lang/String;
invoke-interface {v0, v1}, Lc/k/a/b;->onPlayStart(Ljava/lang/String;)V
:try_end_7b
.catch Ljava/io/IOException; {:try_start_61 .. :try_end_7b} :catch_7c
goto :goto_89
:catch_7c
move-exception v0
.line 26
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
goto :goto_89
:cond_81
const-string v1, "file.exists()false"
.line 27
invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 28
invoke-direct {p0}, Lc/k/a/d;->c()V
:goto_89
return-void
.end method
.method private c(Ljava/lang/String;)V
.registers 4
if-eqz p1, :cond_8
.line 1
iget-object v0, p0, Lc/k/a/d;->b:Ljava/util/LinkedList;
const/4 v1, 0x0
invoke-virtual {v0, v1, p1}, Ljava/util/LinkedList;->add(ILjava/lang/Object;)V
.line 2
:cond_8
iget-boolean p1, p0, Lc/k/a/d;->f:Z
if-eqz p1, :cond_d
return-void
.line 3
:cond_d
:try_start_d
iget-object p1, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
if-eqz p1, :cond_21
iget-object p1, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
invoke-virtual {p1}, Landroid/media/MediaPlayer;->isPlaying()Z
move-result p1
:try_end_17
.catch Ljava/lang/IllegalStateException; {:try_start_d .. :try_end_17} :catch_1a
if-eqz p1, :cond_21
return-void
:catch_1a
const-string p1, "PlayVoice"
const-string v0, "noPlaying"
.line 4
invoke-static {p1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 5
:cond_21
invoke-direct {p0}, Lc/k/a/d;->c()V
return-void
.end method
.method private d()V
.registers 4
const/4 v0, 0x0
.line 1
:try_start_1
iget-object v1, p0, Lc/k/a/d;->d:Ljava/lang/String;
invoke-virtual {v1}, Ljava/lang/String;->isEmpty()Z
move-result v1
if-nez v1, :cond_14
.line 2
iget-object v1, p0, Lc/k/a/d;->e:Lc/k/a/b;
iget-object v2, p0, Lc/k/a/d;->d:Ljava/lang/String;
invoke-interface {v1, v2}, Lc/k/a/b;->onPlayStop(Ljava/lang/String;)V
const-string v1, ""
.line 3
iput-object v1, p0, Lc/k/a/d;->d:Ljava/lang/String;
.line 4
:cond_14
iget-object v1, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
if-eqz v1, :cond_34
.line 5
iget-object v1, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
invoke-virtual {v1}, Landroid/media/MediaPlayer;->isPlaying()Z
move-result v1
if-eqz v1, :cond_34
.line 6
iget-object v1, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
invoke-virtual {v1}, Landroid/media/MediaPlayer;->stop()V
.line 7
iget-object v1, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
invoke-virtual {v1}, Landroid/media/MediaPlayer;->release()V
:try_end_2a
.catch Ljava/lang/RuntimeException; {:try_start_1 .. :try_end_2a} :catch_2d
.catchall {:try_start_1 .. :try_end_2a} :catchall_2b
goto :goto_34
:catchall_2b
move-exception v1
goto :goto_37
:catch_2d
:try_start_2d
const-string v1, "PlayVoice"
const-string v2, "noPlaying"
.line 8
invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
:try_end_34
.catchall {:try_start_2d .. :try_end_34} :catchall_2b
.line 9
:cond_34
:goto_34
iput-object v0, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
return-void
:goto_37
iput-object v0, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
.line 10
throw v1
.end method
# virtual methods
.method public a()V
.registers 3
.line 1
:try_start_0
iget-object v0, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
if-eqz v0, :cond_20
iget-object v0, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
invoke-virtual {v0}, Landroid/media/MediaPlayer;->isPlaying()Z
move-result v0
if-eqz v0, :cond_20
const/4 v0, 0x1
.line 2
iput-boolean v0, p0, Lc/k/a/d;->f:Z
.line 3
iget-object v0, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
invoke-virtual {v0}, Landroid/media/MediaPlayer;->pause()V
const-string v0, "PlayVoice"
const-string v1, "pause success"
.line 4
invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:try_end_1b
.catch Ljava/lang/IllegalStateException; {:try_start_0 .. :try_end_1b} :catch_1c
goto :goto_20
:catch_1c
move-exception v0
.line 5
invoke-virtual {v0}, Ljava/lang/IllegalStateException;->printStackTrace()V
:cond_20
:goto_20
return-void
.end method
.method public b()V
.registers 3
.line 1
iget-boolean v0, p0, Lc/k/a/d;->f:Z
if-eqz v0, :cond_25
iget-object v0, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
if-eqz v0, :cond_25
const/4 v1, 0x0
.line 2
:try_start_9
iput-boolean v1, p0, Lc/k/a/d;->f:Z
.line 3
invoke-virtual {v0}, Landroid/media/MediaPlayer;->start()V
const-string v0, "PlayVoice"
const-string v1, "resume success"
.line 4
invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:try_end_15
.catch Ljava/lang/Exception; {:try_start_9 .. :try_end_15} :catch_16
goto :goto_25
:catch_16
move-exception v0
.line 5
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
const/4 v0, 0x0
.line 6
:try_start_1b
iget-object v1, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
invoke-virtual {v1}, Landroid/media/MediaPlayer;->release()V
.line 7
iput-object v0, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
:try_end_22
.catch Ljava/lang/Exception; {:try_start_1b .. :try_end_22} :catch_23
goto :goto_25
.line 8
:catch_23
iput-object v0, p0, Lc/k/a/d;->c:Landroid/media/MediaPlayer;
:cond_25
:goto_25
return-void
.end method
.method public handleMessage(Landroid/os/Message;)V
.registers 4
.line 1
iget v0, p1, Landroid/os/Message;->what:I
packed-switch v0, :pswitch_data_3c
goto :goto_25
.line 2
:pswitch_6
invoke-direct {p0}, Lc/k/a/d;->d()V
.line 3
iget-object v0, p0, Lc/k/a/d;->b:Ljava/util/LinkedList;
invoke-virtual {v0}, Ljava/util/LinkedList;->clear()V
goto :goto_25
.line 4
:pswitch_f
invoke-direct {p0}, Lc/k/a/d;->d()V
goto :goto_25
.line 5
:pswitch_13
iget-object v0, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
check-cast v0, Ljava/lang/String;
invoke-direct {p0, v0}, Lc/k/a/d;->a(Ljava/lang/String;)V
goto :goto_25
.line 6
:pswitch_1b
invoke-direct {p0}, Lc/k/a/d;->d()V
.line 7
iget-object v0, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
check-cast v0, Ljava/lang/String;
invoke-direct {p0, v0}, Lc/k/a/d;->c(Ljava/lang/String;)V
.line 8
:goto_25
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/d;->b(Ljava/lang/String;)V
return-void
:pswitch_data_3c
.packed-switch 0xb
:pswitch_1b
:pswitch_13
:pswitch_f
:pswitch_6
.end packed-switch
.end method
.method public onCompletion(Landroid/media/MediaPlayer;)V
.registers 3
.line 1
:try_start_0
invoke-virtual {p1}, Landroid/media/MediaPlayer;->reset()V
.line 2
invoke-virtual {p1}, Landroid/media/MediaPlayer;->release()V
.line 3
iget-object p1, p0, Lc/k/a/d;->e:Lc/k/a/b;
iget-object v0, p0, Lc/k/a/d;->d:Ljava/lang/String;
invoke-interface {p1, v0}, Lc/k/a/b;->onPlayStop(Ljava/lang/String;)V
const-string p1, ""
.line 4
iput-object p1, p0, Lc/k/a/d;->d:Ljava/lang/String;
.line 5
invoke-direct {p0}, Lc/k/a/d;->c()V
:try_end_14
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_14} :catch_15
goto :goto_1f
:catch_15
move-exception p1
.line 6
invoke-virtual {p1}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object p1
const-string v0, "PlayVoice"
invoke-static {v0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
:goto_1f
return-void
.end method