From 83731d082e7cb72aa0478ada439612ab528891d1 Mon Sep 17 00:00:00 2001 From: M66B Date: Thu, 24 Mar 2022 00:19:28 +0100 Subject: [PATCH] OAuth: ask tenant --- app/src/main/java/eu/faircode/email/EmailProvider.java | 5 +++++ app/src/main/java/eu/faircode/email/FragmentOAuth.java | 4 +++- app/src/main/java/eu/faircode/email/FragmentSetup.java | 3 ++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/EmailProvider.java b/app/src/main/java/eu/faircode/email/EmailProvider.java index 31445dd6b3..82a2d289b7 100644 --- a/app/src/main/java/eu/faircode/email/EmailProvider.java +++ b/app/src/main/java/eu/faircode/email/EmailProvider.java @@ -1291,5 +1291,10 @@ public class EmailProvider implements Parcelable { String privacy; String prompt; Map parameters; + + boolean askTenant() { + return (authorizationEndpoint.contains("{tenant}") || + tokenEndpoint.contains("{tenant}")); + } } } diff --git a/app/src/main/java/eu/faircode/email/FragmentOAuth.java b/app/src/main/java/eu/faircode/email/FragmentOAuth.java index e4a2c63af1..96278b35a8 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOAuth.java +++ b/app/src/main/java/eu/faircode/email/FragmentOAuth.java @@ -98,6 +98,7 @@ public class FragmentOAuth extends FragmentBase { private String name; private String privacy; private boolean askAccount; + private boolean askTenant; private String personal; private String address; @@ -137,6 +138,7 @@ public class FragmentOAuth extends FragmentBase { name = args.getString("name"); privacy = args.getString("privacy"); askAccount = args.getBoolean("askAccount", false); + askTenant = args.getBoolean("askTenant", false); personal = args.getString("personal"); address = args.getString("address"); @@ -214,7 +216,7 @@ public class FragmentOAuth extends FragmentBase { tvTitle.setText(getString(R.string.title_setup_oauth_rationale, name)); etName.setVisibility(askAccount ? View.VISIBLE : View.GONE); etEmail.setVisibility(askAccount ? View.VISIBLE : View.GONE); - grpTenant.setVisibility(isOutlook(id) ? View.VISIBLE : View.GONE); + grpTenant.setVisibility(askTenant ? View.VISIBLE : View.GONE); pbOAuth.setVisibility(View.GONE); tvConfiguring.setVisibility(View.GONE); tvGmailHint.setVisibility("gmail".equals(id) ? View.VISIBLE : View.GONE); diff --git a/app/src/main/java/eu/faircode/email/FragmentSetup.java b/app/src/main/java/eu/faircode/email/FragmentSetup.java index 9d18e82f09..c1cf45c59c 100644 --- a/app/src/main/java/eu/faircode/email/FragmentSetup.java +++ b/app/src/main/java/eu/faircode/email/FragmentSetup.java @@ -266,7 +266,8 @@ public class FragmentSetup extends FragmentBase { .putExtra("id", provider.id) .putExtra("name", provider.description) .putExtra("privacy", provider.oauth.privacy) - .putExtra("askAccount", provider.oauth.askAccount)); + .putExtra("askAccount", provider.oauth.askAccount) + .putExtra("askTenant", provider.oauth.askTenant())); resid = res.getIdentifier("provider_" + provider.id, "drawable", pkg); if (resid != 0) item.setIcon(resid);