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

Commit 0bc28b7a authored by Nihar Thakkar's avatar Nihar Thakkar
Browse files

Revert "Use Google and eelo account types for Address books"

This reverts commit e7262a65
parent e7262a65
Loading
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -27,7 +27,6 @@ class ServiceDB {
        const val ACCOUNT_NAME = "accountName"
        const val AUTH_STATE = "authState"
        const val ACCOUNT_TYPE = "accountType"
        const val ADDRESS_BOOK_ACCOUNT_TYPE = "addressBookAccountType"
        const val SERVICE = "service"
        const val PRINCIPAL = "principal"

@@ -94,7 +93,6 @@ class ServiceDB {
                    "${Services.ACCOUNT_NAME} TEXT NOT NULL," +
                    "${Services.AUTH_STATE} TEXT," +
                    "${Services.ACCOUNT_TYPE} TEXT," +
                    "${Services.ADDRESS_BOOK_ACCOUNT_TYPE} TEXT," +
                    "${Services.SERVICE} TEXT NOT NULL," +
                    "${Services.PRINCIPAL} TEXT NULL)")
            db.execSQL("CREATE UNIQUE INDEX services_account ON ${Services._TABLE} (${Services.ACCOUNT_NAME},${Services.SERVICE})")
+7 −29
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ import at.bitfire.davdroid.DavUtils
import at.bitfire.davdroid.R
import at.bitfire.davdroid.log.Logger
import at.bitfire.davdroid.model.CollectionInfo
import at.bitfire.davdroid.model.ServiceDB
import at.bitfire.davdroid.model.SyncState
import at.bitfire.vcard4android.*
import java.io.ByteArrayOutputStream
@@ -51,19 +50,8 @@ class LocalAddressBook(

        fun create(context: Context, provider: ContentProviderClient, mainAccount: Account, info: CollectionInfo): LocalAddressBook {
            val accountManager = AccountManager.get(context)
            var account = Account(accountName(mainAccount, info), context.getString(R.string.account_type_address_book))

            ServiceDB.OpenHelper(context).use { dbHelper ->
                val db = dbHelper.readableDatabase

                db.query(ServiceDB.Services._TABLE, arrayOf(ServiceDB.Services.ADDRESS_BOOK_ACCOUNT_TYPE),
                        "${ServiceDB.Services.ACCOUNT_NAME}=?", arrayOf(mainAccount.name), null, null, null)?.use { cursor ->
                    if (cursor.moveToNext()) {
                        account = Account(accountName(mainAccount, info), cursor.getString(0))
                    }
                }
            }

            val account = Account(accountName(mainAccount, info), context.getString(R.string.account_type_address_book))
            if (!accountManager.addAccountExplicitly(account, null, initialUserData(mainAccount, info.url)))
                throw IllegalStateException("Couldn't create address book account")

@@ -79,19 +67,11 @@ class LocalAddressBook(
            return addressBook
        }

        fun findAll(context: Context, provider: ContentProviderClient, mainAccount: Account?) : List<LocalAddressBook>{
            val accounts = ArrayList<Account>()
            val eeloAccounts = AccountManager.get(context).getAccountsByType(context.getString(R.string.account_type_eelo_address_book))
            eeloAccounts.forEach { accounts.add(it) }
            val googleAccounts = AccountManager.get(context).getAccountsByType(context.getString(R.string.account_type_google_address_book))
            googleAccounts.forEach { accounts.add(it) }
            val webDavAccounts = AccountManager.get(context).getAccountsByType(context.getString(R.string.account_type_address_book))
            webDavAccounts.forEach { accounts.add(it) }

            return accounts.toTypedArray().map { LocalAddressBook(context, it, provider) }
        fun findAll(context: Context, provider: ContentProviderClient, mainAccount: Account?) = AccountManager.get(context)
                .getAccountsByType(context.getString(R.string.account_type_address_book))
                .map { LocalAddressBook(context, it, provider) }
                .filter { mainAccount == null || it.mainAccount == mainAccount }
                .toList()
        }

        fun accountName(mainAccount: Account, info: CollectionInfo): String {
            val baos = ByteArrayOutputStream()
@@ -112,9 +92,7 @@ class LocalAddressBook(
        }

        fun mainAccount(context: Context, account: Account): Account =
                if (account.type == context.getString(R.string.account_type_address_book) ||
                        account.type == context.getString(R.string.account_type_eelo_address_book) ||
                        account.type == context.getString(R.string.account_type_google_address_book)) {
                if (account.type == context.getString(R.string.account_type_address_book)) {
                    val manager = AccountManager.get(context)
                    Account(
                            manager.getUserData(account, USER_DATA_MAIN_ACCOUNT_NAME),
+1 −1
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ class EeloAccountAuthenticatorService : Service(), OnAccountsUpdateListener {
                }

                // delete orphaned address book accounts
                accountManager.getAccountsByType(context.getString(R.string.account_type_eelo_address_book))
                accountManager.getAccountsByType(context.getString(R.string.account_type_address_book))
                        .map { LocalAddressBook(context, it, null) }
                        .forEach {
                            try {
+1 −1
Original line number Diff line number Diff line
@@ -53,7 +53,7 @@ class EeloAddressBooksSyncAdapterService: SyncAdapterService() {
                updateLocalAddressBooks(contactsProvider, account)

                val accountManager = AccountManager.get(context)
                for (addressBookAccount in accountManager.getAccountsByType(context.getString(R.string.account_type_eelo_address_book))) {
                for (addressBookAccount in accountManager.getAccountsByType(context.getString(R.string.account_type_address_book))) {
                    Logger.log.log(Level.INFO, "Running sync for address book", addressBookAccount)
                    val syncExtras = Bundle(extras)
                    syncExtras.putBoolean(ContentResolver.SYNC_EXTRAS_IGNORE_SETTINGS, true)
+1 −1
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ class GoogleAccountAuthenticatorService : Service(), OnAccountsUpdateListener {
                }

                // delete orphaned address book accounts
                accountManager.getAccountsByType(context.getString(R.string.account_type_google_address_book))
                accountManager.getAccountsByType(context.getString(R.string.account_type_address_book))
                        .map { LocalAddressBook(context, it, null) }
                        .forEach {
                            try {
Loading