discord-jadx/app/src/main/java/androidx/core/net/MailTo.java

117 lines
3.3 KiB
Java

package androidx.core.net;
import android.net.Uri;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.util.Preconditions;
import c.d.b.a.a;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
public final class MailTo {
private static final String BCC = "bcc";
private static final String BODY = "body";
private static final String CC = "cc";
private static final String MAILTO = "mailto";
public static final String MAILTO_SCHEME = "mailto:";
private static final String SUBJECT = "subject";
private static final String TO = "to";
private HashMap<String, String> mHeaders = new HashMap<>();
private MailTo() {
}
public static boolean isMailTo(@Nullable Uri uri) {
return uri != null && MAILTO.equals(uri.getScheme());
}
public static boolean isMailTo(@Nullable String str) {
return str != null && str.startsWith(MAILTO_SCHEME);
}
@NonNull
public static MailTo parse(@NonNull Uri uri) throws ParseException {
return parse(uri.toString());
}
@NonNull
public static MailTo parse(@NonNull String str) throws ParseException {
String str2;
String str3;
Preconditions.checkNotNull(str);
if (isMailTo(str)) {
int indexOf = str.indexOf(35);
if (indexOf != -1) {
str = str.substring(0, indexOf);
}
int indexOf2 = str.indexOf(63);
if (indexOf2 == -1) {
str3 = Uri.decode(str.substring(7));
str2 = null;
} else {
str3 = Uri.decode(str.substring(7, indexOf2));
str2 = str.substring(indexOf2 + 1);
}
MailTo mailTo = new MailTo();
if (str2 != null) {
for (String str4 : str2.split("&")) {
String[] split = str4.split("=", 2);
if (split.length != 0) {
mailTo.mHeaders.put(Uri.decode(split[0]).toLowerCase(Locale.ROOT), split.length > 1 ? Uri.decode(split[1]) : null);
}
}
}
String to = mailTo.getTo();
if (to != null) {
str3 = a.v(str3, ", ", to);
}
mailTo.mHeaders.put(TO, str3);
return mailTo;
}
throw new ParseException("Not a mailto scheme");
}
@Nullable
public String getBcc() {
return this.mHeaders.get(BCC);
}
@Nullable
public String getBody() {
return this.mHeaders.get(BODY);
}
@Nullable
public String getCc() {
return this.mHeaders.get(CC);
}
@Nullable
public Map<String, String> getHeaders() {
return this.mHeaders;
}
@Nullable
public String getSubject() {
return this.mHeaders.get(SUBJECT);
}
@Nullable
public String getTo() {
return this.mHeaders.get(TO);
}
@NonNull
public String toString() {
StringBuilder sb = new StringBuilder(MAILTO_SCHEME);
sb.append('?');
for (Map.Entry<String, String> entry : this.mHeaders.entrySet()) {
sb.append(Uri.encode(entry.getKey()));
sb.append('=');
sb.append(Uri.encode(entry.getValue()));
sb.append('&');
}
return sb.toString();
}
}