147 lines
6.7 KiB
Java
147 lines
6.7 KiB
Java
package com.discord.utilities.analytics;
|
|
|
|
import android.content.Context;
|
|
import android.content.SharedPreferences;
|
|
import c.d.b.a.a;
|
|
import com.android.installreferrer.api.InstallReferrerClient;
|
|
import com.android.installreferrer.api.ReferrerDetails;
|
|
import com.discord.utilities.cache.SharedPreferencesProvider;
|
|
import com.discord.utilities.lifecycle.ApplicationProvider;
|
|
import com.discord.utilities.logging.Logger;
|
|
import com.discord.utilities.logging.LoggingProvider;
|
|
import d0.g;
|
|
import d0.z.d.m;
|
|
import kotlin.Lazy;
|
|
import kotlin.Unit;
|
|
import kotlin.jvm.functions.Function1;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
/* compiled from: InstallReferrer.kt */
|
|
public final class InstallReferrer {
|
|
private static final String CACHE_KEY_HAS_EXECUTED = "CACHE_KEY_HAS_EXECUTED";
|
|
private static final String CACHE_KEY_HAS_EXECUTED_ATTEMPTS = "CACHE_KEY_HAS_EXECUTED_ATTEMPTS";
|
|
public static final Companion Companion = new Companion(null);
|
|
private static final Lazy INSTANCE$delegate = g.lazy(InstallReferrer$Companion$INSTANCE$2.INSTANCE);
|
|
private static final int MAX_ATTEMPTS = 10;
|
|
private final Context context;
|
|
private final Logger logger;
|
|
private InstallReferrerClient referrerClient;
|
|
private final Lazy sharedPreferences$delegate;
|
|
|
|
/* compiled from: InstallReferrer.kt */
|
|
public static final class Companion {
|
|
private Companion() {
|
|
}
|
|
|
|
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
|
this();
|
|
}
|
|
|
|
private final InstallReferrer getINSTANCE() {
|
|
Lazy access$getINSTANCE$cp = InstallReferrer.access$getINSTANCE$cp();
|
|
Companion companion = InstallReferrer.Companion;
|
|
return (InstallReferrer) access$getINSTANCE$cp.getValue();
|
|
}
|
|
|
|
public final void init(Function1<? super String, Unit> function1) {
|
|
m.checkNotNullParameter(function1, "onReceivedInstallReferrer");
|
|
getINSTANCE().init(function1);
|
|
}
|
|
}
|
|
|
|
private InstallReferrer(Logger logger, Context context) {
|
|
this.logger = logger;
|
|
this.context = context;
|
|
this.sharedPreferences$delegate = g.lazy(InstallReferrer$sharedPreferences$2.INSTANCE);
|
|
}
|
|
|
|
/* JADX INFO: this call moved to the top of the method (can break code semantics) */
|
|
public /* synthetic */ InstallReferrer(Logger logger, Context context, int i, DefaultConstructorMarker defaultConstructorMarker) {
|
|
this((i & 1) != 0 ? LoggingProvider.INSTANCE.get() : logger, (i & 2) != 0 ? ApplicationProvider.INSTANCE.get() : context);
|
|
}
|
|
|
|
public static final /* synthetic */ Lazy access$getINSTANCE$cp() {
|
|
return INSTANCE$delegate;
|
|
}
|
|
|
|
public static final /* synthetic */ Logger access$getLogger$p(InstallReferrer installReferrer) {
|
|
return installReferrer.logger;
|
|
}
|
|
|
|
public static final /* synthetic */ InstallReferrerClient access$getReferrerClient$p(InstallReferrer installReferrer) {
|
|
InstallReferrerClient installReferrerClient = installReferrer.referrerClient;
|
|
if (installReferrerClient == null) {
|
|
m.throwUninitializedPropertyAccessException("referrerClient");
|
|
}
|
|
return installReferrerClient;
|
|
}
|
|
|
|
public static final /* synthetic */ void access$setFetchInstallReferrerFailed(InstallReferrer installReferrer, Exception exc) {
|
|
installReferrer.setFetchInstallReferrerFailed(exc);
|
|
}
|
|
|
|
public static final /* synthetic */ void access$setFetchInstallReferrerSuccessful(InstallReferrer installReferrer) {
|
|
installReferrer.setFetchInstallReferrerSuccessful();
|
|
}
|
|
|
|
public static final /* synthetic */ void access$setReferrerClient$p(InstallReferrer installReferrer, InstallReferrerClient installReferrerClient) {
|
|
installReferrer.referrerClient = installReferrerClient;
|
|
}
|
|
|
|
private final InstallReferrer$createReferrerStateListener$1 createReferrerStateListener(Function1<? super String, Unit> function1) {
|
|
return new InstallReferrer$createReferrerStateListener$1(this, function1);
|
|
}
|
|
|
|
private final SharedPreferences getSharedPreferences() {
|
|
return (SharedPreferences) this.sharedPreferences$delegate.getValue();
|
|
}
|
|
|
|
private final void setFetchInstallReferrerFailed(Exception exc) {
|
|
int i = SharedPreferencesProvider.INSTANCE.get().getInt("CACHE_KEY_HAS_EXECUTED_ATTEMPTS", 0);
|
|
Logger logger = this.logger;
|
|
logger.i("Unable to resolve referrer details, " + i + " attempt.", exc);
|
|
SharedPreferences.Editor edit = getSharedPreferences().edit();
|
|
m.checkExpressionValueIsNotNull(edit, "editor");
|
|
edit.putInt("CACHE_KEY_HAS_EXECUTED_ATTEMPTS", i + 1);
|
|
edit.apply();
|
|
}
|
|
|
|
private final void setFetchInstallReferrerSuccessful() {
|
|
InstallReferrerClient installReferrerClient = this.referrerClient;
|
|
if (installReferrerClient == null) {
|
|
m.throwUninitializedPropertyAccessException("referrerClient");
|
|
}
|
|
ReferrerDetails installReferrer = installReferrerClient.getInstallReferrer();
|
|
m.checkNotNullExpressionValue(installReferrer, "referrerClient.installReferrer");
|
|
Logger.i$default(this.logger, a.u("Retrieved install referrer, ", installReferrer.getInstallReferrer()), null, 2, null);
|
|
SharedPreferences.Editor edit = getSharedPreferences().edit();
|
|
m.checkExpressionValueIsNotNull(edit, "editor");
|
|
edit.putBoolean("CACHE_KEY_HAS_EXECUTED", true);
|
|
edit.apply();
|
|
}
|
|
|
|
private final boolean shouldFetchInstallReferrer() {
|
|
return !getSharedPreferences().getBoolean("CACHE_KEY_HAS_EXECUTED", false) && getSharedPreferences().getInt("CACHE_KEY_HAS_EXECUTED_ATTEMPTS", 0) < 10;
|
|
}
|
|
|
|
public final void init(Function1<? super String, Unit> function1) {
|
|
m.checkNotNullParameter(function1, "onReceivedInstallReferrer");
|
|
if (shouldFetchInstallReferrer()) {
|
|
try {
|
|
InstallReferrerClient build = InstallReferrerClient.newBuilder(this.context).build();
|
|
m.checkNotNullExpressionValue(build, "InstallReferrerClient.newBuilder(context).build()");
|
|
this.referrerClient = build;
|
|
if (build == null) {
|
|
try {
|
|
m.throwUninitializedPropertyAccessException("referrerClient");
|
|
} catch (Exception e) {
|
|
this.logger.i("Unable to start connection to referrer client.", e);
|
|
return;
|
|
}
|
|
}
|
|
build.startConnection(createReferrerStateListener(function1));
|
|
} catch (Exception e2) {
|
|
this.logger.i("Unable to initialize referrer client.", e2);
|
|
}
|
|
}
|
|
}
|
|
}
|