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

Commit 71e21495 authored by Fahim Salam Chowdhury's avatar Fahim Salam Chowdhury 👽
Browse files

Merge branch '922-Remove_mail_account_remove_broadcast_call' into 'main'

922-Remove_mail_account_remove_broadcast_call

See merge request !88
parents d15b871b a24c13e0
Loading
Loading
Loading
Loading
Loading
+0 −12
Original line number Diff line number Diff line
@@ -33,18 +33,6 @@ object MailAccountSyncHelper {
        applicationContext?.sendBroadcast(intent)
    }

    fun onAccountLoggedOut(applicationContext: Context?, email: String?) {
        email?.let {
            if (!it.contains("@")) {
                return@let
            }
            val intent = getIntent()
            intent.action = ACTION_PREFIX + "remove"
            intent.putExtra("account", it)
            applicationContext?.sendBroadcast(intent)
        }
    }

    private fun getIntent() : Intent {
        val intent = Intent()
        intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES)
+2 −26
Original line number Diff line number Diff line
@@ -8,8 +8,6 @@ import android.accounts.AccountManager
import android.content.*
import android.os.Build
import android.os.Bundle
import android.os.Handler
import android.os.Looper
import android.os.RemoteException
import android.provider.ContactsContract
import android.provider.ContactsContract.CommonDataKinds.GroupMembership
@@ -26,7 +24,6 @@ import at.bitfire.davdroid.settings.AccountSettings
import at.bitfire.davdroid.syncadapter.AccountUtils
import at.bitfire.davdroid.syncadapter.SyncUtils
import at.bitfire.vcard4android.*
import at.bitfire.davdroid.MailAccountSyncHelper

import java.io.ByteArrayOutputStream
import java.util.*
@@ -255,33 +252,12 @@ open class LocalAddressBook(
    }

    private fun removeAccountForOlderSdk(accountManager: AccountManager, email: String?) {
        accountManager.removeAccount(account, {
            try {
                if (it.result) {
                    Handler(Looper.getMainLooper()).post {
                        MailAccountSyncHelper.onAccountLoggedOut(context.applicationContext, email)
                    }
                }
            } catch (e: Exception) {
                Logger.log.log(Level.SEVERE, "Couldn't remove account", e)
            }
        }, null)
        accountManager.removeAccount(account, null, null)
    }

    private fun removeAccount(accountManager: AccountManager, email: String?) {
        accountManager.removeAccount(account, null, {
            try {
                if (it.result.getBoolean(AccountManager.KEY_BOOLEAN_RESULT)) {
                    Handler(Looper.getMainLooper()).post {
                        MailAccountSyncHelper.onAccountLoggedOut(context.applicationContext, email)
                    }
        accountManager.removeAccount(account, null, null, null)
    }
            } catch (e: Exception) {
                Logger.log.log(Level.SEVERE, "Couldn't remove account", e)
            }
        }, null)
    }


    /**
     * Updates the sync framework settings for this address book:
+0 −3
Original line number Diff line number Diff line
@@ -38,7 +38,6 @@ import dagger.hilt.android.qualifiers.ApplicationContext
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.NonCancellable
import kotlinx.coroutines.launch
import at.bitfire.davdroid.MailAccountSyncHelper

import java.util.logging.Level
import javax.inject.Inject
@@ -140,7 +139,6 @@ class AccountActivity: AppCompatActivity() {
            try {
                if (future.result)
                    Handler(Looper.getMainLooper()).post {
                        MailAccountSyncHelper.onAccountLoggedOut(applicationContext, email)
                        finish()
                    }
            } catch (e: Exception) {
@@ -154,7 +152,6 @@ class AccountActivity: AppCompatActivity() {
            try {
                if (future.result.getBoolean(AccountManager.KEY_BOOLEAN_RESULT))
                    Handler(Looper.getMainLooper()).post {
                        MailAccountSyncHelper.onAccountLoggedOut(applicationContext, email)
                        finish()
                    }
            } catch (e: Exception) {