BRFloating.smali 8.2 KB
.class public Lcom/brsdk/android/widget/BRFloating;
.super Landroid/widget/FrameLayout;
.source "BRFloating.java"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/brsdk/android/widget/BRFloating$a;
    }
.end annotation


# instance fields
.field private a:I

.field private final b:Landroid/graphics/Paint;

.field private final c:Landroid/graphics/Paint;


# direct methods
.method public constructor <init>(Landroid/content/Context;)V
    .locals 1
    .param p1    # Landroid/content/Context;
        .annotation build Landroid/support/annotation/NonNull;
        .end annotation
    .end param

    const/4 v0, 0x0

    .line 32
    invoke-direct {p0, p1, v0}, Lcom/brsdk/android/widget/BRFloating;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V

    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
    .locals 1
    .param p1    # Landroid/content/Context;
        .annotation build Landroid/support/annotation/NonNull;
        .end annotation
    .end param
    .param p2    # Landroid/util/AttributeSet;
        .annotation build Landroid/support/annotation/Nullable;
        .end annotation
    .end param

    const/4 v0, 0x0

    .line 36
    invoke-direct {p0, p1, p2, v0}, Lcom/brsdk/android/widget/BRFloating;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V

    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
    .locals 1
    .param p1    # Landroid/content/Context;
        .annotation build Landroid/support/annotation/NonNull;
        .end annotation
    .end param
    .param p2    # Landroid/util/AttributeSet;
        .annotation build Landroid/support/annotation/Nullable;
        .end annotation
    .end param

    .line 40
    invoke-direct {p0, p1, p2, p3}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V

    .line 28
    new-instance p3, Landroid/graphics/Paint;

    const/4 v0, 0x1

    invoke-direct {p3, v0}, Landroid/graphics/Paint;-><init>(I)V

    iput-object p3, p0, Lcom/brsdk/android/widget/BRFloating;->b:Landroid/graphics/Paint;

    .line 29
    new-instance p3, Landroid/graphics/Paint;

    invoke-direct {p3, v0}, Landroid/graphics/Paint;-><init>(I)V

    iput-object p3, p0, Lcom/brsdk/android/widget/BRFloating;->c:Landroid/graphics/Paint;

    .line 41
    invoke-direct {p0, p1, p2}, Lcom/brsdk/android/widget/BRFloating;->a(Landroid/content/Context;Landroid/util/AttributeSet;)V

    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
    .locals 0
    .param p1    # Landroid/content/Context;
        .annotation build Landroid/support/annotation/NonNull;
        .end annotation
    .end param
    .param p2    # Landroid/util/AttributeSet;
        .annotation build Landroid/support/annotation/Nullable;
        .end annotation
    .end param

    .line 45
    invoke-direct {p0, p1, p2, p3, p4}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V

    .line 28
    new-instance p3, Landroid/graphics/Paint;

    const/4 p4, 0x1

    invoke-direct {p3, p4}, Landroid/graphics/Paint;-><init>(I)V

    iput-object p3, p0, Lcom/brsdk/android/widget/BRFloating;->b:Landroid/graphics/Paint;

    .line 29
    new-instance p3, Landroid/graphics/Paint;

    invoke-direct {p3, p4}, Landroid/graphics/Paint;-><init>(I)V

    iput-object p3, p0, Lcom/brsdk/android/widget/BRFloating;->c:Landroid/graphics/Paint;

    .line 46
    invoke-direct {p0, p1, p2}, Lcom/brsdk/android/widget/BRFloating;->a(Landroid/content/Context;Landroid/util/AttributeSet;)V

    return-void
.end method

