Merge branch 'master' into LongClickForNew

This commit is contained in:
Naveen Singh
2024-11-03 11:21:12 -05:00
committed by GitHub
68 changed files with 6691 additions and 57 deletions

View File

@@ -28,6 +28,7 @@ function log(toLog) {
*/
function getEvents(countryCode) {
const generator = new Holidays(countryCode);
generator.setTimezone("UTC");
const events = [];
for (let i = START_YEAR; i <= END_YEAR; i++) {
events.push(...generator.getHolidays(i).filter((x) => TYPE_WHITELIST.includes(x.type)));
@@ -54,7 +55,7 @@ function generateUid(countryCode, date, rule) {
* @returns
*/
function getDateArray(date) {
return [date.getFullYear(), date.getMonth() + 1, date.getDate()];
return [date.getUTCFullYear(), date.getUTCMonth() + 1, date.getUTCDate()];
}
/**
@@ -79,9 +80,9 @@ async function generateIcal(events, countryCode) {
if (isFixedDate(x.rule)) {
const uid = generateUid(countryCode, "", x.rule);
if (!eventsMap.has(uid)) {
const yearDiff = x.end.getFullYear() - x.start.getFullYear();
x.start.setFullYear(FIXED_DATE_START_YEAR);
x.end.setFullYear(FIXED_DATE_START_YEAR + yearDiff);
const yearDiff = x.end.getUTCFullYear() - x.start.getUTCFullYear();
x.start.setUTCFullYear(FIXED_DATE_START_YEAR);
x.end.setUTCFullYear(FIXED_DATE_START_YEAR + yearDiff);
eventsMap.set(uid, {
title: x.name,
uid,

View File

@@ -34,7 +34,7 @@ module.exports = async ({github, context}) => {
// Regex for finding images (simple variant) ![ALT_TEXT](https://*.githubusercontent.com/<number>/<variousHexStringsAnd->.<fileExtension>)
const REGEX_USER_CONTENT_IMAGE_LOOKUP = /\!\[(.*)\]\((https:\/\/[-a-z0-9]+\.githubusercontent\.com\/\d+\/[-0-9a-f]{32,512}\.(jpg|gif|png))\)/gm;
const REGEX_ASSETS_IMAGE_LOCKUP = /\!\[(.*)\]\((https:\/\/github\.com\/[-\w\d]+\/[-\w\d]+\/assets\/\d+\/[\-0-9a-f]{32,512})\)/gm;
const REGEX_ASSETS_IMAGE_LOCKUP = /\!\[(.*)\]\((https:\/\/github\.com\/user-attachments\/assets\/[\-0-9a-f]{36,})\)/gm;
// Check if we found something
let foundSimpleImages = REGEX_USER_CONTENT_IMAGE_LOOKUP.test(initialBody)

View File

@@ -17,9 +17,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: 16
@@ -27,7 +27,7 @@ jobs:
run: npm i probe-image-size@7.2.3 --ignore-scripts
- name: Minimize simple images
uses: actions/github-script@v6
uses: actions/github-script@v7
timeout-minutes: 3
with:
script: |

View File

@@ -21,5 +21,5 @@ jobs:
with:
token: ${{ github.token }}
# Number of days of inactivity before an issue is closed for lack of response.
daysUntilClose: 30
daysUntilClose: 14
responseRequiredLabel: waiting for author

9
.github/workflows/pr.yml vendored Normal file
View File

@@ -0,0 +1,9 @@
name: PR
on:
pull_request:
branches: [ master ]
jobs:
call-pr-workflow:
uses: FossifyOrg/.github/.github/workflows/pr.yml@main

10
.github/workflows/testing-build.yml vendored Normal file
View File

@@ -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

View File

@@ -2,7 +2,7 @@
Before you report something, read the reporting rules [here](https://github.com/FossifyOrg/General-Discussion#how-do-i-suggest-an-improvement-ask-a-question-or-report-an-issue) please.
### Contributing as a developer
Some instructions about code style and everything that has to be done to increase the change of your code getting accepted can be found at the [General Discussion](https://github.com/FossifyOrg/General-Discussion#contribution-rules-for-developers) section.
Some instructions about code style and everything that has to be done to increase the chance of your code getting accepted can be found at the [General Discussion](https://github.com/FossifyOrg/General-Discussion#contribution-rules-for-developers) section.
### Contributing as a non developer
In case you just want to for example improve a translation, you can find the way of doing it [here](https://github.com/FossifyOrg/General-Discussion#how-can-i-suggest-an-edit-to-a-file).

View File

@@ -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)

821
app/detekt-baseline.xml Normal file
View File

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

5385
app/lint-baseline.xml Normal file
View File

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,128 @@
BEGIN:VCALENDAR
BEGIN:VEVENT
UID:bgd_1
DTSTART;VALUE=DATE:20250221
DTEND;VALUE=DATE:20250222
RRULE:FREQ=YEARLY;INTERVAL=1
SUMMARY:শহীদ দিবস
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:bgd_2
DTSTART;VALUE=DATE:20250317
DTEND;VALUE=DATE:20250318
RRULE:FREQ=YEARLY;INTERVAL=1
SUMMARY:শেখ মুজিবুর রহমানের জন্মদিন
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:bgd_3
DTSTART;VALUE=DATE:20250326
DTEND;VALUE=DATE:20250327
RRULE:FREQ=YEARLY;INTERVAL=1
SUMMARY:স্বাধীনতা দিবস
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:bgd_4
DTSTART;VALUE=DATE:20250414
DTEND;VALUE=DATE:20250415
RRULE:FREQ=YEARLY;INTERVAL=1
SUMMARY:পহেলা বৈশাখ
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:bgd_5
DTSTART;VALUE=DATE:20250501
DTEND;VALUE=DATE:20250502
RRULE:FREQ=YEARLY;INTERVAL=1
SUMMARY:মে দিবস
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:bgd_6
DTSTART;VALUE=DATE:20241216
DTEND;VALUE=DATE:20241217
RRULE:FREQ=YEARLY;INTERVAL=1
SUMMARY:বিজয় দিবস
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:bgd_7
DTSTART;VALUE=DATE:20241225
DTEND;VALUE=DATE:20241226
RRULE:FREQ=YEARLY;INTERVAL=1
SUMMARY:বড়দিন
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:bgd_8
DTSTART;VALUE=DATE:20250214
DTEND;VALUE=DATE:20250215
SUMMARY:শবে বরাত
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:bgd_9
DTSTART;VALUE=DATE:20250327
DTEND;VALUE=DATE:20250328
SUMMARY:শবে কদর
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:bgd_10
DTSTART;VALUE=DATE:20250328
DTEND;VALUE=DATE:20250329
SUMMARY:জুমাতুল বিদা
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:bgd_11
DTSTART;VALUE=DATE:20250331
DTEND;VALUE=DATE:20250403
SUMMARY:ঈদুল ফিতর
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:bgd_12
DTSTART;VALUE=DATE:20250505
DTEND;VALUE=DATE:20250506
SUMMARY:বুদ্ধ পূর্ণিমা
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:bgd_13
DTSTART;VALUE=DATE:20250606
DTEND;VALUE=DATE:20250509
SUMMARY:ঈদুল আজহা
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:bgd_14
DTSTART;VALUE=DATE:20250706
DTEND;VALUE=DATE:20250707
SUMMARY:আশুরা
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:bgd_15
DTSTART;VALUE=DATE:20250816
DTEND;VALUE=DATE:20250817
SUMMARY:জন্মাষ্টমী
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:bgd_16
DTSTART;VALUE=DATE:20250905
DTEND;VALUE=DATE:20250906
SUMMARY:ঈদে মিলাদুন্নবী
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:bgd_17
DTSTART;VALUE=DATE:20251002
DTEND;VALUE=DATE:20251003
SUMMARY:বিজয়া দশমী
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR

View File

@@ -367,7 +367,7 @@ fun getAllTimeZones() = arrayListOf(
MyTimeZone("GMT+5:30", "Asia/Kolkata"),
MyTimeZone("GMT+5:45", "Asia/Kathmandu"),
MyTimeZone("GMT+6", "Antarctica/Vostok"),
MyTimeZone("GMT+6", "Asia/Almaty"),
MyTimeZone("GMT+5", "Asia/Almaty"),
MyTimeZone("GMT+6", "Asia/Bishkek"),
MyTimeZone("GMT+6", "Asia/Dhaka"),
MyTimeZone("GMT+6", "Asia/Omsk"),

View File

@@ -134,7 +134,7 @@
<string name="select_event_type">Seleccioneu un tipus d\'esdeveniment</string>
<string name="move_events_into_default">Mou els esdeveniments afectats dins el tipus d\'esdeveniment predeterminat</string>
<string name="remove_affected_events">Elimina permanentment els esdeveniments afectats</string>
<string name="unsync_caldav_calendar">Per eliminar un calendari CalDAV, cal dessincronitzar-lo</string>
<string name="unsync_caldav_calendar">Per a eliminar un calendari CalDAV, cal dessincronitzar-lo</string>
<string name="holidays">Festius</string>
<string name="add_holidays">Afegeix festius</string>
<string name="national_holidays">Festius nacionals</string>
@@ -199,7 +199,7 @@
<string name="syncing">S\'està sincronitzant…</string>
<string name="synchronization_completed">S\'ha completat la sincronització</string>
<string name="select_a_different_caldav_color">Seleccioneu un color diferent (només es pot aplicar localment)</string>
<string name="insufficient_permissions">No teniu permís per escriure al calendari seleccionat</string>
<string name="insufficient_permissions">No teniu permís per a escriure al calendari seleccionat</string>
<string name="caldav_event_not_found">No s\'ha trobat l\'esdeveniment. Activeu la sincronització de CalDAV per al calendari adequat a la configuració de l\'aplicació.</string>
<string name="no_synchronized_calendars">No s\'ha trobat cap calendari que es pugui sincronitzar</string>
<string name="status_free">Lliure</string>
@@ -251,7 +251,7 @@
<string name="faq_5_title">L\'aplicació no mostra cap notificació, per què és això\?</string>
<string name="faq_5_text">Comproveu la bateria del dispositiu i la configuració de notificacions, si no hi ha res que bloquegi els recordatoris o que mati l\'aplicació en segon pla. També us recomanem que doneu una ullada a &lt;a href=https://dontkillmyapp.com&gt;https://dontkillmyapp.com&lt;/a&gt;, té alguns consells útils.</string>
<string name="faq_6_title">Com puc modificar o suprimir un tipus d\'esdeveniment existent\?</string>
<string name="faq_6_text">Podeu fer les dues coses a la Configuració de l\'aplicació - Gestiona els tipus d\'esdeveniments. Només cal fer clic en el desitjat per canviar l\'etiqueta o el color, o el podeu seleccionar prement-lo prolongadament i utilitzeu la paperera del menú superior per suprimir-lo.</string>
<string name="faq_6_text">Podeu fer les dues coses a la Configuració de l\'aplicació - Gestiona els tipus d\'esdeveniments. Només cal fer clic en el desitjat per a canviar l\'etiqueta o el color, o el podeu seleccionar prement-lo prolongadament i utilitzeu la paperera del menú superior per a suprimir-lo.</string>
<string name="event_color">Color de l\'esdeveniment</string>
<string name="default_calendar_color">Color del calendari predeterminat</string>
<string name="color">Color</string>

View File

@@ -172,7 +172,7 @@
<string name="alarm_stream">Alarma</string>
<string name="notification_stream">Jakinarazpena</string>
<string name="ring_stream">Jo tonua</string>
<string name="use_last_event_reminders">Erabili aurreko gertaeren abisuak gertaera berrien lehenetsitako gisa</string>
<string name="use_last_event_reminders">Erabili azken gertaeraren abisuak gertaera berrien lehenetsitako gisa</string>
<string name="default_reminder_1">Lehenetsitako abisua 1</string>
<string name="default_reminder_2">Lehenetsitako abisua 2</string>
<string name="default_reminder_3">Lehenetsitako abisua 3</string>
@@ -244,7 +244,7 @@
<string name="faq_3_title">Abisu bisualak ikusten ditut, baina audiorik ez dut entzuten. Zer egin dezaket\?</string>
<string name="faq_3_text">Abisua bistaratzeari eta audioa erreproduzitzeari sistemak eragiten dio. Soinurik ez baduzu entzuten, saiatu aplikazioaren ezarpenetara joaten, \"Abisuek erabilitako audio-transmisioa\" aukera sakatu eta balio ezberdina jarri. Oraindik ez badabil, egiaztatu soinu-ezarpenak, transmisio jakina mututua ez badago.</string>
<string name="faq_4_title">Aplikazioak ordu-zonak onartzen ditu\?</string>
<string name="faq_4_text">Bai, onartzen ditu. Gertaera guztiak zure ordu-zonaren arabera sortzen dira modu lehenetsian. Gertaera baten ordu-zona aldatu nahi baduzu, lehenengo ordu-zonaren hautatzailea gaitu behar duzu aplikazioaren ezarpenetan eta, ondoren, Gartaeraren xehetasunen pantailan aldatu. Modu lehenetsian desgaituta dago, jende gehienak ez duelako behar.</string>
<string name="faq_4_text">Bai, onartzen ditu. Gertaera guztiak zure ordu-zonaren arabera sortzen dira modu lehenetsian. Gertaera baten ordu-zona aldatu nahi baduzu, lehenengo ordu-zonaren hautatzailea gaitu behar duzu aplikazioaren ezarpenetan eta, ondoren, gertaeraren xehetasunen pantailan aldatu. Modu lehenetsian desgaituta dago, jende gehienak ez duelako behar.</string>
<string name="faq_5_title">Aplikazioak ez du jakinarazpenik erakusten, zergatik\?</string>
<string name="faq_5_text">Egiaztatu gailuaren bateria eta jakinarazpenen ezarpenak, egiaztatu abisuak ez daudela blokeatuta edo aplikazioa bigarren planoan exekutatzea galarazten duen ezer ez dagoela. Baliteke &lt;a href=https://dontkillmyapp.com&gt;https://dontkillmyapp.com&lt;/a&gt; helbidera ere begiratu nahi izatea, aholku erabilgarriak ditu.</string>
<string name="faq_6_title">Nola aldatu edo ezabatu dezaket lehendik dagoen gertaera mota bat\?</string>

View File

@@ -110,16 +110,16 @@
<string name="enter_a_country">Masukkan nama negara atau zona waktu</string>
<string name="import_events">Impor acara</string>
<string name="export_events">Ekspor acara</string>
<string name="import_events_from_ics">Impor acara dari berkas .ics</string>
<string name="import_events_from_ics_pro">Impor acara dari berkas .ics (Pro)</string>
<string name="export_events_to_ics">Ekspor acara ke berkas .ics</string>
<string name="import_events_from_ics">Impor acara dari file .ics</string>
<string name="import_events_from_ics_pro">Impor acara dari file .ics (Pro)</string>
<string name="export_events_to_ics">Ekspor acara ke file .ics</string>
<string name="default_event_type">Kategori acara default</string>
<string name="export_past_events_too">Ekspor juga acara yang sudah lewat</string>
<string name="export_tasks">Ekspor tugas</string>
<string name="export_past_entries">Ekspor entri masa lalu juga</string>
<string name="include_event_types">Sertakan kategori acara</string>
<string name="filename_without_ics">Nama berkas (tanpa .ics)</string>
<string name="ignore_event_types">Abaikan jenis peristiwa dalam berkas, selalu gunakan yang bawaan</string>
<string name="filename_without_ics">Nama file (tanpa .ics)</string>
<string name="ignore_event_types">Abaikan jenis peristiwa dalam file, selalu gunakan yang bawaan</string>
<string name="location">Lokasi</string>
<string name="description">Deskripsi</string>
<string name="all_day">Sepanjang hari</string>
@@ -189,7 +189,7 @@
<string name="allow_changing_time_zones">Izinkan mengubah zona waktu acara</string>
<string name="manage_quick_filter_event_types">Kelola penyaringan cepat jenis peristiwa</string>
<string name="allow_creating_tasks">Perbolehkan membuat tugas</string>
<string name="select_caldav_calendars">Pilih kalender untuk sinkronisasi</string>
<string name="select_caldav_calendars">Pilih kalender yang akan disinkronkan</string>
<string name="manage_synced_calendars">Kelola kalender yang disinkronkan</string>
<string name="store_locally_only">Hanya simpan secara lokal</string>
<string name="refresh_caldav_calendars">Segarkan kalender CalDAV</string>
@@ -215,7 +215,7 @@
<string name="sample_description_1">Jalan santai</string>
<string name="sample_title_2">Rapat dengan Budi</string>
<string name="sample_description_2">Di Taman Mini Indonesia Indah</string>
<string name="sample_title_3">Perpustakaan</string>
<string name="sample_title_3">Pustaka</string>
<string name="sample_title_4">Makan siang dengan Wati</string>
<string name="sample_description_4">Di Mall</string>
<string name="sample_title_5">Waktunya Ngopi</string>
@@ -238,7 +238,7 @@
<string name="faq_6_text">Anda dapat melakukan kedua-duanya dalam Pengaturan - Kelola jenis acara. Klik saja yang diinginkan untuk mengubah label atau warna, atau pilih yang tidak diinginkan dengan menekannya dengan lama dan gunakan tong sampah di atas menu untuk dihapus.</string>
<string name="event_color">Warna acara</string>
<string name="default_calendar_color">Warna bawaan kalender</string>
<string name="caldav">CalDAV</string>
<string name="caldav">Sinkronisasi CalDAV</string>
<string name="status_free">Menunggu perintah</string>
<plurals name="within_the_next_days">
<item quantity="other">Dalam %d hari berikutnya</item>

View File

@@ -5,7 +5,7 @@
<string name="daily_view">일간 보기</string>
<string name="weekly_view">주간 보기</string>
<string name="monthly_view">월간 보기</string>
<string name="monthly_daily_view">Monthly + daily view</string>
<string name="monthly_daily_view">월간 + 일간 보기</string>
<string name="yearly_view">연간 보기</string>
<string name="simple_event_list">일정 목록</string>
<string name="go_to_today">오늘로 이동</string>
@@ -23,7 +23,7 @@
<string name="event_updated">일정을 수정했습니다</string>
<string name="filter_events_by_type">유형별 일정</string>
<string name="please_fill_location">지도에 표시할 검색명을 입력해주세요</string>
<string name="public_event_notification_text">다가오는 일정이 있습니다.</string>
<string name="public_event_notification_text">다가오는 일정이 있습니다</string>
<string name="repetition">반복</string>
<string name="no_repetition">반복 없음</string>
<string name="daily">매일</string>
@@ -47,7 +47,7 @@
<string name="repeat_forever">영원히 반복</string>
<string name="times"></string>
<string name="repeat">반복</string>
<string name="repeat_on">특정요일 반복</string>
<string name="repeat_on">특정 요일 반복</string>
<string name="selected_days">선택한 요일에</string>
<string name="the_same_day">같은 날</string>
<string name="the_last_day">마지막 날</string>
@@ -112,12 +112,12 @@
<string name="select_event_type">일정 유형 선택</string>
<string name="move_events_into_default">해당 유형 일정들 기본 유형으로 변경</string>
<string name="remove_affected_events">해당 유형 일정들 모두 제거</string>
<string name="unsync_caldav_calendar">CalDAV 캘린더를 제거하려면 동기화를 해제해야합니다.</string>
<string name="unsync_caldav_calendar">CalDAV 캘린더를 제거하려면 동기화를 해제해야합니다</string>
<string name="holidays">공휴일</string>
<string name="add_holidays">공휴일 추가</string>
<string name="national_holidays">국경일</string>
<string name="religious_holidays">종교 휴일</string>
<string name="holidays_imported_successfully">공휴일을 새 일정 유형으로 가져왔습니다.</string>
<string name="holidays_imported_successfully">공휴일을 새 일정 유형으로 가져왔습니다</string>
<string name="importing_some_holidays_failed">일부 일정을 가져오지 못했습니다</string>
<string name="importing_holidays_failed">공휴일을 가져오는데 실패했습니다</string>
<string name="manage_event_types">일정 유형 관리</string>
@@ -129,7 +129,7 @@
<string name="reminder_sound">알림 소리</string>
<string name="no_ringtone_picker">벨소리를 설정할 수 있는 앱이 없습니다</string>
<string name="no_ringtone_selected">없음</string>
<string name="day_end_before_start">종료시간이 시작시간보다 빠를 수 없습니다.</string>
<string name="day_end_before_start">종료시간이 시작시간보다 빠를 수 없습니다</string>
<string name="caldav_sync">CalDAV 동기화</string>
<string name="event_lists">일정 목록</string>
<string name="display_past_events">과거의 일정 표시</string>
@@ -158,7 +158,7 @@
<string name="last_used_one">마지막으로 사용한 것</string>
<string name="other_time">다른 시간</string>
<string name="highlight_weekends">화면에서 주말 표시</string>
<string name="allow_changing_time_zones">이벤트 시간대 변경 허용</string>
<string name="allow_changing_time_zones">일정 시간대 변경 허용</string>
<string name="select_caldav_calendars">동기화 할 캘린더 선택</string>
<string name="manage_synced_calendars">동기화된 캘린더 관리</string>
<string name="store_locally_only">로컬에만 저장</string>
@@ -169,7 +169,7 @@
<string name="syncing">동기화중…</string>
<string name="synchronization_completed">동기화 완료</string>
<string name="select_a_different_caldav_color">다른 색상을 선택해주세요(로컬에만 적용 가능)</string>
<string name="insufficient_permissions">선택한 캘린더에 작성할 수 없습니다.</string>
<string name="insufficient_permissions">선택한 캘린더에 작성할 수 없습니다</string>
<string name="caldav_event_not_found">일정을 찾을 수 없습니다. 앱 설정에서 해당 캘린더에 대해 CalDAV 동기화를 활성화해주세요.</string>
<string name="monday_alt">월요일</string>
<string name="tuesday_alt">화요일</string>
@@ -192,4 +192,66 @@
<string name="faq_2_text">네 가능합니다. 앱 설정에서 \"CalDAV 동기화\"를 켜고 동기화하려는 캘린더를 선택할 수 있습니다. 그러나 핸드폰과 서버간의 동기화를 처리하는 타사 앱이 필요합니다. Google 캘린더를 동기화하려는 경우 공식 캘린더 앱이 작업을 수행합니다. 만약 다른 캘린더를 동기화하려면 동기화를 도와주는 타사 앱(ex : DAVx5)이 필요합니다.</string>
<string name="faq_3_title">일정에 대한 알림이 화면에 뜨지만 알림음이 들리지 않습니다. 어떻게 해야하나요\?</string>
<string name="faq_3_text">알림을 화면에 표시하는 것 뿐만 아니라 알림음도 시스템의 영향을 크게 받습니다. 소리가 들리지 않는다면 앱 설정으로 이동하여 \"알림음 출력 방식\" 옵션을 누르고 다른 방식으로 변경해보세요. 그래도 알림음이 들리지 않는다면 특정 출력 방식이 음소거되어 있을 가능성이 있습니다. 핸드폰의 사운드 설정을 확인해주세요.</string>
<string name="everything_filtered_out">어떤 일정 유형도 선택되지 않았습니다</string>
<string name="event_color">일정 색상</string>
<string name="task">할 일</string>
<string name="tasks">할 일들</string>
<string name="edit_task">할 일 수정</string>
<string name="duplicate_task">중복 할 일 생성</string>
<string name="update_this_and_future_occurrences">선택한 항목과 이후 모든 항목 변경</string>
<string name="fifth_f">다섯 번째</string>
<string name="add_birthdays_automatically">새로운 생일 자동 추가</string>
<string name="reminders">알림</string>
<string name="ignore_event_types">파일에서 일정 유형을 무시하고 항상 기본 유형 사용</string>
<string name="display_description_or_location">설명 또는 위 표시</string>
<string name="dim_completed_tasks">완료한 할 일 희미하게 표시</string>
<string name="current_time">현재 시간</string>
<string name="highlight_weekends_color">주말 색상 강조 표시</string>
<string name="allow_creating_tasks">할 일 생성 허용</string>
<string name="no_synchronized_calendars">동기화할 수 있는 달력을 찾을 수 없습니다</string>
<string name="status_free">한가함</string>
<string name="status_busy">바쁨</string>
<string name="fetching_event_failed">%s 일정 가져오기 실패</string>
<plurals name="within_the_next_weeks">
<item quantity="other">다음 %d 주 안에</item>
</plurals>
<plurals name="within_the_next_months">
<item quantity="other">다음 %d 개월 안에</item>
</plurals>
<string name="faq_6_title">일정 유형을 바꾸거나 없애려면 어떻게 해야하나요?</string>
<string name="accessibility_next_day">다음 일로 이동</string>
<string name="within_the_next">다음 안에…</string>
<string name="widget_todays_date">오늘 달력</string>
<string name="add_anniversaries_automatically">새로운 기념일 자동 추가</string>
<string name="accessibility_previous_month">이전 월로 이동</string>
<string name="accessibility_next_month">다음 월로 이동</string>
<string name="fifth_m">다섯 번째</string>
<string name="enter_a_country">국가 또는 시간대 입력</string>
<string name="export_tasks">할 일 내보내기</string>
<string name="export_past_entries">과거 항목 포함 내보내기</string>
<string name="accessibility_previous_day">이전 일로 이동</string>
<string name="no_upcoming_events">예정된 일정이 없습니다.</string>
<string name="default_calendar_color">기본 캘린더 색상</string>
<string name="new_task">새 할 일</string>
<string name="create_new_task">새 할 일 생성</string>
<string name="mark_completed">완료 표시</string>
<string name="mark_incomplete">미완료 표시</string>
<string name="task_color">할 일 색상</string>
<string name="task_is_repeatable">반복 할 일입니다</string>
<string name="delete_all_events_and_tasks">모든 일정 및 할 일 삭제</string>
<plurals name="within_the_next_days">
<item quantity="other">다음 %d 일 안에</item>
</plurals>
<string name="caldav">CalDAV</string>
<string name="show_events_happening">현재 일정 표시:</string>
<string name="within_the_next_one_year">다음 1년 안에</string>
<string name="today_only">오늘만</string>
<string name="manage_quick_filter_event_types">일정 유형 빠른 필터 관리</string>
<string name="faq_2_title_extra">다른 사람들과 캘린더를 공유할 수 있나요?</string>
<string name="faq_4_title">엡에서 시간대를 지원하나요?</string>
<string name="faq_5_title">앱에 알림이 표시되지 않는데 왜 그런가요?</string>
<string name="midnight_spanning">자정에 걸쳐 진행되는 이벤트 상단 바에 표시하기</string>
<string name="faq_4_text">네, 그렇습니다. 기본적으로 모든 일정은 현재 시간대에 생성됩니다. 일정의 시간대를 변경하려면 먼저 앱 설정에서 일정 시간대 변경 허용를 활성화한 다음 일정 세부정보 화면에서 시간대를 변경해야 합니다. 대부분의 사람들은 이 기능이 필요하지 않으므로 기본적으로 비활성화되어 있습니다.</string>
<string name="faq_5_text">알림을 차단하거나 백그라운드에서 앱을 종료하는 것이 없는지 디바이스 배터리 및 알림 설정을 확인 해보세요. 추가적으로 &lt;a href=https://dontkillmyapp.com&gt;https://dontkillmyapp.com&lt;/a&gt;에서 유용한 팁을 확인할 수 있습니다.</string>
<string name="faq_6_text">두 기능 모두 앱 설정 - 일정 유형 관리에서 확인할 수 있습니다. 원하는 일정 유형을 클릭하여 라벨과 색상을 변경하거나, 길게 눌러 선택 후 상단 메뉴의 휴지통을 사용해 삭제할 수 있습니다.</string>
</resources>

View File

@@ -169,7 +169,7 @@
<string name="reminder_stream">Lydtype brukt for påminnelser</string>
<string name="notification_stream">Varsel</string>
<string name="ring_stream">Ringetone</string>
<string name="use_last_event_reminders">Bruk den siste hendelsens påminnelser som standard for ny hendelse</string>
<string name="use_last_event_reminders">Bruk den siste hendelsens påminnelser som standard for nye hendelser</string>
<string name="default_reminder_1">Standardpåminnelse 1</string>
<string name="default_reminder_2">Standardpåminnelse 2</string>
<string name="default_reminder_3">Standardpåminnelse 3</string>
@@ -234,4 +234,10 @@
<string name="faq_1_text">Off. fridager opprettet på denne måten settes inn i en ny hendelsestype kalt \"Off. fridager\". Gå til Innstillinger -&gt; Behandle hendelsestyper, lang-trykk hendelsestypen og slett den ved å velge søppelbøtten.</string>
<string name="faq_2_title">Kan jeg synkronisere hendelsene mine via Google Kalender eller annen tjeneste som støtter CalDAV\?</string>
<string name="faq_2_text">Ja, bare aktiver \"CalDAV-synkronisering\" i innstillingene og velg kalenderne du vil synkronisere. Du trenger imidlertid program som håndterer synkroniseringen mellom enheten og serverne. Hvis du vil synkronisere en Google-kalender, vil deres offisielle kalenderapp gjøre jobben. For andre kalendere trenger du en annen synkroniseringsapp, for eksempel DAVx5.</string>
<string name="accessibility_next_day">Gå til neste dag</string>
<string name="system_stream">System</string>
<string name="alarm_stream">Alarm</string>
<string name="accessibility_previous_month">Gå til forrige måned</string>
<string name="accessibility_next_month">Gå til neste måned</string>
<string name="accessibility_previous_day">Gå til forrige dag</string>
</resources>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_launcher_name">Calendário Fossify</string>
<string name="app_launcher_name">Calendário</string>
<string name="change_view">Alterar visualização</string>
<string name="daily_view">Visualização diária</string>
<string name="weekly_view">Visualização semanal</string>
@@ -259,4 +259,5 @@
<string name="accessibility_previous_month">Ir para o mês anterior</string>
<string name="accessibility_previous_day">Ir para o dia anterior</string>
<string name="accessibility_next_day">Ir para o próximo dia</string>
<string name="caldav">CalDAV</string>
</resources>

View File

@@ -81,7 +81,7 @@
<string name="fifth_f">a cincea</string>
<string name="last_f">ultima</string>
<string name="birthdays">Zile de naștere</string>
<string name="add_birthdays">Adaugă Zile de naștere din contacte</string>
<string name="add_birthdays">Adaugă zile de naștere din contacte</string>
<string name="no_birthdays">Nu s-au găsit zile de naștere</string>
<string name="no_new_birthdays">Nu s-au găsit zile de naștere noi</string>
<string name="birthdays_added">Zile de naștere adăugate cu succes</string>
@@ -94,11 +94,11 @@
<string name="add_anniversaries_automatically">Adaugă zile de aniversare automat</string>
<string name="reminder">Memento</string>
<string name="before">înainte de</string>
<string name="add_another_reminder">Adaugă o alt memento</string>
<string name="add_another_reminder">Adaugă un alt memento</string>
<string name="event_reminders">Memento-uri eveniment</string>
<string name="reminders">Memento-uri</string>
<string name="add_another_attendee">Adaugă o altă participare</string>
<string name="my_status">Starea meu:</string>
<string name="my_status">Starea mea:</string>
<string name="going">Particip</string>
<string name="not_going">Nu particip</string>
<string name="maybe_going">Poate particip</string>
@@ -250,7 +250,7 @@
<string name="no_upcoming_events">Niciun eveniment următor.</string>
<string name="everything_filtered_out">Ai eliminat prin filtrare toate tipurile de evenimente</string>
<string name="event_color">Culoare eveniment</string>
<string name="export_tasks">Exportare treburi</string>
<string name="export_tasks">Exportare sarcini</string>
<string name="delete_all_events_and_tasks">Șterge toate evenimentele și treburile</string>
<string name="caldav">CalDAV</string>
<string name="faq_2_title_extra">Poate chiar să partajezi calendarele cu alți oameni?</string>

View File

@@ -47,7 +47,7 @@
<string name="weeks_raw">hafta</string>
<string name="months_raw">ay</string>
<string name="years_raw">yıl</string>
<string name="repeat_till">Şu kadar tekrarla:</string>
<string name="repeat_till">Şu kadar tekrarla</string>
<string name="forever">Sonsuza kadar</string>
<string name="event_is_repeatable">Etkinlik tekrarlanabilir</string>
<string name="task_is_repeatable">Görev tekrarlanabilir</string>
@@ -228,15 +228,15 @@
<string name="within_the_next">Sonraki…</string>
<plurals name="within_the_next_days">
<item quantity="one">Sonraki %d gün içinde</item>
<item quantity="other">Sonraki %d gün içinde</item>
<item quantity="other">Sonraki %d gün içindeler</item>
</plurals>
<plurals name="within_the_next_weeks">
<item quantity="one">Sonraki %d hafta içinde</item>
<item quantity="other">Sonraki %d hafta içinde</item>
<item quantity="other">Sonraki %d hafta içindeler</item>
</plurals>
<plurals name="within_the_next_months">
<item quantity="one">Sonraki %d ay içinde</item>
<item quantity="other">Sonraki %d ay içinde</item>
<item quantity="other">Sonraki %d ay içindeler</item>
</plurals>
<string name="accessibility_previous_month">Önceki aya git</string>
<string name="accessibility_next_month">Sonraki aya git</string>

View File

@@ -246,7 +246,7 @@
<item quantity="other">Протягом наступних %d місяців</item>
</plurals>
<string name="faq_1_title">Як видалити свята, імпортовані з допомогою кнопки «Додати свята»?</string>
<string name="faq_1_text">Свята, створені таким чином, групуються в новий тип подій, що називається \"Свята\". Можна перейти в \"Налаштування\" -&gt; \"Керувати типами подій\", потім тривале натиснення на даному типу подій активує процедуру видалення, нарешті натиснути \"Кошик\".</string>
<string name="faq_1_text">Свята, створені таким чином, групуються в новий тип подій, що називається «Свята». Можна перейти в «Налаштування» -&gt; «Керувати типами подій», потім тривале натиснення на даному типу подій активує процедуру видалення, нарешті натиснути «Кошик».</string>
<string name="faq_2_title">Чи можна синхронізувати події з допомогою Календаря Google чи інших служб, що підтримують CalDAV\?</string>
<string name="faq_2_title_extra">Можливо навіть поділитися календарями з іншими людьми\?</string>
<string name="faq_2_text">Так, достатньо увімкнути «Синхронізувати з CalDAV» у налаштуваннях застосунку і вибрати календарі, які бажаєте синхронізувати. Однак вам знадобиться сторонній застосунок, що здійснить синхронізацію між пристроєм і сервером. Якщо ви бажаєте синхронізувати Календар Google, то їх офіційний застосунок може це виконати. Для інших календарів вам знадобиться сторонній застосунок для синхронізації, наприклад DAVx5.</string>
@@ -257,7 +257,7 @@
<string name="faq_5_title">Застосунок не показує жодних сповіщень, чому так?</string>
<string name="faq_5_text">Перевірте акумулятор вашого пристрою та налаштування сповіщень і переконайтесь, що ніщо не блокує нагадування чи не вимикає програму у фоновому режимі. Ви також можете поглянути на &lt;a href=https://dontkillmyapp.com&gt;https://dontkillmyapp.com&lt;/a&gt;, там є кілька корисних порад.</string>
<string name="faq_6_title">Як змінити або видалити наявний тип події\?</string>
<string name="faq_6_text">Ви можете зробити й те, й інше в \"Налаштування\" - \"Керування типами подій\". Просто натисніть на бажаний, щоб змінити мітку та колір. Для видалення виберіть бажаний тип довгим його утриманням і використайте кошик у верхньому меню.</string>
<string name="faq_6_text">Ви можете зробити й те, й інше в «Налаштування» - «Керування типами подій». Просто натисніть на бажаний, щоб змінити мітку та колір. Для видалення виберіть бажаний тип довгим його утриманням і використайте кошик у верхньому меню.</string>
<string name="accessibility_next_month">До наступного місяця</string>
<string name="accessibility_next_day">До наступного дня</string>
<string name="caldav">CalDAV</string>

View File

@@ -252,4 +252,9 @@
<string name="faq_5_text">請檢查你裝置的電池與通知設定,確保沒有設定阻止提醒或是在背景關閉 app。你也可以參考這個網站&lt;a href=https://dontkillmyapp.com&gt;https://dontkillmyapp.com&lt;/a&gt;,這裡面有些實用的小技巧。</string>
<string name="faq_6_title">我該如何修改或刪除現有的活動類型?</string>
<string name="faq_6_text">你可以在「設定」-「管理活動類型」裡面進行以上兩種操作。點擊你想要的活動類型,就可以改變標籤與顏色;如果你想刪除,可以長按該活動類型,然後點選上方選單的垃圾桶圖示即可。</string>
<string name="caldav">CalDAV 同步</string>
<string name="accessibility_previous_month">轉到上一個月</string>
<string name="accessibility_next_month">轉到下一個月</string>
<string name="accessibility_previous_day">轉到前一天</string>
<string name="accessibility_next_day">轉到下一天</string>
</resources>

View File

@@ -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<Delete>("clean") {

View File

@@ -1 +1 @@
* Úvodní vydání.
* Prvotní vydání.

View File

@@ -0,0 +1,6 @@
* Opraven problém se zobrazením měsíce na zařízení Google Pixel 8 Pro.
* Opraveny barevné body událostí v měsíčním a denním zobrazení.
* Opraveno nesprávné časové pásmo při importu souborů ICS.
* Zvýraznění víkendů v režimu tisku.
* Aktualizovány svátky pro některé země.
* Přidány některé překlady.

View File

@@ -1 +1 @@
* Lanzamiento inicial.
* Versión inicial.

View File

@@ -1,2 +1,2 @@
* Corregida la compatibilidad de importación con Simple Calendar.
* Corregida la configuración de foss flavor.
* Se ha corregido la compatibilidad de la importación con el Simple Calendar.
* Se ha corregido la configuración de la variante FOSS.

View File

@@ -0,0 +1 @@
Planea, crea citas y recordatorios sin riesgo con la aplicación de calendario.

View File

@@ -1 +1 @@
Fossify Calendar
Calendario Fossify

View File

@@ -1,2 +1,2 @@
* Simple Calendarrekin inportatzeko bateragarritasuna konpondu da.
* Simple Calendar-ekin inportatzeko bateragarritasuna konpondu da.
* Foss zaporearen konfigurazioa konpondu da.

View File

@@ -0,0 +1,6 @@
* Hilabete-ikustearen arazoa konpondu da Google Pixel 8 Pro-n.
* Gertaeren koloreko puntuak konpondu dira hileroko eta eguneroko ikuspegian.
* Ordu-zona okerra konpondu da ICS fitxategiak inportatzean.
* Nabarmendu asteburuak inprimatzeko moduan.
* Herrialde batzuetarako jai egunak eguneratuak.
* Itzulpen batzuk gehitu dira.

View File

@@ -1,6 +1,6 @@
Egutegi konplexuekin eta pribatutasun kezkarekin nekatuta?
Fossify Egutegia hemen dago hori aldatzeko. Bizitza kudeatzeko kode irekiko potentzia, pribatutasuna oinarri gisa diseinatua eta eginbide indartsuz josia.
Fossify egutegia hemen dago hori aldatzeko. Bizitza kudeatzeko kode irekiko potentzia, pribatutasuna oinarri gisa diseinatua eta eginbide indartsuz josia.
Hona hemen Fossify Egutegia desberdina egiten duena:
@@ -34,9 +34,9 @@ Aldatu eguneroko, asteko, hileroko, urteko eta gertaeren ikuspegiak erraz.
DISEINU DOTOREA:
Gozatu interfaze intuitibo eta erabilerraza gai dinamikoekin.
Gainera, Fossify Egutegia kode irekikoa da! Sartu GitHub-eko komunitate bizian, lagundu proiektuan eta egin ezazu zurea.
Gainera, Fossify egutegia kode irekikoa da! Sartu GitHub-eko komunitate bizian, lagundu proiektuan eta egin ezazu zurea.
Deskargatu Fossify Egutegia orain eta ezagutu ordutegi pribatu eta pertsonalizagarri baten indarra.
Deskargatu Fossify egutegia orain eta ezagutu ordutegi pribatu eta pertsonalizagarri baten indarra.
Arakatu Fossify aplikazio gehiago: https://www.fossify.org
Iturburu irekiko kodea: https://www.github.com/FossifyOrg

View File

@@ -0,0 +1 @@
Planifikatu eta ezarri abisuak modu seguruan gure egutegi aplikazioarekin.

View File

@@ -1 +1 @@
* Version initiale.
* Première version.

View File

@@ -0,0 +1 @@
निजी कैलेंडर ऐप से सुरक्षित रूप से योजना बनाएं, शेड्यूल और रिमाइंडर सेट करें।

View File

@@ -0,0 +1 @@
Fossify Calendar

View File

@@ -0,0 +1 @@
* Rilis awal.

View File

@@ -0,0 +1 @@
* Memperbaiki kompatibilitas impor file dari Kalender Simpel.

View File

@@ -0,0 +1,2 @@
* Memperbaiki kompatibilitas impor file dari Kalender Simpel.
* Memperbaiki konfigurasi nuansa FOSS.

View File

@@ -0,0 +1,6 @@
* Memperbaiki masalah tampilan bulan pada Google Pixel 8 Pro.
* Memperbaiki titik warna acara pada tampilan bulanan dan harian.
* Memperbaiki zona waktu yang salah saat mengimpor file ICS.
* Sorot akhir pekan dalam mode cetak.
* Memperbarui hari libur untuk beberapa negara.
* Menambahkan beberapa terjemahan.

View File

@@ -0,0 +1 @@
Rencanakan, jadwalkan, dan atur pengingat dengan aman dengan aplikasi kalender pribadi kami.

View File

@@ -0,0 +1 @@
Kalender Fossify

View File

@@ -0,0 +1 @@
Plan veilig en stel herinneringen in met deze privacyvriendelijke agenda.

View File

@@ -0,0 +1 @@
Fossify Agenda

View File

@@ -0,0 +1 @@
* Lançamento inicial.

View File

@@ -0,0 +1 @@
* Corrigido compatibilidade de importação com o Simple Calendar.

View File

@@ -0,0 +1,2 @@
* Corrigido compatibilidade de importação com o Simple Calendar.
* Corrigido configuração da versão FOSS.

View File

@@ -0,0 +1,6 @@
* Corrigido o problema da visualização mensal no Google Pixel 8 Pro.
* Corrigido pontos coloridos de eventos em visualizações mensais e diárias.
* Corrigido fuso horário incorreto quando arquivos ICS são importados.
* Destacar fins de semana em modo de impressão.
* Feriados atualizados para alguns países.
* Algumas traduções foram adicionadas.

View File

@@ -0,0 +1,44 @@
Cansado de calendários bagunçados e com problemas de privacidade?
O Calendário do Fossify está aqui para mudar isso. É seu app de código aberto para gerenciar a vida, desenhado com privacidade em mente, e cheio de funções poderosas para te manter organizado.
Isso que faz o Calendário do Fossify diferente:
🚫 SEM ANÚNCIOS E PRIVADO:
Seus eventos sempre serão seus. Sem anúncios, rastreamentos, e sem permissões invasivas.
⏰ FLEXÍVEL E CUSTOMIZÁVEL:
Crie eventos precisamente com tempos, durações, lembretes, e regras de repetição avançadas.
🔄 SINCRONIZAÇÃO FÁCIL:
Sincronize sem dificuldades com Google, Outlook, Nextcloud, Exchange e muito mais.
🎨 PERSONALIZE SEU PLANEJADOR:
Defina sons customizados, transmissões de áudio em loop, vibrações, e temas para combinar com suas preferências.
🌈 WIDGETS VIBRANTES:
Ilumine seu dia com widgets e temas de calendários lindos para sua tela inicial.
📅 GESTÃO DO DIA COM FACILIDADE:
Planeje seu dia com facilidade, sendo você um professional ocupado ou um organizador de família.
🎉 IMPORTE CELEBRAÇÕES:
Nunca perca um dia de aniversário! Importe com facilidade feriados e datas especiais.
🔍 FILTROS DE VISUALIZAÇÃO:
Encontre rapidamente o que você está procurando com filtros de eventos.
📆 MÚLTIPLAS VISUALIZAÇÕES:
Mude entre diariamente, semanalmente, mensalmente, anualmente, e visualizações de eventos com facilidade.
✨ ELEGÂNCIA DO MATERIAL DESIGN:
Aproveite uma interface intuitiva e amigável ao usuário com temas dinâmicos.
Continuando, o Calendário do Fossify é código aberto! Se junte a esta comunidade no GitHub, contribua ao projeto, e faça dele unicamente seu.
Agora, baixe o Calendário do Fossify, e experiencie o poder de uma agenda privada e customizada.
Explore mais apps do Fossify: https://www.fossify.org
Código fonte: https://www.github.com/FossifyOrg
Se junte a comunidade no Reddit: https://www.reddit.com/r/Fossify
Se conecte no Telegram: https://t.me/Fossify

View File

@@ -0,0 +1 @@
Planeje, agende, e configure lembretes com privacidade com nosso app de calendário.

View File

@@ -0,0 +1 @@
Calendário Fossify

View File

@@ -1 +1 @@
* Inledande version.
* Initial version.

View File

@@ -0,0 +1 @@
Planera säkert, schemalägg och skapa påminnelser med vår integritetsvänliga kalenderapp.

View File

@@ -0,0 +1 @@
* İlk sürüm.

View File

@@ -0,0 +1 @@
* Basit Takvim ile içe aktarma uyumluluğu düzeltildi.

View File

@@ -0,0 +1,2 @@
* Basit Takvim ile içe aktarma uyumluluğu düzeltildi.
* Foss lezzet yapılandırması düzeltildi.

View File

@@ -0,0 +1,6 @@
* Google Pixel 8 Pro'daki ay görünümü sorunu düzeltildi.
* Aylık ve günlük görünümdeki olay renk noktaları düzeltildi.
* ICS dosyalarını içe aktarırken yanlış zaman dilimi düzeltildi.
* Yazdırma modunda hafta sonlarını vurgulayın.
* Bazı ülkeler için tatiller güncellendi.
* Bazı çeviriler eklendi.

View File

@@ -0,0 +1,41 @@
Dağınık takvimlerden ve gizlilik endişelerinden bıktınız mı?
Fossify Takvim bunu değiştirmek için burada. Hayatı yönetmek için açık kaynaklı güç merkeziniz, özünde gizlilik ile tasarlanmış ve sizi düzenli tutmak için güçlü özelliklerle dolu.
İşte Fossify Takvim'i farklı kılan özellikler:
🚫 REKLAMSIZ VE ÖZEL:
Etkinlikleriniz size ait kalır. Reklam yok, izleme yok, müdahaleci izinler yok.
⏰ ESNEK VE ÖZELLEŞTİRİLEBİLİR:
Zamanlar, süreler, hatırlatıcılar ve gelişmiş tekrarlama kuralları ile etkinlikleri hassas bir şekilde oluşturun.
🔄 SORUNSUZ EŞLEŞME:
Google Takvim, Outlook, Nextcloud, Exchange ve daha fazlasıyla zahmetsizce senkronize edin.
🎨 PLANLAYICINIZI KİŞİSELLEŞTİRİN:
Tercihlerinize uygun özel sesler, döngüsel ses akışları, titreşimler ve temalar ayarlayın.
🌈 CANLI BİLEŞENLER:
Ana ekranınız için güzel takvim widget'ları ve temalarla gününüzü aydınlatın.
📅 ZAHMETSİZ GÜN YÖNETİMİ:
İster yoğun bir profesyonel ister bir aile organizatörü olun, gününüzü kolaylıkla planlayın.
🎉 KUTLAMALARI İÇE AKTARIN:
Bir doğum gününü veya yıldönümünü asla kaçırmayın! Tatilleri ve özel tarihleri kolayca içe aktarın.
🔍 GÖRÜNÜMLERİ SÜZGEÇLEYİN:
Etkinlik gözdeleri ile aradığınızı hızla bulun.
✨ MATERYAL TASARIM ŞIKLIĞI:
Dinamik temalarla sezgisel ve kullanıcı dostu bir arayüzün keyfini çıkarın.
Ayrıca, Fossify Takvim açık kaynaklıdır! GitHub'daki canlı topluluğa katılın, projeye katkıda bulunun ve onu benzersiz bir şekilde kendinize ait hale getirin.
Fossify Takvim'i şimdi indirin ve özel ve özelleştirilebilir bir programın gücünü deneyimleyin.
Daha fazla Fossify uygulaması keşfedin: https://www.fossify.org
ık Kaynak Kodu: https://www.github.com/FossifyOrg
Reddit'teki topluluğa katılın: https://www.reddit.com/r/Fossify
Telegram üzerinden bağlanın: https://t.me/Fossify

View File

@@ -0,0 +1 @@
Özel takvim uygulamamızla güvenli bir şekilde plan yapın, programlayın ve hatırlatıcılar ayarlayın.

View File

@@ -0,0 +1 @@
Fossify Takvim

View File

@@ -0,0 +1 @@
* Початковий реліз.

View File

@@ -0,0 +1 @@
* Виправлено сумісність імпорту з Простим календарем.

View File

@@ -0,0 +1,2 @@
* Виправлено сумісність імпорту з Простим календарем
* Виправлено конфігурацію застосунку.

View File

@@ -0,0 +1,6 @@
* Виправлено проблему з переглядом місяця на Google Pixel 8 Pro.
* Виправлено кольорові крапки подій на щомісячному та щоденному перегляді.
* Виправлено неправильний часовий пояс при імпорті файлів ICS.
* Виділення вихідних у режимі друку.
* Оновлені свята для деяких країн.
* Додано деякі переклади.

View File

@@ -0,0 +1,44 @@
Втомилися від захаращених календарів та занепокоєння щодо приватності?
Fossify Календар тут, щоб змінити це. Ваш потужний інструмент з відкритим вихідним кодом для управління життям, розроблений з урахуванням принципу приватності та наповнений потужними функціями, які допоможуть вам з організацією.
Ось що відрізняє Fossify Календар від інших:
🚫 БЕЗ РЕКЛАМИ ТА ПРИВАТНИЙ:
Ваші події залишаються з вами. Ніякої реклами, ніякого відстеження, ніяких нав'язливих дозволів.
⏰ ГНУЧКИЙ ТА НАЛАШТОВУВАНИЙ:
Створюйте події з точністю до години, тривалості, нагадувань та розширених правил повторення.
БЕЗПЕРЕШКОДНА СИНХРОНІЗАЦІЯ:
Легко синхронізуйтеся з Google Calendar, Outlook, Nextcloud, Exchange тощо.
🎨 ПЕРСОНАЛІЗУЙТЕ СВІЙ ПЛАНУВАЛЬНИК:
Встановлюйте власні звуки, зациклені аудіопотоки, вібрації та теми відповідно до ваших уподобань.
🌈 ЯСКРАВІ ВІДЖЕТИ:
Прикрасьте свій день красивими віджетами календаря та темами для домашнього екрану.
📅 ЛЕГКЕ УПРАВЛІННЯ ДНЯМИ:
Плануйте свій день з легкістю, незалежно від того, чи ви зайнятий професіонал, чи сімейний організатор.
🎉 ІМПОРТ СВЯТКУВАНЬ:
Ніколи не пропустіть день народження або річницю! Легко імпортуйте свята та особливі дати.
🔍 ФІЛЬТР ПЕРЕГЛЯДІВ:
Швидко знаходьте те, що шукаєте, за допомогою фільтрів подій.
📆 КІЛЬКА ПЕРЕГЛЯДІВ:
Легко перемикайтеся між щоденними, щотижневими, щомісячними, річними та річними переглядами подій.
✨ ЕЛЕГАНТНИЙ МАТЕРІАЛЬНИЙ ДИЗАЙН:
Насолоджуйтесь інтуїтивно зрозумілим і зручним інтерфейсом з динамічними темами.
Крім того, Fossify Календар має відкритий вихідний код! Приєднуйтесь до активної спільноти на GitHub, робіть свій внесок у проєкт і зробіть його унікальним.
Завантажте Fossify Календар зараз і відчуйте переваги приватного та персоналізованого розкладу.
Дізнайтеся більше про інші застосунки Fossify: https://www.fossify.org
Відкритий код: https://www.github.com/FossifyOrg
Приєднуйтесь до спільноти на Reddit: https://www.reddit.com/r/Fossify
Приєднуйтесь в Telegram: https://t.me/Fossify

View File

@@ -0,0 +1 @@
Безпечно створюйте плани, графіки та нагадування з нашим особистим календарем.

View File

@@ -0,0 +1 @@
Fossify Календар

View File

@@ -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" }