Files

248 lines
10 KiB
Java

package com.google.firebase.remoteconfig.internal;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
/* loaded from: classes3.dex */
public class ConfigContainer {
static final String ABT_EXPERIMENTS_KEY = "abt_experiments_key";
static final String CONFIGS_KEY = "configs_key";
private static final Date DEFAULTS_FETCH_TIME = new Date(0);
static final String FETCH_TIME_KEY = "fetch_time_key";
static final String PERSONALIZATION_METADATA_KEY = "personalization_metadata_key";
public static final String ROLLOUT_METADATA_AFFECTED_KEYS = "affectedParameterKeys";
public static final String ROLLOUT_METADATA_ID = "rolloutId";
static final String ROLLOUT_METADATA_KEY = "rollout_metadata_key";
public static final String ROLLOUT_METADATA_VARIANT_ID = "variantId";
static final String TEMPLATE_VERSION_NUMBER_KEY = "template_version_number_key";
private JSONArray abtExperiments;
private JSONObject configsJson;
private JSONObject containerJson;
private Date fetchTime;
private JSONObject personalizationMetadata;
private JSONArray rolloutMetadata;
private long templateVersionNumber;
/* loaded from: classes3.dex */
public static class Builder {
private JSONArray builderAbtExperiments;
private JSONObject builderConfigsJson;
private Date builderFetchTime;
private JSONObject builderPersonalizationMetadata;
private JSONArray builderRolloutMetadata;
private long builderTemplateVersionNumber;
public ConfigContainer build() throws JSONException {
return new ConfigContainer(this.builderConfigsJson, this.builderFetchTime, this.builderAbtExperiments, this.builderPersonalizationMetadata, this.builderTemplateVersionNumber, this.builderRolloutMetadata);
}
public Builder replaceConfigsWith(Map<String, String> map) {
this.builderConfigsJson = new JSONObject(map);
return this;
}
public Builder withAbtExperiments(JSONArray jSONArray) {
try {
this.builderAbtExperiments = new JSONArray(jSONArray.toString());
} catch (JSONException unused) {
}
return this;
}
public Builder withFetchTime(Date date) {
this.builderFetchTime = date;
return this;
}
public Builder withPersonalizationMetadata(JSONObject jSONObject) {
try {
this.builderPersonalizationMetadata = new JSONObject(jSONObject.toString());
} catch (JSONException unused) {
}
return this;
}
public Builder withRolloutMetadata(JSONArray jSONArray) {
try {
this.builderRolloutMetadata = new JSONArray(jSONArray.toString());
} catch (JSONException unused) {
}
return this;
}
public Builder withTemplateVersionNumber(long j4) {
this.builderTemplateVersionNumber = j4;
return this;
}
private Builder() {
this.builderConfigsJson = new JSONObject();
this.builderFetchTime = ConfigContainer.DEFAULTS_FETCH_TIME;
this.builderAbtExperiments = new JSONArray();
this.builderPersonalizationMetadata = new JSONObject();
this.builderTemplateVersionNumber = 0L;
this.builderRolloutMetadata = new JSONArray();
}
public Builder replaceConfigsWith(JSONObject jSONObject) {
try {
this.builderConfigsJson = new JSONObject(jSONObject.toString());
} catch (JSONException unused) {
}
return this;
}
public Builder(ConfigContainer configContainer) {
this.builderConfigsJson = configContainer.getConfigs();
this.builderFetchTime = configContainer.getFetchTime();
this.builderAbtExperiments = configContainer.getAbtExperiments();
this.builderPersonalizationMetadata = configContainer.getPersonalizationMetadata();
this.builderTemplateVersionNumber = configContainer.getTemplateVersionNumber();
this.builderRolloutMetadata = configContainer.getRolloutMetadata();
}
}
public static ConfigContainer copyOf(JSONObject jSONObject) throws JSONException {
JSONObject optJSONObject = jSONObject.optJSONObject(PERSONALIZATION_METADATA_KEY);
if (optJSONObject == null) {
optJSONObject = new JSONObject();
}
JSONObject jSONObject2 = optJSONObject;
JSONArray optJSONArray = jSONObject.optJSONArray(ROLLOUT_METADATA_KEY);
if (optJSONArray == null) {
optJSONArray = new JSONArray();
}
return new ConfigContainer(jSONObject.getJSONObject(CONFIGS_KEY), new Date(jSONObject.getLong(FETCH_TIME_KEY)), jSONObject.getJSONArray(ABT_EXPERIMENTS_KEY), jSONObject2, jSONObject.optLong(TEMPLATE_VERSION_NUMBER_KEY), optJSONArray);
}
private Map<String, Map<String, String>> createRolloutParameterKeyMap() throws JSONException {
HashMap hashMap = new HashMap();
for (int i = 0; i < getRolloutMetadata().length(); i++) {
JSONObject jSONObject = getRolloutMetadata().getJSONObject(i);
String string = jSONObject.getString(ROLLOUT_METADATA_ID);
String string2 = jSONObject.getString("variantId");
JSONArray jSONArray = jSONObject.getJSONArray(ROLLOUT_METADATA_AFFECTED_KEYS);
for (int i4 = 0; i4 < jSONArray.length(); i4++) {
String string3 = jSONArray.getString(i4);
if (!hashMap.containsKey(string3)) {
hashMap.put(string3, new HashMap());
}
Map map = (Map) hashMap.get(string3);
if (map != null) {
map.put(string, string2);
}
}
}
return hashMap;
}
private static ConfigContainer deepCopyOf(JSONObject jSONObject) throws JSONException {
return copyOf(new JSONObject(jSONObject.toString()));
}
public static Builder newBuilder() {
return new Builder();
}
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj instanceof ConfigContainer) {
return this.containerJson.toString().equals(((ConfigContainer) obj).toString());
}
return false;
}
public JSONArray getAbtExperiments() {
return this.abtExperiments;
}
public Set<String> getChangedParams(ConfigContainer configContainer) throws JSONException {
JSONObject configs = deepCopyOf(configContainer.containerJson).getConfigs();
Map<String, Map<String, String>> createRolloutParameterKeyMap = createRolloutParameterKeyMap();
Map<String, Map<String, String>> createRolloutParameterKeyMap2 = configContainer.createRolloutParameterKeyMap();
HashSet hashSet = new HashSet();
Iterator<String> keys = getConfigs().keys();
while (keys.hasNext()) {
String next = keys.next();
if (!configContainer.getConfigs().has(next)) {
hashSet.add(next);
} else if (!getConfigs().get(next).equals(configContainer.getConfigs().get(next))) {
hashSet.add(next);
} else if ((getPersonalizationMetadata().has(next) && !configContainer.getPersonalizationMetadata().has(next)) || (!getPersonalizationMetadata().has(next) && configContainer.getPersonalizationMetadata().has(next))) {
hashSet.add(next);
} else if (getPersonalizationMetadata().has(next) && configContainer.getPersonalizationMetadata().has(next) && !getPersonalizationMetadata().getJSONObject(next).toString().equals(configContainer.getPersonalizationMetadata().getJSONObject(next).toString())) {
hashSet.add(next);
} else if (createRolloutParameterKeyMap.containsKey(next) != createRolloutParameterKeyMap2.containsKey(next)) {
hashSet.add(next);
} else if (createRolloutParameterKeyMap.containsKey(next) && createRolloutParameterKeyMap2.containsKey(next) && !createRolloutParameterKeyMap.get(next).equals(createRolloutParameterKeyMap2.get(next))) {
hashSet.add(next);
} else {
configs.remove(next);
}
}
Iterator<String> keys2 = configs.keys();
while (keys2.hasNext()) {
hashSet.add(keys2.next());
}
return hashSet;
}
public JSONObject getConfigs() {
return this.configsJson;
}
public Date getFetchTime() {
return this.fetchTime;
}
public JSONObject getPersonalizationMetadata() {
return this.personalizationMetadata;
}
public JSONArray getRolloutMetadata() {
return this.rolloutMetadata;
}
public long getTemplateVersionNumber() {
return this.templateVersionNumber;
}
public int hashCode() {
return this.containerJson.hashCode();
}
public String toString() {
return this.containerJson.toString();
}
private ConfigContainer(JSONObject jSONObject, Date date, JSONArray jSONArray, JSONObject jSONObject2, long j4, JSONArray jSONArray2) throws JSONException {
JSONObject jSONObject3 = new JSONObject();
jSONObject3.put(CONFIGS_KEY, jSONObject);
jSONObject3.put(FETCH_TIME_KEY, date.getTime());
jSONObject3.put(ABT_EXPERIMENTS_KEY, jSONArray);
jSONObject3.put(PERSONALIZATION_METADATA_KEY, jSONObject2);
jSONObject3.put(TEMPLATE_VERSION_NUMBER_KEY, j4);
jSONObject3.put(ROLLOUT_METADATA_KEY, jSONArray2);
this.configsJson = jSONObject;
this.fetchTime = date;
this.abtExperiments = jSONArray;
this.personalizationMetadata = jSONObject2;
this.templateVersionNumber = j4;
this.rolloutMetadata = jSONArray2;
this.containerJson = jSONObject3;
}
public static Builder newBuilder(ConfigContainer configContainer) {
return new Builder(configContainer);
}
}