.method private a()V
    .locals 21

    move-object/from16 v0, p0

    .line 66
    iget v1, v0, Lcom/brsdk/android/widget/BRFloating;->a:I

    const/4 v2, 0x2

    div-int/2addr v1, v2

    const/4 v3, 0x3

    .line 69
    new-array v8, v3, [I

    const/4 v11, 0x0

    aput v11, v8, v11

    const/high16 v4, 0x3f000000    # 0.5f

    const/4 v5, -0x1

    .line 71
    invoke-static {v4, v5}, Lcom/brsdk/android/utils/BRUtils;->a(FI)I

    move-result v4

    const/4 v12, 0x1

    aput v4, v8, v12

    aput v11, v8, v2

    .line 74
    new-array v9, v3, [F

    fill-array-data v9, :array_0

    .line 75
    new-instance v13, Landroid/graphics/RadialGradient;

    int-to-float v1, v1

    sget-object v10, Landroid/graphics/Shader$TileMode;->MIRROR:Landroid/graphics/Shader$TileMode;

    move-object v4, v13

    move v5, v1

    move v6, v1

    move v7, v1

    invoke-direct/range {v4 .. v10}, Landroid/graphics/RadialGradient;-><init>(FFF[I[FLandroid/graphics/Shader$TileMode;)V

    .line 78
    iget-object v4, v0, Lcom/brsdk/android/widget/BRFloating;->b:Landroid/graphics/Paint;

    invoke-virtual {v4, v13}, Landroid/graphics/Paint;->setShader(Landroid/graphics/Shader;)Landroid/graphics/Shader;

    .line 82
    new-array v4, v3, [I

    aput v11, v4, v11

    const v5, 0x3dcccccd    # 0.1f

    const/high16 v6, -0x1000000

    .line 84
    invoke-static {v5, v6}, Lcom/brsdk/android/utils/BRUtils;->a(FI)I

    move-result v5

    aput v5, v4, v12

    aput v11, v4, v2

    .line 87
    new-array v2, v3, [F

    fill-array-data v2, :array_1

    .line 88
    new-instance v3, Landroid/graphics/RadialGradient;

    sget-object v20, Landroid/graphics/Shader$TileMode;->MIRROR:Landroid/graphics/Shader$TileMode;

    move-object v14, v3

    move v15, v1

    move/from16 v16, v1

    move/from16 v17, v1

    move-object/from16 v18, v4

    move-object/from16 v19, v2

    invoke-direct/range {v14 .. v20}, Landroid/graphics/RadialGradient;-><init>(FFF[I[FLandroid/graphics/Shader$TileMode;)V

    .line 91
    iget-object v1, v0, Lcom/brsdk/android/widget/BRFloating;->c:Landroid/graphics/Paint;

    invoke-virtual {v1, v3}, Landroid/graphics/Paint;->setShader(Landroid/graphics/Shader;)Landroid/graphics/Shader;

    return-void

    nop

    :array_0
    .array-data 4
        0x3f4ccccd    # 0.8f
        0x3f6b851f    # 0.92f
        0x3f6e147b    # 0.93f
    .end array-data

    :array_1
    .array-data 4
        0x3f6e147b    # 0.93f
        0x3f70a3d7    # 0.94f
        0x3f800000    # 1.0f
    .end array-data
.end method

.method private a(Landroid/content/Context;Landroid/util/AttributeSet;)V
    .locals 1

    const/4 p2, 0x0

    .line 50
    invoke-virtual {p0, p2}, Lcom/brsdk/android/widget/BRFloating;->setWillNotDraw(Z)V

    .line 52
    new-instance p2, Landroid/widget/FrameLayout$LayoutParams;

    const/4 v0, -0x1

    invoke-direct {p2, v0, v0}, Landroid/widget/FrameLayout$LayoutParams;-><init>(II)V

    .line 55
    new-instance v0, Lcom/brsdk/android/widget/BRFloating$a;

    invoke-direct {v0, p1}, Lcom/brsdk/android/widget/BRFloating$a;-><init>(Landroid/content/Context;)V

    invoke-virtual {p0, v0, p2}, Lcom/brsdk/android/widget/BRFloating;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V

    return-void
.end method


# virtual methods
.method protected onDraw(Landroid/graphics/Canvas;)V
    .locals 2

    .line 96
    iget v0, p0, Lcom/brsdk/android/widget/BRFloating;->a:I

    div-int/lit8 v0, v0, 0x2

    int-to-float v0, v0

    .line 97
    iget-object v1, p0, Lcom/brsdk/android/widget/BRFloating;->b:Landroid/graphics/Paint;

    invoke-virtual {p1, v0, v0, v0, v1}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V

    .line 98
    iget-object v1, p0, Lcom/brsdk/android/widget/BRFloating;->c:Landroid/graphics/Paint;

    invoke-virtual {p1, v0, v0, v0, v1}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V

    return-void
.end method

.method protected onLayout(ZIIII)V
    .locals 0

    .line 60
    invoke-super/range {p0 .. p5}, Landroid/widget/FrameLayout;->onLayout(ZIIII)V

    .line 61
    invoke-virtual {p0}, Lcom/brsdk/android/widget/BRFloating;->getWidth()I

    move-result p1

    invoke-virtual {p0}, Lcom/brsdk/android/widget/BRFloating;->getHeight()I

    move-result p2

    invoke-static {p1, p2}, Ljava/lang/Math;->min(II)I

    move-result p1

    iput p1, p0, Lcom/brsdk/android/widget/BRFloating;->a:I

    .line 62
    invoke-direct {p0}, Lcom/brsdk/android/widget/BRFloating;->a()V

    return-void
.end method