CustomPasswordTransformationMethod.smali
.class public Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod;
.super Ljava/lang/Object;
.source "CustomPasswordTransformationMethod.java"
# interfaces
.implements Landroid/text/TextWatcher;
.implements Landroid/text/method/TransformationMethod;
# annotations
.annotation build Landroid/support/annotation/Keep;
.end annotation
# static fields
.field private static DOT:C
.field private static sInstance:Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod;
# instance fields
.field private mPref:I
.field private mShowPassword:I
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 311
const/16 v0, 0x25cf
sput-char v0, Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod;->DOT:C
return-void
.end method
.method private constructor <init>()V
.registers 6
.prologue
const/4 v1, 0x0
.line 37
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 35
const/16 v0, 0x8
iput v0, p0, Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod;->mShowPassword:I
.line 36
iput v1, p0, Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod;->mPref:I
.line 39
const-class v0, Landroid/text/method/TextKeyListener;
.line 41
:try_start_c
const-string v1, "getPrefs"
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Class;
const/4 v3, 0x0
const-class v4, Landroid/content/Context;
aput-object v4, v2, v3
invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
.line 42
const/4 v1, 0x1
invoke-virtual {v0, v1}, Ljava/lang/reflect/Method;->setAccessible(Z)V
.line 43
invoke-static {}, Landroid/text/method/TextKeyListener;->getInstance()Landroid/text/method/TextKeyListener;
move-result-object v1
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
invoke-static {}, Lcom/cmcm/safewallet/entry/WalletApp;->lO()Landroid/content/Context;
move-result-object v4
aput-object v4, v2, v3
invoke-virtual {v0, v1, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
iput v0, p0, Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod;->mPref:I
:try_end_38
.catch Ljava/lang/NoSuchMethodException; {:try_start_c .. :try_end_38} :catch_4b
.catch Ljava/lang/IllegalAccessException; {:try_start_c .. :try_end_38} :catch_50
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_c .. :try_end_38} :catch_55
.line 52
:goto_38
const-class v0, Landroid/text/method/TextKeyListener;
.line 54
:try_start_3a
const-string v1, "SHOW_PASSWORD"
invoke-virtual {v0, v1}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v1
.line 55
const/4 v2, 0x1
invoke-virtual {v1, v2}, Ljava/lang/reflect/Field;->setAccessible(Z)V
.line 56
invoke-virtual {v1, v0}, Ljava/lang/reflect/Field;->getInt(Ljava/lang/Object;)I
move-result v0
iput v0, p0, Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod;->mShowPassword:I
:try_end_4a
.catch Ljava/lang/NoSuchFieldException; {:try_start_3a .. :try_end_4a} :catch_5a
.catch Ljava/lang/IllegalAccessException; {:try_start_3a .. :try_end_4a} :catch_5f
.line 62
:goto_4a
return-void
.line 45
:catch_4b
move-exception v0
invoke-virtual {v0}, Ljava/lang/NoSuchMethodException;->printStackTrace()V
goto :goto_38
.line 47
:catch_50
move-exception v0
invoke-virtual {v0}, Ljava/lang/IllegalAccessException;->printStackTrace()V
goto :goto_38
.line 49
:catch_55
move-exception v0
invoke-virtual {v0}, Ljava/lang/reflect/InvocationTargetException;->printStackTrace()V
goto :goto_38
.line 58
:catch_5a
move-exception v0
invoke-virtual {v0}, Ljava/lang/NoSuchFieldException;->printStackTrace()V
goto :goto_4a
.line 60
:catch_5f
move-exception v0
invoke-virtual {v0}, Ljava/lang/IllegalAccessException;->printStackTrace()V
goto :goto_4a
.end method
.method static synthetic access$100()C
.registers 1
.prologue
.line 34
sget-char v0, Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod;->DOT:C
return v0
.end method
.method public static getInstance()Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod;
.registers 1
.prologue
.line 91
sget-object v0, Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod;->sInstance:Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod;
if-eqz v0, :cond_7
.line 92
sget-object v0, Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod;->sInstance:Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod;
.line 95
:goto_6
return-object v0
.line 94
:cond_7
new-instance v0, Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod;
invoke-direct {v0}, Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod;-><init>()V
.line 95
sput-object v0, Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod;->sInstance:Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod;
goto :goto_6
.end method
.method private static removeVisibleSpans(Landroid/text/Spannable;)V
.registers 4
.prologue
const/4 v1, 0x0
.line 161
invoke-interface {p0}, Landroid/text/Spannable;->length()I
move-result v0
const-class v2, Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod$Visible;
invoke-interface {p0, v1, v0, v2}, Landroid/text/Spannable;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod$Visible;
.line 162
:goto_d
array-length v2, v0
if-ge v1, v2, :cond_18
.line 163
aget-object v2, v0, v1
invoke-interface {p0, v2}, Landroid/text/Spannable;->removeSpan(Ljava/lang/Object;)V
.line 162
add-int/lit8 v1, v1, 0x1
goto :goto_d
.line 165
:cond_18
return-void
.end method
# virtual methods
.method public afterTextChanged(Landroid/text/Editable;)V
.registers 2
.prologue
.line 146
return-void
.end method
.method public beforeTextChanged(Ljava/lang/CharSequence;III)V
.registers 5
.prologue
.line 102
return-void
.end method
.method public getTransformation(Ljava/lang/CharSequence;Landroid/view/View;)Ljava/lang/CharSequence;
.registers 8
.prologue
const/4 v3, 0x0
.line 66
instance-of v0, p1, Landroid/text/Spannable;
if-eqz v0, :cond_2d
move-object v0, p1
.line 67
check-cast v0, Landroid/text/Spannable;
.line 75
invoke-interface {v0}, Landroid/text/Spannable;->length()I
move-result v1
const-class v2, Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod$ViewReference;
invoke-interface {v0, v3, v1, v2}, Landroid/text/Spannable;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object;
move-result-object v1
check-cast v1, [Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod$ViewReference;
move v2, v3
.line 77
:goto_15
array-length v4, v1
if-ge v2, v4, :cond_20
.line 78
aget-object v4, v1, v2
invoke-interface {v0, v4}, Landroid/text/Spannable;->removeSpan(Ljava/lang/Object;)V
.line 77
add-int/lit8 v2, v2, 0x1
goto :goto_15
.line 81
:cond_20
invoke-static {v0}, Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod;->removeVisibleSpans(Landroid/text/Spannable;)V
.line 83
new-instance v1, Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod$ViewReference;
invoke-direct {v1, p2}, Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod$ViewReference;-><init>(Landroid/view/View;)V
const/16 v2, 0x22
invoke-interface {v0, v1, v3, v3, v2}, Landroid/text/Spannable;->setSpan(Ljava/lang/Object;III)V
.line 87
:cond_2d
new-instance v0, Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod$PasswordCharSequence;
invoke-direct {v0, p1}, Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod$PasswordCharSequence;-><init>(Ljava/lang/CharSequence;)V
return-object v0
.end method
.method public onFocusChanged(Landroid/view/View;Ljava/lang/CharSequence;ZILandroid/graphics/Rect;)V
.registers 7
.prologue
.line 151
if-nez p3, :cond_b
.line 152
instance-of v0, p2, Landroid/text/Spannable;
if-eqz v0, :cond_b
.line 153
check-cast p2, Landroid/text/Spannable;
.line 155
invoke-static {p2}, Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod;->removeVisibleSpans(Landroid/text/Spannable;)V
.line 158
:cond_b
return-void
.end method
.method public onTextChanged(Ljava/lang/CharSequence;III)V
.registers 11
.prologue
const/4 v2, 0x0
.line 107
instance-of v0, p1, Landroid/text/Spannable;
if-eqz v0, :cond_17
move-object v0, p1
.line 108
check-cast v0, Landroid/text/Spannable;
.line 109
invoke-interface {p1}, Ljava/lang/CharSequence;->length()I
move-result v1
const-class v3, Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod$ViewReference;
invoke-interface {v0, v2, v1, v3}, Landroid/text/Spannable;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object;
move-result-object v1
check-cast v1, [Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod$ViewReference;
.line 111
array-length v3, v1
if-nez v3, :cond_18
.line 142
:cond_17
:goto_17
return-void
.line 122
:cond_18
const/4 v3, 0x0
move v5, v2
move-object v2, v3
move v3, v5
.line 123
:goto_1c
if-nez v2, :cond_2c
array-length v4, v1
if-ge v3, v4, :cond_2c
.line 124
aget-object v2, v1, v3
invoke-virtual {v2}, Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod$ViewReference;->get()Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroid/view/View;
.line 123
add-int/lit8 v3, v3, 0x1
goto :goto_1c
.line 127
:cond_2c
if-eqz v2, :cond_17
.line 131
iget v1, p0, Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod;->mPref:I
iget v2, p0, Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod;->mShowPassword:I
and-int/2addr v1, v2
if-eqz v1, :cond_17
.line 132
if-lez p4, :cond_17
.line 133
invoke-static {v0}, Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod;->removeVisibleSpans(Landroid/text/Spannable;)V
.line 135
const/4 v1, 0x1
if-ne p4, v1, :cond_17
.line 136
new-instance v1, Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod$Visible;
invoke-direct {v1, v0, p0}, Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod$Visible;-><init>(Landroid/text/Spannable;Lcom/cmcm/safewallet/ui/widget/keyboard/CustomPasswordTransformationMethod;)V
add-int v2, p2, p4
const/16 v3, 0x21
invoke-interface {v0, v1, p2, v2, v3}, Landroid/text/Spannable;->setSpan(Ljava/lang/Object;III)V
goto :goto_17
.end method