ComplexCondition:MainActivity.kt$MainActivity$config.showNotePicker && savedInstanceState == null && hasNoIntent && !mIsPasswordProtectionPending ComplexCondition:MainActivity.kt$MainActivity$requestCode == PICK_EXPORT_FILE_INTENT && resultCode == Activity.RESULT_OK && resultData != null && resultData.data != null && mNotes.isNotEmpty() ComplexCondition:MainActivity.kt$MainActivity$requestCode == PICK_OPEN_FILE_INTENT && resultCode == RESULT_OK && resultData != null && resultData.data != null ComplexCondition:TextFragment.kt$TextFragment$config.showKeyboard && isMenuVisible && (!note!!.isLocked() || shouldShowLockedContent) CyclomaticComplexMethod:MainActivity.kt$MainActivity$private fun refreshMenuItems() CyclomaticComplexMethod:MainActivity.kt$MainActivity$private fun setupOptionsMenu() CyclomaticComplexMethod:TextFragment.kt$TextFragment$@SuppressLint("ClickableViewAccessibility") private fun setupFragment() EmptyCatchBlock:String.kt${ } EmptyFunctionBlock:OpenNoteAdapter.kt$OpenNoteAdapter${} EmptyFunctionBlock:TasksAdapter.kt$TasksAdapter${} EmptyFunctionBlock:WidgetAdapter.kt$WidgetAdapter${} LargeClass:MainActivity.kt$MainActivity : SimpleActivity LongMethod:Context.kt$fun Context.backupNotes() MagicNumber:AutomaticBackupReceiver.kt$AutomaticBackupReceiver$3000 MagicNumber:Config.kt$Config$100 MagicNumber:Constants.kt$6 MagicNumber:Context.kt$100f MagicNumber:ImportFolderDialog.kt$ImportFolderDialog$1000 MagicNumber:MainActivity.kt$MainActivity$0.4f MagicNumber:MainActivity.kt$MainActivity$1000 MagicNumber:MainActivity.kt$MainActivity$127 MagicNumber:MainActivity.kt$MainActivity$250 MagicNumber:MainActivity.kt$MainActivity$255 MagicNumber:MainActivity.kt$MainActivity$50 MagicNumber:NotesDatabase.kt$NotesDatabase.Companion.<no name provided>$3 MagicNumber:NotesDatabase.kt$NotesDatabase.Companion.<no name provided>$4 MagicNumber:NotesHelper.kt$NotesHelper$200 MagicNumber:Task.kt$CompletedTasks$42 MagicNumber:TextFragment.kt$TextFragment$.4f MagicNumber:WidgetConfigureActivity.kt$WidgetConfigureActivity$100 MagicNumber:WidgetConfigureActivity.kt$WidgetConfigureActivity$100f MagicNumber:WidgetConfigureActivity.kt$WidgetConfigureActivity$3 MagicNumber:WidgetConfigureActivity.kt$WidgetConfigureActivity$4 MaxLineLength:Config.kt$Config$set(addNewCheckListItemsTop) = prefs.edit().putBoolean(ADD_NEW_CHECKLIST_ITEMS_TOP, addNewCheckListItemsTop).apply() MaxLineLength:Constants.kt$const val MOVE_DONE_CHECKLIST_ITEMS = "move_undone_checklist_items" // it has been replaced from moving undone items at the top to moving done to bottom MaxLineLength:Context.kt$AlarmManagerCompat.setExactAndAllowWhileIdle(alarmManager, AlarmManager.RTC_WAKEUP, backupAtMillis, pendingIntent) MaxLineLength:Context.kt$applicationContext.contentResolver.openOutputStream(exportFileUri, "wt") ?: FileOutputStream(exportFile) MaxLineLength:Context.kt$fun Context.getPercentageFontSize() MaxLineLength:Context.kt$return PendingIntent.getBroadcast(this, AUTOMATIC_BACKUP_REQUEST_CODE, intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) MaxLineLength:Context.kt$val widgetIDs = AppWidgetManager.getInstance(applicationContext)?.getAppWidgetIds(ComponentName(applicationContext, MyWidgetProvider::class.java)) ?: return MaxLineLength:DeleteNoteDialog.kt$DeleteNoteDialog$. MaxLineLength:ExportFilesDialog.kt$ExportFilesDialog$class MaxLineLength:ExportNotesDialog.kt$ExportNotesDialog$activity.getAlertDialogBuilder().setPositiveButton(org.fossify.commons.R.string.ok, null).setNegativeButton(org.fossify.commons.R.string.cancel, null) MaxLineLength:ImportFolderDialog.kt$ImportFolderDialog$class MaxLineLength:MainActivity.kt$MainActivity$!config.autosaveNotes && showSaveButton && (::mCurrentNote.isInitialized && mCurrentNote.type == NoteType.TYPE_TEXT) MaxLineLength:MainActivity.kt$MainActivity$(drawable as LayerDrawable).findDrawableByLayerId(R.id.shortcut_plus_background).applyColorFilter(appIconColor) MaxLineLength:MainActivity.kt$MainActivity$// if we got here by some other app invoking the file open intent, we have no permission for updating the original file itself MaxLineLength:MainActivity.kt$MainActivity$ConfirmationDialog MaxLineLength:MainActivity.kt$MainActivity$Note(null, title.substringBeforeLast('.'), fileText, NoteType.TYPE_CHECKLIST, "", PROTECTION_NONE, "") MaxLineLength:MainActivity.kt$MainActivity$displayNewNoteDialog(note.value, title = it.title, it.path, setChecklistAsDefault = true) MaxLineLength:MainActivity.kt$MainActivity$faqItems.add(FAQItem(org.fossify.commons.R.string.faq_10_title_commons, org.fossify.commons.R.string.faq_10_text_commons)) MaxLineLength:MainActivity.kt$MainActivity$faqItems.add(FAQItem(org.fossify.commons.R.string.faq_2_title_commons, org.fossify.commons.R.string.faq_2_text_commons)) MaxLineLength:MainActivity.kt$MainActivity$faqItems.add(FAQItem(org.fossify.commons.R.string.faq_6_title_commons, org.fossify.commons.R.string.faq_6_text_commons)) MaxLineLength:MainActivity.kt$MainActivity$faqItems.add(FAQItem(org.fossify.commons.R.string.faq_7_title_commons, org.fossify.commons.R.string.faq_7_text_commons)) MaxLineLength:MainActivity.kt$MainActivity$findItem(R.id.lock_note).isVisible = mNotes.isNotEmpty() && (::mCurrentNote.isInitialized && !mCurrentNote.isLocked()) MaxLineLength:MainActivity.kt$MainActivity$findItem(R.id.more_apps_from_us).isVisible = !resources.getBoolean(org.fossify.commons.R.bool.hide_google_relations) MaxLineLength:MainActivity.kt$MainActivity$findItem(R.id.unlock_note).isVisible = mNotes.isNotEmpty() && (::mCurrentNote.isInitialized && mCurrentNote.isLocked()) MaxLineLength:MainActivity.kt$MainActivity$fun MaxLineLength:MainActivity.kt$MainActivity$getPagerAdapter().updateCurrentNoteData(binding.viewPager.currentItem, mCurrentNote.path, mCurrentNote.value) MaxLineLength:MainActivity.kt$MainActivity$if MaxLineLength:MainActivity.kt$MainActivity$intent.flags = intent.flags or Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NO_HISTORY MaxLineLength:MainActivity.kt$MainActivity$private MaxLineLength:MainActivity.kt$MainActivity$private fun isCurrentItemChecklist() MaxLineLength:MainActivity.kt$MainActivity$updateMaterialActivityViews(binding.mainCoordinator, null, useTransparentNavigation = false, useTopSearchMenu = false) MaxLineLength:MainActivity.kt$MainActivity$val newChecklist = Note(null, getCurrentFormattedDateTime(), "", NoteType.TYPE_CHECKLIST, "", PROTECTION_NONE, "") MaxLineLength:MainActivity.kt$MainActivity$val newTextNote = Note(null, getCurrentFormattedDateTime(), "", NoteType.TYPE_TEXT, "", PROTECTION_NONE, "") MaxLineLength:MainActivity.kt$MainActivity$} MaxLineLength:MyWidgetProvider.kt$MyWidgetProvider$PendingIntent.getActivity(context, widgetId, startActivityIntent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) MaxLineLength:MyWidgetProvider.kt$MyWidgetProvider$val pendingIntent = PendingIntent.getActivity(context, widget.widgetId, intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) MaxLineLength:NewChecklistItemDialog.kt$NewChecklistItemDialog$if MaxLineLength:NewChecklistItemDialog.kt$NewChecklistItemDialog$titles.all { it.text!!.isEmpty() } -> activity.toast(org.fossify.commons.R.string.empty_name) MaxLineLength:NewChecklistItemDialog.kt$NewChecklistItemDialog$val titles = titles.map { it.text.toString() }.filter { it.isNotEmpty() }.toMutableList() as ArrayList<String> MaxLineLength:NewNoteDialog.kt$NewNoteDialog$activity.notesDB.getNoteIdWithTitle(newTitle) != null -> activity.toast(R.string.title_taken) MaxLineLength:NewNoteDialog.kt$NewNoteDialog$class MaxLineLength:NewNoteDialog.kt$NewNoteDialog$val MaxLineLength:NotesDatabase.kt$NotesDatabase.Companion.<no name provided>$execSQL("ALTER TABLE widgets ADD COLUMN widget_bg_color INTEGER NOT NULL DEFAULT $defaultWidgetBgColor") MaxLineLength:NotesDatabase.kt$NotesDatabase.Companion.<no name provided>$execSQL("ALTER TABLE widgets ADD COLUMN widget_text_color INTEGER NOT NULL DEFAULT $DEFAULT_WIDGET_TEXT_COLOR") MaxLineLength:NotesPagerAdapter.kt$NotesPagerAdapter$class MaxLineLength:OpenFileDialog.kt$OpenFileDialog$class MaxLineLength:OpenFileDialog.kt$OpenFileDialog$val updateFileOnEdit = binding.openFileType.checkedRadioButtonId == binding.openFileUpdateFile.id MaxLineLength:OpenNoteAdapter.kt$OpenNoteAdapter$iconLock.setImageDrawable(activity.resources.getColoredDrawableWithColor(org.fossify.commons.R.drawable.ic_lock_vector, properPrimaryColor)) MaxLineLength:OpenNoteDialog.kt$OpenNoteDialog$binding.dialogOpenNoteList.layoutManager = AutoStaggeredGridLayoutManager(noteItemWidth, StaggeredGridLayoutManager.VERTICAL) MaxLineLength:RenameNoteDialog.kt$RenameNoteDialog$class MaxLineLength:SettingsActivity.kt$SettingsActivity$NotesHelper.ImportResult.IMPORT_PARTIAL -> toast(org.fossify.commons.R.string.importing_some_entries_failed) MaxLineLength:SettingsActivity.kt$SettingsActivity$binding.settingsUseEnglishHolder.beVisibleIf((config.wasUseEnglishToggled || Locale.getDefault().language != "en") && !isTiramisuPlus()) MaxLineLength:SettingsActivity.kt$SettingsActivity$org.fossify.commons.R.string.fingerprint_setup_successfully MaxLineLength:SettingsActivity.kt$SettingsActivity$updateMaterialActivityViews(binding.settingsCoordinator, binding.settingsHolder, useTransparentNavigation = true, useTopSearchMenu = false) MaxLineLength:SettingsActivity.kt$SettingsActivity$val items = listOf(GRAVITY_START, GRAVITY_CENTER, GRAVITY_END).map { RadioItem(it, getGravityOptionLabel(it)) } MaxLineLength:SettingsActivity.kt$SettingsActivity$val leftToRightDirection = TextUtilsCompat.getLayoutDirectionFromLocale(Locale.getDefault()) == ViewCompat.LAYOUT_DIRECTION_LTR MaxLineLength:TasksAdapter.kt$TasksAdapter$menu.findItem(R.id.cab_move_to_bottom).isVisible = selectedItems.none { it.isDone } || !activity.config.moveDoneChecklistItems MaxLineLength:TasksAdapter.kt$TasksAdapter$menu.findItem(R.id.cab_move_to_top).isVisible = selectedItems.none { it.isDone } || !activity.config.moveDoneChecklistItems MaxLineLength:TasksAdapter.kt$TasksAdapter$private fun getSelectedItems() MaxLineLength:TasksAdapter.kt$TasksAdapter$text = resources.getQuantityString(R.plurals.num_checked_items, completedTasks.tasks.size, completedTasks.tasks.size) MaxLineLength:TasksFragment.kt$TasksFragment$note.getNoteStoredValue(requireActivity())?.split("\n")?.map { it.trim() }?.filter { it.isNotBlank() } MaxLineLength:TasksFragment.kt$TasksFragment$tasks = Gson().fromJson<ArrayList<Task>>(storedNote.getNoteStoredValue(requireActivity()), taskType) ?: ArrayList(1) MaxLineLength:TextFragment.kt$TextFragment$val inputManager = requireActivity().getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager MaxLineLength:UnlockNotesDialog.kt$UnlockNotesDialog$activity MaxLineLength:UnlockNotesDialog.kt$UnlockNotesDialog$class MaxLineLength:WidgetAdapter.kt$WidgetAdapter$// checklist title can be null only because of the glitch in upgrade to 6.6.0, remove this check in the future MaxLineLength:WidgetAdapter.kt$WidgetAdapter$tasks = note!!.getNoteStoredValue(context)?.ifEmpty { "[]" }?.let { Json.decodeFromString(it) } ?: mutableListOf() MaxLineLength:WidgetAdapter.kt$WidgetAdapter$val paintFlags = if (checklistItem.isDone) Paint.STRIKE_THRU_TEXT_FLAG or Paint.ANTI_ALIAS_FLAG else Paint.ANTI_ALIAS_FLAG MaxLineLength:WidgetAdapter.kt$WidgetAdapter$val widgetNewTextColor = if (checklistItem.isDone) widgetTextColor.adjustAlpha(DONE_CHECKLIST_ITEM_ALPHA) else widgetTextColor MaxLineLength:WidgetConfigureActivity.kt$WidgetConfigureActivity$if MaxLineLength:WidgetConfigureActivity.kt$WidgetConfigureActivity$val id = if (extras?.containsKey(CUSTOMIZED_WIDGET_KEY_ID) == true) extras.getLong(CUSTOMIZED_WIDGET_KEY_ID) else null MaxLineLength:WidgetConfigureActivity.kt$WidgetConfigureActivity$val sampleValue = if (note.value.isEmpty() || mIsCustomizingColors) getString(R.string.widget_config) else note.value NestedBlockDepth:MainActivity.kt$MainActivity$private fun checkIntents(intent: Intent) NestedBlockDepth:Note.kt$Note$fun getNoteStoredValue(context: Context): String? NestedBlockDepth:OpenNoteAdapter.kt$OpenNoteAdapter$private fun Note.getFormattedValue(context: Context): CharSequence? NestedBlockDepth:TasksFragment.kt$TasksFragment$private fun prepareTaskItems(): List<NoteItem> ReturnCount:TasksFragment.kt$TasksFragment$private fun saveNote(callback: () -> Unit = {}) ReturnCount:TextFragment.kt$TextFragment$fun saveText(force: Boolean, callback: ((note: Note) -> Unit)? = null) SwallowedException:MainActivity.kt$MainActivity$e: ActivityNotFoundException SwallowedException:MainActivity.kt$MainActivity$e: Exception SwallowedException:MainActivity.kt$MainActivity$e: NetworkErrorException SwallowedException:Note.kt$Note$e: Exception SwallowedException:String.kt$e: Exception SwallowedException:TasksFragment.kt$TasksFragment$e: Exception TooGenericExceptionCaught:Context.kt$e: Exception TooGenericExceptionCaught:MainActivity.kt$MainActivity$e: Exception TooGenericExceptionCaught:Note.kt$Note$e: Exception TooGenericExceptionCaught:NotesPagerAdapter.kt$NotesPagerAdapter$e: Exception TooGenericExceptionCaught:SettingsActivity.kt$SettingsActivity$e: Exception TooGenericExceptionCaught:String.kt$e: Exception TooGenericExceptionCaught:TasksFragment.kt$TasksFragment$e: Exception TooGenericExceptionCaught:TextFragment.kt$TextFragment$e: Exception TooManyFunctions:MainActivity.kt$MainActivity : SimpleActivity TooManyFunctions:NotesPagerAdapter.kt$NotesPagerAdapter : FragmentStatePagerAdapter TooManyFunctions:OpenNoteAdapter.kt$OpenNoteAdapter : MyRecyclerViewAdapter TooManyFunctions:SettingsActivity.kt$SettingsActivity : SimpleActivity TooManyFunctions:TasksAdapter.kt$TasksAdapter : MyRecyclerViewListAdapterItemTouchHelperContract TooManyFunctions:TasksFragment.kt$TasksFragment : NoteFragmentTasksActionListener TooManyFunctions:TextFragment.kt$TextFragment : NoteFragment TooManyFunctions:WidgetAdapter.kt$WidgetAdapter : RemoteViewsFactory TooManyFunctions:WidgetConfigureActivity.kt$WidgetConfigureActivity : SimpleActivity VariableNaming:MainActivity.kt$MainActivity$private val EXPORT_FILE_NO_SYNC = 2 VariableNaming:MainActivity.kt$MainActivity$private val EXPORT_FILE_SYNC = 1 VariableNaming:MainActivity.kt$MainActivity$private val IMPORT_FILE_NO_SYNC = 2 VariableNaming:MainActivity.kt$MainActivity$private val IMPORT_FILE_SYNC = 1 VariableNaming:MainActivity.kt$MainActivity$private val PICK_EXPORT_FILE_INTENT = 2 VariableNaming:MainActivity.kt$MainActivity$private val PICK_OPEN_FILE_INTENT = 1 VariableNaming:TextFragment.kt$TextFragment$private val TEXT = "text" WildcardImport:Context.kt$import org.fossify.commons.extensions.* WildcardImport:Context.kt$import org.fossify.notes.helpers.* WildcardImport:EditTaskDialog.kt$import org.fossify.commons.extensions.* WildcardImport:ExportFileDialog.kt$import org.fossify.commons.extensions.* WildcardImport:ExportFilesDialog.kt$import org.fossify.commons.extensions.* WildcardImport:ExportNotesDialog.kt$import org.fossify.commons.extensions.* WildcardImport:ImportFolderDialog.kt$import org.fossify.commons.extensions.* WildcardImport:MainActivity.kt$import org.fossify.commons.dialogs.* WildcardImport:MainActivity.kt$import org.fossify.commons.extensions.* WildcardImport:MainActivity.kt$import org.fossify.commons.helpers.* WildcardImport:MainActivity.kt$import org.fossify.notes.dialogs.* WildcardImport:MainActivity.kt$import org.fossify.notes.extensions.* WildcardImport:MainActivity.kt$import org.fossify.notes.helpers.* WildcardImport:ManageAutoBackupsDialog.kt$import org.fossify.commons.extensions.* WildcardImport:NewChecklistItemDialog.kt$import org.fossify.commons.extensions.* WildcardImport:NewNoteDialog.kt$import org.fossify.commons.extensions.* WildcardImport:Note.kt$import androidx.room.* WildcardImport:NoteFragment.kt$import org.fossify.commons.extensions.* WildcardImport:NotesDao.kt$import androidx.room.* WildcardImport:OpenNoteAdapter.kt$import org.fossify.commons.extensions.* WildcardImport:RenameNoteDialog.kt$import org.fossify.commons.extensions.* WildcardImport:SettingsActivity.kt$import org.fossify.commons.extensions.* WildcardImport:SettingsActivity.kt$import org.fossify.commons.helpers.* WildcardImport:SettingsActivity.kt$import org.fossify.notes.extensions.* WildcardImport:SettingsActivity.kt$import org.fossify.notes.helpers.* WildcardImport:TasksFragment.kt$import org.fossify.commons.extensions.* WildcardImport:TextFragment.kt$import org.fossify.commons.extensions.* WildcardImport:UnlockNotesDialog.kt$import org.fossify.commons.extensions.* WildcardImport:WidgetAdapter.kt$import org.fossify.notes.helpers.* WildcardImport:WidgetConfigureActivity.kt$import org.fossify.commons.extensions.* WildcardImport:WidgetConfigureActivity.kt$import org.fossify.notes.helpers.*