Select account is available in original versions only

pull/156/head
M66B 5 years ago
parent b280e2bfa5
commit 349f17d79a

@ -181,6 +181,7 @@ FairEmail follows all the best practices for an email client as decribed in [thi
* [(106) Which launchers can show the number of new messages?](#user-content-faq106)
* [(107) How do I used colored stars?](#user-content-faq107)
* [(108) Can you add permanently delete messages from any folder?](#user-content-faq108)
* [(109) Why is 'select account' available in official releases only?](#user-content-faq109)
[I have another question.](#support)
@ -1792,6 +1793,22 @@ Permanently delete messages from other folders would defeat the purpose of the t
<br />
<a name="faq109"></a>
**(109) Why is 'select account' available in official releases only?**
Using *select account* to select and authorize Google accounts require special permission from Google for security and privacy reasons.
This special permission can only be acquired for apps a developer manages and is responsible for.
Third party builds, like the F-Droid builds, are managed by third parties and are the responsibility of these third parties.
So, only these third parties can acquire the required permission from Google.
Since these third parties do not actually support FairEmail, they are most likely not going to request the required permission.
You can solve this in two ways:
* Switch to the official version of FairEmail, see [here](https://github.com/M66B/open-source-email/blob/master/README.md#downloads) for the options
* Use app specific passwords, see [this FAQ](#user-content-faq6)
<br />
## Support
If you have another question, want to request a feature or report a bug, you can use [this forum](https://forum.xda-developers.com/android/apps-games/source-email-t3824168).

@ -34,6 +34,7 @@ import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Color;
import android.graphics.drawable.GradientDrawable;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
@ -361,6 +362,21 @@ public class FragmentAccount extends FragmentBase {
Log.i("Authorize " + provider);
if ("com.google".equals(provider.type)) {
if (!Helper.hasValidFingerprint(getContext())) {
Snackbar snackbar = Snackbar.make(view, R.string.title_no_xoauth2, Snackbar.LENGTH_LONG);
final Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(Helper.FAQ_URI + "#user-content-faq19"));
if (intent.resolveActivity(getContext().getPackageManager()) != null)
snackbar.setAction(R.string.title_info, new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(intent);
}
});
snackbar.show();
return;
}
String permission = Manifest.permission.GET_ACCOUNTS;
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O &&
!Helper.hasPermission(getContext(), permission)) {

@ -30,6 +30,7 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
@ -123,6 +124,21 @@ public class FragmentQuickSetup extends FragmentBase {
btnAuthorize.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!Helper.hasValidFingerprint(getContext())) {
Snackbar snackbar = Snackbar.make(view, R.string.title_no_xoauth2, Snackbar.LENGTH_LONG);
final Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(Helper.FAQ_URI + "#user-content-faq19"));
if (intent.resolveActivity(getContext().getPackageManager()) != null)
snackbar.setAction(R.string.title_info, new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(intent);
}
});
snackbar.show();
return;
}
String permission = Manifest.permission.GET_ACCOUNTS;
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O &&
!Helper.hasPermission(getContext(), permission)) {

@ -317,6 +317,7 @@
<string name="title_keep_alive_interval">Keep-alive/poll interval (minutes)</string>
<string name="title_partial_fetch" translatable="false">Partial fetch</string>
<string name="title_check">Check</string>
<string name="title_no_xoauth2">This feature is available in original versions only</string>
<string name="title_no_name">Name missing</string>
<string name="title_no_email">Email address missing</string>
<string name="title_email_invalid">Email address invalid</string>

Loading…
Cancel
Save