AutoFiller.smali

.class public Lcom/paytm/pgsdk/easypay/actions/AutoFiller;
.super Ljava/lang/Object;
.source "AutoFiller.java"


# instance fields
.field action:Ljava/util/Map;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/Map<",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation
.end field

.field activity:Landroid/app/Activity;

.field autoFillerHelperEditText:Landroid/widget/EditText;

.field customEventReceiver:Landroid/content/BroadcastReceiver;

.field fields:Ljava/lang/String;

.field fragment:Lcom/paytm/pgsdk/easypay/actions/EasypayBrowserFragment;

.field inputKey:Ljava/lang/String;

.field txtWatcher:Landroid/text/TextWatcher;

.field webview:Landroid/webkit/WebView;


# direct methods
.method public constructor <init>(Landroid/app/Activity;Landroid/webkit/WebView;Lcom/paytm/pgsdk/easypay/actions/EasypayBrowserFragment;Ljava/util/Map;)V
    .registers 10
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Landroid/app/Activity;",
            "Landroid/webkit/WebView;",
            "Lcom/paytm/pgsdk/easypay/actions/EasypayBrowserFragment;",
            "Ljava/util/Map<",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ">;)V"
        }
    .end annotation

    .line 50
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 33
    new-instance v0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller$1;

    invoke-direct {v0, p0}, Lcom/paytm/pgsdk/easypay/actions/AutoFiller$1;-><init>(Lcom/paytm/pgsdk/easypay/actions/AutoFiller;)V

    iput-object v0, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->customEventReceiver:Landroid/content/BroadcastReceiver;

    .line 52
    iput-object p1, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->activity:Landroid/app/Activity;

    .line 53
    iput-object p3, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->fragment:Lcom/paytm/pgsdk/easypay/actions/EasypayBrowserFragment;

    .line 54
    iput-object p4, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->action:Ljava/util/Map;

    .line 55
    iput-object p2, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->webview:Landroid/webkit/WebView;

    .line 56
    sget p2, Lcom/paytm/pgsdk/R$id;->autoFillerHelperEditText:I

    invoke-virtual {p1, p2}, Landroid/app/Activity;->findViewById(I)Landroid/view/View;

    move-result-object p1

    check-cast p1, Landroid/widget/EditText;

    iput-object p1, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->autoFillerHelperEditText:Landroid/widget/EditText;

    .line 58
    new-instance p1, Landroid/content/IntentFilter;

    const-string p2, "com.paytm.com.paytm.pgsdk.easypay.CUSTOM_EVENT"

    invoke-direct {p1, p2}, Landroid/content/IntentFilter;-><init>(Ljava/lang/String;)V

    .line 59
    iget-object p2, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->activity:Landroid/app/Activity;

    iget-object p3, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->customEventReceiver:Landroid/content/BroadcastReceiver;

    invoke-virtual {p2, p3, p1}, Landroid/app/Activity;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;

    .line 64
    new-instance p1, Ljava/lang/StringBuilder;

    invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V

    const-string p2, "autofill-"

    invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p1

    iget-object p2, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->action:Ljava/util/Map;

    const-string p3, "bank"

    invoke-interface {p2, p3}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p2

    check-cast p2, Ljava/lang/String;

    invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p1

    iget-object p2, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->action:Ljava/util/Map;

    const-string p3, "id"

    invoke-interface {p2, p3}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p2

    check-cast p2, Ljava/lang/String;

    invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p1

    invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p1

    .line 65
    iput-object p1, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->inputKey:Ljava/lang/String;

    .line 77
    iget-object p2, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->action:Ljava/util/Map;

    const-string p3, "silent"

    invoke-interface {p2, p3}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p2

    check-cast p2, Ljava/lang/String;

    .line 80
    iget-object p3, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->action:Ljava/util/Map;

    const-string p4, "fields"

    invoke-interface {p3, p4}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p3

    check-cast p3, Ljava/lang/String;

    iput-object p3, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->fields:Ljava/lang/String;

    .line 81
    new-instance p3, Ljava/lang/StringBuilder;

    invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V

    iget-object p4, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->fields:Ljava/lang/String;

    invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p3

    const-string p4, "if(fields.length){fields[0].value=\'"

    invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p3

    const-string p4, ""

    invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p3

    const-string v0, "\'; fields[0].blur();};"

    invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p3

    invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p3

    .line 86
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "if(fields.length){fields[0].addEventListener(\'input\', function(e){Android.logData(\'"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, "\', this.value)});};"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    .line 87
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "if(!"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v3, "){ fields[0].addEventListener(\'focus\', function(){fields[0].blur();Android.sendEvent(\'toggleAutoFiller\', true, \'"

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v3, "\');}); }"

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    .line 90
    iget-object v3, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->action:Ljava/util/Map;

    const-string v4, "element"

    invoke-interface {v3, v4}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Ljava/lang/String;

    const-string v4, "select"

    invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v3

    if-eqz v3, :cond_11c

    .line 91
    new-instance p3, Ljava/lang/StringBuilder;

    invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V

    iget-object v1, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->fields:Ljava/lang/String;

    invoke-virtual {p3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p3

    const-string v1, "var a = fields[0].options; for(var i=0;i<a.length;i++){ if(a[i].value==\'"

    invoke-virtual {p3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p3

    invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p3

    const-string p4, "\'){a[i].selected=true; Android.showLog(\'selected------\'); if(fields[0].onchange){fields[0].onchange(); Android.showLog(\'onchange------\');}  break; } }"

    invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p3

    invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p3

    .line 92
    new-instance p4, Ljava/lang/StringBuilder;

    invoke-direct {p4}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {p4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p4

    invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p2

    const-string p4, "){ fields[0].addEventListener(\'change\', function(){ Android.logData(\'"

    invoke-virtual {p2, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p2

    invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p1

    const-string p2, "\', this.value) }); }"

    invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p1

    invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    .line 97
    :cond_11c
    new-instance p1, Ljava/lang/StringBuilder;

    invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V

    const-string p2, "javascript:"

    invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p1

    iget-object p2, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->action:Ljava/util/Map;

    const-string p4, "functionStart"

    invoke-interface {p2, p4}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p2

    check-cast p2, Ljava/lang/String;

    invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p1

    invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p1

    invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p1

    invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p1

    iget-object p2, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->action:Ljava/util/Map;

    const-string p3, "functionEnd"

    invoke-interface {p2, p3}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p2

    check-cast p2, Ljava/lang/String;

    invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p1

    invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p1

    .line 99
    iget-object p2, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->webview:Landroid/webkit/WebView;

    invoke-virtual {p2, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V

    .line 103
    new-instance p1, Lcom/paytm/pgsdk/easypay/actions/AutoFiller$2;

    invoke-direct {p1, p0}, Lcom/paytm/pgsdk/easypay/actions/AutoFiller$2;-><init>(Lcom/paytm/pgsdk/easypay/actions/AutoFiller;)V

    iput-object p1, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->txtWatcher:Landroid/text/TextWatcher;

    .line 127
    iget-object p2, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->autoFillerHelperEditText:Landroid/widget/EditText;

    invoke-virtual {p2, p1}, Landroid/widget/EditText;->addTextChangedListener(Landroid/text/TextWatcher;)V

    return-void
.end method


# virtual methods
.method public reset()V
    .registers 4

    const-string v0, "Log"

    const-string v1, "AutoFiller resetting "

    .line 196
    invoke-static {v0, v1}, Lcom/paytm/pgsdk/easypay/utils/Log;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 198
    :try_start_7
    iget-object v0, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->customEventReceiver:Landroid/content/BroadcastReceiver;

    if-eqz v0, :cond_10

    .line 199
    iget-object v1, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->activity:Landroid/app/Activity;

    invoke-virtual {v1, v0}, Landroid/app/Activity;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
    :try_end_10
    .catch Ljava/lang/Exception; {:try_start_7 .. :try_end_10} :catch_10

    .line 206
    :catch_10
    :cond_10
    iget-object v0, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->fragment:Lcom/paytm/pgsdk/easypay/actions/EasypayBrowserFragment;

    sget v1, Lcom/paytm/pgsdk/R$id;->autoFillerHelperHeader:I

    const/4 v2, 0x0

    invoke-static {v2}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v2

    invoke-virtual {v0, v1, v2}, Lcom/paytm/pgsdk/easypay/actions/EasypayBrowserFragment;->toggleView(ILjava/lang/Boolean;)V

    .line 208
    iget-object v0, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->autoFillerHelperEditText:Landroid/widget/EditText;

    iget-object v1, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->txtWatcher:Landroid/text/TextWatcher;

    invoke-virtual {v0, v1}, Landroid/widget/EditText;->removeTextChangedListener(Landroid/text/TextWatcher;)V

    .line 209
    iget-object v0, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->autoFillerHelperEditText:Landroid/widget/EditText;

    const-string v1, ""

    invoke-virtual {v0, v1}, Landroid/widget/EditText;->setText(Ljava/lang/CharSequence;)V

    return-void
.end method

.method public toggle(Ljava/lang/String;Ljava/lang/String;)V
    .registers 4

    .line 133
    iget-object p2, p0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller;->activity:Landroid/app/Activity;

    new-instance v0, Lcom/paytm/pgsdk/easypay/actions/AutoFiller$3;

    invoke-direct {v0, p0, p1}, Lcom/paytm/pgsdk/easypay/actions/AutoFiller$3;-><init>(Lcom/paytm/pgsdk/easypay/actions/AutoFiller;Ljava/lang/String;)V

    invoke-virtual {p2, v0}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V

    return-void
.end method