diff --git a/app/src/main/java/eu/faircode/email/FragmentGmail.java b/app/src/main/java/eu/faircode/email/FragmentGmail.java index 741523e46d..d98ddaf435 100644 --- a/app/src/main/java/eu/faircode/email/FragmentGmail.java +++ b/app/src/main/java/eu/faircode/email/FragmentGmail.java @@ -29,6 +29,8 @@ import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.database.Cursor; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; import android.net.Uri; import android.os.Bundle; import android.os.Handler; @@ -349,6 +351,11 @@ public class FragmentGmail extends FragmentBase { if (TextUtils.isEmpty(password)) throw new IllegalArgumentException(context.getString(R.string.title_no_password)); + ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); + NetworkInfo ani = (cm == null ? null : cm.getActiveNetworkInfo()); + if (ani == null || !ani.isConnected()) + throw new IllegalArgumentException(context.getString(R.string.title_no_internet)); + int at = user.indexOf('@'); String username = user.substring(0, at); diff --git a/app/src/main/java/eu/faircode/email/FragmentOAuth.java b/app/src/main/java/eu/faircode/email/FragmentOAuth.java index 0fa867e429..a0a21be696 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOAuth.java +++ b/app/src/main/java/eu/faircode/email/FragmentOAuth.java @@ -24,6 +24,8 @@ import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.PackageManager; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; import android.net.Uri; import android.os.Bundle; import android.os.Handler; @@ -453,6 +455,11 @@ public class FragmentOAuth extends FragmentBase { if (!Helper.EMAIL_ADDRESS.matcher(primaryEmail).matches()) throw new IllegalArgumentException(context.getString(R.string.title_email_invalid, primaryEmail)); + ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); + NetworkInfo ani = (cm == null ? null : cm.getActiveNetworkInfo()); + if (ani == null || !ani.isConnected()) + throw new IllegalArgumentException(context.getString(R.string.title_no_internet)); + Log.i("OAuth email=" + primaryEmail); for (Pair identity : identities) Log.i("OAuth identity=" + identity.first + "/" + identity.second); diff --git a/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java b/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java index be9274a371..6aee3fa46a 100644 --- a/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java +++ b/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java @@ -21,6 +21,8 @@ package eu.faircode.email; import android.content.Context; import android.content.Intent; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; import android.net.Uri; import android.os.Bundle; import android.os.Handler; @@ -274,6 +276,11 @@ public class FragmentQuickSetup extends FragmentBase { if (TextUtils.isEmpty(smtp_fingerprint)) smtp_fingerprint = null; + ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); + NetworkInfo ani = (cm == null ? null : cm.getActiveNetworkInfo()); + if (ani == null || !ani.isConnected()) + throw new IllegalArgumentException(context.getString(R.string.title_no_internet)); + EmailProvider provider = EmailProvider.fromEmail(context, email, EmailProvider.Discover.ALL); args.putBoolean("appPassword", provider.appPassword);