LabelView.smali
.class public Lcom/cmcm/xiaobao/phone/smarthome/widget/LabelView;
.super Landroid/widget/LinearLayout;
# instance fields
.field protected mContainerLayout:Landroid/view/ViewGroup;
.field private mContext:Landroid/content/Context;
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.registers 3
const/4 v0, 0x0
invoke-direct {p0, p1, v0}, Lcom/cmcm/xiaobao/phone/smarthome/widget/LabelView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 4
.param p2 # Landroid/util/AttributeSet;
.annotation build Landroid/support/annotation/Nullable;
.end annotation
.end param
const/4 v0, 0x0
invoke-direct {p0, p1, p2, v0}, Lcom/cmcm/xiaobao/phone/smarthome/widget/LabelView;-><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
.registers 5
.param p2 # Landroid/util/AttributeSet;
.annotation build Landroid/support/annotation/Nullable;
.end annotation
.end param
invoke-direct {p0, p1, p2, p3}, Landroid/widget/LinearLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
const/4 v0, 0x1
invoke-virtual {p0, v0}, Lcom/cmcm/xiaobao/phone/smarthome/widget/LabelView;->setOrientation(I)V
iput-object p0, p0, Lcom/cmcm/xiaobao/phone/smarthome/widget/LabelView;->mContainerLayout:Landroid/view/ViewGroup;
iput-object p1, p0, Lcom/cmcm/xiaobao/phone/smarthome/widget/LabelView;->mContext:Landroid/content/Context;
return-void
.end method
# virtual methods
.method protected initLayout(Ljava/util/List;)V
.registers 14
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List",
"<",
"Ljava/lang/String;",
">;)V"
}
.end annotation
const/4 v2, 0x0
invoke-virtual {p0}, Lcom/cmcm/xiaobao/phone/smarthome/widget/LabelView;->getContext()Landroid/content/Context;
move-result-object v4
new-instance v0, Landroid/widget/LinearLayout;
invoke-direct {v0, v4}, Landroid/widget/LinearLayout;-><init>(Landroid/content/Context;)V
invoke-virtual {v0, v2}, Landroid/widget/LinearLayout;->setOrientation(I)V
iget-object v1, p0, Lcom/cmcm/xiaobao/phone/smarthome/widget/LabelView;->mContainerLayout:Landroid/view/ViewGroup;
invoke-virtual {v1, v0}, Landroid/view/ViewGroup;->addView(Landroid/view/View;)V
invoke-virtual {p0}, Lcom/cmcm/xiaobao/phone/smarthome/widget/LabelView;->getResources()Landroid/content/res/Resources;
move-result-object v1
sget v3, Lcom/cmcm/xiaobao/phone/smarthome/R$dimen;->sh_sdk_margin_big:I
invoke-virtual {v1, v3}, Landroid/content/res/Resources;->getDimension(I)F
move-result v1
float-to-int v5, v1
invoke-static {}, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->getScreenWidth()I
move-result v1
const/high16 v3, 0x42200000 # 40.0f
invoke-static {v3}, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->dp2px(F)I
move-result v3
sub-int/2addr v1, v3
invoke-virtual {p0}, Lcom/cmcm/xiaobao/phone/smarthome/widget/LabelView;->getPaddingLeft()I
move-result v3
sub-int/2addr v1, v3
invoke-virtual {p0}, Lcom/cmcm/xiaobao/phone/smarthome/widget/LabelView;->getPaddingRight()I
move-result v3
sub-int v6, v1, v3
const/16 v7, 0xc
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v8
move v1, v2
move-object v3, v0
:cond_3b
:goto_3b
invoke-interface {v8}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_a9
invoke-interface {v8}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
new-instance v9, Landroid/widget/TextView;
invoke-direct {v9, v4}, Landroid/widget/TextView;-><init>(Landroid/content/Context;)V
sget v10, Lcom/cmcm/xiaobao/phone/smarthome/R$drawable;->sh_sdk_shape_label:I
invoke-virtual {v9, v10}, Landroid/widget/TextView;->setBackgroundResource(I)V
iget-object v10, p0, Lcom/cmcm/xiaobao/phone/smarthome/widget/LabelView;->mContext:Landroid/content/Context;
sget v11, Lcom/cmcm/xiaobao/phone/smarthome/R$color;->half_black:I
invoke-static {v10, v11}, Landroid/support/v4/content/ContextCompat;->getColor(Landroid/content/Context;I)I
move-result v10
invoke-virtual {v9, v10}, Landroid/widget/TextView;->setTextColor(I)V
invoke-virtual {v9, v0}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
invoke-virtual {v9}, Landroid/widget/TextView;->setSingleLine()V
int-to-float v10, v7
invoke-virtual {v9, v10}, Landroid/widget/TextView;->setTextSize(F)V
invoke-virtual {v9}, Landroid/widget/TextView;->getPaint()Landroid/text/TextPaint;
move-result-object v10
invoke-virtual {v10, v0}, Landroid/text/TextPaint;->measureText(Ljava/lang/String;)F
move-result v0
float-to-int v0, v0
invoke-virtual {v9}, Landroid/widget/TextView;->getPaddingLeft()I
move-result v10
add-int/2addr v0, v10
invoke-virtual {v9}, Landroid/widget/TextView;->getPaddingRight()I
move-result v10
add-int/2addr v0, v10
add-int/2addr v0, v5
add-int v10, v1, v0
if-le v10, v6, :cond_95
new-instance v3, Landroid/widget/LinearLayout;
invoke-direct {v3, v4}, Landroid/widget/LinearLayout;-><init>(Landroid/content/Context;)V
invoke-virtual {v3, v2}, Landroid/widget/LinearLayout;->setOrientation(I)V
const/high16 v1, 0x41400000 # 12.0f
invoke-static {v1}, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->dp2px(F)I
move-result v1
invoke-virtual {v3, v2, v1, v2, v2}, Landroid/widget/LinearLayout;->setPadding(IIII)V
iget-object v1, p0, Lcom/cmcm/xiaobao/phone/smarthome/widget/LabelView;->mContainerLayout:Landroid/view/ViewGroup;
invoke-virtual {v1, v3}, Landroid/view/ViewGroup;->addView(Landroid/view/View;)V
move v1, v2
:cond_95
invoke-virtual {v3, v9}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;)V
add-int/2addr v1, v0
invoke-virtual {v3}, Landroid/widget/LinearLayout;->getChildCount()I
move-result v0
const/4 v10, 0x1
if-eq v0, v10, :cond_3b
invoke-virtual {v9}, Landroid/widget/TextView;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v0
check-cast v0, Landroid/widget/LinearLayout$LayoutParams;
iput v5, v0, Landroid/widget/LinearLayout$LayoutParams;->leftMargin:I
goto :goto_3b
:cond_a9
return-void
.end method
.method public setLabelText(Ljava/util/List;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List",
"<",
"Ljava/lang/String;",
">;)V"
}
.end annotation
iget-object v0, p0, Lcom/cmcm/xiaobao/phone/smarthome/widget/LabelView;->mContainerLayout:Landroid/view/ViewGroup;
if-nez v0, :cond_d
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string/jumbo v1, "container can not be null"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
:cond_d
const/4 v0, 0x0
iget-object v1, p0, Lcom/cmcm/xiaobao/phone/smarthome/widget/LabelView;->mContainerLayout:Landroid/view/ViewGroup;
invoke-virtual {v1}, Landroid/view/ViewGroup;->getChildCount()I
move-result v1
if-le v1, v0, :cond_1b
iget-object v0, p0, Lcom/cmcm/xiaobao/phone/smarthome/widget/LabelView;->mContainerLayout:Landroid/view/ViewGroup;
invoke-virtual {v0}, Landroid/view/ViewGroup;->removeAllViews()V
:cond_1b
invoke-virtual {p0, p1}, Lcom/cmcm/xiaobao/phone/smarthome/widget/LabelView;->initLayout(Ljava/util/List;)V
return-void
.end method