CrackMe.apk
Download file
package com.google.android.gms.common.api.internal;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.Application;
import android.content.ComponentCallbacks2;
import android.content.res.Configuration;
import android.os.Bundle;
import com.google.android.gms.common.util.PlatformVersion;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.concurrent.atomic.AtomicBoolean;
/* compiled from: com.google.android.gms:play-services-basement@@18.1.0 */
public final class BackgroundDetector implements Application.ActivityLifecycleCallbacks, ComponentCallbacks2 {
private static final BackgroundDetector zza = new BackgroundDetector();
private final AtomicBoolean zzb = new AtomicBoolean();
private final AtomicBoolean zzc = new AtomicBoolean();
private final ArrayList zzd = new ArrayList();
private boolean zze = false;
/* compiled from: com.google.android.gms:play-services-basement@@18.1.0 */
public interface BackgroundStateChangeListener {
void onBackgroundStateChanged(boolean z);
}
private BackgroundDetector() {
}
public static BackgroundDetector getInstance() {
return zza;
}
public static void initialize(Application application) {
BackgroundDetector backgroundDetector = zza;
synchronized (backgroundDetector) {
if (!backgroundDetector.zze) {
application.registerActivityLifecycleCallbacks(backgroundDetector);
application.registerComponentCallbacks(backgroundDetector);
backgroundDetector.zze = true;
}
}
}
private final void zza(boolean z) {
synchronized (zza) {
Iterator it = this.zzd.iterator();
while (it.hasNext()) {
((BackgroundStateChangeListener) it.next()).onBackgroundStateChanged(z);
}
}
}
public void addListener(BackgroundStateChangeListener backgroundStateChangeListener) {
synchronized (zza) {
this.zzd.add(backgroundStateChangeListener);
}
}
public boolean isInBackground() {
return this.zzb.get();
}
public final void onActivityCreated(Activity activity, Bundle bundle) {
boolean compareAndSet = this.zzb.compareAndSet(true, false);
this.zzc.set(true);
if (compareAndSet) {
zza(false);
}
}
public final void onActivityDestroyed(Activity activity) {
}
public final void onActivityPaused(Activity activity) {
}
public final void onActivityResumed(Activity activity) {
boolean compareAndSet = this.zzb.compareAndSet(true, false);
this.zzc.set(true);
if (compareAndSet) {
zza(false);
}
}
public final void onActivitySaveInstanceState(Activity activity, Bundle bundle) {
}
public final void onActivityStarted(Activity activity) {
}
public final void onActivityStopped(Activity activity) {
}
public final void onConfigurationChanged(Configuration configuration) {
}
public final void onLowMemory() {
}
public final void onTrimMemory(int i) {
if (i == 20 && this.zzb.compareAndSet(false, true)) {
this.zzc.set(true);
zza(true);
}
}
public boolean readCurrentStateIfPossible(boolean z) {
if (!this.zzc.get()) {
if (!PlatformVersion.isAtLeastJellyBean()) {
return z;
}
ActivityManager.RunningAppProcessInfo runningAppProcessInfo = new ActivityManager.RunningAppProcessInfo();
ActivityManager.getMyMemoryState(runningAppProcessInfo);
if (!this.zzc.getAndSet(true) && runningAppProcessInfo.importance > 100) {
this.zzb.set(true);
}
}
return isInBackground();
}
}
Download file