StripeTextUtils.smali

.class public Lcom/stripe/android/util/StripeTextUtils;
.super Ljava/lang/Object;
.source "StripeTextUtils.java"


# direct methods
.method static constructor <clinit>()V
    .registers 1

    return-void
.end method

.method public constructor <init>()V
    .registers 1

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

    return-void
.end method

.method public static asCardBrand(Ljava/lang/String;)Ljava/lang/String;
    .registers 3
    .param p0, "possibleCardType"    # Ljava/lang/String;

    .line 92
    invoke-static {p0}, Lcom/stripe/android/util/StripeTextUtils;->isBlank(Ljava/lang/String;)Z

    move-result v0

    if-eqz v0, :cond_8

    .line 93
    const/4 v0, 0x0

    return-object v0

    .line 96
    :cond_8
    const-string v0, "American Express"

    invoke-virtual {v0, p0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_11

    .line 97
    return-object v0

    .line 98
    :cond_11
    const-string v0, "MasterCard"

    invoke-virtual {v0, p0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_1a

    .line 99
    return-object v0

    .line 100
    :cond_1a
    const-string v0, "Diners Club"

    invoke-virtual {v0, p0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_23

    .line 101
    return-object v0

    .line 102
    :cond_23
    const-string v0, "Discover"

    invoke-virtual {v0, p0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_2c

    .line 103
    return-object v0

    .line 104
    :cond_2c
    const-string v0, "JCB"

    invoke-virtual {v0, p0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_35

    .line 105
    return-object v0

    .line 106
    :cond_35
    const-string v0, "Visa"

    invoke-virtual {v0, p0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_3e

    .line 107
    return-object v0

    .line 109
    :cond_3e
    const-string v0, "Unknown"

    return-object v0
.end method

.method public static asFundingType(Ljava/lang/String;)Ljava/lang/String;
    .registers 3
    .param p0, "possibleFundingType"    # Ljava/lang/String;

    .line 122
    invoke-static {p0}, Lcom/stripe/android/util/StripeTextUtils;->isBlank(Ljava/lang/String;)Z

    move-result v0

    if-eqz v0, :cond_8

    .line 123
    const/4 v0, 0x0

    return-object v0

    .line 126
    :cond_8
    const-string v0, "credit"

    invoke-virtual {v0, p0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_11

    .line 127
    return-object v0

    .line 128
    :cond_11
    const-string v0, "debit"

    invoke-virtual {v0, p0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_1a

    .line 129
    return-object v0

    .line 130
    :cond_1a
    const-string v0, "prepaid"

    invoke-virtual {v0, p0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_23

    .line 131
    return-object v0

    .line 133
    :cond_23
    const-string/jumbo v0, "unknown"

    return-object v0
.end method

.method public static asTokenType(Ljava/lang/String;)Ljava/lang/String;
    .registers 3
    .param p0, "possibleTokenType"    # Ljava/lang/String;

    .line 147
    const-string v0, "card"

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

    move-result v1

    if-eqz v1, :cond_9

    .line 148
    return-object v0

    .line 150
    :cond_9
    const/4 v0, 0x0

    return-object v0
.end method

.method public static varargs hasAnyPrefix(Ljava/lang/String;[Ljava/lang/String;)Z
    .registers 7
    .param p0, "number"    # Ljava/lang/String;
    .param p1, "prefixes"    # [Ljava/lang/String;

    .line 25
    const/4 v0, 0x0

    if-nez p0, :cond_4

    .line 26
    return v0

    .line 29
    :cond_4
    array-length v1, p1

    const/4 v2, 0x0

    :goto_6
    if-ge v2, v1, :cond_15

    aget-object v3, p1, v2

    .line 30
    .local v3, "prefix":Ljava/lang/String;
    invoke-virtual {p0, v3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

    move-result v4

    if-eqz v4, :cond_12

    .line 31
    const/4 v0, 0x1

    return v0

    .line 29
    .end local v3    # "prefix":Ljava/lang/String;
    :cond_12
    add-int/lit8 v2, v2, 0x1

    goto :goto_6

    .line 34
    :cond_15
    return v0
.end method

.method public static isBlank(Ljava/lang/String;)Z
    .registers 2
    .param p0, "value"    # Ljava/lang/String;

    .line 80
    if-eqz p0, :cond_f

    invoke-virtual {p0}, Ljava/lang/String;->trim()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/String;->length()I

    move-result v0

    if-nez v0, :cond_d

    goto :goto_f

    :cond_d
    const/4 v0, 0x0

    goto :goto_10

    :cond_f
    :goto_f
    const/4 v0, 0x1

    :goto_10
    return v0
.end method

.method public static isWholePositiveNumber(Ljava/lang/String;)Z
    .registers 4
    .param p0, "value"    # Ljava/lang/String;

    .line 44
    const/4 v0, 0x0

    if-nez p0, :cond_4

    .line 45
    return v0

    .line 50
    :cond_4
    const/4 v1, 0x0

    .local v1, "i":I
    :goto_5
    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v2

    if-ge v1, v2, :cond_19

    .line 51
    invoke-virtual {p0, v1}, Ljava/lang/String;->charAt(I)C

    move-result v2

    invoke-static {v2}, Ljava/lang/Character;->isDigit(C)Z

    move-result v2

    if-nez v2, :cond_16

    .line 52
    return v0

    .line 50
    :cond_16
    add-int/lit8 v1, v1, 0x1

    goto :goto_5

    .line 55
    .end local v1    # "i":I
    :cond_19
    const/4 v0, 0x1

    return v0
.end method

.method public static nullIfBlank(Ljava/lang/String;)Ljava/lang/String;
    .registers 2
    .param p0, "value"    # Ljava/lang/String;

    .line 65
    invoke-static {p0}, Lcom/stripe/android/util/StripeTextUtils;->isBlank(Ljava/lang/String;)Z

    move-result v0

    if-eqz v0, :cond_8

    .line 66
    const/4 v0, 0x0

    return-object v0

    .line 68
    :cond_8
    return-object p0
.end method