[General Questions and Answers] XeBrandon:
I have been reverse engineering the DD driver application. I have reversed and named the majority of the methods and classes using Jadx.

DoorDash seems to implement this method in a DeviceUtils class in order to check if emulator is present:

package com.doordash.driverapp.p181e2;

import android.os.Build;

import java.util.LinkedHashMap;

import java.util.Map;

import p1485k.p1487b0.p1489d.ValidationUtils;

import p1485k.p1498i0.C38315j;

/* compiled from: DeviceUtils.kt */

/* renamed from: com.doordash.driverapp.e2.l */

/* loaded from: classes3.dex */

public final class DeviceUtils {

/* renamed from: a */

public static final DeviceUtils f14448a = new DeviceUtils();

private DeviceUtils() {

}

/* JADX DEBUG: Multi-variable search result rejected for r0v0, resolved type: com.doordash.driverapp.e2.l */

/* JADX WARN: Multi-variable type inference failed */

/* renamed from: b */

public static /* synthetic */ boolean checksIfEmulatorWrapper(DeviceUtils deviceUtils, Map map, int i, Object obj) {

if ((i & 1) != 0) {

map = new LinkedHashMap();

}

return deviceUtils._checksIfEmulator(map);

}

/* renamed from: a */

public final boolean _checksIfEmulator(Map<String, Object> map) {

ValidationUtils.checkNotNullThrowOrThrowIllegalArgument(map, "mapToFill");

String str = Build.BRAND;

ValidationUtils.checkNotNullOrThrowIllegalStateAndSanitize(str, "Build.BRAND");

boolean z = false;

if (C38315j.m2027s(str, "generic", false, 2, null)) {

String str2 = Build.BRAND;

ValidationUtils.checkNotNullOrThrowIllegalStateAndSanitize(str2, "Build.BRAND");

map.put("brand", str2);

}

String str3 = Build.DEVICE;

ValidationUtils.checkNotNullOrThrowIllegalStateAndSanitize(str3, "Build.DEVICE");

if (C38315j.m2027s(str3, "generic", false, 2, null)) {

String str4 = Build.DEVICE;

ValidationUtils.checkNotNullOrThrowIllegalStateAndSanitize(str4, "Build.DEVICE");

map.put("device", str4);

}

String str5 = Build.FINGERPRINT;

if (C38315j.m2027s(str5, "generic", false, 2, null) || C38315j.m2027s(str5, "unknown", false, 2, null)) {

String str6 = Build.FINGERPRINT;

ValidationUtils.checkNotNullOrThrowIllegalStateAndSanitize(str6, "Build.FINGERPRINT");

map.put("fingerprint", str6);

}

String str7 = Build.HARDWARE;

if (C38315j.m2025v(str7, "goldfish", false, 2, null) || C38315j.m2025v(str7, "ranchu", false, 2, null)) {

String str8 = Build.HARDWARE;

ValidationUtils.checkNotNullOrThrowIllegalStateAndSanitize(str8, "Build.HARDWARE");

map.put("hardware", str8);

}

String str9 = Build.MODEL;

if (C38315j.m2025v(str9, "google_sdk", false, 2, null) || C38315j.m2025v(str9, "Emulator", false, 2, null) || C38315j.m2025v(str9, "Android SDK built for x86", false, 2, null)) {

String str10 = Build.MODEL;

ValidationUtils.checkNotNullOrThrowIllegalStateAndSanitize(str10, "Build.MODEL");

map.put("model", str10);

}

String str11 = Build.MANUFACTURER;

ValidationUtils.checkNotNullOrThrowIllegalStateAndSanitize(str11, "Build.MANUFACTURER");

if (C38315j.m2025v(str11, "Genymotion", false, 2, null)) {

String str12 = Build.MANUFACTURER;

ValidationUtils.checkNotNullOrThrowIllegalStateAndSanitize(str12, "Build.MANUFACTURER");

map.put("manufacturer", str12);

}

String str13 = Build.PRODUCT;

if ((C38315j.m2025v(str13, "sdk_google", false, 2, null) || C38315j.m2025v(str13, "google_sdk", false, 2, null) || C38315j.m2025v(str13, "sdk", false, 2, null) || C38315j.m2025v(str13, "sdk_x86", false, 2, null) || C38315j.m2025v(str13, "vbox86p", false, 2, null) || C38315j.m2025v(str13, "emulator", false, 2, null) || C38315j.m2025v(str13, "simulator", false, 2, null)) ? true : true) {

String str14 = Build.PRODUCT;

ValidationUtils.checkNotNullOrThrowIllegalStateAndSanitize(str14, "Build.PRODUCT");

map.put("product", str14);

}

return !map.isEmpty();

}

}

