59 lines
2 KiB
Kotlin
59 lines
2 KiB
Kotlin
|
|
/*
|
||
|
|
* Copyright © All Contributors. See LICENSE and AUTHORS in the root directory for details.
|
||
|
|
*/
|
||
|
|
|
||
|
|
package at.bitfire.davdroid.resource
|
||
|
|
|
||
|
|
import android.accounts.Account
|
||
|
|
import android.content.ContentProviderClient
|
||
|
|
import android.content.Context
|
||
|
|
import at.bitfire.davdroid.repository.DavCollectionRepository
|
||
|
|
import at.bitfire.davdroid.repository.DavServiceRepository
|
||
|
|
import at.bitfire.davdroid.settings.AccountSettings
|
||
|
|
import at.bitfire.davdroid.sync.adapter.SyncFrameworkIntegration
|
||
|
|
import at.bitfire.vcard4android.GroupMethod
|
||
|
|
import dagger.assisted.Assisted
|
||
|
|
import dagger.assisted.AssistedFactory
|
||
|
|
import dagger.assisted.AssistedInject
|
||
|
|
import dagger.hilt.android.qualifiers.ApplicationContext
|
||
|
|
import java.util.Optional
|
||
|
|
import java.util.logging.Logger
|
||
|
|
|
||
|
|
/**
|
||
|
|
* A local address book that provides an easy way to set the group method in tests.
|
||
|
|
*/
|
||
|
|
class LocalTestAddressBook @AssistedInject constructor(
|
||
|
|
@Assisted account: Account,
|
||
|
|
@Assisted("addressBook") addressBookAccount: Account,
|
||
|
|
@Assisted provider: ContentProviderClient,
|
||
|
|
@Assisted override val groupMethod: GroupMethod,
|
||
|
|
accountSettingsFactory: AccountSettings.Factory,
|
||
|
|
collectionRepository: DavCollectionRepository,
|
||
|
|
@ApplicationContext context: Context,
|
||
|
|
logger: Logger,
|
||
|
|
serviceRepository: DavServiceRepository,
|
||
|
|
syncFramework: SyncFrameworkIntegration
|
||
|
|
): LocalAddressBook(
|
||
|
|
account = account,
|
||
|
|
_addressBookAccount = addressBookAccount,
|
||
|
|
provider = provider,
|
||
|
|
accountSettingsFactory = accountSettingsFactory,
|
||
|
|
collectionRepository = collectionRepository,
|
||
|
|
context = context,
|
||
|
|
dirtyVerifier = Optional.empty(),
|
||
|
|
logger = logger,
|
||
|
|
serviceRepository = serviceRepository,
|
||
|
|
syncFramework = syncFramework
|
||
|
|
) {
|
||
|
|
|
||
|
|
@AssistedFactory
|
||
|
|
interface Factory {
|
||
|
|
fun create(
|
||
|
|
account: Account,
|
||
|
|
@Assisted("addressBook") addressBookAccount: Account,
|
||
|
|
provider: ContentProviderClient,
|
||
|
|
groupMethod: GroupMethod
|
||
|
|
): LocalTestAddressBook
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|