EchoesRenderer.smali

.class public Lcom/sandboxol/blockmango/EchoesRenderer;
.super Ljava/lang/Object;
.source "EchoesRenderer.java"

# interfaces
.implements Landroid/opengl/GLSurfaceView$Renderer;


# static fields
.field private static final ENGINE_RENDER_READY_FRAME_TIMES:I = 0x2

.field public static final FRIEND_OPERATION_TYPE_AGREE_ADD_FRIEND:I = 0x3

.field public static final FRIEND_OPERATION_TYPE_AGREE_ADD_FRIEND_FAILURE:I = 0x2710

.field public static final FRIEND_OPERATION_TYPE_IS_FRIEND:I = 0x2

.field public static final FRIEND_OPERATION_TYPE_NO_FRIEND:I = 0x1

.field public static final FRIEND_OPERATION_TYPE_REQUEST_ADD_FRIEND:I = 0x4

.field public static final FRIEND_OPERATION_TYPE_REQUEST_ADD_FRIEND_FAILURE:I = 0x2711


# instance fields
.field private drawFrameTimes:J

.field private engineEnv:Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;

.field private gl10:Ljavax/microedition/khronos/opengles/GL10;

.field private isTakePicture:Z

.field private loadingDialog:Lcom/sandboxol/center/view/dialog/LoadingDialog;

.field private mContext:Landroid/content/Context;

.field private mHeight:I

.field private mMainHandler:Lcom/sandboxol/blockmango/EchoesHandler;

.field private mScreenHeight:I

.field private mScreenWidth:I

.field private mWidth:I

.field private m_bInitOK:Z

.field private m_bIsUpdating:Z

.field private picResUrlOrPath:Ljava/lang/String;


# direct methods
.method public constructor <init>(Landroid/content/Context;)V
    .registers 5
    .annotation build Landroid/annotation/SuppressLint;
        value = {
            "UnsafeDynamicallyLoadedCode"
        }
    .end annotation

    .line 1
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    const-wide/16 v0, 0x0

    .line 2
    iput-wide v0, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->drawFrameTimes:J

    const/4 v0, 0x0

    .line 3
    iput v0, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->mWidth:I

    iput v0, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->mHeight:I

    .line 4
    invoke-static {}, Lcom/sandboxol/center/router/moduleInfo/game/EngineEnv;->getCurUseEngineTypeInGame()I

    move-result v0

    invoke-static {v0}, Lcom/sandboxol/center/router/moduleInfo/game/EngineEnv;->getInstance(I)Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;

    move-result-object v0

    iput-object v0, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->engineEnv:Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;

    .line 5
    iput-object p1, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->mContext:Landroid/content/Context;

    .line 6
    sget-object v0, Lcom/sandboxol/messager/MessageMediator;->INSTANCE:Lcom/sandboxol/messager/MessageMediator;

    const-class v1, Lcom/sandboxol/blockmango/EchoesRenderer;

    new-instance v2, Lcom/sandboxol/blockmango/EchoesRenderer$1;

    invoke-direct {v2, p0, p1}, Lcom/sandboxol/blockmango/EchoesRenderer$1;-><init>(Lcom/sandboxol/blockmango/EchoesRenderer;Landroid/content/Context;)V

    const-string p1, "token.game.screen.shot"

    invoke-virtual {v0, v1, p1, v2}, Lcom/sandboxol/messager/MessageMediator;->registerMsg1(Ljava/lang/reflect/Type;Ljava/lang/String;Lcom/sandboxol/messager/callback/Action1;)V

    return-void
.end method

.method static synthetic access$002(Lcom/sandboxol/blockmango/EchoesRenderer;Z)Z
    .registers 2

    .line 1
    iput-boolean p1, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->isTakePicture:Z

    return p1
.end method

.method static synthetic access$102(Lcom/sandboxol/blockmango/EchoesRenderer;Ljava/lang/String;)Ljava/lang/String;
    .registers 2

    .line 1
    iput-object p1, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->picResUrlOrPath:Ljava/lang/String;

    return-object p1
.end method

.method static synthetic access$200(Lcom/sandboxol/blockmango/EchoesRenderer;)Lcom/sandboxol/center/view/dialog/LoadingDialog;
    .registers 1

    .line 1
    iget-object p0, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->loadingDialog:Lcom/sandboxol/center/view/dialog/LoadingDialog;

    return-object p0
.end method

