discord-jadx/app/src/main/java/com/discord/utilities/premium/PremiumUtils.java

421 lines
18 KiB
Java

package com.discord.utilities.premium;
import android.content.Context;
import android.view.View;
import androidx.annotation.DrawableRes;
import androidx.core.app.NotificationCompat;
import androidx.fragment.app.FragmentManager;
import c.a.k.b;
import c.d.b.a.a;
import com.android.billingclient.api.Purchase;
import com.android.billingclient.api.SkuDetails;
import com.discord.R;
import com.discord.api.guild.GuildFeature;
import com.discord.api.premium.PremiumTier;
import com.discord.app.AppLog;
import com.discord.models.domain.ModelGift;
import com.discord.models.domain.ModelSku;
import com.discord.models.domain.ModelStoreListing;
import com.discord.models.domain.ModelSubscription;
import com.discord.models.domain.premium.SubscriptionPlanType;
import com.discord.models.guild.Guild;
import com.discord.models.user.User;
import com.discord.stores.StoreGooglePlaySkuDetails;
import com.discord.stores.StoreStream;
import com.discord.utilities.analytics.Traits;
import com.discord.utilities.billing.GooglePlayBillingManager;
import com.discord.utilities.color.ColorCompat;
import com.discord.utilities.drawable.DrawableCompat;
import com.discord.utilities.font.FontUtils;
import com.discord.utilities.gifting.GiftStyle;
import com.discord.utilities.gifting.GiftStyleKt;
import com.discord.utilities.logging.Logger;
import com.discord.utilities.uri.UriHandler;
import d0.t.m0;
import d0.t.n0;
import d0.t.o0;
import d0.z.d.m;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import kotlin.Unit;
import kotlin.jvm.functions.Function1;
/* compiled from: PremiumUtils.kt */
public final class PremiumUtils {
public static final PremiumUtils INSTANCE = new PremiumUtils();
public static final int MAX_NON_PREMIUM_GUILD_COUNT = 100;
public static final int MAX_PREMIUM_GUILD_COUNT = 200;
private static final String MONTHLY_ISO8601 = "P1M";
public static final int NUM_FREE_GUILD_SUBSCRIPTIONS_WITH_PREMIUM = 2;
public static final long PREMIUM_APPLICATION_ID = 521842831262875670L;
public static final float PREMIUM_GUILD_FOR_PREMIUM_USER_DISCOUNT_PERCENT = 0.3f;
public static final float PREMIUM_YEARLY_DISCOUNT_PERCENT = 0.16f;
private static final String YEARLY_ISO8601 = "P1Y";
private static final Set<GuildFeature> tier1PremiumGuildFeatures;
private static final Set<GuildFeature> tier2PremiumGuildFeatures;
private static final Set<GuildFeature> tier3PremiumGuildFeatures;
/* compiled from: PremiumUtils.kt */
public static final class BoostFeatureBadgeData {
private final int iconColor;
private final Function1<View, Unit> onClickListener;
private final CharSequence text;
private final int textColor;
/* JADX DEBUG: Multi-variable search result rejected for r2v0, resolved type: kotlin.jvm.functions.Function1<? super android.view.View, kotlin.Unit> */
/* JADX WARN: Multi-variable type inference failed */
public BoostFeatureBadgeData(Function1<? super View, Unit> function1, int i, CharSequence charSequence, int i2) {
m.checkNotNullParameter(charSequence, NotificationCompat.MessagingStyle.Message.KEY_TEXT);
this.onClickListener = function1;
this.iconColor = i;
this.text = charSequence;
this.textColor = i2;
}
/* JADX DEBUG: Multi-variable search result rejected for r0v0, resolved type: com.discord.utilities.premium.PremiumUtils$BoostFeatureBadgeData */
/* JADX WARN: Multi-variable type inference failed */
public static /* synthetic */ BoostFeatureBadgeData copy$default(BoostFeatureBadgeData boostFeatureBadgeData, Function1 function1, int i, CharSequence charSequence, int i2, int i3, Object obj) {
if ((i3 & 1) != 0) {
function1 = boostFeatureBadgeData.onClickListener;
}
if ((i3 & 2) != 0) {
i = boostFeatureBadgeData.iconColor;
}
if ((i3 & 4) != 0) {
charSequence = boostFeatureBadgeData.text;
}
if ((i3 & 8) != 0) {
i2 = boostFeatureBadgeData.textColor;
}
return boostFeatureBadgeData.copy(function1, i, charSequence, i2);
}
public final Function1<View, Unit> component1() {
return this.onClickListener;
}
public final int component2() {
return this.iconColor;
}
public final CharSequence component3() {
return this.text;
}
public final int component4() {
return this.textColor;
}
public final BoostFeatureBadgeData copy(Function1<? super View, Unit> function1, int i, CharSequence charSequence, int i2) {
m.checkNotNullParameter(charSequence, NotificationCompat.MessagingStyle.Message.KEY_TEXT);
return new BoostFeatureBadgeData(function1, i, charSequence, i2);
}
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof BoostFeatureBadgeData)) {
return false;
}
BoostFeatureBadgeData boostFeatureBadgeData = (BoostFeatureBadgeData) obj;
return m.areEqual(this.onClickListener, boostFeatureBadgeData.onClickListener) && this.iconColor == boostFeatureBadgeData.iconColor && m.areEqual(this.text, boostFeatureBadgeData.text) && this.textColor == boostFeatureBadgeData.textColor;
}
public final int getIconColor() {
return this.iconColor;
}
public final Function1<View, Unit> getOnClickListener() {
return this.onClickListener;
}
public final CharSequence getText() {
return this.text;
}
public final int getTextColor() {
return this.textColor;
}
public int hashCode() {
Function1<View, Unit> function1 = this.onClickListener;
int i = 0;
int hashCode = (((function1 != null ? function1.hashCode() : 0) * 31) + this.iconColor) * 31;
CharSequence charSequence = this.text;
if (charSequence != null) {
i = charSequence.hashCode();
}
return ((hashCode + i) * 31) + this.textColor;
}
public String toString() {
StringBuilder R = a.R("BoostFeatureBadgeData(onClickListener=");
R.append(this.onClickListener);
R.append(", iconColor=");
R.append(this.iconColor);
R.append(", text=");
R.append(this.text);
R.append(", textColor=");
return a.A(R, this.textColor, ")");
}
}
public final /* synthetic */ class WhenMappings {
public static final /* synthetic */ int[] $EnumSwitchMapping$0;
static {
ModelSku.SkuCategory.values();
int[] iArr = new int[3];
$EnumSwitchMapping$0 = iArr;
iArr[ModelSku.SkuCategory.NITRO_CLASSIC.ordinal()] = 1;
iArr[ModelSku.SkuCategory.NITRO.ordinal()] = 2;
}
}
static {
Set<GuildFeature> of = n0.setOf((Object[]) new GuildFeature[]{GuildFeature.INVITE_SPLASH, GuildFeature.ANIMATED_ICON, GuildFeature.THREE_DAY_THREAD_ARCHIVE});
tier1PremiumGuildFeatures = of;
Set<GuildFeature> plus = o0.plus((Set) of, (Iterable) n0.setOf((Object[]) new GuildFeature[]{GuildFeature.BANNER, GuildFeature.SEVEN_DAY_THREAD_ARCHIVE, GuildFeature.PRIVATE_THREADS, GuildFeature.ROLE_ICONS}));
tier2PremiumGuildFeatures = plus;
tier3PremiumGuildFeatures = o0.plus((Set) plus, (Iterable) m0.setOf(GuildFeature.VANITY_URL));
}
private PremiumUtils() {
}
public static /* synthetic */ BoostFeatureBadgeData getBoostFeatureBadgeDataForGuildFeature$default(PremiumUtils premiumUtils, Guild guild, Long l, GuildFeature guildFeature, Context context, FragmentManager fragmentManager, Function1 function1, Traits.Location location, int i, Object obj) {
return premiumUtils.getBoostFeatureBadgeDataForGuildFeature(guild, l, guildFeature, context, fragmentManager, (i & 32) != 0 ? null : function1, (i & 64) != 0 ? null : location);
}
public final boolean doesGuildHaveEnoughBoostsForFeature(Guild guild, GuildFeature guildFeature) {
m.checkNotNullParameter(guildFeature, "feature");
int premiumTier = guild != null ? guild.getPremiumTier() : -1;
Integer minimumPremiumGuildTierForGuildFeature = getMinimumPremiumGuildTierForGuildFeature(guildFeature);
return premiumTier >= (minimumPremiumGuildTierForGuildFeature != null ? minimumPremiumGuildTierForGuildFeature.intValue() : 0);
}
public final Purchase findPurchaseForSkuName(List<? extends Purchase> list, String str) {
m.checkNotNullParameter(str, "skuName");
Object obj = null;
if (list == null) {
return null;
}
Iterator<T> it = list.iterator();
while (true) {
if (!it.hasNext()) {
break;
}
Object next = it.next();
if (((Purchase) next).b().contains(str)) {
obj = next;
break;
}
}
return (Purchase) obj;
}
public final ModelSubscription findSubscriptionForSku(List<ModelSubscription> list, String str) {
Object obj;
m.checkNotNullParameter(list, "subscriptions");
m.checkNotNullParameter(str, "skuName");
Iterator<T> it = list.iterator();
while (true) {
if (!it.hasNext()) {
obj = null;
break;
}
obj = it.next();
if (m.areEqual(((ModelSubscription) obj).getPaymentGatewayPlanId(), str)) {
break;
}
}
return (ModelSubscription) obj;
}
public final BoostFeatureBadgeData getBoostFeatureBadgeDataForGuildFeature(Guild guild, Long l, GuildFeature guildFeature, Context context, FragmentManager fragmentManager, Function1<? super View, Unit> function1, Traits.Location location) {
m.checkNotNullParameter(guildFeature, "guildFeature");
m.checkNotNullParameter(context, "context");
m.checkNotNullParameter(fragmentManager, "fragmentManager");
if (guild == null || !guild.hasFeature(guildFeature)) {
Integer minimumPremiumGuildTierForGuildFeature = getMinimumPremiumGuildTierForGuildFeature(guildFeature);
PremiumUtils$getBoostFeatureBadgeDataForGuildFeature$1 premiumUtils$getBoostFeatureBadgeDataForGuildFeature$1 = new PremiumUtils$getBoostFeatureBadgeDataForGuildFeature$1(guild, fragmentManager, minimumPremiumGuildTierForGuildFeature, location, l);
CharSequence premiumGuildTierShortText = getPremiumGuildTierShortText(context, minimumPremiumGuildTierForGuildFeature);
if (premiumGuildTierShortText == null) {
premiumGuildTierShortText = "";
}
return new BoostFeatureBadgeData(premiumUtils$getBoostFeatureBadgeDataForGuildFeature$1, ColorCompat.getThemedColor(context, (int) R.attr.colorInteractiveNormal), premiumGuildTierShortText, ColorCompat.getThemedColor(context, (int) R.attr.colorTextMuted));
}
String string = context.getString(R.string.guild_settings_premium_guild_unlocked);
m.checkNotNullExpressionValue(string, "context.getString(R.stri…s_premium_guild_unlocked)");
return new BoostFeatureBadgeData(function1, ColorCompat.getColor(context, (int) R.color.premium_guild_pink), string, ColorCompat.getThemedColor(context, (int) R.attr.colorTextNormal));
}
public final int getGuildEmojiMaxCount(int i, boolean z2) {
if (z2 && i <= 2) {
return 200;
}
if (i != 1) {
return i != 2 ? i != 3 ? 50 : 250 : FontUtils.MAX_FONT_SCALING;
}
return 100;
}
public final int getGuildEmojiMaxCount(Guild guild) {
m.checkNotNullParameter(guild, "guild");
return getGuildEmojiMaxCount(guild.getPremiumTier(), guild.getFeatures().contains(GuildFeature.MORE_EMOJI));
}
public final int getGuildMaxFileSizeMB(int i) {
if (i == 0 || i == 1) {
return 8;
}
return i != 2 ? 100 : 50;
}
public final int getGuildStickerMaxCount(int i, boolean z2) {
if (z2 && i <= 2) {
return 60;
}
if (i == 1) {
return 15;
}
if (i != 2) {
return i != 3 ? 0 : 60;
}
return 30;
}
public final int getMaxFileSizeMB(User user) {
PremiumTier premiumTier = null;
if ((user != null ? user.getPremiumTier() : null) == PremiumTier.TIER_1) {
return 50;
}
if (user != null) {
premiumTier = user.getPremiumTier();
}
return premiumTier == PremiumTier.TIER_2 ? 100 : 8;
}
public final Integer getMinimumPremiumGuildTierForGuildFeature(GuildFeature guildFeature) {
m.checkNotNullParameter(guildFeature, "guildFeature");
if (tier1PremiumGuildFeatures.contains(guildFeature)) {
return 1;
}
if (tier2PremiumGuildFeatures.contains(guildFeature)) {
return 2;
}
return tier3PremiumGuildFeatures.contains(guildFeature) ? 3 : null;
}
@DrawableRes
public final int getNitroGiftBackground(ModelGift modelGift, Context context) {
m.checkNotNullParameter(modelGift, "gift");
m.checkNotNullParameter(context, "context");
return GiftStyleKt.hasCustomStyle(modelGift) ? ColorCompat.getThemedColor(context, (int) R.attr.colorBackgroundSecondaryAlt) : DrawableCompat.getThemedDrawableRes(context, (int) R.attr.gift_nitro_splash, (int) R.drawable.img_nitro_splash_dark);
}
@DrawableRes
public final int getNitroGiftIcon(ModelGift modelGift) {
m.checkNotNullParameter(modelGift, "gift");
GiftStyle customStyle = GiftStyleKt.getCustomStyle(modelGift);
if (customStyle != null) {
return customStyle.getStaticRes();
}
ModelStoreListing storeListing = modelGift.getStoreListing();
return getNitroGiftIcon(storeListing != null ? storeListing.getSku() : null);
}
@DrawableRes
public final int getNitroGiftIcon(ModelSku modelSku) {
ModelSku.SkuCategory skuCategory = modelSku != null ? modelSku.getSkuCategory() : null;
if (skuCategory != null) {
int ordinal = skuCategory.ordinal();
if (ordinal == 1) {
return R.drawable.drawable_ic_nitro;
}
if (ordinal == 2) {
return R.drawable.drawable_ic_nitro_classic;
}
}
return 0;
}
public final CharSequence getPlanPriceText(Context context, SkuDetails skuDetails) {
m.checkNotNullParameter(context, "context");
m.checkNotNullParameter(skuDetails, "skuDetails");
String optString = skuDetails.b.optString("subscriptionPeriod");
int hashCode = optString.hashCode();
if (hashCode != 78476) {
if (hashCode == 78488 && optString.equals(YEARLY_ISO8601)) {
return b.h(context, R.string.billing_price_per_year, new Object[]{skuDetails.b()}, null, 4);
}
} else if (optString.equals(MONTHLY_ISO8601)) {
return b.h(context, R.string.billing_price_per_month, new Object[]{skuDetails.b()}, null, 4);
}
return "";
}
public final int getPremiumGuildSubscriptionCountFromSubscription(ModelSubscription modelSubscription) {
m.checkNotNullParameter(modelSubscription, "$this$getPremiumGuildSubscriptionCountFromSubscription");
return (modelSubscription.getPremiumBasePlanId() == SubscriptionPlanType.PREMIUM_MONTH_TIER_2.getPlanId() || modelSubscription.getPremiumBasePlanId() == SubscriptionPlanType.PREMIUM_YEAR_TIER_2.getPlanId()) ? 2 : 0;
}
public final CharSequence getPremiumGuildTierShortText(Context context, Integer num) {
m.checkNotNullParameter(context, "context");
if (num != null && num.intValue() == 1) {
return b.h(context, R.string.premium_guild_tier_1_short, new Object[0], null, 4);
}
if (num != null && num.intValue() == 2) {
return b.h(context, R.string.premium_guild_tier_2_short, new Object[0], null, 4);
}
if (num != null && num.intValue() == 3) {
return b.h(context, R.string.premium_guild_tier_3_short, new Object[0], null, 4);
}
return null;
}
public final String getSkuPrice(String str) {
m.checkNotNullParameter(str, "paymentGatewaySkuId");
StoreGooglePlaySkuDetails.State state = StoreStream.Companion.getGooglePlaySkuDetails().getState();
if (!(state instanceof StoreGooglePlaySkuDetails.State.Loaded)) {
Logger.w$default(AppLog.g, a.v("SkuDetails not loaded. Unable to get price for sku id ", str), null, 2, null);
return null;
}
SkuDetails skuDetails = ((StoreGooglePlaySkuDetails.State.Loaded) state).getSkuDetails().get(str);
if (skuDetails != null) {
return skuDetails.b();
}
return null;
}
public final boolean isNitroSku(ModelSku modelSku) {
m.checkNotNullParameter(modelSku, "sku");
return modelSku.getSkuCategory() == ModelSku.SkuCategory.NITRO_CLASSIC || modelSku.getSkuCategory() == ModelSku.SkuCategory.NITRO;
}
public final boolean isPremiumTierAtLeast(PremiumTier premiumTier, PremiumTier premiumTier2) {
m.checkNotNullParameter(premiumTier, "premiumTier");
m.checkNotNullParameter(premiumTier2, "minimumLevel");
return premiumTier.ordinal() >= premiumTier2.ordinal();
}
public final int microAmountToMinor(long j) {
return (int) (j / ((long) 10000));
}
public final void openAppleBilling(Context context) {
m.checkNotNullParameter(context, "context");
UriHandler.handle$default(UriHandler.INSTANCE, context, b.h(context, R.string.apple_billing_url, new Object[0], null, 4).toString(), null, 4, null);
}
public final void openGooglePlayBilling(Context context, String str) {
String str2;
m.checkNotNullParameter(context, "context");
if (str == null || (str2 = a.M(new Object[]{str, context.getPackageName()}, 2, GooglePlayBillingManager.PLAY_STORE_SUBSCRIPTION_DEEPLINK_URL, "java.lang.String.format(this, *args)")) == null) {
str2 = GooglePlayBillingManager.PLAY_STORE_SUBSCRIPTION_URL;
}
UriHandler.handle$default(UriHandler.INSTANCE, context, str2, null, 4, null);
}
}