WorldWrappedTextureView.smali
.class public Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;
.super Landroid/widget/FrameLayout;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$b;,
Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$a;
}
.end annotation
# static fields
.field static b:Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$a;
.field private static c:Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$b;
.field private static e:J
# instance fields
.field a:Landroid/view/TextureView;
.field private final d:Ljava/lang/String;
.field private f:F
.field private g:I
# direct methods
.method static constructor <clinit>()V
.registers 2
.line 42
new-instance v0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$a;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$a;-><init>(B)V
sput-object v0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->b:Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$a;
const-wide/16 v0, 0x1
.line 43
sput-wide v0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->e:J
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.registers 3
.line 184
invoke-direct {p0, p1}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;)V
.line 185
invoke-static {}, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->b()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->d:Ljava/lang/String;
.line 186
invoke-static {p1}, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->b(Landroid/content/Context;)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 3
.line 190
invoke-direct {p0, p1, p2}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.line 191
invoke-static {}, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->b()Ljava/lang/String;
move-result-object p2
iput-object p2, p0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->d:Ljava/lang/String;
.line 192
invoke-static {p1}, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->b(Landroid/content/Context;)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.registers 4
.line 196
invoke-direct {p0, p1, p2, p3}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.line 197
invoke-static {}, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->b()Ljava/lang/String;
move-result-object p2
iput-object p2, p0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->d:Ljava/lang/String;
.line 198
invoke-static {p1}, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->b(Landroid/content/Context;)V
return-void
.end method
.method static synthetic a(Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;)Ljava/lang/String;
.registers 1
.line 28
iget-object p0, p0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->d:Ljava/lang/String;
return-object p0
.end method
.method private static a(Landroid/content/Context;)V
.registers 4
.line 169
sget-object v0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->c:Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$b;
if-nez v0, :cond_17
.line 170
const-class v0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;
monitor-enter v0
.line 171
:try_start_7
new-instance v1, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$b;
const/4 v2, 0x0
invoke-direct {v1, v2}, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$b;-><init>(B)V
sput-object v1, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->c:Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$b;
.line 172
invoke-virtual {p0, v1}, Landroid/content/Context;->registerComponentCallbacks(Landroid/content/ComponentCallbacks;)V
.line 173
monitor-exit v0
return-void
:catchall_14
move-exception p0
monitor-exit v0
:try_end_16
.catchall {:try_start_7 .. :try_end_16} :catchall_14
throw p0
:cond_17
return-void
.end method
.method static a()Z
.registers 2
.line 179
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x18
if-eq v0, v1, :cond_f
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x19
if-ne v0, v1, :cond_d
goto :goto_f
:cond_d
const/4 v0, 0x0
return v0
:cond_f
:goto_f
const/4 v0, 0x1
return v0
.end method
.method private static declared-synchronized b()Ljava/lang/String;
.registers 5
const-class v0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;
monitor-enter v0
.line 46
:try_start_3
sget-wide v1, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->e:J
const-wide/16 v3, 0x1
add-long/2addr v1, v3
sput-wide v1, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->e:J
.line 47
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "TV_"
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
sget-wide v2, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->e:J
invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
:try_end_1a
.catchall {:try_start_3 .. :try_end_1a} :catchall_1c
monitor-exit v0
return-object v1
:catchall_1c
move-exception v1
monitor-exit v0
throw v1
.end method
.method private static b(Landroid/content/Context;)V
.registers 2
.line 212
invoke-static {}, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->a()Z
move-result v0
if-eqz v0, :cond_d
.line 214
invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p0
invoke-static {p0}, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->a(Landroid/content/Context;)V
:cond_d
return-void
.end method
# virtual methods
.method public getAndBindTextureView()Landroid/view/TextureView;
.registers 2
.line 220
sget-object v0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->b:Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$a;
invoke-virtual {v0, p0}, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$a;->a(Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;)Landroid/view/TextureView;
move-result-object v0
iput-object v0, p0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->a:Landroid/view/TextureView;
return-object v0
.end method
.method public getResizeMode()I
.registers 2
.line 332
iget v0, p0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->g:I
return v0
.end method
.method protected onAttachedToWindow()V
.registers 4
.line 236
invoke-super {p0}, Landroid/widget/FrameLayout;->onAttachedToWindow()V
.line 237
invoke-static {}, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->a()Z
move-result v0
if-eqz v0, :cond_2e
sget-object v0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->c:Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$b;
if-eqz v0, :cond_2e
.line 2118
invoke-static {p0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
const-string v2, "registerListenerView "
invoke-virtual {v2, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "Wtx_X"
invoke-static {v2, v1}, Lsg/bigo/log/TraceLog;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 2119
iget-object v1, v0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$b;->a:Ljava/util/LinkedList;
monitor-enter v1
.line 2120
:try_start_1f
iget-object v0, v0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$b;->a:Ljava/util/LinkedList;
new-instance v2, Ljava/lang/ref/WeakReference;
invoke-direct {v2, p0}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
invoke-virtual {v0, v2}, Ljava/util/LinkedList;->add(Ljava/lang/Object;)Z
.line 2121
monitor-exit v1
goto :goto_2e
:catchall_2b
move-exception v0
monitor-exit v1
:try_end_2d
.catchall {:try_start_1f .. :try_end_2d} :catchall_2b
throw v0
.line 241
:cond_2e
:goto_2e
sget-object v0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->b:Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$a;
iget-object v1, p0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->d:Ljava/lang/String;
invoke-virtual {v0, v1}, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$a;->a(Ljava/lang/String;)V
return-void
.end method
.method protected onDetachedFromWindow()V
.registers 6
.line 247
invoke-super {p0}, Landroid/widget/FrameLayout;->onDetachedFromWindow()V
.line 248
invoke-static {}, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->a()Z
move-result v0
if-eqz v0, :cond_44
sget-object v0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->c:Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$b;
if-eqz v0, :cond_44
.line 2126
invoke-static {p0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
const-string v2, "unregisterListenerView "
invoke-virtual {v2, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "Wtx_X"
invoke-static {v2, v1}, Lsg/bigo/log/TraceLog;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 2127
iget-object v1, v0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$b;->a:Ljava/util/LinkedList;
monitor-enter v1
.line 2128
:try_start_1f
iget-object v0, v0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$b;->a:Ljava/util/LinkedList;
invoke-virtual {v0}, Ljava/util/LinkedList;->iterator()Ljava/util/Iterator;
move-result-object v0
.line 2129
:cond_25
:goto_25
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_3f
.line 2130
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/ref/WeakReference;
.line 2131
invoke-virtual {v2}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;
if-eq v2, p0, :cond_3b
if-nez v2, :cond_25
.line 2133
:cond_3b
invoke-interface {v0}, Ljava/util/Iterator;->remove()V
goto :goto_25
.line 2137
:cond_3f
monitor-exit v1
goto :goto_44
:catchall_41
move-exception v0
monitor-exit v1
:try_end_43
.catchall {:try_start_1f .. :try_end_43} :catchall_41
throw v0
.line 252
:cond_44
:goto_44
sget-object v0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->b:Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$a;
invoke-virtual {v0, p0}, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$a;->b(Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;)V
const/4 v0, 0x0
.line 253
iput-object v0, p0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->a:Landroid/view/TextureView;
.line 254
sget-object v1, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->b:Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$a;
iget-object v2, p0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->d:Ljava/lang/String;
.line 3060
iget-object v3, v1, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$a;->b:Ljava/util/HashSet;
invoke-virtual {v3, v2}, Ljava/util/HashSet;->remove(Ljava/lang/Object;)Z
.line 3061
iget-object v2, v1, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$a;->a:Landroid/view/TextureView;
.line 3062
iget-object v3, v1, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$a;->b:Ljava/util/HashSet;
invoke-virtual {v3}, Ljava/util/HashSet;->size()I
move-result v3
if-nez v3, :cond_7a
if-eqz v2, :cond_7a
const-string v3, "Wtx_X"
const-string v4, "release TextureView"
.line 3063
invoke-static {v3, v4}, Lsg/bigo/log/TraceLog;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 3064
invoke-virtual {v2}, Landroid/view/TextureView;->getSurfaceTexture()Landroid/graphics/SurfaceTexture;
move-result-object v2
if-eqz v2, :cond_78
.line 3066
invoke-virtual {v2}, Landroid/graphics/SurfaceTexture;->release()V
const-string v2, "Wtx_X"
const-string v3, "release TextureSurface done"
.line 3067
invoke-static {v2, v3}, Lsg/bigo/log/TraceLog;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 3069
:cond_78
iput-object v0, v1, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView$a;->a:Landroid/view/TextureView;
:cond_7a
return-void
.end method
.method protected onMeasure(II)V
.registers 9
.line 349
invoke-super {p0, p1, p2}, Landroid/widget/FrameLayout;->onMeasure(II)V
.line 350
iget p1, p0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->g:I
const/4 p2, 0x3
if-eq p1, p2, :cond_61
iget p1, p0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->f:F
const/4 p2, 0x0
cmpg-float p1, p1, p2
if-gtz p1, :cond_10
goto :goto_61
.line 355
:cond_10
invoke-virtual {p0}, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->getMeasuredWidth()I
move-result p1
.line 356
invoke-virtual {p0}, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->getMeasuredHeight()I
move-result v0
int-to-float v1, p1
int-to-float v2, v0
div-float v3, v1, v2
.line 358
iget v4, p0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->f:F
div-float/2addr v4, v3
const/high16 v3, 0x3f800000 # 1.0f
sub-float/2addr v4, v3
.line 359
invoke-static {v4}, Ljava/lang/Math;->abs(F)F
move-result v3
const v5, 0x3c23d70a # 0.01f
cmpg-float v3, v3, v5
if-gtz v3, :cond_2e
return-void
.line 364
:cond_2e
iget v3, p0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->g:I
const/4 v5, 0x1
if-eq v3, v5, :cond_50
const/4 v5, 0x2
if-eq v3, v5, :cond_4a
const/4 v5, 0x4
if-eq v3, v5, :cond_40
cmpl-float p2, v4, p2
if-lez p2, :cond_47
.line 380
iget p2, p0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->f:F
goto :goto_52
:cond_40
cmpl-float p2, v4, p2
if-gtz p2, :cond_47
.line 375
iget p2, p0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->f:F
goto :goto_52
.line 382
:cond_47
iget p1, p0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->f:F
goto :goto_4c
.line 369
:cond_4a
iget p1, p0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->f:F
:goto_4c
mul-float v2, v2, p1
float-to-int p1, v2
goto :goto_54
.line 366
:cond_50
iget p2, p0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->f:F
:goto_52
div-float/2addr v1, p2
float-to-int v0, v1
:goto_54
const/high16 p2, 0x40000000 # 2.0f
.line 386
invoke-static {p1, p2}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result p1
.line 387
invoke-static {v0, p2}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result p2
.line 386
invoke-super {p0, p1, p2}, Landroid/widget/FrameLayout;->onMeasure(II)V
:cond_61
:goto_61
return-void
.end method
.method protected onWindowVisibilityChanged(I)V
.registers 2
.line 227
invoke-super {p0, p1}, Landroid/widget/FrameLayout;->onWindowVisibilityChanged(I)V
.line 228
invoke-static {}, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->a()Z
return-void
.end method
.method public setAspectRatio(F)V
.registers 3
.line 321
iget v0, p0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->f:F
cmpl-float v0, v0, p1
if-eqz v0, :cond_b
.line 322
iput p1, p0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->f:F
.line 323
invoke-virtual {p0}, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->requestLayout()V
:cond_b
return-void
.end method
.method public setResizeMode(I)V
.registers 3
.line 341
iget v0, p0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->g:I
if-eq v0, p1, :cond_9
.line 342
iput p1, p0, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->g:I
.line 343
invoke-virtual {p0}, Lcom/imo/android/imoim/world/widget/WorldWrappedTextureView;->requestLayout()V
:cond_9
return-void
.end method