SideBar.smali
.class public Lio/rong/imkit/mention/SideBar;
.super Landroid/view/View;
.source "SideBar.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lio/rong/imkit/mention/SideBar$OnTouchingLetterChangedListener;
}
.end annotation
# static fields
.field public static final b:[Ljava/lang/String;
# instance fields
.field private choose:I
.field private mTextDialog:Landroid/widget/TextView;
.field private onTouchingLetterChangedListener:Lio/rong/imkit/mention/SideBar$OnTouchingLetterChangedListener;
.field private paint:Landroid/graphics/Paint;
# direct methods
.method static constructor <clinit>()V
.registers 3
const/16 v0, 0x1b
.line 1
new-array v0, v0, [Ljava/lang/String;
const/4 v1, 0x0
const-string v2, "A"
aput-object v2, v0, v1
const/4 v1, 0x1
const-string v2, "B"
aput-object v2, v0, v1
const/4 v1, 0x2
const-string v2, "C"
aput-object v2, v0, v1
const/4 v1, 0x3
const-string v2, "D"
aput-object v2, v0, v1
const/4 v1, 0x4
const-string v2, "E"
aput-object v2, v0, v1
const/4 v1, 0x5
const-string v2, "F"
aput-object v2, v0, v1
const/4 v1, 0x6
const-string v2, "G"
aput-object v2, v0, v1
const/4 v1, 0x7
const-string v2, "H"
aput-object v2, v0, v1
const/16 v1, 0x8
const-string v2, "I"
aput-object v2, v0, v1
const/16 v1, 0x9
const-string v2, "J"
aput-object v2, v0, v1
const/16 v1, 0xa
const-string v2, "K"
aput-object v2, v0, v1
const/16 v1, 0xb
const-string v2, "L"
aput-object v2, v0, v1
const/16 v1, 0xc
const-string v2, "M"
aput-object v2, v0, v1
const/16 v1, 0xd
const-string v2, "N"
aput-object v2, v0, v1
const/16 v1, 0xe
const-string v2, "O"
aput-object v2, v0, v1
const/16 v1, 0xf
const-string v2, "P"
aput-object v2, v0, v1
const/16 v1, 0x10
const-string v2, "Q"
aput-object v2, v0, v1
const/16 v1, 0x11
const-string v2, "R"
aput-object v2, v0, v1
const/16 v1, 0x12
const-string v2, "S"
aput-object v2, v0, v1
const/16 v1, 0x13
const-string v2, "T"
aput-object v2, v0, v1
const/16 v1, 0x14
const-string v2, "U"
aput-object v2, v0, v1
const/16 v1, 0x15
const-string v2, "V"
aput-object v2, v0, v1
const/16 v1, 0x16
const-string v2, "W"
aput-object v2, v0, v1
const/16 v1, 0x17
const-string v2, "X"
aput-object v2, v0, v1
const/16 v1, 0x18
const-string v2, "Y"
aput-object v2, v0, v1
const/16 v1, 0x19
const-string v2, "Z"
aput-object v2, v0, v1
const/16 v1, 0x1a
const-string v2, "#"
aput-object v2, v0, v1
sput-object v0, Lio/rong/imkit/mention/SideBar;->b:[Ljava/lang/String;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.registers 2
.line 7
invoke-direct {p0, p1}, Landroid/view/View;-><init>(Landroid/content/Context;)V
const/4 p1, -0x1
.line 8
iput p1, p0, Lio/rong/imkit/mention/SideBar;->choose:I
.line 9
new-instance p1, Landroid/graphics/Paint;
invoke-direct {p1}, Landroid/graphics/Paint;-><init>()V
iput-object p1, p0, Lio/rong/imkit/mention/SideBar;->paint:Landroid/graphics/Paint;
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/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
const/4 p1, -0x1
.line 5
iput p1, p0, Lio/rong/imkit/mention/SideBar;->choose:I
.line 6
new-instance p1, Landroid/graphics/Paint;
invoke-direct {p1}, Landroid/graphics/Paint;-><init>()V
iput-object p1, p0, Lio/rong/imkit/mention/SideBar;->paint:Landroid/graphics/Paint;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.registers 4
.line 1
invoke-direct {p0, p1, p2, p3}, Landroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
const/4 p1, -0x1
.line 2
iput p1, p0, Lio/rong/imkit/mention/SideBar;->choose:I
.line 3
new-instance p1, Landroid/graphics/Paint;
invoke-direct {p1}, Landroid/graphics/Paint;-><init>()V
iput-object p1, p0, Lio/rong/imkit/mention/SideBar;->paint:Landroid/graphics/Paint;
return-void
.end method
# virtual methods
.method public dispatchTouchEvent(Landroid/view/MotionEvent;)Z
.registers 7
.line 1
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
move-result v0
.line 2
invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F
move-result p1
.line 3
iget v1, p0, Lio/rong/imkit/mention/SideBar;->choose:I
.line 4
iget-object v2, p0, Lio/rong/imkit/mention/SideBar;->onTouchingLetterChangedListener:Lio/rong/imkit/mention/SideBar$OnTouchingLetterChangedListener;
.line 5
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v3
int-to-float v3, v3
div-float/2addr p1, v3
sget-object v3, Lio/rong/imkit/mention/SideBar;->b:[Ljava/lang/String;
array-length v3, v3
int-to-float v3, v3
mul-float p1, p1, v3
float-to-int p1, p1
const/4 v3, 0x0
const/4 v4, 0x1
if-ne v0, v4, :cond_34
.line 6
new-instance p1, Landroid/graphics/drawable/ColorDrawable;
invoke-direct {p1, v3}, Landroid/graphics/drawable/ColorDrawable;-><init>(I)V
invoke-virtual {p0, p1}, Landroid/view/View;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
const/4 p1, -0x1
.line 7
iput p1, p0, Lio/rong/imkit/mention/SideBar;->choose:I
.line 8
invoke-virtual {p0}, Landroid/view/View;->invalidate()V
.line 9
iget-object p1, p0, Lio/rong/imkit/mention/SideBar;->mTextDialog:Landroid/widget/TextView;
if-eqz p1, :cond_5e
const/4 v0, 0x4
.line 10
invoke-virtual {p1, v0}, Landroid/widget/TextView;->setVisibility(I)V
goto :goto_5e
.line 11
:cond_34
sget v0, Lio/rong/imkit/R$drawable;->rc_bg_sidebar:I
invoke-virtual {p0, v0}, Landroid/view/View;->setBackgroundResource(I)V
if-eq v1, p1, :cond_5e
if-ltz p1, :cond_5e
.line 12
sget-object v0, Lio/rong/imkit/mention/SideBar;->b:[Ljava/lang/String;
array-length v1, v0
if-ge p1, v1, :cond_5e
if-eqz v2, :cond_49
.line 13
aget-object v0, v0, p1
invoke-interface {v2, v0}, Lio/rong/imkit/mention/SideBar$OnTouchingLetterChangedListener;->onTouchingLetterChanged(Ljava/lang/String;)V
.line 14
:cond_49
iget-object v0, p0, Lio/rong/imkit/mention/SideBar;->mTextDialog:Landroid/widget/TextView;
if-eqz v0, :cond_59
.line 15
sget-object v1, Lio/rong/imkit/mention/SideBar;->b:[Ljava/lang/String;
aget-object v1, v1, p1
invoke-virtual {v0, v1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
.line 16
iget-object v0, p0, Lio/rong/imkit/mention/SideBar;->mTextDialog:Landroid/widget/TextView;
invoke-virtual {v0, v3}, Landroid/widget/TextView;->setVisibility(I)V
.line 17
:cond_59
iput p1, p0, Lio/rong/imkit/mention/SideBar;->choose:I
.line 18
invoke-virtual {p0}, Landroid/view/View;->invalidate()V
:cond_5e
:goto_5e
return v4
.end method
.method protected onDraw(Landroid/graphics/Canvas;)V
.registers 9
.line 1
invoke-super {p0, p1}, Landroid/view/View;->onDraw(Landroid/graphics/Canvas;)V
.line 2
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v0
.line 3
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v1
.line 4
sget-object v2, Lio/rong/imkit/mention/SideBar;->b:[Ljava/lang/String;
array-length v2, v2
div-int/2addr v0, v2
const/4 v2, 0x0
.line 5
:goto_10
sget-object v3, Lio/rong/imkit/mention/SideBar;->b:[Ljava/lang/String;
array-length v3, v3
if-ge v2, v3, :cond_6f
.line 6
iget-object v3, p0, Lio/rong/imkit/mention/SideBar;->paint:Landroid/graphics/Paint;
const v4, -0x777778
invoke-virtual {v3, v4}, Landroid/graphics/Paint;->setColor(I)V
.line 7
iget-object v3, p0, Lio/rong/imkit/mention/SideBar;->paint:Landroid/graphics/Paint;
sget-object v4, Landroid/graphics/Typeface;->DEFAULT:Landroid/graphics/Typeface;
invoke-virtual {v3, v4}, Landroid/graphics/Paint;->setTypeface(Landroid/graphics/Typeface;)Landroid/graphics/Typeface;
.line 8
iget-object v3, p0, Lio/rong/imkit/mention/SideBar;->paint:Landroid/graphics/Paint;
const/4 v4, 0x1
invoke-virtual {v3, v4}, Landroid/graphics/Paint;->setAntiAlias(Z)V
.line 9
iget-object v3, p0, Lio/rong/imkit/mention/SideBar;->paint:Landroid/graphics/Paint;
const/high16 v5, 0x41f00000 # 30.0f
invoke-virtual {v3, v5}, Landroid/graphics/Paint;->setTextSize(F)V
.line 10
iget v3, p0, Lio/rong/imkit/mention/SideBar;->choose:I
if-ne v2, v3, :cond_45
.line 11
iget-object v3, p0, Lio/rong/imkit/mention/SideBar;->paint:Landroid/graphics/Paint;
const-string v5, "#FFFFFF"
invoke-static {v5}, Landroid/graphics/Color;->parseColor(Ljava/lang/String;)I
move-result v5
invoke-virtual {v3, v5}, Landroid/graphics/Paint;->setColor(I)V
.line 12
iget-object v3, p0, Lio/rong/imkit/mention/SideBar;->paint:Landroid/graphics/Paint;
invoke-virtual {v3, v4}, Landroid/graphics/Paint;->setFakeBoldText(Z)V
:cond_45
int-to-float v3, v1
const/high16 v4, 0x40000000 # 2.0f
div-float/2addr v3, v4
.line 13
iget-object v5, p0, Lio/rong/imkit/mention/SideBar;->paint:Landroid/graphics/Paint;
sget-object v6, Lio/rong/imkit/mention/SideBar;->b:[Ljava/lang/String;
aget-object v6, v6, v2
invoke-virtual {v5, v6}, Landroid/graphics/Paint;->measureText(Ljava/lang/String;)F
move-result v5
div-float/2addr v5, v4
sub-float/2addr v3, v5
mul-int v4, v0, v2
int-to-float v4, v4
const/high16 v5, 0x3f800000 # 1.0f
mul-float v4, v4, v5
int-to-float v5, v0
add-float/2addr v4, v5
.line 14
sget-object v5, Lio/rong/imkit/mention/SideBar;->b:[Ljava/lang/String;
aget-object v5, v5, v2
iget-object v6, p0, Lio/rong/imkit/mention/SideBar;->paint:Landroid/graphics/Paint;
invoke-virtual {p1, v5, v3, v4, v6}, Landroid/graphics/Canvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V
.line 15
iget-object v3, p0, Lio/rong/imkit/mention/SideBar;->paint:Landroid/graphics/Paint;
invoke-virtual {v3}, Landroid/graphics/Paint;->reset()V
add-int/lit8 v2, v2, 0x1
goto :goto_10
:cond_6f
return-void
.end method
.method public setOnTouchingLetterChangedListener(Lio/rong/imkit/mention/SideBar$OnTouchingLetterChangedListener;)V
.registers 2
.line 1
iput-object p1, p0, Lio/rong/imkit/mention/SideBar;->onTouchingLetterChangedListener:Lio/rong/imkit/mention/SideBar$OnTouchingLetterChangedListener;
return-void
.end method
.method public setTextView(Landroid/widget/TextView;)V
.registers 2
.line 1
iput-object p1, p0, Lio/rong/imkit/mention/SideBar;->mTextDialog:Landroid/widget/TextView;
return-void
.end method