d$b.smali
.class public final Lcom/otaliastudios/cameraview/preview/d$b;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroid/opengl/GLSurfaceView$Renderer;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/otaliastudios/cameraview/preview/d;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = "b"
.end annotation
# instance fields
.field public final synthetic a:Lcom/otaliastudios/cameraview/preview/d;
# direct methods
.method public constructor <init>(Lcom/otaliastudios/cameraview/preview/d;)V
.registers 2
iput-object p1, p0, Lcom/otaliastudios/cameraview/preview/d$b;->a:Lcom/otaliastudios/cameraview/preview/d;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final onDrawFrame(Ljavax/microedition/khronos/opengles/GL10;)V
.registers 11
.line 1
iget-object p1, p0, Lcom/otaliastudios/cameraview/preview/d$b;->a:Lcom/otaliastudios/cameraview/preview/d;
.line 2
iget-object v0, p1, Lcom/otaliastudios/cameraview/preview/d;->k:Landroid/graphics/SurfaceTexture;
if-nez v0, :cond_7
return-void
.line 3
:cond_7
iget v1, p1, Lcom/otaliastudios/cameraview/preview/a;->f:I
if-lez v1, :cond_ec
iget v1, p1, Lcom/otaliastudios/cameraview/preview/a;->g:I
if-gtz v1, :cond_11
goto/16 :goto_ec
.line 4
:cond_11
iget-object p1, p1, Lcom/otaliastudios/cameraview/preview/d;->l:Lcom/otaliastudios/cameraview/internal/c;
.line 5
iget-object p1, p1, Lcom/otaliastudios/cameraview/internal/c;->b:[F
.line 6
invoke-virtual {v0}, Landroid/graphics/SurfaceTexture;->updateTexImage()V
.line 7
iget-object v0, p0, Lcom/otaliastudios/cameraview/preview/d$b;->a:Lcom/otaliastudios/cameraview/preview/d;
.line 8
iget-object v0, v0, Lcom/otaliastudios/cameraview/preview/d;->k:Landroid/graphics/SurfaceTexture;
.line 9
invoke-virtual {v0, p1}, Landroid/graphics/SurfaceTexture;->getTransformMatrix([F)V
.line 10
iget-object v0, p0, Lcom/otaliastudios/cameraview/preview/d$b;->a:Lcom/otaliastudios/cameraview/preview/d;
iget v0, v0, Lcom/otaliastudios/cameraview/preview/a;->h:I
const/4 v7, 0x0
const/4 v8, 0x0
if-eqz v0, :cond_3f
const/high16 v0, 0x3f000000 # 0.5f
.line 11
invoke-static {p1, v8, v0, v0, v7}, Landroid/opengl/Matrix;->translateM([FIFFF)V
const/4 v2, 0x0
.line 12
iget-object v0, p0, Lcom/otaliastudios/cameraview/preview/d$b;->a:Lcom/otaliastudios/cameraview/preview/d;
iget v0, v0, Lcom/otaliastudios/cameraview/preview/a;->h:I
int-to-float v3, v0
const/4 v4, 0x0
const/4 v5, 0x0
const/high16 v6, 0x3f800000 # 1.0f
move-object v1, p1
invoke-static/range {v1 .. v6}, Landroid/opengl/Matrix;->rotateM([FIFFFF)V
const/high16 v0, -0x41000000 # -0.5f
.line 13
invoke-static {p1, v8, v0, v0, v7}, Landroid/opengl/Matrix;->translateM([FIFFF)V
.line 14
:cond_3f
iget-object v0, p0, Lcom/otaliastudios/cameraview/preview/d$b;->a:Lcom/otaliastudios/cameraview/preview/d;
.line 15
iget-boolean v1, v0, Lcom/otaliastudios/cameraview/preview/a;->c:Z
if-eqz v1, :cond_5f
.line 16
iget v1, v0, Lcom/otaliastudios/cameraview/preview/d;->n:F
const/high16 v2, 0x3f800000 # 1.0f
sub-float v1, v2, v1
const/high16 v3, 0x40000000 # 2.0f
div-float/2addr v1, v3
.line 17
iget v0, v0, Lcom/otaliastudios/cameraview/preview/d;->o:F
sub-float v0, v2, v0
div-float/2addr v0, v3
.line 18
invoke-static {p1, v8, v1, v0, v7}, Landroid/opengl/Matrix;->translateM([FIFFF)V
.line 19
iget-object v0, p0, Lcom/otaliastudios/cameraview/preview/d$b;->a:Lcom/otaliastudios/cameraview/preview/d;
iget v1, v0, Lcom/otaliastudios/cameraview/preview/d;->n:F
iget v0, v0, Lcom/otaliastudios/cameraview/preview/d;->o:F
invoke-static {p1, v8, v1, v0, v2}, Landroid/opengl/Matrix;->scaleM([FIFFF)V
.line 20
:cond_5f
iget-object p1, p0, Lcom/otaliastudios/cameraview/preview/d$b;->a:Lcom/otaliastudios/cameraview/preview/d;
.line 21
iget-object v0, p1, Lcom/otaliastudios/cameraview/preview/d;->l:Lcom/otaliastudios/cameraview/internal/c;
.line 22
iget-object p1, p1, Lcom/otaliastudios/cameraview/preview/d;->k:Landroid/graphics/SurfaceTexture;
.line 23
invoke-virtual {p1}, Landroid/graphics/SurfaceTexture;->getTimestamp()J
move-result-wide v1
const-wide/16 v3, 0x3e8
div-long/2addr v1, v3
.line 24
iget-object p1, v0, Lcom/otaliastudios/cameraview/internal/c;->d:Lcom/otaliastudios/cameraview/filter/b;
const/4 v1, -0x1
if-eqz p1, :cond_89
.line 25
iget p1, v0, Lcom/otaliastudios/cameraview/internal/c;->e:I
if-ne p1, v1, :cond_76
goto :goto_82
.line 26
:cond_76
iget-object p1, v0, Lcom/otaliastudios/cameraview/internal/c;->c:Lcom/otaliastudios/cameraview/filter/b;
invoke-interface {p1}, Lcom/otaliastudios/cameraview/filter/b;->onDestroy()V
.line 27
iget p1, v0, Lcom/otaliastudios/cameraview/internal/c;->e:I
invoke-static {p1}, Landroid/opengl/GLES20;->glDeleteProgram(I)V
.line 28
iput v1, v0, Lcom/otaliastudios/cameraview/internal/c;->e:I
.line 29
:goto_82
iget-object p1, v0, Lcom/otaliastudios/cameraview/internal/c;->d:Lcom/otaliastudios/cameraview/filter/b;
iput-object p1, v0, Lcom/otaliastudios/cameraview/internal/c;->c:Lcom/otaliastudios/cameraview/filter/b;
const/4 p1, 0x0
.line 30
iput-object p1, v0, Lcom/otaliastudios/cameraview/internal/c;->d:Lcom/otaliastudios/cameraview/filter/b;
.line 31
:cond_89
iget p1, v0, Lcom/otaliastudios/cameraview/internal/c;->e:I
if-ne p1, v1, :cond_ad
.line 32
iget-object p1, v0, Lcom/otaliastudios/cameraview/internal/c;->c:Lcom/otaliastudios/cameraview/filter/b;
.line 33
invoke-interface {p1}, Lcom/otaliastudios/cameraview/filter/b;->a()V
iget-object p1, v0, Lcom/otaliastudios/cameraview/internal/c;->c:Lcom/otaliastudios/cameraview/filter/b;
.line 34
invoke-interface {p1}, Lcom/otaliastudios/cameraview/filter/b;->g()V
.line 35
sget-object p1, Lcom/otaliastudios/opengl/program/a;->d:Lcom/otaliastudios/opengl/program/a$a;
const-string v1, "uniform mat4 uMVPMatrix;\nuniform mat4 uTexMatrix;\nattribute vec4 aPosition;\nattribute vec4 aTextureCoord;\nvarying vec2 vTextureCoord;\nvoid main() {\n gl_Position = uMVPMatrix * aPosition;\n vTextureCoord = (uTexMatrix * aTextureCoord).xy;\n}\n"
const-string v2, "#extension GL_OES_EGL_image_external : require\nprecision mediump float;\nvarying vec2 vTextureCoord;\nuniform samplerExternalOES sTexture;\nvoid main() {\n gl_FragColor = texture2D(sTexture, vTextureCoord);\n}\n"
invoke-virtual {p1, v1, v2}, Lcom/otaliastudios/opengl/program/a$a;->a(Ljava/lang/String;Ljava/lang/String;)I
move-result p1
.line 36
iput p1, v0, Lcom/otaliastudios/cameraview/internal/c;->e:I
.line 37
iget-object v1, v0, Lcom/otaliastudios/cameraview/internal/c;->c:Lcom/otaliastudios/cameraview/filter/b;
invoke-interface {v1, p1}, Lcom/otaliastudios/cameraview/filter/b;->e(I)V
const-string p1, "program creation"
.line 38
invoke-static {p1}, Lcom/otaliastudios/opengl/core/a;->a(Ljava/lang/String;)V
.line 39
:cond_ad
iget p1, v0, Lcom/otaliastudios/cameraview/internal/c;->e:I
invoke-static {p1}, Landroid/opengl/GLES20;->glUseProgram(I)V
const-string p1, "glUseProgram(handle)"
.line 40
invoke-static {p1}, Lcom/otaliastudios/opengl/core/a;->a(Ljava/lang/String;)V
.line 41
iget-object p1, v0, Lcom/otaliastudios/cameraview/internal/c;->a:Lcom/otaliastudios/opengl/texture/b;
invoke-virtual {p1}, Lcom/otaliastudios/opengl/texture/b;->a()V
.line 42
iget-object p1, v0, Lcom/otaliastudios/cameraview/internal/c;->c:Lcom/otaliastudios/cameraview/filter/b;
iget-object v1, v0, Lcom/otaliastudios/cameraview/internal/c;->b:[F
invoke-interface {p1, v1}, Lcom/otaliastudios/cameraview/filter/b;->d([F)V
.line 43
iget-object p1, v0, Lcom/otaliastudios/cameraview/internal/c;->a:Lcom/otaliastudios/opengl/texture/b;
invoke-virtual {p1}, Lcom/otaliastudios/opengl/texture/b;->b()V
.line 44
invoke-static {v8}, Landroid/opengl/GLES20;->glUseProgram(I)V
const-string p1, "glUseProgram(0)"
.line 45
invoke-static {p1}, Lcom/otaliastudios/opengl/core/a;->a(Ljava/lang/String;)V
.line 46
iget-object p1, p0, Lcom/otaliastudios/cameraview/preview/d$b;->a:Lcom/otaliastudios/cameraview/preview/d;
.line 47
iget-object p1, p1, Lcom/otaliastudios/cameraview/preview/d;->m:Ljava/util/concurrent/CopyOnWriteArraySet;
.line 48
invoke-virtual {p1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_d8
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_ec
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/otaliastudios/cameraview/preview/e;
.line 49
iget-object v1, p0, Lcom/otaliastudios/cameraview/preview/d$b;->a:Lcom/otaliastudios/cameraview/preview/d;
.line 50
iget-object v1, v1, Lcom/otaliastudios/cameraview/preview/d;->k:Landroid/graphics/SurfaceTexture;
.line 51
invoke-interface {v0}, Lcom/otaliastudios/cameraview/preview/e;->b()V
goto :goto_d8
:cond_ec
:goto_ec
return-void
.end method
.method public final onSurfaceChanged(Ljavax/microedition/khronos/opengles/GL10;II)V
.registers 5
const/4 v0, 0x0
.line 1
invoke-interface {p1, v0, v0, p2, p3}, Ljavax/microedition/khronos/opengles/GL10;->glViewport(IIII)V
.line 2
iget-object p1, p0, Lcom/otaliastudios/cameraview/preview/d$b;->a:Lcom/otaliastudios/cameraview/preview/d;
.line 3
iget-object p1, p1, Lcom/otaliastudios/cameraview/preview/d;->q:Lcom/otaliastudios/cameraview/filter/b;
.line 4
invoke-interface {p1}, Lcom/otaliastudios/cameraview/filter/b;->f()V
.line 5
iget-object p1, p0, Lcom/otaliastudios/cameraview/preview/d$b;->a:Lcom/otaliastudios/cameraview/preview/d;
.line 6
iget-boolean v0, p1, Lcom/otaliastudios/cameraview/preview/d;->j:Z
if-nez v0, :cond_1a
.line 7
invoke-virtual {p1, p2, p3}, Lcom/otaliastudios/cameraview/preview/a;->b(II)V
.line 8
iget-object p1, p0, Lcom/otaliastudios/cameraview/preview/d$b;->a:Lcom/otaliastudios/cameraview/preview/d;
const/4 p2, 0x1
.line 9
iput-boolean p2, p1, Lcom/otaliastudios/cameraview/preview/d;->j:Z
goto :goto_25
.line 10
:cond_1a
iget v0, p1, Lcom/otaliastudios/cameraview/preview/a;->d:I
if-ne p2, v0, :cond_22
iget v0, p1, Lcom/otaliastudios/cameraview/preview/a;->e:I
if-eq p3, v0, :cond_25
.line 11
:cond_22
invoke-virtual {p1, p2, p3}, Lcom/otaliastudios/cameraview/preview/a;->d(II)V
:cond_25
:goto_25
return-void
.end method
.method public final onSurfaceCreated(Ljavax/microedition/khronos/opengles/GL10;Ljavax/microedition/khronos/egl/EGLConfig;)V
.registers 4
.line 1
iget-object p1, p0, Lcom/otaliastudios/cameraview/preview/d$b;->a:Lcom/otaliastudios/cameraview/preview/d;
.line 2
iget-object p2, p1, Lcom/otaliastudios/cameraview/preview/d;->q:Lcom/otaliastudios/cameraview/filter/b;
if-nez p2, :cond_d
.line 3
new-instance p2, Lcom/otaliastudios/cameraview/filter/c;
invoke-direct {p2}, Lcom/otaliastudios/cameraview/filter/c;-><init>()V
.line 4
iput-object p2, p1, Lcom/otaliastudios/cameraview/preview/d;->q:Lcom/otaliastudios/cameraview/filter/b;
.line 5
:cond_d
iget-object p1, p0, Lcom/otaliastudios/cameraview/preview/d$b;->a:Lcom/otaliastudios/cameraview/preview/d;
new-instance p2, Lcom/otaliastudios/cameraview/internal/c;
invoke-direct {p2}, Lcom/otaliastudios/cameraview/internal/c;-><init>()V
.line 6
iput-object p2, p1, Lcom/otaliastudios/cameraview/preview/d;->l:Lcom/otaliastudios/cameraview/internal/c;
.line 7
iget-object p1, p0, Lcom/otaliastudios/cameraview/preview/d$b;->a:Lcom/otaliastudios/cameraview/preview/d;
.line 8
iget-object p2, p1, Lcom/otaliastudios/cameraview/preview/d;->l:Lcom/otaliastudios/cameraview/internal/c;
.line 9
iget-object v0, p1, Lcom/otaliastudios/cameraview/preview/d;->q:Lcom/otaliastudios/cameraview/filter/b;
.line 10
iput-object v0, p2, Lcom/otaliastudios/cameraview/internal/c;->d:Lcom/otaliastudios/cameraview/filter/b;
.line 11
iget-object p2, p2, Lcom/otaliastudios/cameraview/internal/c;->a:Lcom/otaliastudios/opengl/texture/b;
.line 12
iget p2, p2, Lcom/otaliastudios/opengl/texture/b;->a:I
.line 13
new-instance v0, Landroid/graphics/SurfaceTexture;
invoke-direct {v0, p2}, Landroid/graphics/SurfaceTexture;-><init>(I)V
.line 14
iput-object v0, p1, Lcom/otaliastudios/cameraview/preview/d;->k:Landroid/graphics/SurfaceTexture;
.line 15
iget-object p1, p0, Lcom/otaliastudios/cameraview/preview/d$b;->a:Lcom/otaliastudios/cameraview/preview/d;
.line 16
iget-object p1, p1, Lcom/otaliastudios/cameraview/preview/a;->b:Landroid/view/View;
.line 17
check-cast p1, Landroid/opengl/GLSurfaceView;
new-instance v0, Lcom/otaliastudios/cameraview/preview/d$b$a;
invoke-direct {v0, p0, p2}, Lcom/otaliastudios/cameraview/preview/d$b$a;-><init>(Lcom/otaliastudios/cameraview/preview/d$b;I)V
invoke-virtual {p1, v0}, Landroid/opengl/GLSurfaceView;->queueEvent(Ljava/lang/Runnable;)V
.line 18
iget-object p1, p0, Lcom/otaliastudios/cameraview/preview/d$b;->a:Lcom/otaliastudios/cameraview/preview/d;
.line 19
iget-object p1, p1, Lcom/otaliastudios/cameraview/preview/d;->k:Landroid/graphics/SurfaceTexture;
.line 20
new-instance p2, Lcom/otaliastudios/cameraview/preview/d$b$b;
invoke-direct {p2, p0}, Lcom/otaliastudios/cameraview/preview/d$b$b;-><init>(Lcom/otaliastudios/cameraview/preview/d$b;)V
invoke-virtual {p1, p2}, Landroid/graphics/SurfaceTexture;->setOnFrameAvailableListener(Landroid/graphics/SurfaceTexture$OnFrameAvailableListener;)V
return-void
.end method