y.java 源代码
package com.applovin.impl.sdk;
import android.app.Activity;
import android.app.Application;
import android.content.BroadcastReceiver;
import android.content.ComponentCallbacks2;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.Configuration;
import androidx.annotation.Nullable;
import com.applovin.impl.sdk.AppLovinBroadcastManager;
import com.applovin.impl.sdk.utils.AppKilledService;
import com.applovin.impl.sdk.utils.Utils;
import java.util.Date;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
public class y {
private static final AtomicBoolean f7822f = new AtomicBoolean();
final k f7823a;
private final AtomicBoolean f7824b = new AtomicBoolean();
private final AtomicBoolean f7825c = new AtomicBoolean();
private Date f7826d;
private Date f7827e;
class a extends n0.a {
a() {
}
@Override
public void onActivityResumed(Activity activity) {
super.onActivityResumed(activity);
y.this.f();
}
}
class b implements ComponentCallbacks2 {
b() {
}
@Override
public void onConfigurationChanged(Configuration configuration) {
}
@Override
public void onLowMemory() {
}
@Override
public void onTrimMemory(int i6) {
if (i6 == 20) {
y.this.g();
}
}
}
class c extends BroadcastReceiver {
c() {
}
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if ("android.intent.action.USER_PRESENT".equals(action)) {
if (Utils.isCurrentProcessInForeground()) {
y.this.f();
}
} else if ("android.intent.action.SCREEN_OFF".equals(action)) {
y.this.g();
}
}
}
class d implements AppLovinBroadcastManager.Receiver {
final Application f7831q;
final Intent f7832r;
final k f7833s;
d(Application application, Intent intent, k kVar) {
this.f7831q = application;
this.f7832r = intent;
this.f7833s = kVar;
}
@Override
public void onReceive(Context context, Intent intent, @Nullable Map<String, Object> map) {
this.f7831q.stopService(this.f7832r);
this.f7833s.d0().unregisterReceiver(this);
}
}
public y(k kVar) {
this.f7823a = kVar;
Application application = (Application) kVar.j();
application.registerActivityLifecycleCallbacks(new a());
application.registerComponentCallbacks(new b());
IntentFilter intentFilter = new IntentFilter("android.intent.action.SCREEN_OFF");
intentFilter.addAction("android.intent.action.USER_PRESENT");
application.registerReceiver(new c(), intentFilter);
if (((Boolean) kVar.A(j0.b.R1)).booleanValue() && f7822f.compareAndSet(false, true)) {
Intent intent = new Intent(application, (Class<?>) AppKilledService.class);
application.startService(intent);
kVar.d0().registerReceiver(new d(application, intent, kVar), new IntentFilter(AppKilledService.ACTION_APP_KILLED));
}
}
public void f() {
if (this.f7825c.compareAndSet(true, false)) {
i();
}
}
public void g() {
if (this.f7825c.compareAndSet(false, true)) {
h();
}
}
private void h() {
this.f7823a.U0().g("SessionTracker", "Application Paused");
this.f7823a.d0().sendBroadcastSync(new Intent("com.applovin.application_paused"), null);
if (this.f7824b.get()) {
return;
}
boolean booleanValue = ((Boolean) this.f7823a.A(j0.b.O2)).booleanValue();
long millis = TimeUnit.MINUTES.toMillis(((Long) this.f7823a.A(j0.b.Q2)).longValue());
if (this.f7826d == null || System.currentTimeMillis() - this.f7826d.getTime() >= millis) {
((EventServiceImpl) this.f7823a.P0()).trackEvent("paused");
if (booleanValue) {
this.f7826d = new Date();
}
}
if (!booleanValue) {
this.f7826d = new Date();
}
}
private void i() {
this.f7823a.U0().g("SessionTracker", "Application Resumed");
boolean booleanValue = ((Boolean) this.f7823a.A(j0.b.O2)).booleanValue();
long longValue = ((Long) this.f7823a.A(j0.b.P2)).longValue();
this.f7823a.d0().sendBroadcastSync(new Intent("com.applovin.application_resumed"), null);
if (this.f7824b.getAndSet(false)) {
return;
}
long millis = TimeUnit.MINUTES.toMillis(longValue);
if (this.f7827e == null || System.currentTimeMillis() - this.f7827e.getTime() >= millis) {
((EventServiceImpl) this.f7823a.P0()).trackEvent("resumed");
if (booleanValue) {
this.f7827e = new Date();
}
}
if (!booleanValue) {
this.f7827e = new Date();
}
this.f7823a.r().a(k0.g.f23449n);
}
public boolean b() {
return this.f7825c.get();
}
public void c() {
this.f7824b.set(true);
}
public void e() {
this.f7824b.set(false);
}
}