Utils.smali
.class public Lio/rong/subscaleview/Utils;
.super Ljava/lang/Object;
.source "Utils.java"
# direct methods
.method public constructor <init>()V
.registers 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static getGLESTextureLimitBelowLollipop()I
.registers 3
const/4 v0, 0x1
.line 1
new-array v0, v0, [I
const/4 v1, 0x0
const/16 v2, 0xd33
.line 2
invoke-static {v2, v0, v1}, Landroid/opengl/GLES10;->glGetIntegerv(I[II)V
.line 3
aget v0, v0, v1
return v0
.end method
.method private static getGLESTextureLimitEqualAboveLollipop()I
.registers 10
.line 1
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 2
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 v7
const/4 v1, 0x2
.line 3
new-array v1, v1, [I
.line 4
invoke-interface {v0, v7, v1}, Ljavax/microedition/khronos/egl/EGL10;->eglInitialize(Ljavax/microedition/khronos/egl/EGLDisplay;[I)Z
const/4 v1, 0x7
.line 5
new-array v3, v1, [I
fill-array-data v3, :array_5a
const/4 v8, 0x1
.line 6
new-array v9, v8, [Ljavax/microedition/khronos/egl/EGLConfig;
.line 7
new-array v6, v8, [I
const/4 v5, 0x1
move-object v1, v0
move-object v2, v7
move-object v4, v9
.line 8
invoke-interface/range {v1 .. v6}, Ljavax/microedition/khronos/egl/EGL10;->eglChooseConfig(Ljavax/microedition/khronos/egl/EGLDisplay;[I[Ljavax/microedition/khronos/egl/EGLConfig;I[I)Z
const/4 v1, 0x0
.line 9
aget-object v2, v9, v1
const/4 v3, 0x5
.line 10
new-array v3, v3, [I
fill-array-data v3, :array_6c
.line 11
invoke-interface {v0, v7, v2, v3}, Ljavax/microedition/khronos/egl/EGL10;->eglCreatePbufferSurface(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;[I)Ljavax/microedition/khronos/egl/EGLSurface;
move-result-object v3
const/4 v4, 0x3
.line 12
new-array v4, v4, [I
fill-array-data v4, :array_7a
.line 13
sget-object v5, Ljavax/microedition/khronos/egl/EGL10;->EGL_NO_CONTEXT:Ljavax/microedition/khronos/egl/EGLContext;
invoke-interface {v0, v7, v2, v5, v4}, Ljavax/microedition/khronos/egl/EGL10;->eglCreateContext(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;Ljavax/microedition/khronos/egl/EGLContext;[I)Ljavax/microedition/khronos/egl/EGLContext;
move-result-object v2
.line 14
invoke-interface {v0, v7, v3, v3, v2}, Ljavax/microedition/khronos/egl/EGL10;->eglMakeCurrent(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;Ljavax/microedition/khronos/egl/EGLSurface;Ljavax/microedition/khronos/egl/EGLContext;)Z
.line 15
new-array v4, v8, [I
const/16 v5, 0xd33
.line 16
invoke-static {v5, v4, v1}, Landroid/opengl/GLES10;->glGetIntegerv(I[II)V
.line 17
sget-object v5, Ljavax/microedition/khronos/egl/EGL10;->EGL_NO_SURFACE:Ljavax/microedition/khronos/egl/EGLSurface;
sget-object v6, Ljavax/microedition/khronos/egl/EGL10;->EGL_NO_CONTEXT:Ljavax/microedition/khronos/egl/EGLContext;
invoke-interface {v0, v7, v5, v5, v6}, Ljavax/microedition/khronos/egl/EGL10;->eglMakeCurrent(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;Ljavax/microedition/khronos/egl/EGLSurface;Ljavax/microedition/khronos/egl/EGLContext;)Z
.line 18
invoke-interface {v0, v7, v3}, Ljavax/microedition/khronos/egl/EGL10;->eglDestroySurface(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;)Z
.line 19
invoke-interface {v0, v7, v2}, Ljavax/microedition/khronos/egl/EGL10;->eglDestroyContext(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLContext;)Z
.line 20
invoke-interface {v0, v7}, Ljavax/microedition/khronos/egl/EGL10;->eglTerminate(Ljavax/microedition/khronos/egl/EGLDisplay;)Z
.line 21
aget v0, v4, v1
return v0
:array_5a
.array-data 4
0x303f
0x308e
0x3029
0x0
0x3033
0x1
0x3038
.end array-data
:array_6c
.array-data 4
0x3057
0x40
0x3056
0x40
0x3038
.end array-data
:array_7a
.array-data 4
0x3098
0x1
0x3038
.end array-data
.end method
.method public static getMaxLoader()I
.registers 2
.line 1
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x15
if-lt v0, v1, :cond_b
.line 2
invoke-static {}, Lio/rong/subscaleview/Utils;->getGLESTextureLimitEqualAboveLollipop()I
move-result v0
return v0
.line 3
:cond_b
invoke-static {}, Lio/rong/subscaleview/Utils;->getGLESTextureLimitBelowLollipop()I
move-result v0
return v0
.end method
.method public static getScreenHeight(Landroid/content/Context;)I
.registers 1
.line 1
invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p0
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p0
invoke-virtual {p0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object p0
.line 2
iget p0, p0, Landroid/util/DisplayMetrics;->heightPixels:I
return p0
.end method
.method public static getScreenWidth(Landroid/content/Context;)I
.registers 1
.line 1
invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p0
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p0
invoke-virtual {p0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object p0
.line 2
iget p0, p0, Landroid/util/DisplayMetrics;->widthPixels:I
return p0
.end method