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

Commit 6f7f44a9 authored by Fahim Salam Chowdhury's avatar Fahim Salam Chowdhury 👽
Browse files

refactor removeAccount method

parent 6f14ab8e
Loading
Loading
Loading
Loading
Loading
+29 −21
Original line number Diff line number Diff line
@@ -251,9 +251,17 @@ class LocalAddressBook(

        @Suppress("DEPRECATION")
        if (Build.VERSION.SDK_INT >= 22) {
            accountManager.removeAccount(account, null, {
            removeAccount(accountManager, email)
        }
        else {
            removeAccountForOlderSdk(accountManager, email)
        }
    }

    private fun removeAccountForOlderSdk(accountManager: AccountManager, email: String?) {
        accountManager.removeAccount(account, {
            try {
                    if (it.result.getBoolean(AccountManager.KEY_BOOLEAN_RESULT)) {
                if (it.result) {
                    Handler(Looper.getMainLooper()).post {
                        MailAccountSyncHelper.accountLoggedOut(context.applicationContext, email)
                    }
@@ -263,10 +271,11 @@ class LocalAddressBook(
            }
        }, null)
    }
        else {
            accountManager.removeAccount(account, {

    private fun removeAccount(accountManager: AccountManager, email: String?) {
        accountManager.removeAccount(account, null, {
            try {
                    if (it.result) {
                if (it.result.getBoolean(AccountManager.KEY_BOOLEAN_RESULT)) {
                    Handler(Looper.getMainLooper()).post {
                        MailAccountSyncHelper.accountLoggedOut(context.applicationContext, email)
                    }
@@ -276,7 +285,6 @@ class LocalAddressBook(
            }
        }, null)
    }
    }


    /* operations on members (contacts/groups) */
+30 −22
Original line number Diff line number Diff line
@@ -129,9 +129,15 @@ class AccountActivity: AppCompatActivity() {
        val email = accountManager.getUserData(model.account, AccountSettings.KEY_EMAIL_ADDRESS)

        if (Build.VERSION.SDK_INT >= 22)
            accountManager.removeAccount(model.account, this, { future ->
            removeAccount(accountManager, email)
        else
            removeAccountForOlderSdk(accountManager, email)
    }

    private fun removeAccountForOlderSdk(accountManager: AccountManager, email: String?) {
        accountManager.removeAccount(model.account, { future ->
            try {
                    if (future.result.getBoolean(AccountManager.KEY_BOOLEAN_RESULT))
                if (future.result)
                    Handler(Looper.getMainLooper()).post {
                        MailAccountSyncHelper.accountLoggedOut(applicationContext, email)
                        finish()
@@ -140,10 +146,12 @@ class AccountActivity: AppCompatActivity() {
                Logger.log.log(Level.SEVERE, "Couldn't remove account", e)
            }
        }, null)
        else
            accountManager.removeAccount(model.account, { future ->
    }

    private fun removeAccount(accountManager: AccountManager, email: String?) {
        accountManager.removeAccount(model.account, this, { future ->
            try {
                    if (future.result)
                if (future.result.getBoolean(AccountManager.KEY_BOOLEAN_RESULT))
                    Handler(Looper.getMainLooper()).post {
                        MailAccountSyncHelper.accountLoggedOut(applicationContext, email)
                        finish()