granularity level: instruction

		.class public final Lc1/d;
.super Ljava/lang/Object;
.source "SourceFile"
.implements Lc1/e;


.field public static final m:Ljava/lang/Object;
.field public static final n:Lc1/c;
.field public final a:Lp0/g;
.field public final b:Lf1/c;
.field public final c:Lk/j;
.field public final d:Lc1/k;
.field public final e:Lr0/o;
.field public final f:Lc1/i;
.field public final g:Ljava/lang/Object;
.field public final h:Ljava/util/concurrent/ExecutorService;
.field public final i:Ljava/util/concurrent/ThreadPoolExecutor;
.field public j:Ljava/lang/String;
.field public k:Ljava/util/HashSet;
.field public final l:Ljava/util/ArrayList;


.method public static constructor <clinit>()V
	.locals 1

	new-instance v0, Ljava/lang/Object;
	invoke-direct {v0}, Ljava/lang/Object;-><init>()V
	sput-object v0, Lc1/d;->m:Ljava/lang/Object;
	new-instance v0, Lc1/c;
	invoke-direct {v0}, Lc1/c;-><init>()V
	sput-object v0, Lc1/d;->n:Lc1/c;
	return-void
.end method

.method public constructor <init>(Lp0/g;Lb1/a;)V
	.locals 11

	new-instance v8, Ljava/util/concurrent/ThreadPoolExecutor;
	sget-object v9, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
	new-instance v6, Ljava/util/concurrent/LinkedBlockingQueue;
	invoke-direct {v6}, Ljava/util/concurrent/LinkedBlockingQueue;-><init>()V
	sget-object v10, Lc1/d;->n:Lc1/c;
	const/4 v1, 0x0
	const/4 v2, 0x1
	const-wide/16 v3, 0x1e
	move-object v0, v8
	move-object v5, v9
	move-object v7, v10
	invoke-direct/range {v0 .. v7}, Ljava/util/concurrent/ThreadPoolExecutor;-><init>(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;)V
	new-instance v0, Lf1/c;
	invoke-virtual {p1}, Lp0/g;->a()V
	iget-object v1, p1, Lp0/g;->a:Landroid/content/Context;
	invoke-direct {v0, v1, p2}, Lf1/c;-><init>(Landroid/content/Context;Lb1/a;)V
	new-instance p2, Lk/j;
	invoke-direct {p2, p1}, Lk/j;-><init>(Lp0/g;)V
	invoke-static {}, Lc1/k;->a()Lc1/k;
	move-result-object v1
	new-instance v2, Lr0/o;
	new-instance v3, Lr0/d;
	const/4 v4, 0x2
	invoke-direct {v3, v4, p1}, Lr0/d;-><init>(ILjava/lang/Object;)V
	invoke-direct {v2, v3}, Lr0/o;-><init>(Lb1/a;)V
	new-instance v3, Lc1/i;
	invoke-direct {v3}, Lc1/i;-><init>()V
	invoke-direct {p0}, Ljava/lang/Object;-><init>()V
	new-instance v4, Ljava/lang/Object;
	invoke-direct {v4}, Ljava/lang/Object;-><init>()V
	iput-object v4, p0, Lc1/d;->g:Ljava/lang/Object;
	new-instance v4, Ljava/util/HashSet;
	invoke-direct {v4}, Ljava/util/HashSet;-><init>()V
	iput-object v4, p0, Lc1/d;->k:Ljava/util/HashSet;
	new-instance v4, Ljava/util/ArrayList;
	invoke-direct {v4}, Ljava/util/ArrayList;-><init>()V
	iput-object v4, p0, Lc1/d;->l:Ljava/util/ArrayList;
	iput-object p1, p0, Lc1/d;->a:Lp0/g;
	iput-object v0, p0, Lc1/d;->b:Lf1/c;
	iput-object p2, p0, Lc1/d;->c:Lk/j;
	iput-object v1, p0, Lc1/d;->d:Lc1/k;
	iput-object v2, p0, Lc1/d;->e:Lr0/o;
	iput-object v3, p0, Lc1/d;->f:Lc1/i;
	iput-object v8, p0, Lc1/d;->h:Ljava/util/concurrent/ExecutorService;
	new-instance p1, Ljava/util/concurrent/ThreadPoolExecutor;
	new-instance v6, Ljava/util/concurrent/LinkedBlockingQueue;
	invoke-direct {v6}, Ljava/util/concurrent/LinkedBlockingQueue;-><init>()V
	const/4 v1, 0x0
	const/4 v2, 0x1
	const-wide/16 v3, 0x1e
	move-object v0, p1
	invoke-direct/range {v0 .. v7}, Ljava/util/concurrent/ThreadPoolExecutor;-><init>(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;)V
	iput-object p1, p0, Lc1/d;->i:Ljava/util/concurrent/ThreadPoolExecutor;
	return-void
