Skip to content

Instantly share code, notes, and snippets.

Created February 21, 2017 08:28
Show Gist options
  • Save anonymous/e6f23c1dc37bf905a9224d8b72ab6cd9 to your computer and use it in GitHub Desktop.
Save anonymous/e6f23c1dc37bf905a9224d8b72ab6cd9 to your computer and use it in GitHub Desktop.
FirebaseRemote Config library class
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package com.google.firebase.remoteconfig;
import android.content.Context;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.res.Resources;
import android.content.res.XmlResourceParser;
import android.os.AsyncTask;
import android.os.Build.VERSION;
import android.support.annotation.NonNull;
import android.support.annotation.VisibleForTesting;
import android.util.Log;
import com.google.android.gms.common.api.PendingResult;
import com.google.android.gms.common.api.ResultCallback;
import com.google.android.gms.internal.zzado;
import com.google.android.gms.internal.zzblq;
import com.google.android.gms.internal.zzbtl;
import com.google.android.gms.internal.zzbtm;
import com.google.android.gms.internal.zzbtn;
import com.google.android.gms.internal.zzbto;
import com.google.android.gms.internal.zzbtp;
import com.google.android.gms.internal.zzbtq;
import com.google.android.gms.internal.zzbtr;
import com.google.android.gms.internal.zzbxl;
import com.google.android.gms.internal.zzbts.zza;
import com.google.android.gms.internal.zzbts.zzb;
import com.google.android.gms.internal.zzbts.zzc;
import com.google.android.gms.internal.zzbts.zzd;
import com.google.android.gms.internal.zzbts.zze;
import com.google.android.gms.internal.zzbts.zzf;
import com.google.android.gms.tasks.Task;
import com.google.android.gms.tasks.TaskCompletionSource;
import com.google.firebase.FirebaseApp;
import com.google.firebase.remoteconfig.FirebaseRemoteConfigFetchException;
import com.google.firebase.remoteconfig.FirebaseRemoteConfigFetchThrottledException;
import com.google.firebase.remoteconfig.FirebaseRemoteConfigInfo;
import com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings;
import com.google.firebase.remoteconfig.FirebaseRemoteConfigValue;
import com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings.Builder;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
public class FirebaseRemoteConfig {
public static final String DEFAULT_VALUE_FOR_STRING = "";
public static final long DEFAULT_VALUE_FOR_LONG = 0L;
public static final double DEFAULT_VALUE_FOR_DOUBLE = 0.0D;
public static final boolean DEFAULT_VALUE_FOR_BOOLEAN = false;
public static final byte[] DEFAULT_VALUE_FOR_BYTE_ARRAY = new byte[0];
public static final int VALUE_SOURCE_STATIC = 0;
public static final int VALUE_SOURCE_DEFAULT = 1;
public static final int VALUE_SOURCE_REMOTE = 2;
public static final int LAST_FETCH_STATUS_SUCCESS = -1;
public static final int LAST_FETCH_STATUS_NO_FETCH_YET = 0;
public static final int LAST_FETCH_STATUS_FAILURE = 1;
public static final int LAST_FETCH_STATUS_THROTTLED = 2;
private static FirebaseRemoteConfig zzclM;
private zzbto zzclN;
private zzbto zzclO;
private zzbto zzclP;
private zzbtr zzclQ;
private final Context mContext;
private final ReadWriteLock zzclR;
FirebaseRemoteConfig(Context var1) {
this(var1, (zzbto)null, (zzbto)null, (zzbto)null, (zzbtr)null);
}
private FirebaseRemoteConfig(Context var1, zzbto var2, zzbto var3, zzbto var4, zzbtr var5) {
this.zzclR = new ReentrantReadWriteLock(true);
this.mContext = var1;
if(var5 != null) {
this.zzclQ = var5;
} else {
this.zzclQ = new zzbtr();
}
this.zzclQ.zzaV(this.zzcA(this.mContext));
if(var2 != null) {
this.zzclN = var2;
}
if(var3 != null) {
this.zzclO = var3;
}
if(var4 != null) {
this.zzclP = var4;
}
}
public static FirebaseRemoteConfig getInstance() {
if(zzclM == null) {
FirebaseApp var0 = FirebaseApp.getInstance();
if(var0 == null) {
throw new IllegalStateException("FirebaseApp has not been initialized.");
} else {
Context var1 = var0.getApplicationContext();
return zzcz(var1);
}
} else {
return zzclM;
}
}
public static FirebaseRemoteConfig zzcz(Context var0) {
if(zzclM == null) {
zze var1 = zzcB(var0);
if(var1 == null) {
if(Log.isLoggable("FirebaseRemoteConfig", 3)) {
Log.d("FirebaseRemoteConfig", "No persisted config was found. Initializing from scratch.");
}
zzclM = new FirebaseRemoteConfig(var0);
} else {
if(Log.isLoggable("FirebaseRemoteConfig", 3)) {
Log.d("FirebaseRemoteConfig", "Initializing from persisted config.");
}
zzbto var2 = zza(var1.zzcmr);
zzbto var3 = zza(var1.zzcms);
zzbto var4 = zza(var1.zzcmt);
zzbtr var5 = zza(var1.zzcmu);
if(var5 != null) {
var5.zzaI(zza(var1.zzcmv));
}
zzclM = new FirebaseRemoteConfig(var0, var2, var3, var4, var5);
}
}
return zzclM;
}
private long zzcA(Context var1) {
long var2 = 0L;
try {
var2 = this.mContext.getPackageManager().getPackageInfo(var1.getPackageName(), 0).lastUpdateTime;
} catch (NameNotFoundException var6) {
String var5 = String.valueOf(var1.getPackageName());
Log.e("FirebaseRemoteConfig", (new StringBuilder(25 + String.valueOf(var5).length())).append("Package [").append(var5).append("] was not found!").toString());
}
return var2;
}
private static zze zzcB(Context var0) {
if(var0 == null) {
return null;
} else {
FileInputStream var2 = null;
try {
var2 = var0.openFileInput("persisted_config");
zzbxl var3 = zzbxl.zzaf(zzk(var2));
zze var1 = new zze();
var1.zzb(var3);
return var1;
} catch (FileNotFoundException var16) {
if(Log.isLoggable("FirebaseRemoteConfig", 3)) {
Log.d("FirebaseRemoteConfig", "Persisted config file was not found.", var16);
}
} catch (IOException var17) {
Log.e("FirebaseRemoteConfig", "Cannot initialize from persisted config.", var17);
return null;
} finally {
try {
if(var2 != null) {
var2.close();
}
} catch (IOException var15) {
Log.e("FirebaseRemoteConfig", "Failed to close persisted config file.", var15);
}
}
return null;
}
}
private static Map<String, zzbtl> zza(zzf[] var0) {
HashMap var1 = new HashMap();
if(var0 == null) {
return var1;
} else {
zzf[] var2 = var0;
int var3 = var0.length;
for(int var4 = 0; var4 < var3; ++var4) {
zzf var5 = var2[var4];
String var6 = var5.zzaGP;
int var7 = var5.resourceId;
long var8 = var5.zzcmx;
var1.put(var6, new zzbtl(var7, var8));
}
return var1;
}
}
private static zzbtr zza(zzc var0) {
if(var0 == null) {
return null;
} else {
zzbtr var1 = new zzbtr();
var1.zzqI(var0.zzcmm);
var1.zzbh(var0.zzcmn);
var1.zzaW(var0.zzcmo);
return var1;
}
}
private static zzbto zza(zza var0) {
if(var0 == null) {
return null;
} else {
HashMap var1 = new HashMap();
zzd[] var2 = var0.zzcmi;
zzd[] var3 = var2;
int var4 = var2.length;
for(int var5 = 0; var5 < var4; ++var5) {
zzd var6 = var3[var5];
String var7 = var6.zzaGP;
HashMap var8 = new HashMap();
zzb[] var9 = var6.zzcmq;
int var10 = var9.length;
for(int var11 = 0; var11 < var10; ++var11) {
zzb var12 = var9[var11];
var8.put(var12.zzaB, var12.zzcml);
}
var1.put(var7, var8);
}
byte[][] var13 = var0.zzcmj;
ArrayList var14 = new ArrayList();
byte[][] var15 = var13;
int var16 = var13.length;
for(int var17 = 0; var17 < var16; ++var17) {
byte[] var18 = var15[var17];
var14.add(var18);
}
return new zzbto(var1, var0.timestamp, var14);
}
}
private static byte[] zzk(InputStream var0) throws IOException {
ByteArrayOutputStream var1 = new ByteArrayOutputStream();
zzb(var0, var1);
return var1.toByteArray();
}
private static long zzb(InputStream var0, OutputStream var1) throws IOException {
byte[] var2 = new byte[4096];
long var3 = 0L;
while(true) {
int var5 = var0.read(var2);
if(var5 == -1) {
return var3;
}
var1.write(var2, 0, var5);
var3 += (long)var5;
}
}
public boolean activateFetched() {
this.zzclR.writeLock().lock();
try {
if(this.zzclN != null) {
if(this.zzclO != null && this.zzclO.getTimestamp() >= this.zzclN.getTimestamp()) {
return false;
}
long var1 = this.zzclN.getTimestamp();
this.zzclO = this.zzclN;
this.zzclO.setTimestamp(System.currentTimeMillis());
this.zzclN = new zzbto((Map)null, var1, (List)null);
long var3 = this.zzclQ.zzacj();
this.zzclQ.zzaW(zzblq.zza(var3, this.zzclO.zzzD()));
this.zza(this.mContext, this.zzclO.zzzD(), var3);
this.zzacb();
return true;
}
} finally {
this.zzclR.writeLock().unlock();
}
return false;
}
public void setDefaults(int var1) {
this.setDefaults(var1, "configns:firebase");
}
public void setDefaults(int var1, String var2) {
if(var2 == null) {
if(Log.isLoggable("FirebaseRemoteConfig", 3)) {
Log.d("FirebaseRemoteConfig", "namespace cannot be null for setDefaults.");
}
} else {
this.zzclR.readLock().lock();
label164: {
try {
if(this.zzclQ == null || this.zzclQ.zzach() == null || this.zzclQ.zzach().get(var2) == null) {
break label164;
}
zzbtl var3 = (zzbtl)this.zzclQ.zzach().get(var2);
if(var1 != var3.zzacc() || this.zzclQ.zzaci() != var3.zzacd()) {
break label164;
}
if(Log.isLoggable("FirebaseRemoteConfig", 3)) {
Log.d("FirebaseRemoteConfig", "Skipped setting defaults from resource file as this resource file was already applied.");
}
} finally {
this.zzclR.readLock().unlock();
}
return;
}
HashMap var15 = new HashMap();
try {
Resources var4 = this.mContext.getResources();
XmlResourceParser var5 = var4.getXml(var1);
int var6 = var5.getEventType();
String var7 = null;
String var8 = null;
for(String var9 = null; var6 != 1; var6 = var5.next()) {
if(var6 == 2) {
var7 = var5.getName();
} else if(var6 == 3) {
if("entry".equals(var5.getName()) && var8 != null && var9 != null) {
var15.put(var8, var9);
var8 = null;
var9 = null;
}
var7 = null;
} else if(var6 == 4) {
if("key".equals(var7)) {
var8 = var5.getText();
} else if("value".equals(var7)) {
var9 = var5.getText();
}
}
}
zzbtl var10 = new zzbtl(var1, this.zzclQ.zzaci());
this.zzclQ.zza(var2, var10);
this.zzc(var15, var2, false);
} catch (Exception var13) {
Log.e("FirebaseRemoteConfig", "Caught exception while parsing XML resource. Skipping setDefaults.", var13);
}
}
}
public void setDefaults(Map<String, Object> var1) {
this.setDefaults(var1, "configns:firebase");
}
public void setDefaults(Map<String, Object> var1, String var2) {
this.zzc(var1, var2, true);
}
private void zzc(Map<String, Object> var1, String var2, boolean var3) {
if(var2 != null) {
boolean var4 = var1 == null || var1.isEmpty();
HashMap var5 = new HashMap();
if(!var4) {
Iterator var6 = var1.keySet().iterator();
while(var6.hasNext()) {
String var7 = (String)var6.next();
Object var8 = var1.get(var7);
if(var8 instanceof String) {
var5.put(var7, ((String)var8).getBytes(zzbtq.UTF_8));
} else if(var8 instanceof Long) {
var5.put(var7, ((Long)var8).toString().getBytes(zzbtq.UTF_8));
} else if(var8 instanceof Integer) {
var5.put(var7, ((Integer)var8).toString().getBytes(zzbtq.UTF_8));
} else if(var8 instanceof Double) {
var5.put(var7, ((Double)var8).toString().getBytes(zzbtq.UTF_8));
} else if(var8 instanceof Float) {
var5.put(var7, ((Float)var8).toString().getBytes(zzbtq.UTF_8));
} else if(var8 instanceof byte[]) {
var5.put(var7, (byte[])var8);
} else {
if(!(var8 instanceof Boolean)) {
throw new IllegalArgumentException("The type of a default value needs to beone of String, Long, Double, Boolean, or byte[].");
}
var5.put(var7, ((Boolean)var8).toString().getBytes(zzbtq.UTF_8));
}
}
}
this.zzclR.writeLock().lock();
try {
if(var4) {
if(this.zzclP == null || !this.zzclP.zzjF(var2)) {
return;
}
this.zzclP.zzj((Map)null, var2);
this.zzclP.setTimestamp(System.currentTimeMillis());
} else {
if(this.zzclP == null) {
this.zzclP = new zzbto(new HashMap(), System.currentTimeMillis(), (List)null);
}
this.zzclP.zzj(var5, var2);
this.zzclP.setTimestamp(System.currentTimeMillis());
}
if(var3) {
this.zzclQ.zzjG(var2);
}
this.zzacb();
} finally {
this.zzclR.writeLock().unlock();
}
}
}
public void setConfigSettings(FirebaseRemoteConfigSettings var1) {
this.zzclR.writeLock().lock();
try {
boolean var2 = this.zzclQ.isDeveloperModeEnabled();
boolean var3 = var1 == null?false:var1.isDeveloperModeEnabled();
this.zzclQ.zzbh(var3);
if(var2 != var3) {
this.zzacb();
}
} finally {
this.zzclR.writeLock().unlock();
}
}
public long getLong(String var1) {
return this.getLong(var1, "configns:firebase");
}
public long getLong(String var1, String var2) {
if(var2 == null) {
return 0L;
} else {
this.zzclR.readLock().lock();
long var4;
try {
String var3;
if(this.zzclO != null && this.zzclO.zzaA(var1, var2)) {
var3 = new String(this.zzclO.zzaB(var1, var2), zzbtq.UTF_8);
try {
var4 = Long.valueOf(var3).longValue();
return var4;
} catch (NumberFormatException var11) {
;
}
}
if(this.zzclP == null || !this.zzclP.zzaA(var1, var2)) {
return 0L;
}
var3 = new String(this.zzclP.zzaB(var1, var2), zzbtq.UTF_8);
try {
var4 = Long.valueOf(var3).longValue();
} catch (NumberFormatException var10) {
return 0L;
}
} finally {
this.zzclR.readLock().unlock();
}
return var4;
}
}
public byte[] getByteArray(String var1) {
return this.getByteArray(var1, "configns:firebase");
}
public byte[] getByteArray(String var1, String var2) {
if(var2 == null) {
return DEFAULT_VALUE_FOR_BYTE_ARRAY;
} else {
this.zzclR.readLock().lock();
byte[] var3;
try {
if(this.zzclO != null && this.zzclO.zzaA(var1, var2)) {
var3 = this.zzclO.zzaB(var1, var2);
return var3;
}
if(this.zzclP == null || !this.zzclP.zzaA(var1, var2)) {
var3 = DEFAULT_VALUE_FOR_BYTE_ARRAY;
return var3;
}
var3 = this.zzclP.zzaB(var1, var2);
} finally {
this.zzclR.readLock().unlock();
}
return var3;
}
}
public String getString(String var1) {
return this.getString(var1, "configns:firebase");
}
public String getString(String var1, String var2) {
if(var2 == null) {
return "";
} else {
this.zzclR.readLock().lock();
String var3;
try {
if(this.zzclO != null && this.zzclO.zzaA(var1, var2)) {
var3 = new String(this.zzclO.zzaB(var1, var2), zzbtq.UTF_8);
return var3;
}
if(this.zzclP != null && this.zzclP.zzaA(var1, var2)) {
var3 = new String(this.zzclP.zzaB(var1, var2), zzbtq.UTF_8);
return var3;
}
var3 = "";
} finally {
this.zzclR.readLock().unlock();
}
return var3;
}
}
public boolean getBoolean(String var1) {
return this.getBoolean(var1, "configns:firebase");
}
public boolean getBoolean(String var1, String var2) {
if(var2 == null) {
return false;
} else {
this.zzclR.readLock().lock();
try {
String var3;
if(this.zzclO != null && this.zzclO.zzaA(var1, var2)) {
var3 = new String(this.zzclO.zzaB(var1, var2), zzbtq.UTF_8);
if(zzbtq.zzaII.matcher(var3).matches()) {
return true;
}
if(zzbtq.zzaIJ.matcher(var3).matches()) {
return false;
}
}
if(this.zzclP == null || !this.zzclP.zzaA(var1, var2)) {
return false;
} else {
var3 = new String(this.zzclP.zzaB(var1, var2), zzbtq.UTF_8);
if(zzbtq.zzaII.matcher(var3).matches()) {
return true;
} else if(!zzbtq.zzaIJ.matcher(var3).matches()) {
return false;
} else {
return false;
}
}
} finally {
this.zzclR.readLock().unlock();
}
}
}
public double getDouble(String var1) {
return this.getDouble(var1, "configns:firebase");
}
public double getDouble(String var1, String var2) {
if(var2 == null) {
return 0.0D;
} else {
this.zzclR.readLock().lock();
double var4;
try {
String var3;
if(this.zzclO != null && this.zzclO.zzaA(var1, var2)) {
var3 = new String(this.zzclO.zzaB(var1, var2), zzbtq.UTF_8);
try {
var4 = Double.valueOf(var3).doubleValue();
return var4;
} catch (NumberFormatException var10) {
;
}
}
if(this.zzclP == null || !this.zzclP.zzaA(var1, var2)) {
return 0.0D;
}
var3 = new String(this.zzclP.zzaB(var1, var2), zzbtq.UTF_8);
try {
var4 = Double.valueOf(var3).doubleValue();
} catch (NumberFormatException var11) {
return 0.0D;
}
} finally {
this.zzclR.readLock().unlock();
}
return var4;
}
}
public FirebaseRemoteConfigValue getValue(String var1) {
return this.getValue(var1, "configns:firebase");
}
public FirebaseRemoteConfigValue getValue(String var1, String var2) {
if(var2 == null) {
return new zzbtq(DEFAULT_VALUE_FOR_BYTE_ARRAY, 0);
} else {
this.zzclR.readLock().lock();
zzbtq var3;
try {
if(this.zzclO != null && this.zzclO.zzaA(var1, var2)) {
var3 = new zzbtq(this.zzclO.zzaB(var1, var2), 2);
return var3;
}
if(this.zzclP != null && this.zzclP.zzaA(var1, var2)) {
var3 = new zzbtq(this.zzclP.zzaB(var1, var2), 1);
return var3;
}
var3 = new zzbtq(DEFAULT_VALUE_FOR_BYTE_ARRAY, 0);
} finally {
this.zzclR.readLock().unlock();
}
return var3;
}
}
public FirebaseRemoteConfigInfo getInfo() {
zzbtp var1 = new zzbtp();
this.zzclR.readLock().lock();
try {
long var2 = this.zzclN == null?-1L:this.zzclN.getTimestamp();
var1.zzaU(var2);
var1.zzqI(this.zzclQ.getLastFetchStatus());
var1.setConfigSettings((new Builder()).setDeveloperModeEnabled(this.zzclQ.isDeveloperModeEnabled()).build());
} finally {
this.zzclR.readLock().unlock();
}
return var1;
}
public Set<String> getKeysByPrefix(String var1) {
return this.getKeysByPrefix(var1, "configns:firebase");
}
public Set<String> getKeysByPrefix(String var1, String var2) {
this.zzclR.readLock().lock();
TreeSet var3;
try {
if(this.zzclO != null) {
Set var7 = this.zzclO.zzaC(var1, var2);
return var7;
}
var3 = new TreeSet();
} finally {
this.zzclR.readLock().unlock();
}
return var3;
}
private void zzt(Runnable var1) {
int var10000 = VERSION.SDK_INT;
/* zzbtn is called from here */
AsyncTask.SERIAL_EXECUTOR.execute(var1);
}
private void zza(Context var1, List<byte[]> var2, long var3) {
this.zzt(new zzbtm(var1, var2, var3));
}
private void zzacb() {
this.zzclR.readLock().lock();
try {
this.zzt(new zzbtn(this.mContext, this.zzclN, this.zzclO, this.zzclP, this.zzclQ));
} finally {
this.zzclR.readLock().unlock();
}
}
public Task<Void> fetch() {
return this.fetch(43200L);
}
public Task<Void> fetch(long var1) {
final TaskCompletionSource var3 = new TaskCompletionSource();
this.zzclR.readLock().lock();
try {
com.google.android.gms.internal.zzadi.zza.zza var4 = new com.google.android.gms.internal.zzadi.zza.zza();
var4.zzK(var1);
if(this.zzclQ.isDeveloperModeEnabled()) {
var4.zzH("_rcn_developer", "true");
}
var4.zzdr(10300);
long var5;
long var7;
int var9;
if(this.zzclO != null && this.zzclO.getTimestamp() != -1L) {
var5 = System.currentTimeMillis() - this.zzclO.getTimestamp();
var7 = TimeUnit.SECONDS.convert(var5, TimeUnit.MILLISECONDS);
var9 = var7 < 2147483647L?(int)var7:2147483647;
var4.zzdt(var9);
}
if(this.zzclN != null && this.zzclN.getTimestamp() != -1L) {
var5 = System.currentTimeMillis() - this.zzclN.getTimestamp();
var7 = TimeUnit.SECONDS.convert(var5, TimeUnit.MILLISECONDS);
var9 = var7 < 2147483647L?(int)var7:2147483647;
var4.zzds(var9);
}
PendingResult var13 = (new zzado(this.mContext)).zza(var4.zzzC());
var13.setResultCallback(new ResultCallback() {
public void zza(@NonNull com.google.android.gms.internal.zzadi.zzb var1) {
FirebaseRemoteConfig.this.zza(var3, var1);
}
});
} finally {
this.zzclR.readLock().unlock();
}
return var3.getTask();
}
@VisibleForTesting
void zza(TaskCompletionSource<Void> var1, com.google.android.gms.internal.zzadi.zzb var2) {
if(var2 != null && var2.getStatus() != null) {
int var3 = var2.getStatus().getStatusCode();
this.zzclR.writeLock().lock();
try {
Map var4;
HashMap var5;
Iterator var6;
String var7;
HashMap var8;
Iterator var9;
String var10;
switch(var3) {
case -6508:
case -6506:
this.zzclQ.zzqI(-1);
if(this.zzclN != null && !this.zzclN.zzacf()) {
var4 = var2.zzzE();
var5 = new HashMap();
var6 = var4.keySet().iterator();
while(true) {
if(!var6.hasNext()) {
this.zzclN = new zzbto(var5, this.zzclN.getTimestamp(), var2.zzzD());
break;
}
var7 = (String)var6.next();
var8 = new HashMap();
var9 = ((Set)var4.get(var7)).iterator();
while(var9.hasNext()) {
var10 = (String)var9.next();
var8.put(var10, var2.zza(var10, (byte[])null, var7));
}
var5.put(var7, var8);
}
}
var1.setResult((Object)null);
this.zzacb();
break;
case -6505:
var4 = var2.zzzE();
var5 = new HashMap();
var6 = var4.keySet().iterator();
while(var6.hasNext()) {
var7 = (String)var6.next();
var8 = new HashMap();
var9 = ((Set)var4.get(var7)).iterator();
while(var9.hasNext()) {
var10 = (String)var9.next();
var8.put(var10, var2.zza(var10, (byte[])null, var7));
}
var5.put(var7, var8);
}
this.zzclN = new zzbto(var5, System.currentTimeMillis(), var2.zzzD());
this.zzclQ.zzqI(-1);
var1.setResult((Object)null);
this.zzacb();
break;
case 6500:
case 6501:
case 6503:
case 6504:
this.zzclQ.zzqI(1);
var1.setException(new FirebaseRemoteConfigFetchException());
this.zzacb();
break;
case 6502:
case 6507:
this.zzclQ.zzqI(2);
var1.setException(new FirebaseRemoteConfigFetchThrottledException(var2.getThrottleEndTimeMillis()));
this.zzacb();
break;
default:
if(var2.getStatus().isSuccess()) {
Log.w("FirebaseRemoteConfig", (new StringBuilder(45)).append("Unknown (successful) status code: ").append(var3).toString());
}
this.zzclQ.zzqI(1);
var1.setException(new FirebaseRemoteConfigFetchException());
this.zzacb();
}
} finally {
this.zzclR.writeLock().unlock();
}
} else {
this.zzclQ.zzqI(1);
var1.setException(new FirebaseRemoteConfigFetchException());
this.zzacb();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment