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

Commit 65c402bc authored by Nihar Thakkar's avatar Nihar Thakkar Committed by Sumit Pundir
Browse files

Handle password updates

parent 0ed657c5
Loading
Loading
Loading
Loading
+19 −1
Original line number Diff line number Diff line
@@ -464,6 +464,23 @@ public class Accounts extends K9ListActivity implements OnItemClickListener {

    }

    private boolean hasPasswordUpdate(Account account,
                                                 String deviceAccountEmailId,
                                                 String deviceAccountPassword) {
        String deviceAccountStoreUri = "imap+ssl+://" + deviceAccountEmailId
                .replace("@", "%40") + ":" + deviceAccountPassword
                + "@mail.eelo.io";
        String deviceAccountTransportUri = "smtp+tls+://" + deviceAccountEmailId
                .replace("@", "%40") + ":" + deviceAccountPassword
                + "@mail.eelo.io";

        if (deviceAccountStoreUri.equals(account.getStoreUri()) &&
                deviceAccountTransportUri.equals(account.getTransportUri())) {
            return false;
        }
        return true;
    }

    private void checkSyncStatus(List<Account> accounts) {
        try {
            android.accounts.Account[] eeloAccounts = getEeloAccountsOnDevice();
@@ -578,7 +595,8 @@ public class Accounts extends K9ListActivity implements OnItemClickListener {
                    for (android.accounts.Account eeloAccount : eeloAccounts) {
                        String emailId = accountManager.getUserData(eeloAccount,
                                ACCOUNT_EMAIL_ADDRESS_KEY);
                        if (account.getEmail().equals(emailId)) {
			    if (account.getEmail().equals(emailId) && !hasPasswordUpdate(account,
                                emailId, accountManager.getPassword(eeloAccount))) {
                            accountIsSignedInOnDevice = true;
                            break;
                        }
+19 −1
Original line number Diff line number Diff line
@@ -3459,6 +3459,23 @@ public class MessagingController {
                GOOGLE_ACCOUNT_TYPE);
    }

    private boolean hasPasswordUpdate(Account account,
                                      String deviceAccountEmailId,
                                      String deviceAccountPassword) {
        String deviceAccountStoreUri = "imap+ssl+://" + deviceAccountEmailId
                .replace("@", "%40") + ":" + deviceAccountPassword
                + "@mail.eelo.io";
        String deviceAccountTransportUri = "smtp+tls+://" + deviceAccountEmailId
                .replace("@", "%40") + ":" + deviceAccountPassword
                + "@mail.eelo.io";

        if (deviceAccountStoreUri.equals(account.getStoreUri()) &&
                deviceAccountTransportUri.equals(account.getTransportUri())) {
            return false;
        }
        return true;
    }

    private boolean isAccountSignedInOnDevice(AccountManager accountManager, Account account){
        try {
            android.accounts.Account[] eeloAccounts = getEeloAccountsOnDevice(accountManager);
@@ -3469,7 +3486,8 @@ public class MessagingController {
                for (android.accounts.Account eeloAccount : eeloAccounts) {
                    String emailId = accountManager.getUserData(eeloAccount,
                            ACCOUNT_EMAIL_ADDRESS_KEY);
                    if (account.getEmail().equals(emailId)) {
		        if (account.getEmail().equals(emailId) && !hasPasswordUpdate(account,
                            emailId, accountManager.getPassword(eeloAccount))) {
                        accountIsSignedInOnDevice = true;
                        break;
                    }