diff --git a/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java b/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java
index 78cd35c4c4..d33cde707f 100644
--- a/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java
+++ b/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java
@@ -66,6 +66,7 @@ public class FragmentQuickSetup extends FragmentBase {
private ContentLoadingProgressBar pbCheck;
private TextView tvError;
+ private TextView tvErrorHint;
private Button btnHelp;
private Button btnSupport;
private TextView tvInstructions;
@@ -96,6 +97,7 @@ public class FragmentQuickSetup extends FragmentBase {
pbCheck = view.findViewById(R.id.pbCheck);
tvError = view.findViewById(R.id.tvError);
+ tvErrorHint = view.findViewById(R.id.tvErrorHint);
btnHelp = view.findViewById(R.id.btnHelp);
btnSupport = view.findViewById(R.id.btnSupport);
tvInstructions = view.findViewById(R.id.tvInstructions);
@@ -402,6 +404,11 @@ public class FragmentQuickSetup extends FragmentBase {
protected void onException(final Bundle args, Throwable ex) {
Log.e(ex);
+ if (ex instanceof AuthenticationFailedException)
+ tvErrorHint.setText(R.string.title_setup_no_auth_hint);
+ else
+ tvErrorHint.setText(R.string.title_setup_no_settings_hint);
+
if (ex instanceof IllegalArgumentException || ex instanceof UnknownHostException) {
tvError.setText(ex.getMessage());
grpError.setVisibility(View.VISIBLE);
@@ -409,7 +416,7 @@ public class FragmentQuickSetup extends FragmentBase {
new Handler().post(new Runnable() {
@Override
public void run() {
- scroll.smoothScrollTo(0, tvError.getBottom());
+ scroll.smoothScrollTo(0, tvErrorHint.getBottom());
}
});
} else {
diff --git a/app/src/main/res/layout/fragment_quick_setup.xml b/app/src/main/res/layout/fragment_quick_setup.xml
index a3316ceefc..5ec4bcd065 100644
--- a/app/src/main/res/layout/fragment_quick_setup.xml
+++ b/app/src/main/res/layout/fragment_quick_setup.xml
@@ -121,13 +121,26 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:autoLink="web"
- android:text="error message"
+ android:text="Error message"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
android:textColor="?attr/colorWarning"
android:textIsSelectable="true"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvErrorTitle" />
+
+
+ app:layout_constraintTop_toBottomOf="@id/tvErrorHint" />
+ app:layout_constraintTop_toBottomOf="@id/tvErrorHint" />
+ app:constraint_referenced_ids="tvErrorTitle,tvError,tvErrorHint" />
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 689144b11c..1bce6d8ef7 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -161,6 +161,8 @@
Select account
Setup instructions
No settings found for domain \'%1$s\'
+ Please try to setup an account and identity in setup step 1 and 2 using the settings provided by your email provider
+ Please double check your email address and password and make sure external access (IMAP/SMTP) is enabled for your account
Inbox or draft folder not found
An account and an identity have successfully been added
You can try to configure an account and an identity below too