The code is not fully reversed, and named. But as you can see there's a method I've named: checksIfEmulator() It seems to be called within the FraudDetector Class that i have reversed. Here is the call: (notice they are using a wrapper if you're confused)

public final boolean m63360a(C3092g<Boolean> c3092g) {
ValidationUtils.checkNotNullThrowOrThrowIllegalArgument(c3092g, "it");
return (ValidationUtils.areObjectsEqual((Boolean) c3092g.m84852d(), Boolean.TRUE) && !FraudDetector.this.m63381p()) && DeviceUtils.checksIfEmulatorWrapper(FraudDetector.this._deviceUtils, null, 1, null);
}

that is the implementation of of the checksIfEmulatorWrapper. Below is the full code of the FraudDetector class...

package com.doordash.driverapp.p336z1;

import android.content.Intent;
import android.content.IntentFilter;
import android.location.Location;
import android.location.LocationManager;
import androidx.localbroadcastmanager.p039a.LocalBroadcastManager;
import com.doordash.android.core.C3092g;
import com.doordash.android.identity.Identity;
import com.doordash.android.identity.p132c.C3560b;
import com.doordash.android.identity.p132c.User;
import com.doordash.android.logging.C3670d;
import com.doordash.driverapp.p181e2.C5403a1;
import com.doordash.driverapp.p181e2.C5407c0;
import com.doordash.driverapp.p181e2.C5412d;
import com.doordash.driverapp.p181e2.C5433i0;
import com.doordash.driverapp.p181e2.C5494t0;
import com.doordash.driverapp.p181e2.ContextWrapper;
import com.doordash.driverapp.p181e2.DeviceUtils;
import com.doordash.driverapp.p202ui.fraud.FraudDetectionBroadcastReceiver;
import com.doordash.driverapp.p314v1.DasherExperimentHelper;
import com.newrelic.agent.android.util.Constants;
import java.util.LinkedHashMap;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import p1440i.p1451c.AbstractC37126b;
import p1440i.p1451c.AbstractC37129c0;
import p1440i.p1451c.AbstractC37135d0;
import p1440i.p1451c.AbstractC37148k;
import p1440i.p1451c.AbstractC37170o;
import p1440i.p1451c.EnumC37124a;
import p1440i.p1451c.InterfaceC37147j0;
import p1440i.p1451c.InterfaceC38135s;
import p1440i.p1451c.p1452l0.C37153c;
import p1440i.p1451c.p1452l0.InterfaceC37152b;
import p1440i.p1451c.p1455o0.InterfaceC37184n;
import p1440i.p1451c.p1477u0.C38149d;
import p1485k.C38302i;
import p1485k.InterfaceC38283h;
import p1485k.Unit;
import p1485k.p1487b0.p1488c.Functions;
import p1485k.p1487b0.p1488c.SetupFunction;
import p1485k.p1487b0.p1489d.AbstractFunctionBase;
import p1485k.p1487b0.p1489d.ValidationUtils;
import p1514m.p1523b.InterfaceC38872a;

/* compiled from: FraudDetector.kt */
/* renamed from: com.doordash.driverapp.z1.p8 */
/* loaded from: classes2.dex */
public final class FraudDetector {

/* renamed from: a */
private boolean f27681a;

/* renamed from: b */
private AtomicBoolean f27682b;

/* renamed from: c */
private boolean f27683c;

/* renamed from: d */
private boolean f27684d;

/* renamed from: e */
private final InterfaceC38283h f27685e;

/* renamed from: f */
private final InterfaceC38283h f27686f;

/* renamed from: g */
private final String _gpsString;

/* renamed from: h */
private InterfaceC37152b f27688h;

/* renamed from: i */
private InterfaceC37152b f27689i;

/* renamed from: j */
private final LocalBroadcastManager f27690j;

/* renamed from: k */
private final C5494t0 f27691k;

/* renamed from: l */
private final C5407c0 f27692l;

/* renamed from: m */
private final DasherExperimentHelper _dasherExperimentHelper;

/* renamed from: n */
private final C5433i0 f27694n;

/* renamed from: o */
private final ContextWrapper _contextWrapper;

/* renamed from: p */
private final DeviceUtils _deviceUtils;

/* renamed from: q */
private final Identity _identity;

/* renamed from: r */
private final AbstractC37129c0 f27698r;

/* JADX INFO: Access modifiers changed from: package-private */
/* compiled from: FraudDetector.kt */
/* renamed from: com.doordash.driverapp.z1.p8$a */
/* loaded from: classes2.dex */
public static final class C11131a extends AbstractFunctionBase implements Functions<FraudDetectionBroadcastReceiver> {

/* renamed from: e0 */
public static final C11131a f27699e0 = new C11131a();

C11131a() {
super(0);
}

/* JADX DEBUG: Method merged with bridge method */
@Override // p1485k.p1487b0.p1488c.Functions
/* renamed from: e */
public final FraudDetectionBroadcastReceiver mo94334invoke() {
return new FraudDetectionBroadcastReceiver();
}
}

/* JADX INFO: Access modifiers changed from: package-private */
/* compiled from: FraudDetector.kt */
/* renamed from: com.doordash.driverapp.z1.p8$b */
/* loaded from: classes2.dex */
public static final class C11132b<T, R> implements InterfaceC37184n<T, InterfaceC37147j0<? extends R>> {
C11132b() {
}

/* JADX DEBUG: Method merged with bridge method */
@Override // p1440i.p1451c.p1455o0.InterfaceC37184n
/* renamed from: a */
public final AbstractC37135d0<C3092g<User>> mo83798a(C3560b c3560b) {
ValidationUtils.checkNotNullThrowOrThrowIllegalArgument(c3560b, "it");
return FraudDetector.this._identity.m83907j();
}
}

/* JADX INFO: Access modifiers changed from: package-private */
/* compiled from: FraudDetector.kt */
/* renamed from: com.doordash.driverapp.z1.p8$c */
/* loaded from: classes2.dex */
public static final class C11133c extends AbstractFunctionBase implements SetupFunction<C3092g<User>, Unit> {
C11133c() {
super(1);
}

/* renamed from: a */
public final void m63368a(C3092g<User> c3092g) {
User user;
boolean z = true;
FraudDetector.this.f27681a = (c3092g.m84851e() && (user = (User) c3092g.m84852d()) != null && user.m83835a()) ? false : false;
if (FraudDetector.this.f27681a) {
return;
}
LinkedHashMap linkedHashMap = new LinkedHashMap();
if (DeviceUtils.f14448a._checksIfEmulator(linkedHashMap)) {
C5412d.m78943P0(linkedHashMap);
}
}

/* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */
/* JADX DEBUG: Return type fixed from 'java.lang.Object' to match base method */
@Override // p1485k.p1487b0.p1488c.SetupFunction
public /* bridge */ /* synthetic */ Unit invoke(C3092g<User> c3092g) {
m63368a(c3092g);
return Unit._instance;
}
}

/* JADX INFO: Access modifiers changed from: package-private */
/* compiled from: FraudDetector.kt */
/* renamed from: com.doordash.driverapp.z1.p8$d */
/* loaded from: classes2.dex */
public static final class C11134d extends AbstractFunctionBase implements SetupFunction<Throwable, Unit> {
C11134d() {
super(1);
}

/* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */
/* JADX DEBUG: Return type fixed from 'java.lang.Object' to match base method */
@Override // p1485k.p1487b0.p1488c.SetupFunction
public /* bridge */ /* synthetic */ Unit invoke(Throwable th) {
invoke2(th);
return Unit._instance;
}

/* renamed from: invoke */
public final void invoke2(Throwable th) {
ValidationUtils.checkNotNullThrowOrThrowIllegalArgument(th, "it");
C3670d.m83622o(th, null, new Object[0], 2, null);
FraudDetector.this.f27681a = false;
}
}

/* JADX INFO: Access modifiers changed from: package-private */
/* compiled from: FraudDetector.kt */
/* renamed from: com.doordash.driverapp.z1.p8$e */
/* loaded from: classes2.dex */
public static final class C11135e<T, R> implements InterfaceC37184n<T, InterfaceC38135s<? extends R>> {
C11135e() {
}

/* JADX DEBUG: Method merged with bridge method */
@Override // p1440i.p1451c.p1455o0.InterfaceC37184n
/* renamed from: a */
public final AbstractC37170o<Boolean> mo83798a(Boolean bool) {
ValidationUtils.checkNotNullThrowOrThrowIllegalArgument(bool, "should");
if (bool.booleanValue()) {
FraudDetector.this.m63374w();
return AbstractC37170o.m3141q(Boolean.FALSE);
}
return AbstractC37170o.m3149i();
}
}

/* JADX INFO: Access modifiers changed from: package-private */
/* compiled from: FraudDetector.kt */
/* renamed from: com.doordash.driverapp.z1.p8$f */
/* loaded from: classes2.dex */
public static final class C11136f<T, R> implements InterfaceC37184n<T, R> {
C11136f() {
}

/* renamed from: a */
public final boolean m63366a(Boolean bool) {
ValidationUtils.checkNotNullThrowOrThrowIllegalArgument(bool, "shouldPerformCheck");
return (bool.booleanValue() && FraudDetector.this.m63377t()) ? false : true;
}

@Override // p1440i.p1451c.p1455o0.InterfaceC37184n
/* renamed from: apply */
public /* bridge */ /* synthetic */ Object mo83798a(Object obj) {
return Boolean.valueOf(m63366a((Boolean) obj));
}
}

/* JADX INFO: Access modifiers changed from: package-private */
/* compiled from: FraudDetector.kt */
/* renamed from: com.doordash.driverapp.z1.p8$g */
/* loaded from: classes2.dex */
public static final class C11137g<T, R> implements InterfaceC37184n<Throwable, Boolean> {

/* renamed from: e0 */
public static final C11137g f27705e0 = new C11137g();

C11137g() {
}

/* renamed from: a */
public final boolean m63365a(Throwable th) {
ValidationUtils.checkNotNullThrowOrThrowIllegalArgument(th, "it");
return true;
}

/* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */
/* JADX DEBUG: Return type fixed from 'java.lang.Object' to match base method */
@Override // p1440i.p1451c.p1455o0.InterfaceC37184n
/* renamed from: apply */
public /* bridge */ /* synthetic */ Boolean mo83798a(Throwable th) {
m63365a(th);
return Boolean.TRUE;
}
}

/* JADX INFO: Access modifiers changed from: package-private */
/* compiled from: FraudDetector.kt */
/* renamed from: com.doordash.driverapp.z1.p8$h */
/* loaded from: classes2.dex */
public static final class C11138h<T, R> implements InterfaceC37184n<T, R> {

/* renamed from: e0 */
public static final C11138h f27706e0 = new C11138h();

C11138h() {
}

/* JADX DEBUG: Method merged with bridge method */
@Override // p1440i.p1451c.p1455o0.InterfaceC37184n
/* renamed from: a */
public final C3092g<Boolean> mo83798a(Boolean bool) {
ValidationUtils.checkNotNullThrowOrThrowIllegalArgument(bool, "it");
return C3092g.C3093a.m84846c(C3092g.f8966e, bool, false, 2, null);
}
}

/* JADX INFO: Access modifiers changed from: package-private */
/* compiled from: FraudDetector.kt */
/* renamed from: com.doordash.driverapp.z1.p8$i */
/* loaded from: classes2.dex */
public static final class C11139i extends AbstractFunctionBase implements Functions<LocationManager> {

/* renamed from: e0 */
final /* synthetic */ C5403a1 f27707e0;

/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
C11139i(C5403a1 c5403a1) {
super(0);
this.f27707e0 = c5403a1;
}

/* JADX DEBUG: Method merged with bridge method */
@Override // p1485k.p1487b0.p1488c.Functions
/* renamed from: e */
public final LocationManager mo94334invoke() {
LocationManager m79112b = this.f27707e0.m79112b();
if (m79112b != null) {
return m79112b;
}
throw new RuntimeException("Location Manager not found");
}
}

/* JADX INFO: Access modifiers changed from: package-private */
/* compiled from: FraudDetector.kt */
/* renamed from: com.doordash.driverapp.z1.p8$j */
/* loaded from: classes2.dex */
public static final class C11140j<T, R> implements InterfaceC37184n<T, R> {
C11140j() {
}

/* renamed from: a */
public final boolean m63362a(Long l) {
ValidationUtils.checkNotNullThrowOrThrowIllegalArgument(l, "it");
return FraudDetector.this.m63377t();
}

@Override // p1440i.p1451c.p1455o0.InterfaceC37184n
/* renamed from: apply */
public /* bridge */ /* synthetic */ Object mo83798a(Object obj) {
return Boolean.valueOf(m63362a((Long) obj));
}
}

/* JADX INFO: Access modifiers changed from: package-private */
/* compiled from: FraudDetector.kt */
/* renamed from: com.doordash.driverapp.z1.p8$k */
/* loaded from: classes2.dex */
public static final class C11141k<T, R> implements InterfaceC37184n<T, R> {
C11141k() {
}

/* renamed from: a */
public final boolean m63361a(C3092g<Boolean> c3092g) {
ValidationUtils.checkNotNullThrowOrThrowIllegalArgument(c3092g, "it");
return ValidationUtils.areObjectsEqual((Boolean) c3092g.m84852d(), Boolean.TRUE) && !FraudDetector.this.m63380q();
}

@Override // p1440i.p1451c.p1455o0.InterfaceC37184n
/* renamed from: apply */
public /* bridge */ /* synthetic */ Object mo83798a(Object obj) {
return Boolean.valueOf(m63361a((C3092g) obj));
}
}

/* JADX INFO: Access modifiers changed from: package-private */
/* compiled from: FraudDetector.kt */
/* renamed from: com.doordash.driverapp.z1.p8$l */
/* loaded from: classes2.dex */
public static final class C11142l<T, R> implements InterfaceC37184n<T, R> {
C11142l() {
}

/* renamed from: a */
public final boolean m63360a(C3092g<Boolean> c3092g) {
ValidationUtils.checkNotNullThrowOrThrowIllegalArgument(c3092g, "it");
return (ValidationUtils.areObjectsEqual((Boolean) c3092g.m84852d(), Boolean.TRUE) && !FraudDetector.this.m63381p()) && DeviceUtils.checksIfEmulatorWrapper(FraudDetector.this._deviceUtils, null, 1, null);
}

@Override // p1440i.p1451c.p1455o0.InterfaceC37184n
/* renamed from: apply */
public /* bridge */ /* synthetic */ Object mo83798a(Object obj) {
return Boolean.valueOf(m63360a((C3092g) obj));
}
}

/* JADX INFO: Access modifiers changed from: package-private */
/* compiled from: FraudDetector.kt */
/* renamed from: com.doordash.driverapp.z1.p8$m */
/* loaded from: classes2.dex */
public static final class C11143m<T, R> implements InterfaceC37184n<T, InterfaceC38135s<? extends R>> {
C11143m() {
}

/* JADX DEBUG: Method merged with bridge method */
@Override // p1440i.p1451c.p1455o0.InterfaceC37184n
/* renamed from: a */
public final AbstractC37170o<Boolean> mo83798a(Boolean bool) {
ValidationUtils.checkNotNullThrowOrThrowIllegalArgument(bool, "should");
if (bool.booleanValue()) {
return AbstractC37170o.m3141q(Boolean.valueOf(FraudDetector.this.m63374w()));
}
return AbstractC37170o.m3149i();
}
}

/* JADX INFO: Access modifiers changed from: package-private */
/* compiled from: FraudDetector.kt */
/* renamed from: com.doordash.driverapp.z1.p8$n */
/* loaded from: classes2.dex */
public static final class C11144n<T, R> implements InterfaceC37184n<T, InterfaceC38872a<? extends R>> {
C11144n() {
}

/* JADX DEBUG: Method merged with bridge method */
@Override // p1440i.p1451c.p1455o0.InterfaceC37184n
/* renamed from: a */
public final AbstractC37148k<Boolean> mo83798a(Boolean bool) {
ValidationUtils.checkNotNullThrowOrThrowIllegalArgument(bool, "should");
if (bool.booleanValue()) {
return FraudDetector.this.m63375v();
}
AbstractC37148k<Boolean> m3206n = AbstractC37148k.m3206n();
ValidationUtils.checkNotNullOrThrowIllegalStateAndSanitize(m3206n, "Flowable.empty()");
return m3206n;
}
}

/* JADX INFO: Access modifiers changed from: package-private */
/* compiled from: FraudDetector.kt */
/* renamed from: com.doordash.driverapp.z1.p8$o */
/* loaded from: classes2.dex */
public static final class C11145o extends AbstractFunctionBase implements SetupFunction<Throwable, Unit> {

/* renamed from: e0 */
public static final C11145o f27713e0 = new C11145o();

C11145o() {
super(1);
}

/* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */
/* JADX DEBUG: Return type fixed from 'java.lang.Object' to match base method */
@Override // p1485k.p1487b0.p1488c.SetupFunction
public /* bridge */ /* synthetic */ Unit invoke(Throwable th) {
invoke2(th);
return Unit._instance;
}

/* renamed from: invoke */
public final void invoke2(Throwable th) {
ValidationUtils.checkNotNullThrowOrThrowIllegalArgument(th, "it");
C3670d.m83622o(th, null, new Object[0], 2, null);
}
}

public FraudDetector(LocalBroadcastManager localBroadcastManager, C5494t0 c5494t0, C5407c0 c5407c0, DasherExperimentHelper dasherExperimentHelper, C5433i0 c5433i0, ContextWrapper contextWrapper, DeviceUtils deviceUtils, Identity identity, AbstractC37129c0 abstractC37129c0, C5403a1 c5403a1) {
ValidationUtils.checkNotNullThrowOrThrowIllegalArgument(localBroadcastManager, "localBroadcastManager");
ValidationUtils.checkNotNullThrowOrThrowIllegalArgument(c5494t0, "secureSettingsWrapper");
ValidationUtils.checkNotNullThrowOrThrowIllegalArgument(c5407c0, "intentFilterWrapper");
ValidationUtils.checkNotNullThrowOrThrowIllegalArgument(dasherExperimentHelper, "experiments");
ValidationUtils.checkNotNullThrowOrThrowIllegalArgument(c5433i0, "osVersionHelper");
ValidationUtils.checkNotNullThrowOrThrowIllegalArgument(contextWrapper, "contextWrapper");
ValidationUtils.checkNotNullThrowOrThrowIllegalArgument(deviceUtils, "deviceUtils");
ValidationUtils.checkNotNullThrowOrThrowIllegalArgument(identity, Constants.Network.ContentType.IDENTITY);
ValidationUtils.checkNotNullThrowOrThrowIllegalArgument(abstractC37129c0, "computationScheduler");
ValidationUtils.checkNotNullThrowOrThrowIllegalArgument(c5403a1, "services");
this.f27690j = localBroadcastManager;
this.f27691k = c5494t0;
this.f27692l = c5407c0;
this._dasherExperimentHelper = dasherExperimentHelper;
this.f27694n = c5433i0;
this._contextWrapper = contextWrapper;
this._deviceUtils = deviceUtils;
this._identity = identity;
this.f27698r = abstractC37129c0;
this.f27682b = new AtomicBoolean(false);
this.f27685e = C38302i.m2069a(C11131a.f27699e0);
this.f27686f = C38302i.m2069a(new C11139i(c5403a1));
this._gpsString = "gps";
InterfaceC37152b m3177b = C37153c.m3177b();
ValidationUtils.checkNotNullOrThrowIllegalStateAndSanitize(m3177b, "Disposables.empty()");
this.f27688h = m3177b;
InterfaceC37152b m3178a = C37153c.m3178a();
ValidationUtils.checkNotNullOrThrowIllegalStateAndSanitize(m3178a, "Disposables.disposed()");
this.f27689i = m3178a;
}

/* JADX DEBUG: Type inference failed for r0v1. Raw type applied. Possible types: i.c.d0<R>, java.lang.Object, i.c.d0<java.lang.Boolean> */
/* renamed from: B */
private final AbstractC37135d0<Boolean> m63399B() {
AbstractC37135d0 m3283t0 = m63379r().m3283t0(new C11142l());
ValidationUtils.checkNotNullOrThrowIllegalStateAndSanitize(m3283t0, "isEmulationExperimentEna…lator()\n }");
return m3283t0;
}

/* renamed from: j */
private final FraudDetectionBroadcastReceiver m63387j() {
return (FraudDetectionBroadcastReceiver) this.f27685e.getValue();
}

/* renamed from: k */
private final LocationManager m63386k() {
return (LocationManager) this.f27686f.getValue();
}

/* renamed from: n */
private final boolean m63383n() {
return this._contextWrapper.m78531a("android.permission.ACCESS_COARSE_LOCATION") == 0 && this._contextWrapper.m78531a("android.permission.ACCESS_FINE_LOCATION") == 0;
}

/* JADX INFO: Access modifiers changed from: private */
/* renamed from: p */
public final boolean m63381p() {
return !this.f27684d && this.f27681a;
}

/* JADX INFO: Access modifiers changed from: private */
/* renamed from: q */
public final boolean m63380q() {
return !this.f27683c && this.f27681a;
}

/* renamed from: r */
private final AbstractC37135d0<C3092g<Boolean>> m63379r() {
return this._dasherExperimentHelper.isExperimentEnabled("m_dx_android_emulation_prevention");
}

/* renamed from: s */
private final AbstractC37135d0<C3092g<Boolean>> m63378s() {
return this._dasherExperimentHelper.isExperimentEnabled("m_dx_android_geo_spoofing_prevention");
}

/* JADX INFO: Access modifiers changed from: private */
/* renamed from: t */
public final boolean m63377t() {
boolean z = false;
if (m63383n()) {
if (this.f27694n.m78523a() < 23) {
if (!this.f27691k.m78376b()) {
z = true;
}
} else {
try {
Location lastKnownLocation = m63386k().getLastKnownLocation(this._gpsString);
if (lastKnownLocation != null) {
boolean isFromMockProvider = lastKnownLocation.isFromMockProvider();
if (isFromMockProvider) {
C5412d.m79060D3();
}
z = isFromMockProvider;
}
} catch (SecurityException e) {
C3670d.m83622o(e, null, new Object[0], 2, null);
}
}
}
if (z) {
m63373x();
}
return z;
}

/* JADX DEBUG: Type inference failed for r0v2. Raw type applied. Possible types: i.c.k<R>, java.lang.Object, i.c.k<java.lang.Boolean> */
/* JADX INFO: Access modifiers changed from: private */
/* renamed from: v */
public final AbstractC37148k<Boolean> m63375v() {
AbstractC37148k m3243M = AbstractC37148k.m3245K(0L, 30L, TimeUnit.SECONDS, this.f27698r).m3243M(new C11140j());
ValidationUtils.checkNotNullOrThrowIllegalStateAndSanitize(m3243M, "Flowable\n ….map { isMockLocation() }");
return m3243M;
}

/* JADX INFO: Access modifiers changed from: private */
/* renamed from: w */
public final boolean m63374w() {
return this.f27690j.m90484d(new Intent("com.doordash.driverapp.ui.e_d"));
}

/* renamed from: x */
private final boolean m63373x() {
return this.f27690j.m90484d(new Intent("com.doordash.driverapp.ui.g_s_d"));
}

/* JADX DEBUG: Type inference failed for r0v1. Raw type applied. Possible types: i.c.d0<R>, java.lang.Object, i.c.d0<java.lang.Boolean> */
/* renamed from: A */
public final AbstractC37135d0<Boolean> m63400A() {
AbstractC37135d0 m3283t0 = m63378s().m3283t0(new C11141k());
ValidationUtils.checkNotNullOrThrowIllegalStateAndSanitize(m3283t0, "isGeoSpoofingExperimentE…onCheck\n }");
return m3283t0;
}

/* renamed from: C */
public final void m63398C() {
this.f27688h.dispose();
AbstractC37126b m3247I = m63399B().m3330d0(new C11143m()).m3136v(AbstractC37170o.m3149i()).m3158G().m3198r0(m63400A().m3325f0(new C11144n())).m3247I();
ValidationUtils.checkNotNullOrThrowIllegalStateAndSanitize(m3247I, "shouldShowEmulationScree… .ignoreElements()");
this.f27688h = C38149d.m2302i(m3247I, C11145o.f27713e0, null, 2, null);
}

/* renamed from: D */
public final void m63397D() {
this.f27688h.dispose();
}

/* renamed from: l */
public final boolean m63385l() {
return this.f27684d;
}

/* renamed from: m */
public final boolean m63384m() {
return this.f27683c;
}

/* renamed from: o */
public final void m63382o() {
this.f27689i.dispose();
if (!this.f27682b.get()) {
this.f27682b.set(true);
LocalBroadcastManager localBroadcastManager = this.f27690j;
FraudDetectionBroadcastReceiver m63387j = m63387j();
IntentFilter m79101a = this.f27692l.m79101a();
m79101a.addAction("com.doordash.driverapp.ui.g_s_d");
m79101a.addAction("com.doordash.driverapp.ui.e_d");
localBroadcastManager.m90485c(m63387j, m79101a);
}
AbstractC37148k m3202p0 = this._identity.m83908i().toFlowable(EnumC37124a.f108726g0).m3184z(new C11132b()).m3202p0(this.f27698r);
ValidationUtils.checkNotNullOrThrowIllegalStateAndSanitize(m3202p0, "identity.getTokenUpdates…eOn(computationScheduler)");
this.f27689i = C38149d.m2301j(m3202p0, new C11134d(), null, new C11133c(), 2, null);
}

/* renamed from: u */
public final AbstractC37135d0<C3092g<Boolean>> m63376u() {
AbstractC37135d0<C3092g<Boolean>> m3283t0 = m63399B().m3330d0(new C11135e()).m3136v(AbstractC37170o.m3149i()).m3159F(m63400A().m3283t0(new C11136f())).m3367L0(C11137g.f27705e0).m3283t0(C11138h.f27706e0);
ValidationUtils.checkNotNullOrThrowIllegalStateAndSanitize(m3283t0, "shouldShowEmulationScree…p { Outcome.success(it) }");
return m3283t0;
}

/* renamed from: y */
public final void m63372y(boolean z) {
this.f27684d = z;
}

/* renamed from: z */
public final void m63371z(boolean z) {
this.f27683c = z;
}
}

There's many things in here. such as "dasher_experiments" these are things that doordash runs for various reasons. For example, the Emulator detection is considered a dasher_experiment and you can disable it from there but they have various sanity/validation checks. Below you can see how they are referring to these "experiment" in code:

/* renamed from: r */
private final AbstractC37135d0<C3092g<Boolean>> m63379r() {
return this._dasherExperimentHelper.isExperimentEnabled("m_dx_android_emulation_prevention");
}

/* renamed from: s */
private final AbstractC37135d0<C3092g<Boolean>> m63378s() {
return this._dasherExperimentHelper.isExperimentEnabled("m_dx_android_geo_spoofing_prevention");
}

for example the "m_dx_android_emulation_prevention" experiment probably invokes the code I showed above for the actual emulator detection. We can patch the emualtor detection either with hook or any other ways.

Is anybody who made it this far in reading this Experienced in doing so? I have never actually hooked or modified mobile applications only PC applications.

I would love to have an open dialog regarding the matter. I can upload my reverse engineering project for those who would like to collaborate with or contribute. Perhaps I will host on my own GIT server so we can reverse the entire DoorDash application.