From 82cb6223793aa07f462bd55b2a84856098e35702 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolf=20Montwe=CC=81?= Date: Tue, 14 Feb 2023 12:28:43 +0100 Subject: [PATCH] Cleanup remaining code style issues for Kotlin sources --- .../fsck/k9/AccountPreferenceSerializer.kt | 51 ++++++++--- app/core/src/main/java/com/fsck/k9/DI.kt | 3 +- app/core/src/main/java/com/fsck/k9/K9.kt | 10 +- .../src/main/java/com/fsck/k9/Preferences.kt | 1 - .../AutocryptTransferMessageCreator.kt | 5 +- .../controller/push/AccountPushController.kt | 1 - .../controller/push/BootCompleteReceiver.kt | 1 - .../fsck/k9/controller/push/PushController.kt | 1 + .../com/fsck/k9/helper/NamedThreadFactory.kt | 2 +- .../k9/mailstore/K9BackendStorageFactory.kt | 6 +- .../fsck/k9/mailstore/MessageStoreManager.kt | 5 +- .../com/fsck/k9/message/html/UriMatcher.kt | 2 +- .../fsck/k9/notification/CoreKoinModule.kt | 7 +- .../AutocryptDraftStateHeaderParserTest.kt | 6 +- .../k9/mailstore/MessageListRepositoryTest.kt | 40 ++++---- .../com/fsck/k9/auth/OAuthConfigurations.kt | 6 +- .../K9NotificationActionCreator.kt | 14 +-- .../storage/messages/MoveMessageOperations.kt | 3 +- .../k9/storage/migrations/MigrationTo76.kt | 3 +- .../k9/preferences/StoragePersisterTest.kt | 28 +++--- .../RetrieveMessageListOperationsTest.kt | 10 +- .../extensions/TextInputLayoutExtensions.kt | 14 +-- .../com/fsck/k9/activity/FolderInfoHolder.kt | 12 ++- .../java/com/fsck/k9/activity/MessageList.kt | 27 +++--- .../activity/compose/ComposeCryptoStatus.kt | 13 ++- .../k9/activity/compose/RecipientMvpView.kt | 42 +++++---- .../k9/activity/compose/RecipientPresenter.kt | 3 +- .../src/main/java/com/fsck/k9/ui/K9Drawer.kt | 30 +++--- .../fsck/k9/ui/compose/SimpleHighlightView.kt | 24 +++-- .../endtoend/AutocryptKeyTransferPresenter.kt | 5 +- .../AutocryptSetupMessageLiveEvent.kt | 4 +- .../ui/managefolders/ManageFoldersFragment.kt | 24 ++--- .../messagedetails/MessageDetailsFragment.kt | 12 ++- .../k9/ui/messagelist/MessageListAdapter.kt | 11 ++- .../k9/ui/messagelist/MessageListFragment.kt | 14 +-- .../k9/ui/messageview/MessageContainerView.kt | 2 +- .../fsck/k9/ui/messageview/MessageTopView.kt | 12 ++- .../MessageViewContainerFragment.kt | 26 +++--- .../k9/ui/onboarding/OnboardingActivity.kt | 3 +- .../com/fsck/k9/ui/settings/AboutFragment.kt | 42 +++++++-- .../fsck/k9/ui/settings/SettingsActivity.kt | 3 +- .../settings/account/FolderListPreference.kt | 3 +- .../account/VibrationDialogFragment.kt | 26 +++--- .../general/GeneralSettingsActivity.kt | 22 +++-- .../fsck/k9/message/PgpMessageBuilderTest.kt | 91 +++++++++++++++---- .../helper/RelativeDateTimeFormatterTest.kt | 2 +- ...thunderbird.app.android.compose.gradle.kts | 2 +- settings.gradle.kts | 10 +- 48 files changed, 445 insertions(+), 239 deletions(-) diff --git a/app/core/src/main/java/com/fsck/k9/AccountPreferenceSerializer.kt b/app/core/src/main/java/com/fsck/k9/AccountPreferenceSerializer.kt index 8bb1a21c636..e78a2ca2ea1 100644 --- a/app/core/src/main/java/com/fsck/k9/AccountPreferenceSerializer.kt +++ b/app/core/src/main/java/com/fsck/k9/AccountPreferenceSerializer.kt @@ -37,10 +37,17 @@ class AccountPreferenceSerializer( storage.getString("$accountUuid.$OUTGOING_SERVER_SETTINGS_KEY", ""), ) oAuthState = storage.getString("$accountUuid.oAuthState", null) - localStorageProviderId = storage.getString("$accountUuid.localStorageProvider", storageManager.defaultProviderId) + localStorageProviderId = storage.getString( + "$accountUuid.localStorageProvider", + storageManager.defaultProviderId, + ) name = storage.getString("$accountUuid.description", null) alwaysBcc = storage.getString("$accountUuid.alwaysBcc", alwaysBcc) - automaticCheckIntervalMinutes = storage.getInt("$accountUuid.automaticCheckIntervalMinutes", DEFAULT_SYNC_INTERVAL) + automaticCheckIntervalMinutes = storage.getInt( + "" + + "$accountUuid.automaticCheckIntervalMinutes", + DEFAULT_SYNC_INTERVAL, + ) idleRefreshMinutes = storage.getInt("$accountUuid.idleRefreshMinutes", 24) displayCount = storage.getInt("$accountUuid.displayCount", K9.DEFAULT_VISIBLE_LIMIT) if (displayCount < 0) { @@ -48,7 +55,11 @@ class AccountPreferenceSerializer( } isNotifyNewMail = storage.getBoolean("$accountUuid.notifyNewMail", false) - folderNotifyNewMailMode = getEnumStringPref(storage, "$accountUuid.folderNotifyNewMailMode", FolderMode.ALL) + folderNotifyNewMailMode = getEnumStringPref( + storage, + "$accountUuid.folderNotifyNewMailMode", + FolderMode.ALL, + ) isNotifySelfNewMail = storage.getBoolean("$accountUuid.notifySelfNewMail", true) isNotifyContactsMailOnly = storage.getBoolean("$accountUuid.notifyContactsMailOnly", false) isIgnoreChatMessages = storage.getBoolean("$accountUuid.ignoreChatMessages", false) @@ -107,14 +118,14 @@ class AccountPreferenceSerializer( autoExpandFolderId = storage.getString("$accountUuid.autoExpandFolderId", null)?.toLongOrNull() - expungePolicy = getEnumStringPref(storage, "$accountUuid.expungePolicy", Expunge.EXPUNGE_IMMEDIATELY) + expungePolicy = getEnumStringPref(storage, "$accountUuid.expungePolicy", Expunge.EXPUNGE_IMMEDIATELY) isSyncRemoteDeletions = storage.getBoolean("$accountUuid.syncRemoteDeletions", true) maxPushFolders = storage.getInt("$accountUuid.maxPushFolders", 10) isSubscribedFoldersOnly = storage.getBoolean("$accountUuid.subscribedFoldersOnly", false) maximumPolledMessageAge = storage.getInt("$accountUuid.maximumPolledMessageAge", -1) maximumAutoDownloadMessageSize = storage.getInt("$accountUuid.maximumAutoDownloadMessageSize", 32768) - messageFormat = getEnumStringPref(storage, "$accountUuid.messageFormat", DEFAULT_MESSAGE_FORMAT) + messageFormat = getEnumStringPref(storage, "$accountUuid.messageFormat", DEFAULT_MESSAGE_FORMAT) val messageFormatAuto = storage.getBoolean("$accountUuid.messageFormatAuto", DEFAULT_MESSAGE_FORMAT_AUTO) if (messageFormatAuto && messageFormat == MessageFormat.TEXT) { messageFormat = MessageFormat.AUTO @@ -122,7 +133,10 @@ class AccountPreferenceSerializer( isMessageReadReceipt = storage.getBoolean("$accountUuid.messageReadReceipt", DEFAULT_MESSAGE_READ_RECEIPT) quoteStyle = getEnumStringPref(storage, "$accountUuid.quoteStyle", DEFAULT_QUOTE_STYLE) quotePrefix = storage.getString("$accountUuid.quotePrefix", DEFAULT_QUOTE_PREFIX) - isDefaultQuotedTextShown = storage.getBoolean("$accountUuid.defaultQuotedTextShown", DEFAULT_QUOTED_TEXT_SHOWN) + isDefaultQuotedTextShown = storage.getBoolean( + "$accountUuid.defaultQuotedTextShown", + DEFAULT_QUOTED_TEXT_SHOWN, + ) isReplyAfterQuote = storage.getBoolean("$accountUuid.replyAfterQuote", DEFAULT_REPLY_AFTER_QUOTE) isStripSignature = storage.getBoolean("$accountUuid.stripSignature", DEFAULT_STRIP_SIGNATURE) useCompression = storage.getBoolean("$accountUuid.useCompression", true) @@ -152,13 +166,16 @@ class AccountPreferenceSerializer( ) } - folderDisplayMode = getEnumStringPref(storage, "$accountUuid.folderDisplayMode", FolderMode.NOT_SECOND_CLASS) + folderDisplayMode = + getEnumStringPref(storage, "$accountUuid.folderDisplayMode", FolderMode.NOT_SECOND_CLASS) - folderSyncMode = getEnumStringPref(storage, "$accountUuid.folderSyncMode", FolderMode.FIRST_CLASS) + folderSyncMode = + getEnumStringPref(storage, "$accountUuid.folderSyncMode", FolderMode.FIRST_CLASS) folderPushMode = getEnumStringPref(storage, "$accountUuid.folderPushMode", FolderMode.NONE) - folderTargetMode = getEnumStringPref(storage, "$accountUuid.folderTargetMode", FolderMode.NOT_SECOND_CLASS) + folderTargetMode = + getEnumStringPref(storage, "$accountUuid.folderTargetMode", FolderMode.NOT_SECOND_CLASS) searchableFolders = getEnumStringPref(storage, "$accountUuid.searchableFolders", Searchable.ALL) @@ -172,7 +189,8 @@ class AccountPreferenceSerializer( isOpenPgpEncryptAllDrafts = storage.getBoolean("$accountUuid.openPgpEncryptAllDrafts", true) autocryptPreferEncryptMutual = storage.getBoolean("$accountUuid.autocryptMutualMode", false) isRemoteSearchFullText = storage.getBoolean("$accountUuid.remoteSearchFullText", false) - remoteSearchNumResults = storage.getInt("$accountUuid.remoteSearchNumResults", DEFAULT_REMOTE_SEARCH_NUM_RESULTS) + remoteSearchNumResults = + storage.getInt("$accountUuid.remoteSearchNumResults", DEFAULT_REMOTE_SEARCH_NUM_RESULTS) isUploadSentMessages = storage.getBoolean("$accountUuid.uploadSentMessages", true) isMarkMessageAsReadOnView = storage.getBoolean("$accountUuid.markMessageAsReadOnView", true) @@ -247,8 +265,14 @@ class AccountPreferenceSerializer( } with(account) { - editor.putString("$accountUuid.$INCOMING_SERVER_SETTINGS_KEY", serverSettingsSerializer.serialize(incomingServerSettings)) - editor.putString("$accountUuid.$OUTGOING_SERVER_SETTINGS_KEY", serverSettingsSerializer.serialize(outgoingServerSettings)) + editor.putString( + "$accountUuid.$INCOMING_SERVER_SETTINGS_KEY", + serverSettingsSerializer.serialize(incomingServerSettings), + ) + editor.putString( + "$accountUuid.$OUTGOING_SERVER_SETTINGS_KEY", + serverSettingsSerializer.serialize(outgoingServerSettings), + ) editor.putString("$accountUuid.oAuthState", oAuthState) editor.putString("$accountUuid.localStorageProvider", localStorageProviderId) editor.putString("$accountUuid.description", name) @@ -351,7 +375,8 @@ class AccountPreferenceSerializer( val accountUuid = account.uuid // Get the list of account UUIDs - val uuids = storage.getString("accountUuids", "").split(",".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray() + val uuids = + storage.getString("accountUuids", "").split(",".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray() // Create a list of all account UUIDs excluding this account val newUuids = ArrayList(uuids.size) diff --git a/app/core/src/main/java/com/fsck/k9/DI.kt b/app/core/src/main/java/com/fsck/k9/DI.kt index f199ba90ab2..0b369274528 100644 --- a/app/core/src/main/java/com/fsck/k9/DI.kt +++ b/app/core/src/main/java/com/fsck/k9/DI.kt @@ -14,7 +14,8 @@ import org.koin.java.KoinJavaComponent.get as koinGet object DI { private const val DEBUG = false - @JvmStatic fun start(application: Application, modules: List) { + @JvmStatic + fun start(application: Application, modules: List) { startKoin { if (BuildConfig.DEBUG && DEBUG) { androidLogger() diff --git a/app/core/src/main/java/com/fsck/k9/K9.kt b/app/core/src/main/java/com/fsck/k9/K9.kt index 0d6df8dd4d4..ed634d2bc89 100644 --- a/app/core/src/main/java/com/fsck/k9/K9.kt +++ b/app/core/src/main/java/com/fsck/k9/K9.kt @@ -287,11 +287,13 @@ object K9 : EarlyInit { } fun init(context: Context) { - K9MailLib.setDebugStatus(object : K9MailLib.DebugStatus { - override fun enabled(): Boolean = isDebugLoggingEnabled + K9MailLib.setDebugStatus( + object : K9MailLib.DebugStatus { + override fun enabled(): Boolean = isDebugLoggingEnabled - override fun debugSensitive(): Boolean = isSensitiveDebugLoggingEnabled - }) + override fun debugSensitive(): Boolean = isSensitiveDebugLoggingEnabled + }, + ) com.fsck.k9.logging.Timber.logger = TimberLogger() checkCachedDatabaseVersion(context) diff --git a/app/core/src/main/java/com/fsck/k9/Preferences.kt b/app/core/src/main/java/com/fsck/k9/Preferences.kt index c28885bdf6d..5b20a58fc60 100644 --- a/app/core/src/main/java/com/fsck/k9/Preferences.kt +++ b/app/core/src/main/java/com/fsck/k9/Preferences.kt @@ -8,7 +8,6 @@ import com.fsck.k9.preferences.AccountManager import com.fsck.k9.preferences.Storage import com.fsck.k9.preferences.StorageEditor import com.fsck.k9.preferences.StoragePersister -import java.util.HashMap import java.util.LinkedList import java.util.UUID import java.util.concurrent.CopyOnWriteArraySet diff --git a/app/core/src/main/java/com/fsck/k9/autocrypt/AutocryptTransferMessageCreator.kt b/app/core/src/main/java/com/fsck/k9/autocrypt/AutocryptTransferMessageCreator.kt index 2228ab2511c..fccdca46cd6 100644 --- a/app/core/src/main/java/com/fsck/k9/autocrypt/AutocryptTransferMessageCreator.kt +++ b/app/core/src/main/java/com/fsck/k9/autocrypt/AutocryptTransferMessageCreator.kt @@ -23,7 +23,10 @@ class AutocryptTransferMessageCreator(private val stringProvider: AutocryptStrin val textBodyPart = MimeBodyPart.create(TextBody(messageText)) val dataBodyPart = MimeBodyPart.create(BinaryMemoryBody(data, "7bit")) dataBodyPart.setHeader(MimeHeader.HEADER_CONTENT_TYPE, "application/autocrypt-setup") - dataBodyPart.setHeader(MimeHeader.HEADER_CONTENT_DISPOSITION, "attachment; filename=\"autocrypt-setup-message\"") + dataBodyPart.setHeader( + MimeHeader.HEADER_CONTENT_DISPOSITION, + "attachment; filename=\"autocrypt-setup-message\"", + ) val messageBody = MimeMultipart.newInstance() messageBody.addBodyPart(textBodyPart) diff --git a/app/core/src/main/java/com/fsck/k9/controller/push/AccountPushController.kt b/app/core/src/main/java/com/fsck/k9/controller/push/AccountPushController.kt index cecc7182f9e..bdf0c12b721 100644 --- a/app/core/src/main/java/com/fsck/k9/controller/push/AccountPushController.kt +++ b/app/core/src/main/java/com/fsck/k9/controller/push/AccountPushController.kt @@ -12,7 +12,6 @@ import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.cancel -import kotlinx.coroutines.flow.collect import kotlinx.coroutines.launch import timber.log.Timber diff --git a/app/core/src/main/java/com/fsck/k9/controller/push/BootCompleteReceiver.kt b/app/core/src/main/java/com/fsck/k9/controller/push/BootCompleteReceiver.kt index 558b119d712..c2a0295157c 100644 --- a/app/core/src/main/java/com/fsck/k9/controller/push/BootCompleteReceiver.kt +++ b/app/core/src/main/java/com/fsck/k9/controller/push/BootCompleteReceiver.kt @@ -7,7 +7,6 @@ import android.content.Intent import android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DISABLED import android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_ENABLED import android.content.pm.PackageManager.DONT_KILL_APP -import java.lang.Exception import org.koin.core.component.KoinComponent import org.koin.core.component.inject import timber.log.Timber diff --git a/app/core/src/main/java/com/fsck/k9/controller/push/PushController.kt b/app/core/src/main/java/com/fsck/k9/controller/push/PushController.kt index 7340b721ca1..e3b3412efe4 100644 --- a/app/core/src/main/java/com/fsck/k9/controller/push/PushController.kt +++ b/app/core/src/main/java/com/fsck/k9/controller/push/PushController.kt @@ -214,6 +214,7 @@ class PushController internal constructor( account.folderPushMode != FolderMode.NONE && backendManager.getBackend(account).isPushCapable } } + private fun setPushNotificationState(notificationState: PushNotificationState) { pushNotificationManager.notificationState = notificationState } diff --git a/app/core/src/main/java/com/fsck/k9/helper/NamedThreadFactory.kt b/app/core/src/main/java/com/fsck/k9/helper/NamedThreadFactory.kt index 265ea4ccc72..8323dddb19f 100644 --- a/app/core/src/main/java/com/fsck/k9/helper/NamedThreadFactory.kt +++ b/app/core/src/main/java/com/fsck/k9/helper/NamedThreadFactory.kt @@ -5,5 +5,5 @@ import java.util.concurrent.ThreadFactory class NamedThreadFactory(private val threadNamePrefix: String) : ThreadFactory { var counter: Int = 0 - override fun newThread(runnable: Runnable) = Thread(runnable, "$threadNamePrefix-${ counter++ }") + override fun newThread(runnable: Runnable) = Thread(runnable, "$threadNamePrefix-${counter++}") } diff --git a/app/core/src/main/java/com/fsck/k9/mailstore/K9BackendStorageFactory.kt b/app/core/src/main/java/com/fsck/k9/mailstore/K9BackendStorageFactory.kt index 57aa67a3b2b..9edc7dfeb21 100644 --- a/app/core/src/main/java/com/fsck/k9/mailstore/K9BackendStorageFactory.kt +++ b/app/core/src/main/java/com/fsck/k9/mailstore/K9BackendStorageFactory.kt @@ -20,7 +20,11 @@ class K9BackendStorageFactory( account, ) val specialFolderListener = SpecialFolderBackendFoldersRefreshListener(specialFolderUpdater) - val autoExpandFolderListener = AutoExpandFolderBackendFoldersRefreshListener(preferences, account, folderRepository) + val autoExpandFolderListener = AutoExpandFolderBackendFoldersRefreshListener( + preferences, + account, + folderRepository, + ) val listeners = listOf(specialFolderListener, autoExpandFolderListener) return K9BackendStorage(messageStore, folderSettingsProvider, saveMessageDataCreator, listeners) } diff --git a/app/core/src/main/java/com/fsck/k9/mailstore/MessageStoreManager.kt b/app/core/src/main/java/com/fsck/k9/mailstore/MessageStoreManager.kt index efe6990860b..ea97029e938 100644 --- a/app/core/src/main/java/com/fsck/k9/mailstore/MessageStoreManager.kt +++ b/app/core/src/main/java/com/fsck/k9/mailstore/MessageStoreManager.kt @@ -4,7 +4,10 @@ import com.fsck.k9.Account import com.fsck.k9.preferences.AccountManager import java.util.concurrent.ConcurrentHashMap -class MessageStoreManager(private val accountManager: AccountManager, private val messageStoreFactory: MessageStoreFactory) { +class MessageStoreManager( + private val accountManager: AccountManager, + private val messageStoreFactory: MessageStoreFactory, +) { private val messageStores = ConcurrentHashMap() init { diff --git a/app/core/src/main/java/com/fsck/k9/message/html/UriMatcher.kt b/app/core/src/main/java/com/fsck/k9/message/html/UriMatcher.kt index 068b7ae7353..891bb58524f 100644 --- a/app/core/src/main/java/com/fsck/k9/message/html/UriMatcher.kt +++ b/app/core/src/main/java/com/fsck/k9/message/html/UriMatcher.kt @@ -17,7 +17,7 @@ object UriMatcher { private const val SCHEME_SEPARATORS = "\\s(\\n<" private const val ALLOWED_SEPARATORS_PATTERN = "(?:^|[$SCHEME_SEPARATORS])" private val URI_SCHEME = Regex( - "$ALLOWED_SEPARATORS_PATTERN(${ SUPPORTED_URIS.keys.joinToString("|") })", + "$ALLOWED_SEPARATORS_PATTERN(${SUPPORTED_URIS.keys.joinToString("|")})", RegexOption.IGNORE_CASE, ) diff --git a/app/core/src/main/java/com/fsck/k9/notification/CoreKoinModule.kt b/app/core/src/main/java/com/fsck/k9/notification/CoreKoinModule.kt index a4aef538081..6646d3f8c03 100644 --- a/app/core/src/main/java/com/fsck/k9/notification/CoreKoinModule.kt +++ b/app/core/src/main/java/com/fsck/k9/notification/CoreKoinModule.kt @@ -19,7 +19,12 @@ val coreNotificationModule = module { } single { NotificationManagerCompat.from(get()) } single { - NotificationHelper(context = get(), notificationManager = get(), notificationChannelManager = get(), resourceProvider = get()) + NotificationHelper( + context = get(), + notificationManager = get(), + notificationChannelManager = get(), + resourceProvider = get(), + ) } single { NotificationChannelManager( diff --git a/app/core/src/test/java/com/fsck/k9/autocrypt/AutocryptDraftStateHeaderParserTest.kt b/app/core/src/test/java/com/fsck/k9/autocrypt/AutocryptDraftStateHeaderParserTest.kt index 696547b2b51..78518e4df50 100644 --- a/app/core/src/test/java/com/fsck/k9/autocrypt/AutocryptDraftStateHeaderParserTest.kt +++ b/app/core/src/test/java/com/fsck/k9/autocrypt/AutocryptDraftStateHeaderParserTest.kt @@ -18,7 +18,8 @@ class AutocryptDraftStateHeaderParserTest : RobolectricTest() { @Test fun testSignOnly() { - val parsedHeader = autocryptHeaderParser.parseAutocryptDraftStateHeader("encrypt=no; _by-choice=yes; _sign-only=yes") + val parsedHeader = + autocryptHeaderParser.parseAutocryptDraftStateHeader("encrypt=no; _by-choice=yes; _sign-only=yes") with(parsedHeader!!) { assertThat(isEncrypt).isFalse() @@ -38,7 +39,8 @@ class AutocryptDraftStateHeaderParserTest : RobolectricTest() { @Test fun missingEncrypt() { - val parsedHeader = autocryptHeaderParser.parseAutocryptDraftStateHeader("encrpt-with-typo=no; _non_critical=value") + val parsedHeader = + autocryptHeaderParser.parseAutocryptDraftStateHeader("encrpt-with-typo=no; _non_critical=value") assertThat(parsedHeader).isNull() } diff --git a/app/core/src/test/java/com/fsck/k9/mailstore/MessageListRepositoryTest.kt b/app/core/src/test/java/com/fsck/k9/mailstore/MessageListRepositoryTest.kt index 4d219c8a206..0b06882b992 100644 --- a/app/core/src/test/java/com/fsck/k9/mailstore/MessageListRepositoryTest.kt +++ b/app/core/src/test/java/com/fsck/k9/mailstore/MessageListRepositoryTest.kt @@ -383,25 +383,27 @@ class MessageListRepositoryTest { private fun runMessageMapper(messages: Array, mapper: MessageMapper): List { return messages.mapNotNull { message -> - mapper.map(object : MessageDetailsAccessor { - override val id = message.messageId - override val messageServerId = "irrelevant" - override val folderId = message.folderId - override val fromAddresses = emptyList
() - override val toAddresses = emptyList
() - override val ccAddresses = emptyList
() - override val messageDate = 0L - override val internalDate = 0L - override val subject = "irrelevant" - override val preview = PreviewResult.error() - override val isRead = message.isRead - override val isStarred = message.isStarred - override val isAnswered = message.isAnswered - override val isForwarded = message.isForwarded - override val hasAttachments = false - override val threadRoot = message.threadRoot - override val threadCount = 0 - }) + mapper.map( + object : MessageDetailsAccessor { + override val id = message.messageId + override val messageServerId = "irrelevant" + override val folderId = message.folderId + override val fromAddresses = emptyList
() + override val toAddresses = emptyList
() + override val ccAddresses = emptyList
() + override val messageDate = 0L + override val internalDate = 0L + override val subject = "irrelevant" + override val preview = PreviewResult.error() + override val isRead = message.isRead + override val isStarred = message.isStarred + override val isAnswered = message.isAnswered + override val isForwarded = message.isForwarded + override val hasAttachments = false + override val threadRoot = message.threadRoot + override val threadCount = 0 + }, + ) } } diff --git a/app/k9mail/src/main/java/com/fsck/k9/auth/OAuthConfigurations.kt b/app/k9mail/src/main/java/com/fsck/k9/auth/OAuthConfigurations.kt index 3bfb710d21d..78456bdf9eb 100644 --- a/app/k9mail/src/main/java/com/fsck/k9/auth/OAuthConfigurations.kt +++ b/app/k9mail/src/main/java/com/fsck/k9/auth/OAuthConfigurations.kt @@ -35,7 +35,11 @@ fun createOAuthConfigurationProvider(): OAuthConfigurationProvider { ), listOf("outlook.office365.com", "smtp.office365.com") to OAuthConfiguration( clientId = BuildConfig.OAUTH_MICROSOFT_CLIENT_ID, - scopes = listOf("https://outlook.office.com/IMAP.AccessAsUser.All", "https://outlook.office.com/SMTP.Send", "offline_access"), + scopes = listOf( + "https://outlook.office.com/IMAP.AccessAsUser.All", + "https://outlook.office.com/SMTP.Send", + "offline_access", + ), authorizationEndpoint = "https://login.microsoftonline.com/common/oauth2/v2.0/authorize", tokenEndpoint = "https://login.microsoftonline.com/common/oauth2/v2.0/token", redirectUri = BuildConfig.OAUTH_MICROSOFT_REDIRECT_URI, diff --git a/app/k9mail/src/main/java/com/fsck/k9/notification/K9NotificationActionCreator.kt b/app/k9mail/src/main/java/com/fsck/k9/notification/K9NotificationActionCreator.kt index f3ad76064e6..e81e91206fe 100644 --- a/app/k9mail/src/main/java/com/fsck/k9/notification/K9NotificationActionCreator.kt +++ b/app/k9mail/src/main/java/com/fsck/k9/notification/K9NotificationActionCreator.kt @@ -104,9 +104,10 @@ internal class K9NotificationActionCreator( messageReferences: List, ): PendingIntent { val accountUuid = account.uuid - val intent = NotificationActionService.createMarkAllAsReadIntent(context, accountUuid, messageReferences).apply { - data = Uri.parse("data:,markAllAsRead/$accountUuid/${System.currentTimeMillis()}") - } + val intent = + NotificationActionService.createMarkAllAsReadIntent(context, accountUuid, messageReferences).apply { + data = Uri.parse("data:,markAllAsRead/$accountUuid/${System.currentTimeMillis()}") + } return PendingIntent.getService(context, 0, intent, FLAG_UPDATE_CURRENT or FLAG_IMMUTABLE) } @@ -165,9 +166,10 @@ internal class K9NotificationActionCreator( messageReferences: List, ): PendingIntent { val accountUuid = account.uuid - val intent = NotificationActionService.createDeleteAllMessagesIntent(context, accountUuid, messageReferences).apply { - data = Uri.parse("data:,deleteAll/$accountUuid/${System.currentTimeMillis()}") - } + val intent = + NotificationActionService.createDeleteAllMessagesIntent(context, accountUuid, messageReferences).apply { + data = Uri.parse("data:,deleteAll/$accountUuid/${System.currentTimeMillis()}") + } return PendingIntent.getService(context, 0, intent, FLAG_UPDATE_CURRENT or FLAG_IMMUTABLE) } diff --git a/app/storage/src/main/java/com/fsck/k9/storage/messages/MoveMessageOperations.kt b/app/storage/src/main/java/com/fsck/k9/storage/messages/MoveMessageOperations.kt index 5e0fb05a7ae..07536bb40fd 100644 --- a/app/storage/src/main/java/com/fsck/k9/storage/messages/MoveMessageOperations.kt +++ b/app/storage/src/main/java/com/fsck/k9/storage/messages/MoveMessageOperations.kt @@ -18,7 +18,8 @@ internal class MoveMessageOperations( Timber.d("Moving message [ID: $messageId] to folder [ID: $destinationFolderId]") return database.execute(true) { database -> - val threadInfo = threadMessageOperations.createOrUpdateParentThreadEntries(database, messageId, destinationFolderId) + val threadInfo = + threadMessageOperations.createOrUpdateParentThreadEntries(database, messageId, destinationFolderId) val destinationMessageId = createMessageEntry(database, messageId, destinationFolderId, threadInfo) threadMessageOperations.createThreadEntryIfNecessary(database, destinationMessageId, threadInfo) diff --git a/app/storage/src/main/java/com/fsck/k9/storage/migrations/MigrationTo76.kt b/app/storage/src/main/java/com/fsck/k9/storage/migrations/MigrationTo76.kt index 6c22a680e24..e61d072bd26 100644 --- a/app/storage/src/main/java/com/fsck/k9/storage/migrations/MigrationTo76.kt +++ b/app/storage/src/main/java/com/fsck/k9/storage/migrations/MigrationTo76.kt @@ -30,7 +30,8 @@ internal class MigrationTo76(private val db: SQLiteDatabase, private val migrati val account = migrationsHelper.account Timber.v("Cleaning up Outbox folder") - val outboxFolderId = account.outboxFolderId ?: createFolder("Outbox", "K9MAIL_INTERNAL_OUTBOX", OUTBOX_FOLDER_TYPE) + val outboxFolderId = + account.outboxFolderId ?: createFolder("Outbox", "K9MAIL_INTERNAL_OUTBOX", OUTBOX_FOLDER_TYPE) deleteOtherOutboxFolders(outboxFolderId) account.outboxFolderId = outboxFolderId diff --git a/app/storage/src/test/java/com/fsck/k9/preferences/StoragePersisterTest.kt b/app/storage/src/test/java/com/fsck/k9/preferences/StoragePersisterTest.kt index 4fb47b03d11..d54347151e6 100644 --- a/app/storage/src/test/java/com/fsck/k9/preferences/StoragePersisterTest.kt +++ b/app/storage/src/test/java/com/fsck/k9/preferences/StoragePersisterTest.kt @@ -104,17 +104,19 @@ class StoragePersisterTest : K9RobolectricTest() { persistOp: ((StoragePersistOperations) -> Unit)? = null, before: ((MutableMap) -> Unit)? = null, onSuccess: ((Map) -> Unit)? = null, - ): StoragePersistOperationCallback = spy(object : StoragePersistOperationCallback { - override fun beforePersistTransaction(workingStorage: MutableMap) { - before?.invoke(workingStorage) - } - - override fun persist(ops: StoragePersistOperations) { - persistOp?.invoke(ops) - } - - override fun onPersistTransactionSuccess(workingStorage: Map) { - onSuccess?.invoke(workingStorage) - } - }) + ): StoragePersistOperationCallback = spy( + object : StoragePersistOperationCallback { + override fun beforePersistTransaction(workingStorage: MutableMap) { + before?.invoke(workingStorage) + } + + override fun persist(ops: StoragePersistOperations) { + persistOp?.invoke(ops) + } + + override fun onPersistTransactionSuccess(workingStorage: Map) { + onSuccess?.invoke(workingStorage) + } + }, + ) } diff --git a/app/storage/src/test/java/com/fsck/k9/storage/messages/RetrieveMessageListOperationsTest.kt b/app/storage/src/test/java/com/fsck/k9/storage/messages/RetrieveMessageListOperationsTest.kt index 651d4293cca..9249a2f8269 100644 --- a/app/storage/src/test/java/com/fsck/k9/storage/messages/RetrieveMessageListOperationsTest.kt +++ b/app/storage/src/test/java/com/fsck/k9/storage/messages/RetrieveMessageListOperationsTest.kt @@ -61,7 +61,10 @@ class RetrieveMessageListOperationsTest : RobolectricTest() { assertThat(message.folderId).isEqualTo(folderId) assertThat(message.fromAddresses).containsExactly(Address("from@domain.example")) assertThat(message.toAddresses).containsExactly(Address("to@domain.example")) - assertThat(message.ccAddresses).containsExactly(Address("cc1@domain.example"), Address("cc2@domain.example")) + assertThat(message.ccAddresses).containsExactly( + Address("cc1@domain.example"), + Address("cc2@domain.example"), + ) assertThat(message.messageDate).isEqualTo(123L) assertThat(message.internalDate).isEqualTo(456L) assertThat(message.subject).isEqualTo("subject") @@ -175,7 +178,10 @@ class RetrieveMessageListOperationsTest : RobolectricTest() { assertThat(message.folderId).isEqualTo(folderId) assertThat(message.fromAddresses).containsExactly(Address("from@domain.example")) assertThat(message.toAddresses).containsExactly(Address("to@domain.example")) - assertThat(message.ccAddresses).containsExactly(Address("cc1@domain.example"), Address("cc2@domain.example")) + assertThat(message.ccAddresses).containsExactly( + Address("cc1@domain.example"), + Address("cc2@domain.example"), + ) assertThat(message.messageDate).isEqualTo(123L) assertThat(message.internalDate).isEqualTo(456L) assertThat(message.subject).isEqualTo("subject") diff --git a/app/ui/base/src/main/java/com/fsck/k9/ui/base/extensions/TextInputLayoutExtensions.kt b/app/ui/base/src/main/java/com/fsck/k9/ui/base/extensions/TextInputLayoutExtensions.kt index 1607eb4a2c4..47aa0c20254 100644 --- a/app/ui/base/src/main/java/com/fsck/k9/ui/base/extensions/TextInputLayoutExtensions.kt +++ b/app/ui/base/src/main/java/com/fsck/k9/ui/base/extensions/TextInputLayoutExtensions.kt @@ -124,11 +124,13 @@ class AuthenticatedPasswordToggleViewModel : ViewModel() { set(value) { field = value - value?.lifecycle?.addObserver(object : DefaultLifecycleObserver { - override fun onDestroy(owner: LifecycleOwner) { - textInputLayout = null - field = null - } - }) + value?.lifecycle?.addObserver( + object : DefaultLifecycleObserver { + override fun onDestroy(owner: LifecycleOwner) { + textInputLayout = null + field = null + } + }, + ) } } diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/activity/FolderInfoHolder.kt b/app/ui/legacy/src/main/java/com/fsck/k9/activity/FolderInfoHolder.kt index 14de882d9de..2bcb0c121b5 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/activity/FolderInfoHolder.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/activity/FolderInfoHolder.kt @@ -11,13 +11,17 @@ class FolderInfoHolder( localFolder: LocalFolder, account: Account, ) { - @JvmField val databaseId = localFolder.databaseId + @JvmField + val databaseId = localFolder.databaseId - @JvmField val displayName = getDisplayName(account, localFolder) + @JvmField + val displayName = getDisplayName(account, localFolder) - @JvmField var loading = false + @JvmField + var loading = false - @JvmField var moreMessages = localFolder.hasMoreMessages() + @JvmField + var moreMessages = localFolder.hasMoreMessages() private fun getDisplayName(account: Account, localFolder: LocalFolder): String { val folderId = localFolder.databaseId diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/activity/MessageList.kt b/app/ui/legacy/src/main/java/com/fsck/k9/activity/MessageList.kt index a00e795bebe..c3e2326769d 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/activity/MessageList.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/activity/MessageList.kt @@ -226,7 +226,10 @@ open class MessageList : setIntent(intent) // Start with a fresh fragment back stack - supportFragmentManager.popBackStackImmediate(FIRST_FRAGMENT_TRANSACTION, FragmentManager.POP_BACK_STACK_INCLUSIVE) + supportFragmentManager.popBackStackImmediate( + FIRST_FRAGMENT_TRANSACTION, + FragmentManager.POP_BACK_STACK_INCLUSIVE, + ) removeMessageListFragment() removeMessageViewContainerFragment() @@ -906,17 +909,19 @@ open class MessageList : searchView.queryHint = resources.getString(R.string.search_action) val searchManager = getSystemService(SEARCH_SERVICE) as SearchManager searchView.setSearchableInfo(searchManager.getSearchableInfo(componentName)) - searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener { - override fun onQueryTextSubmit(query: String): Boolean { - messageListFragment?.onSearchRequested(query) - collapseSearchView() - return true - } + searchView.setOnQueryTextListener( + object : SearchView.OnQueryTextListener { + override fun onQueryTextSubmit(query: String): Boolean { + messageListFragment?.onSearchRequested(query) + collapseSearchView() + return true + } - override fun onQueryTextChange(s: String): Boolean { - return false - } - }) + override fun onQueryTextChange(s: String): Boolean { + return false + } + }, + ) searchView.setQuery(initialSearchViewQuery, false) searchView.isIconified = initialSearchViewIconified diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/activity/compose/ComposeCryptoStatus.kt b/app/ui/legacy/src/main/java/com/fsck/k9/activity/compose/ComposeCryptoStatus.kt index 89eb04921ec..d2814639ef7 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/activity/compose/ComposeCryptoStatus.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/activity/compose/ComposeCryptoStatus.kt @@ -38,9 +38,15 @@ data class ComposeCryptoStatus( isEncryptSubject: Boolean, cryptoMode: CryptoMode, ) : this( - openPgpProviderState, openPgpKeyId, + openPgpProviderState, + openPgpKeyId, recipientAddresses.map { it.address.address }, - isPgpInlineModeEnabled, isSenderPreferEncryptMutual, isReplyToEncrypted, isEncryptAllDrafts, isEncryptSubject, cryptoMode, + isPgpInlineModeEnabled, + isSenderPreferEncryptMutual, + isReplyToEncrypted, + isEncryptAllDrafts, + isEncryptSubject, + cryptoMode, ) private val recipientAutocryptStatusType = recipientAutocryptStatus?.type @@ -132,7 +138,8 @@ data class ComposeCryptoStatus( fun allRecipientsCanEncrypt() = recipientAutocryptStatus?.type?.canEncrypt() == true - fun canEncryptAndIsMutualDefault() = allRecipientsCanEncrypt() && isSenderPreferEncryptMutual && isRecipientsPreferEncryptMutual + fun canEncryptAndIsMutualDefault() = + allRecipientsCanEncrypt() && isSenderPreferEncryptMutual && isRecipientsPreferEncryptMutual fun hasAutocryptPendingIntent() = recipientAutocryptStatus?.hasPendingIntent() == true diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/activity/compose/RecipientMvpView.kt b/app/ui/legacy/src/main/java/com/fsck/k9/activity/compose/RecipientMvpView.kt index bbd9eb06828..3177640af6f 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/activity/compose/RecipientMvpView.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/activity/compose/RecipientMvpView.kt @@ -79,35 +79,41 @@ class RecipientMvpView(private val activity: MessageCompose) : View.OnFocusChang fun setPresenter(presenter: RecipientPresenter) { this.presenter = presenter - toView.setTokenListener(object : RecipientSelectView.TokenListener { - override fun onTokenAdded(recipient: Recipient) = presenter.onToTokenAdded() + toView.setTokenListener( + object : RecipientSelectView.TokenListener { + override fun onTokenAdded(recipient: Recipient) = presenter.onToTokenAdded() - override fun onTokenRemoved(recipient: Recipient) = presenter.onToTokenRemoved() + override fun onTokenRemoved(recipient: Recipient) = presenter.onToTokenRemoved() - override fun onTokenChanged(recipient: Recipient) = presenter.onToTokenChanged() + override fun onTokenChanged(recipient: Recipient) = presenter.onToTokenChanged() - override fun onTokenIgnored(token: Recipient) = Unit - }) + override fun onTokenIgnored(token: Recipient) = Unit + }, + ) - ccView.setTokenListener(object : RecipientSelectView.TokenListener { - override fun onTokenAdded(recipient: Recipient) = presenter.onCcTokenAdded() + ccView.setTokenListener( + object : RecipientSelectView.TokenListener { + override fun onTokenAdded(recipient: Recipient) = presenter.onCcTokenAdded() - override fun onTokenRemoved(recipient: Recipient) = presenter.onCcTokenRemoved() + override fun onTokenRemoved(recipient: Recipient) = presenter.onCcTokenRemoved() - override fun onTokenChanged(recipient: Recipient) = presenter.onCcTokenChanged() + override fun onTokenChanged(recipient: Recipient) = presenter.onCcTokenChanged() - override fun onTokenIgnored(token: Recipient) = Unit - }) + override fun onTokenIgnored(token: Recipient) = Unit + }, + ) - bccView.setTokenListener(object : RecipientSelectView.TokenListener { - override fun onTokenAdded(recipient: Recipient) = presenter.onBccTokenAdded() + bccView.setTokenListener( + object : RecipientSelectView.TokenListener { + override fun onTokenAdded(recipient: Recipient) = presenter.onBccTokenAdded() - override fun onTokenRemoved(recipient: Recipient) = presenter.onBccTokenRemoved() + override fun onTokenRemoved(recipient: Recipient) = presenter.onBccTokenRemoved() - override fun onTokenChanged(recipient: Recipient) = presenter.onBccTokenChanged() + override fun onTokenChanged(recipient: Recipient) = presenter.onBccTokenChanged() - override fun onTokenIgnored(token: Recipient) = Unit - }) + override fun onTokenIgnored(token: Recipient) = Unit + }, + ) } fun addTextChangedListener(textWatcher: TextWatcher) { diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/activity/compose/RecipientPresenter.kt b/app/ui/legacy/src/main/java/com/fsck/k9/activity/compose/RecipientPresenter.kt index f0022f0a889..ff9560ea2f8 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/activity/compose/RecipientPresenter.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/activity/compose/RecipientPresenter.kt @@ -608,7 +608,8 @@ class RecipientPresenter( } private fun isContactPickerAvailable(): Boolean { - val resolveInfoList = context.packageManager.queryIntentActivities(ContactIntentHelper.getContactPickerIntent(), 0) + val resolveInfoList = + context.packageManager.queryIntentActivities(ContactIntentHelper.getContactPickerIntent(), 0) return resolveInfoList.isNotEmpty() } diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/ui/K9Drawer.kt b/app/ui/legacy/src/main/java/com/fsck/k9/ui/K9Drawer.kt index 97f094292d0..b8ed58c401b 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/ui/K9Drawer.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/ui/K9Drawer.kt @@ -51,7 +51,6 @@ import com.mikepenz.materialdrawer.util.getDrawerItem import com.mikepenz.materialdrawer.util.removeAllItems import com.mikepenz.materialdrawer.widget.AccountHeaderView import com.mikepenz.materialdrawer.widget.MaterialDrawerSliderView -import java.util.ArrayList import org.koin.androidx.viewmodel.ext.android.viewModel import org.koin.core.component.KoinComponent import org.koin.core.component.inject @@ -141,19 +140,21 @@ class K9Drawer(private val parent: MessageList, savedInstanceState: Bundle?) : K } private fun initializeImageLoader() { - DrawerImageLoader.init(object : AbstractDrawerImageLoader() { - override fun set(imageView: ImageView, uri: Uri, placeholder: Drawable, tag: String?) { - val email = uri.getQueryParameter(QUERY_EMAIL) ?: error("Missing '$QUERY_EMAIL' parameter in $uri") - val color = uri.getQueryParameter(QUERY_COLOR)?.toInt() - ?: error("Missing '$QUERY_COLOR' parameter in $uri") - - accountImageLoader.setAccountImage(imageView, email, color) - } + DrawerImageLoader.init( + object : AbstractDrawerImageLoader() { + override fun set(imageView: ImageView, uri: Uri, placeholder: Drawable, tag: String?) { + val email = uri.getQueryParameter(QUERY_EMAIL) ?: error("Missing '$QUERY_EMAIL' parameter in $uri") + val color = uri.getQueryParameter(QUERY_COLOR)?.toInt() + ?: error("Missing '$QUERY_COLOR' parameter in $uri") + + accountImageLoader.setAccountImage(imageView, email, color) + } - override fun cancel(imageView: ImageView) { - accountImageLoader.cancel(imageView) - } - }).apply { + override fun cancel(imageView: ImageView) { + accountImageLoader.cancel(imageView) + } + }, + ).apply { handledProtocols = listOf(INTERNAL_URI_SCHEME) } } @@ -545,7 +546,8 @@ private fun Context.obtainDrawerTextColor(): Int { MaterialDrawerR.attr.materialDrawerStyle, MaterialDrawerR.style.Widget_MaterialDrawerStyle, ) - val textColor = styledAttributes.getColor(MaterialDrawerR.styleable.MaterialDrawerSliderView_materialDrawerPrimaryText, 0) + val textColor = + styledAttributes.getColor(MaterialDrawerR.styleable.MaterialDrawerSliderView_materialDrawerPrimaryText, 0) styledAttributes.recycle() return textColor diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/ui/compose/SimpleHighlightView.kt b/app/ui/legacy/src/main/java/com/fsck/k9/ui/compose/SimpleHighlightView.kt index a011fa96bff..5006b7edd94 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/ui/compose/SimpleHighlightView.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/ui/compose/SimpleHighlightView.kt @@ -193,20 +193,24 @@ class SimpleHighlightView private constructor(context: Context, style: Int) : Fr } private inline fun ObjectAnimator.onAnimationStart(crossinline block: () -> Unit): ObjectAnimator { - addListener(object : AnimatorListenerAdapter() { - override fun onAnimationStart(animation: Animator) { - block() - } - }) + addListener( + object : AnimatorListenerAdapter() { + override fun onAnimationStart(animation: Animator) { + block() + } + }, + ) return this } private inline fun ObjectAnimator.onAnimationEnd(crossinline block: () -> Unit): ObjectAnimator { - addListener(object : AnimatorListenerAdapter() { - override fun onAnimationEnd(animation: Animator) { - block() - } - }) + addListener( + object : AnimatorListenerAdapter() { + override fun onAnimationEnd(animation: Animator) { + block() + } + }, + ) return this } diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/ui/endtoend/AutocryptKeyTransferPresenter.kt b/app/ui/legacy/src/main/java/com/fsck/k9/ui/endtoend/AutocryptKeyTransferPresenter.kt index 7316afb2e95..6ddbdd796ea 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/ui/endtoend/AutocryptKeyTransferPresenter.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/ui/endtoend/AutocryptKeyTransferPresenter.kt @@ -71,7 +71,10 @@ class AutocryptKeyTransferPresenter internal constructor( view.uxDelay() view.setLoadingStateGenerating() - viewModel.autocryptSetupMessageLiveEvent.loadAutocryptSetupMessageAsync(openPgpApiManager.openPgpApi, account) + viewModel.autocryptSetupMessageLiveEvent.loadAutocryptSetupMessageAsync( + openPgpApiManager.openPgpApi, + account, + ) } } diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/ui/endtoend/AutocryptSetupMessageLiveEvent.kt b/app/ui/legacy/src/main/java/com/fsck/k9/ui/endtoend/AutocryptSetupMessageLiveEvent.kt index 4ec55169d92..90685bc6a3c 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/ui/endtoend/AutocryptSetupMessageLiveEvent.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/ui/endtoend/AutocryptSetupMessageLiveEvent.kt @@ -15,7 +15,9 @@ import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import org.openintents.openpgp.util.OpenPgpApi -class AutocryptSetupMessageLiveEvent(val messageCreator: AutocryptTransferMessageCreator) : SingleLiveEvent() { +class AutocryptSetupMessageLiveEvent( + val messageCreator: AutocryptTransferMessageCreator, +) : SingleLiveEvent() { fun loadAutocryptSetupMessageAsync(openPgpApi: OpenPgpApi, account: Account) { GlobalScope.launch(Dispatchers.Main) { value = withContext(Dispatchers.IO) { diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/ui/managefolders/ManageFoldersFragment.kt b/app/ui/legacy/src/main/java/com/fsck/k9/ui/managefolders/ManageFoldersFragment.kt index 98654350907..7ea09439a23 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/ui/managefolders/ManageFoldersFragment.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/ui/managefolders/ManageFoldersFragment.kt @@ -103,17 +103,19 @@ class ManageFoldersFragment : Fragment() { val folderMenuItem = menu.findItem(R.id.filter_folders) val folderSearchView = folderMenuItem.actionView as SearchView folderSearchView.queryHint = getString(R.string.folder_list_filter_hint) - folderSearchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener { - override fun onQueryTextSubmit(query: String): Boolean { - itemAdapter.filter(query) - return true - } - - override fun onQueryTextChange(newText: String): Boolean { - itemAdapter.filter(newText) - return true - } - }) + folderSearchView.setOnQueryTextListener( + object : SearchView.OnQueryTextListener { + override fun onQueryTextSubmit(query: String): Boolean { + itemAdapter.filter(query) + return true + } + + override fun onQueryTextChange(newText: String): Boolean { + itemAdapter.filter(newText) + return true + } + }, + ) } override fun onOptionsItemSelected(item: MenuItem): Boolean { diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/ui/messagedetails/MessageDetailsFragment.kt b/app/ui/legacy/src/main/java/com/fsck/k9/ui/messagedetails/MessageDetailsFragment.kt index 8dd1345f976..3cc42929b78 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/ui/messagedetails/MessageDetailsFragment.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/ui/messagedetails/MessageDetailsFragment.kt @@ -88,11 +88,13 @@ class MessageDetailsFragment : ToolbarBottomSheetDialogFragment() { // Don't allow dragging down the bottom sheet (by dragging the toolbar) unless the list is scrolled all the way // to the top. - recyclerView.addOnScrollListener(object : OnScrollListener() { - override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) { - dialog.behavior.isDraggable = !recyclerView.canScrollVertically(-1) - } - }) + recyclerView.addOnScrollListener( + object : OnScrollListener() { + override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) { + dialog.behavior.isDraggable = !recyclerView.canScrollVertically(-1) + } + }, + ) viewModel.uiEvents.observe(this) { event -> when (event) { diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/ui/messagelist/MessageListAdapter.kt b/app/ui/legacy/src/main/java/com/fsck/k9/ui/messagelist/MessageListAdapter.kt index 9e3171f9395..1db30ca648b 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/ui/messagelist/MessageListAdapter.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/ui/messagelist/MessageListAdapter.kt @@ -61,9 +61,11 @@ class MessageListAdapter internal constructor( alphaFractionAttrId = R.attr.messageListSelectedBackgroundAlphaFraction, backgroundColorAttrId = R.attr.messageListSelectedBackgroundAlphaBackground, ) - private val regularItemBackgroundColor: Int = theme.resolveColorAttribute(R.attr.messageListRegularItemBackgroundColor) + private val regularItemBackgroundColor: Int = + theme.resolveColorAttribute(R.attr.messageListRegularItemBackgroundColor) private val readItemBackgroundColor: Int = theme.resolveColorAttribute(R.attr.messageListReadItemBackgroundColor) - private val unreadItemBackgroundColor: Int = theme.resolveColorAttribute(R.attr.messageListUnreadItemBackgroundColor) + private val unreadItemBackgroundColor: Int = + theme.resolveColorAttribute(R.attr.messageListUnreadItemBackgroundColor) var messages: List = emptyList() @SuppressLint("NotifyDataSetChanged") @@ -273,7 +275,10 @@ class MessageListAdapter internal constructor( // 1 preview line is needed even if it is set to 0, because subject is part of the same text view holder.preview.setLines(max(appearance.previewLines, 1)) appearance.fontSizes.setViewTextSize(holder.preview, appearance.fontSizes.messageListPreview) - appearance.fontSizes.setViewTextSize(holder.threadCount, appearance.fontSizes.messageListSubject) // thread count is next to subject + appearance.fontSizes.setViewTextSize( + holder.threadCount, + appearance.fontSizes.messageListSubject, + ) // thread count is next to subject holder.flagged.isVisible = appearance.stars holder.flagged.tag = holder diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/ui/messagelist/MessageListFragment.kt b/app/ui/legacy/src/main/java/com/fsck/k9/ui/messagelist/MessageListFragment.kt index 8ad42e4ac14..dca5960387e 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/ui/messagelist/MessageListFragment.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/ui/messagelist/MessageListFragment.kt @@ -372,13 +372,15 @@ class MessageListFragment : recentChangesSnackbar = Snackbar .make(coordinatorLayout, R.string.changelog_snackbar_text, Snackbar.LENGTH_INDEFINITE) .setAction(R.string.okay_action) { launchRecentChangesActivity() } - .addCallback(object : BaseCallback() { - override fun onDismissed(transientBottomBar: Snackbar?, event: Int) { - if (event == DISMISS_EVENT_SWIPE) { - recentChangesViewModel.onRecentChangesHintDismissed() + .addCallback( + object : BaseCallback() { + override fun onDismissed(transientBottomBar: Snackbar?, event: Int) { + if (event == DISMISS_EVENT_SWIPE) { + recentChangesViewModel.onRecentChangesHintDismissed() + } } - } - }) + }, + ) recentChangesViewModel.shouldShowRecentChangesHint .observe(viewLifecycleOwner, shouldShowRecentChangesHintObserver) diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/ui/messageview/MessageContainerView.kt b/app/ui/legacy/src/main/java/com/fsck/k9/ui/messageview/MessageContainerView.kt index 53af38f2691..3e8f3903f9c 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/ui/messageview/MessageContainerView.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/ui/messageview/MessageContainerView.kt @@ -229,7 +229,7 @@ class MessageContainerView(context: Context, attrs: AttributeSet?) : context.getString(R.string.webview_contextmenu_image_save_action) } else { context.getString(R.string.webview_contextmenu_image_download_action) - } + }, ).setOnMenuItemClickListener(listener) } diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/ui/messageview/MessageTopView.kt b/app/ui/legacy/src/main/java/com/fsck/k9/ui/messageview/MessageTopView.kt index a63932d3f41..3c6ff767882 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/ui/messageview/MessageTopView.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/ui/messageview/MessageTopView.kt @@ -282,11 +282,13 @@ class MessageTopView( progressBar.progress, PROGRESS_MAX, ) - animator.addListener(object : AnimatorListenerAdapter() { - override fun onAnimationEnd(animator: Animator) { - viewAnimator.displayedChild = 2 - } - }) + animator.addListener( + object : AnimatorListenerAdapter() { + override fun onAnimationEnd(animator: Animator) { + viewAnimator.displayedChild = 2 + } + }, + ) animator.duration = PROGRESS_STEP_DURATION.toLong() animator.start() } diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/ui/messageview/MessageViewContainerFragment.kt b/app/ui/legacy/src/main/java/com/fsck/k9/ui/messageview/MessageViewContainerFragment.kt index 375dc294f74..3444777cfec 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/ui/messageview/MessageViewContainerFragment.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/ui/messageview/MessageViewContainerFragment.kt @@ -99,21 +99,23 @@ class MessageViewContainerFragment : Fragment() { viewPager.isUserInputEnabled = true viewPager.offscreenPageLimit = ViewPager2.OFFSCREEN_PAGE_LIMIT_DEFAULT viewPager.setPageTransformer(MarginPageTransformer(pageMargin)) - viewPager.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() { - // The message list is updated each time the active message is changed. To avoid message list updates - // during the animation, we only set the active message after the animation has finished. - override fun onPageScrollStateChanged(state: Int) { - if (state == ViewPager2.SCROLL_STATE_IDLE) { - setActiveMessage(viewPager.currentItem) + viewPager.registerOnPageChangeCallback( + object : ViewPager2.OnPageChangeCallback() { + // The message list is updated each time the active message is changed. To avoid message list updates + // during the animation, we only set the active message after the animation has finished. + override fun onPageScrollStateChanged(state: Int) { + if (state == ViewPager2.SCROLL_STATE_IDLE) { + setActiveMessage(viewPager.currentItem) + } } - } - override fun onPageSelected(position: Int) { - if (viewPager.scrollState == ViewPager2.SCROLL_STATE_IDLE) { - setActiveMessage(position) + override fun onPageSelected(position: Int) { + if (viewPager.scrollState == ViewPager2.SCROLL_STATE_IDLE) { + setActiveMessage(position) + } } - } - }) + }, + ) return view } diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/ui/onboarding/OnboardingActivity.kt b/app/ui/legacy/src/main/java/com/fsck/k9/ui/onboarding/OnboardingActivity.kt index 3235ee7a59d..a2c7f650b2d 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/ui/onboarding/OnboardingActivity.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/ui/onboarding/OnboardingActivity.kt @@ -33,7 +33,8 @@ class OnboardingActivity : K9Activity() { } companion object { - @JvmStatic fun launch(activity: Activity) { + @JvmStatic + fun launch(activity: Activity) { val intent = Intent(activity, OnboardingActivity::class.java).apply { flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK } diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/AboutFragment.kt b/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/AboutFragment.kt index 5a79d299d05..4fe1edcde68 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/AboutFragment.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/AboutFragment.kt @@ -94,8 +94,16 @@ class AboutFragment : Fragment() { companion object { private val USED_LIBRARIES = arrayOf( - Library("Android Jetpack libraries", "https://developer.android.com/jetpack", "Apache License, Version 2.0"), - Library("AndroidX Preference eXtended", "https://github.com/takisoft/preferencex-android", "Apache License, Version 2.0"), + Library( + "Android Jetpack libraries", + "https://developer.android.com/jetpack", + "Apache License, Version 2.0", + ), + Library( + "AndroidX Preference eXtended", + "https://github.com/takisoft/preferencex-android", + "Apache License, Version 2.0", + ), Library("AppAuth for Android", "https://github.com/openid/AppAuth-Android", "Apache License, Version 2.0"), Library("CircleImageView", "https://github.com/hdodenhof/CircleImageView", "Apache License, Version 2.0"), Library("ckChangeLog", "https://github.com/cketti/ckChangeLog", "Apache License, Version 2.0"), @@ -106,19 +114,39 @@ class AboutFragment : Fragment() { Library("jutf7", "http://jutf7.sourceforge.net/", "MIT License"), Library("JZlib", "http://www.jcraft.com/jzlib/", "BSD-style License"), Library("Koin", "https://insert-koin.io/", "Apache License, Version 2.0"), - Library("Kotlin Standard Library", "https://kotlinlang.org/api/latest/jvm/stdlib/", "Apache License, Version 2.0"), - Library("KotlinX coroutines", "https://github.com/Kotlin/kotlinx.coroutines", "Apache License, Version 2.0"), - Library("Material Components for Android", "https://github.com/material-components/material-components-android", "Apache License, Version 2.0"), + Library( + "Kotlin Standard Library", + "https://kotlinlang.org/api/latest/jvm/stdlib/", + "Apache License, Version 2.0", + ), + Library( + "KotlinX coroutines", + "https://github.com/Kotlin/kotlinx.coroutines", + "Apache License, Version 2.0", + ), + Library( + "Material Components for Android", + "https://github.com/material-components/material-components-android", + "Apache License, Version 2.0", + ), Library("Material Drawer", "https://github.com/mikepenz/MaterialDrawer", "Apache License, Version 2.0"), Library("Mime4j", "https://james.apache.org/mime4j/", "Apache License, Version 2.0"), Library("MiniDNS", "https://github.com/MiniDNS/minidns", "Multiple, Apache License, Version 2.0"), Library("Moshi", "https://github.com/square/moshi", "Apache License, Version 2.0"), Library("OkHttp", "https://github.com/square/okhttp", "Apache License, Version 2.0"), Library("Okio", "https://github.com/square/okio", "Apache License, Version 2.0"), - Library("SafeContentResolver", "https://github.com/cketti/SafeContentResolver", "Apache License, Version 2.0"), + Library( + "SafeContentResolver", + "https://github.com/cketti/SafeContentResolver", + "Apache License, Version 2.0", + ), Library("SearchPreference", "https://github.com/ByteHamster/SearchPreference", "MIT License"), Library("Timber", "https://github.com/JakeWharton/timber", "Apache License, Version 2.0"), - Library("TokenAutoComplete", "https://github.com/splitwise/TokenAutoComplete/", "Apache License, Version 2.0"), + Library( + "TokenAutoComplete", + "https://github.com/splitwise/TokenAutoComplete/", + "Apache License, Version 2.0", + ), ) } } diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/SettingsActivity.kt b/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/SettingsActivity.kt index 1fc0e6474cb..122b33207af 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/SettingsActivity.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/SettingsActivity.kt @@ -38,7 +38,8 @@ class SettingsActivity : K9Activity() { } companion object { - @JvmStatic fun launch(activity: Activity) { + @JvmStatic + fun launch(activity: Activity) { val intent = Intent(activity, SettingsActivity::class.java) activity.startActivity(intent) } diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/account/FolderListPreference.kt b/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/account/FolderListPreference.kt index 4d022070226..5ca7c03b00d 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/account/FolderListPreference.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/account/FolderListPreference.kt @@ -61,7 +61,8 @@ constructor( ).italicize() entries = (listOf(automaticFolderOption) + noFolderSelectedName + getFolderDisplayNames(folders)).toTypedArray() - entryValues = (listOf(automaticFolderValue) + NO_FOLDER_SELECTED_VALUE + getFolderValues(folders)).toTypedArray() + entryValues = + (listOf(automaticFolderValue) + NO_FOLDER_SELECTED_VALUE + getFolderValues(folders)).toTypedArray() isEnabled = true } diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/account/VibrationDialogFragment.kt b/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/account/VibrationDialogFragment.kt index 45cbfc8dc7d..6408ed2c041 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/account/VibrationDialogFragment.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/account/VibrationDialogFragment.kt @@ -180,18 +180,20 @@ class VibrationDialogFragment : PreferenceDialogFragmentCompat() { vibrationTimesSeekBar.progress = progress } - vibrationTimesSeekBar.setOnSeekBarChangeListener(object : OnSeekBarChangeListener { - override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) { - vibrationTimes = progress + 1 - vibrationTimesValue.text = vibrationTimes.toString() - } - - override fun onStartTrackingTouch(seekBar: SeekBar) = Unit - - override fun onStopTrackingTouch(seekBar: SeekBar) { - playVibration() - } - }) + vibrationTimesSeekBar.setOnSeekBarChangeListener( + object : OnSeekBarChangeListener { + override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) { + vibrationTimes = progress + 1 + vibrationTimesValue.text = vibrationTimes.toString() + } + + override fun onStartTrackingTouch(seekBar: SeekBar) = Unit + + override fun onStopTrackingTouch(seekBar: SeekBar) { + playVibration() + } + }, + ) } } diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/general/GeneralSettingsActivity.kt b/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/general/GeneralSettingsActivity.kt index 654fd6582a6..50351a857b7 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/general/GeneralSettingsActivity.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/general/GeneralSettingsActivity.kt @@ -82,16 +82,18 @@ class GeneralSettingsActivity : K9Activity(), OnPreferenceStartScreenCallback, S index(R.xml.general_settings) } - searchPreferenceMenuItem.setOnActionExpandListener(object : MenuItem.OnActionExpandListener { - override fun onMenuItemActionCollapse(item: MenuItem): Boolean { - searchPreferenceActionView.cancelSearch() - return true - } - - override fun onMenuItemActionExpand(item: MenuItem): Boolean { - return true - } - }) + searchPreferenceMenuItem.setOnActionExpandListener( + object : MenuItem.OnActionExpandListener { + override fun onMenuItemActionCollapse(item: MenuItem): Boolean { + searchPreferenceActionView.cancelSearch() + return true + } + + override fun onMenuItemActionExpand(item: MenuItem): Boolean { + return true + } + }, + ) if (searchEnabled) { Handler().post { diff --git a/app/ui/legacy/src/test/java/com/fsck/k9/message/PgpMessageBuilderTest.kt b/app/ui/legacy/src/test/java/com/fsck/k9/message/PgpMessageBuilderTest.kt index 273f4fdece0..03e7ad1a3f9 100644 --- a/app/ui/legacy/src/test/java/com/fsck/k9/message/PgpMessageBuilderTest.kt +++ b/app/ui/legacy/src/test/java/com/fsck/k9/message/PgpMessageBuilderTest.kt @@ -76,7 +76,8 @@ class PgpMessageBuilderTest : K9RobolectricTest() { private val resourceProvider: CoreResourceProvider by inject() private val openPgpApi = mock(OpenPgpApi::class.java) private val autocryptOpenPgpApiInteractor = mock(AutocryptOpenPgpApiInteractor::class.java) - private val pgpMessageBuilder = createDefaultPgpMessageBuilder(openPgpApi, autocryptOpenPgpApiInteractor, resourceProvider) + private val pgpMessageBuilder = + createDefaultPgpMessageBuilder(openPgpApi, autocryptOpenPgpApiInteractor, resourceProvider) @Before @Throws(Exception::class) @@ -169,7 +170,9 @@ class PgpMessageBuilderTest : K9RobolectricTest() { val returnIntent = Intent() returnIntent.putExtra(OpenPgpApi.RESULT_CODE, OpenPgpApi.RESULT_CODE_SUCCESS) - `when`(openPgpApi.executeApi(any(), any(), any())).thenReturn(returnIntent) + `when`(openPgpApi.executeApi(any(), any(), any())).thenReturn( + returnIntent, + ) val mockCallback = mock(Callback::class.java) pgpMessageBuilder.buildAsync(mockCallback) @@ -259,7 +262,9 @@ class PgpMessageBuilderTest : K9RobolectricTest() { `when`(returnIntent.getParcelableExtra(eq(OpenPgpApi.RESULT_INTENT))) .thenReturn(mockPendingIntent) - `when`(openPgpApi.executeApi(any(), any(), any())).thenReturn(returnIntent) + `when`(openPgpApi.executeApi(any(), any(), any())).thenReturn( + returnIntent, + ) val mockCallback = mock(Callback::class.java) pgpMessageBuilder.buildAsync(mockCallback) @@ -287,7 +292,9 @@ class PgpMessageBuilderTest : K9RobolectricTest() { `when`(returnIntent.getParcelableExtra(eq(OpenPgpApi.RESULT_INTENT))) .thenReturn(mockPendingIntent) - `when`(openPgpApi.executeApi(any(), any(), any())).thenReturn(returnIntent) + `when`(openPgpApi.executeApi(any(), any(), any())).thenReturn( + returnIntent, + ) val mockCallback = mock(Callback::class.java) pgpMessageBuilder.buildAsync(mockCallback) @@ -307,7 +314,9 @@ class PgpMessageBuilderTest : K9RobolectricTest() { returnIntent.putExtra(OpenPgpApi.RESULT_CODE, OpenPgpApi.RESULT_CODE_SUCCESS) val mockReturnIntent = mock(Intent::class.java) - `when`(openPgpApi.executeApi(any(), any(), any())).thenReturn(returnIntent) + `when`(openPgpApi.executeApi(any(), any(), any())).thenReturn( + returnIntent, + ) val mockCallback = mock(Callback::class.java) pgpMessageBuilder.onActivityResult(returnedRequestCode, Activity.RESULT_OK, mockReturnIntent, mockCallback) @@ -324,7 +333,13 @@ class PgpMessageBuilderTest : K9RobolectricTest() { val returnIntent = spy(Intent()) returnIntent.putExtra(OpenPgpApi.RESULT_CODE, OpenPgpApi.RESULT_CODE_SUCCESS) - `when`(openPgpApi.executeApi(any(Intent::class.java), any(OpenPgpDataSource::class.java), any(OutputStream::class.java))) + `when`( + openPgpApi.executeApi( + any(Intent::class.java), + any(OpenPgpDataSource::class.java), + any(OutputStream::class.java), + ), + ) .thenReturn(returnIntent) val mockCallback = mock(Callback::class.java) @@ -391,13 +406,22 @@ class PgpMessageBuilderTest : K9RobolectricTest() { val mimeMessage = buildMessage() - assertEquals("encrypt=no; _sign-only=yes; _by-choice=yes; ", mimeMessage.getHeader("Autocrypt-Draft-State").get(0)) + assertEquals( + "encrypt=no; _sign-only=yes; _by-choice=yes; ", + mimeMessage.getHeader("Autocrypt-Draft-State").get(0), + ) } private fun buildMessage(): MimeMessage { val returnIntent = spy(Intent()) returnIntent.putExtra(OpenPgpApi.RESULT_CODE, OpenPgpApi.RESULT_CODE_SUCCESS) - `when`(openPgpApi.executeApi(any(Intent::class.java), any(OpenPgpDataSource::class.java), any(OutputStream::class.java))) + `when`( + openPgpApi.executeApi( + any(Intent::class.java), + any(OpenPgpDataSource::class.java), + any(OutputStream::class.java), + ), + ) .thenReturn(returnIntent) val mockCallback = mock(Callback::class.java) @@ -422,7 +446,13 @@ class PgpMessageBuilderTest : K9RobolectricTest() { val returnIntent = Intent() returnIntent.putExtra(OpenPgpApi.RESULT_CODE, OpenPgpApi.RESULT_CODE_SUCCESS) - `when`(openPgpApi.executeApi(any(Intent::class.java), any(OpenPgpDataSource::class.java), any(OutputStream::class.java))) + `when`( + openPgpApi.executeApi( + any(Intent::class.java), + any(OpenPgpDataSource::class.java), + any(OutputStream::class.java), + ), + ) .thenReturn(returnIntent) pgpMessageBuilder.buildAsync(mock(Callback::class.java)) @@ -442,11 +472,21 @@ class PgpMessageBuilderTest : K9RobolectricTest() { val returnIntent = Intent() returnIntent.putExtra(OpenPgpApi.RESULT_CODE, OpenPgpApi.RESULT_CODE_SUCCESS) - `when`(openPgpApi.executeApi(any(Intent::class.java), any(OpenPgpDataSource::class.java), any(OutputStream::class.java))) + `when`( + openPgpApi.executeApi( + any(Intent::class.java), + any(OpenPgpDataSource::class.java), + any(OutputStream::class.java), + ), + ) .thenReturn(returnIntent) pgpMessageBuilder.buildAsync(mock(Callback::class.java)) - verify(autocryptOpenPgpApiInteractor).getKeyMaterialForKeyId(same(openPgpApi), eq(TEST_KEY_ID), eq(SENDER_EMAIL)) + verify(autocryptOpenPgpApiInteractor).getKeyMaterialForKeyId( + same(openPgpApi), + eq(TEST_KEY_ID), + eq(SENDER_EMAIL), + ) verify(autocryptOpenPgpApiInteractor).getKeyMaterialForUserId(same(openPgpApi), eq("alice@example.org")) verify(autocryptOpenPgpApiInteractor).getKeyMaterialForUserId(same(openPgpApi), eq("bob@example.org")) } @@ -464,11 +504,21 @@ class PgpMessageBuilderTest : K9RobolectricTest() { val returnIntent = Intent() returnIntent.putExtra(OpenPgpApi.RESULT_CODE, OpenPgpApi.RESULT_CODE_SUCCESS) - `when`(openPgpApi.executeApi(any(Intent::class.java), any(OpenPgpDataSource::class.java), any(OutputStream::class.java))) + `when`( + openPgpApi.executeApi( + any(Intent::class.java), + any(OpenPgpDataSource::class.java), + any(OutputStream::class.java), + ), + ) .thenReturn(returnIntent) pgpMessageBuilder.buildAsync(mock(Callback::class.java)) - verify(autocryptOpenPgpApiInteractor).getKeyMaterialForKeyId(any(OpenPgpApi::class.java), any(Long::class.java), any(String::class.java)) + verify(autocryptOpenPgpApiInteractor).getKeyMaterialForKeyId( + any(OpenPgpApi::class.java), + any(Long::class.java), + any(String::class.java), + ) verifyNoMoreInteractions(autocryptOpenPgpApiInteractor) } @@ -648,7 +698,8 @@ class PgpMessageBuilderTest : K9RobolectricTest() { @Test @Throws(MessagingException::class) fun buildEncryptWithAttach__withInlineEnabled__shouldThrow() { - val cryptoStatus = defaultCryptoStatus.copy(cryptoMode = CryptoMode.CHOICE_ENABLED, isPgpInlineModeEnabled = true) + val cryptoStatus = + defaultCryptoStatus.copy(cryptoMode = CryptoMode.CHOICE_ENABLED, isPgpInlineModeEnabled = true) pgpMessageBuilder.setCryptoStatus(cryptoStatus) pgpMessageBuilder.setAttachments(listOf(Attachment.createAttachment(null, 0, null, true, true))) @@ -674,7 +725,13 @@ class PgpMessageBuilderTest : K9RobolectricTest() { OpenPgpError(OpenPgpError.OPPORTUNISTIC_MISSING_KEYS, "Missing keys"), ) - `when`(openPgpApi.executeApi(any(Intent::class.java), any(OpenPgpDataSource::class.java), any(OutputStream::class.java))) + `when`( + openPgpApi.executeApi( + any(Intent::class.java), + any(OpenPgpDataSource::class.java), + any(OutputStream::class.java), + ), + ) .thenReturn(returnIntent) val mockCallback = mock(Callback::class.java) @@ -698,7 +755,9 @@ class PgpMessageBuilderTest : K9RobolectricTest() { returnIntentSigned.putExtra(OpenPgpApi.RESULT_CODE, OpenPgpApi.RESULT_CODE_SUCCESS) // no OpenPgpApi.EXTRA_DETACHED_SIGNATURE! - `when`(openPgpApi.executeApi(any(), any(), any())).thenReturn(returnIntentSigned) + `when`(openPgpApi.executeApi(any(), any(), any())).thenReturn( + returnIntentSigned, + ) val mockCallback = mock(Callback::class.java) pgpMessageBuilder.buildAsync(mockCallback) diff --git a/app/ui/legacy/src/test/java/com/fsck/k9/ui/helper/RelativeDateTimeFormatterTest.kt b/app/ui/legacy/src/test/java/com/fsck/k9/ui/helper/RelativeDateTimeFormatterTest.kt index 23bf0a46f5b..0da1ccbc7ea 100644 --- a/app/ui/legacy/src/test/java/com/fsck/k9/ui/helper/RelativeDateTimeFormatterTest.kt +++ b/app/ui/legacy/src/test/java/com/fsck/k9/ui/helper/RelativeDateTimeFormatterTest.kt @@ -16,7 +16,7 @@ import org.robolectric.annotation.Config @Config( qualifiers = "en", - sdk = [Build.VERSION_CODES.S] + sdk = [Build.VERSION_CODES.S], ) class RelativeDateTimeFormatterTest : RobolectricTest() { diff --git a/build-plugin/src/main/kotlin/thunderbird.app.android.compose.gradle.kts b/build-plugin/src/main/kotlin/thunderbird.app.android.compose.gradle.kts index 166de9e2305..478e344a693 100644 --- a/build-plugin/src/main/kotlin/thunderbird.app.android.compose.gradle.kts +++ b/build-plugin/src/main/kotlin/thunderbird.app.android.compose.gradle.kts @@ -16,7 +16,7 @@ android { isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), - "proguard-rules.pro" + "proguard-rules.pro", ) } } diff --git a/settings.gradle.kts b/settings.gradle.kts index b7b946b38c1..45e3d5dd76c 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -35,17 +35,17 @@ include( ":app:autodiscovery:providersxml", ":app:autodiscovery:srvrecords", ":app:autodiscovery:thunderbird", - ":app:html-cleaner" + ":app:html-cleaner", ) include( - ":core:ui:compose:demo" + ":core:ui:compose:demo", ) include( ":ui-utils:LinearLayoutManager", ":ui-utils:ItemTouchHelper", - ":ui-utils:ToolbarBottomSheet" + ":ui-utils:ToolbarBottomSheet", ) include( @@ -54,7 +54,7 @@ include( ":mail:protocols:imap", ":mail:protocols:pop3", ":mail:protocols:webdav", - ":mail:protocols:smtp" + ":mail:protocols:smtp", ) include( @@ -64,7 +64,7 @@ include( ":backend:pop3", ":backend:webdav", ":backend:jmap", - ":backend:demo" + ":backend:demo", ) include(":plugins:openpgp-api-lib:openpgp-api")