Files
rr3-apk/decompiled-community/sources/com/facebook/appevents/codeless/internal/SensitiveUserDataUtils.java
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

152 lines
5.1 KiB
Java

package com.facebook.appevents.codeless.internal;
import android.text.method.PasswordTransformationMethod;
import android.util.Patterns;
import android.view.View;
import android.widget.TextView;
import com.facebook.internal.instrument.crashshield.CrashShieldHandler;
import kotlin.text.CharsKt__CharKt;
import kotlin.text.Regex;
/* loaded from: classes2.dex */
public final class SensitiveUserDataUtils {
public static final SensitiveUserDataUtils INSTANCE = new SensitiveUserDataUtils();
private SensitiveUserDataUtils() {
}
public static final boolean isSensitiveUserData(View view) {
if (CrashShieldHandler.isObjectCrashing(SensitiveUserDataUtils.class)) {
return false;
}
try {
if (!(view instanceof TextView)) {
return false;
}
SensitiveUserDataUtils sensitiveUserDataUtils = INSTANCE;
if (!sensitiveUserDataUtils.isPassword((TextView) view) && !sensitiveUserDataUtils.isCreditCard((TextView) view) && !sensitiveUserDataUtils.isPersonName((TextView) view) && !sensitiveUserDataUtils.isPostalAddress((TextView) view) && !sensitiveUserDataUtils.isPhoneNumber((TextView) view)) {
if (!sensitiveUserDataUtils.isEmail((TextView) view)) {
return false;
}
}
return true;
} catch (Throwable th) {
CrashShieldHandler.handleThrowable(th, SensitiveUserDataUtils.class);
return false;
}
}
private final boolean isPassword(TextView textView) {
if (CrashShieldHandler.isObjectCrashing(this)) {
return false;
}
try {
if (textView.getInputType() == 128) {
return true;
}
return textView.getTransformationMethod() instanceof PasswordTransformationMethod;
} catch (Throwable th) {
CrashShieldHandler.handleThrowable(th, this);
return false;
}
}
private final boolean isEmail(TextView textView) {
if (CrashShieldHandler.isObjectCrashing(this)) {
return false;
}
try {
if (textView.getInputType() == 32) {
return true;
}
String textOfView = ViewHierarchy.getTextOfView(textView);
if (textOfView != null && textOfView.length() != 0) {
return Patterns.EMAIL_ADDRESS.matcher(textOfView).matches();
}
return false;
} catch (Throwable th) {
CrashShieldHandler.handleThrowable(th, this);
return false;
}
}
private final boolean isPersonName(TextView textView) {
if (CrashShieldHandler.isObjectCrashing(this)) {
return false;
}
try {
return textView.getInputType() == 96;
} catch (Throwable th) {
CrashShieldHandler.handleThrowable(th, this);
return false;
}
}
private final boolean isPostalAddress(TextView textView) {
if (CrashShieldHandler.isObjectCrashing(this)) {
return false;
}
try {
return textView.getInputType() == 112;
} catch (Throwable th) {
CrashShieldHandler.handleThrowable(th, this);
return false;
}
}
private final boolean isPhoneNumber(TextView textView) {
if (CrashShieldHandler.isObjectCrashing(this)) {
return false;
}
try {
return textView.getInputType() == 3;
} catch (Throwable th) {
CrashShieldHandler.handleThrowable(th, this);
return false;
}
}
private final boolean isCreditCard(TextView textView) {
int i;
int digitToInt;
if (CrashShieldHandler.isObjectCrashing(this)) {
return false;
}
try {
String replace = new Regex("\\s").replace(ViewHierarchy.getTextOfView(textView), "");
int length = replace.length();
if (length >= 12 && length <= 19) {
int i2 = length - 1;
if (i2 >= 0) {
boolean z = false;
i = 0;
while (true) {
int i3 = i2 - 1;
char charAt = replace.charAt(i2);
if (!Character.isDigit(charAt)) {
return false;
}
digitToInt = CharsKt__CharKt.digitToInt(charAt);
if (z && (digitToInt = digitToInt * 2) > 9) {
digitToInt = (digitToInt % 10) + 1;
}
i += digitToInt;
z = !z;
if (i3 < 0) {
break;
}
i2 = i3;
}
} else {
i = 0;
}
return i % 10 == 0;
}
return false;
} catch (Throwable th) {
CrashShieldHandler.handleThrowable(th, this);
return false;
}
}
}