RendererCommon$VideoLayoutMeasure.smali
.class public Lio/agora/base/internal/video/RendererCommon$VideoLayoutMeasure;
.super Ljava/lang/Object;
.source "RendererCommon.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/agora/base/internal/video/RendererCommon;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "VideoLayoutMeasure"
.end annotation
# instance fields
.field private scalingTypeMatchOrientation:Lio/agora/base/internal/video/RendererCommon$ScalingType;
.field private scalingTypeMismatchOrientation:Lio/agora/base/internal/video/RendererCommon$ScalingType;
# direct methods
.method public constructor <init>()V
.registers 2
.line 82
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 86
sget-object v0, Lio/agora/base/internal/video/RendererCommon$ScalingType;->SCALE_ASPECT_BALANCED:Lio/agora/base/internal/video/RendererCommon$ScalingType;
iput-object v0, p0, Lio/agora/base/internal/video/RendererCommon$VideoLayoutMeasure;->scalingTypeMatchOrientation:Lio/agora/base/internal/video/RendererCommon$ScalingType;
.line 87
sget-object v0, Lio/agora/base/internal/video/RendererCommon$ScalingType;->SCALE_ASPECT_BALANCED:Lio/agora/base/internal/video/RendererCommon$ScalingType;
iput-object v0, p0, Lio/agora/base/internal/video/RendererCommon$VideoLayoutMeasure;->scalingTypeMismatchOrientation:Lio/agora/base/internal/video/RendererCommon$ScalingType;
return-void
.end method
# virtual methods
.method public measure(IIII)Landroid/graphics/Point;
.registers 11
const v0, 0x7fffffff
.line 102
invoke-static {v0, p1}, Landroid/view/View;->getDefaultSize(II)I
move-result v1
.line 103
invoke-static {v0, p2}, Landroid/view/View;->getDefaultSize(II)I
move-result v0
if-eqz p3, :cond_49
if-eqz p4, :cond_49
if-eqz v1, :cond_49
if-nez v0, :cond_14
goto :goto_49
:cond_14
int-to-float p3, p3
int-to-float p4, p4
div-float/2addr p3, p4
int-to-float p4, v1
int-to-float v2, v0
div-float/2addr p4, v2
const/high16 v2, 0x3f800000 # 1.0f
cmpl-float v3, p3, v2
const/4 v4, 0x1
const/4 v5, 0x0
if-lez v3, :cond_24
move v3, v4
goto :goto_25
:cond_24
move v3, v5
:goto_25
cmpl-float p4, p4, v2
if-lez p4, :cond_2a
goto :goto_2b
:cond_2a
move v4, v5
:goto_2b
if-ne v3, v4, :cond_30
.line 112
iget-object p4, p0, Lio/agora/base/internal/video/RendererCommon$VideoLayoutMeasure;->scalingTypeMatchOrientation:Lio/agora/base/internal/video/RendererCommon$ScalingType;
goto :goto_32
.line 113
:cond_30
iget-object p4, p0, Lio/agora/base/internal/video/RendererCommon$VideoLayoutMeasure;->scalingTypeMismatchOrientation:Lio/agora/base/internal/video/RendererCommon$ScalingType;
.line 114
:goto_32
invoke-static {p4, p3, v1, v0}, Lio/agora/base/internal/video/RendererCommon;->getDisplaySize(Lio/agora/base/internal/video/RendererCommon$ScalingType;FII)Landroid/graphics/Point;
move-result-object p3
.line 117
invoke-static {p1}, Landroid/view/View$MeasureSpec;->getMode(I)I
move-result p1
const/high16 p4, 0x40000000 # 2.0f
if-ne p1, p4, :cond_40
.line 118
iput v1, p3, Landroid/graphics/Point;->x:I
.line 120
:cond_40
invoke-static {p2}, Landroid/view/View$MeasureSpec;->getMode(I)I
move-result p1
if-ne p1, p4, :cond_48
.line 121
iput v0, p3, Landroid/graphics/Point;->y:I
:cond_48
return-object p3
.line 105
:cond_49
:goto_49
new-instance p1, Landroid/graphics/Point;
invoke-direct {p1, v1, v0}, Landroid/graphics/Point;-><init>(II)V
return-object p1
.end method
.method public setScalingType(Lio/agora/base/internal/video/RendererCommon$ScalingType;)V
.registers 2
.line 90
iput-object p1, p0, Lio/agora/base/internal/video/RendererCommon$VideoLayoutMeasure;->scalingTypeMatchOrientation:Lio/agora/base/internal/video/RendererCommon$ScalingType;
.line 91
iput-object p1, p0, Lio/agora/base/internal/video/RendererCommon$VideoLayoutMeasure;->scalingTypeMismatchOrientation:Lio/agora/base/internal/video/RendererCommon$ScalingType;
return-void
.end method
.method public setScalingType(Lio/agora/base/internal/video/RendererCommon$ScalingType;Lio/agora/base/internal/video/RendererCommon$ScalingType;)V
.registers 3
.line 96
iput-object p1, p0, Lio/agora/base/internal/video/RendererCommon$VideoLayoutMeasure;->scalingTypeMatchOrientation:Lio/agora/base/internal/video/RendererCommon$ScalingType;
.line 97
iput-object p2, p0, Lio/agora/base/internal/video/RendererCommon$VideoLayoutMeasure;->scalingTypeMismatchOrientation:Lio/agora/base/internal/video/RendererCommon$ScalingType;
return-void
.end method