157 lines
16 KiB
XML
157 lines
16 KiB
XML
<?xml version="1.0" ?>
|
|
<SmellBaseline>
|
|
<ManuallySuppressedIssues></ManuallySuppressedIssues>
|
|
<CurrentIssues>
|
|
<ID>CastToNullableType:SettingsExporter.kt$SettingsExporter$as</ID>
|
|
<ID>CyclomaticComplexMethod:HttpUriParser.kt$HttpUriParser$private fun tryMatchIpv6Address(text: CharSequence, startPos: Int): Int</ID>
|
|
<ID>CyclomaticComplexMethod:PushController.kt$PushController$private fun updatePushers()</ID>
|
|
<ID>CyclomaticComplexMethod:SettingsExporter.kt$SettingsExporter$private fun writeAccount(serializer: XmlSerializer, account: Account, prefs: Map<String, Any>)</ID>
|
|
<ID>ForbiddenComment:K9BackendFolderTest.kt$K9BackendFolderTest$// FIXME: This is a hack to get Preferences into a state where it's safe to call newAccount()</ID>
|
|
<ID>ForbiddenComment:K9BackendStorageTest.kt$K9BackendStorageTest$// FIXME: This is a hack to get Preferences into a state where it's safe to call newAccount()</ID>
|
|
<ID>FunctionOnlyReturningConstant:DisplayHtml.kt$DisplayHtml$private fun cssStyleSignature(): String</ID>
|
|
<ID>ImplicitDefaultLocale:SettingsExporter.kt$SettingsExporter$String.format("%s_%s.%s", EXPORT_FILENAME_PREFIX, dateFormat.format(now.time), EXPORT_FILENAME_SUFFIX)</ID>
|
|
<ID>LongMethod:AccountPreferenceSerializer.kt$AccountPreferenceSerializer$@Synchronized fun delete(editor: StorageEditor, storage: Storage, account: Account)</ID>
|
|
<ID>LongMethod:AccountPreferenceSerializer.kt$AccountPreferenceSerializer$@Synchronized fun loadAccount(account: Account, storage: Storage)</ID>
|
|
<ID>LongMethod:AccountPreferenceSerializer.kt$AccountPreferenceSerializer$@Synchronized fun save(editor: StorageEditor, storage: Storage, account: Account)</ID>
|
|
<ID>LongMethod:AccountPreferenceSerializer.kt$AccountPreferenceSerializer$fun loadDefaults(account: Account)</ID>
|
|
<ID>LongMethod:K9.kt$K9$@JvmStatic fun loadPrefs(storage: Storage)</ID>
|
|
<ID>LongMethod:MessageListRepositoryTest.kt$MessageListRepositoryTest$@Test fun `getThread() should use flag values from the cache`()</ID>
|
|
<ID>LongMethod:NotificationDataStore.kt$NotificationDataStore$@Synchronized fun removeNotifications( account: Account, selector: (List<MessageReference>) -> List<MessageReference>, ): RemoveNotificationsResult?</ID>
|
|
<ID>LongMethod:SettingsExporter.kt$SettingsExporter$private fun writeAccount(serializer: XmlSerializer, account: Account, prefs: Map<String, Any>)</ID>
|
|
<ID>LongMethod:TextBodyBuilderTest.kt$TextBodyBuilderTest.Companion$@JvmStatic @Parameterized.Parameters(name = "{index}: {0}") fun data(): Collection<TestData></ID>
|
|
<ID>LongParameterList:PushController.kt$PushController$( private val accountManager: AccountManager, 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(), )</ID>
|
|
<ID>LoopWithTooManyJumpStatements:HttpUriParser.kt$HttpUriParser$while</ID>
|
|
<ID>LoopWithTooManyJumpStatements:SettingsExporter.kt$SettingsExporter$for</ID>
|
|
<ID>MagicNumber:Account.kt$Account$168</ID>
|
|
<ID>MagicNumber:Account.kt$Account$2</ID>
|
|
<ID>MagicNumber:Account.kt$Account$28</ID>
|
|
<ID>MagicNumber:Account.kt$Account$3</ID>
|
|
<ID>MagicNumber:Account.kt$Account$365</ID>
|
|
<ID>MagicNumber:Account.kt$Account$56</ID>
|
|
<ID>MagicNumber:Account.kt$Account$6</ID>
|
|
<ID>MagicNumber:Account.kt$Account$84</ID>
|
|
<ID>MagicNumber:Account.kt$Account.DeletePolicy.MARK_AS_READ$3</ID>
|
|
<ID>MagicNumber:AccountPreferenceSerializer.kt$AccountPreferenceSerializer$10</ID>
|
|
<ID>MagicNumber:AccountPreferenceSerializer.kt$AccountPreferenceSerializer$24</ID>
|
|
<ID>MagicNumber:AccountPreferenceSerializer.kt$AccountPreferenceSerializer$32768</ID>
|
|
<ID>MagicNumber:AccountPreferenceSerializer.kt$AccountPreferenceSerializer$5</ID>
|
|
<ID>MagicNumber:CollectionExtensions.kt$0.75F</ID>
|
|
<ID>MagicNumber:CollectionExtensions.kt$3</ID>
|
|
<ID>MagicNumber:ConnectivityManager.kt$23</ID>
|
|
<ID>MagicNumber:ConnectivityManager.kt$24</ID>
|
|
<ID>MagicNumber:EmailTextToHtml.kt$EmailTextToHtml$3</ID>
|
|
<ID>MagicNumber:EmailTextToHtml.kt$EmailTextToHtml$4</ID>
|
|
<ID>MagicNumber:EmailTextToHtml.kt$EmailTextToHtml$5</ID>
|
|
<ID>MagicNumber:HttpUriParser.kt$HttpUriParser$10</ID>
|
|
<ID>MagicNumber:HttpUriParser.kt$HttpUriParser$255</ID>
|
|
<ID>MagicNumber:HttpUriParser.kt$HttpUriParser$4</ID>
|
|
<ID>MagicNumber:HttpUriParser.kt$HttpUriParser$5</ID>
|
|
<ID>MagicNumber:HttpUriParser.kt$HttpUriParser$6</ID>
|
|
<ID>MagicNumber:HttpUriParser.kt$HttpUriParser$65535</ID>
|
|
<ID>MagicNumber:HttpUriParser.kt$HttpUriParser$7</ID>
|
|
<ID>MagicNumber:HttpUriParser.kt$HttpUriParser$8</ID>
|
|
<ID>MagicNumber:MailSyncWorkerManager.kt$MailSyncWorkerManager$1000L</ID>
|
|
<ID>MagicNumber:MailSyncWorkerManager.kt$MailSyncWorkerManager$60L</ID>
|
|
<ID>MagicNumber:MessageReference.kt$MessageReference.Companion$3</ID>
|
|
<ID>MagicNumber:NotificationLightDecoder.kt$NotificationLightDecoder$0x0000FF</ID>
|
|
<ID>MagicNumber:NotificationLightDecoder.kt$NotificationLightDecoder$0x00FF00</ID>
|
|
<ID>MagicNumber:NotificationLightDecoder.kt$NotificationLightDecoder$0x00FFFF</ID>
|
|
<ID>MagicNumber:NotificationLightDecoder.kt$NotificationLightDecoder$0x00FFFFFF</ID>
|
|
<ID>MagicNumber:NotificationLightDecoder.kt$NotificationLightDecoder$0xFF0000</ID>
|
|
<ID>MagicNumber:NotificationLightDecoder.kt$NotificationLightDecoder$0xFF00FF</ID>
|
|
<ID>MagicNumber:NotificationLightDecoder.kt$NotificationLightDecoder$0xFFFF00</ID>
|
|
<ID>MagicNumber:NotificationLightDecoder.kt$NotificationLightDecoder$0xFFFFFF</ID>
|
|
<ID>MagicNumber:NotificationVibration.kt$VibratePattern$3</ID>
|
|
<ID>MagicNumber:NotificationVibration.kt$VibratePattern$4</ID>
|
|
<ID>MagicNumber:NotificationVibration.kt$VibratePattern$5</ID>
|
|
<ID>MagicNumber:NotificationVibration.kt$VibratePattern.Companion$3</ID>
|
|
<ID>MagicNumber:NotificationVibration.kt$VibratePattern.Companion$4</ID>
|
|
<ID>MagicNumber:NotificationVibration.kt$VibratePattern.Companion$5</ID>
|
|
<ID>MagicNumber:NotificationVibration.kt$VibratePattern.Default$200</ID>
|
|
<ID>MagicNumber:NotificationVibration.kt$VibratePattern.Default$300</ID>
|
|
<ID>MagicNumber:NotificationVibration.kt$VibratePattern.Pattern1$100</ID>
|
|
<ID>MagicNumber:NotificationVibration.kt$VibratePattern.Pattern1$200</ID>
|
|
<ID>MagicNumber:NotificationVibration.kt$VibratePattern.Pattern2$100</ID>
|
|
<ID>MagicNumber:NotificationVibration.kt$VibratePattern.Pattern2$500</ID>
|
|
<ID>MagicNumber:NotificationVibration.kt$VibratePattern.Pattern3$200</ID>
|
|
<ID>MagicNumber:NotificationVibration.kt$VibratePattern.Pattern4$200</ID>
|
|
<ID>MagicNumber:NotificationVibration.kt$VibratePattern.Pattern4$500</ID>
|
|
<ID>MagicNumber:NotificationVibration.kt$VibratePattern.Pattern5$500</ID>
|
|
<ID>MagicNumber:PushService.kt$PushService$29</ID>
|
|
<ID>MagicNumber:ServerSettingsSerializer.kt$ServerSettingsAdapter$3</ID>
|
|
<ID>MagicNumber:ServerSettingsSerializer.kt$ServerSettingsAdapter$4</ID>
|
|
<ID>MagicNumber:ServerSettingsSerializer.kt$ServerSettingsAdapter$5</ID>
|
|
<ID>MagicNumber:ServerSettingsSerializer.kt$ServerSettingsAdapter$6</ID>
|
|
<ID>MagicNumber:ServerSettingsSerializer.kt$ServerSettingsAdapter$7</ID>
|
|
<ID>MagicNumber:SettingsExporter.kt$SettingsExporter$3</ID>
|
|
<ID>MagicNumber:TimberLogger.kt$TimberLogger$26</ID>
|
|
<ID>MayBeConst:SummaryNotificationDataCreatorTest.kt$private val TIMESTAMP = 0L</ID>
|
|
<ID>MemberNameEqualsClassName:HtmlModification.kt$HtmlModification.Replace$abstract fun replace(textToHtml: TextToHtml)</ID>
|
|
<ID>NestedBlockDepth:HttpUriParser.kt$HttpUriParser$private fun tryMatchIpv6Address(text: CharSequence, startPos: Int): Int</ID>
|
|
<ID>NestedBlockDepth:SettingsExporter.kt$SettingsExporter$private fun writeAccount(serializer: XmlSerializer, account: Account, prefs: Map<String, Any>)</ID>
|
|
<ID>NestedBlockDepth:SettingsExporter.kt$SettingsExporter$private fun writeIdentity( serializer: XmlSerializer, accountUuid: String, identity: String, prefs: Map<String, Any>, )</ID>
|
|
<ID>NestedBlockDepth:SingleMessageNotificationCreator.kt$SingleMessageNotificationCreator$private fun NotificationBuilder.setWearActions(notificationData: SingleNotificationData)</ID>
|
|
<ID>NestedBlockDepth:SummaryNotificationCreator.kt$SummaryNotificationCreator$private fun NotificationBuilder.setWearActions( account: Account, notificationData: SummaryInboxNotificationData, )</ID>
|
|
<ID>ReturnCount:AutocryptDraftStateHeaderParser.kt$AutocryptDraftStateHeaderParser$fun parseAutocryptDraftStateHeader(headerValue: String): AutocryptDraftStateHeader?</ID>
|
|
<ID>ReturnCount:EmailSection.kt$EmailSection$override fun subSequence(startIndex: Int, endIndex: Int): CharSequence</ID>
|
|
<ID>ReturnCount:HtmlSignatureRemover.kt$HtmlSignatureRemover.StripSignatureFilter$override fun head(node: Node, depth: Int): HeadFilterDecision</ID>
|
|
<ID>ReturnCount:HtmlSignatureRemover.kt$HtmlSignatureRemover.StripSignatureFilter$private fun Node.findPrecedingLineBreak(): Node?</ID>
|
|
<ID>ReturnCount:HtmlSignatureRemover.kt$HtmlSignatureRemover.StripSignatureFilter$private fun Node.isFollowedByLineBreak(): Boolean</ID>
|
|
<ID>ReturnCount:HttpUriParser.kt$HttpUriParser$override fun parseUri(text: CharSequence, startPos: Int): UriMatch?</ID>
|
|
<ID>ReturnCount:HttpUriParser.kt$HttpUriParser$private fun tryMatchAuthority(text: CharSequence, startPos: Int): Int</ID>
|
|
<ID>ReturnCount:HttpUriParser.kt$HttpUriParser$private fun tryMatchDomainName(text: CharSequence, startPos: Int): Int</ID>
|
|
<ID>ReturnCount:HttpUriParser.kt$HttpUriParser$private fun tryMatchIpv4Address(text: CharSequence, startPos: Int, portAllowed: Boolean): Int</ID>
|
|
<ID>ReturnCount:HttpUriParser.kt$HttpUriParser$private fun tryMatchIpv6Address(text: CharSequence, startPos: Int): Int</ID>
|
|
<ID>ReturnCount:ListUnsubscribeHelper.kt$ListUnsubscribeHelper$fun getPreferredListUnsubscribeUri(message: Message): UnsubscribeUri?</ID>
|
|
<ID>ReturnCount:ListUnsubscribeHelper.kt$ListUnsubscribeHelper$private fun extractUri(headerValue: String?): Uri?</ID>
|
|
<ID>ReturnCount:MailSyncWorker.kt$MailSyncWorker$override fun doWork(): Result</ID>
|
|
<ID>ReturnCount:MessageHelper.kt$MessageHelper.Companion$@JvmStatic fun toFriendly( address: Address, contactRepository: ContactRepository?, showCorrespondentNames: Boolean, changeContactNameColor: Boolean, contactNameColor: Int, ): CharSequence</ID>
|
|
<ID>ReturnCount:MessageReference.kt$MessageReference.Companion$@JvmStatic fun parse(identity: String?): MessageReference?</ID>
|
|
<ID>ReturnCount:MessageRepository.kt$MessageRepository$private fun List<Header>.parseDate(headerName: String): MessageDate</ID>
|
|
<ID>ReturnCount:NotificationContentCreator.kt$NotificationContentCreator$private fun getMessageSender(account: Account, message: Message): String?</ID>
|
|
<ID>ReturnCount:NotificationDataStore.kt$NotificationDataStore$@Synchronized fun removeNotifications( account: Account, selector: (List<MessageReference>) -> List<MessageReference>, ): RemoveNotificationsResult?</ID>
|
|
<ID>ReturnCount:PreviewTextExtractor.kt$PreviewTextExtractor$private fun extractUnquotedText(text: String): String</ID>
|
|
<ID>ReturnCount:TextPartFinder.kt$TextPartFinder$private fun findTextPartInMultipart(multipart: Multipart): Part?</ID>
|
|
<ID>ReturnCount:TextPartFinder.kt$TextPartFinder$private fun findTextPartInMultipartAlternative(multipart: Multipart): Part?</ID>
|
|
<ID>SwallowedException:MessageRepository.kt$MessageRepository$e: Exception</ID>
|
|
<ID>SwallowedException:QuoteDateFormatter.kt$QuoteDateFormatter$e: Exception</ID>
|
|
<ID>SwallowedException:SettingsExporter.kt$SettingsExporter$e: InvalidSettingValueException</ID>
|
|
<ID>ThrowingExceptionsWithoutMessageOrCause:TimberLogger.kt$TimberLogger$Throwable()</ID>
|
|
<ID>TooGenericExceptionCaught:BootCompleteReceiver.kt$BootCompleteManager$e: Exception</ID>
|
|
<ID>TooGenericExceptionCaught:K9.kt$K9$e: Exception</ID>
|
|
<ID>TooGenericExceptionCaught:MessageCountsProvider.kt$DefaultMessageCountsProvider$e: Exception</ID>
|
|
<ID>TooGenericExceptionCaught:MessageRepository.kt$MessageRepository$e: Exception</ID>
|
|
<ID>TooGenericExceptionCaught:PushServiceManager.kt$PushServiceManager$e: Exception</ID>
|
|
<ID>TooGenericExceptionCaught:QuoteDateFormatter.kt$QuoteDateFormatter$e: Exception</ID>
|
|
<ID>TooGenericExceptionCaught:RealGeneralSettingsManager.kt$e: Exception</ID>
|
|
<ID>TooGenericExceptionCaught:SettingsExporter.kt$SettingsExporter$e: Exception</ID>
|
|
<ID>TooManyFunctions:Account.kt$Account : BaseAccount</ID>
|
|
<ID>TooManyFunctions:CoreResourceProvider.kt$CoreResourceProvider</ID>
|
|
<ID>TooManyFunctions:FolderRepository.kt$FolderRepository</ID>
|
|
<ID>TooManyFunctions:HttpUriParser.kt$HttpUriParser : UriParser</ID>
|
|
<ID>TooManyFunctions:K9.kt$K9 : EarlyInit</ID>
|
|
<ID>TooManyFunctions:K9BackendFolder.kt$K9BackendFolder : BackendFolder</ID>
|
|
<ID>TooManyFunctions:ListenableMessageStore.kt$ListenableMessageStore : MessageStore</ID>
|
|
<ID>TooManyFunctions:MessageListCache.kt$MessageListCache</ID>
|
|
<ID>TooManyFunctions:MessageStore.kt$MessageStore</ID>
|
|
<ID>TooManyFunctions:NotificationActionCreator.kt$NotificationActionCreator</ID>
|
|
<ID>TooManyFunctions:NotificationChannelManager.kt$NotificationChannelManager</ID>
|
|
<ID>TooManyFunctions:NotificationController.kt$NotificationController</ID>
|
|
<ID>TooManyFunctions:NotificationResourceProvider.kt$NotificationResourceProvider</ID>
|
|
<ID>TooManyFunctions:NotifierMessageStore.kt$NotifierMessageStore : MessageStore</ID>
|
|
<ID>TooManyFunctions:Preferences.kt$Preferences : AccountManager</ID>
|
|
<ID>TooManyFunctions:PushController.kt$PushController</ID>
|
|
<ID>TooManyFunctions:RealGeneralSettingsManager.kt$RealGeneralSettingsManager : GeneralSettingsManager</ID>
|
|
<ID>TooManyFunctions:SettingsExporter.kt$SettingsExporter</ID>
|
|
<ID>TooManyFunctions:SingleMessageNotificationCreator.kt$SingleMessageNotificationCreator</ID>
|
|
<ID>TooManyFunctions:SummaryNotificationCreator.kt$SummaryNotificationCreator</ID>
|
|
<ID>TooManyFunctions:TimberLogger.kt$TimberLogger : Logger</ID>
|
|
<ID>UnusedParameter:Contacts.kt$Contacts$addresses: Array<Address?>?</ID>
|
|
<ID>UnusedPrivateProperty:HttpUriParser.kt$HttpUriParser$i</ID>
|
|
<ID>UseCheckOrError:OutboxStateRepository.kt$OutboxStateRepository$throw IllegalStateException("No outbox_state entry for message with id $messageId")</ID>
|
|
<ID>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()</ID>
|
|
<ID>VariableNaming:AutocryptGossipHeaderParserTest.kt$AutocryptGossipHeaderParserTest$val GOSSIP_DATA_BOB = Base64.decodeBase64( """ mQGNBFoBt74BDAC8AMsjPY17kxodbfmHah38ZQipY0yfuo97WUBs2jeiFYlQdunPANi5VMgbAX+H Mq1XoBRs6qW+WpX8Uj11mu22c57BTUXJRbRr4TnTuuOQmT0egwFDe3x8vHSFmcf9OzG8iKR9ftUE +F2ewrzzmm3XY8hy7QeUgBfClZVA6A3rsX4gGawjDo6ZRBbYwckINgGX/vQk6rGs """.trimIndent().toByteArray(), )</ID>
|
|
<ID>VariableNaming:AutocryptGossipHeaderParserTest.kt$AutocryptGossipHeaderParserTest$val GOSSIP_HEADER_BOB = """ |addr=bob@autocrypt.example; keydata= | mQGNBFoBt74BDAC8AMsjPY17kxodbfmHah38ZQipY0yfuo97WUBs2jeiFYlQdunPANi5VMgbAX+H | Mq1XoBRs6qW+WpX8Uj11mu22c57BTUXJRbRr4TnTuuOQmT0egwFDe3x8vHSFmcf9OzG8iKR9ftUE | +F2ewrzzmm3XY8hy7QeUgBfClZVA6A3rsX4gGawjDo6ZRBbYwckINgGX/vQk6rGs """.trimMargin()</ID>
|
|
<ID>VariableNaming:AutocryptGossipHeaderParserTest.kt$AutocryptGossipHeaderParserTest$val GOSSIP_RAW_HEADER_BOB = "Autocrypt-Gossip: $GOSSIP_HEADER_BOB".crlf()</ID>
|
|
</CurrentIssues>
|
|
</SmellBaseline>
|