package com.discord.utilities.premium; import com.discord.app.AppLog; import com.discord.models.domain.ModelSubscription; import com.discord.models.domain.premium.SubscriptionPlanType; import com.discord.models.experiments.domain.Experiment; import com.discord.stores.StorePremiumGuildSubscription; import com.discord.stores.StoreStream; import com.discord.utilities.analytics.Traits; import com.discord.utilities.logging.Logger; import com.discord.utilities.rest.RestAPI; import d0.t.n; import d0.t.u; import d0.z.d.m; import j0.p.a; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.List; import rx.Observable; /* compiled from: PremiumGuildSubscriptionUtils.kt */ public final class PremiumGuildSubscriptionUtils { public static final int DEFAULT_GUILD_SUBSCRIPTION_GUILD_COUNT = 1; public static final int DEFAULT_GUILD_SUBSCRIPTION_SLOT_COUNT = 1; public static final PremiumGuildSubscriptionUtils INSTANCE = new PremiumGuildSubscriptionUtils(); public static final int PREMIUM_SUBSCRIPTION_COOLDOWN_DAYS = 7; /* compiled from: PremiumGuildSubscriptionUtils.kt */ public enum ModifySubscriptionSlotResult { SUCCESS, FAILURE_MODIFYING_SLOT, FAILURE_UPDATING_SUBSCRIPTION } private PremiumGuildSubscriptionUtils() { } private final int getCurrentTierSubs(int i) { if (i == 1) { return 2; } if (i != 2) { return i != 3 ? 0 : 30; } return 15; } private final int getNextTierSubs(int i) { if (i == 1) { return 15; } if (i != 2) { return i != 3 ? 2 : 0; } return 30; } private final Observable modifySubscriptionSlot(RestAPI restAPI, long j, ModelSubscription modelSubscription, boolean z2, StorePremiumGuildSubscription storePremiumGuildSubscription) { Observable z3 = (z2 ? restAPI.cancelSubscriptionSlot(j) : restAPI.uncancelSubscriptionSlot(j)).W(a.c()).t(new PremiumGuildSubscriptionUtils$modifySubscriptionSlot$1(storePremiumGuildSubscription)).F(PremiumGuildSubscriptionUtils$modifySubscriptionSlot$2.INSTANCE).L(PremiumGuildSubscriptionUtils$modifySubscriptionSlot$3.INSTANCE).z(new PremiumGuildSubscriptionUtils$modifySubscriptionSlot$4(restAPI, modelSubscription, z2)); m.checkNotNullExpressionValue(z3, "apiObs\n .subscrib…N }\n }\n }"); return z3; } /* JADX DEBUG: Multi-variable search result rejected for r5v8, resolved type: java.lang.Object */ /* JADX WARN: Multi-variable type inference failed */ public final List calculateAdditionalPlansWithPremiumGuildAdjustment(ModelSubscription modelSubscription, int i) { List list; boolean z2; m.checkNotNullParameter(modelSubscription, Traits.Payment.Type.SUBSCRIPTION); ModelSubscription.SubscriptionRenewalMutations renewalMutations = modelSubscription.getRenewalMutations(); if (renewalMutations == null) { list = modelSubscription.getPremiumAdditionalPlans(); } else { list = renewalMutations.getPremiumAdditionalPlans(); if (list == null) { list = n.emptyList(); } } ModelSubscription.SubscriptionAdditionalPlan subscriptionAdditionalPlan = null; if (list != null) { Iterator it = list.iterator(); while (true) { if (!it.hasNext()) { break; } Object next = it.next(); ModelSubscription.SubscriptionAdditionalPlan subscriptionAdditionalPlan2 = (ModelSubscription.SubscriptionAdditionalPlan) next; if (subscriptionAdditionalPlan2.getPlanId() == SubscriptionPlanType.PREMIUM_GUILD_MONTH.getPlanId() || subscriptionAdditionalPlan2.getPlanId() == SubscriptionPlanType.PREMIUM_GUILD_YEAR.getPlanId()) { z2 = true; continue; } else { z2 = false; continue; } if (z2) { subscriptionAdditionalPlan = next; break; } } subscriptionAdditionalPlan = subscriptionAdditionalPlan; } int quantity = (subscriptionAdditionalPlan != null ? subscriptionAdditionalPlan.getQuantity() : 0) + i; if (quantity < 0 || subscriptionAdditionalPlan == null) { AppLog appLog = AppLog.g; Logger.e$default(appLog, "Error calculating additional_plans adjustment, new sub count:" + quantity, null, null, 6, null); return modelSubscription.getPremiumAdditionalPlans(); } ArrayList arrayList = new ArrayList(); for (Object obj : list) { ModelSubscription.SubscriptionAdditionalPlan subscriptionAdditionalPlan3 = (ModelSubscription.SubscriptionAdditionalPlan) obj; if ((subscriptionAdditionalPlan3.getPlanId() == SubscriptionPlanType.PREMIUM_GUILD_MONTH.getPlanId() || subscriptionAdditionalPlan3.getPlanId() == SubscriptionPlanType.PREMIUM_GUILD_YEAR.getPlanId()) ? false : true) { arrayList.add(obj); } } return quantity == 0 ? arrayList : u.plus((Collection) arrayList, (Iterable) d0.t.m.listOf(new ModelSubscription.SubscriptionAdditionalPlan(subscriptionAdditionalPlan.getPlanId(), quantity))); } public final int calculatePercentToNextTier(int i, int i2) { if (i >= 3) { return 100; } return d0.a0.a.roundToInt((((float) (i2 - getCurrentTierSubs(i))) / ((float) getNextTierSubs(i))) * ((float) 100)); } public final int calculateTotalProgress(int i, int i2) { if (i >= 3) { return 100; } int nextTierSubs = getNextTierSubs(i); int currentTierSubs = getCurrentTierSubs(i); return d0.a0.a.roundToInt(((((float) (i2 - currentTierSubs)) / ((float) (nextTierSubs - currentTierSubs))) * 33.3f) + (((float) i) * 33.3f)); } public final Observable cancelSubscriptionSlot(RestAPI restAPI, long j, ModelSubscription modelSubscription, StorePremiumGuildSubscription storePremiumGuildSubscription) { m.checkNotNullParameter(restAPI, "api"); m.checkNotNullParameter(modelSubscription, Traits.Payment.Type.SUBSCRIPTION); m.checkNotNullParameter(storePremiumGuildSubscription, "storePremiumGuild"); return modifySubscriptionSlot(restAPI, j, modelSubscription, true, storePremiumGuildSubscription); } public final int getPremiumGuildTier(long j, int i) { if (i >= getTierThresholdForTierAndGuild(3, j)) { return 3; } if (i >= getTierThresholdForTierAndGuild(2, j)) { return 2; } return i >= getTierThresholdForTierAndGuild(1, j) ? 1 : 0; } public final int getTierThresholdForTierAndGuild(int i, long j) { Experiment guildExperiment = StoreStream.Companion.getExperiments().getGuildExperiment("2021-09_repositioning_tier_thresholds", j, true); if (guildExperiment != null && guildExperiment.getBucket() == 1) { if (i == 1) { return 2; } if (i != 2) { return i != 3 ? 0 : 14; } return 7; } else if (i == 1) { return 2; } else { if (i != 2) { return i != 3 ? 0 : 30; } return 15; } } public final Observable uncancelSubscriptionSlot(RestAPI restAPI, long j, ModelSubscription modelSubscription, StorePremiumGuildSubscription storePremiumGuildSubscription) { m.checkNotNullParameter(restAPI, "api"); m.checkNotNullParameter(modelSubscription, Traits.Payment.Type.SUBSCRIPTION); m.checkNotNullParameter(storePremiumGuildSubscription, "storePremiumGuild"); return modifySubscriptionSlot(restAPI, j, modelSubscription, false, storePremiumGuildSubscription); } }