diff --git a/app/src/main/java/eu/faircode/email/FragmentOAuth.java b/app/src/main/java/eu/faircode/email/FragmentOAuth.java
index c0f18e4f82..3a150b6573 100644
--- a/app/src/main/java/eu/faircode/email/FragmentOAuth.java
+++ b/app/src/main/java/eu/faircode/email/FragmentOAuth.java
@@ -133,6 +133,7 @@ public class FragmentOAuth extends FragmentBase {
private TextView tvGmailLoginHint;
private TextView tvGmailLoginMax;
private TextView tvOutlookHint;
+ private TextView tvOutlookPasskeyHint;
private TextView tvError;
private TextView tvOfficeAuthHint;
@@ -196,6 +197,7 @@ public class FragmentOAuth extends FragmentBase {
tvGmailLoginHint = view.findViewById(R.id.tvGmailLoginHint);
tvGmailLoginMax = view.findViewById(R.id.tvGmailLoginMax);
tvOutlookHint = view.findViewById(R.id.tvOutlookHint);
+ tvOutlookPasskeyHint = view.findViewById(R.id.tvOutlookPasskeyHint);
tvError = view.findViewById(R.id.tvError);
tvOfficeAuthHint = view.findViewById(R.id.tvOfficeAuthHint);
@@ -317,6 +319,8 @@ public class FragmentOAuth extends FragmentBase {
}
});
+ boolean isOutlook = ("office365".equals(id) || "office365pcke".equals(id) || "outlookgraph".equals(id) || "outlook".equals(id));
+
// Initialize
tvTitle.setText(getString(R.string.title_setup_oauth_rationale, name));
etName.setVisibility(askAccount ? View.VISIBLE : View.GONE);
@@ -330,6 +334,7 @@ public class FragmentOAuth extends FragmentBase {
tvGmailLoginHint.setVisibility("gmail".equals(id) ? View.VISIBLE : View.GONE);
tvGmailLoginMax.setVisibility("gmail".equals(id) ? View.VISIBLE : View.GONE);
tvOutlookHint.setVisibility("outlookgraph".equals(id) ? View.VISIBLE : View.GONE);
+ tvOutlookPasskeyHint.setVisibility(isOutlook ? View.VISIBLE : View.GONE);
hideError();
etName.setText(personal);
diff --git a/app/src/main/res/layout/fragment_oauth.xml b/app/src/main/res/layout/fragment_oauth.xml
index 87525f9955..87fd92ec2f 100644
--- a/app/src/main/res/layout/fragment_oauth.xml
+++ b/app/src/main/res/layout/fragment_oauth.xml
@@ -260,6 +260,17 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvGmailLoginMax" />
+
+
+ app:layout_constraintTop_toBottomOf="@id/tvOutlookPasskeyHint" />
If Chrome is signed in to an account, a new account can only be added through Android. This can be avoided by logging out of Chrome via the Chrome sync settings.
In case of the error message \"You\'re signed in to the maximum number of accounts\", you need to log out the browser from all Google accounts.
In the case of an alias address, the Office 365 wizard should probably be used.
+ Microsoft may ask you to set up a Passkey. This is less straightforward on a mobile device, so consider skipping or cancelling this optional step.
Due to changes in Microsoft\'s security policies, from September 16, 2024, only the Outlook/Hotmail/Live wizard will work.
Why do I need to select an on-device account?
I want to authorize an account with a password instead of an on-device account