mirror of
https://github.com/M66B/FairEmail.git
synced 2025-02-23 22:51:02 +00:00
Added Gmail OAuth check
This commit is contained in:
parent
477a7996ce
commit
8ed4bb7eb5
3 changed files with 68 additions and 2 deletions
|
@ -4355,7 +4355,8 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
|
|||
if (!checkDoze())
|
||||
if (!checkReporting())
|
||||
if (!checkReview())
|
||||
checkFingerprint();
|
||||
if (!checkFingerprint())
|
||||
checkGmail();
|
||||
|
||||
prefs.registerOnSharedPreferenceChangeListener(this);
|
||||
onSharedPreferenceChanged(prefs, "pro");
|
||||
|
@ -4586,6 +4587,67 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
|
|||
return true;
|
||||
}
|
||||
|
||||
private boolean checkGmail() {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
|
||||
if (prefs.getBoolean("gmail_checked", false))
|
||||
return false;
|
||||
|
||||
new SimpleTask<List<EntityAccount>>() {
|
||||
@Override
|
||||
protected List<EntityAccount> onExecute(Context context, Bundle args) throws Throwable {
|
||||
DB db = DB.getInstance(context);
|
||||
return db.account().getAccounts();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onExecuted(Bundle args, List<EntityAccount> accounts) {
|
||||
int oauth = 0;
|
||||
int passwd = 0;
|
||||
if (accounts != null)
|
||||
for (EntityAccount account : accounts)
|
||||
if (account.isGmail())
|
||||
if (account.auth_type == ServiceAuthenticator.AUTH_TYPE_OAUTH)
|
||||
oauth++;
|
||||
else if (account.auth_type == ServiceAuthenticator.AUTH_TYPE_PASSWORD)
|
||||
passwd++;
|
||||
|
||||
if (oauth + passwd == 0) {
|
||||
prefs.edit().putBoolean("gmail_checked", true).apply();
|
||||
return;
|
||||
}
|
||||
|
||||
final int resid = (passwd > 0
|
||||
? R.string.title_check_gmail_password
|
||||
: R.string.title_check_gmail_oauth);
|
||||
final Snackbar snackbar = Snackbar.make(view, resid, Snackbar.LENGTH_INDEFINITE)
|
||||
.setGestureInsetBottomIgnored(true);
|
||||
snackbar.setAction(passwd > 0 ? R.string.title_info : android.R.string.ok, new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
snackbar.dismiss();
|
||||
if (resid == R.string.title_check_gmail_password)
|
||||
Helper.viewFAQ(v.getContext(), 6);
|
||||
prefs.edit().putBoolean("gmail_checked", true).apply();
|
||||
}
|
||||
});
|
||||
snackbar.addCallback(new Snackbar.Callback() {
|
||||
@Override
|
||||
public void onDismissed(Snackbar transientBottomBar, int event) {
|
||||
prefs.edit().putBoolean("gmail_checked", true).apply();
|
||||
}
|
||||
});
|
||||
snackbar.show();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onException(Bundle args, Throwable ex) {
|
||||
Log.e(ex);
|
||||
}
|
||||
}.execute(this, new Bundle(), "gmail:check");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
|
||||
inflater.inflate(R.menu.menu_messages, menu);
|
||||
|
|
|
@ -225,7 +225,8 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
|
|||
"raw_asked", "all_read_asked", "delete_asked",
|
||||
"cc_bcc", "inline_image_hint", "compose_reference", "send_dialog",
|
||||
"setup_reminder", "setup_advanced",
|
||||
"signature_images_hint"
|
||||
"signature_images_hint",
|
||||
"gmail_checked"
|
||||
};
|
||||
|
||||
@Override
|
||||
|
|
|
@ -320,6 +320,9 @@
|
|||
<string name="title_setup_reset_images">Show images</string>
|
||||
<string name="title_setup_reset_links">Confirm links</string>
|
||||
|
||||
<string name="title_check_gmail_oauth">Your Gmail accounts will continue to work after May 30, 2022</string>
|
||||
<string name="title_check_gmail_password">Some of your Gmail accounts may stop working after May 30, 2022</string>
|
||||
|
||||
<string name="title_advanced_hint_title">More advanced options</string>
|
||||
<string name="title_advanced_hint_message">
|
||||
You are navigating to the more advanced options.
|
||||
|
|
Loading…
Reference in a new issue