mirror of
https://github.com/M66B/FairEmail.git
synced 2025-02-21 21:57:19 +00:00
Added mailto workaround
This commit is contained in:
parent
aaf0814fea
commit
b012071535
1 changed files with 15 additions and 0 deletions
|
@ -41,6 +41,7 @@ import androidx.preference.PreferenceManager;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class ActivityCompose extends ActivityBase implements FragmentManager.OnBackStackChangedListener {
|
public class ActivityCompose extends ActivityBase implements FragmentManager.OnBackStackChangedListener {
|
||||||
|
@ -102,6 +103,20 @@ public class ActivityCompose extends ActivityBase implements FragmentManager.OnB
|
||||||
args = new Bundle();
|
args = new Bundle();
|
||||||
|
|
||||||
Uri uri = intent.getData();
|
Uri uri = intent.getData();
|
||||||
|
|
||||||
|
// Workaround mailto in email address
|
||||||
|
if (uri == null && intent.hasExtra(Intent.EXTRA_EMAIL))
|
||||||
|
try {
|
||||||
|
String[] to = intent.getStringArrayExtra(Intent.EXTRA_EMAIL);
|
||||||
|
if (to != null && to.length == 1 &&
|
||||||
|
to[0] != null && to[0].startsWith("mailto:")) {
|
||||||
|
uri = Uri.parse(to[0]);
|
||||||
|
intent.removeExtra(Intent.EXTRA_EMAIL);
|
||||||
|
}
|
||||||
|
} catch (Throwable ex) {
|
||||||
|
Log.w(ex);
|
||||||
|
}
|
||||||
|
|
||||||
if (uri != null && "mailto".equalsIgnoreCase(uri.getScheme())) {
|
if (uri != null && "mailto".equalsIgnoreCase(uri.getScheme())) {
|
||||||
// https://www.ietf.org/rfc/rfc2368.txt
|
// https://www.ietf.org/rfc/rfc2368.txt
|
||||||
MailTo mailto = MailTo.parse(uri.toString());
|
MailTo mailto = MailTo.parse(uri.toString());
|
||||||
|
|
Loading…
Reference in a new issue