.method static synthetic access$202(Lcom/sandboxol/blockmango/EchoesRenderer;Lcom/sandboxol/center/view/dialog/LoadingDialog;)Lcom/sandboxol/center/view/dialog/LoadingDialog;
    .registers 2

    .line 1
    iput-object p1, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->loadingDialog:Lcom/sandboxol/center/view/dialog/LoadingDialog;

    return-object p1
.end method

.method static synthetic access$300(Lcom/sandboxol/blockmango/EchoesRenderer;)Landroid/content/Context;
    .registers 1

    .line 1
    iget-object p0, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->mContext:Landroid/content/Context;

    return-object p0
.end method

.method public static native getPing()I
.end method

.method public static handlePreInit(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
    .registers 16

    .line 1
    invoke-static {}, Lcom/sandboxol/center/router/moduleInfo/game/EngineEnv;->getCurUseEngineTypeInGame()I

    move-result v0

    invoke-static {v0}, Lcom/sandboxol/center/router/moduleInfo/game/EngineEnv;->getInstance(I)Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;

    move-result-object v0

    .line 2
    invoke-static {}, Lcom/sandboxol/common/utils/CommonHelper;->getGameLanguage()Ljava/lang/String;

    move-result-object v1

    .line 3
    invoke-virtual {v0}, Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;->getResRootPath()Ljava/lang/String;

    move-result-object v3

    .line 4
    invoke-virtual {v0}, Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;->getResCachePath()Ljava/lang/String;

    move-result-object v4

    .line 5
    invoke-virtual {v0}, Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;->getConfigPath()Ljava/lang/String;

    move-result-object v5

    .line 6
    invoke-virtual {v0}, Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;->getMapRootPath()Ljava/lang/String;

    move-result-object v6

    .line 7
    invoke-virtual {v0}, Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;->getMapTempRootPath()Ljava/lang/String;

    move-result-object v7

    .line 8
    invoke-virtual {v0}, Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;->getEngineResBaseUrl()Ljava/lang/String;

    move-result-object v9

    .line 9
    invoke-virtual {v0}, Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;->isOldEngine()Z

    move-result v0

    if-eqz v0, :cond_36

    if-nez p2, :cond_2e

    const-string p2, ""

    :cond_2e
    move-object v7, p2

    move-object v2, p0

    move-object v8, p3

    move v10, p4

    .line 10
    invoke-static/range {v1 .. v10}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativePreInit(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V

    goto :goto_3c

    :cond_36
    move-object v2, p0

    move-object v8, p1

    move v10, p4

    .line 11
    invoke-static/range {v1 .. v10}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativePreInit(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V

    :goto_3c
    return-void
.end method

.method private static native nativeBuyActionResult(II)V
.end method

.method public static native nativeCheckVersion(Ljava/lang/String;)I
.end method

.method private static native nativeConnectServer(Ljava/lang/String;ILjava/lang/String;)V
.end method

.method private static native nativeExitGame()V
.end method

.method public static native nativeGetCurrentDownloadSize()I
.end method

.method public static native nativeGetDownloadPercent()F
.end method

.method public static native nativeGetDownloadState()I
.end method

.method public static native nativeGetFps()I
.end method

.method public static native nativeGetLocalVersion()Ljava/lang/String;
.end method

.method public static native nativeGetRaknetPing()I
.end method

.method public static native nativeGetServerVersion()Ljava/lang/String;
.end method

.method public static native nativeGetTotalDownloadSize()I
.end method

.method public static native nativeHideRechargeBtn()V
.end method

.method public static native nativeInit(FLjava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V
.end method

.method private static native nativeInitGame(FLjava/lang/String;JLjava/lang/String;Ljava/lang/String;IJLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;ZZLjava/lang/String;Ljava/lang/String;)V
.end method

.method private static native nativeInitGame(FLjava/lang/String;JLjava/lang/String;Ljava/lang/String;IJLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIIILjava/lang/String;Ljava/lang/String;ZLjava/lang/String;)V
.end method

.method private static native nativeKeyDown(I)Z
.end method

.method private static native nativeKeyUp(I)Z
.end method

.method public static native nativeOnCloseAd(I)V
.end method

.method public static native nativeOnDestroy()V
.end method

.method private static native nativeOnFriendOperationForAppHttpResult(IJ)V
.end method

.method public static native nativeOnGameActionTrigger(ILjava/lang/String;)V
.end method

.method private static native nativeOnGetPhoneType(Ljava/lang/String;)V
.end method

.method private static native nativeOnPause()V
.end method

.method public static native nativeOnReceiveNotification(Ljava/lang/String;)V
.end method

.method public static native nativeOnRechargeResult(IILjava/lang/String;)V
.end method

.method private static native nativeOnResetGameResult(I)V
.end method

.method private static native nativeOnResume()V
.end method

.method public static native nativeOnSendMsgError(Ljava/lang/String;ILjava/lang/String;)V
.end method

.method private static native nativeOnSurfaceChanged(II)V
.end method

.method public static native nativeOnTalkDetail(Ljava/lang/String;Ljava/lang/String;)V
.end method

.method public static native nativeOnTalkList(ILjava/lang/String;)V
.end method

.method private static native nativeOnVoiceOperationResult(IILjava/lang/String;)V
.end method

.method public static native nativeOnWatchAdResult(ILjava/lang/String;I)V
.end method

.method public static native nativeOnWatchAdSuccess(I)V
.end method

.method private static native nativePreInit(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
.end method

.method public static native nativeReceiveMessage(Ljava/lang/String;ILjava/lang/String;)V
.end method

.method private static native nativeRender()V
.end method

.method public static native nativeSetDefaultFaceSkin([Ljava/lang/String;)V
.end method

.method private static native nativeSetUserInfo(Ljava/lang/String;Ljava/lang/String;J)V
.end method

.method public static native nativeStartLocalServer(Ljava/lang/String;)V
.end method

.method private static native nativeTouchesBegin(IFF)V
.end method

.method private static native nativeTouchesCancel([I[F[F)V
.end method

.method private static native nativeTouchesEnd(IFF)V
.end method

.method private static native nativeTouchesMove([I[F[F)V
.end method

.method public static native nativeUpdateFiles()I
.end method

.method public static native nativeUseProp(Ljava/lang/String;)V
.end method


# virtual methods
.method public SetMainHandler(Lcom/sandboxol/blockmango/EchoesHandler;)V
    .registers 2

    .line 1
    iput-object p1, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->mMainHandler:Lcom/sandboxol/blockmango/EchoesHandler;

    return-void
.end method

.method public synthetic a()V
    .registers 2

    .line 1
    iget-object v0, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->loadingDialog:Lcom/sandboxol/center/view/dialog/LoadingDialog;

    if-eqz v0, :cond_a

    .line 2
    invoke-virtual {v0}, Lcom/sandboxol/center/view/dialog/LoadingDialog;->dismiss()V

    const/4 v0, 0x0

    .line 3
    iput-object v0, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->loadingDialog:Lcom/sandboxol/center/view/dialog/LoadingDialog;

    :cond_a
    return-void
.end method

.method public getEngineEnv()Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;
    .registers 2

    .line 1
    iget-object v0, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->engineEnv:Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;

    return-object v0
.end method

.method public getScreenHeight()I
    .registers 2

    .line 1
    iget v0, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->mScreenHeight:I

    return v0
.end method

.method public getScreenWidth()I
    .registers 2

    .line 1
    iget v0, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->mScreenWidth:I

    return v0
.end method

.method public handleActionCancel([I[F[F)V
    .registers 4

    .line 1
    invoke-static {p1, p2, p3}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeTouchesCancel([I[F[F)V

    return-void
.end method

.method public handleActionDown(IFF)V
    .registers 4

    .line 1
    invoke-static {p1, p2, p3}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeTouchesBegin(IFF)V

    return-void
.end method

.method public handleActionMove([I[F[F)V
    .registers 4

    .line 1
    invoke-static {p1, p2, p3}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeTouchesMove([I[F[F)V

    return-void
.end method

.method public handleActionUp(IFF)V
    .registers 4

    .line 1
    invoke-static {p1, p2, p3}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeTouchesEnd(IFF)V

    return-void
.end method

.method public handleBuyActionResult(II)V
    .registers 3

    .line 1
    invoke-static {p1, p2}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeBuyActionResult(II)V

    return-void
.end method

.method public handleCloseAd(I)V
    .registers 2

    .line 1
    invoke-static {p1}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeOnCloseAd(I)V

    return-void
.end method

.method public handleConnectServer(Ljava/lang/String;ILjava/lang/String;)V
    .registers 4

    .line 1
    invoke-static {p1, p2, p3}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeConnectServer(Ljava/lang/String;ILjava/lang/String;)V

    return-void
.end method

.method public handleExitGame()V
    .registers 1

    .line 1
    invoke-static {}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeExitGame()V

    return-void
.end method

.method public handleGameActionTrigger(ILjava/lang/String;)V
    .registers 3

    .line 1
    invoke-static {p1, p2}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeOnGameActionTrigger(ILjava/lang/String;)V

    return-void
.end method

.method public handleHideRechargeBtn()V
    .registers 1

    .line 1
    invoke-static {}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeHideRechargeBtn()V

    return-void
.end method

.method public handleInitGame(FLjava/lang/String;JLjava/lang/String;Ljava/lang/String;JLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;IZZLjava/lang/String;)V
    .registers 52

    move-object/from16 v1, p0

    .line 3
    :try_start_2
    invoke-virtual/range {p0 .. p0}, Lcom/sandboxol/blockmango/EchoesRenderer;->isGLValid()Z

    move-result v0

    if-nez v0, :cond_e

    const-string v0, "offline"

    .line 4
    invoke-static {v0}, Lcom/sandboxol/blockmango/EchoesHelper;->onGameExit(Ljava/lang/String;)V

    return-void

    :cond_e
    const-string v0, ""

    .line 5
    invoke-static/range {p6 .. p6}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v2

    const/4 v3, 0x1

    const/4 v4, 0x0

    if-nez v2, :cond_2f

    const-string v0, ":"

    move-object/from16 v2, p6

    .line 6
    invoke-virtual {v2, v0}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;

    move-result-object v0

    .line 7
    aget-object v2, v0, v4

    .line 8
    aget-object v0, v0, v3

    invoke-static {v0}, Ljava/lang/Integer;->valueOf(Ljava/lang/String;)Ljava/lang/Integer;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I

    move-result v0

    move v11, v0

    move-object v10, v2

    goto :goto_31

    :cond_2f
    move-object v10, v0

    const/4 v11, 0x0

    .line 9
    :goto_31
    iget-object v0, v1, Lcom/sandboxol/blockmango/EchoesRenderer;->engineEnv:Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;

    invoke-virtual {v0}, Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;->getResRootPath()Ljava/lang/String;

    move-result-object v18

    .line 10
    iget-object v0, v1, Lcom/sandboxol/blockmango/EchoesRenderer;->engineEnv:Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;

    invoke-virtual {v0}, Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;->getConfigPath()Ljava/lang/String;

    move-result-object v20

    .line 11
    iget-object v0, v1, Lcom/sandboxol/blockmango/EchoesRenderer;->engineEnv:Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;

    invoke-virtual {v0}, Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;->getMapRootPath()Ljava/lang/String;

    move-result-object v0

    .line 12
    iget-object v2, v1, Lcom/sandboxol/blockmango/EchoesRenderer;->engineEnv:Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;

    invoke-virtual {v2}, Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;->getMapTempRootPath()Ljava/lang/String;

    move-result-object v22

    .line 13
    new-instance v2, Ljava/io/File;

    invoke-direct {v2, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V

    .line 14
    invoke-virtual {v2}, Ljava/io/File;->exists()Z

    move-result v5

    if-nez v5, :cond_57

    .line 15
    invoke-virtual {v2}, Ljava/io/File;->mkdirs()Z

    .line 16
    :cond_57
    iget-object v2, v1, Lcom/sandboxol/blockmango/EchoesRenderer;->engineEnv:Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;

    invoke-virtual {v2}, Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;->getType()I

    move-result v2

    if-ne v2, v3, :cond_8f

    .line 17
    iget-object v2, v1, Lcom/sandboxol/blockmango/EchoesRenderer;->engineEnv:Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;

    .line 18
    invoke-virtual {v2}, Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;->getResCachePath()Ljava/lang/String;

    move-result-object v26

    iget-object v2, v1, Lcom/sandboxol/blockmango/EchoesRenderer;->engineEnv:Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;

    invoke-virtual {v2}, Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;->getEngineResBaseUrl()Ljava/lang/String;

    move-result-object v27

    move/from16 v5, p1

    move-object/from16 v6, p2

    move-wide/from16 v7, p3

    move-object/from16 v9, p5

    move-wide/from16 v12, p7

    move-object/from16 v14, p9

    move-object/from16 v15, p10

    move-object/from16 v16, p11

    move-object/from16 v17, p12

    move-object/from16 v19, v20

    move-object/from16 v20, v0

    move/from16 v21, p13

    move/from16 v22, p14

    move-object/from16 v23, p15

    move/from16 v24, p17

    move/from16 v25, p18

    .line 19
    invoke-static/range {v5 .. v27}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeInitGame(FLjava/lang/String;JLjava/lang/String;Ljava/lang/String;IJLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;ZZLjava/lang/String;Ljava/lang/String;)V

    goto :goto_c7

    .line 20
    :cond_8f
    iget-object v2, v1, Lcom/sandboxol/blockmango/EchoesRenderer;->engineEnv:Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;

    .line 21
    invoke-virtual {v2}, Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;->getResCachePath()Ljava/lang/String;

    move-result-object v19

    if-eqz p18, :cond_9a

    const/16 v25, 0x1

    goto :goto_9c

    :cond_9a
    const/16 v25, 0x0

    :goto_9c
    const/16 v27, 0x0

    iget-object v2, v1, Lcom/sandboxol/blockmango/EchoesRenderer;->engineEnv:Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;

    .line 22
    invoke-virtual {v2}, Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;->getEngineResBaseUrl()Ljava/lang/String;

    move-result-object v29

    move/from16 v5, p1

    move-object/from16 v6, p2

    move-wide/from16 v7, p3

    move-object/from16 v9, p5

    move-wide/from16 v12, p7

    move-object/from16 v14, p9

    move-object/from16 v15, p10

    move-object/from16 v16, p11

    move-object/from16 v17, p12

    move-object/from16 v21, v0

    move/from16 v23, p13

    move/from16 v24, p14

    move/from16 v26, p16

    move-object/from16 v28, p19

    move/from16 v30, p17

    move-object/from16 v31, p15

    .line 23
    invoke-static/range {v5 .. v31}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeInitGame(FLjava/lang/String;JLjava/lang/String;Ljava/lang/String;IJLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIIILjava/lang/String;Ljava/lang/String;ZLjava/lang/String;)V

    .line 24
    :goto_c7
    iget-object v0, v1, Lcom/sandboxol/blockmango/EchoesRenderer;->engineEnv:Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;

    invoke-virtual {v0}, Lcom/sandboxol/center/router/moduleInfo/game/AbstractEngineEnv;->getType()I

    move-result v0

    const/4 v2, 0x3

    if-eq v0, v2, :cond_d7

    .line 25
    invoke-static {}, Lc/k/b/a/i;->a()[Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeSetDefaultFaceSkin([Ljava/lang/String;)V

    .line 26
    :cond_d7
    invoke-static {}, Lc/k/b/a/n;->a()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeOnGetPhoneType(Ljava/lang/String;)V
    :try_end_de
    .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_de} :catch_df

    goto :goto_e3

    :catch_df
    move-exception v0

    .line 27
    invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V

    :goto_e3
    return-void
.end method

.method public handleInitGame(FLjava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V
    .registers 7

    .line 1
    invoke-static/range {p1 .. p6}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeInit(FLjava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V

    .line 2
    invoke-static {}, Lc/k/b/a/n;->a()Ljava/lang/String;

    move-result-object p1

    invoke-static {p1}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeOnGetPhoneType(Ljava/lang/String;)V

    return-void
.end method

.method public handleInitLocalServer(Ljava/lang/String;)V
    .registers 2

    .line 1
    invoke-static {p1}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeStartLocalServer(Ljava/lang/String;)V

    return-void
.end method

.method public handleKeyDown(I)V
    .registers 2

    .line 1
    invoke-static {p1}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeKeyDown(I)Z

    return-void
.end method

.method public handleKeyUp(I)V
    .registers 2

    .line 1
    invoke-static {p1}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeKeyUp(I)Z

    return-void
.end method

.method public handleNativeSetUserInfo(Ljava/lang/String;Ljava/lang/String;J)V
    .registers 5

    .line 1
    invoke-static {p1, p2, p3, p4}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeSetUserInfo(Ljava/lang/String;Ljava/lang/String;J)V

    return-void
.end method

.method public handleOnDestroy()V
    .registers 1

    .line 1
    invoke-static {}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeOnDestroy()V

    return-void
.end method

.method public handleOnFriendOperationForAppHttpResult(IJ)V
    .registers 4

    .line 1
    invoke-static {p1, p2, p3}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeOnFriendOperationForAppHttpResult(IJ)V

    return-void
.end method

.method public handleOnNativeResetGameResult(I)V
    .registers 2

    .line 1
    invoke-static {p1}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeOnResetGameResult(I)V

    return-void
.end method

.method public handleOnPause()V
    .registers 1

    .line 1
    invoke-static {}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeOnPause()V

    return-void
.end method

.method public handleOnResume()V
    .registers 1

    .line 1
    invoke-static {}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeOnResume()V

    return-void
.end method

.method public handleRechargeResult(IILjava/lang/String;)V
    .registers 4

    .line 1
    invoke-static {p1, p2, p3}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeOnRechargeResult(IILjava/lang/String;)V

    return-void
.end method

.method public handleSurfaceChanged(II)V
    .registers 4

    .line 1
    iget v0, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->mWidth:I

    if-eq p1, v0, :cond_b

    iget v0, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->mHeight:I

    if-eq v0, p2, :cond_b

    .line 2
    invoke-static {p1, p2}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeOnSurfaceChanged(II)V

    .line 3
    :cond_b
    iput p1, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->mWidth:I

    .line 4
    iput p2, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->mHeight:I

    return-void
.end method

.method public handleUseProp(Ljava/lang/String;)V
    .registers 2

    .line 1
    invoke-static {p1}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeUseProp(Ljava/lang/String;)V

    return-void
.end method

.method public handleVoiceOperationResult(IILjava/lang/String;)V
    .registers 4

    .line 1
    invoke-static {p1, p2, p3}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeOnVoiceOperationResult(IILjava/lang/String;)V

    return-void
.end method

.method public handleWatchAdResult(ILjava/lang/String;I)V
    .registers 4

    .line 1
    invoke-static {p1, p2, p3}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeOnWatchAdResult(ILjava/lang/String;I)V

    return-void
.end method

.method public handleWatchAdSuccess(I)V
    .registers 2

    .line 1
    invoke-static {p1}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeOnWatchAdSuccess(I)V

    return-void
.end method

.method public isGLValid()Z
    .registers 3

    .line 1
    iget-object v0, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->gl10:Ljavax/microedition/khronos/opengles/GL10;

    if-eqz v0, :cond_e

    const/16 v1, 0x1f02

    invoke-interface {v0, v1}, Ljavax/microedition/khronos/opengles/GL10;->glGetString(I)Ljava/lang/String;

    move-result-object v0

    if-eqz v0, :cond_e

    const/4 v0, 0x1

    goto :goto_f

    :cond_e
    const/4 v0, 0x0

    :goto_f
    return v0
.end method

.method public onDrawFrame(Ljavax/microedition/khronos/opengles/GL10;)V
    .registers 7

    .line 1
    iput-object p1, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->gl10:Ljavax/microedition/khronos/opengles/GL10;

    .line 2
    :try_start_2
    iget-boolean v0, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->m_bIsUpdating:Z

    if-eqz v0, :cond_29

    .line 3
    new-instance v0, Landroid/os/Message;

    invoke-direct {v0}, Landroid/os/Message;-><init>()V

    const/4 v1, 0x7

    .line 4
    iput v1, v0, Landroid/os/Message;->what:I

    .line 5
    invoke-static {}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeGetDownloadPercent()F

    move-result v1

    .line 6
    invoke-static {}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeGetDownloadState()I

    move-result v2

    .line 7
    new-instance v3, Lcom/sandboxol/blockmango/EchoesHandler$UpdateDownloadMessage;

    const/high16 v4, 0x42c80000    # 100.0f

    mul-float v1, v1, v4

    float-to-int v1, v1

    const/16 v4, 0x64

    invoke-direct {v3, v1, v4, v2}, Lcom/sandboxol/blockmango/EchoesHandler$UpdateDownloadMessage;-><init>(III)V

    iput-object v3, v0, Landroid/os/Message;->obj:Ljava/lang/Object;

    .line 8
    iget-object v1, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->mMainHandler:Lcom/sandboxol/blockmango/EchoesHandler;

    invoke-virtual {v1, v0}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z

    .line 9
    :cond_29
    iget-boolean v0, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->m_bInitOK:Z

    if-eqz v0, :cond_4c

    .line 10
    iget-wide v0, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->drawFrameTimes:J

    const-wide/16 v2, 0x1

    add-long/2addr v0, v2

    iput-wide v0, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->drawFrameTimes:J

    .line 11
    invoke-static {}, Lcom/sandboxol/blockmango/EchoesRenderer;->nativeRender()V

    .line 12
    iget-wide v0, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->drawFrameTimes:J

    const-wide/16 v2, 0x2

    cmp-long v4, v0, v2

    if-nez v4, :cond_4c

    .line 13
    new-instance v0, Landroid/os/Message;

    invoke-direct {v0}, Landroid/os/Message;-><init>()V

    const/4 v1, 0x5

    .line 14
    iput v1, v0, Landroid/os/Message;->what:I

    .line 15
    iget-object v1, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->mMainHandler:Lcom/sandboxol/blockmango/EchoesHandler;

    invoke-virtual {v1, v0}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z

    .line 16
    :cond_4c
    iget-boolean v0, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->isTakePicture:Z

    if-eqz v0, :cond_7e

    const/4 v0, 0x0

    .line 17
    iput-boolean v0, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->isTakePicture:Z

    .line 18
    iget-object v0, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->picResUrlOrPath:Ljava/lang/String;

    invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    if-eqz v0, :cond_64

    .line 19
    iget v0, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->mScreenWidth:I

    iget v1, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->mScreenHeight:I

    invoke-static {p1, v0, v1}, Lcom/sandboxol/blockmango/ShotScreenUtils;->getShotScreenBitmap(Ljavax/microedition/khronos/opengles/GL10;II)Landroid/graphics/Bitmap;

    move-result-object p1

    goto :goto_6a

    .line 20
    :cond_64
    iget-object p1, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->picResUrlOrPath:Ljava/lang/String;

    invoke-static {p1}, Lcom/sandboxol/blockmango/ShotScreenUtils;->res2bitmap(Ljava/lang/String;)Landroid/graphics/Bitmap;

    move-result-object p1

    .line 21
    :goto_6a
    iget-object v0, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->mContext:Landroid/content/Context;

    iget-object v1, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->picResUrlOrPath:Ljava/lang/String;

    new-instance v2, Lcom/sandboxol/blockmango/ob;

    invoke-direct {v2, p0}, Lcom/sandboxol/blockmango/ob;-><init>(Lcom/sandboxol/blockmango/EchoesRenderer;)V

    invoke-static {v0, p1, v1, v2}, Lcom/sandboxol/blockmango/CaptureBitmapHelper;->captureBitmap(Landroid/content/Context;Landroid/graphics/Bitmap;Ljava/lang/String;Lrx/functions/Action0;)V
    :try_end_76
    .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_76} :catch_77

    goto :goto_7e

    .line 22
    :catch_77
    sget-object p1, Ljava/lang/System;->out:Ljava/io/PrintStream;

    const-string v0, "gl thread exception"

    invoke-virtual {p1, v0}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V

    :cond_7e
    :goto_7e
    return-void
.end method

.method public onSurfaceChanged(Ljavax/microedition/khronos/opengles/GL10;II)V
    .registers 4

    return-void
.end method

.method public onSurfaceCreated(Ljavax/microedition/khronos/opengles/GL10;Ljavax/microedition/khronos/egl/EGLConfig;)V
    .registers 3

    const/4 p2, 0x0

    .line 1
    iput-boolean p2, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->m_bInitOK:Z

    .line 2
    iput-boolean p2, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->m_bIsUpdating:Z

    .line 3
    iput-object p1, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->gl10:Ljavax/microedition/khronos/opengles/GL10;

    .line 4
    iget-object p1, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->mMainHandler:Lcom/sandboxol/blockmango/EchoesHandler;

    invoke-virtual {p1}, Lcom/sandboxol/blockmango/EchoesHandler;->onOpenGLInitDone()V

    return-void
.end method

.method public releaseRes()V
    .registers 1

    return-void
.end method

.method public setInitOK(Z)V
    .registers 4

    .line 1
    iput-boolean p1, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->m_bInitOK:Z

    const-wide/16 v0, 0x0

    .line 2
    iput-wide v0, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->drawFrameTimes:J

    return-void
.end method

.method public setScreenWidthAndHeight(II)V
    .registers 3

    .line 1
    iput p1, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->mScreenWidth:I

    .line 2
    iput p2, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->mScreenHeight:I

    return-void
.end method

.method public setUpdatingFlag(Z)V
    .registers 2

    .line 1
    iput-boolean p1, p0, Lcom/sandboxol/blockmango/EchoesRenderer;->m_bIsUpdating:Z

    return-void
.end method