66 lines
2.9 KiB
Java
66 lines
2.9 KiB
Java
package com.google.zxing.client.android.encode;
|
|
|
|
import java.util.List;
|
|
import java.util.regex.Pattern;
|
|
|
|
/* loaded from: classes.dex */
|
|
final class MECARDContactEncoder extends ContactEncoder {
|
|
|
|
private static final class MECARDFieldFormatter implements Formatter {
|
|
private static final Pattern a = Pattern.compile("([\\\\:;])");
|
|
private static final Pattern b = Pattern.compile("\\n");
|
|
|
|
private MECARDFieldFormatter() {
|
|
}
|
|
|
|
@Override // com.google.zxing.client.android.encode.Formatter
|
|
public CharSequence a(CharSequence charSequence, int i) {
|
|
return ':' + b.matcher(a.matcher(charSequence).replaceAll("\\\\$1")).replaceAll("");
|
|
}
|
|
}
|
|
|
|
private static final class MECARDNameDisplayFormatter implements Formatter {
|
|
private static final Pattern a = Pattern.compile(",");
|
|
|
|
private MECARDNameDisplayFormatter() {
|
|
}
|
|
|
|
@Override // com.google.zxing.client.android.encode.Formatter
|
|
public CharSequence a(CharSequence charSequence, int i) {
|
|
return a.matcher(charSequence).replaceAll("");
|
|
}
|
|
}
|
|
|
|
private static final class MECARDTelDisplayFormatter implements Formatter {
|
|
private static final Pattern a = Pattern.compile("[^0-9+]+");
|
|
|
|
private MECARDTelDisplayFormatter() {
|
|
}
|
|
|
|
@Override // com.google.zxing.client.android.encode.Formatter
|
|
public CharSequence a(CharSequence charSequence, int i) {
|
|
return a.matcher(ContactEncoder.a(charSequence.toString())).replaceAll("");
|
|
}
|
|
}
|
|
|
|
MECARDContactEncoder() {
|
|
}
|
|
|
|
@Override // com.google.zxing.client.android.encode.ContactEncoder
|
|
public String[] a(List<String> list, String str, List<String> list2, List<String> list3, List<String> list4, List<String> list5, List<String> list6, String str2) {
|
|
StringBuilder sb = new StringBuilder(100);
|
|
sb.append("MECARD:");
|
|
StringBuilder sb2 = new StringBuilder(100);
|
|
MECARDFieldFormatter mECARDFieldFormatter = new MECARDFieldFormatter();
|
|
ContactEncoder.a(sb, sb2, "N", list, 1, (Formatter) new MECARDNameDisplayFormatter(), (Formatter) mECARDFieldFormatter, ';');
|
|
ContactEncoder.a(sb, sb2, "ORG", str, mECARDFieldFormatter, ';');
|
|
ContactEncoder.a(sb, sb2, "ADR", list2, 1, (Formatter) null, (Formatter) mECARDFieldFormatter, ';');
|
|
ContactEncoder.a(sb, sb2, "TEL", list3, Integer.MAX_VALUE, (Formatter) new MECARDTelDisplayFormatter(), (Formatter) mECARDFieldFormatter, ';');
|
|
ContactEncoder.a(sb, sb2, "EMAIL", list5, Integer.MAX_VALUE, (Formatter) null, (Formatter) mECARDFieldFormatter, ';');
|
|
ContactEncoder.a(sb, sb2, "URL", list6, Integer.MAX_VALUE, (Formatter) null, (Formatter) mECARDFieldFormatter, ';');
|
|
ContactEncoder.a(sb, sb2, "NOTE", str2, mECARDFieldFormatter, ';');
|
|
sb.append(';');
|
|
return new String[]{sb.toString(), sb2.toString()};
|
|
}
|
|
}
|