.class public final Lcom/discord/utilities/billing/PremiumUtilsKt; .super Ljava/lang/Object; .source "PremiumUtils.kt" # static fields .field public static final ALL_PAID_PLANS:Ljava/util/Set; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Set<", "Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;", ">;" } .end annotation .end field .field public static final GRANDFATHERED_MONTHLY_END_DATE:Ljava/util/Date; .field public static final GRANDFATHERED_YEARLY_END_DATE:Ljava/util/Date; .field public static final MAX_ACCOUNT_HOLD_DAYS:I = 0x1e .field public static final MAX_INVOICE_PAYMENT_DAYS:I = 0x3 .field public static final NONE_PLANS:Ljava/util/Set; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Set<", "Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;", ">;" } .end annotation .end field .field public static final TIER_1_PLANS:Ljava/util/Set; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Set<", "Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;", ">;" } .end annotation .end field .field public static final TIER_2_PLANS:Ljava/util/Set; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Set<", "Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;", ">;" } .end annotation .end field .field public static final UPGRADE_ELIGIBILITY:Ljava/util/Map; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Map<", "Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;", "Ljava/util/Set<", "Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;", ">;>;" } .end annotation .end field # direct methods .method public static constructor ()V .locals 7 invoke-static {}, Ljava/util/Calendar;->getInstance()Ljava/util/Calendar; move-result-object v0 const/16 v1, 0x7e4 const/4 v2, 0x2 const/4 v3, 0x1 invoke-virtual {v0, v1, v2, v3}, Ljava/util/Calendar;->set(III)V const-string v1, "Calendar.getInstance().apply { set(2020, 2, 1) }" invoke-static {v0, v1}, Ly/n/c/j;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V invoke-virtual {v0}, Ljava/util/Calendar;->getTime()Ljava/util/Date; move-result-object v0 const-string v1, "Calendar.getInstance().a\u2026 { set(2020, 2, 1) }.time" invoke-static {v0, v1}, Ly/n/c/j;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V sput-object v0, Lcom/discord/utilities/billing/PremiumUtilsKt;->GRANDFATHERED_MONTHLY_END_DATE:Ljava/util/Date; invoke-static {}, Ljava/util/Calendar;->getInstance()Ljava/util/Calendar; move-result-object v0 const/16 v1, 0x7e5 const/4 v4, 0x0 invoke-virtual {v0, v1, v4, v3}, Ljava/util/Calendar;->set(III)V const-string v1, "Calendar.getInstance().apply { set(2021, 0, 1) }" invoke-static {v0, v1}, Ly/n/c/j;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V invoke-virtual {v0}, Ljava/util/Calendar;->getTime()Ljava/util/Date; move-result-object v0 const-string v1, "Calendar.getInstance().a\u2026 { set(2021, 0, 1) }.time" invoke-static {v0, v1}, Ly/n/c/j;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V sput-object v0, Lcom/discord/utilities/billing/PremiumUtilsKt;->GRANDFATHERED_YEARLY_END_DATE:Ljava/util/Date; new-array v0, v2, [Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType; sget-object v1, Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;->NONE_MONTH:Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType; aput-object v1, v0, v4 sget-object v1, Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;->NONE_YEAR:Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType; aput-object v1, v0, v3 invoke-static {v0}, Ly/i/s;->setOf([Ljava/lang/Object;)Ljava/util/Set; move-result-object v0 sput-object v0, Lcom/discord/utilities/billing/PremiumUtilsKt;->NONE_PLANS:Ljava/util/Set; new-array v0, v2, [Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType; sget-object v1, Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;->PREMIUM_MONTH_TIER_1:Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType; aput-object v1, v0, v4 sget-object v1, Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;->PREMIUM_YEAR_TIER_1:Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType; aput-object v1, v0, v3 invoke-static {v0}, Ly/i/s;->setOf([Ljava/lang/Object;)Ljava/util/Set; move-result-object v0 sput-object v0, Lcom/discord/utilities/billing/PremiumUtilsKt;->TIER_1_PLANS:Ljava/util/Set; new-array v0, v2, [Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType; sget-object v1, Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;->PREMIUM_MONTH_TIER_2:Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType; aput-object v1, v0, v4 sget-object v1, Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;->PREMIUM_YEAR_TIER_2:Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType; aput-object v1, v0, v3 invoke-static {v0}, Ly/i/s;->setOf([Ljava/lang/Object;)Ljava/util/Set; move-result-object v0 sput-object v0, Lcom/discord/utilities/billing/PremiumUtilsKt;->TIER_2_PLANS:Ljava/util/Set; sget-object v1, Lcom/discord/utilities/billing/PremiumUtilsKt;->TIER_1_PLANS:Ljava/util/Set; invoke-static {v1, v0}, Ly/i/s;->plus(Ljava/util/Set;Ljava/lang/Iterable;)Ljava/util/Set; move-result-object v0 sput-object v0, Lcom/discord/utilities/billing/PremiumUtilsKt;->ALL_PAID_PLANS:Ljava/util/Set; const/16 v1, 0x9 new-array v1, v1, [Lkotlin/Pair; sget-object v5, Lcom/discord/utilities/billing/PremiumUtilsKt;->NONE_PLANS:Ljava/util/Set; invoke-static {v5, v0}, Ly/i/s;->plus(Ljava/util/Set;Ljava/lang/Iterable;)Ljava/util/Set; move-result-object v0 new-instance v5, Lkotlin/Pair; const/4 v6, 0x0 invoke-direct {v5, v6, v0}, Lkotlin/Pair;->(Ljava/lang/Object;Ljava/lang/Object;)V aput-object v5, v1, v4 sget-object v0, Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;->NONE_MONTH:Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType; sget-object v4, Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;->NONE_YEAR:Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType; invoke-static {v4}, Lf/h/a/f/f/n/f;->setOf(Ljava/lang/Object;)Ljava/util/Set; move-result-object v4 sget-object v5, Lcom/discord/utilities/billing/PremiumUtilsKt;->ALL_PAID_PLANS:Ljava/util/Set; invoke-static {v4, v5}, Ly/i/s;->plus(Ljava/util/Set;Ljava/lang/Iterable;)Ljava/util/Set; move-result-object v4 new-instance v5, Lkotlin/Pair; invoke-direct {v5, v0, v4}, Lkotlin/Pair;->(Ljava/lang/Object;Ljava/lang/Object;)V aput-object v5, v1, v3 sget-object v0, Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;->NONE_YEAR:Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType; sget-object v3, Lcom/discord/utilities/billing/PremiumUtilsKt;->ALL_PAID_PLANS:Ljava/util/Set; new-instance v4, Lkotlin/Pair; invoke-direct {v4, v0, v3}, Lkotlin/Pair;->(Ljava/lang/Object;Ljava/lang/Object;)V aput-object v4, v1, v2 const/4 v0, 0x3 sget-object v2, Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;->PREMIUM_MONTH_LEGACY:Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType; sget-object v3, Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;->PREMIUM_YEAR_TIER_1:Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType; invoke-static {v3}, Lf/h/a/f/f/n/f;->setOf(Ljava/lang/Object;)Ljava/util/Set; move-result-object v3 sget-object v4, Lcom/discord/utilities/billing/PremiumUtilsKt;->TIER_2_PLANS:Ljava/util/Set; invoke-static {v3, v4}, Ly/i/s;->plus(Ljava/util/Set;Ljava/lang/Iterable;)Ljava/util/Set; move-result-object v3 new-instance v4, Lkotlin/Pair; invoke-direct {v4, v2, v3}, Lkotlin/Pair;->(Ljava/lang/Object;Ljava/lang/Object;)V aput-object v4, v1, v0 const/4 v0, 0x4 sget-object v2, Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;->PREMIUM_YEAR_LEGACY:Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType; sget-object v3, Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;->PREMIUM_YEAR_TIER_2:Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType; invoke-static {v3}, Lf/h/a/f/f/n/f;->setOf(Ljava/lang/Object;)Ljava/util/Set; move-result-object v3 new-instance v4, Lkotlin/Pair; invoke-direct {v4, v2, v3}, Lkotlin/Pair;->(Ljava/lang/Object;Ljava/lang/Object;)V aput-object v4, v1, v0 const/4 v0, 0x5 sget-object v2, Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;->PREMIUM_MONTH_TIER_1:Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType; sget-object v3, Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;->PREMIUM_YEAR_TIER_1:Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType; invoke-static {v3}, Lf/h/a/f/f/n/f;->setOf(Ljava/lang/Object;)Ljava/util/Set; move-result-object v3 sget-object v4, Lcom/discord/utilities/billing/PremiumUtilsKt;->TIER_2_PLANS:Ljava/util/Set; invoke-static {v3, v4}, Ly/i/s;->plus(Ljava/util/Set;Ljava/lang/Iterable;)Ljava/util/Set; move-result-object v3 new-instance v4, Lkotlin/Pair; invoke-direct {v4, v2, v3}, Lkotlin/Pair;->(Ljava/lang/Object;Ljava/lang/Object;)V aput-object v4, v1, v0 const/4 v0, 0x6 sget-object v2, Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;->PREMIUM_YEAR_TIER_1:Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType; sget-object v3, Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;->PREMIUM_YEAR_TIER_2:Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType; invoke-static {v3}, Lf/h/a/f/f/n/f;->setOf(Ljava/lang/Object;)Ljava/util/Set; move-result-object v3 new-instance v4, Lkotlin/Pair; invoke-direct {v4, v2, v3}, Lkotlin/Pair;->(Ljava/lang/Object;Ljava/lang/Object;)V aput-object v4, v1, v0 const/4 v0, 0x7 sget-object v2, Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;->PREMIUM_MONTH_TIER_2:Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType; sget-object v3, Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;->PREMIUM_YEAR_TIER_2:Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType; invoke-static {v3}, Lf/h/a/f/f/n/f;->setOf(Ljava/lang/Object;)Ljava/util/Set; move-result-object v3 new-instance v4, Lkotlin/Pair; invoke-direct {v4, v2, v3}, Lkotlin/Pair;->(Ljava/lang/Object;Ljava/lang/Object;)V aput-object v4, v1, v0 const/16 v0, 0x8 sget-object v2, Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;->PREMIUM_YEAR_TIER_2:Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType; sget-object v3, Ly/i/n;->d:Ly/i/n; new-instance v4, Lkotlin/Pair; invoke-direct {v4, v2, v3}, Lkotlin/Pair;->(Ljava/lang/Object;Ljava/lang/Object;)V aput-object v4, v1, v0 invoke-static {v1}, Lf/h/a/f/f/n/f;->mapOf([Lkotlin/Pair;)Ljava/util/Map; move-result-object v0 sput-object v0, Lcom/discord/utilities/billing/PremiumUtilsKt;->UPGRADE_ELIGIBILITY:Ljava/util/Map; return-void .end method .method public static final getFormattedPrice(ILandroid/content/Context;)Ljava/lang/CharSequence; .locals 1 const-string v0, "context" invoke-static {p1, v0}, Ly/n/c/j;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V int-to-float p0, p0 const/16 v0, 0x64 int-to-float v0, v0 div-float/2addr p0, v0 new-instance v0, Lcom/discord/utilities/locale/LocaleManager; invoke-direct {v0}, Lcom/discord/utilities/locale/LocaleManager;->()V invoke-virtual {v0, p1}, Lcom/discord/utilities/locale/LocaleManager;->getPrimaryLocale(Landroid/content/Context;)Ljava/util/Locale; move-result-object p1 invoke-static {p1}, Ljava/text/NumberFormat;->getCurrencyInstance(Ljava/util/Locale;)Ljava/text/NumberFormat; move-result-object p1 const-string v0, "USD" invoke-static {v0}, Ljava/util/Currency;->getInstance(Ljava/lang/String;)Ljava/util/Currency; move-result-object v0 invoke-virtual {p1, v0}, Ljava/text/NumberFormat;->setCurrency(Ljava/util/Currency;)V invoke-static {p0}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float; move-result-object p0 invoke-virtual {p1, p0}, Ljava/text/NumberFormat;->format(Ljava/lang/Object;)Ljava/lang/String; move-result-object p0 const-string p1, "numberFormat.format(priceUsdDollars)" invoke-static {p0, p1}, Ly/n/c/j;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V return-object p0 .end method .method public static final getGRANDFATHERED_MONTHLY_END_DATE()Ljava/util/Date; .locals 1 sget-object v0, Lcom/discord/utilities/billing/PremiumUtilsKt;->GRANDFATHERED_MONTHLY_END_DATE:Ljava/util/Date; return-object v0 .end method .method public static final getGRANDFATHERED_YEARLY_END_DATE()Ljava/util/Date; .locals 1 sget-object v0, Lcom/discord/utilities/billing/PremiumUtilsKt;->GRANDFATHERED_YEARLY_END_DATE:Ljava/util/Date; return-object v0 .end method .method public static final getPaymentSourceIcon(Lcom/discord/models/domain/ModelPaymentSource;)I .locals 2 .annotation build Landroid/annotation/SuppressLint; value = { "DefaultLocale" } .end annotation .annotation build Landroidx/annotation/DrawableRes; .end annotation const-string v0, "paymentSource" invoke-static {p0, v0}, Ly/n/c/j;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V instance-of v0, p0, Lcom/discord/models/domain/ModelPaymentSource$ModelPaymentSourcePaypal; const v1, 0x7f0802bd if-eqz v0, :cond_0 const v1, 0x7f0802bf goto/16 :goto_2 :cond_0 instance-of v0, p0, Lcom/discord/models/domain/ModelPaymentSource$ModelPaymentSourceCard; if-eqz v0, :cond_2 check-cast p0, Lcom/discord/models/domain/ModelPaymentSource$ModelPaymentSourceCard; invoke-virtual {p0}, Lcom/discord/models/domain/ModelPaymentSource$ModelPaymentSourceCard;->getBrand()Ljava/lang/String; move-result-object p0 if-eqz p0, :cond_1 invoke-virtual {p0}, Ljava/lang/String;->toLowerCase()Ljava/lang/String; move-result-object p0 const-string v0, "(this as java.lang.String).toLowerCase()" invoke-static {p0, v0}, Ly/n/c/j;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V invoke-virtual {p0}, Ljava/lang/String;->hashCode()I move-result v0 sparse-switch v0, :sswitch_data_0 goto :goto_2 :sswitch_0 const-string v0, "master-card" invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result p0 if-eqz p0, :cond_2 goto :goto_1 :sswitch_1 const-string v0, "discover" invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result p0 if-eqz p0, :cond_2 const v1, 0x7f0802bc goto :goto_2 :sswitch_2 const-string v0, "american-express" invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result p0 if-eqz p0, :cond_2 goto :goto_0 :sswitch_3 const-string/jumbo v0, "visa" invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result p0 if-eqz p0, :cond_2 const v1, 0x7f0802c0 goto :goto_2 :sswitch_4 const-string v0, "amex" invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result p0 if-eqz p0, :cond_2 :goto_0 const v1, 0x7f0802bb goto :goto_2 :sswitch_5 const-string v0, "mastercard" invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result p0 if-eqz p0, :cond_2 :goto_1 const v1, 0x7f0802be goto :goto_2 :cond_1 new-instance p0, Ljava/lang/NullPointerException; const-string v0, "null cannot be cast to non-null type java.lang.String" invoke-direct {p0, v0}, Ljava/lang/NullPointerException;->(Ljava/lang/String;)V throw p0 :cond_2 :goto_2 return v1 :sswitch_data_0 .sparse-switch -0x79845b8e -> :sswitch_5 0x2dbddf -> :sswitch_4 0x373c41 -> :sswitch_3 0x3a3b6c3 -> :sswitch_2 0x104877e9 -> :sswitch_1 0x46009f9b -> :sswitch_0 .end sparse-switch .end method .method public static final getUPGRADE_ELIGIBILITY()Ljava/util/Map; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Map<", "Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;", "Ljava/util/Set<", "Lcom/discord/models/domain/ModelSubscriptionPlan$SubscriptionPlanType;", ">;>;" } .end annotation sget-object v0, Lcom/discord/utilities/billing/PremiumUtilsKt;->UPGRADE_ELIGIBILITY:Ljava/util/Map; return-object v0 .end method