jimu-decompiled/sources/io/fabric/sdk/android/Fabric.java
2025-05-13 19:24:51 +02:00

314 lines
9.6 KiB
Java

package io.fabric.sdk.android;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import io.fabric.sdk.android.ActivityLifecycleManager;
import io.fabric.sdk.android.services.common.IdManager;
import io.fabric.sdk.android.services.concurrency.DependsOn;
import io.fabric.sdk.android.services.concurrency.PriorityThreadPoolExecutor;
import io.fabric.sdk.android.services.concurrency.UnmetDependencyException;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
import java.util.concurrent.atomic.AtomicBoolean;
/* loaded from: classes2.dex */
public class Fabric {
static volatile Fabric l;
static final Logger m = new DefaultLogger();
private final Context a;
private final Map<Class<? extends Kit>, Kit> b;
private final ExecutorService c;
private final Handler d;
private final InitializationCallback<Fabric> e;
private final InitializationCallback<?> f;
private final IdManager g;
private ActivityLifecycleManager h;
private AtomicBoolean i = new AtomicBoolean(false);
final Logger j;
final boolean k;
Fabric(Context context, Map<Class<? extends Kit>, Kit> map, PriorityThreadPoolExecutor priorityThreadPoolExecutor, Handler handler, Logger logger, boolean z, InitializationCallback initializationCallback, IdManager idManager, Activity activity) {
this.a = context;
this.b = map;
this.c = priorityThreadPoolExecutor;
this.d = handler;
this.j = logger;
this.k = z;
this.e = initializationCallback;
this.f = a(map.size());
this.g = idManager;
a(activity);
}
/* JADX INFO: Access modifiers changed from: private */
public static Activity d(Context context) {
if (context instanceof Activity) {
return (Activity) context;
}
return null;
}
public static Logger g() {
return l == null ? m : l.j;
}
private void h() {
this.h = new ActivityLifecycleManager(this.a);
this.h.a(new ActivityLifecycleManager.Callbacks() { // from class: io.fabric.sdk.android.Fabric.1
@Override // io.fabric.sdk.android.ActivityLifecycleManager.Callbacks
public void a(Activity activity, Bundle bundle) {
Fabric.this.a(activity);
}
@Override // io.fabric.sdk.android.ActivityLifecycleManager.Callbacks
public void c(Activity activity) {
Fabric.this.a(activity);
}
@Override // io.fabric.sdk.android.ActivityLifecycleManager.Callbacks
public void d(Activity activity) {
Fabric.this.a(activity);
}
});
b(this.a);
}
public static boolean i() {
if (l == null) {
return false;
}
return l.k;
}
static Fabric j() {
if (l != null) {
return l;
}
throw new IllegalStateException("Must Initialize Fabric before using singleton()");
}
public String c() {
return "io.fabric.sdk.android:fabric";
}
public Handler e() {
return this.d;
}
public String f() {
return "1.3.17.dev";
}
private static void c(Fabric fabric) {
l = fabric;
fabric.h();
}
void b(Context context) {
StringBuilder sb;
Future<Map<String, KitInfo>> a = a(context);
Collection<Kit> d = d();
Onboarding onboarding = new Onboarding(a, d);
ArrayList<Kit> arrayList = new ArrayList(d);
Collections.sort(arrayList);
onboarding.a(context, this, InitializationCallback.a, this.g);
Iterator it = arrayList.iterator();
while (it.hasNext()) {
((Kit) it.next()).a(context, this, this.f, this.g);
}
onboarding.n();
if (g().a("Fabric", 3)) {
sb = new StringBuilder("Initializing ");
sb.append(c());
sb.append(" [Version: ");
sb.append(f());
sb.append("], with the following kits:\n");
} else {
sb = null;
}
for (Kit kit : arrayList) {
kit.b.a(onboarding.b);
a(this.b, kit);
kit.n();
if (sb != null) {
sb.append(kit.g());
sb.append(" [Version: ");
sb.append(kit.i());
sb.append("]\n");
}
}
if (sb != null) {
g().d("Fabric", sb.toString());
}
}
public static class Builder {
private final Context a;
private Kit[] b;
private PriorityThreadPoolExecutor c;
private Handler d;
private Logger e;
private boolean f;
private String g;
private String h;
private InitializationCallback<Fabric> i;
public Builder(Context context) {
if (context == null) {
throw new IllegalArgumentException("Context must not be null.");
}
this.a = context;
}
public Builder a(Kit... kitArr) {
if (this.b != null) {
throw new IllegalStateException("Kits already set.");
}
this.b = kitArr;
return this;
}
public Fabric a() {
Map b;
if (this.c == null) {
this.c = PriorityThreadPoolExecutor.a();
}
if (this.d == null) {
this.d = new Handler(Looper.getMainLooper());
}
if (this.e == null) {
if (this.f) {
this.e = new DefaultLogger(3);
} else {
this.e = new DefaultLogger();
}
}
if (this.h == null) {
this.h = this.a.getPackageName();
}
if (this.i == null) {
this.i = InitializationCallback.a;
}
Kit[] kitArr = this.b;
if (kitArr != null) {
b = Fabric.b(Arrays.asList(kitArr));
} else {
b = new HashMap();
}
Map map = b;
Context applicationContext = this.a.getApplicationContext();
return new Fabric(applicationContext, map, this.c, this.d, this.e, this.f, this.i, new IdManager(applicationContext, this.h, this.g, map.values()), Fabric.d(this.a));
}
}
public static Fabric a(Context context, Kit... kitArr) {
if (l == null) {
synchronized (Fabric.class) {
if (l == null) {
Builder builder = new Builder(context);
builder.a(kitArr);
c(builder.a());
}
}
}
return l;
}
public Collection<Kit> d() {
return this.b.values();
}
public Fabric a(Activity activity) {
new WeakReference(activity);
return this;
}
void a(Map<Class<? extends Kit>, Kit> map, Kit kit) {
DependsOn dependsOn = kit.f;
if (dependsOn != null) {
for (Class<?> cls : dependsOn.value()) {
if (cls.isInterface()) {
for (Kit kit2 : map.values()) {
if (cls.isAssignableFrom(kit2.getClass())) {
kit.b.a(kit2.b);
}
}
} else if (map.get(cls) != null) {
kit.b.a(map.get(cls).b);
} else {
throw new UnmetDependencyException("Referenced Kit was null, does the kit exist?");
}
}
}
}
public ActivityLifecycleManager a() {
return this.h;
}
public static <T extends Kit> T a(Class<T> cls) {
return (T) j().b.get(cls);
}
/* JADX WARN: Multi-variable type inference failed */
private static void a(Map<Class<? extends Kit>, Kit> map, Collection<? extends Kit> collection) {
for (Object obj : collection) {
map.put(obj.getClass(), obj);
if (obj instanceof KitGroup) {
a(map, ((KitGroup) obj).a());
}
}
}
InitializationCallback<?> a(final int i) {
return new InitializationCallback() { // from class: io.fabric.sdk.android.Fabric.2
final CountDownLatch b;
{
this.b = new CountDownLatch(i);
}
@Override // io.fabric.sdk.android.InitializationCallback
public void a(Object obj) {
this.b.countDown();
if (this.b.getCount() == 0) {
Fabric.this.i.set(true);
Fabric.this.e.a((InitializationCallback) Fabric.this);
}
}
@Override // io.fabric.sdk.android.InitializationCallback
public void a(Exception exc) {
Fabric.this.e.a(exc);
}
};
}
public ExecutorService b() {
return this.c;
}
/* JADX INFO: Access modifiers changed from: private */
public static Map<Class<? extends Kit>, Kit> b(Collection<? extends Kit> collection) {
HashMap hashMap = new HashMap(collection.size());
a(hashMap, collection);
return hashMap;
}
Future<Map<String, KitInfo>> a(Context context) {
return b().submit(new FabricKitsFinder(context.getPackageCodePath()));
}
}