Loading app/src/main/java/at/bitfire/davdroid/model/ServiceDB.kt +0 −2 Original line number Diff line number Diff line Loading @@ -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" Loading Loading @@ -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})") Loading app/src/main/java/at/bitfire/davdroid/resource/LocalAddressBook.kt +7 −29 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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") Loading @@ -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() Loading @@ -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), Loading app/src/main/java/at/bitfire/davdroid/syncadapter/EeloAccountAuthenticatorService.kt +1 −1 Original line number Diff line number Diff line Loading @@ -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 { Loading app/src/main/java/at/bitfire/davdroid/syncadapter/EeloAddressBooksSyncAdapterService.kt +1 −1 Original line number Diff line number Diff line Loading @@ -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) Loading app/src/main/java/at/bitfire/davdroid/syncadapter/GoogleAccountAuthenticatorService.kt +1 −1 Original line number Diff line number Diff line Loading @@ -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 Loading
app/src/main/java/at/bitfire/davdroid/model/ServiceDB.kt +0 −2 Original line number Diff line number Diff line Loading @@ -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" Loading Loading @@ -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})") Loading
app/src/main/java/at/bitfire/davdroid/resource/LocalAddressBook.kt +7 −29 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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") Loading @@ -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() Loading @@ -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), Loading
app/src/main/java/at/bitfire/davdroid/syncadapter/EeloAccountAuthenticatorService.kt +1 −1 Original line number Diff line number Diff line Loading @@ -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 { Loading
app/src/main/java/at/bitfire/davdroid/syncadapter/EeloAddressBooksSyncAdapterService.kt +1 −1 Original line number Diff line number Diff line Loading @@ -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) Loading
app/src/main/java/at/bitfire/davdroid/syncadapter/GoogleAccountAuthenticatorService.kt +1 −1 Original line number Diff line number Diff line Loading @@ -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