.class public Lcom/yalantis/ucrop/util/EglUtils; .super Ljava/lang/Object; .source "EglUtils.java" # static fields .field private static final TAG:Ljava/lang/String; = "EglUtils" # direct methods .method private constructor ()V .registers 1 .line 23 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method private static getMaxTextureEgl10()I .registers 11 .line 91 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 93 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 94 new-array v1, v1, [I .line 95 invoke-interface {v0, v7, v1}, Ljavax/microedition/khronos/egl/EGL10;->eglInitialize(Ljavax/microedition/khronos/egl/EGLDisplay;[I)Z const/4 v1, 0x7 .line 97 new-array v3, v1, [I fill-array-data v3, :array_68 const/4 v8, 0x1 .line 103 new-array v9, v8, [Ljavax/microedition/khronos/egl/EGLConfig; .line 104 new-array v10, v8, [I const/4 v5, 0x1 move-object v1, v0 move-object v2, v7 move-object v4, v9 move-object v6, v10 .line 105 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 106 aget v2, v10, v1 if-nez v2, :cond_2b return v1 .line 109 :cond_2b aget-object v2, v9, v1 const/16 v3, 0x3057 const/16 v4, 0x3056 const/16 v5, 0x40 const/16 v6, 0x3038 .line 111 filled-new-array {v3, v5, v4, v5, v6}, [I move-result-object v3 .line 116 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/16 v4, 0x3098 .line 118 filled-new-array {v4, v8, v6}, [I move-result-object v4 .line 122 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 123 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 124 new-array v4, v8, [I const/16 v5, 0xd33 .line 125 invoke-static {v5, v4, v1}, Landroid/opengl/GLES10;->glGetIntegerv(I[II)V .line 126 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_SURFACE:Ljavax/microedition/khronos/egl/EGLSurface; sget-object v8, Ljavax/microedition/khronos/egl/EGL10;->EGL_NO_CONTEXT:Ljavax/microedition/khronos/egl/EGLContext; invoke-interface {v0, v7, v5, v6, v8}, 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 128 invoke-interface {v0, v7, v3}, Ljavax/microedition/khronos/egl/EGL10;->eglDestroySurface(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;)Z .line 129 invoke-interface {v0, v7, v2}, Ljavax/microedition/khronos/egl/EGL10;->eglDestroyContext(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLContext;)Z .line 130 invoke-interface {v0, v7}, Ljavax/microedition/khronos/egl/EGL10;->eglTerminate(Ljavax/microedition/khronos/egl/EGLDisplay;)Z .line 132 aget v0, v4, v1 return v0 :array_68 .array-data 4 0x303f 0x308e 0x3029 0x0 0x3033 0x1 0x3038 .end array-data .end method .method private static getMaxTextureEgl14()I .registers 14 const/4 v0, 0x0 .line 42 invoke-static {v0}, Landroid/opengl/EGL14;->eglGetDisplay(I)Landroid/opengl/EGLDisplay; move-result-object v9 const/4 v10, 0x2 .line 43 new-array v1, v10, [I const/4 v11, 0x1 .line 44 invoke-static {v9, v1, v0, v1, v11}, Landroid/opengl/EGL14;->eglInitialize(Landroid/opengl/EGLDisplay;[II[II)Z const/16 v1, 0x9 .line 46 new-array v2, v1, [I fill-array-data v2, :array_64 .line 53 new-array v12, v11, [Landroid/opengl/EGLConfig; .line 54 new-array v13, v11, [I const/4 v6, 0x1 const/4 v8, 0x0 const/4 v3, 0x0 const/4 v5, 0x0 move-object v1, v9 move-object v4, v12 move-object v7, v13 .line 55 invoke-static/range {v1 .. v8}, Landroid/opengl/EGL14;->eglChooseConfig(Landroid/opengl/EGLDisplay;[II[Landroid/opengl/EGLConfig;II[II)Z .line 57 aget v1, v13, v0 if-nez v1, :cond_26 return v0 .line 60 :cond_26 aget-object v1, v12, v0 const/16 v2, 0x3057 const/16 v3, 0x3056 const/16 v4, 0x40 const/16 v5, 0x3038 .line 62 filled-new-array {v2, v4, v3, v4, v5}, [I move-result-object v2 .line 67 invoke-static {v9, v1, v2, v0}, Landroid/opengl/EGL14;->eglCreatePbufferSurface(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLConfig;[II)Landroid/opengl/EGLSurface; move-result-object v2 const/16 v3, 0x3098 .line 69 filled-new-array {v3, v10, v5}, [I move-result-object v3 .line 73 sget-object v4, Landroid/opengl/EGL14;->EGL_NO_CONTEXT:Landroid/opengl/EGLContext; invoke-static {v9, v1, v4, v3, v0}, Landroid/opengl/EGL14;->eglCreateContext(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLConfig;Landroid/opengl/EGLContext;[II)Landroid/opengl/EGLContext; move-result-object v1 .line 75 invoke-static {v9, v2, v2, v1}, Landroid/opengl/EGL14;->eglMakeCurrent(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;Landroid/opengl/EGLSurface;Landroid/opengl/EGLContext;)Z .line 77 new-array v3, v11, [I const/16 v4, 0xd33 .line 78 invoke-static {v4, v3, v0}, Landroid/opengl/GLES20;->glGetIntegerv(I[II)V .line 80 sget-object v4, Landroid/opengl/EGL14;->EGL_NO_SURFACE:Landroid/opengl/EGLSurface; sget-object v5, Landroid/opengl/EGL14;->EGL_NO_SURFACE:Landroid/opengl/EGLSurface; sget-object v6, Landroid/opengl/EGL14;->EGL_NO_CONTEXT:Landroid/opengl/EGLContext; invoke-static {v9, v4, v5, v6}, Landroid/opengl/EGL14;->eglMakeCurrent(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;Landroid/opengl/EGLSurface;Landroid/opengl/EGLContext;)Z .line 82 invoke-static {v9, v2}, Landroid/opengl/EGL14;->eglDestroySurface(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;)Z .line 83 invoke-static {v9, v1}, Landroid/opengl/EGL14;->eglDestroyContext(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLContext;)Z .line 84 invoke-static {v9}, Landroid/opengl/EGL14;->eglTerminate(Landroid/opengl/EGLDisplay;)Z .line 86 aget v0, v3, v0 return v0 nop :array_64 .array-data 4 0x303f 0x308e 0x3029 0x0 0x3040 0x4 0x3033 0x1 0x3038 .end array-data .end method .method public static getMaxTextureSize()I .registers 3 .line 30 :try_start_0 invoke-static {}, Lcom/yalantis/ucrop/util/EglUtils;->getMaxTextureEgl14()I move-result v0 :try_end_4 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_4} :catch_5 return v0 :catch_5 move-exception v0 .line 35 const-string v1, "EglUtils" const-string v2, "getMaxTextureSize: " invoke-static {v1, v2, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I const/4 v0, 0x0 return v0 .end method