140 lines
6.3 KiB
Java
140 lines
6.3 KiB
Java
package com.discord.utilities.experiments;
|
|
|
|
import com.discord.api.guild.GuildFeature;
|
|
import com.discord.models.experiments.domain.ExperimentHash;
|
|
import com.discord.models.experiments.dto.GuildExperimentBucketDto;
|
|
import com.discord.models.experiments.dto.GuildExperimentDto;
|
|
import com.discord.models.experiments.dto.GuildExperimentFilter;
|
|
import com.discord.models.experiments.dto.GuildExperimentOverridesDto;
|
|
import com.discord.models.experiments.dto.GuildExperimentPopulationDto;
|
|
import com.discord.models.guild.Guild;
|
|
import d0.d0.f;
|
|
import d0.z.d.m;
|
|
import java.util.Collection;
|
|
import java.util.Iterator;
|
|
import java.util.List;
|
|
import java.util.Set;
|
|
import kotlin.ranges.IntRange;
|
|
/* compiled from: ExperimentUtils.kt */
|
|
public final class ExperimentUtils {
|
|
public static final int BUCKET_NOT_ELIGIBLE = -1;
|
|
public static final ExperimentUtils INSTANCE = new ExperimentUtils();
|
|
|
|
private ExperimentUtils() {
|
|
}
|
|
|
|
/* JADX WARNING: Removed duplicated region for block: B:102:0x0145 A[EDGE_INSN: B:102:0x0145->B:70:0x0145 ?: BREAK , SYNTHETIC] */
|
|
/* JADX WARNING: Removed duplicated region for block: B:89:0x0095 A[SYNTHETIC] */
|
|
/* JADX WARNING: Removed duplicated region for block: B:96:0x0074 A[SYNTHETIC] */
|
|
public final int computeGuildExperimentBucket(String str, long j, int i, Guild guild, GuildExperimentDto guildExperimentDto) {
|
|
Object obj;
|
|
boolean z2;
|
|
boolean z3;
|
|
boolean z4;
|
|
boolean z5;
|
|
m.checkNotNullParameter(str, "experimentName");
|
|
m.checkNotNullParameter(guildExperimentDto, "experiment");
|
|
for (GuildExperimentOverridesDto guildExperimentOverridesDto : guildExperimentDto.getOverrides()) {
|
|
if (guildExperimentOverridesDto.getGuilds().contains(Long.valueOf(j))) {
|
|
return guildExperimentOverridesDto.getBucket();
|
|
}
|
|
}
|
|
StringBuilder sb = new StringBuilder();
|
|
String hashKey = guildExperimentDto.getHashKey();
|
|
if (hashKey != null) {
|
|
str = hashKey;
|
|
}
|
|
sb.append(str);
|
|
sb.append(':');
|
|
sb.append(j);
|
|
long from = ExperimentHash.INSTANCE.from(sb.toString()) % ((long) 10000);
|
|
for (GuildExperimentPopulationDto guildExperimentPopulationDto : guildExperimentDto.getPopulations()) {
|
|
boolean z6 = true;
|
|
for (GuildExperimentFilter guildExperimentFilter : guildExperimentPopulationDto.getFilters()) {
|
|
if (guildExperimentFilter instanceof GuildExperimentFilter.GuildIdsFilter) {
|
|
if (!((GuildExperimentFilter.GuildIdsFilter) guildExperimentFilter).getGuildIds().contains(Long.valueOf(j))) {
|
|
}
|
|
} else if (guildExperimentFilter instanceof GuildExperimentFilter.GuildIdRangeFilter) {
|
|
if (!((GuildExperimentFilter.GuildIdRangeFilter) guildExperimentFilter).getRange().contains(j)) {
|
|
}
|
|
} else if (guildExperimentFilter instanceof GuildExperimentFilter.GuildMemberCountRangeFilter) {
|
|
if (!f.longRangeContains(((GuildExperimentFilter.GuildMemberCountRangeFilter) guildExperimentFilter).getRange(), i)) {
|
|
}
|
|
} else if (guildExperimentFilter instanceof GuildExperimentFilter.GuildHasFeatureFilter) {
|
|
Set<GuildFeature> features = ((GuildExperimentFilter.GuildHasFeatureFilter) guildExperimentFilter).getFeatures();
|
|
if (!(features instanceof Collection) || !features.isEmpty()) {
|
|
Iterator<T> it = features.iterator();
|
|
while (true) {
|
|
if (!it.hasNext()) {
|
|
break;
|
|
}
|
|
GuildFeature guildFeature = (GuildFeature) it.next();
|
|
if (guild == null || !guild.hasFeature(guildFeature)) {
|
|
z5 = false;
|
|
continue;
|
|
} else {
|
|
z5 = true;
|
|
continue;
|
|
}
|
|
if (z5) {
|
|
z4 = false;
|
|
break;
|
|
}
|
|
}
|
|
if (!z4) {
|
|
}
|
|
}
|
|
z4 = true;
|
|
if (!z4) {
|
|
}
|
|
}
|
|
z6 = false;
|
|
}
|
|
if (z6) {
|
|
Iterator<T> it2 = guildExperimentPopulationDto.getBuckets().iterator();
|
|
while (true) {
|
|
if (!it2.hasNext()) {
|
|
obj = null;
|
|
break;
|
|
}
|
|
obj = it2.next();
|
|
List<IntRange> positions = ((GuildExperimentBucketDto) obj).getPositions();
|
|
if (!(positions instanceof Collection) || !positions.isEmpty()) {
|
|
Iterator<T> it3 = positions.iterator();
|
|
while (true) {
|
|
if (!it3.hasNext()) {
|
|
break;
|
|
}
|
|
IntRange intRange = (IntRange) it3.next();
|
|
if (from < ((long) intRange.getFirst()) || from >= ((long) intRange.getLast())) {
|
|
z3 = false;
|
|
continue;
|
|
} else {
|
|
z3 = true;
|
|
continue;
|
|
}
|
|
if (z3) {
|
|
z2 = true;
|
|
continue;
|
|
break;
|
|
}
|
|
}
|
|
if (z2) {
|
|
break;
|
|
}
|
|
}
|
|
z2 = false;
|
|
continue;
|
|
if (z2) {
|
|
}
|
|
}
|
|
GuildExperimentBucketDto guildExperimentBucketDto = (GuildExperimentBucketDto) obj;
|
|
if (guildExperimentBucketDto != null) {
|
|
return guildExperimentBucketDto.getBucket();
|
|
}
|
|
return 0;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
}
|