BlockGLSurfaceView.smali
.class public Lcom/sandboxol/clothes/BlockGLSurfaceView;
.super Landroid/view/SurfaceView;
.source "BlockGLSurfaceView.java"
# interfaces
.implements Landroid/view/SurfaceHolder$Callback2;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThreadManager;,
Lcom/sandboxol/clothes/BlockGLSurfaceView$LogWriter;,
Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;,
Lcom/sandboxol/clothes/BlockGLSurfaceView$EglHelper;,
Lcom/sandboxol/clothes/BlockGLSurfaceView$SimpleEGLConfigChooser;,
Lcom/sandboxol/clothes/BlockGLSurfaceView$ComponentSizeChooser;,
Lcom/sandboxol/clothes/BlockGLSurfaceView$BaseConfigChooser;,
Lcom/sandboxol/clothes/BlockGLSurfaceView$EGLConfigChooser;,
Lcom/sandboxol/clothes/BlockGLSurfaceView$DefaultWindowSurfaceFactory;,
Lcom/sandboxol/clothes/BlockGLSurfaceView$EGLWindowSurfaceFactory;,
Lcom/sandboxol/clothes/BlockGLSurfaceView$DefaultContextFactory;,
Lcom/sandboxol/clothes/BlockGLSurfaceView$EGLContextFactory;,
Lcom/sandboxol/clothes/BlockGLSurfaceView$Renderer;,
Lcom/sandboxol/clothes/BlockGLSurfaceView$GLWrapper;
}
.end annotation
# static fields
.field public static final DEBUG_CHECK_GL_ERROR:I = 0x1
.field public static final DEBUG_LOG_GL_CALLS:I = 0x2
.field private static final LOG_ATTACH_DETACH:Z = false
.field private static final LOG_EGL:Z = false
.field private static final LOG_PAUSE_RESUME:Z = false
.field private static final LOG_RENDERER:Z = false
.field private static final LOG_RENDERER_DRAW_FRAME:Z = false
.field private static final LOG_SURFACE:Z = false
.field private static final LOG_THREADS:Z = false
.field public static final RENDERMODE_CONTINUOUSLY:I = 0x1
.field public static final RENDERMODE_WHEN_DIRTY:I = 0x0
.field private static final TAG:Ljava/lang/String; = "GLSurfaceView"
.field private static final sGLThreadManager:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThreadManager;
# instance fields
.field private mDebugFlags:I
.field private mDetached:Z
.field private mEGLConfigChooser:Lcom/sandboxol/clothes/BlockGLSurfaceView$EGLConfigChooser;
.field private mEGLContextClientVersion:I
.field private mEGLContextFactory:Lcom/sandboxol/clothes/BlockGLSurfaceView$EGLContextFactory;
.field private mEGLWindowSurfaceFactory:Lcom/sandboxol/clothes/BlockGLSurfaceView$EGLWindowSurfaceFactory;
.field protected mGLThread:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;
.field private mGLWrapper:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLWrapper;
.field private mPreserveEGLContextOnPause:Z
.field private mRenderer:Lcom/sandboxol/clothes/BlockGLSurfaceView$Renderer;
.field private final mThisWeakRef:Ljava/lang/ref/WeakReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ref/WeakReference<",
"Lcom/sandboxol/clothes/BlockGLSurfaceView;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 2
.line 1
new-instance v0, Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThreadManager;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThreadManager;-><init>(Lcom/sandboxol/clothes/BlockGLSurfaceView$1;)V
sput-object v0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->sGLThreadManager:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThreadManager;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.registers 2
.line 1
invoke-direct {p0, p1}, Landroid/view/SurfaceView;-><init>(Landroid/content/Context;)V
.line 2
new-instance p1, Ljava/lang/ref/WeakReference;
invoke-direct {p1, p0}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
iput-object p1, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mThisWeakRef:Ljava/lang/ref/WeakReference;
.line 3
invoke-direct {p0}, Lcom/sandboxol/clothes/BlockGLSurfaceView;->init()V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 3
.line 4
invoke-direct {p0, p1, p2}, Landroid/view/SurfaceView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.line 5
new-instance p1, Ljava/lang/ref/WeakReference;
invoke-direct {p1, p0}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
iput-object p1, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mThisWeakRef:Ljava/lang/ref/WeakReference;
.line 6
invoke-direct {p0}, Lcom/sandboxol/clothes/BlockGLSurfaceView;->init()V
return-void
.end method
.method static synthetic access$1000(Lcom/sandboxol/clothes/BlockGLSurfaceView;)Z
.registers 1
.line 1
iget-boolean p0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mPreserveEGLContextOnPause:Z
return p0
.end method
.method static synthetic access$1100(Lcom/sandboxol/clothes/BlockGLSurfaceView;)Lcom/sandboxol/clothes/BlockGLSurfaceView$Renderer;
.registers 1
.line 1
iget-object p0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mRenderer:Lcom/sandboxol/clothes/BlockGLSurfaceView$Renderer;
return-object p0
.end method
.method static synthetic access$200(Lcom/sandboxol/clothes/BlockGLSurfaceView;)I
.registers 1
.line 1
iget p0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mEGLContextClientVersion:I
return p0
.end method
.method static synthetic access$300(Lcom/sandboxol/clothes/BlockGLSurfaceView;)Lcom/sandboxol/clothes/BlockGLSurfaceView$EGLConfigChooser;
.registers 1
.line 1
iget-object p0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mEGLConfigChooser:Lcom/sandboxol/clothes/BlockGLSurfaceView$EGLConfigChooser;
return-object p0
.end method
.method static synthetic access$400(Lcom/sandboxol/clothes/BlockGLSurfaceView;)Lcom/sandboxol/clothes/BlockGLSurfaceView$EGLContextFactory;
.registers 1
.line 1
iget-object p0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mEGLContextFactory:Lcom/sandboxol/clothes/BlockGLSurfaceView$EGLContextFactory;
return-object p0
.end method
.method static synthetic access$500(Lcom/sandboxol/clothes/BlockGLSurfaceView;)Lcom/sandboxol/clothes/BlockGLSurfaceView$EGLWindowSurfaceFactory;
.registers 1
.line 1
iget-object p0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mEGLWindowSurfaceFactory:Lcom/sandboxol/clothes/BlockGLSurfaceView$EGLWindowSurfaceFactory;
return-object p0
.end method
.method static synthetic access$600(Lcom/sandboxol/clothes/BlockGLSurfaceView;)Lcom/sandboxol/clothes/BlockGLSurfaceView$GLWrapper;
.registers 1
.line 1
iget-object p0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mGLWrapper:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLWrapper;
return-object p0
.end method
.method static synthetic access$700(Lcom/sandboxol/clothes/BlockGLSurfaceView;)I
.registers 1
.line 1
iget p0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mDebugFlags:I
return p0
.end method
.method static synthetic access$800(Lcom/sandboxol/clothes/BlockGLSurfaceView;)Z
.registers 1
.line 1
iget-boolean p0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mDetached:Z
return p0
.end method
.method static synthetic access$900()Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThreadManager;
.registers 1
.line 1
sget-object v0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->sGLThreadManager:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThreadManager;
return-object v0
.end method
.method private checkRenderThreadState()V
.registers 3
.line 1
iget-object v0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mGLThread:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;
if-nez v0, :cond_5
return-void
.line 2
:cond_5
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "setRenderer has already been called for this instance."
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private init()V
.registers 2
.line 1
invoke-virtual {p0}, Landroid/view/SurfaceView;->getHolder()Landroid/view/SurfaceHolder;
move-result-object v0
.line 2
invoke-interface {v0, p0}, Landroid/view/SurfaceHolder;->addCallback(Landroid/view/SurfaceHolder$Callback;)V
return-void
.end method
# virtual methods
.method protected finalize()V
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Throwable;
}
.end annotation
.line 1
:try_start_0
iget-object v0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mGLThread:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;
if-eqz v0, :cond_9
.line 2
iget-object v0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mGLThread:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;
invoke-virtual {v0}, Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;->requestExitAndWait()V
:try_end_9
.catchall {:try_start_0 .. :try_end_9} :catchall_d
.line 3
:cond_9
invoke-super {p0}, Ljava/lang/Object;->finalize()V
return-void
:catchall_d
move-exception v0
invoke-super {p0}, Ljava/lang/Object;->finalize()V
.line 4
throw v0
.end method
.method public getDebugFlags()I
.registers 2
.line 1
iget v0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mDebugFlags:I
return v0
.end method
.method public getPreserveEGLContextOnPause()Z
.registers 2
.line 1
iget-boolean v0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mPreserveEGLContextOnPause:Z
return v0
.end method
.method public getRenderMode()I
.registers 2
.line 1
iget-object v0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mGLThread:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;
invoke-virtual {v0}, Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;->getRenderMode()I
move-result v0
return v0
.end method
.method public hasCurrentContext()Z
.registers 2
.line 1
iget-object v0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mGLThread:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;
if-eqz v0, :cond_c
invoke-virtual {v0}, Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;->hasCurrentContext()Z
move-result v0
if-eqz v0, :cond_c
const/4 v0, 0x1
goto :goto_d
:cond_c
const/4 v0, 0x0
:goto_d
return v0
.end method
.method protected onAttached()V
.registers 5
.line 1
iget-boolean v0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mDetached:Z
if-eqz v0, :cond_28
iget-object v0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mRenderer:Lcom/sandboxol/clothes/BlockGLSurfaceView$Renderer;
if-eqz v0, :cond_28
.line 2
iget-object v0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mGLThread:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;
const/4 v1, 0x1
if-eqz v0, :cond_12
.line 3
invoke-virtual {v0}, Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;->getRenderMode()I
move-result v0
goto :goto_13
:cond_12
const/4 v0, 0x1
.line 4
:goto_13
new-instance v2, Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;
iget-object v3, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mThisWeakRef:Ljava/lang/ref/WeakReference;
invoke-direct {v2, v3}, Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;-><init>(Ljava/lang/ref/WeakReference;)V
iput-object v2, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mGLThread:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;
if-eq v0, v1, :cond_23
.line 5
iget-object v1, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mGLThread:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;
invoke-virtual {v1, v0}, Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;->setRenderMode(I)V
.line 6
:cond_23
iget-object v0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mGLThread:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;
invoke-virtual {v0}, Ljava/lang/Thread;->start()V
:cond_28
const/4 v0, 0x0
.line 7
iput-boolean v0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mDetached:Z
return-void
.end method
.method protected onAttachedToWindow()V
.registers 1
.line 1
invoke-super {p0}, Landroid/view/SurfaceView;->onAttachedToWindow()V
.line 2
invoke-virtual {p0}, Lcom/sandboxol/clothes/BlockGLSurfaceView;->onAttached()V
return-void
.end method
.method protected onDetached()V
.registers 2
const/4 v0, 0x1
.line 1
iput-boolean v0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mDetached:Z
.line 2
iget-object v0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mGLThread:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;
if-eqz v0, :cond_a
.line 3
invoke-virtual {v0}, Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;->requestExitAndWait()V
:cond_a
return-void
.end method
.method protected onDetachedFromWindow()V
.registers 1
.line 1
invoke-virtual {p0}, Lcom/sandboxol/clothes/BlockGLSurfaceView;->onDetached()V
.line 2
invoke-super {p0}, Landroid/view/SurfaceView;->onDetachedFromWindow()V
return-void
.end method
.method public onPause()V
.registers 2
.line 1
iget-object v0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mGLThread:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;
invoke-virtual {v0}, Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;->onPause()V
return-void
.end method
.method public onResume()V
.registers 2
.line 1
iget-object v0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mGLThread:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;
invoke-virtual {v0}, Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;->onResume()V
return-void
.end method
.method public queueEvent(Ljava/lang/Runnable;)V
.registers 3
.line 1
iget-object v0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mGLThread:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;
if-eqz v0, :cond_7
.line 2
invoke-virtual {v0, p1}, Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;->queueEvent(Ljava/lang/Runnable;)V
:cond_7
return-void
.end method
.method public requestRender()V
.registers 2
.line 1
iget-object v0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mGLThread:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;
invoke-virtual {v0}, Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;->requestRender()V
return-void
.end method
.method public setDebugFlags(I)V
.registers 2
.line 1
iput p1, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mDebugFlags:I
return-void
.end method
.method public setDetached(Z)V
.registers 2
.line 1
iput-boolean p1, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mDetached:Z
return-void
.end method
.method public setEGLConfigChooser(IIIIII)V
.registers 16
.line 4
new-instance v8, Lcom/sandboxol/clothes/BlockGLSurfaceView$ComponentSizeChooser;
move-object v0, v8
move-object v1, p0
move v2, p1
move v3, p2
move v4, p3
move v5, p4
move v6, p5
move v7, p6
invoke-direct/range {v0 .. v7}, Lcom/sandboxol/clothes/BlockGLSurfaceView$ComponentSizeChooser;-><init>(Lcom/sandboxol/clothes/BlockGLSurfaceView;IIIIII)V
invoke-virtual {p0, v8}, Lcom/sandboxol/clothes/BlockGLSurfaceView;->setEGLConfigChooser(Lcom/sandboxol/clothes/BlockGLSurfaceView$EGLConfigChooser;)V
return-void
.end method
.method public setEGLConfigChooser(Lcom/sandboxol/clothes/BlockGLSurfaceView$EGLConfigChooser;)V
.registers 2
.line 1
invoke-direct {p0}, Lcom/sandboxol/clothes/BlockGLSurfaceView;->checkRenderThreadState()V
.line 2
iput-object p1, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mEGLConfigChooser:Lcom/sandboxol/clothes/BlockGLSurfaceView$EGLConfigChooser;
return-void
.end method
.method public setEGLConfigChooser(Z)V
.registers 3
.line 3
new-instance v0, Lcom/sandboxol/clothes/BlockGLSurfaceView$SimpleEGLConfigChooser;
invoke-direct {v0, p0, p1}, Lcom/sandboxol/clothes/BlockGLSurfaceView$SimpleEGLConfigChooser;-><init>(Lcom/sandboxol/clothes/BlockGLSurfaceView;Z)V
invoke-virtual {p0, v0}, Lcom/sandboxol/clothes/BlockGLSurfaceView;->setEGLConfigChooser(Lcom/sandboxol/clothes/BlockGLSurfaceView$EGLConfigChooser;)V
return-void
.end method
.method public setEGLContextClientVersion(I)V
.registers 2
.line 1
invoke-direct {p0}, Lcom/sandboxol/clothes/BlockGLSurfaceView;->checkRenderThreadState()V
.line 2
iput p1, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mEGLContextClientVersion:I
return-void
.end method
.method public setEGLContextFactory(Lcom/sandboxol/clothes/BlockGLSurfaceView$EGLContextFactory;)V
.registers 2
.line 1
invoke-direct {p0}, Lcom/sandboxol/clothes/BlockGLSurfaceView;->checkRenderThreadState()V
.line 2
iput-object p1, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mEGLContextFactory:Lcom/sandboxol/clothes/BlockGLSurfaceView$EGLContextFactory;
return-void
.end method
.method public setEGLWindowSurfaceFactory(Lcom/sandboxol/clothes/BlockGLSurfaceView$EGLWindowSurfaceFactory;)V
.registers 2
.line 1
invoke-direct {p0}, Lcom/sandboxol/clothes/BlockGLSurfaceView;->checkRenderThreadState()V
.line 2
iput-object p1, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mEGLWindowSurfaceFactory:Lcom/sandboxol/clothes/BlockGLSurfaceView$EGLWindowSurfaceFactory;
return-void
.end method
.method public setGLWrapper(Lcom/sandboxol/clothes/BlockGLSurfaceView$GLWrapper;)V
.registers 2
.line 1
iput-object p1, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mGLWrapper:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLWrapper;
return-void
.end method
.method public setPreserveEGLContextOnPause(Z)V
.registers 2
.line 1
iput-boolean p1, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mPreserveEGLContextOnPause:Z
return-void
.end method
.method public setRenderMode(I)V
.registers 3
.line 1
iget-object v0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mGLThread:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;
invoke-virtual {v0, p1}, Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;->setRenderMode(I)V
return-void
.end method
.method public setRenderer(Lcom/sandboxol/clothes/BlockGLSurfaceView$Renderer;)V
.registers 4
.line 1
invoke-direct {p0}, Lcom/sandboxol/clothes/BlockGLSurfaceView;->checkRenderThreadState()V
.line 2
iget-object v0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mEGLConfigChooser:Lcom/sandboxol/clothes/BlockGLSurfaceView$EGLConfigChooser;
if-nez v0, :cond_f
.line 3
new-instance v0, Lcom/sandboxol/clothes/BlockGLSurfaceView$SimpleEGLConfigChooser;
const/4 v1, 0x1
invoke-direct {v0, p0, v1}, Lcom/sandboxol/clothes/BlockGLSurfaceView$SimpleEGLConfigChooser;-><init>(Lcom/sandboxol/clothes/BlockGLSurfaceView;Z)V
iput-object v0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mEGLConfigChooser:Lcom/sandboxol/clothes/BlockGLSurfaceView$EGLConfigChooser;
.line 4
:cond_f
iget-object v0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mEGLContextFactory:Lcom/sandboxol/clothes/BlockGLSurfaceView$EGLContextFactory;
const/4 v1, 0x0
if-nez v0, :cond_1b
.line 5
new-instance v0, Lcom/sandboxol/clothes/BlockGLSurfaceView$DefaultContextFactory;
invoke-direct {v0, p0, v1}, Lcom/sandboxol/clothes/BlockGLSurfaceView$DefaultContextFactory;-><init>(Lcom/sandboxol/clothes/BlockGLSurfaceView;Lcom/sandboxol/clothes/BlockGLSurfaceView$1;)V
iput-object v0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mEGLContextFactory:Lcom/sandboxol/clothes/BlockGLSurfaceView$EGLContextFactory;
.line 6
:cond_1b
iget-object v0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mEGLWindowSurfaceFactory:Lcom/sandboxol/clothes/BlockGLSurfaceView$EGLWindowSurfaceFactory;
if-nez v0, :cond_26
.line 7
new-instance v0, Lcom/sandboxol/clothes/BlockGLSurfaceView$DefaultWindowSurfaceFactory;
invoke-direct {v0, v1}, Lcom/sandboxol/clothes/BlockGLSurfaceView$DefaultWindowSurfaceFactory;-><init>(Lcom/sandboxol/clothes/BlockGLSurfaceView$1;)V
iput-object v0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mEGLWindowSurfaceFactory:Lcom/sandboxol/clothes/BlockGLSurfaceView$EGLWindowSurfaceFactory;
.line 8
:cond_26
iput-object p1, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mRenderer:Lcom/sandboxol/clothes/BlockGLSurfaceView$Renderer;
.line 9
new-instance p1, Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;
iget-object v0, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mThisWeakRef:Ljava/lang/ref/WeakReference;
invoke-direct {p1, v0}, Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;-><init>(Ljava/lang/ref/WeakReference;)V
iput-object p1, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mGLThread:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;
.line 10
iget-object p1, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mGLThread:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;
invoke-virtual {p1}, Ljava/lang/Thread;->start()V
return-void
.end method
.method public surfaceChanged(Landroid/view/SurfaceHolder;III)V
.registers 5
.line 1
iget-object p1, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mGLThread:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;
invoke-virtual {p1, p3, p4}, Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;->onWindowResize(II)V
return-void
.end method
.method public surfaceCreated(Landroid/view/SurfaceHolder;)V
.registers 2
.line 1
iget-object p1, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mGLThread:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;
invoke-virtual {p1}, Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;->surfaceCreated()V
return-void
.end method
.method public surfaceDestroyed(Landroid/view/SurfaceHolder;)V
.registers 2
.line 1
iget-object p1, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mGLThread:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;
invoke-virtual {p1}, Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;->surfaceDestroyed()V
return-void
.end method
.method public surfaceRedrawNeeded(Landroid/view/SurfaceHolder;)V
.registers 2
.annotation runtime Ljava/lang/Deprecated;
.end annotation
return-void
.end method
.method public surfaceRedrawNeededAsync(Landroid/view/SurfaceHolder;Ljava/lang/Runnable;)V
.registers 3
.line 1
iget-object p1, p0, Lcom/sandboxol/clothes/BlockGLSurfaceView;->mGLThread:Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;
if-eqz p1, :cond_7
.line 2
invoke-virtual {p1, p2}, Lcom/sandboxol/clothes/BlockGLSurfaceView$GLThread;->requestRenderAndNotify(Ljava/lang/Runnable;)V
:cond_7
return-void
.end method