From 4d05642dffbf31f2e70b7988556eca259f180061 Mon Sep 17 00:00:00 2001 From: Manoj Nair Date: Sun, 15 Mar 2020 10:38:07 +0000 Subject: [PATCH 1/4] Added translation using Weblate (Romanian) --- app/src/main/res/values-ro/strings.xml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 app/src/main/res/values-ro/strings.xml diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml new file mode 100644 index 000000000..a6b3daec9 --- /dev/null +++ b/app/src/main/res/values-ro/strings.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file -- GitLab From a4011696be5c49bdbda0199af2f895ddf6b1bb29 Mon Sep 17 00:00:00 2001 From: Paolo Pantaleo Date: Mon, 30 Mar 2020 20:00:11 +0000 Subject: [PATCH 2/4] Translated using Weblate (Italian) Currently translated at 99.6% (238 of 239 strings) Translation: /e//AccountManager Translate-URL: https://i18n.e.foundation/projects/e/accountmanager/it/ --- app/src/main/res/values-it/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index c8d4adee2..866b825f6 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -1,4 +1,4 @@ - + Account Manager -- GitLab From eb65d24bbf71b03e70d54b43b2a82395499e53ff Mon Sep 17 00:00:00 2001 From: Anonyme Date: Sun, 5 Apr 2020 15:37:38 +0000 Subject: [PATCH 3/4] Translated using Weblate (French) Currently translated at 100.0% (239 of 239 strings) Translation: /e//AccountManager Translate-URL: https://i18n.e.foundation/projects/e/accountmanager/fr/ --- app/src/main/res/values-fr/strings.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index ad0b439a7..003627b92 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -1,4 +1,4 @@ - + Gestionnaire de compte @@ -45,8 +45,8 @@ Journaliser dès maintenant toutes les activités de Gestionnaire de compte Envoyer le journal - Ouvrir le tiroir de navigation - Fermer le tiroir de navigation + Ouvrir le volet de navigation + Fermer le volet de navigation Adaptateur de synchronisation CalDAV/CardDAV À propos / Licence Commentaire pour la version Beta -- GitLab From 7e7e16c8af2847b9793a6f8cb4bb19ab11d32771 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnau=20V=C3=A0zquez?= Date: Tue, 14 Apr 2020 16:59:40 +0000 Subject: [PATCH 4/4] ui: LoginActivity: set alert dialog for device spoof Currently, AppAuth doesn't have any implementation on sending the device credentials and google takes the device name from within the Browser info to be shown at Google Account->Security->Devices which is basically getting spoofed due to some security reasons. So just put up an alert dialog before the sign in to make user aware of the fact and also for avoiding unnecessary panics on their side. Issue was reported here https://gitlab.e.foundation/e/apps/AccountManager/-/issues/51 --- .../ui/setup/GoogleAuthenticatorFragment.kt | 17 +++++----- .../accountmanager/ui/setup/LoginActivity.kt | 31 +++++++++++++++++-- app/src/main/res/layout/activity_account.xml | 5 +-- app/src/main/res/values/strings.xml | 4 +++ app/src/main/res/xml/sync_prefs.xml | 2 +- 5 files changed, 44 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/foundation/e/accountmanager/ui/setup/GoogleAuthenticatorFragment.kt b/app/src/main/java/foundation/e/accountmanager/ui/setup/GoogleAuthenticatorFragment.kt index 4d2d35531..dfaee173f 100644 --- a/app/src/main/java/foundation/e/accountmanager/ui/setup/GoogleAuthenticatorFragment.kt +++ b/app/src/main/java/foundation/e/accountmanager/ui/setup/GoogleAuthenticatorFragment.kt @@ -59,11 +59,6 @@ class GoogleAuthenticatorFragment : Fragment(), AuthorizationService.TokenRespon model = ViewModelProviders.of(this).get(GoogleAuthenticatorModel::class.java) loginModel = ViewModelProviders.of(requireActivity()).get(LoginModel::class.java) - if (!isNetworkAvailable()) { - Toast.makeText(context, "Please check your internet connection", Toast.LENGTH_LONG).show() - activity!!.finish() - } - // Initialise the authorization service authorizationService = AuthorizationService(context!!) @@ -83,8 +78,10 @@ class GoogleAuthenticatorFragment : Fragment(), AuthorizationService.TokenRespon val retrieveCallback = AuthorizationServiceConfiguration.RetrieveConfigurationCallback { serviceConfiguration, ex -> if (ex == null && serviceConfiguration != null) { makeAuthRequest(serviceConfiguration, idp) - } - else { + } else if (!isNetworkAvailable()) { + Toast.makeText(context, "Please check your internet connection", Toast.LENGTH_LONG).show() + activity!!.finish() + } else { Toast.makeText(context, "Login failed, please try again later", Toast.LENGTH_LONG).show() activity!!.finish() } @@ -104,8 +101,10 @@ class GoogleAuthenticatorFragment : Fragment(), AuthorizationService.TokenRespon if (response != null) { exchangeAuthorizationCode(response) - } - else { + } else if (!isNetworkAvailable()) { + Toast.makeText(context, "Please check your internet connection", Toast.LENGTH_LONG).show() + activity!!.finish() + } else { Toast.makeText(context, "Login failed, please try again later", Toast.LENGTH_LONG).show() activity!!.finish() } diff --git a/app/src/main/java/foundation/e/accountmanager/ui/setup/LoginActivity.kt b/app/src/main/java/foundation/e/accountmanager/ui/setup/LoginActivity.kt index cdc5874d8..3ec41cbaa 100644 --- a/app/src/main/java/foundation/e/accountmanager/ui/setup/LoginActivity.kt +++ b/app/src/main/java/foundation/e/accountmanager/ui/setup/LoginActivity.kt @@ -10,8 +10,13 @@ package foundation.e.accountmanager.ui.setup import android.os.Bundle import android.view.MenuItem +import android.text.Layout +import android.text.SpannableString +import android.text.style.AlignmentSpan import androidx.appcompat.app.AppCompatActivity +import androidx.appcompat.app.AlertDialog import androidx.fragment.app.Fragment +import foundation.e.accountmanager.R import foundation.e.accountmanager.App import foundation.e.accountmanager.log.Logger import foundation.e.accountmanager.ui.UiUtils @@ -67,9 +72,29 @@ class LoginActivity: AppCompatActivity() { .commit() } ACCOUNT_PROVIDER_GOOGLE -> { - supportFragmentManager.beginTransaction() - .replace(android.R.id.content, GoogleAuthenticatorFragment()) - .commit() + val builder = AlertDialog.Builder(this) + val title = SpannableString(getString(R.string.google_alert_title)) + + // alert dialog title align center + title.setSpan( + AlignmentSpan.Standard(Layout.Alignment.ALIGN_CENTER), + 0, + title.length, + 0 + ) + + builder.setTitle(title) + builder.setMessage(getString(R.string.google_alert_message)) + builder.setPositiveButton(android.R.string.yes) { dialog, which -> + dialog.cancel() + supportFragmentManager.beginTransaction() + .replace(android.R.id.content, GoogleAuthenticatorFragment()) + .commit() + } + builder.setCancelable(false) + + val dialog = builder.create() + dialog.show() } else -> // first call, add first login fragment diff --git a/app/src/main/res/layout/activity_account.xml b/app/src/main/res/layout/activity_account.xml index 5752291c1..70ffada12 100644 --- a/app/src/main/res/layout/activity_account.xml +++ b/app/src/main/res/layout/activity_account.xml @@ -25,7 +25,8 @@ @@ -48,4 +49,4 @@ android:tooltipText="@string/account_synchronize_now" app:srcCompat="@drawable/ic_sync_white" /> - \ No newline at end of file + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index cb1dbad63..df7f5eb16 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -348,4 +348,8 @@ Account Manager: Connection security Account Manager has encountered an unknown certificate. Do you want to trust it? + + WARNING + /e/ will report a fake device model to Google to protect your privacy.\nYou can check which one on Google\'s Device Activity after you log in. + diff --git a/app/src/main/res/xml/sync_prefs.xml b/app/src/main/res/xml/sync_prefs.xml index 078d232ec..07dfc604e 100644 --- a/app/src/main/res/xml/sync_prefs.xml +++ b/app/src/main/res/xml/sync_prefs.xml @@ -16,7 +16,7 @@ android:title="@string/manage_accounts"> -- GitLab