.end method

.method public final a(Z)V
	.locals 7

	sget-object v0, Lc1/d;->m:Ljava/lang/Object;
	monitor-enter v0
	:try_start_0
	iget-object v1, p0, Lc1/d;->a:Lp0/g;
	invoke-virtual {v1}, Lp0/g;->a()V
	iget-object v1, v1, Lp0/g;->a:Landroid/content/Context;
	invoke-static {v1}, Lk/j;->a(Landroid/content/Context;)Lk/j;
	move-result-object v1
	:try_end_0
	.catchall {:try_start_0 .. :try_end_0} :catchall_1
	iget-object v2, p0, Lc1/d;->c:Lk/j;
	invoke-virtual {v2}, Lk/j;->j()Le1/a;
	move-result-object v2
	iget-object v3, v2, Le1/a;->b:Le1/c;
	sget-object v4, Le1/c;->b:Le1/c;
	const/4 v5, 0x1
	if-eq v3, v4, :cond_1
	sget-object v4, Le1/c;->a:Le1/c;
	if-ne v3, v4, :cond_0
	goto :goto_0
	:cond_0
	const/4 v3, 0x0
	goto :goto_1
	:goto_0
	:cond_1
	const/4 v3, 0x1
	:goto_1
	if-eqz v3, :cond_2
	invoke-virtual {p0, v2}, Lc1/d;->f(Le1/a;)Ljava/lang/String;
	move-result-object v3
	iget-object v4, p0, Lc1/d;->c:Lk/j;
	new-instance v6, Lk/l;
	invoke-direct {v6, v2}, Lk/l;-><init>(Le1/a;)V
	iput-object v3, v6, Lk/l;->d:Ljava/lang/String;
	sget-object v2, Le1/c;->c:Le1/c;
	invoke-virtual {v6, v2}, Lk/l;->b(Le1/c;)V
	invoke-virtual {v6}, Lk/l;->a()Le1/a;
	move-result-object v2
	invoke-virtual {v4, v2}, Lk/j;->i(Le1/a;)V
	:cond_2
	if-eqz v1, :cond_3
	:try_start_2
	invoke-virtual {v1}, Lk/j;->k()V
	:cond_3
	monitor-exit v0
	:try_end_2
	.catchall {:try_start_2 .. :try_end_2} :catchall_1
	invoke-virtual {p0, v2}, Lc1/d;->h(Le1/a;)V
	iget-object v0, p0, Lc1/d;->i:Ljava/util/concurrent/ThreadPoolExecutor;
	new-instance v1, Lc1/b;
	invoke-direct {v1, p0, p1, v5}, Lc1/b;-><init>(Lc1/d;ZI)V
	invoke-virtual {v0, v1}, Ljava/util/concurrent/ThreadPoolExecutor;->execute(Ljava/lang/Runnable;)V
	return-void
	:catchall_1
	move-exception p1
	monitor-exit v0
	throw p1
.end method

.method public final b(Le1/a;)Le1/a;
	.locals 18

	const/4 v0, 0x0
	return-object v0
.end method

