From 73cacb1044b76b6ae27c0103ab2cf15adcdc03a9 Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 22 Feb 2020 08:46:37 +0100 Subject: [PATCH] Check if Google account exists on import --- .../java/eu/faircode/email/ActivitySetup.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/app/src/main/java/eu/faircode/email/ActivitySetup.java b/app/src/main/java/eu/faircode/email/ActivitySetup.java index d7733d47fc..6b7d16d553 100644 --- a/app/src/main/java/eu/faircode/email/ActivitySetup.java +++ b/app/src/main/java/eu/faircode/email/ActivitySetup.java @@ -19,6 +19,8 @@ package eu.faircode.email; Copyright 2018-2020 by Marcel Bokhorst (M66B) */ +import android.accounts.Account; +import android.accounts.AccountManager; import android.app.Dialog; import android.app.Notification; import android.app.NotificationChannel; @@ -729,6 +731,22 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac for (int a = 0; a < jaccounts.length(); a++) { JSONObject jaccount = (JSONObject) jaccounts.get(a); EntityAccount account = EntityAccount.fromJSON(jaccount); + + if (account.auth_type == EmailService.AUTH_TYPE_GMAIL) { + AccountManager am = AccountManager.get(context); + boolean found = false; + for (Account google : am.getAccountsByType("com.google")) + if (account.user.equals(google.name)) { + found = true; + break; + } + + if (!found) { + Log.i("Google account not found email=" + account.user); + continue; + } + } + Long aid = account.id; account.id = null;