b.smali

.class public final Lcom/c/a/b;
.super Ljava/lang/Object;
.source "SourceFile"


# direct methods
.method public constructor <init>()V
    .registers 1

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

    return-void
.end method

.method public static a()I
    .registers 15

    .line 71
    invoke-static {}, Ljavax/microedition/khronos/egl/EGLContext;->getEGL()Ljavax/microedition/khronos/egl/EGL;

    move-result-object v0

    check-cast v0, Ljavax/microedition/khronos/egl/EGL10;

    .line 72
    sget-object v1, Ljavax/microedition/khronos/egl/EGL10;->EGL_DEFAULT_DISPLAY:Ljava/lang/Object;

    invoke-interface {v0, v1}, Ljavax/microedition/khronos/egl/EGL10;->eglGetDisplay(Ljava/lang/Object;)Ljavax/microedition/khronos/egl/EGLDisplay;

    move-result-object v1

    const/4 v2, 0x1

    new-array v3, v2, [I

    const/4 v4, 0x0

    .line 74
    invoke-interface {v0, v1, v4}, Ljavax/microedition/khronos/egl/EGL10;->eglInitialize(Ljavax/microedition/khronos/egl/EGLDisplay;[I)Z

    move-result v5

    const-string v6, "OpenGlEsVersionTest"

    if-eqz v5, :cond_ed

    const/16 v5, 0x3055

    .line 76
    :try_start_1a
    invoke-interface {v0, v1, v5}, Ljavax/microedition/khronos/egl/EGL10;->eglQueryString(Ljavax/microedition/khronos/egl/EGLDisplay;I)Ljava/lang/String;

    move-result-object v5

    const-string v7, "EGL_KHR_create_context"

    .line 1128
    invoke-virtual {v5, v7}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I

    move-result v8

    :goto_24
    const/4 v9, 0x0

    if-ltz v8, :cond_3f

    add-int/lit8 v8, v8, 0x16

    .line 1132
    invoke-virtual {v5}, Ljava/lang/String;->length()I

    move-result v10

    if-eq v8, v10, :cond_3d

    invoke-virtual {v5, v8}, Ljava/lang/String;->charAt(I)C

    move-result v10

    const/16 v11, 0x20

    if-ne v10, v11, :cond_38

    goto :goto_3d

    .line 1135
    :cond_38
    invoke-virtual {v5, v7, v8}, Ljava/lang/String;->indexOf(Ljava/lang/String;I)I

    move-result v8

    goto :goto_24

    :cond_3d
    :goto_3d
    const/4 v5, 0x1

    goto :goto_40

    :cond_3f
    const/4 v5, 0x0

    .line 78
    :goto_40
    invoke-interface {v0, v1, v4, v9, v3}, Ljavax/microedition/khronos/egl/EGL10;->eglGetConfigs(Ljavax/microedition/khronos/egl/EGLDisplay;[Ljavax/microedition/khronos/egl/EGLConfig;I[I)Z

    move-result v4

    if-eqz v4, :cond_ce

    .line 79
    aget v4, v3, v9

    new-array v4, v4, [Ljavax/microedition/khronos/egl/EGLConfig;

    .line 80
    aget v7, v3, v9

    invoke-interface {v0, v1, v4, v7, v3}, Ljavax/microedition/khronos/egl/EGL10;->eglGetConfigs(Ljavax/microedition/khronos/egl/EGLDisplay;[Ljavax/microedition/khronos/egl/EGLConfig;I[I)Z

    move-result v7

    if-eqz v7, :cond_b4

    new-array v7, v2, [I

    const/4 v8, 0x0

    const/4 v10, 0x0

    .line 83
    :goto_56
    aget v11, v3, v9

    if-ge v8, v11, :cond_b0

    .line 84
    aget-object v11, v4, v8

    const/16 v12, 0x3040

    invoke-interface {v0, v1, v11, v12, v7}, Ljavax/microedition/khronos/egl/EGL10;->eglGetConfigAttrib(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;I[I)Z

    move-result v11

    const/4 v12, 0x3

    const/4 v13, 0x2

    if-eqz v11, :cond_86

    if-eqz v5, :cond_73

    .line 86
    aget v11, v7, v9

    const/16 v14, 0x40

    and-int/2addr v11, v14

    if-ne v11, v14, :cond_73

    if-ge v10, v12, :cond_ad

    const/4 v10, 0x3

    goto :goto_ad

    .line 89
    :cond_73
    aget v11, v7, v9

    const/4 v12, 0x4

    and-int/2addr v11, v12

    if-ne v11, v12, :cond_7d

    if-ge v10, v13, :cond_ad

    const/4 v10, 0x2

    goto :goto_ad

    .line 91
    :cond_7d
    aget v11, v7, v9

    and-int/2addr v11, v2

    if-ne v11, v2, :cond_ad

    if-gtz v10, :cond_ad

    const/4 v10, 0x1

    goto :goto_ad

    .line 95
    :cond_86
    new-instance v11, Ljava/lang/StringBuilder;

    const-string v12, "Getting config attribute with EGL10#eglGetConfigAttrib failed ("

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

    invoke-virtual {v11, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v12, "/"

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

    aget v12, v3, v9

    invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v12, "): "

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

    .line 98
    invoke-interface {v0}, Ljavax/microedition/khronos/egl/EGL10;->eglGetError()I

    move-result v12

    invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

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

    move-result-object v11

    .line 95
    invoke-static {v6, v11}, Lsg/bigo/log/TraceLog;->w(Ljava/lang/String;Ljava/lang/String;)I
    :try_end_ad
    .catchall {:try_start_1a .. :try_end_ad} :catchall_e8

    :cond_ad
    :goto_ad
    add-int/lit8 v8, v8, 0x1

    goto :goto_56

    .line 113
    :cond_b0
    invoke-interface {v0, v1}, Ljavax/microedition/khronos/egl/EGL10;->eglTerminate(Ljavax/microedition/khronos/egl/EGLDisplay;)Z

    return v10

    .line 103
    :cond_b4
    :try_start_b4
    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "Getting configs with EGL10#eglGetConfigs failed: "

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

    .line 104
    invoke-interface {v0}, Ljavax/microedition/khronos/egl/EGL10;->eglGetError()I

    move-result v3

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

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

    move-result-object v2

    .line 103
    invoke-static {v6, v2}, Lsg/bigo/log/TraceLog;->e(Ljava/lang/String;Ljava/lang/String;)I
    :try_end_c9
    .catchall {:try_start_b4 .. :try_end_c9} :catchall_e8

    .line 113
    invoke-interface {v0, v1}, Ljavax/microedition/khronos/egl/EGL10;->eglTerminate(Ljavax/microedition/khronos/egl/EGLDisplay;)Z

    const/4 v0, -0x1

    return v0

    .line 108
    :cond_ce
    :try_start_ce
    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "Getting number of configs with EGL10#eglGetConfigs failed: "

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

    .line 109
    invoke-interface {v0}, Ljavax/microedition/khronos/egl/EGL10;->eglGetError()I

    move-result v3

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

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

    move-result-object v2

    .line 108
    invoke-static {v6, v2}, Lsg/bigo/log/TraceLog;->e(Ljava/lang/String;Ljava/lang/String;)I
    :try_end_e3
    .catchall {:try_start_ce .. :try_end_e3} :catchall_e8

    .line 113
    invoke-interface {v0, v1}, Ljavax/microedition/khronos/egl/EGL10;->eglTerminate(Ljavax/microedition/khronos/egl/EGLDisplay;)Z

    const/4 v0, -0x2

    return v0

    :catchall_e8
    move-exception v2

    invoke-interface {v0, v1}, Ljavax/microedition/khronos/egl/EGL10;->eglTerminate(Ljavax/microedition/khronos/egl/EGLDisplay;)Z

    throw v2

    :cond_ed
    const-string v0, "Couldn\'t initialize EGL."

    .line 116
    invoke-static {v6, v0}, Lsg/bigo/log/TraceLog;->e(Ljava/lang/String;Ljava/lang/String;)I

    const/4 v0, -0x3

    return v0
.end method

.method public static a(Landroid/content/Context;)I
    .registers 6

    .line 43
    invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object p0

    .line 44
    invoke-virtual {p0}, Landroid/content/pm/PackageManager;->getSystemAvailableFeatures()[Landroid/content/pm/FeatureInfo;

    move-result-object p0

    const/4 v0, 0x1

    if-eqz p0, :cond_41

    .line 45
    array-length v1, p0

    if-lez v1, :cond_41

    .line 46
    array-length v1, p0

    const/4 v2, 0x0

    :goto_10
    if-ge v2, v1, :cond_41

    aget-object v3, p0, v2

    .line 48
    iget-object v4, v3, Landroid/content/pm/FeatureInfo;->name:Ljava/lang/String;

    if-nez v4, :cond_3e

    .line 49
    iget p0, v3, Landroid/content/pm/FeatureInfo;->reqGlEsVersion:I

    if-eqz p0, :cond_3d

    .line 50
    new-instance p0, Ljava/lang/StringBuilder;

    const-string v0, "PM,GLVersion "

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

    iget v0, v3, Landroid/content/pm/FeatureInfo;->reqGlEsVersion:I

    .line 51
    invoke-static {v0}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;

    move-result-object v0

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

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

    move-result-object p0

    const-string v0, "OpenGlEsVersionTest"

    .line 50
    invoke-static {v0, p0}, Lsg/bigo/log/TraceLog;->w(Ljava/lang/String;Ljava/lang/String;)I

    .line 52
    iget p0, v3, Landroid/content/pm/FeatureInfo;->reqGlEsVersion:I

    const/high16 v0, -0x10000

    and-int/2addr p0, v0

    shr-int/lit8 p0, p0, 0x10

    return p0

    :cond_3d
    return v0

    :cond_3e
    add-int/lit8 v2, v2, 0x1

    goto :goto_10

    :cond_41
    return v0
.end method