CastToNullableType:AccountSetupCheckSettings.kt$AccountSetupCheckSettings$as CastToNullableType:MessageList.kt$MessageList$as CastToNullableType:MessageViewFragment.kt$MessageViewFragment$as CastToNullableType:VibrationPreference.kt$VibrationPreference$as 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: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: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:MessageViewFragment.kt$MessageViewFragment$override fun onOptionsItemSelected(item: MenuItem): Boolean CyclomaticComplexMethod:SettingsImportFragment.kt$SettingsImportFragment$private fun ViewHolder.updateUi(model: SettingsImportUiModel) CyclomaticComplexMethod:SortTypeToastProvider.kt$SortTypeToastProvider$fun getToast(sortType: SortType, ascending: Boolean): Int CyclomaticComplexMethod:TouchInterceptView.kt$TouchInterceptView$private fun handleOnInterceptTouchEvent(event: MotionEvent) 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: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 ImplicitDefaultLocale:MessageListAdapter.kt$MessageListAdapter$String.format("%d", threadCount) LargeClass:MessageList.kt$MessageList : K9ActivityMessageListFragmentListenerMessageViewFragmentListenerMessageViewContainerListenerOnBackStackChangedListenerOnSwitchCompleteListenerPermissionUiHelper LargeClass:MessageListFragment.kt$MessageListFragment : FragmentConfirmationDialogFragmentListenerMessageListItemActionListener LongMethod:AccountSetupCheckSettings.kt$AccountSetupCheckSettings$private fun acceptKeyDialog(msgResId: Int, exception: CertificateValidationException) 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:MessageViewFragment.kt$MessageViewFragment$override fun onPrepareOptionsMenu(menu: Menu) LongMethod:RecipientNamesView.kt$RecipientNamesView$override fun onLayout(changed: Boolean, left: Int, top: Int, right: Int, bottom: Int) 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:PasswordPromptDialogFragment.kt$PasswordPromptDialogFragment.Companion$( accountUuid: String, accountName: String, inputIncomingServerPassword: Boolean, incomingServerName: String?, inputOutgoingServerPassword: Boolean, outgoingServerName: String?, targetFragment: Fragment, requestCode: Int, ) 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: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 MagicNumber:AccountCreatorHelper.kt$AccountCreatorHelper$110 MagicNumber:AccountCreatorHelper.kt$AccountCreatorHelper$143 MagicNumber:AccountCreatorHelper.kt$AccountCreatorHelper$465 MagicNumber:AccountCreatorHelper.kt$AccountCreatorHelper$587 MagicNumber:AccountCreatorHelper.kt$AccountCreatorHelper$993 MagicNumber:AccountCreatorHelper.kt$AccountCreatorHelper$995 MagicNumber:AccountItem.kt$AccountItem$200L 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:AutocryptSetupTransferLiveEvent.kt$AutocryptSetupTransferLiveEvent$2000 MagicNumber:ContactLetterBitmapCreator.kt$ContactLetterBitmapCreator$0.65f MagicNumber:ContactLetterBitmapCreator.kt$ContactLetterBitmapCreator$255 MagicNumber:GeneralSettingsFragment.kt$GeneralSettingsFragment$28 MagicNumber:K9Drawer.kt$K9Drawer$0x22000000 MagicNumber:K9Drawer.kt$K9Drawer$0xffffff MagicNumber:MessageContainerView.kt$MessageContainerView$29 MagicNumber:MessageContainerView.kt$MessageContainerView$3 MagicNumber:MessageListItemAnimator.kt$MessageListItemAnimator$120 MagicNumber:MessageListItemMapper.kt$MessageListItemMapper$52 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: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 MaxLineLength:ComposeCryptoStatus.kt$ComposeCryptoStatus$OpenPgpApiManager.OpenPgpProviderState.ERROR, OpenPgpApiManager.OpenPgpProviderState.UI_REQUIRED -> CryptoStatusDisplayType.ERROR MaxLineLength:MessageViewFragment.kt$MessageViewFragment$// When the menu is hidden, the message associated with this fragment is no longer active. If the user returns MemberNameEqualsClassName:ReplyToView.kt$ReplyToView$private val replyToView: RecipientSelectView = activity.findViewById(R.id.reply_to) 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 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:ChooseFolderActivity.kt$ChooseFolderActivity$private fun decodeArguments(savedInstanceState: Bundle?): Boolean ReturnCount:EditIdentity.kt$EditIdentity$override fun onOptionsItemSelected(item: MenuItem): Boolean 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:MessageTopView.kt$MessageTopView$private fun shouldShowPicturesFromSender(showPicturesSetting: ShowPictures, message: Message): Boolean ReturnCount:MessageViewFragment.kt$MessageViewFragment$override fun onOptionsItemSelected(item: MenuItem): Boolean 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:ShareIntentBuilder.kt$ShareIntentBuilder$private fun extractBodyText(message: LocalMessage): String ReturnCount:TouchInterceptView.kt$TouchInterceptView$private fun handleOnInterceptTouchEvent(event: MotionEvent) 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:MessageContainerView.kt$MessageContainerView$e: ActivityNotFoundException SwallowedException:MessageDetailsViewModel.kt$MessageDetailsViewModel$e: Exception SwallowedException:MessageListFragment.kt$MessageListFragment$e: ClassCastException SwallowedException:MessageListFragment.kt$MessageListFragment$e: MessagingException SwallowedException:MessageViewContainerFragment.kt$MessageViewContainerFragment$e: ClassCastException SwallowedException:MessageViewFragment.kt$MessageViewFragment$e: ActivityNotFoundException SwallowedException:MessageViewFragment.kt$MessageViewFragment$e: ClassCastException SwallowedException:PushInfoFragment.kt$PushInfoFragment$e: ActivityNotFoundException SwallowedException:SettingsListFragment.kt$SettingsListFragment$e: ActivityNotFoundException 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:ContactPhotoLoader.kt$ContactPhotoLoader$e: Exception TooGenericExceptionCaught:ContactPictureLoader.kt$ContactPictureLoader$e: Exception TooGenericExceptionCaught:GeneralSettingsViewModel.kt$GeneralSettingsViewModel$e: Exception TooGenericExceptionCaught:MessageDetailsViewModel.kt$MessageDetailsViewModel$e: Exception TooGenericExceptionCaught:MessageListFragment.kt$MessageListFragment$e: Exception TooGenericExceptionCaught:MessageListLoader.kt$MessageListLoader$e: Exception TooGenericExceptionCaught:SettingsExportViewModel.kt$SettingsExportViewModel$e: Exception TooGenericExceptionCaught:SettingsImportViewModel.kt$SettingsImportViewModel$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: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: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:ChooseFolderActivity.kt$ChooseFolderActivity : K9Activity TooManyFunctions:FolderSettingsFragment.kt$FolderSettingsFragment : PreferenceFragmentCompatConfirmationDialogFragmentListener TooManyFunctions:GeneralSettingsDataStore.kt$GeneralSettingsDataStore : PreferenceDataStore TooManyFunctions:GeneralSettingsFragment.kt$GeneralSettingsFragment : PreferenceFragmentCompat TooManyFunctions:K9Drawer.kt$K9Drawer : KoinComponent TooManyFunctions:ManageFoldersFragment.kt$ManageFoldersFragment : Fragment TooManyFunctions:MessageContainerView.kt$MessageContainerView : LinearLayoutOnCreateContextMenuListenerKoinComponent TooManyFunctions:MessageDetailsFragment.kt$MessageDetailsFragment : ToolbarBottomSheetDialogFragment TooManyFunctions:MessageList.kt$MessageList : K9ActivityMessageListFragmentListenerMessageViewFragmentListenerMessageViewContainerListenerOnBackStackChangedListenerOnSwitchCompleteListenerPermissionUiHelper TooManyFunctions:MessageList.kt$MessageList$Companion : KoinComponent TooManyFunctions:MessageListAdapter.kt$MessageListAdapter : Adapter TooManyFunctions:MessageListFragment.kt$MessageListFragment : FragmentConfirmationDialogFragmentListenerMessageListItemActionListener TooManyFunctions:MessageListFragment.kt$MessageListFragment$MessageListActivityListener : SimpleMessagingListener TooManyFunctions:MessageListSwipeCallback.kt$MessageListSwipeCallback : Callback TooManyFunctions:MessageTopView.kt$MessageTopView : LinearLayoutKoinComponent TooManyFunctions:MessageViewContainerFragment.kt$MessageViewContainerFragment : Fragment TooManyFunctions:MessageViewFragment.kt$MessageViewFragment : FragmentConfirmationDialogFragmentListenerAttachmentViewCallback TooManyFunctions:RecipientMvpView.kt$RecipientMvpView : OnFocusChangeListenerOnClickListener TooManyFunctions:RecipientPresenter.kt$RecipientPresenter TooManyFunctions:ReplyToView.kt$ReplyToView TooManyFunctions:SettingsExportViewModel.kt$SettingsExportViewModel : ViewModel 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:VibrationDialogFragment.kt$VibrationDialogFragment$VibrationPatternAdapter : BaseAdapter UnusedParameter:MessageViewFragment.kt$MessageViewFragment$requestKey: String UseCheckOrError:ThemeExtensions.kt$throw IllegalStateException("Couldn't resolve attribute ($attrId)")