EasypayLoaderService.smali
.class public Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;
.super Landroid/app/IntentService;
.source "EasypayLoaderService.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService$JsonDownloadListener;
}
.end annotation
# instance fields
.field private allowEasypay:Z
.field editorETAG:Landroid/content/SharedPreferences$Editor;
.field private isFileCreated:Z
.field private isfileDeleted:Z
.field private jsonDownloadListener:Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService$JsonDownloadListener;
.field private mEditor:Landroid/content/SharedPreferences$Editor;
.field private sharedPref:Landroid/content/SharedPreferences;
.field sharedPrefETag:Landroid/content/SharedPreferences;
# direct methods
.method public constructor <init>()V
.registers 2
const-string v0, "EasypayLoaderService"
.line 34
invoke-direct {p0, v0}, Landroid/app/IntentService;-><init>(Ljava/lang/String;)V
return-void
.end method
.method public constructor <init>(Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService$JsonDownloadListener;)V
.registers 3
const-string v0, "EasypayLoaderService"
.line 41
invoke-direct {p0, v0}, Landroid/app/IntentService;-><init>(Ljava/lang/String;)V
.line 43
iput-object p1, p0, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->jsonDownloadListener:Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService$JsonDownloadListener;
return-void
.end method
.method private deleteConfigFile()V
.registers 4
.line 88
new-instance v0, Ljava/io/File;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p0}, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->getApplicationContext()Landroid/content/Context;
move-result-object v2
invoke-virtual {v2}, Landroid/content/Context;->getFilesDir()Ljava/io/File;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "/"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "easypay_configuration.json"
invoke-virtual {v1, v2}, 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
invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 89
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v1
if-eqz v1, :cond_2f
.line 91
invoke-virtual {v0}, Ljava/io/File;->delete()Z
:cond_2f
return-void
.end method
.method private getJsonObjectFromMap(Ljava/util/Map;)Lorg/json/JSONObject;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/Integer;",
">;)",
"Lorg/json/JSONObject;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;
}
.end annotation
.line 248
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
.line 250
invoke-interface {p1}, Ljava/util/Map;->keySet()Ljava/util/Set;
move-result-object v1
.line 251
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_d
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_21
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
.line 252
invoke-interface {p1, v2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
invoke-virtual {v0, v2, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
goto :goto_d
:cond_21
return-object v0
.end method
# virtual methods
.method public downloadConfigFile()V
.registers 8
.line 98
iget-object v0, p0, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->sharedPref:Landroid/content/SharedPreferences;
const-string v1, "easypay_configuration_load_timestamp"
const-wide/16 v2, 0x0
invoke-interface {v0, v1, v2, v3}, Landroid/content/SharedPreferences;->getLong(Ljava/lang/String;J)J
move-result-wide v4
invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
.line 100
iget-object v4, p0, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->sharedPref:Landroid/content/SharedPreferences;
const-string v5, "easypay_configuration_ttl"
invoke-interface {v4, v5, v2, v3}, Landroid/content/SharedPreferences;->getLong(Ljava/lang/String;J)J
move-result-wide v2
invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v2
.line 103
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v3
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v5
sub-long/2addr v3, v5
invoke-virtual {v2}, Ljava/lang/Long;->longValue()J
move-result-wide v5
cmp-long v0, v3, v5
if-lez v0, :cond_9b
.line 107
:try_start_2b
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "JsonData={\"MID\":\""
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v2, p0, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->sharedPref:Landroid/content/SharedPreferences;
const-string v3, "merchant_mid"
const-string v4, ""
invoke-interface {v2, v3, v4}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v2, "\"}"
invoke-virtual {v0, v2}, 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 109
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "?"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, 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 110
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {}, Lcom/paytm/pgsdk/easypay/utils/Constants;->getDbUrl()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, 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
const-string v2, "easypay_configuration.json"
.line 114
invoke-virtual {p0, v0, v2}, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->downloadFile(Ljava/lang/String;Ljava/lang/String;)Z
move-result v0
invoke-static {v0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v0
.line 116
invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z
move-result v0
if-eqz v0, :cond_9b
const-string v0, "com.paytm.com.paytm.pgsdk.easypay.PREFERENCE_FILE_KEY"
const/4 v2, 0x0
.line 117
invoke-virtual {p0, v0, v2}, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;
move-result-object v0
.line 118
invoke-interface {v0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor;
move-result-object v0
.line 119
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v2
invoke-interface {v0, v1, v2, v3}, Landroid/content/SharedPreferences$Editor;->putLong(Ljava/lang/String;J)Landroid/content/SharedPreferences$Editor;
.line 120
invoke-interface {v0}, Landroid/content/SharedPreferences$Editor;->apply()V
:try_end_9b
.catch Ljava/lang/Exception; {:try_start_2b .. :try_end_9b} :catch_9b
:catch_9b
:cond_9b
return-void
.end method
.method public downloadFile(Ljava/lang/String;Ljava/lang/String;)Z
.registers 14
const-string v0, "LastRequestTimestamp"
const-string v1, "ETAGValue"
const/4 v2, 0x0
.line 260
:try_start_5
new-instance v3, Ljava/net/URL;
invoke-direct {v3, p1}, Ljava/net/URL;-><init>(Ljava/lang/String;)V
.line 262
invoke-virtual {v3}, Ljava/net/URL;->openConnection()Ljava/net/URLConnection;
move-result-object p1
check-cast p1, Ljava/net/HttpURLConnection;
const/16 v3, 0x3a98
.line 263
invoke-virtual {p1, v3}, Ljava/net/HttpURLConnection;->setReadTimeout(I)V
const/16 v3, 0x4e20
.line 264
invoke-virtual {p1, v3}, Ljava/net/HttpURLConnection;->setConnectTimeout(I)V
const-string v3, "GET"
.line 265
invoke-virtual {p1, v3}, Ljava/net/HttpURLConnection;->setRequestMethod(Ljava/lang/String;)V
.line 266
iget-object v3, p0, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->sharedPrefETag:Landroid/content/SharedPreferences;
const-string v4, "0"
invoke-interface {v3, v1, v4}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
.line 267
iget-object v4, p0, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->sharedPrefETag:Landroid/content/SharedPreferences;
const-wide/16 v5, 0x0
invoke-interface {v4, v0, v5, v6}, Landroid/content/SharedPreferences;->getLong(Ljava/lang/String;J)J
move-result-wide v4
.line 268
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v6
const-wide/32 v8, 0x5265c00
const-string v10, "If-None-Match"
.line 271
invoke-virtual {p1, v10, v3}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
.line 272
invoke-virtual {p1}, Ljava/net/HttpURLConnection;->connect()V
const-string v3, "ETag"
.line 273
invoke-virtual {p1, v3}, Ljava/net/HttpURLConnection;->getHeaderField(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
.line 274
iget-object v10, p0, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->editorETAG:Landroid/content/SharedPreferences$Editor;
invoke-interface {v10, v1, v3}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor;
.line 275
iget-object v1, p0, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->editorETAG:Landroid/content/SharedPreferences$Editor;
invoke-interface {v1}, Landroid/content/SharedPreferences$Editor;->commit()Z
.line 276
invoke-virtual {p1}, Ljava/net/HttpURLConnection;->getResponseCode()I
move-result v1
:try_end_52
.catch Ljava/lang/Exception; {:try_start_5 .. :try_end_52} :catch_f3
.catchall {:try_start_5 .. :try_end_52} :catchall_f1
add-long/2addr v4, v8
cmp-long v3, v6, v4
const/4 v4, 0x1
const-string v5, "com.drc.paytm_example.EASYPAY_CONFIG_DOWNLOADED"
if-ltz v3, :cond_e5
const/16 v3, 0x130
if-ne v1, v3, :cond_60
goto/16 :goto_e5
.line 286
:cond_60
:try_start_60
iget-object v1, p0, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->editorETAG:Landroid/content/SharedPreferences$Editor;
invoke-interface {v1, v0, v6, v7}, Landroid/content/SharedPreferences$Editor;->putLong(Ljava/lang/String;J)Landroid/content/SharedPreferences$Editor;
.line 287
iget-object v0, p0, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->editorETAG:Landroid/content/SharedPreferences$Editor;
invoke-interface {v0}, Landroid/content/SharedPreferences$Editor;->commit()Z
.line 289
invoke-virtual {p1}, Ljava/net/HttpURLConnection;->getInputStream()Ljava/io/InputStream;
move-result-object p1
.line 290
new-instance v0, Ljava/io/BufferedInputStream;
const/16 v1, 0x1400
invoke-direct {v0, p1, v1}, Ljava/io/BufferedInputStream;-><init>(Ljava/io/InputStream;I)V
.line 292
new-instance p1, Ljava/io/File;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p0}, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->getApplicationContext()Landroid/content/Context;
move-result-object v3
invoke-virtual {v3}, Landroid/content/Context;->getFilesDir()Ljava/io/File;
move-result-object v3
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)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, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p2
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 294
invoke-virtual {p1}, Ljava/io/File;->exists()Z
move-result p2
if-eqz p2, :cond_a5
.line 296
invoke-virtual {p1}, Ljava/io/File;->delete()Z
move-result p2
iput-boolean p2, p0, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->isfileDeleted:Z
.line 298
:cond_a5
invoke-virtual {p1}, Ljava/io/File;->createNewFile()Z
move-result p2
iput-boolean p2, p0, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->isFileCreated:Z
.line 300
new-instance p2, Ljava/io/FileOutputStream;
invoke-direct {p2, p1}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
const/16 p1, 0x400
new-array p1, p1, [B
.line 304
new-instance v1, Ljava/io/ByteArrayOutputStream;
invoke-direct {v1}, Ljava/io/ByteArrayOutputStream;-><init>()V
.line 306
:goto_b9
invoke-virtual {v0, p1}, Ljava/io/BufferedInputStream;->read([B)I
move-result v3
const/4 v6, -0x1
if-eq v3, v6, :cond_c7
.line 308
invoke-virtual {v1, p1, v2, v3}, Ljava/io/ByteArrayOutputStream;->write([BII)V
.line 309
invoke-virtual {p2, p1, v2, v3}, Ljava/io/FileOutputStream;->write([BII)V
goto :goto_b9
.line 312
:cond_c7
invoke-virtual {p2}, Ljava/io/FileOutputStream;->flush()V
.line 313
invoke-virtual {p2}, Ljava/io/FileOutputStream;->close()V
.line 314
invoke-virtual {v0}, Ljava/io/BufferedInputStream;->close()V
.line 316
invoke-virtual {v1}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
move-result-object p1
.line 317
new-instance p2, Ljava/lang/String;
invoke-direct {p2, p1}, Ljava/lang/String;-><init>([B)V
.line 324
new-instance p1, Landroid/content/Intent;
invoke-direct {p1}, Landroid/content/Intent;-><init>()V
.line 325
invoke-virtual {p1, v5}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
.line 326
invoke-virtual {p0, p1}, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->sendBroadcast(Landroid/content/Intent;)V
return v4
.line 280
:cond_e5
:goto_e5
new-instance p1, Landroid/content/Intent;
invoke-direct {p1}, Landroid/content/Intent;-><init>()V
.line 281
invoke-virtual {p1, v5}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
.line 282
invoke-virtual {p0, p1}, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->sendBroadcast(Landroid/content/Intent;)V
:try_end_f0
.catch Ljava/lang/Exception; {:try_start_60 .. :try_end_f0} :catch_f3
.catchall {:try_start_60 .. :try_end_f0} :catchall_f1
return v4
:catchall_f1
move-exception p1
.line 337
throw p1
:catch_f3
return v2
.end method
.method public onCreate()V
.registers 1
.line 61
invoke-super {p0}, Landroid/app/IntentService;->onCreate()V
return-void
.end method
.method protected onHandleIntent(Landroid/content/Intent;)V
.registers 4
const-string v0, "com.paytm.com.paytm.pgsdk.easypay.PREFERENCE_FILE_KEY"
const/4 v1, 0x0
.line 69
invoke-virtual {p0, v0, v1}, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;
move-result-object v0
iput-object v0, p0, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->sharedPref:Landroid/content/SharedPreferences;
const-string v0, "ETAGPreference"
.line 70
invoke-virtual {p0, v0, v1}, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;
move-result-object v0
iput-object v0, p0, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->sharedPrefETag:Landroid/content/SharedPreferences;
.line 71
invoke-interface {v0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor;
move-result-object v0
iput-object v0, p0, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->editorETAG:Landroid/content/SharedPreferences$Editor;
.line 72
iget-object v0, p0, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->sharedPref:Landroid/content/SharedPreferences;
invoke-interface {v0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor;
move-result-object v0
iput-object v0, p0, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->mEditor:Landroid/content/SharedPreferences$Editor;
const-string v0, "enableEasyPay"
.line 73
invoke-virtual {p1, v0, v1}, Landroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z
move-result p1
iput-boolean p1, p0, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->allowEasypay:Z
.line 74
iget-object v1, p0, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->mEditor:Landroid/content/SharedPreferences$Editor;
invoke-interface {v1, v0, p1}, Landroid/content/SharedPreferences$Editor;->putBoolean(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor;
.line 75
iget-object p1, p0, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->mEditor:Landroid/content/SharedPreferences$Editor;
invoke-interface {p1}, Landroid/content/SharedPreferences$Editor;->apply()V
const/4 p1, 0x1
.line 77
iput-boolean p1, p0, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->allowEasypay:Z
.line 78
invoke-virtual {p0}, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->downloadConfigFile()V
return-void
.end method
.method public onStart(Landroid/content/Intent;I)V
.registers 3
.line 55
invoke-super {p0, p1, p2}, Landroid/app/IntentService;->onStart(Landroid/content/Intent;I)V
return-void
.end method
.method public sendAnalyticsLog()V
.registers 1
return-void
.end method
.method public setJsonDownloadListener(Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService$JsonDownloadListener;)V
.registers 2
.line 49
iput-object p1, p0, Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService;->jsonDownloadListener:Lcom/paytm/pgsdk/easypay/utils/EasypayLoaderService$JsonDownloadListener;
return-void
.end method