正在查看: Handling Master v2 应用的 CmpServiceImpl.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Handling Master v2 应用的 CmpServiceImpl.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.applovin.impl.privacy.cmp;
import android.app.Activity;
import android.os.Bundle;
import androidx.annotation.NonNull;
import com.applovin.impl.g0;
import com.applovin.impl.privacy.cmp.a;
import com.applovin.impl.sdk.j;
import com.applovin.impl.sdk.n;
import com.applovin.impl.z6;
import com.applovin.sdk.AppLovinCmpError;
import com.applovin.sdk.AppLovinCmpService;
import com.applovin.sdk.AppLovinSdkUtils;
public class CmpServiceImpl implements AppLovinCmpService, a.d {
private final j a;
private AppLovinCmpError e;
private e f;
private f g;
private final Object c = new Object();
private d d = d.NONE;
private final com.applovin.impl.privacy.cmp.a b = c();
public class a implements e {
final AppLovinCmpService.OnCompletedListener a;
final Activity b;
public class C0059a implements f {
public C0059a() {
}
@Override
public void a(AppLovinCmpError appLovinCmpError) {
a.this.a.onCompleted(appLovinCmpError);
}
}
public a(AppLovinCmpService.OnCompletedListener onCompletedListener, Activity activity) {
this.a = onCompletedListener;
this.b = activity;
}
@Override
public void a(AppLovinCmpError appLovinCmpError) {
if (appLovinCmpError != null) {
this.a.onCompleted(appLovinCmpError);
} else {
CmpServiceImpl.this.showCmp(this.b, new C0059a());
}
}
}
public class b implements Runnable {
final Activity a;
public b(Activity activity) {
this.a = activity;
}
@Override
public void run() {
CmpServiceImpl.this.b.b(this.a, CmpServiceImpl.this.a(), CmpServiceImpl.this);
}
}
public class c implements Runnable {
final Activity a;
public c(Activity activity) {
this.a = activity;
}
@Override
public void run() {
CmpServiceImpl.this.b.a(this.a, CmpServiceImpl.this.a(), CmpServiceImpl.this);
}
}
public enum d {
NONE,
LOADING,
COMPLETED
}
public interface e {
void a(AppLovinCmpError appLovinCmpError);
}
public interface f {
void a(AppLovinCmpError appLovinCmpError);
}
public CmpServiceImpl(j jVar) {
this.a = jVar;
}
private com.applovin.impl.privacy.cmp.a c() {
if (z6.a("com.google.android.ump.ConsentForm")) {
return new com.applovin.impl.privacy.cmp.a(this.a);
}
if (!this.a.v().j()) {
return null;
}
n.h("AppLovinSdk", "Could not load Google UMP. Please add the Google User Messaging Platform SDK into your application. Instructions can be found here: https://developers.applovin.com/en/android/overview/terms-and-privacy-policy-flow#enabling-google-ump");
return null;
}
private void d() {
if (hasSupportedCmp()) {
this.b.c();
}
}
@Override
public boolean hasSupportedCmp() {
return this.b != null;
}
public void loadCmp(Activity activity, e eVar) {
a(activity, eVar);
}
@Override
public void onFlowHidden(Bundle bundle) {
b((AppLovinCmpError) null);
b();
}
@Override
public void onFlowLoadFailed(CmpErrorImpl cmpErrorImpl) {
b();
synchronized (this.c) {
if (this.f == null) {
this.d = d.COMPLETED;
this.e = cmpErrorImpl;
} else {
this.d = d.NONE;
a(cmpErrorImpl);
}
}
}
@Override
public void onFlowLoaded(Bundle bundle) {
synchronized (this.c) {
if (this.f == null) {
this.d = d.COMPLETED;
} else {
this.d = d.NONE;
a((AppLovinCmpError) null);
}
}
}
@Override
public void onFlowShowFailed(CmpErrorImpl cmpErrorImpl) {
b(cmpErrorImpl);
b();
}
public void preloadCmp(Activity activity) {
a(activity, null);
}
public void showCmp(Activity activity, f fVar) {
b bVar = new b(activity);
this.g = fVar;
if (this.b.e()) {
AppLovinSdkUtils.runOnUiThread(bVar);
} else {
bVar.run();
}
}
@Override
public void showCmpForExistingUser(@NonNull Activity activity, @NonNull AppLovinCmpService.OnCompletedListener onCompletedListener) {
this.a.I();
if (n.a()) {
this.a.I().a("AppLovinCmpService", "showCmpForExistingUser(activity=" + activity + ", completedListener=" + onCompletedListener + ")");
}
if (!hasSupportedCmp()) {
onCompletedListener.onCompleted(new CmpErrorImpl(AppLovinCmpError.Code.INTEGRATION_ERROR, "A supported CMP is not integrated"));
} else {
d();
loadCmp(activity, new a(onCompletedListener, activity));
}
}
@NonNull
public String toString() {
return "[CmpService]";
}
private void a(AppLovinCmpError appLovinCmpError) {
e eVar = this.f;
if (eVar == null) {
return;
}
eVar.a(appLovinCmpError);
this.f = null;
this.e = null;
}
private void b(AppLovinCmpError appLovinCmpError) {
f fVar = this.g;
if (fVar == null) {
return;
}
fVar.a(appLovinCmpError);
this.g = null;
}
private void b() {
com.applovin.impl.privacy.cmp.a aVar = this.b;
if (aVar == null) {
return;
}
aVar.a();
}
private void a(Activity activity, e eVar) {
boolean z;
if (!hasSupportedCmp()) {
if (eVar != null) {
eVar.a(new CmpErrorImpl(AppLovinCmpError.Code.INTEGRATION_ERROR, "A supported CMP is not integrated"));
return;
}
return;
}
synchronized (this.c) {
if (eVar != null) {
this.f = eVar;
}
d dVar = this.d;
d dVar2 = d.NONE;
if (dVar == dVar2) {
this.d = d.LOADING;
z = false;
} else {
if (dVar == d.LOADING) {
return;
}
this.d = dVar2;
z = true;
}
if (z) {
a(this.e);
return;
}
c cVar = new c(activity);
if (this.b.d()) {
AppLovinSdkUtils.runOnUiThread(cVar);
} else {
cVar.run();
}
}
}
public g0 a() {
return new g0(this.a.v().d());
}
}