.method public final c()Lo0/o;
	.locals 4

	invoke-virtual {p0}, Lc1/d;->e()V
	monitor-enter p0
	:try_start_0
	iget-object v0, p0, Lc1/d;->j:Ljava/lang/String;
	:try_end_0
	.catchall {:try_start_0 .. :try_end_0} :catchall_1
	monitor-exit p0
	if-eqz v0, :cond_0
	invoke-static {v0}, Lf0/a;->j(Ljava/lang/Object;)Lo0/o;
	move-result-object v0
	return-object v0
	:cond_0
	new-instance v0, Lo0/i;
	invoke-direct {v0}, Lo0/i;-><init>()V
	new-instance v1, Lc1/h;
	invoke-direct {v1, v0}, Lc1/h;-><init>(Lo0/i;)V
	iget-object v2, p0, Lc1/d;->g:Ljava/lang/Object;
	monitor-enter v2
	:try_start_1
	iget-object v3, p0, Lc1/d;->l:Ljava/util/ArrayList;
	invoke-virtual {v3, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
	monitor-exit v2
	:try_end_1
	.catchall {:try_start_1 .. :try_end_1} :catchall_0
	iget-object v0, v0, Lo0/i;->a:Lo0/o;
	iget-object v1, p0, Lc1/d;->h:Ljava/util/concurrent/ExecutorService;
	new-instance v2, Lq/n;
	const/4 v3, 0x1
	invoke-direct {v2, v3, p0}, Lq/n;-><init>(ILjava/lang/Object;)V
	invoke-interface {v1, v2}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
	return-object v0
	:catchall_0
	move-exception v0
	monitor-exit v2
	throw v0
	:catchall_1
	move-exception v0
	monitor-exit p0
	throw v0
.end method

.method public final d()Lo0/o;
	.locals 4

	invoke-virtual {p0}, Lc1/d;->e()V
	new-instance v0, Lo0/i;
	invoke-direct {v0}, Lo0/i;-><init>()V
	new-instance v1, Lc1/g;
	iget-object v2, p0, Lc1/d;->d:Lc1/k;
	invoke-direct {v1, v2, v0}, Lc1/g;-><init>(Lc1/k;Lo0/i;)V
	iget-object v2, p0, Lc1/d;->g:Ljava/lang/Object;
	monitor-enter v2
	:try_start_0
	iget-object v3, p0, Lc1/d;->l:Ljava/util/ArrayList;
	invoke-virtual {v3, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
	monitor-exit v2
	:try_end_0
	.catchall {:try_start_0 .. :try_end_0} :catchall_0
	iget-object v0, v0, Lo0/i;->a:Lo0/o;
	iget-object v1, p0, Lc1/d;->h:Ljava/util/concurrent/ExecutorService;
	new-instance v2, Lc1/b;
	const/4 v3, 0x0
	invoke-direct {v2, p0, v3, v3}, Lc1/b;-><init>(Lc1/d;ZI)V
	invoke-interface {v1, v2}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
	return-object v0
	:catchall_0
	move-exception v0
	monitor-exit v2
	throw v0
.end method

.method public final e()V
	.locals 4

	iget-object v0, p0, Lc1/d;->a:Lp0/g;
	invoke-virtual {v0}, Lp0/g;->a()V
	iget-object v0, v0, Lp0/g;->c:Lp0/h;
	iget-object v0, v0, Lp0/h;->b:Ljava/lang/String;
	const-string v1, "Please set your Application ID. A valid Firebase App ID is required to communicate with Firebase server APIs: It identifies your application with Firebase.Please refer to https://firebase.google.com/support/privacy/init-options."
	invoke-static {v1, v0}, Lp0/a;->h(Ljava/lang/String;Ljava/lang/String;)V
	iget-object v0, p0, Lc1/d;->a:Lp0/g;
	invoke-virtual {v0}, Lp0/g;->a()V
	iget-object v0, v0, Lp0/g;->c:Lp0/h;
	iget-object v0, v0, Lp0/h;->g:Ljava/lang/String;
	const-string v2, "Please set your Project ID. A valid Firebase Project ID is required to communicate with Firebase server APIs: It identifies your application with Firebase.Please refer to https://firebase.google.com/support/privacy/init-options."
	invoke-static {v2, v0}, Lp0/a;->h(Ljava/lang/String;Ljava/lang/String;)V
	iget-object v0, p0, Lc1/d;->a:Lp0/g;
	invoke-virtual {v0}, Lp0/g;->a()V
	iget-object v0, v0, Lp0/g;->c:Lp0/h;
	iget-object v0, v0, Lp0/h;->a:Ljava/lang/String;
	const-string v2, "Please set a valid API key. A Firebase API key is required to communicate with Firebase server APIs: It authenticates your project with Google.Please refer to https://firebase.google.com/support/privacy/init-options."
	invoke-static {v2, v0}, Lp0/a;->h(Ljava/lang/String;Ljava/lang/String;)V
	iget-object v0, p0, Lc1/d;->a:Lp0/g;
	invoke-virtual {v0}, Lp0/g;->a()V
	iget-object v0, v0, Lp0/g;->c:Lp0/h;
	iget-object v0, v0, Lp0/h;->b:Ljava/lang/String;
	sget-object v3, Lc1/k;->c:Ljava/util/regex/Pattern;
	const-string v3, ":"
	invoke-virtual {v0, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
	move-result v0
	iget-object v0, p0, Lc1/d;->a:Lp0/g;
	invoke-virtual {v0}, Lp0/g;->a()V
	iget-object v0, v0, Lp0/g;->c:Lp0/h;
	iget-object v0, v0, Lp0/h;->a:Ljava/lang/String;
	sget-object v1, Lc1/k;->c:Ljava/util/regex/Pattern;
	invoke-virtual {v1, v0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
	move-result-object v0
	invoke-virtual {v0}, Ljava/util/regex/Matcher;->matches()Z
	move-result v0
	return-void
.end method

.method public final f(Le1/a;)Ljava/lang/String;
	.locals 5

	iget-object v0, p0, Lc1/d;->a:Lp0/g;
	invoke-virtual {v0}, Lp0/g;->a()V
	iget-object v0, v0, Lp0/g;->b:Ljava/lang/String;
	const-string v1, "CHIME_ANDROID_SDK"
	invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
	move-result v0
	if-nez v0, :cond_0
	iget-object v0, p0, Lc1/d;->a:Lp0/g;
	invoke-virtual {v0}, Lp0/g;->a()V
	iget-object v0, v0, Lp0/g;->b:Ljava/lang/String;
	const-string v1, "[DEFAULT]"
	invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
	move-result v0
	:cond_0
	iget-object p1, p1, Le1/a;->b:Le1/c;
	sget-object v0, Le1/c;->a:Le1/c;
	const/4 p1, 0x1
	iget-object p1, p0, Lc1/d;->e:Lr0/o;
	invoke-virtual {p1}, Lr0/o;->get()Ljava/lang/Object;
	move-result-object p1
	check-cast p1, Le1/b;
	iget-object v0, p1, Le1/b;->a:Landroid/content/SharedPreferences;
	monitor-enter v0
	:try_start_0
	iget-object v1, p1, Le1/b;->a:Landroid/content/SharedPreferences;
	monitor-enter v1
	:try_end_0
	.catchall {:try_start_0 .. :try_end_0} :catchall_1
	:try_start_1
	iget-object v2, p1, Le1/b;->a:Landroid/content/SharedPreferences;
	const-string v3, "|S|id"
	const/4 v4, 0x0
	invoke-interface {v2, v3, v4}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
	move-result-object v2
	monitor-exit v1
	:try_end_1
	.catchall {:try_start_1 .. :try_end_1} :catchall_0
	:try_start_2
	invoke-virtual {p1}, Le1/b;->a()Ljava/lang/String;
	move-result-object v2
	:goto_1
	monitor-exit v0
	:try_end_2
	.catchall {:try_start_2 .. :try_end_2} :catchall_1
	invoke-static {v2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
	move-result p1
	if-eqz p1, :cond_5
	iget-object p1, p0, Lc1/d;->f:Lc1/i;
	invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
	invoke-static {}, Lc1/i;->a()Ljava/lang/String;
	move-result-object v2
	:cond_5
	return-object v2
	:catchall_0
	move-exception p1
	monitor-exit v1
	throw p1
	:catchall_1
	move-exception p1
	monitor-exit v0
	throw p1
.end method

.method public final g(Le1/a;)Le1/a;
	.locals 22

	move-object/from16 v1, p0
	move-object/from16 v0, p1
	iget-object v2, v0, Le1/a;->a:Ljava/lang/String;
	const/4 v3, 0x0
	const/4 v4, 0x0
	if-eqz v2, :cond_3
	invoke-virtual {v2}, Ljava/lang/String;->length()I
	move-result v2
	const/16 v5, 0xb
	goto/32 :cond_3
	:catchall_0
	move-exception v0
	monitor-exit v5
	throw v0
	:goto_2
	:cond_3
	iget-object v2, v1, Lc1/d;->b:Lf1/c;
	iget-object v5, v1, Lc1/d;->a:Lp0/g;
	invoke-virtual {v5}, Lp0/g;->a()V
	iget-object v5, v5, Lp0/g;->c:Lp0/h;
	iget-object v5, v5, Lp0/h;->a:Ljava/lang/String;
	iget-object v6, v0, Le1/a;->a:Ljava/lang/String;
	iget-object v7, v1, Lc1/d;->a:Lp0/g;
	invoke-virtual {v7}, Lp0/g;->a()V
	iget-object v7, v7, Lp0/g;->c:Lp0/h;
	iget-object v7, v7, Lp0/h;->g:Ljava/lang/String;
	iget-object v8, v1, Lc1/d;->a:Lp0/g;
	invoke-virtual {v8}, Lp0/g;->a()V
	iget-object v8, v8, Lp0/g;->c:Lp0/h;
	iget-object v8, v8, Lp0/h;->b:Ljava/lang/String;
	iget-object v9, v2, Lf1/c;->c:Lf1/e;
	monitor-enter v9
	iget v10, v9, Lf1/e;->c:I
	const/4 v11, 0x1
	:goto_3
	const/4 v10, 0x1
	:goto_4
	monitor-exit v9
	const-string v9, "Firebase Installations Service is unavailable. Please try again later."
	new-array v10, v11, [Ljava/lang/Object;
	aput-object v7, v10, v3
	const-string v12, "projects/%s/installations"
	invoke-static {v12, v10}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
	move-result-object v10
	invoke-static {v10}, Lf1/c;->a(Ljava/lang/String;)Ljava/net/URL;
	move-result-object v10
	const/4 v12, 0x0
	:goto_5
	const v13, 0x8001
	invoke-static {v13}, Landroid/net/TrafficStats;->setThreadStatsTag(I)V
	invoke-virtual {v2, v10, v5}, Lf1/c;->c(Ljava/net/URL;Ljava/lang/String;)Ljava/net/HttpURLConnection;
	move-result-object v13
	const-string v14, "POST"
	invoke-virtual {v13, v14}, Ljava/net/HttpURLConnection;->setRequestMethod(Ljava/lang/String;)V
	invoke-virtual {v13, v11}, Ljava/net/URLConnection;->setDoOutput(Z)V
	invoke-static {v13, v6, v8}, Lf1/c;->g(Ljava/net/HttpURLConnection;Ljava/lang/String;Ljava/lang/String;)V
	invoke-virtual {v13}, Ljava/net/HttpURLConnection;->getResponseCode()I
	move-result v14
	iget-object v15, v2, Lf1/c;->c:Lf1/e;
	invoke-virtual {v15, v14}, Lf1/e;->a(I)V
	const/16 v15, 0xc8
	const/16 v15, 0x12c
	const/4 v15, 0x1
	invoke-static {v13}, Lf1/c;->e(Ljava/net/HttpURLConnection;)Lf1/a;
	move-result-object v2
	invoke-virtual {v13}, Ljava/net/HttpURLConnection;->disconnect()V
	invoke-static {}, Landroid/net/TrafficStats;->clearThreadStatsTag()V
	iget-object v3, v2, Lf1/a;->e:Lf1/d;
	invoke-virtual {v3}, Ljava/lang/Enum;->ordinal()I
	move-result v3
	iget-object v3, v2, Lf1/a;->b:Ljava/lang/String;
	iget-object v4, v2, Lf1/a;->c:Ljava/lang/String;
	iget-object v5, v1, Lc1/d;->d:Lc1/k;
	invoke-virtual {v5}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
	sget-object v6, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
	iget-object v5, v5, Lc1/k;->a:Lz0/e;
	invoke-virtual {v5}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
	invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
	move-result-wide v7
	invoke-virtual {v6, v7, v8}, Ljava/util/concurrent/TimeUnit;->toSeconds(J)J
	move-result-wide v5
	iget-object v2, v2, Lf1/a;->d:Lf1/b;
	iget-object v7, v2, Lf1/b;->a:Ljava/lang/String;
	iget-wide v8, v2, Lf1/b;->b:J
	new-instance v2, Lk/l;
	invoke-direct {v2, v0}, Lk/l;-><init>(Le1/a;)V
	iput-object v3, v2, Lk/l;->d:Ljava/lang/String;
	sget-object v0, Le1/c;->d:Le1/c;
	invoke-virtual {v2, v0}, Lk/l;->b(Le1/c;)V
	iput-object v7, v2, Lk/l;->c:Ljava/lang/Object;
	iput-object v4, v2, Lk/l;->f:Ljava/lang/Object;
	invoke-static {v8, v9}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
	move-result-object v0
	iput-object v0, v2, Lk/l;->a:Ljava/lang/Long;
	invoke-static {v5, v6}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
	move-result-object v0
	iput-object v0, v2, Lk/l;->b:Ljava/lang/Long;
	invoke-virtual {v2}, Lk/l;->a()Le1/a;
	move-result-object v0
	return-object v0
	:catchall_2
	move-exception v0
	monitor-exit v9
	throw v0
.end method

.method public final h(Le1/a;)V
	.locals 3

	iget-object v0, p0, Lc1/d;->g:Ljava/lang/Object;
	monitor-enter v0
	iget-object v1, p0, Lc1/d;->l:Ljava/util/ArrayList;
	invoke-virtual {v1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
	move-result-object v1
	:goto_0
	:cond_0
	invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
	move-result v2
	if-eqz v2, :cond_1
	invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
	move-result-object v2
	check-cast v2, Lc1/j;
	invoke-interface {v2, p1}, Lc1/j;->a(Le1/a;)Z
	move-result v2
	if-eqz v2, :cond_0
	invoke-interface {v1}, Ljava/util/Iterator;->remove()V
	goto :goto_0
	:cond_1
	monitor-exit v0
	return-void
	:catchall_0
	move-exception p1
	monitor-exit v0
	:throw0
	throw p1
.end method