TokenParser.smali
.class public Lcom/stripe/android/net/TokenParser;
.super Ljava/lang/Object;
.source "TokenParser.java"
# static fields
.field private static final FIELD_CARD:Ljava/lang/String; = "card"
.field private static final FIELD_CREATED:Ljava/lang/String; = "created"
.field private static final FIELD_ID:Ljava/lang/String; = "id"
.field private static final FIELD_LIVEMODE:Ljava/lang/String; = "livemode"
.field private static final FIELD_TYPE:Ljava/lang/String; = "type"
.field private static final FIELD_USED:Ljava/lang/String; = "used"
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 16
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static parseToken(Ljava/lang/String;)Lcom/stripe/android/model/Token;
.registers 18
.param p0, "jsonToken" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;
}
.end annotation
.line 26
new-instance v0, Lorg/json/JSONObject;
move-object/from16 v1, p0
invoke-direct {v0, v1}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
.line 27
.local v0, "jsonObject":Lorg/json/JSONObject;
const-string v2, "id"
invoke-static {v0, v2}, Lcom/stripe/android/util/StripeJsonUtils;->getString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 28
.local v2, "tokenId":Ljava/lang/String;
const-string v3, "created"
invoke-virtual {v0, v3}, Lorg/json/JSONObject;->getLong(Ljava/lang/String;)J
move-result-wide v3
invoke-static {v3, v4}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v10
.line 29
.local v10, "createdTimeStamp":Ljava/lang/Long;
const-string v3, "livemode"
invoke-virtual {v0, v3}, Lorg/json/JSONObject;->getBoolean(Ljava/lang/String;)Z
move-result v3
invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v11
.line 30
.local v11, "liveMode":Ljava/lang/Boolean;
nop
.line 31
const-string/jumbo v3, "type"
invoke-static {v0, v3}, Lcom/stripe/android/util/StripeJsonUtils;->getString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Lcom/stripe/android/util/StripeTextUtils;->asTokenType(Ljava/lang/String;)Ljava/lang/String;
move-result-object v12
.line 32
.local v12, "tokenType":Ljava/lang/String;
const-string/jumbo v3, "used"
invoke-virtual {v0, v3}, Lorg/json/JSONObject;->getBoolean(Ljava/lang/String;)Z
move-result v3
invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v13
.line 34
.local v13, "used":Ljava/lang/Boolean;
const-string v3, "card"
invoke-virtual {v0, v3}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;
move-result-object v14
.line 35
.local v14, "cardObject":Lorg/json/JSONObject;
invoke-static {v14}, Lcom/stripe/android/net/CardParser;->parseCard(Lorg/json/JSONObject;)Lcom/stripe/android/model/Card;
move-result-object v15
.line 37
.local v15, "card":Lcom/stripe/android/model/Card;
new-instance v6, Ljava/util/Date;
invoke-virtual {v10}, Ljava/lang/Long;->longValue()J
move-result-wide v3
const-wide/16 v7, 0x3e8
mul-long v3, v3, v7
invoke-direct {v6, v3, v4}, Ljava/util/Date;-><init>(J)V
.line 39
.local v6, "date":Ljava/util/Date;
new-instance v16, Lcom/stripe/android/model/Token;
invoke-virtual {v11}, Ljava/lang/Boolean;->booleanValue()Z
move-result v5
move-object/from16 v3, v16
move-object v4, v2
move-object v7, v13
move-object v8, v15
move-object v9, v12
invoke-direct/range {v3 .. v9}, Lcom/stripe/android/model/Token;-><init>(Ljava/lang/String;ZLjava/util/Date;Ljava/lang/Boolean;Lcom/stripe/android/model/Card;Ljava/lang/String;)V
return-object v16
.end method