Files
Daniel Elliott c080f0d97f Add Discord community version (64-bit only)
- Added realracing3-community.apk (71.57 MB)
- Removed 32-bit support (armeabi-v7a)
- Only includes arm64-v8a libraries
- Decompiled source code included
- Added README-community.md with analysis
2026-02-18 15:48:36 -08:00

356 lines
12 KiB
Java
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package com.mbridge.msdk.tracker;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Looper;
import android.os.Message;
import android.util.Log;
import com.unity3d.services.UnityAdsConstants;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
/* loaded from: classes4.dex */
final class r {
private final c a;
private final int b;
private final int c;
private final int d;
private final k e;
private Handler i;
private final AtomicInteger f = new AtomicInteger(0);
private final AtomicInteger g = new AtomicInteger(0);
private final Object h = new Object();
private boolean j = true;
private long k = 0;
private volatile boolean l = false;
private volatile boolean m = false;
public final boolean f() {
return this.j;
}
public r(k kVar) {
this.a = kVar.g();
this.b = kVar.l();
this.c = kVar.m();
this.d = kVar.n();
this.e = kVar;
}
public final void a() {
HandlerThread handlerThread = new HandlerThread("report_timer");
handlerThread.start();
b bVar = new b(handlerThread.getLooper(), this);
this.i = bVar;
bVar.sendMessageDelayed(Message.obtain(bVar, 5), 5000L);
Handler handler = this.i;
handler.sendMessageDelayed(Message.obtain(handler, 1), this.c);
this.j = false;
}
public final void b() {
this.i.removeMessages(1);
Handler handler = this.i;
handler.sendMessage(Message.obtain(handler, 7));
}
public final void a(e eVar) {
Handler handler = this.i;
handler.sendMessage(Message.obtain(handler, 6, eVar));
}
public final void c() {
synchronized (this.h) {
try {
if (!this.l) {
this.l = true;
this.a.c();
}
if (!this.m) {
this.m = true;
this.g.addAndGet(this.a.a());
}
} catch (Throwable th) {
throw th;
}
}
}
public final void d() {
this.g.incrementAndGet();
}
public final boolean e() {
return this.g.addAndGet(0) >= this.b;
}
public static final class b extends Handler {
private final r a;
public b(Looper looper, r rVar) {
super(looper);
this.a = rVar;
}
@Override // android.os.Handler
public final void dispatchMessage(Message message) {
super.dispatchMessage(message);
int i = message.what;
if (i == 2 || i == 3) {
b();
if (com.mbridge.msdk.tracker.a.a) {
a("触发上报report result当前 Event 数量:");
}
a();
return;
}
if (i == 5) {
if (com.mbridge.msdk.tracker.a.a) {
a("触发删除 当前 Event 数量:");
}
r.a(this.a);
sendMessageDelayed(Message.obtain(this, 5), UnityAdsConstants.Timeout.INIT_TIMEOUT_MS);
return;
}
if (i != 6) {
if (i == 7) {
this.a.c();
b();
if (com.mbridge.msdk.tracker.a.a) {
a("触发上报flush当前 Event 数量:");
}
a();
return;
}
b();
if (com.mbridge.msdk.tracker.a.a) {
a("触发上报timer当前 Event 数量:");
}
a();
return;
}
Object obj = message.obj;
e eVar = obj instanceof e ? (e) obj : null;
if (com.mbridge.msdk.tracker.a.a && !y.a(eVar)) {
a(String.format("收到 Event( %s ),当前 Event 数量:", eVar.a()));
}
if ((y.b(eVar) && eVar.c() == 1) || this.a.e()) {
b();
if (com.mbridge.msdk.tracker.a.a) {
a("触发上报notice check当前 Event 数量:");
}
a();
}
}
private void a(String str) {
StringBuilder sb = new StringBuilder();
sb.append(this.a.e.c());
sb.append(" ");
sb.append(str);
sb.append(this.a.g.addAndGet(0));
sb.append(" 数据库记录数:");
sb.append(this.a.a.a());
}
private synchronized void a() {
try {
r.e(this.a);
} catch (Exception e) {
if (com.mbridge.msdk.tracker.a.a) {
Log.e("TrackManager", this.a.e.c() + " report failed ", e);
}
}
}
private void b() {
try {
removeMessages(1);
removeMessages(6);
removeMessages(2);
removeMessages(3);
} catch (Exception e) {
if (com.mbridge.msdk.tracker.a.a) {
Log.e("TrackManager", this.a.e.c() + " removeMessages failed ", e);
}
}
if (this.a.f()) {
return;
}
try {
sendMessageDelayed(Message.obtain(this, 1), y.a(this.a.f.get(), this.a.k, this.a.c));
} catch (Exception e2) {
if (com.mbridge.msdk.tracker.a.a) {
Log.e("TrackManager", this.a.e.c() + " sendMessageDelayed failed ", e2);
}
}
}
}
public static final class a implements q {
private final Handler a;
private final r b;
public a(Handler handler, r rVar) {
this.a = handler;
this.b = rVar;
}
@Override // com.mbridge.msdk.tracker.q
public final void a(s sVar) {
r.a(this.b, sVar.a());
r.i(this.b);
this.b.k = 0L;
if (this.b.e()) {
Handler handler = this.a;
handler.sendMessage(Message.obtain(handler, 2));
}
if (com.mbridge.msdk.tracker.a.a) {
StringBuilder sb = new StringBuilder();
sb.append(this.b.e.c());
sb.append(" report success ");
sb.append(sVar.a().size());
sb.append(" 剩余事件数:");
sb.append(this.b.g.addAndGet(0));
sb.append(" 个,数据库记录数:");
sb.append(this.b.a.a());
sb.append("");
}
}
@Override // com.mbridge.msdk.tracker.q
public final void a(s sVar, int i, String str) {
r.b(this.b, sVar.a());
this.b.k = System.currentTimeMillis();
int j = r.j(this.b);
if (j <= 10) {
Handler handler = this.a;
handler.sendMessageDelayed(Message.obtain(handler, 3), j * 1000);
}
if (com.mbridge.msdk.tracker.a.a) {
StringBuilder sb = new StringBuilder();
sb.append(this.b.e.c());
sb.append(" report failed ");
sb.append(sVar.a().size());
sb.append(" 剩余事件数:");
sb.append(this.b.g.addAndGet(0));
sb.append(" 个,数据库记录数:");
sb.append(this.b.a.a());
sb.append(" 个 连续失败次数: ");
sb.append(j);
}
}
}
public static /* synthetic */ void a(r rVar) {
if (com.mbridge.msdk.tracker.a.a && com.mbridge.msdk.e.e.b) {
return;
}
int b2 = rVar.a.b();
if (com.mbridge.msdk.tracker.a.a) {
StringBuilder sb = new StringBuilder();
sb.append(rVar.e.c());
sb.append(" 删除无效数据的数量 = ");
sb.append(b2);
sb.append(" 当前剩余事件数 = ");
sb.append(rVar.g.addAndGet(0));
sb.append(" 数据库中剩余事件数 = ");
sb.append(rVar.a.a());
}
}
public static /* synthetic */ void e(r rVar) {
if (rVar.e.t()) {
List<i> a2 = rVar.a.a(rVar.b);
if (y.a((List<?>) a2)) {
if (com.mbridge.msdk.tracker.a.a) {
StringBuilder sb = new StringBuilder();
sb.append(rVar.e.c());
sb.append(" report: 没有可以上报的数据");
return;
}
return;
}
rVar.a.a(a2);
int size = a2.size();
rVar.g.addAndGet(-size);
if (com.mbridge.msdk.tracker.a.a) {
StringBuilder sb2 = new StringBuilder();
sb2.append(rVar.e.c());
sb2.append(" report: 上报的数量 = ");
sb2.append(size);
sb2.append(" 当前剩余事件数 = ");
sb2.append(rVar.g.addAndGet(0));
sb2.append(" 数据库中剩余事件数 = ");
sb2.append(rVar.a.a());
}
try {
if (rVar.e.p()) {
n q = rVar.e.q();
q.a(new a(rVar.i, rVar));
Map<String, String> hashMap = new HashMap<>();
try {
hashMap = rVar.e.j().a(rVar.e.k(), a2, rVar.e.f());
} catch (Exception e) {
if (com.mbridge.msdk.tracker.a.a) {
Log.e("TrackManager", rVar.e.c() + " report decorate request params failed ", e);
}
}
q.a(new s(a2), hashMap, y.b(a2));
return;
}
} catch (IllegalStateException e2) {
if (com.mbridge.msdk.tracker.a.a) {
Log.e("TrackManager", rVar.e.c() + " report environment check failed ", e2);
}
}
if (com.mbridge.msdk.tracker.a.a) {
Log.e("TrackManager", rVar.e.c() + " report 失败,请检查 TrackConfig 配置是否正确");
}
}
}
public static /* synthetic */ void a(r rVar, List list) {
if (y.a((List<?>) list)) {
return;
}
rVar.a.b((List<i>) list);
}
public static /* synthetic */ void i(r rVar) {
rVar.f.set(0);
}
/* JADX WARN: Multi-variable type inference failed */
public static /* synthetic */ void b(r rVar, List list) {
if (y.a((List<?>) list)) {
return;
}
Iterator it = list.iterator();
int i = 0;
while (it.hasNext()) {
i iVar = (i) it.next();
if (!y.a(iVar)) {
Object[] objArr = !iVar.b() && iVar.d() >= rVar.d;
boolean z = !iVar.a() && iVar.g() < System.currentTimeMillis();
if (objArr != false || z) {
iVar.b(-1);
} else {
iVar.a(iVar.d() + (y.a(rVar.e.e()) ? 1 : 0));
iVar.b(3);
i++;
}
}
}
rVar.a.c((List<i>) list);
rVar.g.addAndGet(i);
}
public static /* synthetic */ int j(r rVar) {
return rVar.f.getAndIncrement();
}
}