MMCPlayerNative$PlayHandler.smali

.class Lcom/mmc/player/MMCPlayerNative$PlayHandler;
.super Landroid/os/Handler;
.source "SourceFile"


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lcom/mmc/player/MMCPlayerNative;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x1
    name = "PlayHandler"
.end annotation


# instance fields
.field public final synthetic this$0:Lcom/mmc/player/MMCPlayerNative;


# direct methods
.method public constructor <init>(Lcom/mmc/player/MMCPlayerNative;Landroid/os/Looper;)V
    .registers 3

    .line 1
    iput-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    .line 2
    invoke-direct {p0, p2}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V

    return-void
.end method

.method public static synthetic a(Lcom/mmc/player/MMCPlayerNative$PlayHandler;)V
    .registers 1

    invoke-direct {p0}, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->lambda$handleMessage$0()V

    return-void
.end method

.method private synthetic lambda$handleMessage$0()V
    .registers 4

    .line 1
    iget-object v0, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->mNativeContext:J
    invoke-static {v0}, Lcom/mmc/player/MMCPlayerNative;->access$000(Lcom/mmc/player/MMCPlayerNative;)J

    move-result-wide v1

    # invokes: Lcom/mmc/player/MMCPlayerNative;->native_release(J)V
    invoke-static {v0, v1, v2}, Lcom/mmc/player/MMCPlayerNative;->access$700(Lcom/mmc/player/MMCPlayerNative;J)V

    .line 2
    iget-object v0, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->mPlayListener:Lcom/mmc/player/MMCMediaPlayer$PlayEventListener;
    invoke-static {v0}, Lcom/mmc/player/MMCPlayerNative;->access$800(Lcom/mmc/player/MMCPlayerNative;)Lcom/mmc/player/MMCMediaPlayer$PlayEventListener;

    move-result-object v0

    const/4 v1, 0x0

    if-eqz v0, :cond_1d

    .line 3
    iget-object v0, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->mPlayListener:Lcom/mmc/player/MMCMediaPlayer$PlayEventListener;
    invoke-static {v0}, Lcom/mmc/player/MMCPlayerNative;->access$800(Lcom/mmc/player/MMCPlayerNative;)Lcom/mmc/player/MMCMediaPlayer$PlayEventListener;

    move-result-object v0

    sget-object v2, Lcom/mmc/player/MMCMediaPlayer$PLAY_STATE;->onPlayerReleased:Lcom/mmc/player/MMCMediaPlayer$PLAY_STATE;

    invoke-interface {v0, v2, v1}, Lcom/mmc/player/MMCMediaPlayer$PlayEventListener;->onPlayEvent(Lcom/mmc/player/MMCMediaPlayer$PLAY_STATE;Lcom/mmc/player/MMCBundle;)V

    .line 4
    :cond_1d
    iget-object v0, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->mHandler:Landroid/os/Handler;
    invoke-static {v0}, Lcom/mmc/player/MMCPlayerNative;->access$900(Lcom/mmc/player/MMCPlayerNative;)Landroid/os/Handler;

    move-result-object v0

    invoke-virtual {v0, v1}, Landroid/os/Handler;->removeCallbacksAndMessages(Ljava/lang/Object;)V

    .line 5
    iget-object v0, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # setter for: Lcom/mmc/player/MMCPlayerNative;->mHandler:Landroid/os/Handler;
    invoke-static {v0, v1}, Lcom/mmc/player/MMCPlayerNative;->access$902(Lcom/mmc/player/MMCPlayerNative;Landroid/os/Handler;)Landroid/os/Handler;

    .line 6
    iget-object v0, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->mPlayerHandler:Lcom/mmc/player/MMCPlayerNative$PlayHandler;
    invoke-static {v0}, Lcom/mmc/player/MMCPlayerNative;->access$1000(Lcom/mmc/player/MMCPlayerNative;)Lcom/mmc/player/MMCPlayerNative$PlayHandler;

    move-result-object v0

    invoke-virtual {v0, v1}, Landroid/os/Handler;->removeCallbacksAndMessages(Ljava/lang/Object;)V

    .line 7
    iget-object v0, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->mHandlerThread:Lcom/mmc/player/utils/MMCHandlerThreadPool$ReuseHandlerThread;
    invoke-static {v0}, Lcom/mmc/player/MMCPlayerNative;->access$1100(Lcom/mmc/player/MMCPlayerNative;)Lcom/mmc/player/utils/MMCHandlerThreadPool$ReuseHandlerThread;

    move-result-object v0

    invoke-virtual {v0}, Lcom/mmc/player/utils/MMCHandlerThreadPool$ReuseHandlerThread;->release()V

    .line 8
    iget-object v0, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # setter for: Lcom/mmc/player/MMCPlayerNative;->mPlayerHandler:Lcom/mmc/player/MMCPlayerNative$PlayHandler;
    invoke-static {v0, v1}, Lcom/mmc/player/MMCPlayerNative;->access$1002(Lcom/mmc/player/MMCPlayerNative;Lcom/mmc/player/MMCPlayerNative$PlayHandler;)Lcom/mmc/player/MMCPlayerNative$PlayHandler;

    .line 9
    iget-object v0, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # setter for: Lcom/mmc/player/MMCPlayerNative;->mHandlerThread:Lcom/mmc/player/utils/MMCHandlerThreadPool$ReuseHandlerThread;
    invoke-static {v0, v1}, Lcom/mmc/player/MMCPlayerNative;->access$1102(Lcom/mmc/player/MMCPlayerNative;Lcom/mmc/player/utils/MMCHandlerThreadPool$ReuseHandlerThread;)Lcom/mmc/player/utils/MMCHandlerThreadPool$ReuseHandlerThread;

    .line 10
    iget-object v0, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    invoke-virtual {v0}, Lcom/mmc/player/MMCPlayerNative;->unregisterDefaultPlayEventListener()V

    .line 11
    iget-object v0, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    invoke-virtual {v0}, Lcom/mmc/player/MMCPlayerNative;->unregisterPlayListener()V

    return-void
