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 4d2d35531e4c143c8ee5e9eab8e271cb1cf27145..dfaee173f4be12d4d1a741dcf391a5b81d6c8aa7 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 cdc5874d84cecd858be64e76d033e6c74538801a..3ec41cbaa68a0763927d69713202ef475024cf22 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 5752291c1a4325b4b661138ce13045310fa3683d..70ffada12918d8512a54f233b7280e384dc95078 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-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index ad0b439a7a772612a2edfed62cf757b867aab65d..003627b922dfe84b230f49b1703e268c08cb61df 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 diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index c8d4adee2b21ec5dc99badfd7022504ae387a0b2..866b825f60979566de7478520022baf04652ad61 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 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 0000000000000000000000000000000000000000..a6b3daec9354f9ae75cdf8d94a67446c6227dd96 --- /dev/null +++ b/app/src/main/res/values-ro/strings.xml @@ -0,0 +1,2 @@ + + \ 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 cb1dbad63f8620d519c43bcce2139cb21f4fa362..df7f5eb16682fdb11abf752c277da838eb0f001e 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 078d232ec9bb1cb93343364de0ca23e6e043f28d..07dfc604ebdfebef54660dcbc58e3adbaca24ec3 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">