Replace usage of android.net.MailTo with androidx.core.net.MailTo

Use the AndroidX version of MailTo instead of the broken platform version.
For more information see https://cketti.de/2020/06/22/android-net-mailto-is-broken/
pull/187/head
cketti 5 years ago
parent 3692ae0509
commit 03003a2605

@ -20,7 +20,6 @@ package eu.faircode.email;
*/
import android.content.Intent;
import android.net.MailTo;
import android.net.Uri;
import android.os.Bundle;
import android.text.Html;
@ -28,6 +27,7 @@ import android.text.Spanned;
import android.text.TextUtils;
import androidx.core.app.TaskStackBuilder;
import androidx.core.net.MailTo;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
@ -89,12 +89,7 @@ public class ActivityCompose extends ActivityBase implements FragmentManager.OnB
Uri uri = intent.getData();
if (uri != null && "mailto".equals(uri.getScheme())) {
// https://www.ietf.org/rfc/rfc2368.txt
String url = uri.toString();
int query = url.indexOf('?', MailTo.MAILTO_SCHEME.length());
if (query > 0)
url = url.substring(0, query) + url.substring(query).replace(":", "%3A");
MailTo mailto = MailTo.parse(url);
MailTo mailto = MailTo.parse(uri.toString());
String to = mailto.getTo();
if (to != null)

@ -20,11 +20,12 @@ package eu.faircode.email;
*/
import android.content.Context;
import android.net.MailTo;
import android.net.ParseException;
import android.net.Uri;
import android.util.Pair;
import androidx.core.net.MailTo;
import java.io.IOException;
import java.net.InetAddress;
import java.net.URL;

@ -21,10 +21,10 @@ package eu.faircode.email;
import android.content.Context;
import android.content.SharedPreferences;
import android.net.MailTo;
import android.net.Uri;
import android.text.TextUtils;
import androidx.core.net.MailTo;
import androidx.documentfile.provider.DocumentFile;
import androidx.preference.PreferenceManager;

Loading…
Cancel
Save