Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d15ac522 authored by Mohammed Althaf T's avatar Mohammed Althaf T 😊
Browse files

Merge branch '2874-main-yahoo_mail' into 'main'

mail: Fix yahoo login for existing users

See merge request !170
parents 0d9a0090 41bf90c9
Loading
Loading
Loading
Loading
Loading
+14 −3
Original line number Diff line number Diff line
@@ -98,8 +98,8 @@ public class EeloAccountCreator {
        android.accounts.Account[] openIdAccounts =
            accountManager.getAccountsByType(accountType);
        for (android.accounts.Account openIdAccount : openIdAccounts) {
            String emailId =
                accountManager.getUserData(openIdAccount, AccountManagerConstants.ACCOUNT_EMAIL_ADDRESS_KEY);
            final String emailId = getEmailId(accountManager, openIdAccount);

            if (isInvalidEmail(emailId)) {
                continue;
            }
@@ -149,7 +149,8 @@ public class EeloAccountCreator {
        android.accounts.Account[] eeloAccounts =
            accountManager.getAccountsByType(AccountManagerConstants.EELO_ACCOUNT_TYPE);
        for (android.accounts.Account eeloAccount : eeloAccounts) {
            String emailId = accountManager.getUserData(eeloAccount, AccountManagerConstants.ACCOUNT_EMAIL_ADDRESS_KEY);
            final String emailId = getEmailId(accountManager, eeloAccount);

            if (isInvalidEmail(emailId)) {
                continue;
            }
@@ -176,6 +177,16 @@ public class EeloAccountCreator {
        }
    }

    private static String getEmailId(AccountManager accountManager, android.accounts.Account account) {
        String emailId = accountManager.getUserData(account, AccountManagerConstants.ACCOUNT_EMAIL_ADDRESS_KEY);

        if (emailId == null || emailId.equals("null") || emailId.isBlank()) {
            return account.name;
        }

        return emailId;
    }

    @RequiresApi(api = VERSION_CODES.N)
    private static void deleteIncompleteAccounts(List<Account> accounts, BackgroundAccountRemover accountRemover) {
        accounts.stream().filter(account -> !account.isFinishedSetup())