From d59aa00379359215515efc6faa7853b9b73abd1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ensar=20Saraj=C4=8Di=C4=87?= Date: Sat, 28 Sep 2024 12:59:33 +0200 Subject: [PATCH] Add reusable workflows for PRs and testing builds --- .github/workflows/pr.yml | 9 + .github/workflows/testing-build.yml | 10 + app/build.gradle.kts | 9 +- app/detekt-baseline.xml | 821 ++++ app/lint-baseline.xml | 5385 +++++++++++++++++++++++++++ build.gradle.kts | 1 + gradle/libs.versions.toml | 4 +- 7 files changed, 6237 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/pr.yml create mode 100644 .github/workflows/testing-build.yml create mode 100644 app/detekt-baseline.xml create mode 100644 app/lint-baseline.xml diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml new file mode 100644 index 000000000..36adc78e0 --- /dev/null +++ b/.github/workflows/pr.yml @@ -0,0 +1,9 @@ +name: PR + +on: + pull_request: + branches: [ master ] + +jobs: + call-pr-workflow: + uses: FossifyOrg/.github/.github/workflows/pr.yml@main diff --git a/.github/workflows/testing-build.yml b/.github/workflows/testing-build.yml new file mode 100644 index 000000000..33379f925 --- /dev/null +++ b/.github/workflows/testing-build.yml @@ -0,0 +1,10 @@ +name: Testing build (on PR) + +on: + pull_request: + branches: [ master ] + types: [ labeled, opened, synchronize, reopened ] + +jobs: + call-testing-build-workflow: + uses: FossifyOrg/.github/.github/workflows/testing-build.yml@main diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 2e668aaca..c08a006a9 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -7,6 +7,7 @@ plugins { alias(libs.plugins.android) alias(libs.plugins.kotlinAndroid) alias(libs.plugins.ksp) + alias(libs.plugins.detekt) } val keystorePropertiesFile: File = rootProject.file("keystore.properties") @@ -93,10 +94,16 @@ android { lint { checkReleaseBuilds = false - abortOnError = false + abortOnError = true + warningsAsErrors = true + baseline = file("lint-baseline.xml") } } +detekt { + baseline = file("detekt-baseline.xml") +} + dependencies { implementation(libs.fossify.commons) implementation(libs.androidx.multidex) diff --git a/app/detekt-baseline.xml b/app/detekt-baseline.xml new file mode 100644 index 000000000..17953a012 --- /dev/null +++ b/app/detekt-baseline.xml @@ -0,0 +1,821 @@ + + + + + ComplexCondition:EventActivity.kt$EventActivity$config.wasAlarmWarningShown || (mReminder1Minutes == REMINDER_OFF && mReminder2Minutes == REMINDER_OFF && mReminder3Minutes == REMINDER_OFF) + ComplexCondition:EventActivity.kt$EventActivity$day == MONDAY_BIT || day == TUESDAY_BIT || day == WEDNESDAY_BIT || day == THURSDAY_BIT || day == FRIDAY_BIT || day == SATURDAY_BIT || day == SUNDAY_BIT + ComplexCondition:EventListWidgetAdapter.kt$EventListWidgetAdapter$item.isTask && item.isTaskCompleted && dimCompletedTasks || dimPastEvents && item.isPastEvent + ComplexCondition:EventsHelper.kt$EventsHelper$addToCalDAV && config.caldavSync && event.source != SOURCE_SIMPLE_CALENDAR && event.source != SOURCE_IMPORTED_ICS + ComplexCondition:EventsHelper.kt$EventsHelper$addToCalDAV && event.source != SOURCE_SIMPLE_CALENDAR && event.source != SOURCE_IMPORTED_ICS && config.caldavSync + ComplexCondition:EventsHelper.kt$EventsHelper$originalEvent != null && (birthDayEventId != -1L && it.eventType == birthDayEventId) or (anniversaryEventId != -1L && it.eventType == anniversaryEventId) + ComplexCondition:MainActivity.kt$MainActivity$mStoredFirstDayOfWeek != config.firstDayOfWeek || mStoredUse24HourFormat != config.use24HourFormat || mStoredMidnightSpan != config.showMidnightSpanningEventsAtTop || mStoredStartWeekWithCurrentDay != config.startWeekWithCurrentDay + ComplexCondition:MainActivity.kt$MainActivity$mStoredTextColor != getProperTextColor() || mStoredBackgroundColor != getProperBackgroundColor() || mStoredPrimaryColor != getProperPrimaryColor() || mStoredDayCode != Formatter.getTodayCode() || mStoredDimPastEvents != config.dimPastEvents || mStoredDimCompletedTasks != config.dimCompletedTasks || mStoredHighlightWeekends != config.highlightWeekends || mStoredHighlightWeekendsColor != config.highlightWeekendsColor + ComplexCondition:MonthView.kt$MonthView$isMonthDayView && !isDaySelected && !day.isToday && day.dayEvents.isNotEmpty() + ComplexCondition:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$it.isTask() && it.isTaskCompleted() && dimCompletedTasks || !day.isThisMonth || (dimPastEvents && it.isPastEvent) + ComplexCondition:SettingsActivity.kt$SettingsActivity$requestCode == PICK_EVENTS_EXPORT_FILE_INTENT && resultCode == Activity.RESULT_OK && resultData != null && resultData.data != null + ComplexCondition:SettingsActivity.kt$SettingsActivity$requestCode == PICK_EVENTS_IMPORT_SOURCE_INTENT && resultCode == Activity.RESULT_OK && resultData != null && resultData.data != null + ComplexCondition:SettingsActivity.kt$SettingsActivity$requestCode == PICK_SETTINGS_IMPORT_SOURCE_INTENT && resultCode == Activity.RESULT_OK && resultData != null && resultData.data != null + ComplexCondition:TaskActivity.kt$TaskActivity$config.wasAlarmWarningShown || (mReminder1Minutes == REMINDER_OFF && mReminder2Minutes == REMINDER_OFF && mReminder3Minutes == REMINDER_OFF) + ComplexCondition:TaskActivity.kt$TaskActivity$day == MONDAY_BIT || day == TUESDAY_BIT || day == WEDNESDAY_BIT || day == THURSDAY_BIT || day == FRIDAY_BIT || day == SATURDAY_BIT || day == SUNDAY_BIT + ComplexCondition:WeekFragment.kt$WeekFragment$doesEventFit && (!isRepeatingOverlappingEvent || isAllDayEvent || isRowValidForEvent) + ConstructorParameterNaming:Task.kt$Task$@ColumnInfo(name = "task_id") var task_id: Long + CyclomaticComplexMethod:CalDAVHelper.kt$CalDAVHelper$@SuppressLint("MissingPermission") private fun fetchCalDAVCalendarEvents(calendar: CalDAVCalendar, eventTypeId: Long, showToasts: Boolean) + CyclomaticComplexMethod:Context.kt$@SuppressLint("NewApi") fun Context.getNotification(pendingIntent: PendingIntent, event: Event, content: String, publicVersion: Boolean = false): Notification? + CyclomaticComplexMethod:Context.kt$fun Context.notifyEvent(originalEvent: Event) + CyclomaticComplexMethod:DayEventsAdapter.kt$DayEventsAdapter$private fun setupView(view: View, event: Event) + CyclomaticComplexMethod:EventActivity.kt$EventActivity$private fun getOrderString(repeatRule: Int): String + CyclomaticComplexMethod:EventActivity.kt$EventActivity$private fun gotEvent(savedInstanceState: Bundle?, localEventType: EventType?, event: Event?) + CyclomaticComplexMethod:EventActivity.kt$EventActivity$private fun isEventChanged(): Boolean + CyclomaticComplexMethod:EventActivity.kt$EventActivity$private fun saveEvent() + CyclomaticComplexMethod:EventListAdapter.kt$EventListAdapter$private fun setupListEvent(view: View, listEvent: ListEvent) + CyclomaticComplexMethod:EventListWidgetAdapter.kt$EventListWidgetAdapter$private fun setupListEvent(remoteView: RemoteViews, item: ListEvent) + CyclomaticComplexMethod:EventsHelper.kt$EventsHelper$fun getEventsSync( fromTS: Long, toTS: Long, eventId: Long = -1L, applyTypeFilter: Boolean, searchQuery: String = "", callback: (events: ArrayList<Event>) -> Unit ) + CyclomaticComplexMethod:EventsHelper.kt$EventsHelper$private fun getEventsRepeatingTillDateOrForever(fromTS: Long, toTS: Long, startTimes: LongSparseArray<Long>, event: Event): ArrayList<Event> + CyclomaticComplexMethod:IcsImporter.kt$IcsImporter$fun importEvents( path: String, defaultEventTypeId: Long, calDAVCalendarId: Int, overrideFileEventTypes: Boolean, eventReminders: ArrayList<Int>? = null, ): ImportResult + CyclomaticComplexMethod:MainActivity.kt$MainActivity$override fun onResume() + CyclomaticComplexMethod:MainActivity.kt$MainActivity$private fun addContactEvents(birthdays: Boolean, reminders: ArrayList<Int>, initEventsFound: Int, initEventsAdded: Int, callback: (Int) -> Unit) + CyclomaticComplexMethod:MainActivity.kt$MainActivity$private fun addPrivateEvents( birthdays: Boolean, contacts: ArrayList<SimpleContact>, reminders: ArrayList<Int>, callback: (eventsFound: Int, eventsAdded: Int) -> Unit ) + CyclomaticComplexMethod:MainActivity.kt$MainActivity$private fun setupOptionsMenu() + CyclomaticComplexMethod:MonthView.kt$MonthView$override fun onDraw(canvas: Canvas) + CyclomaticComplexMethod:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$private fun updateDays(context: Context, views: RemoteViews, days: List<DayMonthly>) + CyclomaticComplexMethod:Parser.kt$Parser$fun parseRepeatInterval(fullString: String, startTS: Long): EventRepetition + CyclomaticComplexMethod:SettingsActivity.kt$SettingsActivity$override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?) + CyclomaticComplexMethod:SettingsActivity.kt$SettingsActivity$private fun parseFile(inputStream: InputStream?) + CyclomaticComplexMethod:TaskActivity.kt$TaskActivity$private fun getOrderString(repeatRule: Int): String + CyclomaticComplexMethod:TaskActivity.kt$TaskActivity$private fun gotTask(savedInstanceState: Bundle?, localEventType: EventType?, task: Event?) + CyclomaticComplexMethod:TaskActivity.kt$TaskActivity$private fun saveTask() + CyclomaticComplexMethod:WeekFragment.kt$WeekFragment$@SuppressLint("NewApi") private fun addAllDayEvent(event: Event) + CyclomaticComplexMethod:WeekFragment.kt$WeekFragment$private fun addEvents(events: ArrayList<Event>) + EmptyCatchBlock:CalDAVHelper.kt$CalDAVHelper${ } + EmptyCatchBlock:EventsHelper.kt$EventsHelper${ } + EmptyCatchBlock:MainActivity.kt$MainActivity${ } + EmptyFunctionBlock:DayEventsAdapter.kt$DayEventsAdapter${} + EmptyFunctionBlock:DayFragmentsHolder.kt$DayFragmentsHolder.<no name provided>${ } + EmptyFunctionBlock:EventListAdapter.kt$EventListAdapter${} + EmptyFunctionBlock:EventListFragment.kt$EventListFragment${} + EmptyFunctionBlock:EventListWidgetAdapter.kt$EventListWidgetAdapter${} + EmptyFunctionBlock:EventListWidgetAdapterEmpty.kt$EventListWidgetAdapterEmpty${} + EmptyFunctionBlock:ManageEventTypesAdapter.kt$ManageEventTypesAdapter${} + EmptyFunctionBlock:MonthDayFragment.kt$MonthDayFragment${} + EmptyFunctionBlock:MonthDayFragmentsHolder.kt$MonthDayFragmentsHolder${} + EmptyFunctionBlock:MonthDayFragmentsHolder.kt$MonthDayFragmentsHolder.<no name provided>${} + EmptyFunctionBlock:MonthFragmentsHolder.kt$MonthFragmentsHolder.<no name provided>${ } + EmptyFunctionBlock:WeekFragmentsHolder.kt$WeekFragmentsHolder.<no name provided>${} + EmptyFunctionBlock:YearFragmentsHolder.kt$YearFragmentsHolder${} + EmptyFunctionBlock:YearFragmentsHolder.kt$YearFragmentsHolder.<no name provided>${} + ExplicitItLambdaParameter:DayEventsAdapter.kt$DayEventsAdapter${ it -> events.removeAll(eventsToDelete) ensureBackgroundThread { val nonRepeatingEventIDs = eventsToDelete.asSequence().filter { it.repeatInterval == 0 }.mapNotNull { it.id }.toMutableList() activity.eventsHelper.deleteEvents(nonRepeatingEventIDs, true) val repeatingEventIDs = eventsToDelete.asSequence().filter { it.repeatInterval != 0 }.mapNotNull { it.id }.toList() activity.handleEventDeleting(repeatingEventIDs, timestamps, it) activity.runOnUiThread { removeSelectedItems(positions) } } } + ExplicitItLambdaParameter:YearFragment.kt$YearFragment${ index, it -> it.monthLabel.text = getString(monthResIds[index]) } + ForEachOnRange:WeekFragment.kt$WeekFragment$0 until config.weeklyViewDays + ImplicitDefaultLocale:SettingsActivity.kt$SettingsActivity$String.format("%02d:00", hours) + LargeClass:EventActivity.kt$EventActivity : SimpleActivity + LargeClass:MainActivity.kt$MainActivity : SimpleActivityRefreshRecyclerViewListener + LargeClass:SettingsActivity.kt$SettingsActivity : SimpleActivity + LargeClass:TaskActivity.kt$TaskActivity : SimpleActivity + LargeClass:WeekFragment.kt$WeekFragment : FragmentWeeklyCalendar + LongMethod:CalDAVHelper.kt$CalDAVHelper$@SuppressLint("MissingPermission") private fun fetchCalDAVCalendarEvents(calendar: CalDAVCalendar, eventTypeId: Long, showToasts: Boolean) + LongMethod:Context.kt$@SuppressLint("NewApi") fun Context.getNotification(pendingIntent: PendingIntent, event: Event, content: String, publicVersion: Boolean = false): Notification? + LongMethod:Context.kt$fun Context.backupEventsAndTasks() + LongMethod:EventActivity.kt$EventActivity$private fun gotEvent(savedInstanceState: Bundle?, localEventType: EventType?, event: Event?) + LongMethod:EventActivity.kt$EventActivity$private fun saveEvent() + LongMethod:EventListWidgetAdapter.kt$EventListWidgetAdapter$override fun onDataSetChanged() + LongMethod:EventsHelper.kt$EventsHelper$fun getEventsSync( fromTS: Long, toTS: Long, eventId: Long = -1L, applyTypeFilter: Boolean, searchQuery: String = "", callback: (events: ArrayList<Event>) -> Unit ) + LongMethod:IcsImporter.kt$IcsImporter$fun importEvents( path: String, defaultEventTypeId: Long, calDAVCalendarId: Int, overrideFileEventTypes: Boolean, eventReminders: ArrayList<Int>? = null, ): ImportResult + LongMethod:MainActivity.kt$MainActivity$private fun addContactEvents(birthdays: Boolean, reminders: ArrayList<Int>, initEventsFound: Int, initEventsAdded: Int, callback: (Int) -> Unit) + LongMethod:MainActivity.kt$MainActivity$private fun addPrivateEvents( birthdays: Boolean, contacts: ArrayList<SimpleContact>, reminders: ArrayList<Int>, callback: (eventsFound: Int, eventsAdded: Int) -> Unit ) + LongMethod:MainActivity.kt$MainActivity$private fun getHolidayRadioItems(): ArrayList<RadioItem> + LongMethod:MonthView.kt$MonthView$override fun onDraw(canvas: Canvas) + LongMethod:MyTimeZones.kt$fun getAllTimeZones() + LongMethod:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$private fun updateDays(context: Context, views: RemoteViews, days: List<DayMonthly>) + LongMethod:SettingsActivity.kt$SettingsActivity$private fun parseFile(inputStream: InputStream?) + LongMethod:SettingsActivity.kt$SettingsActivity$private fun setupSettingItems() + LongMethod:TaskActivity.kt$TaskActivity$private fun gotTask(savedInstanceState: Bundle?, localEventType: EventType?, task: Event?) + LongMethod:TaskActivity.kt$TaskActivity$private fun saveTask() + LongMethod:WeekFragment.kt$WeekFragment$@SuppressLint("NewApi") private fun addAllDayEvent(event: Event) + LongMethod:WeekFragment.kt$WeekFragment$private fun addEvents(events: ArrayList<Event>) + LongMethod:WeekFragment.kt$WeekFragment$private fun initGrid() + LongMethod:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$private fun getListItems(): ArrayList<ListItem> + LongParameterList:Context.kt$( uri: Uri, projection: Array<String>, selection: String? = null, selectionArgs: Array<String>? = null, sortOrder: String? = null, showErrors: Boolean = false, callback: (cursor: Cursor) -> Unit ) + LongParameterList:EventsHelper.kt$EventsHelper$( fromTS: Long, toTS: Long, eventId: Long = -1L, applyTypeFilter: Boolean = true, searchQuery: String = "", callback: (events: ArrayList<Event>) -> Unit ) + LongParameterList:EventsHelper.kt$EventsHelper$( fromTS: Long, toTS: Long, eventId: Long = -1L, applyTypeFilter: Boolean, searchQuery: String = "", callback: (events: ArrayList<Event>) -> Unit ) + LongParameterList:MonthView.kt$MonthView$(event: MonthViewEvent, canvas: Canvas, x: Float, y: Float, availableWidth: Float, paint: Paint) + LongParameterList:SelectEventTypeDialog.kt$SelectEventTypeDialog$( val activity: Activity, val currEventType: Long, val showCalDAVCalendars: Boolean, val showNewEventTypeOption: Boolean, val addLastUsedOneAsFirstOption: Boolean, val showOnlyWritable: Boolean, var showManageEventTypes: Boolean, val callback: (eventType: EventType) -> Unit ) + LoopWithTooManyJumpStatements:IcsImporter.kt$IcsImporter$while + LoopWithTooManyJumpStatements:ManageEventTypesAdapter.kt$ManageEventTypesAdapter$for + LoopWithTooManyJumpStatements:WeekFragment.kt$WeekFragment$do + MagicNumber:AutomaticBackupReceiver.kt$AutomaticBackupReceiver$3000 + MagicNumber:CalDAVCalendar.kt$CalDAVCalendar$500 + MagicNumber:CalDAVHelper.kt$CalDAVHelper$1000L + MagicNumber:CalDAVHelper.kt$CalDAVHelper$3 + MagicNumber:CalDAVHelper.kt$CalDAVHelper$60L + MagicNumber:CalDAVHelper.kt$CalDAVHelper$8 + MagicNumber:Config.kt$Config$10 + MagicNumber:Config.kt$Config$7 + MagicNumber:Constants.kt$1000L + MagicNumber:Constants.kt$6 + MagicNumber:Context.kt$0.25f + MagicNumber:Context.kt$1000 + MagicNumber:Context.kt$1000L + MagicNumber:Context.kt$3f + MagicNumber:Context.kt$500 + MagicNumber:Context.kt$60 + MagicNumber:Context.kt$60000 + MagicNumber:Context.kt$64 + MagicNumber:Context.kt$6f + MagicNumber:Context.kt$7 + MagicNumber:DateTime.kt$1000L + MagicNumber:DayFragment.kt$DayFragment$1000 + MagicNumber:DayFragmentsHolder.kt$DayFragmentsHolder$100000 + MagicNumber:DayFragmentsHolder.kt$DayFragmentsHolder$251 + MagicNumber:Event.kt$Event$1000f + MagicNumber:Event.kt$Event$24 + MagicNumber:Event.kt$Event$3 + MagicNumber:Event.kt$Event$4 + MagicNumber:Event.kt$Event$60 + MagicNumber:Event.kt$Event$7 + MagicNumber:EventActivity.kt$EventActivity$0.4f + MagicNumber:EventActivity.kt$EventActivity$1000L + MagicNumber:EventActivity.kt$EventActivity$12 + MagicNumber:EventActivity.kt$EventActivity$23 + MagicNumber:EventActivity.kt$EventActivity$3 + MagicNumber:EventActivity.kt$EventActivity$4 + MagicNumber:EventActivity.kt$EventActivity$5 + MagicNumber:EventActivity.kt$EventActivity$59 + MagicNumber:EventActivity.kt$EventActivity$6 + MagicNumber:EventActivity.kt$EventActivity$60 + MagicNumber:EventActivity.kt$EventActivity$7 + MagicNumber:EventListFragment.kt$EventListFragment$1000 + MagicNumber:EventListFragment.kt$EventListFragment$100000 + MagicNumber:EventListFragment.kt$EventListFragment$6 + MagicNumber:EventListWidgetAdapter.kt$EventListWidgetAdapter$23 + MagicNumber:EventListWidgetAdapter.kt$EventListWidgetAdapter$3f + MagicNumber:EventListWidgetAdapter.kt$EventListWidgetAdapter$59 + MagicNumber:EventListWidgetAdapter.kt$EventListWidgetAdapter$60 + MagicNumber:EventListWidgetAdapter.kt$EventListWidgetAdapter$999 + MagicNumber:EventsDatabase.kt$EventsDatabase.Companion.<no name provided>$3 + MagicNumber:EventsDatabase.kt$EventsDatabase.Companion.<no name provided>$4 + MagicNumber:EventsDatabase.kt$EventsDatabase.Companion.<no name provided>$5 + MagicNumber:EventsDatabase.kt$EventsDatabase.Companion.<no name provided>$6 + MagicNumber:EventsDatabase.kt$EventsDatabase.Companion.<no name provided>$7 + MagicNumber:EventsDatabase.kt$EventsDatabase.Companion.<no name provided>$8 + MagicNumber:EventsHelper.kt$EventsHelper$23 + MagicNumber:EventsHelper.kt$EventsHelper$59 + MagicNumber:Formatter.kt$Formatter$1000L + MagicNumber:Formatter.kt$Formatter$3 + MagicNumber:Formatter.kt$Formatter$4 + MagicNumber:Formatter.kt$Formatter$6 + MagicNumber:HsvColorComparator.kt$HsvColorComparator$3 + MagicNumber:IcsExporter.kt$IcsExporter$1000L + MagicNumber:IcsExporter.kt$IcsExporter$75 + MagicNumber:IcsImporter.kt$IcsImporter$1000L + MagicNumber:IcsImporter.kt$IcsImporter$180 + MagicNumber:IcsImporter.kt$IcsImporter$2 + MagicNumber:IcsImporter.kt$IcsImporter$60 + MagicNumber:MainActivity.kt$MainActivity$0.8f + MagicNumber:MainActivity.kt$MainActivity$1000L + MagicNumber:MainActivity.kt$MainActivity$300 + MagicNumber:MainActivity.kt$MainActivity$70 + MagicNumber:MonthDayFragment.kt$MonthDayFragment$7 + MagicNumber:MonthDayFragmentsHolder.kt$MonthDayFragmentsHolder$100000 + MagicNumber:MonthDayFragmentsHolder.kt$MonthDayFragmentsHolder$251 + MagicNumber:MonthFragmentsHolder.kt$MonthFragmentsHolder$100000 + MagicNumber:MonthFragmentsHolder.kt$MonthFragmentsHolder$251 + MagicNumber:MonthView.kt$MonthView$0.2f + MagicNumber:MonthView.kt$MonthView$0.7f + MagicNumber:MonthView.kt$MonthView$0.8f + MagicNumber:MonthView.kt$MonthView$0.9f + MagicNumber:MonthView.kt$MonthView$1.25f + MagicNumber:MonthView.kt$MonthView$1.2f + MagicNumber:MonthView.kt$MonthView$1.5f + MagicNumber:MonthView.kt$MonthView$175 + MagicNumber:MonthView.kt$MonthView$2.5f + MagicNumber:MonthView.kt$MonthView$3 + MagicNumber:MonthView.kt$MonthView$41 + MagicNumber:MonthView.kt$MonthView$42 + MagicNumber:MonthView.kt$MonthView$7 + MagicNumber:MonthView.kt$MonthView$7f + MagicNumber:MonthlyCalendarImpl.kt$MonthlyCalendarImpl$42 + MagicNumber:MonthlyCalendarImpl.kt$MonthlyCalendarImpl$43 + MagicNumber:MonthlyCalendarImpl.kt$MonthlyCalendarImpl$7 + MagicNumber:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$3 + MagicNumber:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$3f + MagicNumber:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$5 + MagicNumber:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$6 + MagicNumber:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$7 + MagicNumber:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider.<no name provided>$3f + MagicNumber:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider.<no name provided>$6 + MagicNumber:NotificationReceiver.kt$NotificationReceiver$3000 + MagicNumber:Parser.kt$Parser$14 + MagicNumber:Parser.kt$Parser$24 + MagicNumber:Parser.kt$Parser$3 + MagicNumber:Parser.kt$Parser$4 + MagicNumber:Parser.kt$Parser$5 + MagicNumber:Parser.kt$Parser$6 + MagicNumber:Parser.kt$Parser$60 + MagicNumber:Parser.kt$Parser$7 + MagicNumber:QuickFilterEventTypeAdapter.kt$QuickFilterEventTypeAdapter.QuickFilterViewHolder$300 + MagicNumber:RepeatLimitTypePickerDialog.kt$RepeatLimitTypePickerDialog$23 + MagicNumber:RepeatLimitTypePickerDialog.kt$RepeatLimitTypePickerDialog$59 + MagicNumber:RepeatRuleWeeklyDialog.kt$RepeatRuleWeeklyDialog$6 + MagicNumber:RepeatRuleWeeklyDialog.kt$RepeatRuleWeeklyDialog$7 + MagicNumber:SelectEventTypeDialog.kt$SelectEventTypeDialog$2L + MagicNumber:SetRemindersDialog.kt$SetRemindersDialog$60 + MagicNumber:SettingsActivity.kt$SettingsActivity$16 + MagicNumber:SettingsActivity.kt$SettingsActivity$3 + MagicNumber:SettingsActivity.kt$SettingsActivity$4 + MagicNumber:SettingsActivity.kt$SettingsActivity$60 + MagicNumber:SimpleActivity.kt$SimpleActivity$3000L + MagicNumber:SmallMonthView.kt$SmallMonthView$0.41f + MagicNumber:SmallMonthView.kt$SmallMonthView$31 + MagicNumber:SmallMonthView.kt$SmallMonthView$4 + MagicNumber:SmallMonthView.kt$SmallMonthView$6 + MagicNumber:SmallMonthView.kt$SmallMonthView$7 + MagicNumber:SmallMonthView.kt$SmallMonthView$7f + MagicNumber:SmallMonthView.kt$SmallMonthView$9f + MagicNumber:SnoozeReminderActivity.kt$SnoozeReminderActivity$60 + MagicNumber:String.kt$6 + MagicNumber:String.kt$8 + MagicNumber:TaskActivity.kt$TaskActivity$0.4f + MagicNumber:TaskActivity.kt$TaskActivity$3 + MagicNumber:TaskActivity.kt$TaskActivity$4 + MagicNumber:TaskActivity.kt$TaskActivity$5 + MagicNumber:TaskActivity.kt$TaskActivity$6 + MagicNumber:TaskActivity.kt$TaskActivity$60 + MagicNumber:TaskActivity.kt$TaskActivity$7 + MagicNumber:WeekFragment.kt$WeekFragment$0.02f + MagicNumber:WeekFragment.kt$WeekFragment$0.3f + MagicNumber:WeekFragment.kt$WeekFragment$1440 + MagicNumber:WeekFragment.kt$WeekFragment$24 + MagicNumber:WeekFragment.kt$WeekFragment$3 + MagicNumber:WeekFragment.kt$WeekFragment$5000L + MagicNumber:WeekFragment.kt$WeekFragment$5f + MagicNumber:WeekFragment.kt$WeekFragment$60 + MagicNumber:WeekFragment.kt$WeekFragment.<no name provided>$24 + MagicNumber:WeekFragment.kt$WeekFragment.<no name provided>$24f + MagicNumber:WeekFragmentsHolder.kt$WeekFragmentsHolder$1000 + MagicNumber:WeekFragmentsHolder.kt$WeekFragmentsHolder$100000 + MagicNumber:WeekFragmentsHolder.kt$WeekFragmentsHolder$14 + MagicNumber:WeekFragmentsHolder.kt$WeekFragmentsHolder$151 + MagicNumber:WeekFragmentsHolder.kt$WeekFragmentsHolder$2000 + MagicNumber:WeekFragmentsHolder.kt$WeekFragmentsHolder$23 + MagicNumber:WeekFragmentsHolder.kt$WeekFragmentsHolder$3 + MagicNumber:WeekFragmentsHolder.kt$WeekFragmentsHolder$7 + MagicNumber:WeeklyViewGrid.kt$WeeklyViewGrid$24 + MagicNumber:WidgetDateConfigureActivity.kt$WidgetDateConfigureActivity$100 + MagicNumber:WidgetDateConfigureActivity.kt$WidgetDateConfigureActivity$100f + MagicNumber:WidgetDateConfigureActivity.kt$WidgetDateConfigureActivity$255f + MagicNumber:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$10 + MagicNumber:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$100 + MagicNumber:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$100f + MagicNumber:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$13 + MagicNumber:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$18 + MagicNumber:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$255f + MagicNumber:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$30 + MagicNumber:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$7 + MagicNumber:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$8 + MagicNumber:WidgetMonthlyConfigureActivity.kt$WidgetMonthlyConfigureActivity$100 + MagicNumber:WidgetMonthlyConfigureActivity.kt$WidgetMonthlyConfigureActivity$100f + MagicNumber:WidgetMonthlyConfigureActivity.kt$WidgetMonthlyConfigureActivity$255f + MagicNumber:WidgetMonthlyConfigureActivity.kt$WidgetMonthlyConfigureActivity$3 + MagicNumber:WidgetMonthlyConfigureActivity.kt$WidgetMonthlyConfigureActivity$7 + MagicNumber:YearFragment.kt$YearFragment$12 + MagicNumber:YearFragmentsHolder.kt$YearFragmentsHolder$100000 + MagicNumber:YearFragmentsHolder.kt$YearFragmentsHolder$61 + MagicNumber:YearlyCalendarImpl.kt$YearlyCalendarImpl$12 + MagicNumber:YearlyCalendarImpl.kt$YearlyCalendarImpl$32 + MaxLineLength:AutoCompleteTextViewAdapter.kt$AutoCompleteTextViewAdapter$class + MaxLineLength:AutoCompleteTextViewAdapter.kt$AutoCompleteTextViewAdapter$val placeholder = BitmapDrawable(activity.resources, SimpleContactsHelper(context).getContactLetterIcon(nameToUse)) + MaxLineLength:AutomaticBackupReceiver.kt$AutomaticBackupReceiver$val wakelock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "simplecalendar:automaticbackupreceiver") + MaxLineLength:CalDAVHelper.kt$CalDAVHelper$// original instance time must be in UTC since the parent event is an all-day event thus everything is handled in UTC + MaxLineLength:CalDAVHelper.kt$CalDAVHelper$// some calendars add repeatable event exceptions with using the "exdate" field, not by creating a child event that is an exception + MaxLineLength:CalDAVHelper.kt$CalDAVHelper$// store the event in the local db only if it is an occurrence that has been modified and not deleted + MaxLineLength:CalDAVHelper.kt$CalDAVHelper$context.eventsDB.updateEventImportIdAndSource(event.importId, "$CALDAV-${event.getCalDAVCalendarId()}", event.id!!) + MaxLineLength:CalDAVHelper.kt$CalDAVHelper$eventsHelper.insertEvent(event, addToCalDAV = false, showToasts = false, enableEventType = false) + MaxLineLength:CalDAVHelper.kt$CalDAVHelper$eventsHelper.insertEvent(parentEvent, addToCalDAV = false, showToasts = false, enableEventType = false) + MaxLineLength:CalDAVHelper.kt$CalDAVHelper$fun + MaxLineLength:CalDAVHelper.kt$CalDAVHelper$private fun refreshCalDAVCalendar(event: Event) + MaxLineLength:CheckableColorAdapter.kt$CheckableColorAdapter$class + MaxLineLength:CheckableColorAdapter.kt$CheckableColorAdapter.CheckableColorViewHolder$inner + MaxLineLength:Config.kt$Config$caldavSyncedCalendarIds.split(",").filter { it.trim().isNotEmpty() }.map { Integer.parseInt(it) }.toMutableList() as ArrayList<Int> + MaxLineLength:Config.kt$Config$get() = prefs.getString(ANNIVERSARY_REMINDERS, REMINDER_DEFAULT_VALUE)!!.split(",").map { it.toInt() }.toMutableList() as ArrayList<Int> + MaxLineLength:Config.kt$Config$get() = prefs.getString(BIRTHDAY_REMINDERS, REMINDER_DEFAULT_VALUE)!!.split(",").map { it.toInt() }.toMutableList() as ArrayList<Int> + MaxLineLength:Config.kt$Config$get() = prefs.getString(REMINDER_SOUND_URI, RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION).toString())!! + MaxLineLength:Config.kt$Config$set(addAnniversariesAutomatically) = prefs.edit().putBoolean(ADD_ANNIVERSARIES_AUTOMATICALLY, addAnniversariesAutomatically).apply() + MaxLineLength:Config.kt$Config$set(addBirthdaysAutomatically) = prefs.edit().putBoolean(ADD_BIRTHDAYS_AUTOMATICALLY, addBirthdaysAutomatically).apply() + MaxLineLength:Config.kt$Config$set(anniversaryReminders) = prefs.edit().putString(ANNIVERSARY_REMINDERS, anniversaryReminders.joinToString(",")).apply() + MaxLineLength:Config.kt$Config$set(autoBackupEventTypes) = prefs.edit().remove(AUTO_BACKUP_EVENT_TYPES).putStringSet(AUTO_BACKUP_EVENT_TYPES, autoBackupEventTypes).apply() + MaxLineLength:Config.kt$Config$set(displayEventTypes) = prefs.edit().remove(DISPLAY_EVENT_TYPES).putStringSet(DISPLAY_EVENT_TYPES, displayEventTypes).apply() + MaxLineLength:Config.kt$Config$set(lastEventReminderMinutes) = prefs.edit().putInt(LAST_EVENT_REMINDER_MINUTES, lastEventReminderMinutes).apply() + MaxLineLength:Config.kt$Config$set(lastEventReminderMinutes2) = prefs.edit().putInt(LAST_EVENT_REMINDER_MINUTES_2, lastEventReminderMinutes2).apply() + MaxLineLength:Config.kt$Config$set(lastEventReminderMinutes3) = prefs.edit().putInt(LAST_EVENT_REMINDER_MINUTES_3, lastEventReminderMinutes3).apply() + MaxLineLength:Config.kt$Config$set(lastUsedIgnoreEventTypesState) = prefs.edit().putBoolean(LAST_USED_IGNORE_EVENT_TYPES_STATE, lastUsedIgnoreEventTypesState).apply() + MaxLineLength:Config.kt$Config$set(lastUsedLocalEventTypeId) = prefs.edit().putLong(LAST_USED_LOCAL_EVENT_TYPE_ID, lastUsedLocalEventTypeId).apply() + MaxLineLength:Config.kt$Config$set(quickFilterEventTypes) = prefs.edit().remove(QUICK_FILTER_EVENT_TYPES).putStringSet(QUICK_FILTER_EVENT_TYPES, quickFilterEventTypes).apply() + MaxLineLength:Config.kt$Config$set(startWeekWithCurrentDay) = prefs.edit().putBoolean(START_WEEK_WITH_CURRENT_DAY, startWeekWithCurrentDay).apply() + MaxLineLength:Config.kt$Config$set(usePreviousEventReminders) = prefs.edit().putBoolean(USE_PREVIOUS_EVENT_REMINDERS, usePreviousEventReminders).apply() + MaxLineLength:Config.kt$Config$set(wasFilteredOutWarningShown) = prefs.edit().putBoolean(WAS_FILTERED_OUT_WARNING_SHOWN, wasFilteredOutWarningShown).apply() + MaxLineLength:Config.kt$Config$set(weeklyViewItemHeightMultiplier) = prefs.edit().putFloat(WEEKLY_VIEW_ITEM_HEIGHT_MULTIPLIER, weeklyViewItemHeightMultiplier).apply() + MaxLineLength:Constants.kt$const val REPEAT_ORDER_WEEKDAY = 4 // i.e. every 4th sunday, even if a month has 4 sundays only (will stay 4th even at months with 5) + MaxLineLength:Constants.kt$const val REPEAT_ORDER_WEEKDAY_USE_LAST = 2 // i.e. every last sunday. 4th if a month has 4 sundays, 5th if 5 (or last sunday in june, if yearly) + MaxLineLength:Constants.kt$val DESCRIPTION_REGEX = Regex("""DESCRIPTION(?:(?:;[^:;]*="[^"]*")*;?(?:;LANGUAGE=[^:;]*)?(?:;[^:;]*="[^"]*")*)*:(.*(?:\r?\n\s+.*)*)""") + MaxLineLength:Context.kt$// Assume this is a manual synchronisation when we showToasts to the user (swipe refresh, MainMenu-> refresh caldav calendars, ...) + MaxLineLength:Context.kt$// if the default event start time is set to "Next full hour" and the event is created before midnight, it could change the day + MaxLineLength:Context.kt$IcsExporter.ExportResult.EXPORT_PARTIAL -> toast(org.fossify.commons.R.string.exporting_some_entries_failed) + MaxLineLength:Context.kt$PendingIntent.getActivity(context, event.id!!.toInt(), intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) + MaxLineLength:Context.kt$PendingIntent.getBroadcast(this, id.toInt(), intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE).cancel() + MaxLineLength:Context.kt$PendingIntent.getService(context, event.id!!.toInt(), intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) + MaxLineLength:Context.kt$addAction(R.drawable.ic_task_vector, getString(R.string.mark_completed), getMarkCompletedPendingIntent(this@getNotification, event)) + MaxLineLength:Context.kt$alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + syncCheckInterval, syncCheckInterval, pendingIntent) + MaxLineLength:Context.kt$arrayOf(currEvent.reminder3Minutes, currEvent.reminder2Minutes, currEvent.reminder1Minutes).filter { it != REMINDER_OFF }.max() + MaxLineLength:Context.kt$eventStartTS = if (currEvent.getIsAllDay()) Formatter.getDayStartTS(Formatter.getDayCodeFromTS(currEvent.startTS)) else currEvent.startTS + MaxLineLength:Context.kt$fun + MaxLineLength:Context.kt$private fun getFormattedEventTime(startTime: String, endTime: String) + MaxLineLength:Context.kt$return PendingIntent.getActivity(context, event.id!!.toInt(), intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) + MaxLineLength:Context.kt$return PendingIntent.getBroadcast(this, AUTOMATIC_BACKUP_REQUEST_CODE, intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) + MaxLineLength:Context.kt$return PendingIntent.getBroadcast(this, event.id!!.toInt(), intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) + MaxLineLength:Context.kt$return PendingIntent.getService(context, task.id!!.toInt(), intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) + MaxLineLength:Context.kt$seconds % MONTH == 0 -> resources.getQuantityString(org.fossify.commons.R.plurals.months, seconds / MONTH, seconds / MONTH) + MaxLineLength:Context.kt$seconds % WEEK == 0 -> resources.getQuantityString(org.fossify.commons.R.plurals.weeks, seconds / WEEK, seconds / WEEK) + MaxLineLength:Context.kt$seconds % YEAR == 0 -> resources.getQuantityString(org.fossify.commons.R.plurals.years, seconds / YEAR, seconds / YEAR) + MaxLineLength:Context.kt$val + MaxLineLength:Context.kt$val dayBits = withFirstDayOfWeekToFront(listOf(MONDAY_BIT, TUESDAY_BIT, WEDNESDAY_BIT, THURSDAY_BIT, FRIDAY_BIT, SATURDAY_BIT, SUNDAY_BIT)) + MaxLineLength:Context.kt$val eventLayoutParams = LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) + MaxLineLength:Context.kt$val events = eventsHelper.getRepeatableEventsFor(currentSeconds - WEEK_SECONDS, currentSeconds + YEAR_SECONDS, event.id!!) + MaxLineLength:Context.kt$val msg = String.format(getString(org.fossify.commons.R.string.time_remaining), formatSecondsToTimeString(secondsTillNotification.toInt())) + MaxLineLength:Context.kt$val oldChannelId = "simple_calendar_${config.lastReminderChannel}_${config.reminderAudioStream}_${event.eventType}" + MaxLineLength:Context.kt$val snoozeClass = if (context.config.useSameSnooze) SnoozeService::class.java else SnoozeReminderActivity::class.java + MaxLineLength:Context.kt$val weekDays = withFirstDayOfWeekToFront(resources.getStringArray(org.fossify.commons.R.array.week_days_short).toList()) + MaxLineLength:Context.kt$var eventStartTS = if (event.getIsAllDay()) Formatter.getDayStartTS(Formatter.getDayCodeFromTS(event.startTS)) else event.startTS + MaxLineLength:CustomPeriodPickerDialog.kt$CustomPeriodPickerDialog$private + MaxLineLength:DayEventsAdapter.kt$DayEventsAdapter$class + MaxLineLength:DayEventsAdapter.kt$DayEventsAdapter$eventItemDescription.text = if (replaceDescriptionWithLocation) event.location else event.description.replace("\n", " ") + MaxLineLength:DayEventsAdapter.kt$DayEventsAdapter$eventItemTime.text = if (event.getIsAllDay()) allDayString else Formatter.getTimeFromTS(activity, event.startTS) + MaxLineLength:DayEventsAdapter.kt$DayEventsAdapter$val nonRepeatingEventIDs = eventsToDelete.asSequence().filter { it.repeatInterval == 0 }.mapNotNull { it.id }.toMutableList() + MaxLineLength:DayEventsAdapter.kt$DayEventsAdapter$val repeatingEventIDs = eventsToDelete.asSequence().filter { it.repeatInterval != 0 }.mapNotNull { it.id }.toList() + MaxLineLength:DayFragment.kt$DayFragment$val + MaxLineLength:EditEventTypeDialog.kt$EditEventTypeDialog$activity + MaxLineLength:EditEventTypeDialog.kt$EditEventTypeDialog$class + MaxLineLength:EditRepeatingEventDialog.kt$EditRepeatingEventDialog$class + MaxLineLength:Event.kt$Event$// if an event should happen on 31st with Same Day monthly repetition, dont show it at all at months with 30 or less days + MaxLineLength:Event.kt$Event$fun getCalDAVCalendarId() + MaxLineLength:Event.kt$Event$val currentWeekNumber = Formatter.getDateTimeFromTS(startTS).withTimeAtStartOfDay().millis / (7 * 24 * 60 * 60 * 1000f) + MaxLineLength:Event.kt$Event$val initialWeekNumber = Formatter.getDateTimeFromTS(startTimes[id!!]!!).withTimeAtStartOfDay().millis / (7 * 24 * 60 * 60 * 1000f) + MaxLineLength:Event.kt$Event$wantedDay = properMonth.dayOfMonth + ((properMonth.dayOfMonth().maximumValue - properMonth.dayOfMonth) / 7) * 7 + MaxLineLength:Event.kt$Event$while + MaxLineLength:EventActivity.kt$EventActivity$(eventContactName.layoutParams as RelativeLayout.LayoutParams).addRule(RelativeLayout.START_OF, eventContactMeStatus.id) + MaxLineLength:EventActivity.kt$EventActivity$// if an event is created at 23:00 on the weekly view, make it end on 23:59 by default to avoid spanning across multiple days + MaxLineLength:EventActivity.kt$EventActivity$ColorPickerDialog + MaxLineLength:EventActivity.kt$EventActivity$DELETE_SELECTED_OCCURRENCE -> eventsHelper.deleteRepeatingEventOccurrence(mEvent.id!!, mEventOccurrenceTS, true) + MaxLineLength:EventActivity.kt$EventActivity$PermissionRequiredDialog(this, org.fossify.commons.R.string.allow_notifications_reminders, { openNotificationSettings() }) + MaxLineLength:EventActivity.kt$EventActivity$attendees = attendees.filter { it.email != currentCalendar?.ownerName }.toMutableList() as ArrayList<Attendee> + MaxLineLength:EventActivity.kt$EventActivity$binding.eventAvailability.text = if (mAvailability == Attendees.AVAILABILITY_FREE) getString(R.string.status_free) else getString(R.string.status_busy) + MaxLineLength:EventActivity.kt$EventActivity$binding.eventRepetitionRuleHolder.beVisibleIf(mRepeatInterval.isXWeeklyRepetition() || mRepeatInterval.isXMonthlyRepetition() || mRepeatInterval.isXYearlyRepetition()) + MaxLineLength:EventActivity.kt$EventActivity$config.lastUsedCaldavCalendarId = mStoredEventTypes.firstOrNull { it.id == config.defaultEventTypeId }?.caldavCalendarId ?: 0 + MaxLineLength:EventActivity.kt$EventActivity$eventReminder1Type + MaxLineLength:EventActivity.kt$EventActivity$eventTimeImage + MaxLineLength:EventActivity.kt$EventActivity$if + MaxLineLength:EventActivity.kt$EventActivity$items.add(RadioItem(REPEAT_ORDER_WEEKDAY_USE_LAST, getRepeatXthDayInMonthString(true, REPEAT_ORDER_WEEKDAY_USE_LAST))) + MaxLineLength:EventActivity.kt$EventActivity$items.add(RadioItem(REPEAT_ORDER_WEEKDAY_USE_LAST, getRepeatXthDayString(true, REPEAT_ORDER_WEEKDAY_USE_LAST))) + MaxLineLength:EventActivity.kt$EventActivity$mEventEndDateTime = Formatter.getDateTimeFromTS(realStart + duration).withZone(DateTimeZone.forID(mOriginalTimeZone)) + MaxLineLength:EventActivity.kt$EventActivity$mEventEndDateTime.withTime(mEventStartDateTime.hourOfDay, mEventStartDateTime.minuteOfHour, mEventStartDateTime.secondOfMinute, 0) + MaxLineLength:EventActivity.kt$EventActivity$mEventStartDateTime = Formatter.getDateTimeFromTS(realStart).withZone(DateTimeZone.forID(mOriginalTimeZone)) + MaxLineLength:EventActivity.kt$EventActivity$mEventTypeId = if (config.defaultEventTypeId == -1L) config.lastUsedLocalEventTypeId else config.defaultEventTypeId + MaxLineLength:EventActivity.kt$EventActivity$mReminder1Minutes = if (usePreviousEventReminders && lastEventReminderMinutes1 >= -1) lastEventReminderMinutes1 else defaultReminder1 + MaxLineLength:EventActivity.kt$EventActivity$mReminder2Minutes = if (usePreviousEventReminders && lastEventReminderMinutes2 >= -1) lastEventReminderMinutes2 else defaultReminder2 + MaxLineLength:EventActivity.kt$EventActivity$mReminder3Minutes = if (usePreviousEventReminders && lastEventReminderMinutes3 >= -1) lastEventReminderMinutes3 else defaultReminder3 + MaxLineLength:EventActivity.kt$EventActivity$mSelectedContacts = mSelectedContacts.filter { it.toString() != selectedAttendeeDismiss.tag }.toMutableList() as ArrayList<Attendee> + MaxLineLength:EventActivity.kt$EventActivity$private + MaxLineLength:EventActivity.kt$EventActivity$private fun getCalendarId() + MaxLineLength:EventActivity.kt$EventActivity$private fun getCalendarWithId(calendars: List<CalDAVCalendar>, calendarId: Int) + MaxLineLength:EventActivity.kt$EventActivity$private fun isLastDayOfTheMonth() + MaxLineLength:EventActivity.kt$EventActivity$private val LAT_LON_PATTERN = "^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?)([,;])\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)\$" + MaxLineLength:EventActivity.kt$EventActivity$private val endDateSetListener = DatePickerDialog.OnDateSetListener { view, year, monthOfYear, dayOfMonth -> dateSet(year, monthOfYear, dayOfMonth, false) } + MaxLineLength:EventActivity.kt$EventActivity$private val endTimeSetListener = TimePickerDialog.OnTimeSetListener { view, hourOfDay, minute -> timeSet(hourOfDay, minute, false) } + MaxLineLength:EventActivity.kt$EventActivity$reminders = reminders.filter { it.minutes != REMINDER_OFF }.sortedBy { it.minutes }.toMutableList() as ArrayList<Reminder> + MaxLineLength:EventActivity.kt$EventActivity$setPadding(paddingLeft, paddingTop, paddingRight, resources.getDimension(org.fossify.commons.R.dimen.tiny_margin).toInt()) + MaxLineLength:EventActivity.kt$EventActivity$this + MaxLineLength:EventActivity.kt$EventActivity$updateCurrentCalendarInfo(if (mEventCalendarId == STORED_LOCALLY_ONLY) null else getCalendarWithId(calendars, getCalendarId())) + MaxLineLength:EventActivity.kt$EventActivity$updateMaterialActivityViews(binding.eventCoordinator, binding.eventHolder, useTransparentNavigation = true, useTopSearchMenu = false) + MaxLineLength:EventActivity.kt$EventActivity$val + MaxLineLength:EventActivity.kt$EventActivity$val contact = Attendee(id, "", email, Attendees.ATTENDEE_STATUS_NONE, "", false, Attendees.RELATIONSHIP_NONE) + MaxLineLength:EventActivity.kt$EventActivity$val contact = Attendee(id, fullName, "", Attendees.ATTENDEE_STATUS_NONE, photoUri, false, Attendees.RELATIONSHIP_NONE) + MaxLineLength:EventActivity.kt$EventActivity$val customEmails = mAttendeeAutoCompleteViews.filter { it.isVisible() }.map { it.value }.filter { it.isNotEmpty() }.toMutableList() as ArrayList<String> + MaxLineLength:EventActivity.kt$EventActivity$val deviceContact = mAvailableContacts.firstOrNull { it.email.isNotEmpty() && it.email == attendee.email && it.photoUri.isNotEmpty() } + MaxLineLength:EventActivity.kt$EventActivity$val drawable = if (mAvailability == Attendees.AVAILABILITY_FREE) R.drawable.ic_event_available_vector else R.drawable.ic_event_busy_vector + MaxLineLength:EventActivity.kt$EventActivity$val everyString = getString(if (isMaleGender(mEventStartDateTime.dayOfWeek)) R.string.every_m else R.string.every_f) + MaxLineLength:EventActivity.kt$EventActivity$val isLastCaldavCalendarOK = config.caldavSync && config.getSyncedCalendarIdsAsList().contains(config.lastUsedCaldavCalendarId) + MaxLineLength:EventActivity.kt$EventActivity$val monthString = resources.getStringArray(org.fossify.commons.R.array.in_months)[mEventStartDateTime.monthOfYear - 1] + MaxLineLength:EventActivity.kt$EventActivity$val placeholder = BitmapDrawable(resources, SimpleContactsHelper(this@EventActivity).getContactLetterIcon(eventContactName.value)) + MaxLineLength:EventActivity.kt$EventActivity$val textColor = if (mEventStartDateTime.isAfter(mEventEndDateTime)) resources.getColor(R.color.red_text) else getProperTextColor() + MaxLineLength:EventListAdapter.kt$EventListAdapter$activity: SimpleActivity + MaxLineLength:EventListAdapter.kt$EventListAdapter$eventItemDescription.text = if (replaceDescription) listEvent.location else listEvent.description.replace("\n", " ") + MaxLineLength:EventListAdapter.kt$EventListAdapter$eventItemTime.text = if (listEvent.isAllDay) allDayString else Formatter.getTimeFromTS(activity, listEvent.startTS) + MaxLineLength:EventListAdapter.kt$EventListAdapter$holder + MaxLineLength:EventListAdapter.kt$EventListAdapter$if + MaxLineLength:EventListAdapter.kt$EventListAdapter$listItems.filter { it is ListEvent && selectedKeys.contains(it.hashCode()) }.map { (it as ListEvent).id }.toMutableList() as ArrayList<Long> + MaxLineLength:EventListAdapter.kt$EventListAdapter$val eventsToDelete = listItems.filter { selectedKeys.contains((it as? ListEvent)?.hashCode()) } as List<ListEvent> + MaxLineLength:EventListFragment.kt$EventListFragment$(binding.calendarEventsList.layoutManager as LinearLayoutManager).scrollToPositionWithOffset(firstNonPastSectionIndex, 0) + MaxLineLength:EventListFragment.kt$EventListFragment$binding.calendarEventsList.smoothScrollBy(0, requireContext().resources.getDimension(R.dimen.endless_scroll_move_height).toInt()) + MaxLineLength:EventListFragment.kt$EventListFragment$val lastPosition = (binding.calendarEventsList.layoutManager as MyLinearLayoutManager).findLastVisibleItemPosition() + MaxLineLength:EventListWidgetAdapter.kt$EventListWidgetAdapter$} + MaxLineLength:EventWeeklyView.kt$EventWeeklyView + MaxLineLength:EventsDao.kt$EventsDao$//val selection = "$COL_REMINDER_MINUTES != -1 AND ($COL_START_TS > ? OR $COL_REPEAT_INTERVAL != 0) AND $COL_START_TS != 0" + MaxLineLength:EventsDao.kt$EventsDao$@Query("SELECT * FROM events WHERE reminder_1_minutes != -1 AND (start_ts > :currentTS OR repeat_interval != 0) AND start_ts != 0") + MaxLineLength:EventsDao.kt$EventsDao$@Query("SELECT * FROM events WHERE start_ts <= :toTS AND end_ts >= :fromTS AND start_ts != 0 AND repeat_interval = 0 AND event_type IN (:eventTypeIds) AND (title LIKE :searchQuery OR location LIKE :searchQuery OR description LIKE :searchQuery)") + MaxLineLength:EventsDao.kt$EventsDao$@Query("SELECT * FROM events WHERE start_ts <= :toTS AND end_ts >= :fromTS AND start_ts != 0 AND repeat_interval = 0 AND event_type IN (:eventTypeIds)") + MaxLineLength:EventsDao.kt$EventsDao$@Query("SELECT * FROM events WHERE start_ts <= :toTS AND start_ts != 0 AND repeat_interval != 0 AND event_type IN (:eventTypeIds) AND (title LIKE :searchQuery OR location LIKE :searchQuery OR description LIKE :searchQuery)") + MaxLineLength:EventsDao.kt$EventsDao$@Query("SELECT * FROM events WHERE start_ts <= :toTS AND start_ts != 0 AND repeat_interval != 0 AND event_type IN (:eventTypeIds)") + MaxLineLength:EventsDao.kt$EventsDao$@Query("SELECT * FROM events WHERE start_ts <= :toTS AND start_ts >= :fromTS AND event_type IN (:eventTypeIds) AND type = $TYPE_TASK") + MaxLineLength:EventsDao.kt$EventsDao$@Query("UPDATE events SET event_type = $REGULAR_EVENT_TYPE_ID WHERE event_type = :eventTypeId AND type = $TYPE_EVENT") + MaxLineLength:EventsDao.kt$EventsDao$fun + MaxLineLength:EventsDatabase.kt$EventsDatabase.Companion.<no name provided>$execSQL("CREATE TABLE IF NOT EXISTS `tasks` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `task_id` INTEGER NOT NULL, `start_ts` INTEGER NOT NULL, `flags` INTEGER NOT NULL)") + MaxLineLength:EventsDatabase.kt$EventsDatabase.Companion.<no name provided>$execSQL("CREATE TABLE IF NOT EXISTS `widgets` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `widget_id` INTEGER NOT NULL, `period` INTEGER NOT NULL)") + MaxLineLength:EventsHelper.kt$EventsHelper$eventTypeId = createPredefinedEventType(anniversaries, R.color.default_anniversaries_color, ANNIVERSARY_EVENT) + MaxLineLength:EventsHelper.kt$EventsHelper$events.addAll(eventsDB.getOneTimeEventsFromToWithTypes(toTS, fromTS, typesList).toMutableList() as ArrayList<Event>) + MaxLineLength:EventsHelper.kt$EventsHelper$eventsDB.getOneTimeEventsFromToWithTypesForSearch(toTS, fromTS, typesList, "%$searchQuery%").toMutableList() as ArrayList<Event> + MaxLineLength:EventsHelper.kt$EventsHelper$eventsDB.getRepeatableEventsOrTasksWithTypes(toTS, context.config.getDisplayEventTypessAsList()).toMutableList() as ArrayList<Event> + MaxLineLength:EventsHelper.kt$EventsHelper$eventsDB.getRepeatableEventsOrTasksWithTypesForSearch(toTS, context.config.getDisplayEventTypessAsList(), "%$searchQuery%") + MaxLineLength:EventsHelper.kt$EventsHelper$fun + MaxLineLength:EventsHelper.kt$EventsHelper$if + MaxLineLength:EventsHelper.kt$EventsHelper$it.caldavCalendarId == 0 || caldavCalendars.firstOrNull { it.id == eventType.caldavCalendarId }?.canWrite() == true + MaxLineLength:EventsHelper.kt$EventsHelper$private + MaxLineLength:EventsHelper.kt$EventsHelper$val previousOccurrenceTS = occurrenceTS - event.repeatInterval // always update repeat limit of the occurrence preceding the one being edited + MaxLineLength:EventsHelper.kt$EventsHelper$val typesToDelete = eventTypes.asSequence().filter { it.caldavCalendarId == 0 && it.id != REGULAR_EVENT_TYPE_ID }.toMutableList() + MaxLineLength:ExportEventsDialog.kt$ExportEventsDialog$exportEventsFilename.setText("${activity.getString(R.string.events)}_${activity.getCurrentFormattedDateTime()}") + MaxLineLength:ExportEventsDialog.kt$ExportEventsDialog$val eventTypes = (binding.exportEventsTypesList.adapter as FilterEventTypeAdapter).getSelectedItemsList() + MaxLineLength:FilterEventTypeAdapter.kt$FilterEventTypeAdapter$class + MaxLineLength:FilterEventTypeAdapter.kt$FilterEventTypeAdapter$override fun onBindViewHolder(holder: EventTypeViewHolder, position: Int) + MaxLineLength:FilterEventTypeAdapter.kt$FilterEventTypeAdapter.EventTypeViewHolder$filterEventTypeCheckbox.setColors(activity.getProperTextColor(), activity.getProperPrimaryColor(), activity.getProperBackgroundColor()) + MaxLineLength:Formatter.kt$Formatter$DateTimeFormat.forPattern(DAYCODE_PATTERN).withZone(DateTimeZone.getDefault()).parseLocalDate(dayCode).toDateTimeAtStartOfDay() + MaxLineLength:Formatter.kt$Formatter$fun + MaxLineLength:Formatter.kt$Formatter$fun getDate(context: Context, dateTime: DateTime, addDayOfWeek: Boolean = true) + MaxLineLength:Formatter.kt$Formatter$fun getDateTimeFromCode(dayCode: String) + MaxLineLength:Formatter.kt$Formatter$fun getShiftedLocalTS(ts: Long) + MaxLineLength:Formatter.kt$Formatter$fun getShiftedTS(dateTime: DateTime, toZone: DateTimeZone) + MaxLineLength:Formatter.kt$Formatter$fun getShortMonthName(context: Context, id: Int) + MaxLineLength:IcsExporter.kt$IcsExporter.<no name provided>$* + MaxLineLength:IcsImporter.kt$IcsImporter$// Ideally, we should parse BEGIN:VTIMEZONE and derive the timezone from there, but to get things working, let's assume TZID refers to one + MaxLineLength:IcsImporter.kt$IcsImporter$// if an event belongs to a sequence insert it immediately, to avoid some glitches with linked events + MaxLineLength:IcsImporter.kt$IcsImporter$// if an event contains the RECURRENCE-ID field, it is an exception to a recurring event, so update its parent too + MaxLineLength:IcsImporter.kt$IcsImporter$// repeating event exceptions can have the same import id as their parents, so pick the latest event to update + MaxLineLength:IcsImporter.kt$IcsImporter$// some RRULEs need to know the events start datetime. If it's yet unknown, postpone RRULE parsing + MaxLineLength:IcsImporter.kt$IcsImporter$Reminder(curReminderMinutes.getOrElse(0) { REMINDER_OFF }, curReminderActions.getOrElse(0) { REMINDER_NOTIFICATION }) + MaxLineLength:IcsImporter.kt$IcsImporter$Reminder(curReminderMinutes.getOrElse(1) { REMINDER_OFF }, curReminderActions.getOrElse(1) { REMINDER_NOTIFICATION }) + MaxLineLength:IcsImporter.kt$IcsImporter$Reminder(curReminderMinutes.getOrElse(2) { REMINDER_OFF }, curReminderActions.getOrElse(2) { REMINDER_NOTIFICATION }) + MaxLineLength:IcsImporter.kt$IcsImporter$if + MaxLineLength:IcsImporter.kt$IcsImporter$line.substring(TRANSP.length).let { curAvailability = if (it == TRANSPARENT) Events.AVAILABILITY_FREE else Events.AVAILABILITY_BUSY } + MaxLineLength:IcsImporter.kt$IcsImporter$reminders = reminders.sortedBy { it.minutes }.sortedBy { it.minutes == REMINDER_OFF }.toMutableList() as ArrayList<Reminder> + MaxLineLength:IcsImporter.kt$IcsImporter$val eventToUpdate = existingEvents.filter { curImportId.isNotEmpty() && curImportId == it.importId }.maxByOrNull { it.lastUpdated } + MaxLineLength:IcsImporter.kt$IcsImporter$val source = if (calDAVCalendarId == 0 || eventType?.isSyncedEventType() == false) SOURCE_IMPORTED_ICS else "$CALDAV-$calDAVCalendarId" + MaxLineLength:IcsImporter.kt$IcsImporter$var + MaxLineLength:ImportEventsDialog.kt$ImportEventsDialog$val isLastCaldavCalendarOK = config.caldavSync && config.getSyncedCalendarIdsAsList().contains(config.lastUsedCaldavCalendarId) + MaxLineLength:ImportEventsDialog.kt$ImportEventsDialog$val lastUsedCalDAVCalendar = activity.eventsHelper.getEventTypeWithCalDAVCalendarId(config.lastUsedCaldavCalendarId) + MaxLineLength:ImportEventsDialog.kt$ImportEventsDialog$val result = IcsImporter(activity).importEvents(path, currEventTypeId, currEventTypeCalDAVCalendarId, overrideFileEventTypes) + MaxLineLength:ListSectionDay.kt$ListSectionDay : ListItem + MaxLineLength:MainActivity.kt$MainActivity$(newEventDrawable as LayerDrawable).findDrawableByLayerId(R.id.shortcut_event_background).applyColorFilter(appIconColor) + MaxLineLength:MainActivity.kt$MainActivity$(newTaskDrawable as LayerDrawable).findDrawableByLayerId(R.id.shortcut_task_background).applyColorFilter(appIconColor) + MaxLineLength:MainActivity.kt$MainActivity$// private contacts are created in Simple Contacts Pro, so we can guarantee that they exist only in these 2 formats + MaxLineLength:MainActivity.kt$MainActivity$binding.searchResultsList.smoothScrollBy(0, resources.getDimension(R.dimen.endless_scroll_move_height).toInt()) + MaxLineLength:MainActivity.kt$MainActivity$binding.swipeRefreshLayout.isEnabled = config.caldavSync && config.pullToRefresh && config.storedView != WEEKLY_VIEW + MaxLineLength:MainActivity.kt$MainActivity$config.storedView == WEEKLY_VIEW && (dayCode?.length == Formatter.DAYCODE_PATTERN.length) -> getFirstDayOfWeek(Formatter.getDateTimeFromCode(dayCode)) + MaxLineLength:MainActivity.kt$MainActivity$config.storedView == YEARLY_VIEW && (dayCode?.length == Formatter.DAYCODE_PATTERN.length) -> Formatter.getYearFromDayCode(dayCode) + MaxLineLength:MainActivity.kt$MainActivity$eventTypeId = eventsHelper.createPredefinedEventType(holidays, R.color.default_holidays_color, HOLIDAY_EVENT, true) + 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.more_apps_from_us).isVisible = !resources.getBoolean(org.fossify.commons.R.bool.hide_google_relations) + MaxLineLength:MainActivity.kt$MainActivity$if + MaxLineLength:MainActivity.kt$MainActivity$it.title.contains(currentSearchQuery, true) || it.location.contains(currentSearchQuery, true) + MaxLineLength:MainActivity.kt$MainActivity$null + MaxLineLength:MainActivity.kt$MainActivity$private + MaxLineLength:MainActivity.kt$MainActivity$reminder3Minutes = reminders[2] + MaxLineLength:MainActivity.kt$MainActivity$repeatInterval = YEAR + MaxLineLength:MainActivity.kt$MainActivity$updateMaterialActivityViews(binding.mainCoordinator, binding.mainHolder, useTransparentNavigation = false, useTopSearchMenu = true) + MaxLineLength:MainActivity.kt$MainActivity$val eventTypeId = if (birthdays) eventsHelper.getLocalBirthdaysEventTypeId() else eventsHelper.getAnniversariesEventTypeId() + MaxLineLength:MainActivity.kt$MainActivity$val lastPosition = (binding.searchResultsList.layoutManager as MyLinearLayoutManager).findLastVisibleItemPosition() + MaxLineLength:MainActivity.kt$MainActivity$val result = IcsImporter(this).importEvents(selectedHoliday as String, eventTypeId, 0, false, reminders) + MaxLineLength:MainActivity.kt$MainActivity$|| + MaxLineLength:ManageAutomaticBackupsDialog.kt$ManageAutomaticBackupsDialog$activity + MaxLineLength:ManageEventTypesAdapter.kt$ManageEventTypesAdapter$activity: SimpleActivity + MaxLineLength:MonthDayFragment.kt$MonthDayFragment$binding.monthDaySelectedDayLabel.text = Formatter.getDateFromCode(requireActivity(), mSelectedDayCode, false) + MaxLineLength:MonthDayFragment.kt$MonthDayFragment$override + MaxLineLength:MonthDayFragment.kt$MonthDayFragment$shownMonthDateTime.year == startDateTime.year && shownMonthDateTime.monthOfYear == startDateTime.monthOfYear + MaxLineLength:MonthDayFragmentsHolder.kt$MonthDayFragmentsHolder$override + MaxLineLength:MonthFragment.kt$MonthFragment$override + MaxLineLength:MonthView.kt$MonthView$// handle overlapping repeating events e.g. an event that lasts 3 days, but repeats every 2 days has a one day overlap + MaxLineLength:MonthView.kt$MonthView$canvas.drawCircle(xPosCenter, yPos + textPaint.textSize * 0.7f, textPaint.textSize * 0.8f, circleStrokePaint) + MaxLineLength:MonthView.kt$MonthView$canvas.drawCircle(xPosCenter, yPos + textPaint.textSize * 0.7f, textPaint.textSize * 0.8f, getCirclePaint(day)) + MaxLineLength:MonthView.kt$MonthView$canvas.drawLine(0f, i * dayHeight + weekDaysLetterHeight, canvas.width.toFloat(), i * dayHeight + weekDaysLetterHeight, gridPaint) + MaxLineLength:MonthView.kt$MonthView$canvas.drawRoundRect(bgRectF, BG_CORNER_RADIUS, BG_CORNER_RADIUS, getEventBackgroundColor(event, startDayIndex, endDayIndex)) + MaxLineLength:MonthView.kt$MonthView$compareBy({ -it.daysCnt }, { !it.isAllDay }, { it.startTS }, { it.endTS }, { it.startDayIndex }, { it.title }) + MaxLineLength:MonthView.kt$MonthView$dayLetters = context.withFirstDayOfWeekToFront(context.resources.getStringArray(org.fossify.commons.R.array.week_day_letters).toList()) + MaxLineLength:MonthView.kt$MonthView$dayVerticalOffsets.put(day.indexOnMonthView, dayVerticalOffsets[day.indexOnMonthView] + weekDaysLetterHeight) + MaxLineLength:MonthView.kt$MonthView$drawEventTitle(event, canvas, xPos + taskIconWidth, yPos + verticalOffset, bgRight - bgLeft - smallPadding - taskIconWidth, specificEventTitlePaint) + MaxLineLength:MonthView.kt$MonthView$private + MaxLineLength:MonthView.kt$MonthView$return event.startTS != event.endTS && Formatter.getDateTimeFromTS(event.endTS) == Formatter.getDateTimeFromTS(date.seconds()).withTimeAtStartOfDay() + MaxLineLength:MonthView.kt$MonthView$taskIcon.setBounds(xPos.toInt() + smallPadding * 2, taskIconY, xPos.toInt() + eventTitleHeight + smallPadding * 2, taskIconY + eventTitleHeight) + MaxLineLength:MonthView.kt$MonthView$val ellipsized = TextUtils.ellipsize(event.title, eventTitlePaint, availableWidth - smallPadding, TextUtils.TruncateAt.END) + MaxLineLength:MonthView.kt$MonthView$val isDaySelected = selectedDayCoords.x != -1 && x == selectedDayCoords.x && y == selectedDayCoords.y + MaxLineLength:MonthView.kt$MonthView$val isMidnight = Formatter.getDateTimeFromTS(endDateTime.seconds()) == Formatter.getDateTimeFromTS(endDateTime.seconds()).withTimeAtStartOfDay() + MaxLineLength:MonthView.kt$MonthView$val newEvent = event.copy(startDayIndex = newStartDayIndex, daysCnt = event.daysCnt - (newStartDayIndex - event.startDayIndex)) + MaxLineLength:MonthView.kt$MonthView$val shouldAddEvent = notYetAddedOrIsRepeatingEvent || canOverlap && (lastEvent!!.startTS < event.startTS) + MaxLineLength:MonthView.kt$MonthView$val taskIcon = resources.getColoredDrawableWithColor(R.drawable.ic_task_vector, specificEventTitlePaint.color).mutate() + MaxLineLength:MonthViewWrapper.kt$MonthViewWrapper$contentDescription = "${day.value} ${Formatter.getMonthName(context, Formatter.getDateTimeFromCode(day.code).monthOfYear)}" + MaxLineLength:MonthlyCalendar.kt$MonthlyCalendar$fun updateMonthlyCalendar(context: Context, month: String, days: ArrayList<DayMonthly>, checkedEvents: Boolean, currTargetDate: DateTime) + MaxLineLength:MonthlyCalendarImpl.kt$MonthlyCalendarImpl$return targetDate.withDayOfMonth(min(curDayInMonth, targetMonthDays)).toString(Formatter.DAYCODE_PATTERN) == mToday + MaxLineLength:MonthlyCalendarImpl.kt$MonthlyCalendarImpl$val day = DayMonthly(value, isThisMonth, isToday, dayCode, newDay.weekOfWeekyear, ArrayList(), i, context.isWeekendIndex(i)) + MaxLineLength:MyDayPagerAdapter.kt$MyDayPagerAdapter$class + MaxLineLength:MyMonthDayPagerAdapter.kt$MyMonthDayPagerAdapter$class + MaxLineLength:MyMonthPagerAdapter.kt$MyMonthPagerAdapter$class + MaxLineLength:MyWeekPagerAdapter.kt$MyWeekPagerAdapter$class + MaxLineLength:MyWidgetDateProvider.kt$MyWidgetDateProvider$val pendingIntent = PendingIntent.getActivity(context, OPEN_APP_INTENT_ID, this, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) + MaxLineLength:MyWidgetListProvider.kt$MyWidgetListProvider$PendingIntent.getActivity(context, 0, startActivityIntent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_MUTABLE) + MaxLineLength:MyWidgetListProvider.kt$MyWidgetListProvider$views.setImageViewBitmap(R.id.widget_event_go_to_today, context.resources.getColoredBitmap(R.drawable.ic_today_vector, textColor)) + MaxLineLength:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$day.dayEvents + MaxLineLength:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$if + MaxLineLength:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$setInt(R.id.day_monthly_event_id, "setPaintFlags", Paint.ANTI_ALIAS_FLAG or Paint.STRIKE_THRU_TEXT_FLAG) + MaxLineLength:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$setText(id, "${days[i * 7 + 3].weekOfYear}:") + MaxLineLength:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$val pendingIntent = PendingIntent.getActivity(context, Integer.parseInt(dayCode), this, PendingIntent.FLAG_IMMUTABLE) + MaxLineLength:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$val pendingIntent = PendingIntent.getActivity(context, Integer.parseInt(dayCode.substring(0, 6)), this, PendingIntent.FLAG_IMMUTABLE) + MaxLineLength:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider.<no name provided>$override + MaxLineLength:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider.<no name provided>$val shouldGoToTodayBeVisible = currTargetDate.withTime(0, 0, 0, 0) != DateTime.now().withDayOfMonth(1).withTime(0, 0, 0, 0) + MaxLineLength:MyYearPagerAdapter.kt$MyYearPagerAdapter$class + MaxLineLength:NotificationReceiver.kt$NotificationReceiver$if + MaxLineLength:Parser.kt$Parser$// properly handle events repeating by 14 days or so, just add a repeat rule to specify a day of the week + MaxLineLength:Parser.kt$Parser$event.repeatInterval.isXMonthlyRepetition() || event.repeatInterval.isXYearlyRepetition() + MaxLineLength:Parser.kt$Parser$private fun getDurationValue(duration: String, char: String) + MaxLineLength:QuickFilterEventTypeAdapter.kt$QuickFilterEventTypeAdapter$val eventType = allEventTypes.firstOrNull { eventType -> eventType.id.toString() == quickFilterEventType } ?: return@forEach + MaxLineLength:QuickFilterEventTypeAdapter.kt$QuickFilterEventTypeAdapter.QuickFilterViewHolder$inner + MaxLineLength:QuickFilterEventTypeAdapter.kt$QuickFilterEventTypeAdapter.QuickFilterViewHolder$val indicatorHeightRes = if (isSelected) R.dimen.quick_filter_active_line_size else R.dimen.quick_filter_inactive_line_size + MaxLineLength:Range.kt$fun Range<Int>.intersects(other: Range<Int>) + MaxLineLength:ReminderWarningDialog.kt$ReminderWarningDialog$activity + MaxLineLength:RepeatLimitTypePickerDialog.kt$RepeatLimitTypePickerDialog$class + MaxLineLength:RepeatLimitTypePickerDialog.kt$RepeatLimitTypePickerDialog$private + MaxLineLength:SelectCalendarsDialog.kt$SelectCalendarsDialog$CalendarItemAccountBinding.inflate(activity.layoutInflater, binding.dialogSelectCalendarsHolder, false) + MaxLineLength:SelectCalendarsDialog.kt$SelectCalendarsDialog$CalendarItemCalendarBinding.inflate(activity.layoutInflater, binding.dialogSelectCalendarsHolder, false) + MaxLineLength:SelectEventCalendarDialog.kt$SelectEventCalendarDialog$class + MaxLineLength:SelectEventCalendarDialog.kt$SelectEventCalendarDialog$radioGroup.addView(radioBinding.root, RadioGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)) + MaxLineLength:SelectEventColorDialog.kt$SelectEventColorDialog$class + MaxLineLength:SelectEventTypeColorDialog.kt$SelectEventTypeColorDialog$class + MaxLineLength:SelectEventTypeDialog.kt$SelectEventTypeDialog$radioGroup.addView(radioBinding.root, RadioGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)) + MaxLineLength:SelectEventTypeDialog.kt$SelectEventTypeDialog$val activity: Activity + MaxLineLength:SelectEventTypeDialog.kt$SelectEventTypeDialog$val addLastUsedOneAsFirstOption: Boolean + MaxLineLength:SelectEventTypeDialog.kt$SelectEventTypeDialog$val lastUsedEventType = EventType(LAST_USED_EVENT_TYPE_ID, activity.getString(R.string.last_used_one), Color.TRANSPARENT, 0) + MaxLineLength:SelectEventTypeDialog.kt$SelectEventTypeDialog$val newEventType = EventType(NEW_EVENT_TYPE_ID, activity.getString(R.string.add_new_type), Color.TRANSPARENT, 0) + MaxLineLength:SelectEventTypesDialog.kt$SelectEventTypesDialog$class + MaxLineLength:SelectTimeZoneAdapter.kt$SelectTimeZoneAdapter$class + MaxLineLength:SetRemindersDialog.kt$SetRemindersDialog$class + MaxLineLength:SetRemindersDialog.kt$SetRemindersDialog$val tempReminders = arrayListOf(mReminder1Minutes, mReminder2Minutes, mReminder3Minutes).filter { it != REMINDER_OFF }.sorted() + MaxLineLength:SettingsActivity.kt$SettingsActivity$IcsExporter.ExportResult.EXPORT_PARTIAL -> org.fossify.commons.R.string.exporting_some_entries_failed + MaxLineLength:SettingsActivity.kt$SettingsActivity$PermissionRequiredDialog(this, org.fossify.commons.R.string.allow_notifications_reminders, { openNotificationSettings() }) + MaxLineLength:SettingsActivity.kt$SettingsActivity$arrayOf(settingsDefaultReminder1Holder, settingsDefaultReminder2Holder, settingsDefaultReminder3Holder) + MaxLineLength:SettingsActivity.kt$SettingsActivity$settingsUseEnglishHolder.beVisibleIf((config.wasUseEnglishToggled || Locale.getDefault().language != "en") && !isTiramisuPlus()) + MaxLineLength:SettingsActivity.kt$SettingsActivity$updateMaterialActivityViews(binding.settingsCoordinator, binding.settingsHolder, useTransparentNavigation = true, useTopSearchMenu = false) + MaxLineLength:SettingsActivity.kt$SettingsActivity$val eventType = EventType(null, it.displayName, it.color, it.id, it.displayName, it.accountName) + MaxLineLength:SettingsActivity.kt$SettingsActivity$val events = eventsHelper.getEventsToExport(eventTypes, config.exportEvents, config.exportTasks, config.exportPastEntries) + MaxLineLength:SettingsActivity.kt$SettingsActivity$val reminders = sortedSetOf(config.defaultReminder1, config.defaultReminder2, config.defaultReminder3).filter { it != REMINDER_OFF } + MaxLineLength:SettingsActivity.kt$SettingsActivity$} + MaxLineLength:SimpleActivity.kt$SimpleActivity$// caldav refresh content observer triggers multiple times in a row at updating, so call the callback only a few seconds after the (hopefully) last one + MaxLineLength:SimpleActivity.kt$SimpleActivity$PermissionRequiredDialog(this, org.fossify.commons.R.string.allow_notifications_reminders, { openNotificationSettings() }) + MaxLineLength:SmallMonthView.kt$SmallMonthView$canvas.drawCircle(x * dayWidth - dayWidth / 2, y * dayWidth - dayWidth / dividerConstant, dayWidth * 0.41f, todayCirclePaint) + MaxLineLength:TaskActivity.kt$TaskActivity$// the stored value might be incorrect so update it (e.g. user completed the task via notification action before editing) + MaxLineLength:TaskActivity.kt$TaskActivity$ColorPickerDialog + MaxLineLength:TaskActivity.kt$TaskActivity$DELETE_SELECTED_OCCURRENCE -> eventsHelper.deleteRepeatingEventOccurrence(mTask.id!!, mTaskOccurrenceTS, false) + MaxLineLength:TaskActivity.kt$TaskActivity$PermissionRequiredDialog(this, org.fossify.commons.R.string.allow_notifications_reminders, { openNotificationSettings() }) + MaxLineLength:TaskActivity.kt$TaskActivity$binding.taskRepetitionRuleHolder.beVisibleIf(mRepeatInterval.isXWeeklyRepetition() || mRepeatInterval.isXMonthlyRepetition() || mRepeatInterval.isXYearlyRepetition()) + MaxLineLength:TaskActivity.kt$TaskActivity$binding.toggleMarkComplete.background = ContextCompat.getDrawable(this, org.fossify.commons.R.drawable.button_background_stroke) + MaxLineLength:TaskActivity.kt$TaskActivity$if + MaxLineLength:TaskActivity.kt$TaskActivity$items.add(RadioItem(REPEAT_ORDER_WEEKDAY_USE_LAST, getRepeatXthDayInMonthString(true, REPEAT_ORDER_WEEKDAY_USE_LAST))) + MaxLineLength:TaskActivity.kt$TaskActivity$items.add(RadioItem(REPEAT_ORDER_WEEKDAY_USE_LAST, getRepeatXthDayString(true, REPEAT_ORDER_WEEKDAY_USE_LAST))) + MaxLineLength:TaskActivity.kt$TaskActivity$mEventTypeId = if (config.defaultEventTypeId == -1L) config.lastUsedLocalEventTypeId else config.defaultEventTypeId + MaxLineLength:TaskActivity.kt$TaskActivity$mReminder1Minutes = if (usePreviousEventReminders && lastEventReminderMinutes1 >= -1) lastEventReminderMinutes1 else defaultReminder1 + MaxLineLength:TaskActivity.kt$TaskActivity$mReminder2Minutes = if (usePreviousEventReminders && lastEventReminderMinutes2 >= -1) lastEventReminderMinutes2 else defaultReminder2 + MaxLineLength:TaskActivity.kt$TaskActivity$mReminder3Minutes = if (usePreviousEventReminders && lastEventReminderMinutes3 >= -1) lastEventReminderMinutes3 else defaultReminder3 + MaxLineLength:TaskActivity.kt$TaskActivity$private fun isLastDayOfTheMonth() + MaxLineLength:TaskActivity.kt$TaskActivity$reminders = reminders.filter { it.minutes != REMINDER_OFF }.sortedBy { it.minutes }.toMutableList() as ArrayList<Reminder> + MaxLineLength:TaskActivity.kt$TaskActivity$this + MaxLineLength:TaskActivity.kt$TaskActivity$updateMaterialActivityViews(binding.taskCoordinator, binding.taskHolder, useTransparentNavigation = true, useTopSearchMenu = false) + MaxLineLength:TaskActivity.kt$TaskActivity$val + MaxLineLength:TaskActivity.kt$TaskActivity$val everyString = getString(if (isMaleGender(mTaskDateTime.dayOfWeek)) R.string.every_m else R.string.every_f) + MaxLineLength:WeekFragment.kt$WeekFragment$((currentEventWeeklyView.range.upper - currentEventWeeklyView.range.lower) * minuteHeight).toInt() - 1 + MaxLineLength:WeekFragment.kt$WeekFragment$// fix a visual glitch with all-day events or events lasting multiple days starting at midnight on monday, being shown the previous week too + MaxLineLength:WeekFragment.kt$WeekFragment$// we need to refresh all fragments because they can contain future occurrences + MaxLineLength:WeekFragment.kt$WeekFragment$DragEvent.ACTION_DRAG_STARTED -> dragEvent.clipDescription.hasMimeType(ClipDescription.MIMETYPE_TEXT_PLAIN) + MaxLineLength:WeekFragment.kt$WeekFragment$compareBy<Event> { it.startTS }.thenBy { it.endTS }.thenBy { it.title }.thenBy { if (replaceDescription) it.location else it.description } + MaxLineLength:WeekFragment.kt$WeekFragment$context?.eventsHelper + MaxLineLength:WeekFragment.kt$WeekFragment$eventWeeklyView.range.upper > eventWeeklyViewToCheck.range.lower + MaxLineLength:WeekFragment.kt$WeekFragment$scrollView.layoutParams.height = fullHeight - res.getDimension(org.fossify.commons.R.dimen.one_dp).toInt() + MaxLineLength:WeekFragment.kt$WeekFragment$val (eventId, originalStartTS, originalEndTS) = dragEvent.clipData.getItemAt(0).text.toString().split(";").map { it.toLong() } + MaxLineLength:WeekFragment.kt$WeekFragment$val clipData = ClipData.newPlainText(WEEKLY_EVENT_ID_LABEL, "${event.id};${event.startTS};${event.endTS}") + MaxLineLength:WeekFragment.kt$WeekFragment$val collisionEventWeeklyViews = eventDayList.filter { eventWeeklyView.collisions.contains(it.key) } + MaxLineLength:WeekFragment.kt$WeekFragment$val dayOfWeek = dayColumns.indexOfFirst { it.tag.toInt() == dayCodeStart || it.tag.toInt() in (dayCodeStart + 1)..dayCodeEnd } + MaxLineLength:WeekFragment.kt$WeekFragment$val isRowValidForEvent = lastEvent == null || firstEventRowIdx!! + repeatingEventIndex == index && lastEventRowIdx!! < index + MaxLineLength:WeekFragment.kt$WeekFragment$val isStartTimeDay = Formatter.getDateTimeFromTS(maxTS) == Formatter.getDateTimeFromTS(maxTS).withTimeAtStartOfDay() + MaxLineLength:WeekFragment.kt$WeekFragment$val numDays = Days.daysBetween(Formatter.getDateTimeFromTS(minTS).toLocalDate(), Formatter.getDateTimeFromTS(maxTS).toLocalDate()).days + MaxLineLength:WeekFragmentsHolder.kt$WeekFragmentsHolder$binding.weekViewDaysCount.text = requireContext().resources.getQuantityString(org.fossify.commons.R.plurals.days, cnt, cnt) + MaxLineLength:WidgetDateConfigureActivity.kt$WidgetDateConfigureActivity$if + MaxLineLength:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$else -> resources.getQuantityString(R.plurals.within_the_next_days, seconds / DAY_SECONDS, seconds / DAY_SECONDS) + MaxLineLength:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$if + MaxLineLength:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$seconds % MONTH_SECONDS == 0 -> resources.getQuantityString(R.plurals.within_the_next_months, seconds / MONTH_SECONDS, seconds / MONTH_SECONDS) + MaxLineLength:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$seconds % WEEK_SECONDS == 0 -> resources.getQuantityString(R.plurals.within_the_next_weeks, seconds / WEEK_SECONDS, seconds / WEEK_SECONDS) + MaxLineLength:WidgetMonthlyConfigureActivity.kt$WidgetMonthlyConfigureActivity$if + MaxLineLength:WidgetMonthlyConfigureActivity.kt$WidgetMonthlyConfigureActivity$override + MaxLineLength:WidgetMonthlyConfigureActivity.kt$WidgetMonthlyConfigureActivity$root.layoutParams = LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT) + MaxLineLength:YearFragment.kt$YearFragment$binding.month1Holder + MaxLineLength:YearFragment.kt$YearFragment$binding.month7Holder + MaxLineLength:YearFragmentsHolder.kt$YearFragmentsHolder$currentYear = (if (dateTimeString != null) DateTime.parse(dateTimeString) else DateTime()).toString(Formatter.YEAR_PATTERN).toInt() + NestedBlockDepth:CalDAVHelper.kt$CalDAVHelper$fun refreshCalendars(showToasts: Boolean, scheduleNextSync: Boolean, callback: () -> Unit) + NestedBlockDepth:Context.kt$inline fun Context.queryCursorInlined( uri: Uri, projection: Array<String>, selection: String? = null, selectionArgs: Array<String>? = null, sortOrder: String? = null, showErrors: Boolean = false, callback: (cursor: Cursor) -> Unit ) + NestedBlockDepth:DayEventsAdapter.kt$DayEventsAdapter$private fun setupView(view: View, event: Event) + NestedBlockDepth:EventActivity.kt$EventActivity$private fun gotEvent(savedInstanceState: Bundle?, localEventType: EventType?, event: Event?) + NestedBlockDepth:EventsHelper.kt$EventsHelper$fun getEventsSync( fromTS: Long, toTS: Long, eventId: Long = -1L, applyTypeFilter: Boolean, searchQuery: String = "", callback: (events: ArrayList<Event>) -> Unit ) + NestedBlockDepth:EventsHelper.kt$EventsHelper$fun insertOrUpdateEventTypeSync(eventType: EventType): Long + NestedBlockDepth:EventsHelper.kt$EventsHelper$private fun getEventsRepeatingTillDateOrForever(fromTS: Long, toTS: Long, startTimes: LongSparseArray<Long>, event: Event): ArrayList<Event> + NestedBlockDepth:EventsHelper.kt$EventsHelper$private fun getEventsRepeatingXTimes(fromTS: Long, toTS: Long, startTimes: LongSparseArray<Long>, event: Event): ArrayList<Event> + NestedBlockDepth:IcsExporter.kt$IcsExporter$private fun fillReminders(event: Event, out: BufferedWriter, reminderLabel: String) + NestedBlockDepth:IcsImporter.kt$IcsImporter$fun importEvents( path: String, defaultEventTypeId: Long, calDAVCalendarId: Int, overrideFileEventTypes: Boolean, eventReminders: ArrayList<Int>? = null, ): ImportResult + NestedBlockDepth:IcsImporter.kt$IcsImporter$private fun getTimestamp(fullString: String): Long + NestedBlockDepth:MainActivity.kt$MainActivity$private fun addPrivateEvents( birthdays: Boolean, contacts: ArrayList<SimpleContact>, reminders: ArrayList<Int>, callback: (eventsFound: Int, eventsAdded: Int) -> Unit ) + NestedBlockDepth:MainActivity.kt$MainActivity$private fun checkIsViewIntent() + NestedBlockDepth:MonthView.kt$MonthView$override fun onDraw(canvas: Canvas) + NestedBlockDepth:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$private fun updateDays(context: Context, views: RemoteViews, days: List<DayMonthly>) + NestedBlockDepth:Parser.kt$Parser$fun parseRepeatInterval(fullString: String, startTS: Long): EventRepetition + NestedBlockDepth:SettingsActivity.kt$SettingsActivity$private fun parseFile(inputStream: InputStream?) + NestedBlockDepth:SmallMonthView.kt$SmallMonthView$override fun onDraw(canvas: Canvas) + NestedBlockDepth:WeekFragment.kt$WeekFragment$@SuppressLint("NewApi") private fun addAllDayEvent(event: Event) + NestedBlockDepth:WeekFragment.kt$WeekFragment$private fun addEvents(events: ArrayList<Event>) + ReturnCount:EventActivity.kt$EventActivity$private fun saveEvent() + ReturnCount:HsvColorComparator.kt$HsvColorComparator$override fun compare(lhs: Int?, rhs: Int?): Int + ReturnCount:SmallMonthView.kt$SmallMonthView$private fun getPaint(curId: Int, weekDay: Int, highlightWeekends: Boolean): Paint + SwallowedException:CalDAVHelper.kt$CalDAVHelper$e: Exception + SwallowedException:CalDAVHelper.kt$CalDAVHelper$e: IllegalArgumentException + SwallowedException:Converters.kt$Converters$e: Exception + SwallowedException:Event.kt$Event$e: Exception + SwallowedException:EventActivity.kt$EventActivity$e: Exception + SwallowedException:EventsHelper.kt$EventsHelper$e: Exception + SwallowedException:MainActivity.kt$MainActivity$e: ConcurrentModificationException + SwallowedException:MainActivity.kt$MainActivity$e: Exception + SwallowedException:SettingsActivity.kt$SettingsActivity$e: ActivityNotFoundException + TooGenericExceptionCaught:Activity.kt$e: Exception + TooGenericExceptionCaught:CalDAVHelper.kt$CalDAVHelper$e: Exception + TooGenericExceptionCaught:Context.kt$e: Exception + TooGenericExceptionCaught:Converters.kt$Converters$e: Exception + TooGenericExceptionCaught:Event.kt$Event$e: Exception + TooGenericExceptionCaught:EventActivity.kt$EventActivity$e: Exception + TooGenericExceptionCaught:EventsHelper.kt$EventsHelper$e: Exception + TooGenericExceptionCaught:IcsImporter.kt$IcsImporter$e: Exception + TooGenericExceptionCaught:MainActivity.kt$MainActivity$e: Exception + TooGenericExceptionCaught:ReminderWarningDialog.kt$ReminderWarningDialog$e: Exception + TooGenericExceptionCaught:SettingsActivity.kt$SettingsActivity$e: Exception + TooManyFunctions:CalDAVHelper.kt$CalDAVHelper + TooManyFunctions:Context.kt$org.fossify.calendar.extensions.Context.kt + TooManyFunctions:DayEventsAdapter.kt$DayEventsAdapter : MyRecyclerViewAdapter + TooManyFunctions:DayFragmentsHolder.kt$DayFragmentsHolder : MyFragmentHolderNavigationListener + TooManyFunctions:Event.kt$Event : Serializable + TooManyFunctions:EventActivity.kt$EventActivity : SimpleActivity + TooManyFunctions:EventListAdapter.kt$EventListAdapter : MyRecyclerViewAdapter + TooManyFunctions:EventListFragment.kt$EventListFragment : MyFragmentHolderRefreshRecyclerViewListener + TooManyFunctions:EventListWidgetAdapter.kt$EventListWidgetAdapter : RemoteViewsFactory + TooManyFunctions:EventsDao.kt$EventsDao + TooManyFunctions:EventsHelper.kt$EventsHelper + TooManyFunctions:Formatter.kt$Formatter + TooManyFunctions:MainActivity.kt$MainActivity : SimpleActivityRefreshRecyclerViewListener + TooManyFunctions:ManageEventTypesAdapter.kt$ManageEventTypesAdapter : MyRecyclerViewAdapter + TooManyFunctions:MonthDayFragment.kt$MonthDayFragment : FragmentMonthlyCalendarRefreshRecyclerViewListener + TooManyFunctions:MonthDayFragmentsHolder.kt$MonthDayFragmentsHolder : MyFragmentHolderNavigationListener + TooManyFunctions:MonthFragmentsHolder.kt$MonthFragmentsHolder : MyFragmentHolderNavigationListener + TooManyFunctions:MonthView.kt$MonthView : View + TooManyFunctions:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider : AppWidgetProvider + TooManyFunctions:Parser.kt$Parser + TooManyFunctions:SettingsActivity.kt$SettingsActivity : SimpleActivity + TooManyFunctions:TaskActivity.kt$TaskActivity : SimpleActivity + TooManyFunctions:WeekFragment.kt$WeekFragment : FragmentWeeklyCalendar + TooManyFunctions:WeekFragmentsHolder.kt$WeekFragmentsHolder : MyFragmentHolderWeekFragmentListener + TooManyFunctions:WidgetListConfigureActivity.kt$WidgetListConfigureActivity : SimpleActivity + TooManyFunctions:WidgetMonthlyConfigureActivity.kt$WidgetMonthlyConfigureActivity : SimpleActivityMonthlyCalendar + TooManyFunctions:YearFragmentsHolder.kt$YearFragmentsHolder : MyFragmentHolderNavigationListener + UnusedPrivateProperty:YearlyCalendarImpl.kt$YearlyCalendarImpl$i + VariableNaming:DayFragmentsHolder.kt$DayFragmentsHolder$private val PREFILLED_DAYS = 251 + VariableNaming:EventActivity.kt$EventActivity$private val LAT_LON_PATTERN = "^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?)([,;])\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)\$" + VariableNaming:EventActivity.kt$EventActivity$private val SELECT_TIME_ZONE_INTENT = 1 + VariableNaming:EventListWidgetAdapter.kt$EventListWidgetAdapter$private val ITEM_EVENT = 0 + VariableNaming:EventListWidgetAdapter.kt$EventListWidgetAdapter$private val ITEM_SECTION_DAY = 1 + VariableNaming:EventListWidgetAdapter.kt$EventListWidgetAdapter$private val ITEM_SECTION_MONTH = 2 + VariableNaming:EventTypePickerActivity.kt$EventTypePickerActivity$private val TYPE_EVENT = 0 + VariableNaming:EventTypePickerActivity.kt$EventTypePickerActivity$private val TYPE_TASK = 1 + VariableNaming:IcsExporter.kt$IcsExporter$private val MAX_LINE_LENGTH = 75 + VariableNaming:ManageEventTypesAdapter.kt$ManageEventTypesAdapter$private val DELETE_EVENTS = 1 + VariableNaming:ManageEventTypesAdapter.kt$ManageEventTypesAdapter$private val MOVE_EVENTS = 0 + VariableNaming:MonthDayFragmentsHolder.kt$MonthDayFragmentsHolder$private val PREFILLED_MONTHS = 251 + VariableNaming:MonthFragmentsHolder.kt$MonthFragmentsHolder$private val PREFILLED_MONTHS = 251 + VariableNaming:MonthlyCalendarImpl.kt$MonthlyCalendarImpl$private val DAYS_CNT = 42 + VariableNaming:MonthlyCalendarImpl.kt$MonthlyCalendarImpl$private val YEAR_PATTERN = "YYYY" + VariableNaming:MyWidgetDateProvider.kt$MyWidgetDateProvider$private val OPEN_APP_INTENT_ID = 1 + VariableNaming:MyWidgetListProvider.kt$MyWidgetListProvider$private val GO_TO_TODAY = "go_to_today" + VariableNaming:MyWidgetListProvider.kt$MyWidgetListProvider$private val LAUNCH_CAL = "launch_cal" + VariableNaming:MyWidgetListProvider.kt$MyWidgetListProvider$private val NEW_EVENT = "new_event" + VariableNaming:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$private val GO_TO_TODAY = "go_to_today" + VariableNaming:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$private val NEW_EVENT = "new_event" + VariableNaming:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$private val NEXT = "next" + VariableNaming:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$private val PREV = "prev" + VariableNaming:SelectEventTypeDialog.kt$SelectEventTypeDialog$private val LAST_USED_EVENT_TYPE_ID = -1L + VariableNaming:SelectEventTypeDialog.kt$SelectEventTypeDialog$private val NEW_EVENT_TYPE_ID = -2L + VariableNaming:SettingsActivity.kt$SettingsActivity$private val GET_RINGTONE_URI = 1 + VariableNaming:SettingsActivity.kt$SettingsActivity$private val PICK_EVENTS_EXPORT_FILE_INTENT = 4 + VariableNaming:SettingsActivity.kt$SettingsActivity$private val PICK_EVENTS_IMPORT_SOURCE_INTENT = 3 + VariableNaming:SettingsActivity.kt$SettingsActivity$private val PICK_SETTINGS_IMPORT_SOURCE_INTENT = 2 + VariableNaming:SimpleActivity.kt$SimpleActivity$val CALDAV_REFRESH_DELAY = 3000L + VariableNaming:WeekFragment.kt$WeekFragment$private val MAX_SCALE_FACTOR = 5f + VariableNaming:WeekFragment.kt$WeekFragment$private val MIN_SCALE_DIFFERENCE = 0.02f + VariableNaming:WeekFragment.kt$WeekFragment$private val MIN_SCALE_FACTOR = 0.3f + VariableNaming:WeekFragment.kt$WeekFragment$private val PLUS_FADEOUT_DELAY = 5000L + VariableNaming:WeekFragment.kt$WeekFragment$private val SCALE_RANGE = MAX_SCALE_FACTOR - MIN_SCALE_FACTOR + VariableNaming:WeekFragment.kt$WeekFragment$private val WEEKLY_EVENT_ID_LABEL = "event_id_label" + VariableNaming:WeekFragmentsHolder.kt$WeekFragmentsHolder$private val MAX_SEEKBAR_VALUE = 14 + VariableNaming:WeekFragmentsHolder.kt$WeekFragmentsHolder$private val PREFILLED_WEEKS = 151 + VariableNaming:WeeklyViewGrid.kt$WeeklyViewGrid$private val ROWS_CNT = 24 + VariableNaming:YearFragmentsHolder.kt$YearFragmentsHolder$private val PREFILLED_YEARS = 61 + WildcardImport:Activity.kt$import org.fossify.calendar.helpers.* + WildcardImport:Activity.kt$import org.fossify.commons.extensions.* + WildcardImport:BootCompletedReceiver.kt$import org.fossify.calendar.extensions.* + WildcardImport:CalDAVHelper.kt$import android.provider.CalendarContract.* + WildcardImport:CalDAVHelper.kt$import org.fossify.calendar.extensions.* + WildcardImport:CalDAVHelper.kt$import org.fossify.calendar.models.* + WildcardImport:CalDAVHelper.kt$import org.fossify.commons.extensions.* + WildcardImport:Context.kt$import android.app.* + WildcardImport:Context.kt$import org.fossify.calendar.helpers.* + WildcardImport:Context.kt$import org.fossify.calendar.models.* + WildcardImport:Context.kt$import org.fossify.commons.extensions.* + WildcardImport:Context.kt$import org.fossify.commons.helpers.* + WildcardImport:CustomEventRepeatIntervalDialog.kt$import org.fossify.commons.extensions.* + WildcardImport:CustomPeriodPickerDialog.kt$import org.fossify.commons.extensions.* + WildcardImport:DayEventsAdapter.kt$import org.fossify.calendar.extensions.* + WildcardImport:DayFragment.kt$import org.fossify.calendar.helpers.* + WildcardImport:DayFragment.kt$import org.fossify.commons.extensions.* + WildcardImport:EditEventTypeDialog.kt$import org.fossify.commons.extensions.* + WildcardImport:Event.kt$import org.fossify.calendar.helpers.* + WildcardImport:EventActivity.kt$import org.fossify.calendar.dialogs.* + WildcardImport:EventActivity.kt$import org.fossify.calendar.extensions.* + WildcardImport:EventActivity.kt$import org.fossify.calendar.helpers.* + WildcardImport:EventActivity.kt$import org.fossify.calendar.models.* + WildcardImport:EventActivity.kt$import org.fossify.commons.extensions.* + WildcardImport:EventActivity.kt$import org.fossify.commons.helpers.* + WildcardImport:EventListAdapter.kt$import org.fossify.calendar.extensions.* + WildcardImport:EventListAdapter.kt$import org.fossify.calendar.helpers.* + WildcardImport:EventListFragment.kt$import org.fossify.calendar.extensions.* + WildcardImport:EventListFragment.kt$import org.fossify.calendar.helpers.* + WildcardImport:EventListFragment.kt$import org.fossify.commons.extensions.* + WildcardImport:EventListWidgetAdapter.kt$import org.fossify.calendar.extensions.* + WildcardImport:EventListWidgetAdapter.kt$import org.fossify.calendar.helpers.* + WildcardImport:EventListWidgetAdapter.kt$import org.fossify.calendar.models.* + WildcardImport:EventListWidgetAdapter.kt$import org.fossify.commons.extensions.* + WildcardImport:EventTypesDao.kt$import androidx.room.* + WildcardImport:EventsDao.kt$import org.fossify.calendar.helpers.* + WildcardImport:EventsHelper.kt$import org.fossify.calendar.extensions.* + WildcardImport:ExportEventsDialog.kt$import org.fossify.commons.extensions.* + WildcardImport:ImportEventsDialog.kt$import org.fossify.commons.extensions.* + WildcardImport:MainActivity.kt$import org.fossify.calendar.extensions.* + WildcardImport:MainActivity.kt$import org.fossify.calendar.fragments.* + WildcardImport:MainActivity.kt$import org.fossify.calendar.helpers.* + WildcardImport:MainActivity.kt$import org.fossify.commons.extensions.* + WildcardImport:MainActivity.kt$import org.fossify.commons.helpers.* + WildcardImport:ManageAutomaticBackupsDialog.kt$import org.fossify.commons.extensions.* + WildcardImport:ManageEventTypesAdapter.kt$import android.view.* + WildcardImport:ManageEventTypesAdapter.kt$import org.fossify.commons.extensions.* + WildcardImport:MonthDayFragment.kt$import org.fossify.calendar.extensions.* + WildcardImport:MonthView.kt$import android.graphics.* + WildcardImport:MonthView.kt$import org.fossify.calendar.extensions.* + WildcardImport:MonthView.kt$import org.fossify.commons.extensions.* + WildcardImport:MyWidgetMonthlyProvider.kt$import org.fossify.calendar.extensions.* + WildcardImport:MyWidgetMonthlyProvider.kt$import org.fossify.commons.extensions.* + WildcardImport:Parser.kt$import org.fossify.commons.helpers.* + WildcardImport:ReminderWarningDialog.kt$import org.fossify.commons.extensions.* + WildcardImport:RepeatLimitTypePickerDialog.kt$import org.fossify.commons.extensions.* + WildcardImport:SelectEventCalendarDialog.kt$import org.fossify.commons.extensions.* + WildcardImport:SelectEventTypeDialog.kt$import org.fossify.commons.extensions.* + WildcardImport:SetRemindersDialog.kt$import org.fossify.commons.extensions.* + WildcardImport:SettingsActivity.kt$import org.fossify.calendar.dialogs.* + WildcardImport:SettingsActivity.kt$import org.fossify.calendar.extensions.* + WildcardImport:SettingsActivity.kt$import org.fossify.calendar.helpers.* + WildcardImport:SettingsActivity.kt$import org.fossify.commons.dialogs.* + WildcardImport:SettingsActivity.kt$import org.fossify.commons.extensions.* + WildcardImport:SettingsActivity.kt$import org.fossify.commons.helpers.* + WildcardImport:SplashActivity.kt$import org.fossify.calendar.helpers.* + WildcardImport:TaskActivity.kt$import org.fossify.calendar.dialogs.* + WildcardImport:TaskActivity.kt$import org.fossify.calendar.extensions.* + WildcardImport:TaskActivity.kt$import org.fossify.calendar.helpers.* + WildcardImport:TaskActivity.kt$import org.fossify.commons.extensions.* + WildcardImport:TaskActivity.kt$import org.fossify.commons.helpers.* + WildcardImport:WeekFragment.kt$import android.view.* + WildcardImport:WeekFragment.kt$import org.fossify.calendar.databinding.* + WildcardImport:WeekFragment.kt$import org.fossify.calendar.extensions.* + WildcardImport:WeekFragment.kt$import org.fossify.calendar.helpers.* + WildcardImport:WeekFragment.kt$import org.fossify.commons.extensions.* + WildcardImport:WeekFragment.kt$import org.fossify.commons.helpers.* + WildcardImport:WeekFragmentsHolder.kt$import org.fossify.calendar.extensions.* + WildcardImport:WeekFragmentsHolder.kt$import org.fossify.commons.extensions.* + WildcardImport:WidgetDateConfigureActivity.kt$import org.fossify.commons.extensions.* + WildcardImport:WidgetListConfigureActivity.kt$import org.fossify.commons.extensions.* + WildcardImport:WidgetListConfigureActivity.kt$import org.fossify.commons.helpers.* + WildcardImport:WidgetMonthlyConfigureActivity.kt$import org.fossify.commons.extensions.* + + diff --git a/app/lint-baseline.xml b/app/lint-baseline.xml new file mode 100644 index 000000000..fcb0a4cbf --- /dev/null +++ b/app/lint-baseline.xml @@ -0,0 +1,5385 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build.gradle.kts b/build.gradle.kts index 287277090..004cb46c4 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,6 +2,7 @@ plugins { alias(libs.plugins.android).apply(false) alias(libs.plugins.kotlinAndroid).apply(false) alias(libs.plugins.ksp).apply(false) + alias(libs.plugins.detekt).apply(false) } tasks.register("clean") { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d3fdefe82..def2c3ffc 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,6 +3,8 @@ kotlin = "1.9.21" #KSP ksp = "1.9.21-1.0.16" +#Detekt +detekt = "1.23.3" #Androidx multidex = "2.0.1" print = "1.0.0" @@ -45,4 +47,4 @@ room = [ android = { id = "com.android.application", version.ref = "gradlePlugins-agp" } ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } kotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } - +detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }