diff --git a/app/src/main/java/eu/faircode/email/FragmentDialogVPN.java b/app/src/main/java/eu/faircode/email/FragmentDialogVPN.java
index 908b262fad..060f5566d4 100644
--- a/app/src/main/java/eu/faircode/email/FragmentDialogVPN.java
+++ b/app/src/main/java/eu/faircode/email/FragmentDialogVPN.java
@@ -22,8 +22,12 @@ package eu.faircode.email;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
+import android.content.Intent;
import android.content.SharedPreferences;
+import android.content.pm.PackageManager;
+import android.os.Build;
import android.os.Bundle;
+import android.provider.Settings;
import android.text.SpannableStringBuilder;
import android.text.style.RelativeSizeSpan;
@@ -45,7 +49,7 @@ public class FragmentDialogVPN extends FragmentDialogBase {
ssb.append(context.getString(R.string.title_hint_dismiss));
ssb.setSpan(new RelativeSizeSpan(HtmlHelper.FONT_SMALL), start, ssb.length(), 0);
- return new AlertDialog.Builder(context)
+ AlertDialog.Builder builder = new AlertDialog.Builder(context)
.setIcon(R.drawable.twotone_vpn_key_24)
.setTitle(R.string.title_hint_vpn_active)
.setMessage(ssb)
@@ -56,7 +60,20 @@ public class FragmentDialogVPN extends FragmentDialogBase {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
prefs.edit().putBoolean("vpn_reminder", false).apply();
}
- })
- .create();
+ });
+
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+ PackageManager pm = context.getPackageManager();
+ Intent intent = new Intent(Settings.ACTION_VPN_SETTINGS);
+ if (intent.resolveActivity(pm) != null)
+ builder.setNeutralButton(R.string.title_hint_vpn_settings, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ startActivity(intent);
+ }
+ });
+ }
+
+ return builder.create();
}
}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 9fe8a9dc49..08b8918df6 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -2377,6 +2377,7 @@
To limit battery and network usage not all folders and not all messages will be synchronized by default
Airplane mode is on
VPN active
+ VPN list
No notification permissions
Notification permissions are required for (account) alerts too. Notifications for new messages can be turned off in the settings.
Battery optimizations still enabled