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