.end method


# virtual methods
.method public handleMessage(Landroid/os/Message;)V
    .registers 10

    const-string v0, "handleMessage"

    const-string v1, "com/mmc/player/MMCPlayerNative$PlayHandler"

    const-string v2, "message"

    invoke-static {v0, v1, v2}, Lcom/shopee/monitor/trace/c;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    .line 1
    invoke-super {p0, p1}, Landroid/os/Handler;->handleMessage(Landroid/os/Message;)V

    .line 2
    iget v3, p1, Landroid/os/Message;->what:I

    const/16 v4, 0x10

    if-eq v3, v4, :cond_1dc

    const/16 v4, 0x11

    const-string v5, "mmc_render_by_gl"

    if-eq v3, v4, :cond_1cb

    const-string v4, "MMCPlayerNative"

    packed-switch v3, :pswitch_data_1e8

    goto/16 :goto_1e4

    :pswitch_1f
    const-string p1, "create native player"

    .line 3
    invoke-static {v4, p1}, Lcom/mmc/player/log/MMCLogDelegate;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 4
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # invokes: Lcom/mmc/player/MMCPlayerNative;->createContext(Lcom/mmc/player/MMCPlayerNative;)J
    invoke-static {p1, p1}, Lcom/mmc/player/MMCPlayerNative;->access$1900(Lcom/mmc/player/MMCPlayerNative;Lcom/mmc/player/MMCPlayerNative;)J

    move-result-wide v3

    # setter for: Lcom/mmc/player/MMCPlayerNative;->mNativeContext:J
    invoke-static {p1, v3, v4}, Lcom/mmc/player/MMCPlayerNative;->access$002(Lcom/mmc/player/MMCPlayerNative;J)J

    goto/16 :goto_1e4

    .line 5
    :pswitch_2f
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->mNativeContext:J
    invoke-static {p1}, Lcom/mmc/player/MMCPlayerNative;->access$000(Lcom/mmc/player/MMCPlayerNative;)J

    move-result-wide v3

    # invokes: Lcom/mmc/player/MMCPlayerNative;->native_resume(J)V
    invoke-static {p1, v3, v4}, Lcom/mmc/player/MMCPlayerNative;->access$1800(Lcom/mmc/player/MMCPlayerNative;J)V

    goto/16 :goto_1e4

    .line 6
    :pswitch_3a
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->mNativeContext:J
    invoke-static {p1}, Lcom/mmc/player/MMCPlayerNative;->access$000(Lcom/mmc/player/MMCPlayerNative;)J

    move-result-wide v3

    # invokes: Lcom/mmc/player/MMCPlayerNative;->native_play(J)V
    invoke-static {p1, v3, v4}, Lcom/mmc/player/MMCPlayerNative;->access$1700(Lcom/mmc/player/MMCPlayerNative;J)V

    goto/16 :goto_1e4

    .line 7
    :pswitch_45
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->mNativeContext:J
    invoke-static {p1}, Lcom/mmc/player/MMCPlayerNative;->access$000(Lcom/mmc/player/MMCPlayerNative;)J

    move-result-wide v3

    # invokes: Lcom/mmc/player/MMCPlayerNative;->native_pause(J)V
    invoke-static {p1, v3, v4}, Lcom/mmc/player/MMCPlayerNative;->access$1600(Lcom/mmc/player/MMCPlayerNative;J)V

    goto/16 :goto_1e4

    .line 8
    :pswitch_50
    iget-object v3, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    iget-object p1, p1, Landroid/os/Message;->obj:Ljava/lang/Object;

    # invokes: Lcom/mmc/player/MMCPlayerNative;->setRenderSurfaceInternal(Ljava/lang/Object;)V
    invoke-static {v3, p1}, Lcom/mmc/player/MMCPlayerNative;->access$1500(Lcom/mmc/player/MMCPlayerNative;Ljava/lang/Object;)V

    goto/16 :goto_1e4

    :pswitch_59
    const/4 v3, 0x0

    .line 9
    :try_start_5a
    iget v4, p1, Landroid/os/Message;->arg1:I
    :try_end_5c
    .catchall {:try_start_5a .. :try_end_5c} :catchall_66

    const/4 v5, 0x1

    if-ne v4, v5, :cond_60

    goto :goto_61

    :cond_60
    const/4 v5, 0x0

    .line 10
    :goto_61
    :try_start_61
    iget v3, p1, Landroid/os/Message;->arg2:I
    :try_end_63
    .catchall {:try_start_61 .. :try_end_63} :catchall_64

    goto :goto_70

    :catchall_64
    move-exception p1

    goto :goto_68

    :catchall_66
    move-exception p1

    const/4 v5, 0x0

    .line 11
    :goto_68
    iget-object v4, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    invoke-virtual {v4}, Lcom/mmc/player/MMCPlayerNative;->getContext()Ljava/lang/String;

    invoke-virtual {p1}, Ljava/lang/Throwable;->toString()Ljava/lang/String;

    .line 12
    :goto_70
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->mNativeContext:J
    invoke-static {p1}, Lcom/mmc/player/MMCPlayerNative;->access$000(Lcom/mmc/player/MMCPlayerNative;)J

    move-result-wide v6

    # invokes: Lcom/mmc/player/MMCPlayerNative;->native_seek(JIZ)V
    invoke-static {p1, v6, v7, v3, v5}, Lcom/mmc/player/MMCPlayerNative;->access$1400(Lcom/mmc/player/MMCPlayerNative;JIZ)V

    goto/16 :goto_1e4

    .line 13
    :pswitch_7b
    new-instance p1, Ljava/lang/StringBuilder;

    invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V

    iget-object v3, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    invoke-virtual {v3}, Lcom/mmc/player/MMCPlayerNative;->getContext()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v3, "release with releaseAsync:"

    invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget-object v3, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->releaseAsync:Z
    invoke-static {v3}, Lcom/mmc/player/MMCPlayerNative;->access$300(Lcom/mmc/player/MMCPlayerNative;)Z

    move-result v3

    invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p1

    invoke-static {v4, p1}, Lcom/mmc/player/log/MMCLogDelegate;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 14
    invoke-static {v5}, Lcom/mmc/player/config/MMCConfigManager;->getBooleanForKey(Ljava/lang/String;)Z

    move-result p1

    const/4 v3, 0x0

    if-eqz p1, :cond_c8

    .line 15
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->render:Lcom/mmc/player/render/SurfaceRender;
    invoke-static {p1}, Lcom/mmc/player/MMCPlayerNative;->access$400(Lcom/mmc/player/MMCPlayerNative;)Lcom/mmc/player/render/SurfaceRender;

    move-result-object p1

    if-eqz p1, :cond_c8

    .line 16
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->render:Lcom/mmc/player/render/SurfaceRender;
    invoke-static {p1}, Lcom/mmc/player/MMCPlayerNative;->access$400(Lcom/mmc/player/MMCPlayerNative;)Lcom/mmc/player/render/SurfaceRender;

    move-result-object v5

    invoke-virtual {v5}, Lcom/mmc/player/render/SurfaceRender;->getTargetSurface()Landroid/view/Surface;

    move-result-object v5

    # invokes: Lcom/mmc/player/MMCPlayerNative;->removeSurface(Landroid/view/Surface;)V
    invoke-static {p1, v5}, Lcom/mmc/player/MMCPlayerNative;->access$500(Lcom/mmc/player/MMCPlayerNative;Landroid/view/Surface;)V

    .line 17
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->render:Lcom/mmc/player/render/SurfaceRender;
    invoke-static {p1}, Lcom/mmc/player/MMCPlayerNative;->access$400(Lcom/mmc/player/MMCPlayerNative;)Lcom/mmc/player/render/SurfaceRender;

    move-result-object p1

    invoke-virtual {p1}, Lcom/mmc/player/render/SurfaceRender;->destroy()I

    .line 18
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # setter for: Lcom/mmc/player/MMCPlayerNative;->render:Lcom/mmc/player/render/SurfaceRender;
    invoke-static {p1, v3}, Lcom/mmc/player/MMCPlayerNative;->access$402(Lcom/mmc/player/MMCPlayerNative;Lcom/mmc/player/render/SurfaceRender;)Lcom/mmc/player/render/SurfaceRender;

    .line 19
    :cond_c8
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->fakeRender:Lcom/mmc/player/render/SurfaceRender;
    invoke-static {p1}, Lcom/mmc/player/MMCPlayerNative;->access$600(Lcom/mmc/player/MMCPlayerNative;)Lcom/mmc/player/render/SurfaceRender;

    move-result-object p1

    if-eqz p1, :cond_106

    .line 20
    :try_start_d0
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->fakeRender:Lcom/mmc/player/render/SurfaceRender;
    invoke-static {p1}, Lcom/mmc/player/MMCPlayerNative;->access$600(Lcom/mmc/player/MMCPlayerNative;)Lcom/mmc/player/render/SurfaceRender;

    move-result-object v5

    invoke-virtual {v5}, Lcom/mmc/player/render/SurfaceRender;->getTargetSurface()Landroid/view/Surface;

    move-result-object v5

    # invokes: Lcom/mmc/player/MMCPlayerNative;->removeSurface(Landroid/view/Surface;)V
    invoke-static {p1, v5}, Lcom/mmc/player/MMCPlayerNative;->access$500(Lcom/mmc/player/MMCPlayerNative;Landroid/view/Surface;)V

    .line 21
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->fakeRender:Lcom/mmc/player/render/SurfaceRender;
    invoke-static {p1}, Lcom/mmc/player/MMCPlayerNative;->access$600(Lcom/mmc/player/MMCPlayerNative;)Lcom/mmc/player/render/SurfaceRender;

    move-result-object p1

    invoke-virtual {p1}, Lcom/mmc/player/render/SurfaceRender;->destroy()I

    .line 22
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # setter for: Lcom/mmc/player/MMCPlayerNative;->fakeRender:Lcom/mmc/player/render/SurfaceRender;
    invoke-static {p1, v3}, Lcom/mmc/player/MMCPlayerNative;->access$602(Lcom/mmc/player/MMCPlayerNative;Lcom/mmc/player/render/SurfaceRender;)Lcom/mmc/player/render/SurfaceRender;
    :try_end_eb
    .catchall {:try_start_d0 .. :try_end_eb} :catchall_ec

    goto :goto_106

    .line 23
    :catchall_ec
    new-instance p1, Ljava/lang/StringBuilder;

    invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V

    iget-object v5, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    invoke-virtual {v5}, Lcom/mmc/player/MMCPlayerNative;->getContext()Ljava/lang/String;

    move-result-object v5

    invoke-virtual {p1, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v5, "destroy fake render failed"

    invoke-virtual {p1, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p1

    invoke-static {v4, p1}, Lcom/mmc/player/log/MMCLogDelegate;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 24
    :cond_106
    :goto_106
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->releaseAsync:Z
    invoke-static {p1}, Lcom/mmc/player/MMCPlayerNative;->access$300(Lcom/mmc/player/MMCPlayerNative;)Z

    move-result p1

    if-eqz p1, :cond_182

    .line 25
    :try_start_10e
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->mNativeContext:J
    invoke-static {p1}, Lcom/mmc/player/MMCPlayerNative;->access$000(Lcom/mmc/player/MMCPlayerNative;)J

    move-result-wide v5

    # invokes: Lcom/mmc/player/MMCPlayerNative;->native_release(J)V
    invoke-static {p1, v5, v6}, Lcom/mmc/player/MMCPlayerNative;->access$700(Lcom/mmc/player/MMCPlayerNative;J)V
    :try_end_117
    .catchall {:try_start_10e .. :try_end_117} :catchall_118

    goto :goto_13a

    :catchall_118
    move-exception p1

    .line 26
    new-instance v5, Ljava/lang/StringBuilder;

    invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V

    iget-object v6, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    invoke-virtual {v6}, Lcom/mmc/player/MMCPlayerNative;->getContext()Ljava/lang/String;

    move-result-object v6

    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v6, "native_release failed "

    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p1}, Ljava/lang/Throwable;->toString()Ljava/lang/String;

    move-result-object p1

    invoke-virtual {v5, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p1

    invoke-static {v4, p1}, Lcom/mmc/player/log/MMCLogDelegate;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 27
    :goto_13a
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->mPlayListener:Lcom/mmc/player/MMCMediaPlayer$PlayEventListener;
    invoke-static {p1}, Lcom/mmc/player/MMCPlayerNative;->access$800(Lcom/mmc/player/MMCPlayerNative;)Lcom/mmc/player/MMCMediaPlayer$PlayEventListener;

    move-result-object p1

    if-eqz p1, :cond_14d

    .line 28
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->mPlayListener:Lcom/mmc/player/MMCMediaPlayer$PlayEventListener;
    invoke-static {p1}, Lcom/mmc/player/MMCPlayerNative;->access$800(Lcom/mmc/player/MMCPlayerNative;)Lcom/mmc/player/MMCMediaPlayer$PlayEventListener;

    move-result-object p1

    sget-object v4, Lcom/mmc/player/MMCMediaPlayer$PLAY_STATE;->onPlayerReleased:Lcom/mmc/player/MMCMediaPlayer$PLAY_STATE;

    invoke-interface {p1, v4, v3}, Lcom/mmc/player/MMCMediaPlayer$PlayEventListener;->onPlayEvent(Lcom/mmc/player/MMCMediaPlayer$PLAY_STATE;Lcom/mmc/player/MMCBundle;)V

    .line 29
    :cond_14d
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->mHandler:Landroid/os/Handler;
    invoke-static {p1}, Lcom/mmc/player/MMCPlayerNative;->access$900(Lcom/mmc/player/MMCPlayerNative;)Landroid/os/Handler;

    move-result-object p1

    invoke-virtual {p1, v3}, Landroid/os/Handler;->removeCallbacksAndMessages(Ljava/lang/Object;)V

    .line 30
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # setter for: Lcom/mmc/player/MMCPlayerNative;->mHandler:Landroid/os/Handler;
    invoke-static {p1, v3}, Lcom/mmc/player/MMCPlayerNative;->access$902(Lcom/mmc/player/MMCPlayerNative;Landroid/os/Handler;)Landroid/os/Handler;

    .line 31
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->mPlayerHandler:Lcom/mmc/player/MMCPlayerNative$PlayHandler;
    invoke-static {p1}, Lcom/mmc/player/MMCPlayerNative;->access$1000(Lcom/mmc/player/MMCPlayerNative;)Lcom/mmc/player/MMCPlayerNative$PlayHandler;

    move-result-object p1

    invoke-virtual {p1, v3}, Landroid/os/Handler;->removeCallbacksAndMessages(Ljava/lang/Object;)V

    .line 32
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->mHandlerThread:Lcom/mmc/player/utils/MMCHandlerThreadPool$ReuseHandlerThread;
    invoke-static {p1}, Lcom/mmc/player/MMCPlayerNative;->access$1100(Lcom/mmc/player/MMCPlayerNative;)Lcom/mmc/player/utils/MMCHandlerThreadPool$ReuseHandlerThread;

    move-result-object p1

    invoke-virtual {p1}, Lcom/mmc/player/utils/MMCHandlerThreadPool$ReuseHandlerThread;->release()V

    .line 33
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # setter for: Lcom/mmc/player/MMCPlayerNative;->mPlayerHandler:Lcom/mmc/player/MMCPlayerNative$PlayHandler;
    invoke-static {p1, v3}, Lcom/mmc/player/MMCPlayerNative;->access$1002(Lcom/mmc/player/MMCPlayerNative;Lcom/mmc/player/MMCPlayerNative$PlayHandler;)Lcom/mmc/player/MMCPlayerNative$PlayHandler;

    .line 34
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # setter for: Lcom/mmc/player/MMCPlayerNative;->mHandlerThread:Lcom/mmc/player/utils/MMCHandlerThreadPool$ReuseHandlerThread;
    invoke-static {p1, v3}, Lcom/mmc/player/MMCPlayerNative;->access$1102(Lcom/mmc/player/MMCPlayerNative;Lcom/mmc/player/utils/MMCHandlerThreadPool$ReuseHandlerThread;)Lcom/mmc/player/utils/MMCHandlerThreadPool$ReuseHandlerThread;

    .line 35
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    invoke-virtual {p1}, Lcom/mmc/player/MMCPlayerNative;->unregisterDefaultPlayEventListener()V

    .line 36
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    invoke-virtual {p1}, Lcom/mmc/player/MMCPlayerNative;->unregisterPlayListener()V

    goto :goto_198

    .line 37
    :cond_182
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->mHandler:Landroid/os/Handler;
    invoke-static {p1}, Lcom/mmc/player/MMCPlayerNative;->access$900(Lcom/mmc/player/MMCPlayerNative;)Landroid/os/Handler;

    move-result-object p1

    if-eqz p1, :cond_198

    .line 38
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->mHandler:Landroid/os/Handler;
    invoke-static {p1}, Lcom/mmc/player/MMCPlayerNative;->access$900(Lcom/mmc/player/MMCPlayerNative;)Landroid/os/Handler;

    move-result-object p1

    new-instance v4, Lcom/mmc/player/t;

    invoke-direct {v4, p0}, Lcom/mmc/player/t;-><init>(Lcom/mmc/player/MMCPlayerNative$PlayHandler;)V

    invoke-virtual {p1, v4}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z

    .line 39
    :cond_198
    :goto_198
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->mSurface:Landroid/view/Surface;
    invoke-static {p1}, Lcom/mmc/player/MMCPlayerNative;->access$1200(Lcom/mmc/player/MMCPlayerNative;)Landroid/view/Surface;

    move-result-object p1

    if-eqz p1, :cond_1b1

    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->ownsSurface:Z
    invoke-static {p1}, Lcom/mmc/player/MMCPlayerNative;->access$1300(Lcom/mmc/player/MMCPlayerNative;)Z

    move-result p1

    if-eqz p1, :cond_1b1

    .line 40
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->mSurface:Landroid/view/Surface;
    invoke-static {p1}, Lcom/mmc/player/MMCPlayerNative;->access$1200(Lcom/mmc/player/MMCPlayerNative;)Landroid/view/Surface;

    move-result-object p1

    invoke-virtual {p1}, Landroid/view/Surface;->release()V

    .line 41
    :cond_1b1
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # setter for: Lcom/mmc/player/MMCPlayerNative;->mSurface:Landroid/view/Surface;
    invoke-static {p1, v3}, Lcom/mmc/player/MMCPlayerNative;->access$1202(Lcom/mmc/player/MMCPlayerNative;Landroid/view/Surface;)Landroid/view/Surface;

    .line 42
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # invokes: Lcom/mmc/player/MMCPlayerNative;->releaseDummyThread()V
    invoke-static {p1}, Lcom/mmc/player/MMCPlayerNative;->access$200(Lcom/mmc/player/MMCPlayerNative;)V

    goto :goto_1e4

    .line 43
    :pswitch_1bc
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # getter for: Lcom/mmc/player/MMCPlayerNative;->mNativeContext:J
    invoke-static {p1}, Lcom/mmc/player/MMCPlayerNative;->access$000(Lcom/mmc/player/MMCPlayerNative;)J

    move-result-wide v3

    # invokes: Lcom/mmc/player/MMCPlayerNative;->native_stop(J)V
    invoke-static {p1, v3, v4}, Lcom/mmc/player/MMCPlayerNative;->access$100(Lcom/mmc/player/MMCPlayerNative;J)V

    .line 44
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    # invokes: Lcom/mmc/player/MMCPlayerNative;->releaseDummyThread()V
    invoke-static {p1}, Lcom/mmc/player/MMCPlayerNative;->access$200(Lcom/mmc/player/MMCPlayerNative;)V

    goto :goto_1e4

    .line 45
    :cond_1cb
    invoke-static {v5}, Lcom/mmc/player/config/MMCConfigManager;->getBooleanForKey(Ljava/lang/String;)Z

    move-result p1

    if-eqz p1, :cond_1e4

    .line 46
    iget-object p1, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    new-instance v3, Lcom/mmc/player/render/SurfaceRender;

    invoke-direct {v3}, Lcom/mmc/player/render/SurfaceRender;-><init>()V

    # setter for: Lcom/mmc/player/MMCPlayerNative;->render:Lcom/mmc/player/render/SurfaceRender;
    invoke-static {p1, v3}, Lcom/mmc/player/MMCPlayerNative;->access$402(Lcom/mmc/player/MMCPlayerNative;Lcom/mmc/player/render/SurfaceRender;)Lcom/mmc/player/render/SurfaceRender;

    goto :goto_1e4

    .line 47
    :cond_1dc
    iget-object v3, p0, Lcom/mmc/player/MMCPlayerNative$PlayHandler;->this$0:Lcom/mmc/player/MMCPlayerNative;

    iget p1, p1, Landroid/os/Message;->arg1:I

    int-to-long v4, p1

    # invokes: Lcom/mmc/player/MMCPlayerNative;->prepareInternal(J)V
    invoke-static {v3, v4, v5}, Lcom/mmc/player/MMCPlayerNative;->access$2000(Lcom/mmc/player/MMCPlayerNative;J)V

    .line 48
    :cond_1e4
    :goto_1e4
    invoke-static {v0, v1, v2}, Lcom/shopee/monitor/trace/c;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    return-void

    :pswitch_data_1e8
    .packed-switch 0x1
        :pswitch_1bc
        :pswitch_7b
        :pswitch_59
        :pswitch_50
        :pswitch_45
        :pswitch_3a
        :pswitch_2f
        :pswitch_1f
    .end packed-switch
.end method