Loading app/k9mail/src/main/AndroidManifest.xml +0 −4 Original line number Diff line number Diff line Loading @@ -342,10 +342,6 @@ android:name=".service.DatabaseUpgradeService" android:exported="false"/> <service android:name="com.fsck.k9.account.AccountRemoverService" android:permission="android.permission.BIND_JOB_SERVICE"/> <service android:name=".controller.push.PushService" android:exported="false" Loading app/k9mail/src/test/java/com/fsck/k9/DependencyInjectionTest.kt +2 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ import androidx.lifecycle.LifecycleOwner import androidx.work.WorkerParameters import app.k9mail.feature.account.setup.domain.DomainContract.UseCase.ValidateServerSettings import app.k9mail.feature.account.setup.ui.validation.AccountValidationContract import com.fsck.k9.account.AccountRemoverWorker import com.fsck.k9.job.MailSyncWorker import com.fsck.k9.mail.oauth.AuthStateStorage import com.fsck.k9.ui.R Loading Loading @@ -61,6 +62,7 @@ class DependencyInjectionTest : AutoCloseKoinTest() { withParameter<AccountValidationContract.ViewModel>(named("incoming_validation")) { authStateStorage } withParameter<AccountValidationContract.ViewModel>(named("outgoing_validation")) { authStateStorage } withParameter<ValidateServerSettings> { authStateStorage } withParameter<AccountRemoverWorker> { mock<WorkerParameters>() } } } } app/ui/legacy/build.gradle.kts +1 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ dependencies { implementation(libs.fastadapter.extensions.drag) implementation(libs.fastadapter.extensions.utils) implementation(libs.circleimageview) implementation(libs.androidx.work.ktx) api(libs.appauth) implementation(libs.commons.io) Loading app/ui/legacy/src/main/java/com/fsck/k9/account/AccountRemover.kt +3 −2 Original line number Diff line number Diff line Loading @@ -20,11 +20,11 @@ class AccountRemover( private val preferences: Preferences, ) { fun removeAccount(accountUuid: String) { fun removeAccount(accountUuid: String): Boolean { val account = preferences.getAccount(accountUuid) if (account == null) { Timber.w("Can't remove account with UUID %s because it doesn't exist.", accountUuid) return return false } val accountName = account.toString() Loading @@ -40,6 +40,7 @@ class AccountRemover( Core.setServicesEnabled() Timber.v("Finished removing account '%s'.", accountName) return true } private fun removeLocalStore(account: Account) { Loading app/ui/legacy/src/main/java/com/fsck/k9/account/AccountRemoverService.ktdeleted 100644 → 0 +0 −34 Original line number Diff line number Diff line package com.fsck.k9.account import android.content.Context import android.content.Intent import androidx.core.app.JobIntentService import org.koin.core.component.KoinComponent import org.koin.core.component.inject /** * A [JobIntentService] to remove an account in the background. */ class AccountRemoverService : JobIntentService(), KoinComponent { private val accountRemover: AccountRemover by inject() override fun onHandleWork(intent: Intent) { val accountUuid = intent.getStringExtra(ARG_ACCOUNT_UUID) ?: throw IllegalArgumentException("No account UUID provided") accountRemover.removeAccount(accountUuid) } companion object { private const val JOB_ID = 1 private const val ARG_ACCOUNT_UUID = "accountUuid" fun enqueueRemoveAccountJob(context: Context, accountUuid: String) { val workIntent = Intent().apply { putExtra(ARG_ACCOUNT_UUID, accountUuid) } JobIntentService.enqueueWork(context, AccountRemoverService::class.java, JOB_ID, workIntent) } } } Loading
app/k9mail/src/main/AndroidManifest.xml +0 −4 Original line number Diff line number Diff line Loading @@ -342,10 +342,6 @@ android:name=".service.DatabaseUpgradeService" android:exported="false"/> <service android:name="com.fsck.k9.account.AccountRemoverService" android:permission="android.permission.BIND_JOB_SERVICE"/> <service android:name=".controller.push.PushService" android:exported="false" Loading
app/k9mail/src/test/java/com/fsck/k9/DependencyInjectionTest.kt +2 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ import androidx.lifecycle.LifecycleOwner import androidx.work.WorkerParameters import app.k9mail.feature.account.setup.domain.DomainContract.UseCase.ValidateServerSettings import app.k9mail.feature.account.setup.ui.validation.AccountValidationContract import com.fsck.k9.account.AccountRemoverWorker import com.fsck.k9.job.MailSyncWorker import com.fsck.k9.mail.oauth.AuthStateStorage import com.fsck.k9.ui.R Loading Loading @@ -61,6 +62,7 @@ class DependencyInjectionTest : AutoCloseKoinTest() { withParameter<AccountValidationContract.ViewModel>(named("incoming_validation")) { authStateStorage } withParameter<AccountValidationContract.ViewModel>(named("outgoing_validation")) { authStateStorage } withParameter<ValidateServerSettings> { authStateStorage } withParameter<AccountRemoverWorker> { mock<WorkerParameters>() } } } }
app/ui/legacy/build.gradle.kts +1 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ dependencies { implementation(libs.fastadapter.extensions.drag) implementation(libs.fastadapter.extensions.utils) implementation(libs.circleimageview) implementation(libs.androidx.work.ktx) api(libs.appauth) implementation(libs.commons.io) Loading
app/ui/legacy/src/main/java/com/fsck/k9/account/AccountRemover.kt +3 −2 Original line number Diff line number Diff line Loading @@ -20,11 +20,11 @@ class AccountRemover( private val preferences: Preferences, ) { fun removeAccount(accountUuid: String) { fun removeAccount(accountUuid: String): Boolean { val account = preferences.getAccount(accountUuid) if (account == null) { Timber.w("Can't remove account with UUID %s because it doesn't exist.", accountUuid) return return false } val accountName = account.toString() Loading @@ -40,6 +40,7 @@ class AccountRemover( Core.setServicesEnabled() Timber.v("Finished removing account '%s'.", accountName) return true } private fun removeLocalStore(account: Account) { Loading
app/ui/legacy/src/main/java/com/fsck/k9/account/AccountRemoverService.ktdeleted 100644 → 0 +0 −34 Original line number Diff line number Diff line package com.fsck.k9.account import android.content.Context import android.content.Intent import androidx.core.app.JobIntentService import org.koin.core.component.KoinComponent import org.koin.core.component.inject /** * A [JobIntentService] to remove an account in the background. */ class AccountRemoverService : JobIntentService(), KoinComponent { private val accountRemover: AccountRemover by inject() override fun onHandleWork(intent: Intent) { val accountUuid = intent.getStringExtra(ARG_ACCOUNT_UUID) ?: throw IllegalArgumentException("No account UUID provided") accountRemover.removeAccount(accountUuid) } companion object { private const val JOB_ID = 1 private const val ARG_ACCOUNT_UUID = "accountUuid" fun enqueueRemoveAccountJob(context: Context, accountUuid: String) { val workIntent = Intent().apply { putExtra(ARG_ACCOUNT_UUID, accountUuid) } JobIntentService.enqueueWork(context, AccountRemoverService::class.java, JOB_ID, workIntent) } } }