ComplexCondition:HttpUriParser.kt$HttpUriParser$!compressionEnabled && beginSegmentsCount + endSegmentsCount == 8 || compressionEnabled && beginSegmentsCount + endSegmentsCount < 8
ComplexCondition:MessageListFragment.kt$MessageListFragment$operation == FolderOperation.MOVE && !messagingController.isMoveCapable(account) || operation == FolderOperation.COPY && !messagingController.isCopyCapable(account)
ComplexCondition:MessageListFragment.kt$MessageListFragment$operation == FolderOperation.MOVE && !messagingController.isMoveCapable(message) || operation == FolderOperation.COPY && !messagingController.isCopyCapable(message)
ComplexCondition:MimeHeaderParser.kt$MimeHeaderParser$!endReached() && peek().let { it.isWsp() || it == CR || it == LF }
ComplexCondition:ProvidersXmlDiscovery.kt$ProvidersXmlDiscovery$incomingUriTemplate != null && incomingUsernameTemplate != null && outgoingUriTemplate != null && outgoingUsernameTemplate != null
ComplexCondition:RealOAuth2TokenProvider.kt$RealOAuth2TokenProvider$authException == GeneralErrors.NETWORK_ERROR || authException == GeneralErrors.SERVER_ERROR || authException == AuthorizationRequestErrors.SERVER_ERROR || authException == AuthorizationRequestErrors.TEMPORARILY_UNAVAILABLE
ComplexCondition:SmtpTransport.kt$SmtpTransport$inputStream != null || outputStream != null || socket != null || responseParser != null
ComplexCondition:SmtpTransport.kt$SmtpTransport$username.isNotEmpty() && (!password.isNullOrEmpty() || AuthType.EXTERNAL == authType || AuthType.XOAUTH2 == authType)
ComplexCondition:StorageMigrationTo19.kt$StorageMigrationTo19$incomingServerSettings["type"] == "imap" && incomingServerSettings["host"] in setOf("imap.gmail.com", "imap.googlemail.com") && incomingServerSettings["authenticationType"] != "XOAUTH2" || outgoingServerSettings["host"] in setOf("smtp.gmail.com", "smtp.googlemail.com") && outgoingServerSettings["authenticationType"] != "XOAUTH2"
ComplexCondition:TextInputLayoutExtensions.kt$text != null && before > 0 && (text.isEmpty() || text.length - count == 0)
ComplexCondition:TouchInterceptView.kt$TouchInterceptView$absoluteDeltaY > touchSlop && absoluteDeltaY > absoluteDeltaX && (scrollView.canScrollVertically(deltaY.toInt()) || webView.canScrollVertically(deltaY.toInt()))
ComplexCondition:build.gradle.kts$project.hasProperty("k9mail.keyAlias") && project.hasProperty("k9mail.keyPassword") && project.hasProperty("k9mail.storeFile") && project.hasProperty("k9mail.storePassword")
ConstructorParameterNaming:MessageTopView.kt$MessageTopView.SavedState$`in`: Parcel
CyclomaticComplexMethod:AccountSettingsDataStore.kt$AccountSettingsDataStore$override fun getBoolean(key: String, defValue: Boolean): Boolean
CyclomaticComplexMethod:AccountSettingsDataStore.kt$AccountSettingsDataStore$override fun getString(key: String, defValue: String?): String?
CyclomaticComplexMethod:AccountSettingsDataStore.kt$AccountSettingsDataStore$override fun putBoolean(key: String, value: Boolean)
CyclomaticComplexMethod:AccountSettingsDataStore.kt$AccountSettingsDataStore$override fun putString(key: String, value: String?)
CyclomaticComplexMethod:AccountSetupCheckSettings.kt$AccountSetupCheckSettings$private fun acceptKeyDialog(msgResId: Int, exception: CertificateValidationException)
CyclomaticComplexMethod:FlowedMessageUtils.kt$FlowedMessageUtils$@JvmStatic fun deflow(text: String, delSp: Boolean): String
CyclomaticComplexMethod:GeneralSettingsDataStore.kt$GeneralSettingsDataStore$override fun getBoolean(key: String, defValue: Boolean): Boolean
CyclomaticComplexMethod:GeneralSettingsDataStore.kt$GeneralSettingsDataStore$override fun getString(key: String, defValue: String?): String?
CyclomaticComplexMethod:GeneralSettingsDataStore.kt$GeneralSettingsDataStore$override fun getStringSet(key: String, defValues: Set<String>?): Set<String>?
CyclomaticComplexMethod:GeneralSettingsDataStore.kt$GeneralSettingsDataStore$override fun putBoolean(key: String, value: Boolean)
CyclomaticComplexMethod:GeneralSettingsDataStore.kt$GeneralSettingsDataStore$override fun putString(key: String, value: String?)
CyclomaticComplexMethod:HttpUriParser.kt$HttpUriParser$private fun tryMatchIpv6Address(text: CharSequence, startPos: Int): Int
CyclomaticComplexMethod:ImapSync.kt$ImapSync$private fun synchronizeMailboxSynchronous(folder: String, syncConfig: SyncConfig, listener: SyncListener)
CyclomaticComplexMethod:K9NotificationStrategy.kt$K9NotificationStrategy$override fun shouldNotifyForMessage( account: Account, localFolder: LocalFolder, message: LocalMessage, isOldMessage: Boolean, ): Boolean
CyclomaticComplexMethod:MessageList.kt$MessageList$private fun decodeExtrasToLaunchData(intent: Intent): LaunchData
CyclomaticComplexMethod:MessageList.kt$MessageList$private fun onCustomKeyDown(event: KeyEvent): Boolean
CyclomaticComplexMethod:MessageListAdapter.kt$MessageListAdapter$private fun bindMessageViewHolder(holder: MessageViewHolder, messageListItem: MessageListItem)
CyclomaticComplexMethod:MessageListFragment.kt$MessageListFragment$override fun onOptionsItemSelected(item: MenuItem): Boolean
CyclomaticComplexMethod:MessagePartDatabaseHelpers.kt$MessagePartEntry$override fun equals(other: Any?): Boolean
CyclomaticComplexMethod:MessagePartDatabaseHelpers.kt$MessagePartEntry$override fun hashCode(): Int
CyclomaticComplexMethod:MessageViewFragment.kt$MessageViewFragment$override fun onOptionsItemSelected(item: MenuItem): Boolean
CyclomaticComplexMethod:Migrations.kt$Migrations$@JvmStatic fun upgradeDatabase(db: SQLiteDatabase, migrationsHelper: MigrationsHelper)
CyclomaticComplexMethod:MimeParameterDecoder.kt$MimeParameterDecoder$private fun convertToParameterSection(parameterName: String, parameterValue: ParameterValue): ParameterSection?
CyclomaticComplexMethod:PushController.kt$PushController$private fun updatePushers()
CyclomaticComplexMethod:RealImapFolder.kt$RealImapFolder$@Throws(MessagingException::class) override fun appendMessages(messages: List<Message>): Map<String, String>?
CyclomaticComplexMethod:RealImapFolder.kt$RealImapFolder$@Throws(MessagingException::class) override fun fetch( messages: List<ImapMessage>, fetchProfile: FetchProfile, listener: FetchListener?, maxDownloadSize: Int, )
CyclomaticComplexMethod:RealImapFolder.kt$RealImapFolder$@Throws(MessagingException::class) private fun handleFetchResponse(message: ImapMessage, fetchList: ImapList): Any?
CyclomaticComplexMethod:RealImapFolder.kt$RealImapFolder$@Throws(MessagingException::class) private fun parseBodyStructure(bs: ImapList, part: Part, id: String)
CyclomaticComplexMethod:RealImapStore.kt$RealImapStore$@Throws(IOException::class, MessagingException::class) private fun listFolders(connection: ImapConnection, subscribedOnly: Boolean): List<FolderListItem>
CyclomaticComplexMethod:SettingsExporter.kt$SettingsExporter$private fun writeAccount(serializer: XmlSerializer, account: Account, prefs: Map<String, Any>)
CyclomaticComplexMethod:SettingsImportFragment.kt$SettingsImportFragment$private fun ViewHolder.updateUi(model: SettingsImportUiModel)
CyclomaticComplexMethod:SmtpTransport.kt$SmtpTransport$@VisibleForTesting @Throws(MessagingException::class) internal fun open()
CyclomaticComplexMethod:SortTypeToastProvider.kt$SortTypeToastProvider$fun getToast(sortType: SortType, ascending: Boolean): Int
CyclomaticComplexMethod:StorageMigrations.kt$StorageMigrations$@JvmStatic fun upgradeDatabase(db: SQLiteDatabase, migrationsHelper: StorageMigrationsHelper)
CyclomaticComplexMethod:TouchInterceptView.kt$TouchInterceptView$private fun handleOnInterceptTouchEvent(event: MotionEvent)
DestructuringDeclarationWithTooManyEntries:RetrieveFolderOperationsTest.kt$RetrieveFolderOperationsTest$val (folderId1, folderId2, folderId3, folderId4) = listOf( sqliteDatabase.createFolder(name = "Folder 1", displayClass = "FIRST_CLASS"), sqliteDatabase.createFolder(name = "Folder 2", displayClass = "SECOND_CLASS"), sqliteDatabase.createFolder(name = "Folder 3", displayClass = "FIRST_CLASS"), sqliteDatabase.createFolder(name = "Folder 4", displayClass = "NO_CLASS"), )
ForbiddenComment:AccountSetupCheckSettings.kt$AccountSetupCheckSettings.CheckAccountTask$* FIXME: Don't use an AsyncTask to perform network operations. * See also discussion in https://github.com/thundernest/k-9/pull/560
ForbiddenComment:BackendFolder.kt$BackendFolder$// FIXME: add documentation
ForbiddenComment:CommandSync.kt$CommandSync$// FIXME: Add sort parameter
ForbiddenComment:K9BackendFolderTest.kt$K9BackendFolderTest$// FIXME: This is a hack to get Preferences into a state where it's safe to call newAccount()
ForbiddenComment:K9BackendStorageTest.kt$K9BackendStorageTest$// FIXME: This is a hack to get Preferences into a state where it's safe to call newAccount()
ForbiddenComment:MessageDetailsFragment.kt$MessageDetailsFragment$// FIXME: Replace this with a mechanism that survives process death
ForbiddenComment:MessageListFragment.kt$MessageListFragment$// FIXME: Don't save the changes in the UI thread
ForbiddenComment:RealImapConnectionTest.kt$RealImapConnectionTest$// FIXME: CertificateValidationException seems wrong
ForbiddenComment:RealImapConnectionTest.kt$RealImapConnectionTest$// FIXME: improve exception message
ForbiddenComment:SmtpTransportTest.kt$SmtpTransportTest$// FIXME: Make sure connection was closed
FunctionOnlyReturningConstant:DisplayHtml.kt$DisplayHtml$private fun cssStyleSignature(): String
FunctionOnlyReturningConstant:ExtraAccountDiscovery.kt$ExtraAccountDiscovery$@JvmStatic fun discover(email: String): ConnectionSettings?
ImplicitDefaultLocale:MessageListAdapter.kt$MessageListAdapter$String.format("%d", threadCount)
ImplicitDefaultLocale:MessageListItemMapper.kt$MessageListItemMapper$String.format("%d %s", dayOfMonth, month)
ImplicitDefaultLocale:RealImapFolder.kt$RealImapFolder$String.format( "%s 1:* %sFLAGS.SILENT (%s)", Commands.UID_STORE, if (value) "+" else "-", combinedFlags, )
ImplicitDefaultLocale:RealImapFolder.kt$RealImapFolder$String.format("%s %s", openCommand, escapedFolderName)
ImplicitDefaultLocale:RealImapFolder.kt$RealImapFolder$String.format("%sFLAGS.SILENT (%s)", if (value) "+" else "-", combinedFlags)
ImplicitDefaultLocale:RealImapFolder.kt$RealImapFolder$String.format(";\r\n %s=%s", paramName, encodedValue)
ImplicitDefaultLocale:RealImapFolder.kt$RealImapFolder$String.format("BODY.PEEK[%s]", partId)
ImplicitDefaultLocale:RealImapFolder.kt$RealImapFolder$String.format("CREATE %s", escapedFolderName)
ImplicitDefaultLocale:RealImapFolder.kt$RealImapFolder$String.format("STATUS %s (RECENT)", escapedFolderName)
ImplicitDefaultLocale:RealImapFolder.kt$RealImapFolder$String.format("STATUS %s (UIDVALIDITY)", escapedFolderName)
ImplicitDefaultLocale:RealImapFolder.kt$RealImapFolder$String.format("UID FETCH %s (%s)", commaSeparatedUids, spaceSeparatedFetchFields)
ImplicitDefaultLocale:RealImapFolder.kt$RealImapFolder$String.format("UID FETCH %s (UID %s)", message.uid, fetch)
ImplicitDefaultLocale:RealImapFolder.kt$RealImapFolder$String.format("UID SEARCH HEADER MESSAGE-ID %s", ImapUtility.encodeString(messageId))
ImplicitDefaultLocale:SettingsExporter.kt$SettingsExporter$String.format("%s_%s.%s", EXPORT_FILENAME_PREFIX, dateFormat.format(now.time), EXPORT_FILENAME_SUFFIX)
ImplicitDefaultLocale:SmtpTransport.kt$SmtpTransport$String.format("MAIL FROM:<%s> BODY=8BITMIME", fromAddress)
ImplicitDefaultLocale:SmtpTransport.kt$SmtpTransport$String.format("MAIL FROM:<%s>", fromAddress)
ImplicitDefaultLocale:SmtpTransport.kt$SmtpTransport$String.format("RCPT TO:<%s>", address)
LargeClass:MessageList.kt$MessageList : K9ActivityMessageListFragmentListenerMessageViewFragmentListenerMessageViewContainerListenerOnBackStackChangedListenerOnSwitchCompleteListenerPermissionUiHelper
LargeClass:MessageListFragment.kt$MessageListFragment : FragmentConfirmationDialogFragmentListenerMessageListItemActionListener
LargeClass:RealImapConnection.kt$RealImapConnection : ImapConnection
LargeClass:RealImapConnectionTest.kt$RealImapConnectionTest
LargeClass:RealImapFolder.kt$RealImapFolder : ImapFolder
LargeClass:RealImapFolderTest.kt$RealImapFolderTest
LargeClass:SmtpTransportTest.kt$SmtpTransportTest
LongMethod:AccountPreferenceSerializer.kt$AccountPreferenceSerializer$@Synchronized fun delete(editor: StorageEditor, storage: Storage, account: Account)
LongMethod:AccountPreferenceSerializer.kt$AccountPreferenceSerializer$@Synchronized fun loadAccount(account: Account, storage: Storage)
LongMethod:AccountPreferenceSerializer.kt$AccountPreferenceSerializer$@Synchronized fun save(editor: StorageEditor, storage: Storage, account: Account)
LongMethod:AccountPreferenceSerializer.kt$AccountPreferenceSerializer$fun loadDefaults(account: Account)
LongMethod:AccountSetupCheckSettings.kt$AccountSetupCheckSettings$private fun acceptKeyDialog(msgResId: Int, exception: CertificateValidationException)
LongMethod:CopyMessageOperations.kt$CopyMessageOperations$private fun readMessageToContentValues(database: SQLiteDatabase, messageId: Long): ContentValues
LongMethod:CopyMessageOperationsTest.kt$CopyMessageOperationsTest$@Test fun `copy message into an existing thread`()
LongMethod:CopyMessageOperationsTest.kt$CopyMessageOperationsTest$@Test fun `copy message that is part of a thread`()
LongMethod:ImapSync.kt$ImapSync$private fun downloadMessages( syncConfig: SyncConfig, remoteFolder: ImapFolder, backendFolder: BackendFolder, inputMessages: List<ImapMessage>, highestKnownUid: Long?, listener: SyncListener, )
LongMethod:ImapSync.kt$ImapSync$private fun synchronizeMailboxSynchronous(folder: String, syncConfig: SyncConfig, listener: SyncListener)
LongMethod:K9NotificationStrategy.kt$K9NotificationStrategy$override fun shouldNotifyForMessage( account: Account, localFolder: LocalFolder, message: LocalMessage, isOldMessage: Boolean, ): Boolean
LongMethod:MessageContainerView.kt$MessageContainerView$private fun createImageMenu(menu: ContextMenu, imageUrl: String?)
LongMethod:MessageList.kt$MessageList$private fun decodeExtrasToLaunchData(intent: Intent): LaunchData
LongMethod:MessageList.kt$MessageList$private fun onCustomKeyDown(event: KeyEvent): Boolean
LongMethod:MessageList.kt$MessageList$public override fun onCreate(savedInstanceState: Bundle?)
LongMethod:MessageListAdapter.kt$MessageListAdapter$private fun bindMessageViewHolder(holder: MessageViewHolder, messageListItem: MessageListItem)
LongMethod:MessageListRepositoryTest.kt$MessageListRepositoryTest$@Test fun `getThread() should use flag values from the cache`()
LongMethod:MessageTest.kt$MessageTest$@Test fun toBodyPart()
LongMethod:MessageTest.kt$MessageTest$@Test fun writeTo_withNestedMessage()
LongMethod:MessageViewFragment.kt$MessageViewFragment$override fun onPrepareOptionsMenu(menu: Menu)
LongMethod:MoveMessageOperationsTest.kt$MoveMessageOperationsTest$@Test fun `move message when destination has empty message entry`()
LongMethod:NotificationDataStore.kt$NotificationDataStore$@Synchronized fun removeNotifications( account: Account, selector: (List<MessageReference>) -> List<MessageReference>, ): RemoveNotificationsResult?
LongMethod:RealImapFolder.kt$RealImapFolder$@Throws(MessagingException::class) override fun appendMessages(messages: List<Message>): Map<String, String>?
LongMethod:RealImapFolder.kt$RealImapFolder$@Throws(MessagingException::class) override fun fetch( messages: List<ImapMessage>, fetchProfile: FetchProfile, listener: FetchListener?, maxDownloadSize: Int, )
LongMethod:RealImapFolder.kt$RealImapFolder$@Throws(MessagingException::class) private fun handleFetchResponse(message: ImapMessage, fetchList: ImapList): Any?
LongMethod:RealImapFolder.kt$RealImapFolder$@Throws(MessagingException::class) private fun parseBodyStructure(bs: ImapList, part: Part, id: String)
LongMethod:RealImapFolderIdler.kt$RealImapFolderIdler$private fun ImapFolder.idle(): IdleResult
LongMethod:RecipientNamesView.kt$RecipientNamesView$override fun onLayout(changed: Boolean, left: Int, top: Int, right: Int, bottom: Int)
LongMethod:RetrieveMessageListOperations.kt$RetrieveMessageListOperations$fun <T> getThreadedMessages( selection: String, selectionArgs: Array<String>, sortOrder: String, mapper: MessageMapper<out T?>, ): List<T>
LongMethod:SaveMessageOperationsTest.kt$SaveMessageOperationsTest$@Test fun `save local message`()
LongMethod:SaveMessageOperationsTest.kt$SaveMessageOperationsTest$@Test fun `save message with multipart body`()
LongMethod:SaveMessageOperationsTest.kt$SaveMessageOperationsTest$@Test fun `save message with text_plain body`()
LongMethod:SettingsExporter.kt$SettingsExporter$private fun writeAccount(serializer: XmlSerializer, account: Account, prefs: Map<String, Any>)
LongMethod:SmtpResponseParser.kt$SmtpResponseParser$fun readHelloResponse(): SmtpHelloResponse
LongMethod:SmtpTransport.kt$SmtpTransport$@Throws(MessagingException::class) fun sendMessage(message: Message)
LongMethod:SmtpTransport.kt$SmtpTransport$@VisibleForTesting @Throws(MessagingException::class) internal fun open()
LongMethod:SrvServiceDiscoveryTest.kt$SrvServiceDiscoveryTest$@Test fun discover_withRequiredServices_shouldCorrectlyPrioritize()
LongMethod:TextBodyBuilderTest.kt$TextBodyBuilderTest.Companion$@JvmStatic @Parameterized.Parameters(name = "{index}: {0}") fun data(): Collection<TestData>
LongMethod:ThreadMessageOperationsTest.kt$ThreadMessageOperationsTest$@Test fun `merge two existing threads`()
LongParameterList:CopyMessageOperations.kt$DatabaseMessagePart$( val id: Long, val type: Int, val root: Long, val parent: Long, val seq: Int, val mimeType: String?, val decodedBodySize: Long?, val displayName: String?, val header: ByteArray?, val encoding: String?, val charset: String?, val dataLocation: Int, val data: ByteArray?, val preamble: ByteArray?, val epilogue: ByteArray?, val boundary: String?, val contentId: String?, val serverExtra: String?, )
LongParameterList:FolderHelpers.kt$( name: String = "irrelevant", type: String = "regular", serverId: String? = null, isLocalOnly: Boolean = true, integrate: Boolean = false, inTopGroup: Boolean = false, displayClass: String = "NO_CLASS", syncClass: String? = "INHERITED", notifyClass: String? = "INHERITED", pushClass: String? = "SECOND_CLASS", lastUpdated: Long = 0L, unreadCount: Int = 0, visibleLimit: Int = 25, status: String? = null, flaggedCount: Int = 0, moreMessages: String = "unknown", )
LongParameterList:ImapSync.kt$ImapSync$( remoteFolder: ImapFolder, backendFolder: BackendFolder, largeMessages: List<ImapMessage>, progress: AtomicInteger, downloadedMessageCount: AtomicInteger, todo: Int, highestKnownUid: Long?, listener: SyncListener, maxDownloadSize: Int, )
LongParameterList:ImapSync.kt$ImapSync$( remoteFolder: ImapFolder, backendFolder: BackendFolder, smallMessages: List<ImapMessage>, progress: AtomicInteger, downloadedMessageCount: AtomicInteger, todo: Int, highestKnownUid: Long?, listener: SyncListener, )
LongParameterList:ImapSync.kt$ImapSync$( syncConfig: SyncConfig, remoteFolder: ImapFolder, unsyncedMessages: List<ImapMessage>, smallMessages: MutableList<ImapMessage>, largeMessages: MutableList<ImapMessage>, progress: AtomicInteger, todo: Int, listener: SyncListener, )
LongParameterList:MessageDatabaseHelpers.kt$( folderId: Long, deleted: Boolean = false, uid: String? = null, subject: String = "", date: Long = 0L, flags: String = "", senderList: String = "", toList: String = "", ccList: String = "", bccList: String = "", replyToList: String = "", attachmentCount: Int = 0, internalDate: Long = 0L, messageIdHeader: String? = null, previewType: DatabasePreviewType = DatabasePreviewType.NONE, preview: String = "", mimeType: String = "text/plain", normalizedSubjectHash: Long = 0L, empty: Boolean = false, read: Boolean = false, flagged: Boolean = false, answered: Boolean = false, forwarded: Boolean = false, messagePartId: Long = 0L, encryptionType: String? = null, newMessage: Boolean = false, )
LongParameterList:MessageDatabaseHelpers.kt$( type: Int = 0, root: Int? = null, parent: Int = -1, seq: Int = 0, mimeType: String = "text/plain", decodedBodySize: Int = 0, displayName: String? = null, header: String? = null, encoding: String = "7bit", charset: String? = null, dataLocation: Int = 0, data: ByteArray? = null, preamble: String? = null, epilogue: String? = null, boundary: String? = null, contentId: String? = null, serverExtra: String? = null, directory: File? = null, )
LongParameterList:MessageDetailsViewModel.kt$MessageDetailsViewModel$( private val resources: Resources, private val messageRepository: MessageRepository, private val folderRepository: FolderRepository, private val contactSettingsProvider: ContactSettingsProvider, private val contactRepository: ContactRepository, private val contactPermissionResolver: ContactPermissionResolver, private val clipboardManager: ClipboardManager, private val accountManager: AccountManager, private val participantFormatter: MessageDetailsParticipantFormatter, private val folderNameFormatter: FolderNameFormatter, )
LongParameterList:MessageListAdapterTest.kt$MessageListAdapterTest$( account: Account = Account(SOME_ACCOUNT_UUID), subject: String? = "irrelevant", threadCount: Int = 0, messageDate: Long = 0L, internalDate: Long = 0L, displayName: CharSequence = "irrelevant", displayAddress: Address? = Address.parse("irrelevant@domain.example").first(), previewText: String = "irrelevant", isMessageEncrypted: Boolean = false, isRead: Boolean = false, isStarred: Boolean = false, isAnswered: Boolean = false, isForwarded: Boolean = false, hasAttachments: Boolean = false, uniqueId: Long = 0L, folderId: Long = 0L, messageUid: String = "irrelevant", databaseId: Long = 0L, threadRoot: Long = 0L, )
LongParameterList:MessageListAdapterTest.kt$MessageListAdapterTest$( fontSizes: FontSizes = createFontSizes(), previewLines: Int = 0, stars: Boolean = true, senderAboveSubject: Boolean = false, showContactPicture: Boolean = true, showingThreadedList: Boolean = true, backGroundAsReadIndicator: Boolean = false, showAccountChip: Boolean = false, density: UiDensity = UiDensity.Default, )
LongParameterList:MessagePartDatabaseHelpers.kt$( type: Int = MessagePartType.UNKNOWN, root: Long? = null, parent: Long = -1, seq: Int = 0, mimeType: String? = null, decodedBodySize: Int? = null, displayName: String? = null, header: String? = null, encoding: String? = null, charset: String? = null, dataLocation: Int = DataLocation.MISSING, data: ByteArray? = null, preamble: String? = null, epilogue: String? = null, boundary: String? = null, contentId: String? = null, serverExtra: String? = null, )
LongParameterList:PasswordPromptDialogFragment.kt$PasswordPromptDialogFragment.Companion$( accountUuid: String, accountName: String, inputIncomingServerPassword: Boolean, incomingServerName: String?, inputOutgoingServerPassword: Boolean, outgoingServerName: String?, targetFragment: Fragment, requestCode: Int, )
LongParameterList:PushController.kt$PushController$( private val preferences: Preferences, private val generalSettingsManager: GeneralSettingsManager, private val backendManager: BackendManager, private val pushServiceManager: PushServiceManager, private val bootCompleteManager: BootCompleteManager, private val autoSyncManager: AutoSyncManager, private val pushNotificationManager: PushNotificationManager, private val connectivityManager: ConnectivityManager, private val accountPushControllerFactory: AccountPushControllerFactory, private val coroutineScope: CoroutineScope = GlobalScope, private val coroutineDispatcher: CoroutineDispatcher = Executors.newSingleThreadExecutor().asCoroutineDispatcher(), )
LongParameterList:RecipientPresenter.kt$RecipientPresenter$( private val context: Context, loaderManager: LoaderManager, private val openPgpApiManager: OpenPgpApiManager, private val recipientMvpView: RecipientMvpView, account: Account, private val composePgpInlineDecider: ComposePgpInlineDecider, private val composePgpEnableByDefaultDecider: ComposePgpEnableByDefaultDecider, private val autocryptStatusInteractor: AutocryptStatusInteractor, private val replyToParser: ReplyToParser, private val draftStateHeaderParser: AutocryptDraftStateHeaderParser, )
LongParameterList:SaveMessageOperationsTest.kt$SaveMessageOperationsTest$( subject: String? = getSubject(), date: Long = sentDate?.time ?: System.currentTimeMillis(), internalDate: Long = date, downloadState: MessageDownloadState = getDownloadState(), attachmentCount: Int = 0, previewResult: PreviewResult = PreviewResult.none(), textForSearchIndex: String? = null, encryptionType: String? = null, )
LongParameterList:SettingsImportViewModel.kt$SavedAccountState$( val accountIndex: Int, val displayName: String, val accountUuid: String, val selected: Boolean, val importStatus: ImportStatus, val incomingServerName: String?, val outgoingServerName: String?, val incomingServerPasswordNeeded: Boolean, val outgoingServerPasswordNeeded: Boolean, )
LoopWithTooManyJumpStatements:AccountSetupCheckSettings.kt$AccountSetupCheckSettings$for (subjectAlternativeName in subjectAlternativeNames) { val type = subjectAlternativeName[0] as Int val value: Any? = subjectAlternativeName[1] val name: String = when (type) { 0 -> { Timber.w("SubjectAltName of type OtherName not supported.") continue } 1 -> value as String 2 -> value as String 3 -> { Timber.w("unsupported SubjectAltName of type x400Address") continue } 4 -> { Timber.w("unsupported SubjectAltName of type directoryName") continue } 5 -> { Timber.w("unsupported SubjectAltName of type ediPartyName") continue } 6 -> value as String 7 -> value as String else -> { Timber.w("unsupported SubjectAltName of unknown type") continue } } // if some of the SubjectAltNames match the store or transport -host, display them if (name.equals(incomingServerHost, ignoreCase = true) || name.equals(outgoingServerHost, ignoreCase = true) ) { // TODO: localize this string altNamesText.append("Subject(alt): ").append(name).append(",...\n") } else if (name.startsWith("*.") && ( incomingServerHost.endsWith(name.substring(2)) || outgoingServerHost.endsWith(name.substring(2)) ) ) { // TODO: localize this string altNamesText.append("Subject(alt): ").append(name).append(",...\n") } }
LoopWithTooManyJumpStatements:HttpUriParser.kt$HttpUriParser$while (currentPos < text.length) { val c = text[currentPos] if (isHexDigit(c)) { shouldBeHex = (shouldBeHex - 1).coerceAtLeast(0) } else if (shouldBeHex == 0) { if (c in allowedCharacters) { // Everything ok here :) } else if (c == '%') { shouldBeHex = 2 } else { break } } else { break } currentPos++ }
LoopWithTooManyJumpStatements:RealImapStore.kt$RealImapStore$for (listResponse in listResponses) { val serverId = listResponse.name if (pathDelimiter == null) { pathDelimiter = listResponse.hierarchyDelimiter combinedPrefix = null } if (RealImapFolder.INBOX.equals(serverId, ignoreCase = true)) { continue } else if (listResponse.hasAttribute("\\NoSelect")) { continue } val name = getFolderDisplayName(serverId) val oldServerId = getOldServerId(serverId) val type = when { listResponse.hasAttribute("\\Archive") -> FolderType.ARCHIVE listResponse.hasAttribute("\\All") -> FolderType.ARCHIVE listResponse.hasAttribute("\\Drafts") -> FolderType.DRAFTS listResponse.hasAttribute("\\Sent") -> FolderType.SENT listResponse.hasAttribute("\\Junk") -> FolderType.SPAM listResponse.hasAttribute("\\Trash") -> FolderType.TRASH else -> FolderType.REGULAR } val existingItem = folderMap[serverId] if (existingItem == null || existingItem.type == FolderType.REGULAR) { folderMap[serverId] = FolderListItem(serverId, name, type, oldServerId) } }
LoopWithTooManyJumpStatements:SettingsExporter.kt$SettingsExporter$for ((key, value) in prefs) { val valueString = value.toString() val comps = key.split(".") if (comps.size < 3) { // Skip non-identity config entries continue } val keyUuid = comps[0] val identityKey = comps[1] val identityIndex = comps[2] if (keyUuid != accountUuid || identityIndex != identity) { // Skip entries that belong to another identity continue } val versionedSetting = IdentitySettingsDescriptions.SETTINGS[identityKey] if (versionedSetting != null) { val highestVersion = versionedSetting.lastKey() val setting = versionedSetting[highestVersion] if (setting != null) { // Only write settings that have an entry in IdentitySettings.SETTINGS try { writeKeyAndPrettyValueFromSetting(serializer, identityKey, setting, valueString) } catch (e: InvalidSettingValueException) { Timber.w( "Identity setting \"%s\" has invalid value \"%s\" in preference storage. " + "This shouldn't happen!", identityKey, valueString, ) } } } }
LoopWithTooManyJumpStatements:SettingsExporter.kt$SettingsExporter$for ((key, value) in prefs) { val valueString = value.toString() val comps = key.split(".", limit = 2) if (comps.size < 2) { // Skip global settings continue } val keyUuid = comps[0] val keyPart = comps[1] if (keyUuid != accountUuid) { // Setting doesn't belong to the account we're currently writing. continue } val indexOfLastDot = keyPart.lastIndexOf(".") val hasThirdPart = indexOfLastDot != -1 && indexOfLastDot < keyPart.length - 1 if (hasThirdPart) { val secondPart = keyPart.substring(0, indexOfLastDot) val thirdPart = keyPart.substring(indexOfLastDot + 1) if (secondPart == IDENTITY_EMAIL_KEY) { // This is an identity key. Save identity index for later... thirdPart.toIntOrNull()?.let { identities.add(it) } // ... but don't write it now. continue } if (FolderSettingsDescriptions.SETTINGS.containsKey(thirdPart)) { // This is a folder key. Ignore it. continue } } if (keyPart !in FOLDER_NAME_KEYS) { writeAccountSettingIfValid(serializer, keyPart, valueString, account) } }
LoopWithTooManyJumpStatements:UnreadWidgetMigrations.kt$UnreadWidgetMigrations$for (widgetId in widgetIds) { val accountUuid = preferences.getString("unread_widget.$widgetId", null) ?: continue val account = accountRepository.getAccount(accountUuid) ?: continue val folderServerId = preferences.getString("unread_widget.$widgetId.folder_name", null) if (folderServerId != null) { val folderId = folderRepository.getFolderId(account, folderServerId) putString("unread_widget.$widgetId.folder_id", folderId?.toString()) } remove("unread_widget.$widgetId.folder_name") }
MagicNumber:Account.kt$Account$168
MagicNumber:Account.kt$Account$2
MagicNumber:Account.kt$Account$28
MagicNumber:Account.kt$Account$3
MagicNumber:Account.kt$Account$365
MagicNumber:Account.kt$Account$56
MagicNumber:Account.kt$Account$6
MagicNumber:Account.kt$Account$84
MagicNumber:Account.kt$Account.DeletePolicy.MARK_AS_READ$3
MagicNumber:AccountCreator.kt$AccountCreator$110
MagicNumber:AccountCreator.kt$AccountCreator$143
MagicNumber:AccountCreator.kt$AccountCreator$465
MagicNumber:AccountCreator.kt$AccountCreator$587
MagicNumber:AccountCreator.kt$AccountCreator$993
MagicNumber:AccountCreator.kt$AccountCreator$995
MagicNumber:AccountItem.kt$AccountItem$200L
MagicNumber:AccountPreferenceSerializer.kt$AccountPreferenceSerializer$10
MagicNumber:AccountPreferenceSerializer.kt$AccountPreferenceSerializer$24
MagicNumber:AccountPreferenceSerializer.kt$AccountPreferenceSerializer$32768
MagicNumber:AccountPreferenceSerializer.kt$AccountPreferenceSerializer$5
MagicNumber:AccountSetupCheckSettings.kt$AccountSetupCheckSettings$3
MagicNumber:AccountSetupCheckSettings.kt$AccountSetupCheckSettings$4
MagicNumber:AccountSetupCheckSettings.kt$AccountSetupCheckSettings$5
MagicNumber:AccountSetupCheckSettings.kt$AccountSetupCheckSettings$6
MagicNumber:AccountSetupCheckSettings.kt$AccountSetupCheckSettings$7
MagicNumber:AppLanguageManager.kt$AppLanguageManager$3
MagicNumber:AppLanguageManager.kt$AppLanguageManager$5
MagicNumber:AutocryptSetupTransferLiveEvent.kt$AutocryptSetupTransferLiveEvent$2000
MagicNumber:BoundaryGenerator.kt$BoundaryGenerator$36
MagicNumber:BoundaryGenerator.kt$BoundaryGenerator$4
MagicNumber:ChunkedDatabaseOperations.kt$1000
MagicNumber:CollectionExtensions.kt$0.75F
MagicNumber:CollectionExtensions.kt$3
MagicNumber:ConfigurationExtensions.kt$24
MagicNumber:ConnectivityManager.kt$23
MagicNumber:ConnectivityManager.kt$24
MagicNumber:ContactLetterBitmapCreator.kt$ContactLetterBitmapCreator$0.65f
MagicNumber:ContactLetterBitmapCreator.kt$ContactLetterBitmapCreator$255
MagicNumber:CopyMessageOperations.kt$CopyMessageOperations$10
MagicNumber:CopyMessageOperations.kt$CopyMessageOperations$11
MagicNumber:CopyMessageOperations.kt$CopyMessageOperations$12
MagicNumber:CopyMessageOperations.kt$CopyMessageOperations$13
MagicNumber:CopyMessageOperations.kt$CopyMessageOperations$14
MagicNumber:CopyMessageOperations.kt$CopyMessageOperations$15
MagicNumber:CopyMessageOperations.kt$CopyMessageOperations$16
MagicNumber:CopyMessageOperations.kt$CopyMessageOperations$17
MagicNumber:CopyMessageOperations.kt$CopyMessageOperations$18
MagicNumber:CopyMessageOperations.kt$CopyMessageOperations$19
MagicNumber:CopyMessageOperations.kt$CopyMessageOperations$20
MagicNumber:CopyMessageOperations.kt$CopyMessageOperations$21
MagicNumber:CopyMessageOperations.kt$CopyMessageOperations$3
MagicNumber:CopyMessageOperations.kt$CopyMessageOperations$4
MagicNumber:CopyMessageOperations.kt$CopyMessageOperations$5
MagicNumber:CopyMessageOperations.kt$CopyMessageOperations$6
MagicNumber:CopyMessageOperations.kt$CopyMessageOperations$7
MagicNumber:CopyMessageOperations.kt$CopyMessageOperations$8
MagicNumber:CopyMessageOperations.kt$CopyMessageOperations$9
MagicNumber:DecoderUtil.kt$DecoderUtil$0x1B
MagicNumber:DecoderUtil.kt$DecoderUtil$0x28
MagicNumber:DecoderUtil.kt$DecoderUtil$0x42
MagicNumber:EmailTextToHtml.kt$EmailTextToHtml$3
MagicNumber:EmailTextToHtml.kt$EmailTextToHtml$4
MagicNumber:EmailTextToHtml.kt$EmailTextToHtml$5
MagicNumber:GeneralSettingsFragment.kt$GeneralSettingsFragment$28
MagicNumber:Hex.kt$Hex$4
MagicNumber:HttpUriParser.kt$HttpUriParser$10
MagicNumber:HttpUriParser.kt$HttpUriParser$255
MagicNumber:HttpUriParser.kt$HttpUriParser$4
MagicNumber:HttpUriParser.kt$HttpUriParser$5
MagicNumber:HttpUriParser.kt$HttpUriParser$6
MagicNumber:HttpUriParser.kt$HttpUriParser$65535
MagicNumber:HttpUriParser.kt$HttpUriParser$7
MagicNumber:HttpUriParser.kt$HttpUriParser$8
MagicNumber:ImapBackendPusher.kt$ImapBackendPusher$1000L
MagicNumber:ImapBackendPusher.kt$ImapBackendPusher$15
MagicNumber:ImapBackendPusher.kt$ImapBackendPusher$60
MagicNumber:InMemoryBackendFolder.kt$InMemoryBackendFolder$25
MagicNumber:K9Activity.kt$K9Activity$31
MagicNumber:K9Drawer.kt$K9Drawer$0x22000000
MagicNumber:K9Drawer.kt$K9Drawer$0xffffff
MagicNumber:MailSyncWorkerManager.kt$MailSyncWorkerManager$1000L
MagicNumber:MailSyncWorkerManager.kt$MailSyncWorkerManager$60L
MagicNumber:MessageBuilderDsl.kt$PartBuilder$1024
MagicNumber:MessageBuilderDsl.kt$PartBuilder$20
MagicNumber:MessageContainerView.kt$MessageContainerView$29
MagicNumber:MessageContainerView.kt$MessageContainerView$3
MagicNumber:MessageListItemAnimator.kt$MessageListItemAnimator$120
MagicNumber:MessageListItemMapper.kt$MessageListItemMapper$52
MagicNumber:MessageReference.kt$MessageReference.Companion$3
MagicNumber:MigrationTo76.kt$MigrationTo76$25
MagicNumber:MigrationTo84.kt$MigrationTo84$3
MagicNumber:MigrationTo84.kt$MigrationTo84$4
MagicNumber:MigrationTo84.kt$MigrationTo84$5
MagicNumber:Migrations.kt$Migrations$62
MagicNumber:Migrations.kt$Migrations$64
MagicNumber:Migrations.kt$Migrations$65
MagicNumber:Migrations.kt$Migrations$66
MagicNumber:Migrations.kt$Migrations$67
MagicNumber:Migrations.kt$Migrations$68
MagicNumber:Migrations.kt$Migrations$69
MagicNumber:Migrations.kt$Migrations$70
MagicNumber:Migrations.kt$Migrations$71
MagicNumber:Migrations.kt$Migrations$72
MagicNumber:Migrations.kt$Migrations$73
MagicNumber:Migrations.kt$Migrations$74
MagicNumber:Migrations.kt$Migrations$75
MagicNumber:Migrations.kt$Migrations$76
MagicNumber:Migrations.kt$Migrations$78
MagicNumber:Migrations.kt$Migrations$79
MagicNumber:Migrations.kt$Migrations$80
MagicNumber:Migrations.kt$Migrations$81
MagicNumber:Migrations.kt$Migrations$82
MagicNumber:Migrations.kt$Migrations$83
MagicNumber:Migrations.kt$Migrations$84
MagicNumber:MimeExtensions.kt$126
MagicNumber:MimeExtensions.kt$33
MagicNumber:MimeExtensions.kt$39
MagicNumber:MimeExtensions.kt$42
MagicNumber:MimeExtensions.kt$90
MagicNumber:MimeExtensions.kt$91
MagicNumber:MimeExtensions.kt$93
MagicNumber:MimeExtensions.kt$94
MagicNumber:MimeHeader.kt$MimeHeader$1024
MagicNumber:MimeHeaderChecker.kt$UnstructuredHeaderChecker$1000
MagicNumber:MimeHeaderChecker.kt$UnstructuredHeaderChecker$998
MagicNumber:MimeHeaderParser.kt$MimeHeaderParser$10
MagicNumber:MimeHeaderParser.kt$MimeHeaderParser$4
MagicNumber:MimeParameterDecoder.kt$MimeParameterDecoder$3
MagicNumber:MimeParameterEncoder.kt$MimeParameterEncoder$126
MagicNumber:MimeParameterEncoder.kt$MimeParameterEncoder$16
MagicNumber:MimeParameterEncoder.kt$MimeParameterEncoder$3
MagicNumber:MimeParameterEncoder.kt$MimeParameterEncoder$33
MagicNumber:MimeParameterEncoder.kt$MimeParameterEncoder$35
MagicNumber:MimeParameterEncoder.kt$MimeParameterEncoder$91
MagicNumber:MimeParameterEncoder.kt$MimeParameterEncoder$93
MagicNumber:NegativeSmtpReplyException.kt$500
MagicNumber:NegativeSmtpReplyException.kt$599
MagicNumber:NotificationLightDecoder.kt$NotificationLightDecoder$0x0000FF
MagicNumber:NotificationLightDecoder.kt$NotificationLightDecoder$0x00FF00
MagicNumber:NotificationLightDecoder.kt$NotificationLightDecoder$0x00FFFF
MagicNumber:NotificationLightDecoder.kt$NotificationLightDecoder$0x00FFFFFF
MagicNumber:NotificationLightDecoder.kt$NotificationLightDecoder$0xFF0000
MagicNumber:NotificationLightDecoder.kt$NotificationLightDecoder$0xFF00FF
MagicNumber:NotificationLightDecoder.kt$NotificationLightDecoder$0xFFFF00
MagicNumber:NotificationLightDecoder.kt$NotificationLightDecoder$0xFFFFFF
MagicNumber:NotificationVibration.kt$VibratePattern$3
MagicNumber:NotificationVibration.kt$VibratePattern$4
MagicNumber:NotificationVibration.kt$VibratePattern$5
MagicNumber:NotificationVibration.kt$VibratePattern.Companion$3
MagicNumber:NotificationVibration.kt$VibratePattern.Companion$4
MagicNumber:NotificationVibration.kt$VibratePattern.Companion$5
MagicNumber:NotificationVibration.kt$VibratePattern.Default$200
MagicNumber:NotificationVibration.kt$VibratePattern.Default$300
MagicNumber:NotificationVibration.kt$VibratePattern.Pattern1$100
MagicNumber:NotificationVibration.kt$VibratePattern.Pattern1$200
MagicNumber:NotificationVibration.kt$VibratePattern.Pattern2$100
MagicNumber:NotificationVibration.kt$VibratePattern.Pattern2$500
MagicNumber:NotificationVibration.kt$VibratePattern.Pattern3$200
MagicNumber:NotificationVibration.kt$VibratePattern.Pattern4$200
MagicNumber:NotificationVibration.kt$VibratePattern.Pattern4$500
MagicNumber:NotificationVibration.kt$VibratePattern.Pattern5$500
MagicNumber:PendingIntentCompat.kt$PendingIntentCompat$23
MagicNumber:PendingIntentCompat.kt$PendingIntentCompat$31
MagicNumber:ProvidersXmlDiscovery.kt$ProvidersXmlDiscovery$143
MagicNumber:ProvidersXmlDiscovery.kt$ProvidersXmlDiscovery$465
MagicNumber:ProvidersXmlDiscovery.kt$ProvidersXmlDiscovery$587
MagicNumber:ProvidersXmlDiscovery.kt$ProvidersXmlDiscovery$993
MagicNumber:PushService.kt$PushService$29
MagicNumber:RealImapConnection.kt$RealImapConnection$4
MagicNumber:RealImapFolder.kt$RealImapFolder$3
MagicNumber:RealImapFolder.kt$RealImapFolder$5
MagicNumber:RealImapFolder.kt$RealImapFolder$6
MagicNumber:RealImapFolder.kt$RealImapFolder$8
MagicNumber:RealImapFolder.kt$RealImapFolder$9
MagicNumber:RecipientLayoutCreator.kt$RecipientLayoutCreator$10
MagicNumber:RecipientMvpView.kt$RecipientMvpView$100.0f
MagicNumber:RecipientMvpView.kt$RecipientMvpView$15
MagicNumber:RecipientNamesView.kt$RecipientNamesView$8
MagicNumber:ReplyToView.kt$ReplyToView$15
MagicNumber:RetrieveFolderOperations.kt$CursorFolderAccessor$10
MagicNumber:RetrieveFolderOperations.kt$CursorFolderAccessor$11
MagicNumber:RetrieveFolderOperations.kt$CursorFolderAccessor$12
MagicNumber:RetrieveFolderOperations.kt$CursorFolderAccessor$13
MagicNumber:RetrieveFolderOperations.kt$CursorFolderAccessor$14
MagicNumber:RetrieveFolderOperations.kt$CursorFolderAccessor$15
MagicNumber:RetrieveFolderOperations.kt$CursorFolderAccessor$3
MagicNumber:RetrieveFolderOperations.kt$CursorFolderAccessor$4
MagicNumber:RetrieveFolderOperations.kt$CursorFolderAccessor$5
MagicNumber:RetrieveFolderOperations.kt$CursorFolderAccessor$6
MagicNumber:RetrieveFolderOperations.kt$CursorFolderAccessor$7
MagicNumber:RetrieveFolderOperations.kt$CursorFolderAccessor$8
MagicNumber:RetrieveFolderOperations.kt$CursorFolderAccessor$9
MagicNumber:RetrieveMessageListOperations.kt$CursorMessageAccessor$10
MagicNumber:RetrieveMessageListOperations.kt$CursorMessageAccessor$11
MagicNumber:RetrieveMessageListOperations.kt$CursorMessageAccessor$12
MagicNumber:RetrieveMessageListOperations.kt$CursorMessageAccessor$13
MagicNumber:RetrieveMessageListOperations.kt$CursorMessageAccessor$14
MagicNumber:RetrieveMessageListOperations.kt$CursorMessageAccessor$15
MagicNumber:RetrieveMessageListOperations.kt$CursorMessageAccessor$16
MagicNumber:RetrieveMessageListOperations.kt$CursorMessageAccessor$17
MagicNumber:RetrieveMessageListOperations.kt$CursorMessageAccessor$3
MagicNumber:RetrieveMessageListOperations.kt$CursorMessageAccessor$4
MagicNumber:RetrieveMessageListOperations.kt$CursorMessageAccessor$5
MagicNumber:RetrieveMessageListOperations.kt$CursorMessageAccessor$6
MagicNumber:RetrieveMessageListOperations.kt$CursorMessageAccessor$7
MagicNumber:RetrieveMessageListOperations.kt$CursorMessageAccessor$8
MagicNumber:RetrieveMessageListOperations.kt$CursorMessageAccessor$9
MagicNumber:RetrieveMessageOperations.kt$RetrieveMessageOperations$3
MagicNumber:RetrieveMessageOperations.kt$RetrieveMessageOperations$4
MagicNumber:RetrieveMessageOperations.kt$RetrieveMessageOperations$5
MagicNumber:ServerSettingsSerializer.kt$ServerSettingsAdapter$3
MagicNumber:ServerSettingsSerializer.kt$ServerSettingsAdapter$4
MagicNumber:ServerSettingsSerializer.kt$ServerSettingsAdapter$5
MagicNumber:ServerSettingsSerializer.kt$ServerSettingsAdapter$6
MagicNumber:ServerSettingsSerializer.kt$ServerSettingsAdapter$7
MagicNumber:SettingsExporter.kt$SettingsExporter$3
MagicNumber:SettingsImportListItems.kt$ImportListItem$3
MagicNumber:SettingsImportListItems.kt$ImportListItem$4
MagicNumber:SettingsViewModel.kt$SettingsViewModel$500
MagicNumber:SimpleHighlightView.kt$SimpleHighlightView$0xFFFFFF
MagicNumber:SimpleHighlightView.kt$SimpleHighlightView$100
MagicNumber:SimpleHighlightView.kt$SimpleHighlightView$128
MagicNumber:SimpleHighlightView.kt$SimpleHighlightView$80
MagicNumber:SizeFormatter.kt$SizeFormatter$1000L
MagicNumber:SizeFormatter.kt$SizeFormatter$1000f
MagicNumber:SizeFormatter.kt$SizeFormatter$1_000_000L
MagicNumber:SizeFormatter.kt$SizeFormatter$999_950L
MagicNumber:SizeFormatter.kt$SizeFormatter$999_950_000L
MagicNumber:SmtpResponse.kt$SmtpResponse$400
MagicNumber:SmtpResponseParser.kt$SmtpResponseParser$10
MagicNumber:SmtpResponseParser.kt$SmtpResponseParser$100
MagicNumber:SmtpResponseParser.kt$SmtpResponseParser$126
MagicNumber:SmtpResponseParser.kt$SmtpResponseParser$250
MagicNumber:SmtpResponseParser.kt$SmtpResponseParser$32
MagicNumber:SmtpResponseParser.kt$SmtpResponseParser$33
MagicNumber:SmtpResponseParser.kt$SmtpResponseParser$4
MagicNumber:SmtpResponseParser.kt$SmtpResponseParser$5
MagicNumber:SmtpTransport.kt$SmtpTransport$1000
MagicNumber:SmtpTransport.kt$SmtpTransport$1024
MagicNumber:StatusCodeClass.kt$StatusCodeClass.PERMANENT_FAILURE$5
MagicNumber:StatusCodeClass.kt$StatusCodeClass.PERSISTENT_TRANSIENT_FAILURE$4
MagicNumber:StorageMigrationTo11.kt$StorageMigrationTo11$3
MagicNumber:StorageMigrationTo17.kt$StorageMigrationTo17$0x0000FF
MagicNumber:StorageMigrationTo17.kt$StorageMigrationTo17$0x00FF00
MagicNumber:StorageMigrationTo17.kt$StorageMigrationTo17$0x00FFFF
MagicNumber:StorageMigrationTo17.kt$StorageMigrationTo17$0x00FFFFFF
MagicNumber:StorageMigrationTo17.kt$StorageMigrationTo17$0xFF0000
MagicNumber:StorageMigrationTo17.kt$StorageMigrationTo17$0xFF00FF
MagicNumber:StorageMigrationTo17.kt$StorageMigrationTo17$0xFFFF00
MagicNumber:StorageMigrationTo17.kt$StorageMigrationTo17$0xFFFFFF
MagicNumber:StorageMigrations.kt$StorageMigrations$10
MagicNumber:StorageMigrations.kt$StorageMigrations$11
MagicNumber:StorageMigrations.kt$StorageMigrations$12
MagicNumber:StorageMigrations.kt$StorageMigrations$13
MagicNumber:StorageMigrations.kt$StorageMigrations$14
MagicNumber:StorageMigrations.kt$StorageMigrations$15
MagicNumber:StorageMigrations.kt$StorageMigrations$16
MagicNumber:StorageMigrations.kt$StorageMigrations$17
MagicNumber:StorageMigrations.kt$StorageMigrations$18
MagicNumber:StorageMigrations.kt$StorageMigrations$19
MagicNumber:StorageMigrations.kt$StorageMigrations$20
MagicNumber:StorageMigrations.kt$StorageMigrations$3
MagicNumber:StorageMigrations.kt$StorageMigrations$4
MagicNumber:StorageMigrations.kt$StorageMigrations$5
MagicNumber:StorageMigrations.kt$StorageMigrations$6
MagicNumber:StorageMigrations.kt$StorageMigrations$7
MagicNumber:StorageMigrations.kt$StorageMigrations$8
MagicNumber:ThemeManager.kt$ThemeManager$28
MagicNumber:ThreadMessageOperations.kt$ThreadMessageOperations$3
MagicNumber:TimberLogger.kt$TimberLogger$26
MagicNumber:UidValidityResponse.kt$UidValidityResponse.Companion$0xFFFFFFFFL
MagicNumber:Utf8.kt$0x010000
MagicNumber:Utf8.kt$0x10000
MagicNumber:Utf8.kt$0x3f
MagicNumber:Utf8.kt$0x80
MagicNumber:Utf8.kt$0x800
MagicNumber:Utf8.kt$0xc0
MagicNumber:Utf8.kt$0xd800
MagicNumber:Utf8.kt$0xdbff
MagicNumber:Utf8.kt$0xdc00
MagicNumber:Utf8.kt$0xdfff
MagicNumber:Utf8.kt$0xe0
MagicNumber:Utf8.kt$0xe000
MagicNumber:Utf8.kt$0xf0
MagicNumber:Utf8.kt$10
MagicNumber:Utf8.kt$12
MagicNumber:Utf8.kt$18
MagicNumber:Utf8.kt$3
MagicNumber:Utf8.kt$4
MagicNumber:Utf8.kt$6
MatchingDeclarationName:Main.kt$HtmlCleaner : CliktCommand
MaxLineLength:BoundaryGeneratorTest.kt$BoundaryGeneratorTest$0
MaxLineLength:ComposeCryptoStatus.kt$ComposeCryptoStatus$OpenPgpApiManager.OpenPgpProviderState.ERROR, OpenPgpApiManager.OpenPgpProviderState.UI_REQUIRED -> CryptoStatusDisplayType.ERROR
MaxLineLength:GenericUriParserTest.kt$GenericUriParserTest$assertUriValid("xmpp:node@example.com/repulsive%20!%23%22\$%25&'()*+,-.%2F:;%3C=%3E%3F%40%5B%5C%5D%5E_%60%7B%7C%7D~resource")
MaxLineLength:HtmlSanitizerTest.kt$HtmlSanitizerTest$assertThat(result.toCompactString()).isEqualTo("<html><head><style>keep this</style></head><body></body></html>")
MaxLineLength:ImapSync.kt$ImapSync.<no name provided>$// TODO: This might be the source of poll count errors in the UI. Is todo always the same as ofTotal
MaxLineLength:JmapBackend.kt$JmapBackend$override
MaxLineLength:MessageViewFragment.kt$MessageViewFragment$// When the menu is hidden, the message associated with this fragment is no longer active. If the user returns
MaxLineLength:MigrationTo70.kt$MigrationTo70$db.execSQL("CREATE TRIGGER delete_folder BEFORE DELETE ON folders BEGIN DELETE FROM messages WHERE old.id = folder_id; END;")
MaxLineLength:MigrationTo84.kt$MigrationTo84$"SELECT id, to_list, cc_list, bcc_list, reply_to_list, sender_list FROM messages WHERE empty = 0 AND deleted = 0"
MaxLineLength:NotificationHelper.kt$NotificationHelper$// UID 123 does not have permission to content://media/external_primary/audio/media/42?title=Coins&canonical=1 [user 0]
MaxLineLength:Pop3ConnectionTest.kt$Pop3ConnectionTest$fun
MaxLineLength:RealImapFolder.kt$RealImapFolder$// [MESSAGE, RFC822, [NAME, Fwd: [#HTR-517941]: update plans at 1am Friday - Memory allocation - displayware.eml], NIL, NIL, 7BIT, 5974, NIL, [INLINE, [FILENAME*0, Fwd: [#HTR-517941]: update plans at 1am Friday - Memory all, FILENAME*1, ocation - displayware.eml]], NIL]
MaxLineLength:RealImapFolder.kt$RealImapFolder$val canCreateForwardedFlag = canCreateKeywords || internalImapStore.getPermanentFlagsIndex().contains(Flag.FORWARDED)
MaxLineLength:RealImapStoreTest.kt$RealImapStoreTest$fun
MaxLineLength:RealOAuth2TokenProvider.kt$RealOAuth2TokenProvider$authState
MaxLineLength:RetrieveMessageListOperationsTest.kt$RetrieveMessageListOperationsTest$fun
MayBeConst:SummaryNotificationDataCreatorTest.kt$private val TIMESTAMP = 0L
MemberNameEqualsClassName:HtmlModification.kt$HtmlModification.Replace$abstract fun replace(textToHtml: TextToHtml)
MemberNameEqualsClassName:ReplyToView.kt$ReplyToView$private val replyToView: RecipientSelectView = activity.findViewById(R.id.reply_to)
NestedBlockDepth:HttpUriParser.kt$HttpUriParser$private fun tryMatchIpv6Address(text: CharSequence, startPos: Int): Int
NestedBlockDepth:ImapSync.kt$ImapSync$private fun synchronizeMailboxSynchronous(folder: String, syncConfig: SyncConfig, listener: SyncListener)
NestedBlockDepth:MessageList.kt$MessageList$override fun onBackPressed()
NestedBlockDepth:MessageList.kt$MessageList$override fun onOptionsItemSelected(item: MenuItem): Boolean
NestedBlockDepth:MessageList.kt$MessageList$private fun decodeExtrasToLaunchData(intent: Intent): LaunchData
NestedBlockDepth:ProvidersXmlDiscovery.kt$ProvidersXmlDiscovery$private fun parseProviders(xml: XmlResourceParser, domain: String): Provider?
NestedBlockDepth:RealImapFolder.kt$RealImapFolder$@Throws(MessagingException::class) override fun appendMessages(messages: List<Message>): Map<String, String>?
NestedBlockDepth:RealImapFolder.kt$RealImapFolder$@Throws(MessagingException::class) override fun fetch( messages: List<ImapMessage>, fetchProfile: FetchProfile, listener: FetchListener?, maxDownloadSize: Int, )
NestedBlockDepth:RealImapFolder.kt$RealImapFolder$@Throws(MessagingException::class) override fun fetchPart( message: ImapMessage, part: Part, bodyFactory: BodyFactory, maxDownloadSize: Int, )
NestedBlockDepth:RealImapFolder.kt$RealImapFolder$@Throws(MessagingException::class) private fun handleFetchResponse(message: ImapMessage, fetchList: ImapList): Any?
NestedBlockDepth:RealImapFolder.kt$RealImapFolder$@Throws(MessagingException::class) private fun parseBodyStructure(bs: ImapList, part: Part, id: String)
NestedBlockDepth:SettingsExporter.kt$SettingsExporter$private fun writeAccount(serializer: XmlSerializer, account: Account, prefs: Map<String, Any>)
NestedBlockDepth:SettingsExporter.kt$SettingsExporter$private fun writeIdentity( serializer: XmlSerializer, accountUuid: String, identity: String, prefs: Map<String, Any>, )
NestedBlockDepth:SingleMessageNotificationCreator.kt$SingleMessageNotificationCreator$private fun NotificationBuilder.setWearActions(notificationData: SingleNotificationData)
NestedBlockDepth:SmtpTransport.kt$SmtpTransport$@VisibleForTesting @Throws(MessagingException::class) internal fun open()
NestedBlockDepth:SummaryNotificationCreator.kt$SummaryNotificationCreator$private fun NotificationBuilder.setWearActions( account: Account, notificationData: SummaryInboxNotificationData, )
ReturnCount:AccountSetupBasics.kt$AccountSetupBasics$private fun providersXmlDiscoveryDiscover(email: String): ConnectionSettings?
ReturnCount:AccountSetupBasics.kt$private fun DiscoveredServerSettings.toServerSettings(): ServerSettings?
ReturnCount:AccountSetupCheckSettings.kt$AccountSetupCheckSettings.CheckAccountTask$private fun isCanceled(): Boolean
ReturnCount:AutocryptDraftStateHeaderParser.kt$AutocryptDraftStateHeaderParser$fun parseAutocryptDraftStateHeader(headerValue: String): AutocryptDraftStateHeader?
ReturnCount:ChooseFolderActivity.kt$ChooseFolderActivity$private fun decodeArguments(savedInstanceState: Bundle?): Boolean
ReturnCount:CommandSetFlag.kt$CommandSetFlag$fun setFlag(folderServerId: String, messageServerIds: List<String>, flag: Flag, newState: Boolean)
ReturnCount:DecoderUtil.kt$DecoderUtil$@JvmStatic fun decodeEncodedWords(body: String, message: Message?): String
ReturnCount:DecoderUtil.kt$DecoderUtil$private fun extractEncodedWord(body: String, begin: Int, end: Int, message: Message?): EncodedWord?
ReturnCount:EditIdentity.kt$EditIdentity$override fun onOptionsItemSelected(item: MenuItem): Boolean
ReturnCount:EmailSection.kt$EmailSection$override fun subSequence(startIndex: Int, endIndex: Int): CharSequence
ReturnCount:FormatFlowedHelper.kt$FormatFlowedHelper$@JvmStatic fun checkFormatFlowed(contentTypeHeaderValue: String?): FormatFlowedResult
ReturnCount:HtmlSignatureRemover.kt$HtmlSignatureRemover.StripSignatureFilter$override fun head(node: Node, depth: Int): HeadFilterDecision
ReturnCount:HtmlSignatureRemover.kt$HtmlSignatureRemover.StripSignatureFilter$private fun Node.findPrecedingLineBreak(): Node?
ReturnCount:HtmlSignatureRemover.kt$HtmlSignatureRemover.StripSignatureFilter$private fun Node.isFollowedByLineBreak(): Boolean
ReturnCount:HttpUriParser.kt$HttpUriParser$override fun parseUri(text: CharSequence, startPos: Int): UriMatch?
ReturnCount:HttpUriParser.kt$HttpUriParser$private fun tryMatchAuthority(text: CharSequence, startPos: Int): Int
ReturnCount:HttpUriParser.kt$HttpUriParser$private fun tryMatchDomainName(text: CharSequence, startPos: Int): Int
ReturnCount:HttpUriParser.kt$HttpUriParser$private fun tryMatchIpv4Address(text: CharSequence, startPos: Int, portAllowed: Boolean): Int
ReturnCount:HttpUriParser.kt$HttpUriParser$private fun tryMatchIpv6Address(text: CharSequence, startPos: Int): Int
ReturnCount:ImapSync.kt$ImapSync$private fun isOldMessage(messageServerId: String, highestKnownUid: Long?): Boolean
ReturnCount:ImapSync.kt$ImapSync$private fun syncFlags(syncConfig: SyncConfig, backendFolder: BackendFolder, remoteMessage: ImapMessage): Boolean
ReturnCount:JmapAccountDiscovery.kt$JmapAccountDiscovery$fun discover(emailAddress: String, password: String): JmapDiscoveryResult
ReturnCount:K9NotificationStrategy.kt$K9NotificationStrategy$override fun shouldNotifyForMessage( account: Account, localFolder: LocalFolder, message: LocalMessage, isOldMessage: Boolean, ): Boolean
ReturnCount:ListUnsubscribeHelper.kt$ListUnsubscribeHelper$fun getPreferredListUnsubscribeUri(message: Message): UnsubscribeUri?
ReturnCount:ListUnsubscribeHelper.kt$ListUnsubscribeHelper$private fun extractUri(headerValue: String?): Uri?
ReturnCount:MailSyncWorker.kt$MailSyncWorker$override fun doWork(): Result
ReturnCount:MessageHelper.kt$MessageHelper.Companion$@JvmStatic fun toFriendly( address: Address, contactRepository: ContactRepository?, showCorrespondentNames: Boolean, changeContactNameColor: Boolean, contactNameColor: Int, ): CharSequence
ReturnCount:MessageList.kt$MessageList$private fun decodeExtrasToLaunchData(intent: Intent): LaunchData
ReturnCount:MessageList.kt$MessageList$private fun onCustomKeyDown(event: KeyEvent): Boolean
ReturnCount:MessageList.kt$MessageList$public override fun onCreate(savedInstanceState: Bundle?)
ReturnCount:MessageList.kt$MessageList$public override fun onNewIntent(intent: Intent)
ReturnCount:MessageListAdapter.kt$MessageListAdapter$private fun buildStatusHolder(forwarded: Boolean, answered: Boolean): Drawable?
ReturnCount:MessageListAdapter.kt$MessageListAdapter$private fun calculateSelectionCount(): Int
ReturnCount:MessageListFragment.kt$MessageListFragment$override fun onFooterClicked()
ReturnCount:MessageListFragment.kt$MessageListFragment$private fun checkCopyOrMovePossible(messages: List<MessageReference>, operation: FolderOperation): Boolean
ReturnCount:MessageListFragment.kt$MessageListFragment$private fun isSpecialFolder(specialFolderId: Long?): Boolean
ReturnCount:MessageListFragment.kt$MessageListFragment$private fun rememberSortOverride(messageReference: MessageReference?)
ReturnCount:MessageListFragment.kt$MessageListFragment$private fun scrollToMessage(messageReference: MessageReference)
ReturnCount:MessageListSwipeCallback.kt$MessageListSwipeCallback$override fun getMovementFlags(recyclerView: RecyclerView, viewHolder: ViewHolder): Int
ReturnCount:MessageReference.kt$MessageReference.Companion$@JvmStatic fun parse(identity: String?): MessageReference?
ReturnCount:MessageRepository.kt$MessageRepository$private fun List<Header>.parseDate(headerName: String): MessageDate
ReturnCount:MessageTopView.kt$MessageTopView$private fun shouldShowPicturesFromSender(showPicturesSetting: ShowPictures, message: Message): Boolean
ReturnCount:MessageViewFragment.kt$MessageViewFragment$override fun onOptionsItemSelected(item: MenuItem): Boolean
ReturnCount:MimeParameterDecoder.kt$MimeParameterDecoder$private fun areParameterSectionsValid(parameterSections: MutableList<ParameterSection>): Boolean
ReturnCount:MimeParameterDecoder.kt$MimeParameterDecoder$private fun convertToParameterSection(parameterName: String, parameterValue: ParameterValue): ParameterSection?
ReturnCount:NotificationContentCreator.kt$NotificationContentCreator$private fun getMessageSender(account: Account, message: Message): String?
ReturnCount:NotificationDataStore.kt$NotificationDataStore$@Synchronized fun removeNotifications( account: Account, selector: (List<MessageReference>) -> List<MessageReference>, ): RemoveNotificationsResult?
ReturnCount:PreviewTextExtractor.kt$PreviewTextExtractor$private fun extractUnquotedText(text: String): String
ReturnCount:ProvidersXmlDiscovery.kt$ProvidersXmlDiscovery$override fun discover(email: String): DiscoveryResults?
ReturnCount:ProvidersXmlDiscovery.kt$ProvidersXmlDiscovery$private fun Provider.toIncomingServerSettings(email: String): DiscoveredServerSettings?
ReturnCount:ProvidersXmlDiscovery.kt$ProvidersXmlDiscovery$private fun Provider.toOutgoingServerSettings(email: String): DiscoveredServerSettings?
ReturnCount:RealImapFolder.kt$RealImapFolder$@Throws(IOException::class, MessagingException::class) override fun areMoreMessagesAvailable(indexOfOldestMessage: Int, earliestDate: Date?): Boolean
ReturnCount:RealImapFolderIdler.kt$RealImapFolderIdler$private fun ImapFolder.idle(): IdleResult
ReturnCount:RealImapStore.kt$RealImapStore$private fun removePrefixFromFolderName(folderName: String): String?
ReturnCount:RecipientLayoutCreator.kt$RecipientLayoutCreator$fun createRecipientLayout( recipientNames: List<CharSequence>, totalNumberOfRecipients: Int, availableWidth: Int, ): RecipientLayoutData
ReturnCount:RecipientLayoutCreator.kt$RecipientLayoutCreator$private fun doesTextFitAvailableWidth( displayRecipients: CharSequence, additionalRecipients: CharSequence, availableWidth: Int, ): Boolean
ReturnCount:RecipientPresenter.kt$RecipientPresenter$fun checkRecipientsOkForSending(): Boolean
ReturnCount:RecipientPresenter.kt$RecipientPresenter$private fun toggleEncryptionState(showGotIt: Boolean)
ReturnCount:SaveMessageOperationsTest.kt$SaveMessageOperationsTest$private fun Message.getDownloadState(): MessageDownloadState
ReturnCount:ShareIntentBuilder.kt$ShareIntentBuilder$private fun extractBodyText(message: LocalMessage): String
ReturnCount:SmtpResponseParser.kt$SmtpResponseParser$fun readHelloResponse(): SmtpHelloResponse
ReturnCount:StorageMigrationTo19.kt$StorageMigrationTo19$private fun markIfGmailAccount(accountUuid: String)
ReturnCount:TextPartFinder.kt$TextPartFinder$private fun findTextPartInMultipart(multipart: Multipart): Part?
ReturnCount:TextPartFinder.kt$TextPartFinder$private fun findTextPartInMultipartAlternative(multipart: Multipart): Part?
ReturnCount:TouchInterceptView.kt$TouchInterceptView$private fun handleOnInterceptTouchEvent(event: MotionEvent)
ReturnCount:UidReverseComparator.kt$UidReverseComparator$override fun compare(messageLeft: Message, messageRight: Message): Int
ReturnCount:UidValidityResponse.kt$UidValidityResponse.Companion$@JvmStatic fun parse(response: ImapResponse): UidValidityResponse?
ReturnCount:UnreadWidgetConfigurationFragment.kt$UnreadWidgetConfigurationFragment$private fun validateWidget(): Boolean
ReturnCount:UnreadWidgetDataProvider.kt$UnreadWidgetDataProvider$private fun loadFolderData(configuration: UnreadWidgetConfiguration): UnreadWidgetData?
SpreadOperator:ConfigurationExtensions.kt$(*locales.toTypedArray())
SpreadOperator:K9Drawer.kt$K9Drawer$(*accountItems)
SpreadOperator:RecipientPresenter.kt$RecipientPresenter$(*Address.parse(trustId))
SpreadOperator:RecipientPresenter.kt$RecipientPresenter$(*bccAddresses)
SpreadOperator:RecipientPresenter.kt$RecipientPresenter$(*ccAddresses)
SpreadOperator:RecipientPresenter.kt$RecipientPresenter$(*mailTo.bcc)
SpreadOperator:RecipientPresenter.kt$RecipientPresenter$(*mailTo.cc)
SpreadOperator:RecipientPresenter.kt$RecipientPresenter$(*mailTo.to)
SpreadOperator:RecipientPresenter.kt$RecipientPresenter$(*message.getRecipients(RecipientType.BCC))
SpreadOperator:RecipientPresenter.kt$RecipientPresenter$(*message.getRecipients(RecipientType.CC))
SpreadOperator:RecipientPresenter.kt$RecipientPresenter$(*message.getRecipients(RecipientType.TO))
SpreadOperator:RecipientPresenter.kt$RecipientPresenter$(*replyToAddresses.cc)
SpreadOperator:RecipientPresenter.kt$RecipientPresenter$(*replyToAddresses.to)
SpreadOperator:RecipientPresenter.kt$RecipientPresenter$(*toAddresses)
SpreadOperator:RecipientPresenter.kt$RecipientPresenter.<no name provided>$(*recipientArray)
SpreadOperator:RecipientPresenter.kt$RecipientPresenter.<no name provided>$(context, account.openPgpProvider, *alwaysBccAddresses)
SpreadOperator:RecipientPresenter.kt$RecipientPresenter.<no name provided>$(recipientType, *recipientArray)
SpreadOperator:ReplyToView.kt$ReplyToView$(*recipients)
SwallowedException:AboutFragment.kt$e: ActivityNotFoundException
SwallowedException:AuthViewModel.kt$AuthViewModel$e: ActivityNotFoundException
SwallowedException:ContactPictureLoader.kt$ContactPictureLoader$e: Exception
SwallowedException:DecoderUtil.kt$DecoderUtil$e: IOException
SwallowedException:DecoderUtil.kt$DecoderUtil$e: MessagingException
SwallowedException:JmapAccountDiscovery.kt$JmapAccountDiscovery$e: EndpointNotFoundException
SwallowedException:JmapAccountDiscovery.kt$JmapAccountDiscovery$e: UnauthorizedException
SwallowedException:JmapAccountDiscovery.kt$JmapAccountDiscovery$e: UnknownHostException
SwallowedException:LocalKeyStore.kt$LocalKeyStore$e: FileNotFoundException
SwallowedException:LocalKeyStore.kt$LocalKeyStore$e: KeyStoreException
SwallowedException:MessageContainerView.kt$MessageContainerView$e: ActivityNotFoundException
SwallowedException:MessageDetailsViewModel.kt$MessageDetailsViewModel$e: Exception
SwallowedException:MessageListFragment.kt$MessageListFragment$e: ClassCastException
SwallowedException:MessageListFragment.kt$MessageListFragment$e: MessagingException
SwallowedException:MessageRepository.kt$MessageRepository$e: Exception
SwallowedException:MessageViewContainerFragment.kt$MessageViewContainerFragment$e: ClassCastException
SwallowedException:MessageViewFragment.kt$MessageViewFragment$e: ActivityNotFoundException
SwallowedException:MessageViewFragment.kt$MessageViewFragment$e: ClassCastException
SwallowedException:MimeParameterDecoder.kt$MimeParameterDecoder$e: IllegalCharsetNameException
SwallowedException:MimeParameterDecoder.kt$MimeParameterDecoder$e: MimeHeaderParserException
SwallowedException:MimeType.kt$MimeType.Companion$e: IllegalArgumentException
SwallowedException:PushInfoFragment.kt$PushInfoFragment$e: ActivityNotFoundException
SwallowedException:QuoteDateFormatter.kt$QuoteDateFormatter$e: Exception
SwallowedException:RealImapConnection.kt$RealImapConnection$e: NegativeImapResponseException
SwallowedException:RealImapFolder.kt$RealImapFolder$e: NegativeImapResponseException
SwallowedException:RealImapStore.kt$RealImapStore$e: CharacterCodingException
SwallowedException:RealImapStore.kt$RealImapStore$ioe: IOException
SwallowedException:SaveMessageOperations.kt$SaveMessageOperations$e: IOException
SwallowedException:SettingsExporter.kt$SettingsExporter$e: InvalidSettingValueException
SwallowedException:SettingsListFragment.kt$SettingsListFragment$e: ActivityNotFoundException
SwallowedException:SmtpTransport.kt$SmtpTransport$e: NegativeSmtpReplyException
SwallowedException:SmtpTransport.kt$SmtpTransport$exception: NegativeSmtpReplyException
ThrowingExceptionsWithoutMessageOrCause:RealImapConnection.kt$RealImapConnection$Exception()
ThrowingExceptionsWithoutMessageOrCause:SmtpTransport.kt$SmtpTransport$RuntimeException()
ThrowingExceptionsWithoutMessageOrCause:TimberLogger.kt$TimberLogger$Throwable()
ThrowsCount:CommandRefreshFolderList.kt$CommandRefreshFolderList$fun refreshFolderList()
ThrowsCount:LocalKeyStore.kt$LocalKeyStore$private fun writeCertificateFile()
ThrowsCount:MimeHeaderChecker.kt$UnstructuredHeaderChecker$fun checkHeaderValue()
ThrowsCount:RealImapConnection.kt$RealImapConnection$private fun authenticate(): List<ImapResponse>
ThrowsCount:SmtpTransport.kt$SmtpTransport$@Throws(MessagingException::class) fun sendMessage(message: Message)
ThrowsCount:SmtpTransport.kt$SmtpTransport$@VisibleForTesting @Throws(MessagingException::class) internal fun open()
ThrowsCount:SmtpTransport.kt$SmtpTransport$private fun saslAuthCramMD5()
TooGenericExceptionCaught:AccountRemover.kt$AccountRemover$e: Exception
TooGenericExceptionCaught:AccountSetupCheckSettings.kt$AccountSetupCheckSettings$e: Exception
TooGenericExceptionCaught:AccountSetupCheckSettings.kt$AccountSetupCheckSettings.CheckAccountTask$e: Exception
TooGenericExceptionCaught:AuthViewModel.kt$AuthViewModel$e: Exception
TooGenericExceptionCaught:AutocryptSetupTransferLiveEvent.kt$AutocryptSetupTransferLiveEvent$e: Exception
TooGenericExceptionCaught:BootCompleteReceiver.kt$BootCompleteManager$e: Exception
TooGenericExceptionCaught:CommandRefreshFolderList.kt$CommandRefreshFolderList$e: Exception
TooGenericExceptionCaught:CommandSync.kt$CommandSync$e: Exception
TooGenericExceptionCaught:ContactPhotoLoader.kt$ContactPhotoLoader$e: Exception
TooGenericExceptionCaught:ContactPictureLoader.kt$ContactPictureLoader$e: Exception
TooGenericExceptionCaught:GeneralSettingsViewModel.kt$GeneralSettingsViewModel$e: Exception
TooGenericExceptionCaught:ImapFolderPusher.kt$ImapFolderPusher$e: Exception
TooGenericExceptionCaught:ImapSync.kt$ImapSync$e: Exception
TooGenericExceptionCaught:ImapSync.kt$ImapSync.<no name provided>$e: Exception
TooGenericExceptionCaught:JmapAccountDiscovery.kt$JmapAccountDiscovery$e: Exception
TooGenericExceptionCaught:K9.kt$K9$e: Exception
TooGenericExceptionCaught:LiveDataLoader.kt$e: Exception
TooGenericExceptionCaught:LocalKeyStore.kt$LocalKeyStore$e: Exception
TooGenericExceptionCaught:MessageCountsProvider.kt$DefaultMessageCountsProvider$e: Exception
TooGenericExceptionCaught:MessageDetailsViewModel.kt$MessageDetailsViewModel$e: Exception
TooGenericExceptionCaught:MessageListFragment.kt$MessageListFragment$e: Exception
TooGenericExceptionCaught:MessageListLoader.kt$MessageListLoader$e: Exception
TooGenericExceptionCaught:MessageListWidgetManager.kt$MessageListWidgetManager$e: RuntimeException
TooGenericExceptionCaught:MessageRepository.kt$MessageRepository$e: Exception
TooGenericExceptionCaught:ProvidersXmlDiscovery.kt$ProvidersXmlDiscovery$e: Exception
TooGenericExceptionCaught:PushServiceManager.kt$PushServiceManager$e: Exception
TooGenericExceptionCaught:QuoteDateFormatter.kt$QuoteDateFormatter$e: Exception
TooGenericExceptionCaught:RealGeneralSettingsManager.kt$e: Exception
TooGenericExceptionCaught:RealImapConnection.kt$RealImapConnection$e: Exception
TooGenericExceptionCaught:SettingsExportViewModel.kt$SettingsExportViewModel$e: Exception
TooGenericExceptionCaught:SettingsExporter.kt$SettingsExporter$e: Exception
TooGenericExceptionCaught:SettingsImportViewModel.kt$SettingsImportViewModel$e: Exception
TooGenericExceptionCaught:SmtpTransport.kt$SmtpTransport$e: Exception
TooGenericExceptionCaught:SystemLocaleManager.kt$SystemLocaleManager$e: Exception
TooGenericExceptionCaught:UnreadWidgetProvider.kt$UnreadWidgetProvider$e: Exception
TooGenericExceptionCaught:UnreadWidgetUpdateListener.kt$UnreadWidgetUpdateListener$e: Exception
TooGenericExceptionThrown:AccountSettingsActivity.kt$AccountSettingsActivity$throw RuntimeException("getSupportActionBar() == null")
TooGenericExceptionThrown:AccountSetupCheckSettings.kt$AccountSetupCheckSettings$throw RuntimeException("Called showDialog(int) with unknown dialog id.")
TooGenericExceptionThrown:GeneralSettingsActivity.kt$GeneralSettingsActivity$throw RuntimeException("getSupportActionBar() == null")
TooGenericExceptionThrown:ImapSync.kt$ImapSync$throw Exception("Message count $remoteMessageCount for folder $folder")
TooGenericExceptionThrown:MessageListFragment.kt$MessageListFragment$throw RuntimeException("Called showDialog(int) with unknown dialog id.")
TooGenericExceptionThrown:MessageViewFragment.kt$MessageViewFragment$throw RuntimeException("Called showDialog(int) with unknown dialog id.")
TooManyFunctions:Account.kt$Account : BaseAccount
TooManyFunctions:AccountSettingsDataStore.kt$AccountSettingsDataStore : PreferenceDataStore
TooManyFunctions:AccountSettingsFragment.kt$AccountSettingsFragment : PreferenceFragmentCompatConfirmationDialogFragmentListener
TooManyFunctions:AccountSetupBasics.kt$AccountSetupBasics : K9Activity
TooManyFunctions:AccountSetupCheckSettings.kt$AccountSetupCheckSettings : K9ActivityConfirmationDialogFragmentListener
TooManyFunctions:AuthViewModel.kt$AuthViewModel : AndroidViewModel
TooManyFunctions:AutocryptKeyTransferActivity.kt$AutocryptKeyTransferActivity : K9Activity
TooManyFunctions:Backend.kt$Backend
TooManyFunctions:BackendFolder.kt$BackendFolder
TooManyFunctions:ChooseFolderActivity.kt$ChooseFolderActivity : K9Activity
TooManyFunctions:CommandSync.kt$CommandSync
TooManyFunctions:CoreResourceProvider.kt$CoreResourceProvider
TooManyFunctions:DeleteMessageOperations.kt$DeleteMessageOperations
TooManyFunctions:DemoBackend.kt$DemoBackend : Backend
TooManyFunctions:FolderRepository.kt$FolderRepository
TooManyFunctions:FolderSettingsFragment.kt$FolderSettingsFragment : PreferenceFragmentCompatConfirmationDialogFragmentListener
TooManyFunctions:GeneralSettingsDataStore.kt$GeneralSettingsDataStore : PreferenceDataStore
TooManyFunctions:GeneralSettingsFragment.kt$GeneralSettingsFragment : PreferenceFragmentCompat
TooManyFunctions:HttpUriParser.kt$HttpUriParser : UriParser
TooManyFunctions:ImapBackend.kt$ImapBackend : Backend
TooManyFunctions:ImapBackendPusher.kt$ImapBackendPusher : BackendPusherImapPusherCallback
TooManyFunctions:ImapConnection.kt$ImapConnection
TooManyFunctions:ImapFolder.kt$ImapFolder
TooManyFunctions:ImapSync.kt$ImapSync
TooManyFunctions:InMemoryBackendFolder.kt$InMemoryBackendFolder : BackendFolder
TooManyFunctions:JmapBackend.kt$JmapBackend : Backend
TooManyFunctions:K9.kt$K9 : EarlyInit
TooManyFunctions:K9BackendFolder.kt$K9BackendFolder : BackendFolder
TooManyFunctions:K9CoreResourceProvider.kt$K9CoreResourceProvider : CoreResourceProvider
TooManyFunctions:K9Drawer.kt$K9Drawer : KoinComponent
TooManyFunctions:K9MessageStore.kt$K9MessageStore : MessageStore
TooManyFunctions:K9NotificationActionCreator.kt$K9NotificationActionCreator : NotificationActionCreator
TooManyFunctions:K9NotificationResourceProvider.kt$K9NotificationResourceProvider : NotificationResourceProvider
TooManyFunctions:ListenableMessageStore.kt$ListenableMessageStore : MessageStore
TooManyFunctions:Logger.kt$Logger
TooManyFunctions:ManageFoldersFragment.kt$ManageFoldersFragment : Fragment
TooManyFunctions:MessageContainerView.kt$MessageContainerView : LinearLayoutOnCreateContextMenuListenerKoinComponent
TooManyFunctions:MessageDetailsFragment.kt$MessageDetailsFragment : ToolbarBottomSheetDialogFragment
TooManyFunctions:MessageIdParser.kt$MessageIdParser
TooManyFunctions:MessageList.kt$MessageList : K9ActivityMessageListFragmentListenerMessageViewFragmentListenerMessageViewContainerListenerOnBackStackChangedListenerOnSwitchCompleteListenerPermissionUiHelper
TooManyFunctions:MessageList.kt$MessageList$Companion : KoinComponent
TooManyFunctions:MessageListAdapter.kt$MessageListAdapter : Adapter
TooManyFunctions:MessageListCache.kt$MessageListCache
TooManyFunctions:MessageListFragment.kt$MessageListFragment : FragmentConfirmationDialogFragmentListenerMessageListItemActionListener
TooManyFunctions:MessageListFragment.kt$MessageListFragment$MessageListActivityListener : SimpleMessagingListener
TooManyFunctions:MessageListRemoteViewFactory.kt$MessageListRemoteViewFactory : RemoteViewsFactoryKoinComponent
TooManyFunctions:MessageListSwipeCallback.kt$MessageListSwipeCallback : Callback
TooManyFunctions:MessageStore.kt$MessageStore
TooManyFunctions:MessageTopView.kt$MessageTopView : LinearLayoutKoinComponent
TooManyFunctions:MessageViewContainerFragment.kt$MessageViewContainerFragment : Fragment
TooManyFunctions:MessageViewFragment.kt$MessageViewFragment : FragmentConfirmationDialogFragmentListenerAttachmentViewCallback
TooManyFunctions:MigrationTo73.kt$MigrationTo73
TooManyFunctions:MimeExtensions.kt$com.fsck.k9.mail.internet.MimeExtensions.kt
TooManyFunctions:MimeHeader.kt$MimeHeader
TooManyFunctions:MimeHeaderChecker.kt$UnstructuredHeaderChecker
TooManyFunctions:MimeHeaderParser.kt$MimeHeaderParser
TooManyFunctions:MimeParameterDecoder.kt$MimeParameterDecoder
TooManyFunctions:MimeParameterEncoder.kt$MimeParameterEncoder
TooManyFunctions:NoOpLogger.kt$NoOpLogger : Logger
TooManyFunctions:NotificationActionCreator.kt$NotificationActionCreator
TooManyFunctions:NotificationChannelManager.kt$NotificationChannelManager
TooManyFunctions:NotificationController.kt$NotificationController
TooManyFunctions:NotificationResourceProvider.kt$NotificationResourceProvider
TooManyFunctions:NotifierMessageStore.kt$NotifierMessageStore : MessageStore
TooManyFunctions:Pop3Backend.kt$Pop3Backend : Backend
TooManyFunctions:Preferences.kt$Preferences : AccountManager
TooManyFunctions:PushController.kt$PushController
TooManyFunctions:RealGeneralSettingsManager.kt$RealGeneralSettingsManager : GeneralSettingsManager
TooManyFunctions:RealImapConnection.kt$RealImapConnection : ImapConnection
TooManyFunctions:RealImapFolder.kt$RealImapFolder : ImapFolder
TooManyFunctions:RealImapStore.kt$RealImapStore : ImapStoreImapConnectionManagerInternalImapStore
TooManyFunctions:RecipientMvpView.kt$RecipientMvpView : OnFocusChangeListenerOnClickListener
TooManyFunctions:RecipientPresenter.kt$RecipientPresenter
TooManyFunctions:ReplyToView.kt$ReplyToView
TooManyFunctions:RetrieveFolderOperations.kt$RetrieveFolderOperations
TooManyFunctions:SaveMessageOperations.kt$SaveMessageOperations
TooManyFunctions:SettingsExportViewModel.kt$SettingsExportViewModel : ViewModel
TooManyFunctions:SettingsExporter.kt$SettingsExporter
TooManyFunctions:SettingsImportFragment.kt$SettingsImportFragment : Fragment
TooManyFunctions:SettingsImportUiModel.kt$SettingsImportUiModel
TooManyFunctions:SettingsImportViewModel.kt$SettingsImportViewModel : ViewModel
TooManyFunctions:SettingsListFragment.kt$SettingsListFragment : FragmentItemTouchCallback
TooManyFunctions:SimpleHighlightView.kt$SimpleHighlightView : FrameLayout
TooManyFunctions:SimpleSyncListener.kt$SimpleSyncListener : SyncListener
TooManyFunctions:SingleMessageNotificationCreator.kt$SingleMessageNotificationCreator
TooManyFunctions:SmtpResponseParser.kt$SmtpResponseParser
TooManyFunctions:SmtpTransport.kt$SmtpTransport
TooManyFunctions:SummaryNotificationCreator.kt$SummaryNotificationCreator
TooManyFunctions:SyncListener.kt$SyncListener
TooManyFunctions:SystemOutLogger.kt$SystemOutLogger : Logger
TooManyFunctions:ThreadMessageOperations.kt$ThreadMessageOperations
TooManyFunctions:Timber.kt$Timber
TooManyFunctions:TimberLogger.kt$TimberLogger : Logger
TooManyFunctions:ToolbarBottomSheetDialog.kt$ToolbarBottomSheetDialog : AppCompatDialog
TooManyFunctions:UnreadWidgetConfigurationFragment.kt$UnreadWidgetConfigurationFragment : PreferenceFragmentCompat
TooManyFunctions:UpdateFolderOperations.kt$UpdateFolderOperations
TooManyFunctions:VibrationDialogFragment.kt$VibrationDialogFragment$VibrationPatternAdapter : BaseAdapter
UnnecessaryAbstractClass:AppRobolectricTest.kt$AppRobolectricTest$AppRobolectricTest
UnnecessaryAbstractClass:HtmlModification.kt$HtmlModification$HtmlModification
UnnecessaryAbstractClass:K9RobolectricTest.kt$K9RobolectricTest$K9RobolectricTest
UnnecessaryAbstractClass:RobolectricTest.kt$RobolectricTest$RobolectricTest
UnusedPrivateMember:Contacts.kt$Contacts$addresses: Array<Address?>?
UnusedPrivateMember:ExtraAccountDiscovery.kt$ExtraAccountDiscovery$email: String
UnusedPrivateMember:HttpUriParser.kt$HttpUriParser$i
UnusedPrivateMember:MessageListLoader.kt$MessageListLoader$account: Account
UnusedPrivateMember:MessageViewFragment.kt$MessageViewFragment$requestKey: String
UseCheckOrError:OutboxStateRepository.kt$OutboxStateRepository$throw IllegalStateException("No outbox_state entry for message with id $messageId")
UseCheckOrError:ThemeExtensions.kt$throw IllegalStateException("Couldn't resolve attribute ($attrId)")
UseRequire:MimeParameterEncoder.kt$MimeParameterEncoder$throw IllegalArgumentException("Unsupported character: $c")
VariableNaming:AutocryptGossipHeaderParserTest.kt$AutocryptGossipHeaderParserTest$// Example from Autocrypt 1.0 appendix val GOSSIP_PART = """ |Autocrypt-Gossip: $GOSSIP_HEADER_BOB |Autocrypt-Gossip: addr=carol@autocrypt.example; keydata= | mQGNBFoBt8oBDADGqfZ6PqW05hUEO1dkKm+ixJXnbVriPz2tRkAqT7lTF4KBGitxo4IPv9RPIjJR | UMUo89ddyqQfiwKxdFCMDqFDnVRWlDaM+r8sauNJoIFwtTFuvUpkFeCI5gYvneEIIbf1r3Xx1pf5 | Iy9qsd5eg/4Vvc2AezUv+A6p2DUNHgFMX2FfDus+EPO0wgeWbNaV601aE7UhyugB |Content-Type: text/plain | |Hi Bob and Carol, | |I wanted to introduce the two of you to each other. | |I hope you are both doing well! You can now both "reply all" here, |and the thread will remain encrypted. | |Regards, |Alice """.trimMargin().crlf()
VariableNaming:AutocryptGossipHeaderParserTest.kt$AutocryptGossipHeaderParserTest$val GOSSIP_DATA_BOB = Base64.decodeBase64( """ mQGNBFoBt74BDAC8AMsjPY17kxodbfmHah38ZQipY0yfuo97WUBs2jeiFYlQdunPANi5VMgbAX+H Mq1XoBRs6qW+WpX8Uj11mu22c57BTUXJRbRr4TnTuuOQmT0egwFDe3x8vHSFmcf9OzG8iKR9ftUE +F2ewrzzmm3XY8hy7QeUgBfClZVA6A3rsX4gGawjDo6ZRBbYwckINgGX/vQk6rGs """.trimIndent().toByteArray(), )
VariableNaming:AutocryptGossipHeaderParserTest.kt$AutocryptGossipHeaderParserTest$val GOSSIP_HEADER_BOB = """ |addr=bob@autocrypt.example; keydata= | mQGNBFoBt74BDAC8AMsjPY17kxodbfmHah38ZQipY0yfuo97WUBs2jeiFYlQdunPANi5VMgbAX+H | Mq1XoBRs6qW+WpX8Uj11mu22c57BTUXJRbRr4TnTuuOQmT0egwFDe3x8vHSFmcf9OzG8iKR9ftUE | +F2ewrzzmm3XY8hy7QeUgBfClZVA6A3rsX4gGawjDo6ZRBbYwckINgGX/vQk6rGs """.trimMargin()
VariableNaming:AutocryptGossipHeaderParserTest.kt$AutocryptGossipHeaderParserTest$val GOSSIP_RAW_HEADER_BOB = "Autocrypt-Gossip: $GOSSIP_HEADER_BOB".crlf()