jimu-decompiled/sources/com/google/zxing/client/android/wifi/WifiConfigManager.java
2025-05-13 19:24:51 +02:00

338 lines
11 KiB
Java

package com.google.zxing.client.android.wifi;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager;
import android.os.AsyncTask;
import android.util.Log;
import com.google.zxing.client.result.WifiParsedResult;
import java.util.List;
import java.util.regex.Pattern;
/* loaded from: classes.dex */
public final class WifiConfigManager extends AsyncTask<WifiParsedResult, Object, Object> {
private static final String b = WifiConfigManager.class.getSimpleName();
private static final Pattern c = Pattern.compile("[0-9A-Fa-f]+");
private final WifiManager a;
/* renamed from: com.google.zxing.client.android.wifi.WifiConfigManager$1, reason: invalid class name */
static /* synthetic */ class AnonymousClass1 {
static final /* synthetic */ int[] a = new int[NetworkType.values().length];
static {
try {
a[NetworkType.WEP.ordinal()] = 1;
} catch (NoSuchFieldError unused) {
}
try {
a[NetworkType.WPA.ordinal()] = 2;
} catch (NoSuchFieldError unused2) {
}
try {
a[NetworkType.WPA2_EAP.ordinal()] = 3;
} catch (NoSuchFieldError unused3) {
}
}
}
public WifiConfigManager(WifiManager wifiManager) {
this.a = wifiManager;
}
private static void b(WifiManager wifiManager, WifiParsedResult wifiParsedResult) {
WifiConfiguration a = a(wifiParsedResult);
a.wepKeys[0] = a(wifiParsedResult.g(), 10, 26, 58);
a.wepTxKeyIndex = 0;
a.allowedAuthAlgorithms.set(1);
a.allowedKeyManagement.set(0);
a.allowedGroupCiphers.set(2);
a.allowedGroupCiphers.set(3);
a.allowedGroupCiphers.set(0);
a.allowedGroupCiphers.set(1);
a(wifiManager, a);
}
private static void c(WifiManager wifiManager, WifiParsedResult wifiParsedResult) {
WifiConfiguration a = a(wifiParsedResult);
a.preSharedKey = a(wifiParsedResult.g(), 64);
a.allowedAuthAlgorithms.set(0);
a.allowedProtocols.set(0);
a.allowedProtocols.set(1);
a.allowedKeyManagement.set(1);
a.allowedKeyManagement.set(2);
a.allowedPairwiseCiphers.set(1);
a.allowedPairwiseCiphers.set(2);
a.allowedGroupCiphers.set(2);
a.allowedGroupCiphers.set(3);
a(wifiManager, a);
}
private static void d(WifiManager wifiManager, WifiParsedResult wifiParsedResult) {
WifiConfiguration a = a(wifiParsedResult);
a.preSharedKey = a(wifiParsedResult.g(), 64);
a.allowedAuthAlgorithms.set(0);
a.allowedProtocols.set(1);
a.allowedKeyManagement.set(2);
a.allowedPairwiseCiphers.set(1);
a.allowedPairwiseCiphers.set(2);
a.allowedGroupCiphers.set(2);
a.allowedGroupCiphers.set(3);
a.enterpriseConfig.setIdentity(wifiParsedResult.e());
a.enterpriseConfig.setAnonymousIdentity(wifiParsedResult.c());
a.enterpriseConfig.setPassword(wifiParsedResult.g());
a.enterpriseConfig.setEapMethod(b(wifiParsedResult.d()));
a.enterpriseConfig.setPhase2Method(c(wifiParsedResult.h()));
a(wifiManager, a);
}
/* JADX INFO: Access modifiers changed from: protected */
@Override // android.os.AsyncTask
/* renamed from: a, reason: merged with bridge method [inline-methods] */
public Object doInBackground(WifiParsedResult... wifiParsedResultArr) {
int i = 0;
WifiParsedResult wifiParsedResult = wifiParsedResultArr[0];
if (!this.a.isWifiEnabled()) {
Log.i(b, "Enabling wi-fi...");
if (!this.a.setWifiEnabled(true)) {
Log.w(b, "Wi-fi could not be enabled!");
return null;
}
Log.i(b, "Wi-fi enabled");
while (!this.a.isWifiEnabled()) {
if (i >= 10) {
Log.i(b, "Took too long to enable wi-fi, quitting");
return null;
}
Log.i(b, "Still waiting for wi-fi to enable...");
try {
Thread.sleep(1000L);
} catch (InterruptedException unused) {
Thread.currentThread().interrupt();
}
i++;
}
}
try {
NetworkType a = NetworkType.a(wifiParsedResult.f());
if (a == NetworkType.NO_PASSWORD) {
a(this.a, wifiParsedResult);
} else {
String g = wifiParsedResult.g();
if (g != null && !g.isEmpty()) {
int i2 = AnonymousClass1.a[a.ordinal()];
if (i2 == 1) {
b(this.a, wifiParsedResult);
} else if (i2 == 2) {
c(this.a, wifiParsedResult);
} else if (i2 == 3) {
d(this.a, wifiParsedResult);
}
}
}
return null;
} catch (IllegalArgumentException unused2) {
Log.w(b, "Bad network type");
return null;
}
}
/* JADX WARN: Can't fix incorrect switch cases order, some code will duplicate */
private static int b(String str) {
char c2;
if (str == null) {
return -1;
}
switch (str.hashCode()) {
case 79645:
if (str.equals("PWD")) {
c2 = 2;
break;
}
c2 = 65535;
break;
case 83163:
if (str.equals("TLS")) {
c2 = 3;
break;
}
c2 = 65535;
break;
case 2402104:
if (str.equals("NONE")) {
c2 = 0;
break;
}
c2 = 65535;
break;
case 2451684:
if (str.equals("PEAP")) {
c2 = 1;
break;
}
c2 = 65535;
break;
case 2585607:
if (str.equals("TTLS")) {
c2 = 4;
break;
}
c2 = 65535;
break;
default:
c2 = 65535;
break;
}
if (c2 == 0) {
return -1;
}
if (c2 == 1) {
return 0;
}
if (c2 == 2) {
return 3;
}
if (c2 == 3) {
return 1;
}
if (c2 == 4) {
return 2;
}
throw new IllegalArgumentException("Unknown value for EAP method: " + str);
}
/* JADX WARN: Failed to restore switch over string. Please report as a decompilation issue */
private static int c(String str) {
if (str == null) {
return 0;
}
char c2 = 65535;
switch (str.hashCode()) {
case -2011803142:
if (str.equals("MSCHAP")) {
c2 = 1;
break;
}
break;
case -607533546:
if (str.equals("MSCHAPV2")) {
c2 = 2;
break;
}
break;
case 70902:
if (str.equals("GTC")) {
c2 = 0;
break;
}
break;
case 78975:
if (str.equals("PAP")) {
c2 = 4;
break;
}
break;
case 2402104:
if (str.equals("NONE")) {
c2 = 3;
break;
}
break;
}
if (c2 == 0) {
return 4;
}
if (c2 == 1) {
return 2;
}
if (c2 == 2) {
return 3;
}
if (c2 == 3) {
return 0;
}
if (c2 == 4) {
return 1;
}
throw new IllegalArgumentException("Unknown value for phase 2 method: " + str);
}
private static void a(WifiManager wifiManager, WifiConfiguration wifiConfiguration) {
Integer a = a(wifiManager, wifiConfiguration.SSID);
if (a != null) {
Log.i(b, "Removing old configuration for network " + wifiConfiguration.SSID);
wifiManager.removeNetwork(a.intValue());
wifiManager.saveConfiguration();
}
int addNetwork = wifiManager.addNetwork(wifiConfiguration);
if (addNetwork >= 0) {
if (wifiManager.enableNetwork(addNetwork, true)) {
Log.i(b, "Associating to network " + wifiConfiguration.SSID);
wifiManager.saveConfiguration();
return;
}
Log.w(b, "Failed to enable network " + wifiConfiguration.SSID);
return;
}
Log.w(b, "Unable to add network " + wifiConfiguration.SSID);
}
private static WifiConfiguration a(WifiParsedResult wifiParsedResult) {
WifiConfiguration wifiConfiguration = new WifiConfiguration();
wifiConfiguration.allowedAuthAlgorithms.clear();
wifiConfiguration.allowedGroupCiphers.clear();
wifiConfiguration.allowedKeyManagement.clear();
wifiConfiguration.allowedPairwiseCiphers.clear();
wifiConfiguration.allowedProtocols.clear();
wifiConfiguration.SSID = a(wifiParsedResult.i(), new int[0]);
wifiConfiguration.hiddenSSID = wifiParsedResult.j();
return wifiConfiguration;
}
private static void a(WifiManager wifiManager, WifiParsedResult wifiParsedResult) {
WifiConfiguration a = a(wifiParsedResult);
a.allowedKeyManagement.set(0);
a(wifiManager, a);
}
private static Integer a(WifiManager wifiManager, String str) {
List<WifiConfiguration> configuredNetworks = wifiManager.getConfiguredNetworks();
if (configuredNetworks == null) {
return null;
}
for (WifiConfiguration wifiConfiguration : configuredNetworks) {
String str2 = wifiConfiguration.SSID;
if (str2 != null && str2.equals(str)) {
return Integer.valueOf(wifiConfiguration.networkId);
}
}
return null;
}
private static String a(String str, int... iArr) {
return a((CharSequence) str, iArr) ? str : a(str);
}
private static String a(String str) {
if (str == null || str.isEmpty()) {
return null;
}
if (str.charAt(0) == '\"' && str.charAt(str.length() - 1) == '\"') {
return str;
}
return '\"' + str + '\"';
}
private static boolean a(CharSequence charSequence, int... iArr) {
if (charSequence != null && c.matcher(charSequence).matches()) {
if (iArr.length == 0) {
return true;
}
for (int i : iArr) {
if (charSequence.length() == i) {
return true;
}
}
}
return false;
}
}