From e0ddab80bf609814d2176e37cfb86ea963aa2429 Mon Sep 17 00:00:00 2001 From: Tomasz Swistak Date: Fri, 15 Mar 2024 18:52:18 +0100 Subject: [PATCH 01/38] generate all holidays in utc --- .github/workflows/holiday-generator/main.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/holiday-generator/main.js b/.github/workflows/holiday-generator/main.js index 26b77b95c..1de710ea3 100644 --- a/.github/workflows/holiday-generator/main.js +++ b/.github/workflows/holiday-generator/main.js @@ -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, From 9dc568fd49229bf0f780e3156163c85e219c542e Mon Sep 17 00:00:00 2001 From: Marco H Date: Wed, 3 Apr 2024 13:38:41 +0200 Subject: [PATCH 02/38] Update CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 91ec40dea..c4e81ea3b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -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). From d0d200a813155e5e5accae5452bcb009e0bfe7eb Mon Sep 17 00:00:00 2001 From: Fjuro Date: Mon, 18 Mar 2024 08:08:12 +0000 Subject: [PATCH 03/38] Translated using Weblate (Czech) Currently translated at 100.0% (7 of 7 strings) Translation: Fossify/Calendar metadata Translate-URL: https://hosted.weblate.org/projects/fossify/calendar-metadata/cs/ --- fastlane/metadata/android/cs-CZ/changelogs/4.txt | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 fastlane/metadata/android/cs-CZ/changelogs/4.txt diff --git a/fastlane/metadata/android/cs-CZ/changelogs/4.txt b/fastlane/metadata/android/cs-CZ/changelogs/4.txt new file mode 100644 index 000000000..c31eed63a --- /dev/null +++ b/fastlane/metadata/android/cs-CZ/changelogs/4.txt @@ -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. From a642119a47907e87876d65e88c69ecc75cfe3230 Mon Sep 17 00:00:00 2001 From: Scrambled777 Date: Mon, 18 Mar 2024 02:36:07 +0000 Subject: [PATCH 04/38] Translated using Weblate (Hindi) Currently translated at 100.0% (7 of 7 strings) Translation: Fossify/Calendar metadata Translate-URL: https://hosted.weblate.org/projects/fossify/calendar-metadata/hi/ --- fastlane/metadata/android/hi-IN/short_description.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 fastlane/metadata/android/hi-IN/short_description.txt diff --git a/fastlane/metadata/android/hi-IN/short_description.txt b/fastlane/metadata/android/hi-IN/short_description.txt new file mode 100644 index 000000000..51c68cabf --- /dev/null +++ b/fastlane/metadata/android/hi-IN/short_description.txt @@ -0,0 +1 @@ +निजी कैलेंडर ऐप से सुरक्षित रूप से योजना बनाएं, शेड्यूल और रिमाइंडर सेट करें। From 43f51196a99c451c26793e2110c35d4cc7379767 Mon Sep 17 00:00:00 2001 From: gallegonovato Date: Mon, 18 Mar 2024 12:52:18 +0000 Subject: [PATCH 05/38] Translated using Weblate (Spanish) Currently translated at 100.0% (7 of 7 strings) Translation: Fossify/Calendar metadata Translate-URL: https://hosted.weblate.org/projects/fossify/calendar-metadata/es/ --- fastlane/metadata/android/es-ES/changelogs/3.txt | 4 ++-- fastlane/metadata/android/es-ES/short_description.txt | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 fastlane/metadata/android/es-ES/short_description.txt diff --git a/fastlane/metadata/android/es-ES/changelogs/3.txt b/fastlane/metadata/android/es-ES/changelogs/3.txt index 0e8447abb..d70e64c50 100644 --- a/fastlane/metadata/android/es-ES/changelogs/3.txt +++ b/fastlane/metadata/android/es-ES/changelogs/3.txt @@ -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. diff --git a/fastlane/metadata/android/es-ES/short_description.txt b/fastlane/metadata/android/es-ES/short_description.txt new file mode 100644 index 000000000..d343cbca2 --- /dev/null +++ b/fastlane/metadata/android/es-ES/short_description.txt @@ -0,0 +1 @@ +Planea, crea citas y recordatorios sin riesgo con la aplicación de calendario. From da832cb5f1f2db331490401567c6eb842a2c069c Mon Sep 17 00:00:00 2001 From: Argo Carpathians Date: Wed, 20 Mar 2024 22:33:01 +0000 Subject: [PATCH 06/38] Translated using Weblate (Indonesian) Currently translated at 100.0% (248 of 248 strings) Translation: Fossify/Calendar Translate-URL: https://hosted.weblate.org/projects/fossify/calendar/id/ --- app/src/main/res/values-in/strings.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 3a255ade2..d4ac0ef8d 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -110,16 +110,16 @@ Masukkan nama negara atau zona waktu Impor acara Ekspor acara - Impor acara dari berkas .ics - Impor acara dari berkas .ics (Pro) - Ekspor acara ke berkas .ics + Impor acara dari file .ics + Impor acara dari file .ics (Pro) + Ekspor acara ke file .ics Kategori acara default Ekspor juga acara yang sudah lewat Ekspor tugas Ekspor entri masa lalu juga Sertakan kategori acara - Nama berkas (tanpa .ics) - Abaikan jenis peristiwa dalam berkas, selalu gunakan yang bawaan + Nama file (tanpa .ics) + Abaikan jenis peristiwa dalam file, selalu gunakan yang bawaan Lokasi Deskripsi Sepanjang hari @@ -189,7 +189,7 @@ Izinkan mengubah zona waktu acara Kelola penyaringan cepat jenis peristiwa Perbolehkan membuat tugas - Pilih kalender untuk sinkronisasi + Pilih kalender yang akan disinkronkan Kelola kalender yang disinkronkan Hanya simpan secara lokal Segarkan kalender CalDAV @@ -238,7 +238,7 @@ 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. Warna acara Warna bawaan kalender - CalDAV + Sinkronisasi CalDAV Menunggu perintah Dalam %d hari berikutnya From fdc0c2ab702bc6feaf56a95fd40811f62aad50d6 Mon Sep 17 00:00:00 2001 From: Argo Carpathians Date: Thu, 21 Mar 2024 04:42:35 +0000 Subject: [PATCH 07/38] Translated using Weblate (Indonesian) Currently translated at 100.0% (248 of 248 strings) Translation: Fossify/Calendar Translate-URL: https://hosted.weblate.org/projects/fossify/calendar/id/ --- app/src/main/res/values-in/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index d4ac0ef8d..0757cc250 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -215,7 +215,7 @@ Jalan santai Rapat dengan Budi Di Taman Mini Indonesia Indah - Perpustakaan + Pustaka Makan siang dengan Wati Di Mall Waktunya Ngopi From d3f17dc4ec7f942d31862ef371beee49ff24f486 Mon Sep 17 00:00:00 2001 From: gallegonovato Date: Sun, 24 Mar 2024 09:42:00 +0000 Subject: [PATCH 08/38] Translated using Weblate (Spanish) Currently translated at 100.0% (7 of 7 strings) Translation: Fossify/Calendar metadata Translate-URL: https://hosted.weblate.org/projects/fossify/calendar-metadata/es/ --- fastlane/metadata/android/es-ES/changelogs/1.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/es-ES/changelogs/1.txt b/fastlane/metadata/android/es-ES/changelogs/1.txt index 6439c82e0..a1f6c8d30 100644 --- a/fastlane/metadata/android/es-ES/changelogs/1.txt +++ b/fastlane/metadata/android/es-ES/changelogs/1.txt @@ -1 +1 @@ -* Lanzamiento inicial. +* Versión inicial. From bafec117814601fcfe46262061895b09f3213797 Mon Sep 17 00:00:00 2001 From: "Josep M. Ferrer" Date: Tue, 26 Mar 2024 12:36:21 +0000 Subject: [PATCH 09/38] Translated using Weblate (Catalan) Currently translated at 100.0% (248 of 248 strings) Translation: Fossify/Calendar Translate-URL: https://hosted.weblate.org/projects/fossify/calendar/ca/ --- app/src/main/res/values-ca/strings.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index d5a6f755c..29386a4e4 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -134,7 +134,7 @@ Seleccioneu un tipus d\'esdeveniment Mou els esdeveniments afectats dins el tipus d\'esdeveniment predeterminat Elimina permanentment els esdeveniments afectats - Per eliminar un calendari CalDAV, cal dessincronitzar-lo + Per a eliminar un calendari CalDAV, cal dessincronitzar-lo Festius Afegeix festius Festius nacionals @@ -199,7 +199,7 @@ S\'està sincronitzant… S\'ha completat la sincronització Seleccioneu un color diferent (només es pot aplicar localment) - No teniu permís per escriure al calendari seleccionat + No teniu permís per a escriure al calendari seleccionat No s\'ha trobat l\'esdeveniment. Activeu la sincronització de CalDAV per al calendari adequat a la configuració de l\'aplicació. No s\'ha trobat cap calendari que es pugui sincronitzar Lliure @@ -251,7 +251,7 @@ L\'aplicació no mostra cap notificació, per què és això\? 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 <a href=https://dontkillmyapp.com>https://dontkillmyapp.com</a>, té alguns consells útils. Com puc modificar o suprimir un tipus d\'esdeveniment existent\? - 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. + 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. Color de l\'esdeveniment Color del calendari predeterminat Color From 1196e8e651501816ce1393049a39afa479a8f81b Mon Sep 17 00:00:00 2001 From: Argo Carpathians Date: Tue, 26 Mar 2024 22:16:19 +0000 Subject: [PATCH 10/38] Translated using Weblate (Indonesian) Currently translated at 71.4% (5 of 7 strings) Translation: Fossify/Calendar metadata Translate-URL: https://hosted.weblate.org/projects/fossify/calendar-metadata/id/ --- fastlane/metadata/android/id/changelogs/1.txt | 1 + fastlane/metadata/android/id/changelogs/2.txt | 1 + fastlane/metadata/android/id/changelogs/3.txt | 2 ++ fastlane/metadata/android/id/changelogs/4.txt | 6 ++++++ fastlane/metadata/android/id/short_description.txt | 1 + fastlane/metadata/android/id/title.txt | 1 + 6 files changed, 12 insertions(+) create mode 100644 fastlane/metadata/android/id/changelogs/1.txt create mode 100644 fastlane/metadata/android/id/changelogs/2.txt create mode 100644 fastlane/metadata/android/id/changelogs/3.txt create mode 100644 fastlane/metadata/android/id/changelogs/4.txt create mode 100644 fastlane/metadata/android/id/short_description.txt create mode 100644 fastlane/metadata/android/id/title.txt diff --git a/fastlane/metadata/android/id/changelogs/1.txt b/fastlane/metadata/android/id/changelogs/1.txt new file mode 100644 index 000000000..5727e1413 --- /dev/null +++ b/fastlane/metadata/android/id/changelogs/1.txt @@ -0,0 +1 @@ +* Rilis awal. diff --git a/fastlane/metadata/android/id/changelogs/2.txt b/fastlane/metadata/android/id/changelogs/2.txt new file mode 100644 index 000000000..b6f30d161 --- /dev/null +++ b/fastlane/metadata/android/id/changelogs/2.txt @@ -0,0 +1 @@ +* Memperbaiki kompatibilitas impor file dari Kalender Simpel. diff --git a/fastlane/metadata/android/id/changelogs/3.txt b/fastlane/metadata/android/id/changelogs/3.txt new file mode 100644 index 000000000..db3374c56 --- /dev/null +++ b/fastlane/metadata/android/id/changelogs/3.txt @@ -0,0 +1,2 @@ +* Memperbaiki kompatibilitas impor file dari Kalender Simpel. +* Memperbaiki konfigurasi nuansa FOSS. diff --git a/fastlane/metadata/android/id/changelogs/4.txt b/fastlane/metadata/android/id/changelogs/4.txt new file mode 100644 index 000000000..08fe3108d --- /dev/null +++ b/fastlane/metadata/android/id/changelogs/4.txt @@ -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. diff --git a/fastlane/metadata/android/id/short_description.txt b/fastlane/metadata/android/id/short_description.txt new file mode 100644 index 000000000..e324124dd --- /dev/null +++ b/fastlane/metadata/android/id/short_description.txt @@ -0,0 +1 @@ +Rencanakan, jadwalkan, dan atur pengingat dengan aman dengan aplikasi kalender pribadi kami. diff --git a/fastlane/metadata/android/id/title.txt b/fastlane/metadata/android/id/title.txt new file mode 100644 index 000000000..43ae25eba --- /dev/null +++ b/fastlane/metadata/android/id/title.txt @@ -0,0 +1 @@ +Kalender Fossify From 473f1f5f6de2de973a398d283c9c135898e15ee9 Mon Sep 17 00:00:00 2001 From: OuHaich Cubensis Date: Wed, 27 Mar 2024 16:56:02 +0000 Subject: [PATCH 11/38] Translated using Weblate (French) Currently translated at 85.7% (6 of 7 strings) Translation: Fossify/Calendar metadata Translate-URL: https://hosted.weblate.org/projects/fossify/calendar-metadata/fr/ --- fastlane/metadata/android/fr-FR/changelogs/1.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/fr-FR/changelogs/1.txt b/fastlane/metadata/android/fr-FR/changelogs/1.txt index f6c4b7d05..ea921cd57 100644 --- a/fastlane/metadata/android/fr-FR/changelogs/1.txt +++ b/fastlane/metadata/android/fr-FR/changelogs/1.txt @@ -1 +1 @@ -* Version initiale. +* Première version. From 8a1423ca56d1cc6d21a81f7f3b8d25da308d378c Mon Sep 17 00:00:00 2001 From: Alexander Gabilondo Date: Sun, 7 Apr 2024 21:40:06 +0000 Subject: [PATCH 12/38] Translated using Weblate (Basque) Currently translated at 100.0% (248 of 248 strings) Translation: Fossify/Calendar Translate-URL: https://hosted.weblate.org/projects/fossify/calendar/eu/ --- app/src/main/res/values-eu/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index 47139e27e..6b1347cc2 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -172,7 +172,7 @@ Alarma Jakinarazpena Jo tonua - Erabili aurreko gertaeren abisuak gertaera berrien lehenetsitako gisa + Erabili azken gertaeraren abisuak gertaera berrien lehenetsitako gisa Lehenetsitako abisua 1 Lehenetsitako abisua 2 Lehenetsitako abisua 3 @@ -244,7 +244,7 @@ Abisu bisualak ikusten ditut, baina audiorik ez dut entzuten. Zer egin dezaket\? 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. Aplikazioak ordu-zonak onartzen ditu\? - 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. + 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. Aplikazioak ez du jakinarazpenik erakusten, zergatik\? Egiaztatu gailuaren bateria eta jakinarazpenen ezarpenak, egiaztatu abisuak ez daudela blokeatuta edo aplikazioa bigarren planoan exekutatzea galarazten duen ezer ez dagoela. Baliteke <a href=https://dontkillmyapp.com>https://dontkillmyapp.com</a> helbidera ere begiratu nahi izatea, aholku erabilgarriak ditu. Nola aldatu edo ezabatu dezaket lehendik dagoen gertaera mota bat\? From 1b88166ae7ae40453982e6f695a6022bc97bde29 Mon Sep 17 00:00:00 2001 From: Alexander Gabilondo Date: Sun, 7 Apr 2024 21:46:13 +0000 Subject: [PATCH 13/38] Translated using Weblate (Basque) Currently translated at 85.7% (6 of 7 strings) Translation: Fossify/Calendar metadata Translate-URL: https://hosted.weblate.org/projects/fossify/calendar-metadata/eu/ --- fastlane/metadata/android/eu-ES/changelogs/4.txt | 6 ++++++ fastlane/metadata/android/eu-ES/short_description.txt | 1 + 2 files changed, 7 insertions(+) create mode 100644 fastlane/metadata/android/eu-ES/changelogs/4.txt create mode 100644 fastlane/metadata/android/eu-ES/short_description.txt diff --git a/fastlane/metadata/android/eu-ES/changelogs/4.txt b/fastlane/metadata/android/eu-ES/changelogs/4.txt new file mode 100644 index 000000000..f1fdc14b5 --- /dev/null +++ b/fastlane/metadata/android/eu-ES/changelogs/4.txt @@ -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. diff --git a/fastlane/metadata/android/eu-ES/short_description.txt b/fastlane/metadata/android/eu-ES/short_description.txt new file mode 100644 index 000000000..3b75b4f18 --- /dev/null +++ b/fastlane/metadata/android/eu-ES/short_description.txt @@ -0,0 +1 @@ +Planifikatu, programatu eta ezarri abisuak modu seguruan gure egutegi aplikazioarekin. From 6baa9f2b1b921b57e232ef29e224392e470c4c98 Mon Sep 17 00:00:00 2001 From: Fjuro Date: Mon, 8 Apr 2024 18:34:18 +0000 Subject: [PATCH 14/38] Translated using Weblate (Czech) Currently translated at 100.0% (7 of 7 strings) Translation: Fossify/Calendar metadata Translate-URL: https://hosted.weblate.org/projects/fossify/calendar-metadata/cs/ --- fastlane/metadata/android/cs-CZ/changelogs/1.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/cs-CZ/changelogs/1.txt b/fastlane/metadata/android/cs-CZ/changelogs/1.txt index 172034958..b3f5c1614 100644 --- a/fastlane/metadata/android/cs-CZ/changelogs/1.txt +++ b/fastlane/metadata/android/cs-CZ/changelogs/1.txt @@ -1 +1 @@ -* Úvodní vydání. +* Prvotní vydání. From ca08fbf7c13b96b916e3e287f81f8c937b27cc4e Mon Sep 17 00:00:00 2001 From: Guillaume Date: Thu, 11 Apr 2024 12:14:34 +0000 Subject: [PATCH 15/38] Translated using Weblate (Dutch) Currently translated at 28.5% (2 of 7 strings) Translation: Fossify/Calendar metadata Translate-URL: https://hosted.weblate.org/projects/fossify/calendar-metadata/nl/ --- fastlane/metadata/android/nl-NL/short_description.txt | 1 + fastlane/metadata/android/nl-NL/title.txt | 1 + 2 files changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/nl-NL/short_description.txt create mode 100644 fastlane/metadata/android/nl-NL/title.txt diff --git a/fastlane/metadata/android/nl-NL/short_description.txt b/fastlane/metadata/android/nl-NL/short_description.txt new file mode 100644 index 000000000..b2de43e13 --- /dev/null +++ b/fastlane/metadata/android/nl-NL/short_description.txt @@ -0,0 +1 @@ +Plan veilig en stel herinneringen in met deze privacyvriendelijke agenda. diff --git a/fastlane/metadata/android/nl-NL/title.txt b/fastlane/metadata/android/nl-NL/title.txt new file mode 100644 index 000000000..ba4b29e7a --- /dev/null +++ b/fastlane/metadata/android/nl-NL/title.txt @@ -0,0 +1 @@ +Fossify Agenda From e229c0eb0285da9cc6589f66772e79a69c697911 Mon Sep 17 00:00:00 2001 From: lucasmz Date: Fri, 12 Apr 2024 19:37:30 +0000 Subject: [PATCH 16/38] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (248 of 248 strings) Translation: Fossify/Calendar Translate-URL: https://hosted.weblate.org/projects/fossify/calendar/pt_BR/ --- app/src/main/res/values-pt-rBR/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 86d29c9f6..e8bdc18f4 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -1,6 +1,6 @@ - Calendário Fossify + Calendário Alterar visualização Visualização diária Visualização semanal @@ -259,4 +259,5 @@ Ir para o mês anterior Ir para o dia anterior Ir para o próximo dia + CalDAV \ No newline at end of file From fb838b20a72dbd3f0df7fbe85dc53aec66f50c1b Mon Sep 17 00:00:00 2001 From: lucasmz Date: Fri, 12 Apr 2024 23:54:10 +0000 Subject: [PATCH 17/38] Translated using Weblate (Portuguese (Brazil)) Currently translated at 85.7% (6 of 7 strings) Translation: Fossify/Calendar metadata Translate-URL: https://hosted.weblate.org/projects/fossify/calendar-metadata/pt_BR/ --- .../metadata/android/pt-BR/changelogs/1.txt | 1 + .../metadata/android/pt-BR/changelogs/2.txt | 1 + .../metadata/android/pt-BR/changelogs/3.txt | 2 + .../metadata/android/pt-BR/changelogs/4.txt | 6 +++ .../android/pt-BR/full_description.txt | 44 +++++++++++++++++++ .../android/pt-BR/short_description.txt | 1 + fastlane/metadata/android/pt-BR/title.txt | 1 + 7 files changed, 56 insertions(+) create mode 100644 fastlane/metadata/android/pt-BR/changelogs/1.txt create mode 100644 fastlane/metadata/android/pt-BR/changelogs/2.txt create mode 100644 fastlane/metadata/android/pt-BR/changelogs/3.txt create mode 100644 fastlane/metadata/android/pt-BR/changelogs/4.txt create mode 100644 fastlane/metadata/android/pt-BR/full_description.txt create mode 100644 fastlane/metadata/android/pt-BR/short_description.txt create mode 100644 fastlane/metadata/android/pt-BR/title.txt diff --git a/fastlane/metadata/android/pt-BR/changelogs/1.txt b/fastlane/metadata/android/pt-BR/changelogs/1.txt new file mode 100644 index 000000000..016440587 --- /dev/null +++ b/fastlane/metadata/android/pt-BR/changelogs/1.txt @@ -0,0 +1 @@ +* Lançamento inicial. diff --git a/fastlane/metadata/android/pt-BR/changelogs/2.txt b/fastlane/metadata/android/pt-BR/changelogs/2.txt new file mode 100644 index 000000000..e909389ea --- /dev/null +++ b/fastlane/metadata/android/pt-BR/changelogs/2.txt @@ -0,0 +1 @@ +* Corrigido compatibilidade de importação com o Simple Calendar. diff --git a/fastlane/metadata/android/pt-BR/changelogs/3.txt b/fastlane/metadata/android/pt-BR/changelogs/3.txt new file mode 100644 index 000000000..584c92687 --- /dev/null +++ b/fastlane/metadata/android/pt-BR/changelogs/3.txt @@ -0,0 +1,2 @@ +* Corrigido compatibilidade de importação com o Simple Calendar. +* Corrigido configuração da versão FOSS. diff --git a/fastlane/metadata/android/pt-BR/changelogs/4.txt b/fastlane/metadata/android/pt-BR/changelogs/4.txt new file mode 100644 index 000000000..17d599f94 --- /dev/null +++ b/fastlane/metadata/android/pt-BR/changelogs/4.txt @@ -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. diff --git a/fastlane/metadata/android/pt-BR/full_description.txt b/fastlane/metadata/android/pt-BR/full_description.txt new file mode 100644 index 000000000..f7b90d3e8 --- /dev/null +++ b/fastlane/metadata/android/pt-BR/full_description.txt @@ -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 diff --git a/fastlane/metadata/android/pt-BR/short_description.txt b/fastlane/metadata/android/pt-BR/short_description.txt new file mode 100644 index 000000000..5977779f5 --- /dev/null +++ b/fastlane/metadata/android/pt-BR/short_description.txt @@ -0,0 +1 @@ +Planeje, agende, e configure lembretes com privacidade com nosso app de calendário. diff --git a/fastlane/metadata/android/pt-BR/title.txt b/fastlane/metadata/android/pt-BR/title.txt new file mode 100644 index 000000000..a96d2f54a --- /dev/null +++ b/fastlane/metadata/android/pt-BR/title.txt @@ -0,0 +1 @@ +Calendário Fossify From 43a455a4b6f802989332c18e4b8cacba72763065 Mon Sep 17 00:00:00 2001 From: Anarkiisto Date: Sun, 21 Apr 2024 05:34:43 +0000 Subject: [PATCH 18/38] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (248 of 248 strings) Translation: Fossify/Calendar Translate-URL: https://hosted.weblate.org/projects/fossify/calendar/zh_Hant/ --- app/src/main/res/values-zh-rTW/strings.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index afce11d23..dc7d8149e 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -252,4 +252,9 @@ 請檢查你裝置的電池與通知設定,確保沒有設定阻止提醒或是在背景關閉 app。你也可以參考這個網站:<a href=https://dontkillmyapp.com>https://dontkillmyapp.com</a>,這裡面有些實用的小技巧。 我該如何修改或刪除現有的活動類型? 你可以在「設定」-「管理活動類型」裡面進行以上兩種操作。點擊你想要的活動類型,就可以改變標籤與顏色;如果你想刪除,可以長按該活動類型,然後點選上方選單的垃圾桶圖示即可。 + CalDAV 同步 + 轉到上一個月 + 轉到下一個月 + 轉到前一天 + 轉到下一天 \ No newline at end of file From 54826229e016e1a8c02fbdcf95c0c61c0eb054f0 Mon Sep 17 00:00:00 2001 From: Umut Solmz Date: Mon, 13 May 2024 13:35:42 +0000 Subject: [PATCH 19/38] Translated using Weblate (Turkish) Currently translated at 100.0% (248 of 248 strings) Translation: Fossify/Calendar Translate-URL: https://hosted.weblate.org/projects/fossify/calendar/tr/ --- app/src/main/res/values-tr/strings.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index f0dcb1bef..5339ba813 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -47,7 +47,7 @@ hafta ay yıl - Şu kadar tekrarla: + Şu kadar tekrarla Sonsuza kadar Etkinlik tekrarlanabilir Görev tekrarlanabilir @@ -228,15 +228,15 @@ Sonraki… Sonraki %d gün içinde - Sonraki %d gün içinde + Sonraki %d gün içindeler Sonraki %d hafta içinde - Sonraki %d hafta içinde + Sonraki %d hafta içindeler Sonraki %d ay içinde - Sonraki %d ay içinde + Sonraki %d ay içindeler Önceki aya git Sonraki aya git From 2ebd959ab0fed13ba1fd784182a3f29c0236d8b9 Mon Sep 17 00:00:00 2001 From: Umut Solmz Date: Tue, 14 May 2024 11:14:47 +0000 Subject: [PATCH 20/38] Translated using Weblate (Turkish) Currently translated at 85.7% (6 of 7 strings) Translation: Fossify/Calendar metadata Translate-URL: https://hosted.weblate.org/projects/fossify/calendar-metadata/tr/ --- .../metadata/android/tr-TR/changelogs/1.txt | 1 + .../metadata/android/tr-TR/changelogs/2.txt | 1 + .../metadata/android/tr-TR/changelogs/3.txt | 2 + .../metadata/android/tr-TR/changelogs/4.txt | 6 +++ .../android/tr-TR/full_description.txt | 41 +++++++++++++++++++ .../android/tr-TR/short_description.txt | 1 + fastlane/metadata/android/tr-TR/title.txt | 1 + 7 files changed, 53 insertions(+) create mode 100644 fastlane/metadata/android/tr-TR/changelogs/1.txt create mode 100644 fastlane/metadata/android/tr-TR/changelogs/2.txt create mode 100644 fastlane/metadata/android/tr-TR/changelogs/3.txt create mode 100644 fastlane/metadata/android/tr-TR/changelogs/4.txt create mode 100644 fastlane/metadata/android/tr-TR/full_description.txt create mode 100644 fastlane/metadata/android/tr-TR/short_description.txt create mode 100644 fastlane/metadata/android/tr-TR/title.txt diff --git a/fastlane/metadata/android/tr-TR/changelogs/1.txt b/fastlane/metadata/android/tr-TR/changelogs/1.txt new file mode 100644 index 000000000..5ed2f4919 --- /dev/null +++ b/fastlane/metadata/android/tr-TR/changelogs/1.txt @@ -0,0 +1 @@ +* İlk sürüm. diff --git a/fastlane/metadata/android/tr-TR/changelogs/2.txt b/fastlane/metadata/android/tr-TR/changelogs/2.txt new file mode 100644 index 000000000..7f3a00776 --- /dev/null +++ b/fastlane/metadata/android/tr-TR/changelogs/2.txt @@ -0,0 +1 @@ +* Basit Takvim ile içe aktarma uyumluluğu düzeltildi. diff --git a/fastlane/metadata/android/tr-TR/changelogs/3.txt b/fastlane/metadata/android/tr-TR/changelogs/3.txt new file mode 100644 index 000000000..8154783ed --- /dev/null +++ b/fastlane/metadata/android/tr-TR/changelogs/3.txt @@ -0,0 +1,2 @@ +* Basit Takvim ile içe aktarma uyumluluğu düzeltildi. +* Foss lezzet yapılandırması düzeltildi. diff --git a/fastlane/metadata/android/tr-TR/changelogs/4.txt b/fastlane/metadata/android/tr-TR/changelogs/4.txt new file mode 100644 index 000000000..6f62cd20f --- /dev/null +++ b/fastlane/metadata/android/tr-TR/changelogs/4.txt @@ -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. diff --git a/fastlane/metadata/android/tr-TR/full_description.txt b/fastlane/metadata/android/tr-TR/full_description.txt new file mode 100644 index 000000000..c058f3437 --- /dev/null +++ b/fastlane/metadata/android/tr-TR/full_description.txt @@ -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 +Açı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 diff --git a/fastlane/metadata/android/tr-TR/short_description.txt b/fastlane/metadata/android/tr-TR/short_description.txt new file mode 100644 index 000000000..02bc4eb5a --- /dev/null +++ b/fastlane/metadata/android/tr-TR/short_description.txt @@ -0,0 +1 @@ +Özel takvim uygulamamızla güvenli bir şekilde plan yapın, programlayın ve hatırlatıcılar ayarlayın. diff --git a/fastlane/metadata/android/tr-TR/title.txt b/fastlane/metadata/android/tr-TR/title.txt new file mode 100644 index 000000000..ee350dd74 --- /dev/null +++ b/fastlane/metadata/android/tr-TR/title.txt @@ -0,0 +1 @@ +Fossify Takvim From 9924a3d5308d2c75ff9ef2bbb7c87389e77fd6c0 Mon Sep 17 00:00:00 2001 From: Dan Date: Tue, 21 May 2024 20:34:45 +0000 Subject: [PATCH 21/38] Translated using Weblate (Ukrainian) Currently translated at 100.0% (248 of 248 strings) Translation: Fossify/Calendar Translate-URL: https://hosted.weblate.org/projects/fossify/calendar/uk/ --- app/src/main/res/values-uk/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 3a1cbfb16..f3955187d 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -246,7 +246,7 @@ Протягом наступних %d місяців Як видалити свята, імпортовані з допомогою кнопки «Додати свята»? - Свята, створені таким чином, групуються в новий тип подій, що називається \"Свята\". Можна перейти в \"Налаштування\" -> \"Керувати типами подій\", потім тривале натиснення на даному типу подій активує процедуру видалення, нарешті натиснути \"Кошик\". + Свята, створені таким чином, групуються в новий тип подій, що називається «Свята». Можна перейти в «Налаштування» -> «Керувати типами подій», потім тривале натиснення на даному типу подій активує процедуру видалення, нарешті натиснути «Кошик». Чи можна синхронізувати події з допомогою Календаря Google чи інших служб, що підтримують CalDAV\? Можливо навіть поділитися календарями з іншими людьми\? Так, достатньо увімкнути «Синхронізувати з CalDAV» у налаштуваннях застосунку і вибрати календарі, які бажаєте синхронізувати. Однак вам знадобиться сторонній застосунок, що здійснить синхронізацію між пристроєм і сервером. Якщо ви бажаєте синхронізувати Календар Google, то їх офіційний застосунок може це виконати. Для інших календарів вам знадобиться сторонній застосунок для синхронізації, наприклад DAVx5. @@ -257,7 +257,7 @@ Застосунок не показує жодних сповіщень, чому так? Перевірте акумулятор вашого пристрою та налаштування сповіщень і переконайтесь, що ніщо не блокує нагадування чи не вимикає програму у фоновому режимі. Ви також можете поглянути на <a href=https://dontkillmyapp.com>https://dontkillmyapp.com</a>, там є кілька корисних порад. Як змінити або видалити наявний тип події\? - Ви можете зробити й те, й інше в \"Налаштування\" - \"Керування типами подій\". Просто натисніть на бажаний, щоб змінити мітку та колір. Для видалення виберіть бажаний тип довгим його утриманням і використайте кошик у верхньому меню. + Ви можете зробити й те, й інше в «Налаштування» - «Керування типами подій». Просто натисніть на бажаний, щоб змінити мітку та колір. Для видалення виберіть бажаний тип довгим його утриманням і використайте кошик у верхньому меню. До наступного місяця До наступного дня CalDAV From 2eb78c767aa28780bd4eeab27b1cc7940c3ad428 Mon Sep 17 00:00:00 2001 From: Dan Date: Tue, 21 May 2024 20:47:38 +0000 Subject: [PATCH 22/38] Translated using Weblate (Ukrainian) Currently translated at 100.0% (7 of 7 strings) Translation: Fossify/Calendar metadata Translate-URL: https://hosted.weblate.org/projects/fossify/calendar-metadata/uk/ --- fastlane/metadata/android/uk/changelogs/1.txt | 1 + fastlane/metadata/android/uk/changelogs/2.txt | 1 + fastlane/metadata/android/uk/changelogs/3.txt | 2 + fastlane/metadata/android/uk/changelogs/4.txt | 6 +++ .../metadata/android/uk/full_description.txt | 44 +++++++++++++++++++ .../metadata/android/uk/short_description.txt | 1 + fastlane/metadata/android/uk/title.txt | 1 + 7 files changed, 56 insertions(+) create mode 100644 fastlane/metadata/android/uk/changelogs/1.txt create mode 100644 fastlane/metadata/android/uk/changelogs/2.txt create mode 100644 fastlane/metadata/android/uk/changelogs/3.txt create mode 100644 fastlane/metadata/android/uk/changelogs/4.txt create mode 100644 fastlane/metadata/android/uk/full_description.txt create mode 100644 fastlane/metadata/android/uk/short_description.txt create mode 100644 fastlane/metadata/android/uk/title.txt diff --git a/fastlane/metadata/android/uk/changelogs/1.txt b/fastlane/metadata/android/uk/changelogs/1.txt new file mode 100644 index 000000000..8ae0c5b04 --- /dev/null +++ b/fastlane/metadata/android/uk/changelogs/1.txt @@ -0,0 +1 @@ +* Початковий реліз. diff --git a/fastlane/metadata/android/uk/changelogs/2.txt b/fastlane/metadata/android/uk/changelogs/2.txt new file mode 100644 index 000000000..a2a2ae54a --- /dev/null +++ b/fastlane/metadata/android/uk/changelogs/2.txt @@ -0,0 +1 @@ +* Виправлено сумісність імпорту з Простим календарем. diff --git a/fastlane/metadata/android/uk/changelogs/3.txt b/fastlane/metadata/android/uk/changelogs/3.txt new file mode 100644 index 000000000..5739fd4f6 --- /dev/null +++ b/fastlane/metadata/android/uk/changelogs/3.txt @@ -0,0 +1,2 @@ +* Виправлено сумісність імпорту з Простим календарем +* Виправлено конфігурацію застосунку. diff --git a/fastlane/metadata/android/uk/changelogs/4.txt b/fastlane/metadata/android/uk/changelogs/4.txt new file mode 100644 index 000000000..b0595824a --- /dev/null +++ b/fastlane/metadata/android/uk/changelogs/4.txt @@ -0,0 +1,6 @@ +* Виправлено проблему з переглядом місяця на Google Pixel 8 Pro. +* Виправлено кольорові крапки подій на щомісячному та щоденному перегляді. +* Виправлено неправильний часовий пояс при імпорті файлів ICS. +* Виділення вихідних у режимі друку. +* Оновлені свята для деяких країн. +* Додано деякі переклади. diff --git a/fastlane/metadata/android/uk/full_description.txt b/fastlane/metadata/android/uk/full_description.txt new file mode 100644 index 000000000..1348c8dd9 --- /dev/null +++ b/fastlane/metadata/android/uk/full_description.txt @@ -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 diff --git a/fastlane/metadata/android/uk/short_description.txt b/fastlane/metadata/android/uk/short_description.txt new file mode 100644 index 000000000..198a07acc --- /dev/null +++ b/fastlane/metadata/android/uk/short_description.txt @@ -0,0 +1 @@ +Безпечно створюйте плани, графіки та нагадування з нашим особистим календарем. diff --git a/fastlane/metadata/android/uk/title.txt b/fastlane/metadata/android/uk/title.txt new file mode 100644 index 000000000..837470289 --- /dev/null +++ b/fastlane/metadata/android/uk/title.txt @@ -0,0 +1 @@ +Fossify Календар From b00dd94411f4536f7277b7e1b80691dccc0e1acc Mon Sep 17 00:00:00 2001 From: VKing9 Date: Thu, 6 Jun 2024 12:10:16 +0000 Subject: [PATCH 23/38] Translated using Weblate (Hindi (Hinglish)) Currently translated at 14.2% (1 of 7 strings) Translation: Fossify/Calendar metadata Translate-URL: https://hosted.weblate.org/projects/fossify/calendar-metadata/hi@hinglish/ --- fastlane/metadata/android/hi@hinglish/title.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 fastlane/metadata/android/hi@hinglish/title.txt diff --git a/fastlane/metadata/android/hi@hinglish/title.txt b/fastlane/metadata/android/hi@hinglish/title.txt new file mode 100644 index 000000000..96f69eab9 --- /dev/null +++ b/fastlane/metadata/android/hi@hinglish/title.txt @@ -0,0 +1 @@ +Fossify Calendar From d5a2fb111339978f1d22e873d70d64b84f0d4476 Mon Sep 17 00:00:00 2001 From: holdthemayo <48473981+anfourny@users.noreply.github.com> Date: Tue, 11 Jun 2024 13:38:28 +0200 Subject: [PATCH 24/38] Update belgium.ics Created new holidays for the four coming years in Belgium. Recurring holidays are at the top of the document and variable date holidays are at the bottom, both in ascending order. Also, changed the holiday names to English instead of Flemish. We have three national languages (French, Flemish and German), and writing holidays in all three would be too long and not very useful. For that reason, English is often used as the "neutral" language between us. (This is my first time editing, apologies if I have missed anything.) --- app/src/main/assets/belgium.ics | 555 +++++++++----------------------- 1 file changed, 144 insertions(+), 411 deletions(-) diff --git a/app/src/main/assets/belgium.ics b/app/src/main/assets/belgium.ics index d89de89f5..1d182bd76 100644 --- a/app/src/main/assets/belgium.ics +++ b/app/src/main/assets/belgium.ics @@ -2,584 +2,317 @@ BEGIN:VCALENDAR BEGIN:VEVENT STATUS:CONFIRMED UID:bel_1 -SUMMARY:HEMELVAART -DTSTART;VALUE=DATE:20110602 -DTEND;VALUE=DATE:20110603 +SUMMARY:New Year +RRULE:FREQ=YEARLY;BYMONTHDAY=1;BYMONTH=1 +DTSTART;VALUE=DATE:20250101 +DTEND;VALUE=DATE:20250102 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_2 -SUMMARY:PASEN -DTSTART;VALUE=DATE:20110424 -DTEND;VALUE=DATE:20110425 +SUMMARY:Epiphany +RRULE:FREQ=YEARLY;BYMONTHDAY=6;BYMONTH=1 +DTSTART;VALUE=DATE:20250106 +DTEND;VALUE=DATE:20250107 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_3 -SUMMARY:2de Paasdag -DTSTART;VALUE=DATE:20110425 -DTEND;VALUE=DATE:20110426 +SUMMARY:Valentine's Day +RRULE:FREQ=YEARLY;BYMONTHDAY=14;BYMONTH=2 +DTSTART;VALUE=DATE:20250214 +DTEND;VALUE=DATE:20250215 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_4 -SUMMARY:PASEN -DTSTART;VALUE=DATE:20120408 -DTEND;VALUE=DATE:20120409 +SUMMARY:Labor Day +RRULE:FREQ=YEARLY;BYMONTHDAY=1;BYMONTH=5 +DTSTART;VALUE=DATE:20250501 +DTEND;VALUE=DATE:20250502 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_5 -SUMMARY:2de PAASDAG -DTSTART;VALUE=DATE:20120409 -DTEND;VALUE=DATE:20120410 +SUMMARY:Iris Day (Brussels) +RRULE:FREQ=YEARLY;BYMONTHDAY=8;BYMONTH=5 +DTSTART;VALUE=DATE:20250508 +DTEND;VALUE=DATE:20250509 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_6 -SUMMARY:PASEN -DTSTART;VALUE=DATE:20130331 -DTEND;VALUE=DATE:20130401 +SUMMARY:Day of the Flemish Community +RRULE:FREQ=YEARLY;BYMONTHDAY=11;BYMONTH=7 +DTSTART;VALUE=DATE:20240711 +DTEND;VALUE=DATE:20240712 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_7 -SUMMARY:2de PAASDAG -DTSTART;VALUE=DATE:20130401 -DTEND;VALUE=DATE:20130402 +SUMMARY:Belgian National Day +RRULE:FREQ=YEARLY;BYMONTHDAY=21;BYMONTH=7 +DTSTART;VALUE=DATE:20240721 +DTEND;VALUE=DATE:20240722 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_8 -SUMMARY:PASEN -DTSTART;VALUE=DATE:20140420 -DTEND;VALUE=DATE:20140421 +SUMMARY:Assumption of Mary +RRULE:FREQ=YEARLY;BYMONTHDAY=15;BYMONTH=8 +DTSTART;VALUE=DATE:20240815 +DTEND;VALUE=DATE:20240816 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_9 -SUMMARY:2de PAASDAG -DTSTART;VALUE=DATE:20140421 -DTEND;VALUE=DATE:20140422 +SUMMARY:Day of the French Community +RRULE:FREQ=YEARLY;BYMONTHDAY=27;BYMONTH=9 +DTSTART;VALUE=DATE:20240927 +DTEND;VALUE=DATE:20240928 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_10 -SUMMARY:HEMELVAART -DTSTART;VALUE=DATE:20140529 -DTEND;VALUE=DATE:20140530 +SUMMARY:Halloween +RRULE:FREQ=YEARLY;BYMONTHDAY=31;BYMONTH=10 +DTSTART;VALUE=DATE:20241031 +DTEND;VALUE=DATE:20241101 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_11 -SUMMARY:PINKSTEREN -DTSTART;VALUE=DATE:20140608 -DTEND;VALUE=DATE:20140609 +SUMMARY:All Saints' Day +RRULE:FREQ=YEARLY;BYMONTHDAY=1;BYMONTH=11 +DTSTART;VALUE=DATE:20241101 +DTEND;VALUE=DATE:20241102 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_12 -SUMMARY:2de PINKSTERENDAG -DTSTART;VALUE=DATE:20140609 -DTEND;VALUE=DATE:20140610 +SUMMARY:Armistice Day +RRULE:FREQ=YEARLY;BYMONTHDAY=11;BYMONTH=11 +DTSTART;VALUE=DATE:20241111 +DTEND;VALUE=DATE:20241112 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_13 -SUMMARY:PINKSTEREN -DTSTART;VALUE=DATE:20130519 -DTEND;VALUE=DATE:20130520 +SUMMARY:Day of the German-speaking Community +RRULE:FREQ=YEARLY;BYMONTHDAY=15;BYMONTH=11 +DTSTART;VALUE=DATE:20241115 +DTEND;VALUE=DATE:20241116 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_14 -SUMMARY:2de PINKSTERENDAG -DTSTART;VALUE=DATE:20130520 -DTEND;VALUE=DATE:20130521 +SUMMARY:Saint Nicholas +RRULE:FREQ=YEARLY;BYMONTHDAY=6;BYMONTH=12 +DTSTART;VALUE=DATE:20241206 +DTEND;VALUE=DATE:20241207 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_15 -SUMMARY:PINKSTEREN -DTSTART;VALUE=DATE:20120527 -DTEND;VALUE=DATE:20120528 +SUMMARY:Christmas +RRULE:FREQ=YEARLY;BYMONTHDAY=25;BYMONTH=12 +DTSTART;VALUE=DATE:20241225 +DTEND;VALUE=DATE:20241226 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_16 -SUMMARY:2de PINKSTERENDAG -DTSTART;VALUE=DATE:20120528 -DTEND;VALUE=DATE:20120529 +SUMMARY:Easter Sunday +DTSTART;VALUE=DATE:20250420 +DTEND;VALUE=DATE:20250421 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_17 -SUMMARY:PINKSTEREN -DTSTART;VALUE=DATE:20110612 -DTEND;VALUE=DATE:20110613 +SUMMARY:Easter Sunday +DTSTART;VALUE=DATE:20260405 +DTEND;VALUE=DATE:20260406 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_18 -SUMMARY:2de PINKSTERENDAG -DTSTART;VALUE=DATE:20110613 -DTEND;VALUE=DATE:20110614 +SUMMARY:Easter Sunday +DTSTART;VALUE=DATE:20270328 +DTEND;VALUE=DATE:20270329 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_19 -SUMMARY:PASEN -DTSTART;VALUE=DATE:20150405 -DTEND;VALUE=DATE:20150406 +SUMMARY:Easter Sunday +DTSTART;VALUE=DATE:20280416 +DTEND;VALUE=DATE:20280417 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_20 -SUMMARY:2de PAASDAG -DTSTART;VALUE=DATE:20150406 -DTEND;VALUE=DATE:20150407 +SUMMARY:Easter Monday +DTSTART;VALUE=DATE:20250421 +DTEND;VALUE=DATE:20250422 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_21 -SUMMARY:HEMELVAART -DTSTART;VALUE=DATE:20150514 -DTEND;VALUE=DATE:20150515 +SUMMARY:Easter Monday +DTSTART;VALUE=DATE:20260406 +DTEND;VALUE=DATE:20260407 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_22 -SUMMARY:PINKSTEREN -DTSTART;VALUE=DATE:20150524 -DTEND;VALUE=DATE:20150525 +SUMMARY:Easter Monday +DTSTART;VALUE=DATE:20270329 +DTEND;VALUE=DATE:20270330 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_23 -SUMMARY:2de PINKSTERENDAG -DTSTART;VALUE=DATE:20150525 -DTEND;VALUE=DATE:20150526 +SUMMARY:Easter Monday +DTSTART;VALUE=DATE:20280417 +DTEND;VALUE=DATE:20280418 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_24 -SUMMARY:PASEN -DTSTART;VALUE=DATE:20160327 -DTEND;VALUE=DATE:20160328 +SUMMARY:Mother's Day +DTSTART;VALUE=DATE:20250511 +DTEND;VALUE=DATE:20250512 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_25 -SUMMARY:2de PAASDAG -DTSTART;VALUE=DATE:20160328 -DTEND;VALUE=DATE:20160329 +SUMMARY:Mother's Day +DTSTART;VALUE=DATE:20260510 +DTEND;VALUE=DATE:20260511 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_26 -SUMMARY:PINKSTEREN -DTSTART;VALUE=DATE:20160515 -DTEND;VALUE=DATE:20160516 +SUMMARY:Mother's Day +DTSTART;VALUE=DATE:20270509 +DTEND;VALUE=DATE:20270510 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_27 -SUMMARY:2de PINKSTERENDAG -DTSTART;VALUE=DATE:20160516 -DTEND;VALUE=DATE:20160517 +SUMMARY:Mother's Day +DTSTART;VALUE=DATE:20280514 +DTEND;VALUE=DATE:20280515 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_28 -SUMMARY:HEMELVAART -DTSTART;VALUE=DATE:20160505 -DTEND;VALUE=DATE:20160506 +SUMMARY:Ascension +DTSTART;VALUE=DATE:20250529 +DTEND;VALUE=DATE:20250530 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_29 -SUMMARY:PASEN -DTSTART;VALUE=DATE:20170416 -DTEND;VALUE=DATE:20170417 +SUMMARY:Ascension +DTSTART;VALUE=DATE:20260514 +DTEND;VALUE=DATE:20260515 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_30 -SUMMARY:2de PAASDAG -DTSTART;VALUE=DATE:20170417 -DTEND;VALUE=DATE:20170418 +SUMMARY:Ascension +DTSTART;VALUE=DATE:20270506 +DTEND;VALUE=DATE:20270507 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_31 -SUMMARY:HEMELVAART -DTSTART;VALUE=DATE:20170525 -DTEND;VALUE=DATE:20170526 +SUMMARY:Ascension +DTSTART;VALUE=DATE:20280514 +DTEND;VALUE=DATE:20280515 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_32 -SUMMARY:PINKSTEREN -DTSTART;VALUE=DATE:20170604 -DTEND;VALUE=DATE:20170605 +SUMMARY:Father's Day +DTSTART;VALUE=DATE:20250608 +DTEND;VALUE=DATE:20250609 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_33 -SUMMARY:2de PINKSTERENDAG -DTSTART;VALUE=DATE:20170605 -DTEND;VALUE=DATE:20170606 +SUMMARY:Father's Day +DTSTART;VALUE=DATE:20260614 +DTEND;VALUE=DATE:20260615 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_34 -SUMMARY:PASEN -DTSTART;VALUE=DATE:20180401 -DTEND;VALUE=DATE:20180402 +SUMMARY:Father's Day +DTSTART;VALUE=DATE:20270613 +DTEND;VALUE=DATE:20270614 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_35 -SUMMARY:2de PAASDAG -DTSTART;VALUE=DATE:20180402 -DTEND;VALUE=DATE:20180403 +SUMMARY:Father's Day +DTSTART;VALUE=DATE:20280611 +DTEND;VALUE=DATE:20280612 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_36 -SUMMARY:HEMELVAART -DTSTART;VALUE=DATE:20180510 -DTEND;VALUE=DATE:20180511 +SUMMARY:Whit Sunday +DTSTART;VALUE=DATE:20250608 +DTEND;VALUE=DATE:20250609 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_37 -SUMMARY:PINKSTEREN -DTSTART;VALUE=DATE:20180520 -DTEND;VALUE=DATE:20180521 +SUMMARY:Whit Sunday +DTSTART;VALUE=DATE:20260524 +DTEND;VALUE=DATE:20260525 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_38 -SUMMARY:2de PINKSTERENDAG -DTSTART;VALUE=DATE:20180521 -DTEND;VALUE=DATE:20180522 +SUMMARY:Whit Sunday +DTSTART;VALUE=DATE:20270516 +DTEND;VALUE=DATE:20270517 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_39 -SUMMARY:HEMELVAART -DTSTART;VALUE=DATE:20190523 -DTEND;VALUE=DATE:20190524 +SUMMARY:Whit Sunday +DTSTART;VALUE=DATE:20280604 +DTEND;VALUE=DATE:20280605 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_40 -SUMMARY:PINKSTEREN -DTSTART;VALUE=DATE:20190602 -DTEND;VALUE=DATE:20190603 +SUMMARY:Whit Monday +DTSTART;VALUE=DATE:20250609 +DTEND;VALUE=DATE:20250610 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_41 -SUMMARY:2de PINKSTERENDAG -DTSTART;VALUE=DATE:20190603 -DTEND;VALUE=DATE:20190604 +SUMMARY:Whit Monday +DTSTART;VALUE=DATE:20260425 +DTEND;VALUE=DATE:20260426 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_42 -SUMMARY:PASEN -DTSTART;VALUE=DATE:20200412 -DTEND;VALUE=DATE:20200413 +SUMMARY:Whit Monday +DTSTART;VALUE=DATE:20270517 +DTEND;VALUE=DATE:20270518 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_43 -SUMMARY:2de PAASDAG -DTSTART;VALUE=DATE:20200413 -DTEND;VALUE=DATE:20200414 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_44 -SUMMARY:PASEN -DTSTART;VALUE=DATE:20190421 -DTEND;VALUE=DATE:20190422 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_45 -SUMMARY:2de PAASDAG -DTSTART;VALUE=DATE:20190422 -DTEND;VALUE=DATE:20190423 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_46 -SUMMARY:PASEN -DTSTART;VALUE=DATE:20210404 -DTEND;VALUE=DATE:20210405 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_47 -SUMMARY:2de PAASDAG -DTSTART;VALUE=DATE:20210405 -DTEND;VALUE=DATE:20210406 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_48 -SUMMARY:PASEN -DTSTART;VALUE=DATE:20220417 -DTEND;VALUE=DATE:20220418 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_49 -SUMMARY:2de PAASDAG -DTSTART;VALUE=DATE:20220418 -DTEND;VALUE=DATE:20220419 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_50 -SUMMARY:HEMELVAART -DTSTART;VALUE=DATE:20220526 -DTEND;VALUE=DATE:20220527 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_51 -SUMMARY:PINKSTEREN -DTSTART;VALUE=DATE:20220605 -DTEND;VALUE=DATE:20220606 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_52 -SUMMARY:2de PINKSTERENDAG -DTSTART;VALUE=DATE:20220606 -DTEND;VALUE=DATE:20220607 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_53 -SUMMARY:HEMELVAART -DTSTART;VALUE=DATE:20210513 -DTEND;VALUE=DATE:20210514 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_54 -SUMMARY:PINKSTEREN -DTSTART;VALUE=DATE:20210523 -DTEND;VALUE=DATE:20210524 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_55 -SUMMARY:2de PINKSTERENDAG -DTSTART;VALUE=DATE:20210524 -DTEND;VALUE=DATE:20210525 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_56 -SUMMARY:HEMELVAART -DTSTART;VALUE=DATE:20200521 -DTEND;VALUE=DATE:20200522 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_57 -SUMMARY:PINKSTEREN -DTSTART;VALUE=DATE:20200531 -DTEND;VALUE=DATE:20200601 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_58 -SUMMARY:2de PINKSTERENDAG -DTSTART;VALUE=DATE:20200601 -DTEND;VALUE=DATE:20200602 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_59 -SUMMARY:Aswoensdag -DTSTART;VALUE=DATE:20110309 -DTEND;VALUE=DATE:20110310 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_60 -SUMMARY:Aswoensdag -DTSTART:20120222T090000 -DTEND:20120222T110000 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_61 -SUMMARY:Aswoensdag -DTSTART;VALUE=DATE:20140305 -DTEND;VALUE=DATE:20140306 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_62 -SUMMARY:Aswoensdag -DTSTART;VALUE=DATE:20150211 -DTEND;VALUE=DATE:20150212 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_63 -SUMMARY:Aswoensdag -DTSTART;VALUE=DATE:20160210 -DTEND;VALUE=DATE:20160211 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_64 -SUMMARY:Aswoensdag -DTSTART;VALUE=DATE:20180214 -DTEND;VALUE=DATE:20180215 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_65 -SUMMARY:Aswoensdag -DTSTART;VALUE=DATE:20130213 -DTEND;VALUE=DATE:20130214 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_66 -SUMMARY:Aswoensdag -DTSTART;VALUE=DATE:20190306 -DTEND;VALUE=DATE:20190307 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_67 -SUMMARY:Aswoensdag -DTSTART;VALUE=DATE:20200226 -DTEND;VALUE=DATE:20200227 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_68 -SUMMARY:Aswoensdag -DTSTART;VALUE=DATE:20170301 -DTEND;VALUE=DATE:20170302 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_69 -SUMMARY:Aswoensdag -DTSTART;VALUE=DATE:20210217 -DTEND;VALUE=DATE:20210218 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_70 -SUMMARY:Aswoensdag -DTSTART;VALUE=DATE:20220302 -DTEND;VALUE=DATE:20220303 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_71 -SUMMARY:HEMELVAART -DTSTART;VALUE=DATE:20120517 -DTEND;VALUE=DATE:20120518 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_72 -SUMMARY:HEMELVAART -DTSTART;VALUE=DATE:20130509 -DTEND;VALUE=DATE:20130510 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_73 -SUMMARY:Valentijn -DTSTART;VALUE=DATE:20190314 -DTEND;VALUE=DATE:20190315 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_74 -SUMMARY:NIEUWJAAR -RRULE:FREQ=YEARLY;BYMONTHDAY=1;BYMONTH=1 -DTSTART;VALUE=DATE:20110101 -DTEND;VALUE=DATE:20110102 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_75 -SUMMARY:NATIONALE FEESTDAG -RRULE:FREQ=YEARLY;BYMONTHDAY=21;BYMONTH=7 -DTSTART;VALUE=DATE:20110721 -DTEND;VALUE=DATE:20110722 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_76 -SUMMARY:ONZE LIEVE VROUW HEMELVAART -RRULE:FREQ=YEARLY;BYMONTHDAY=15;BYMONTH=8 -DTSTART;VALUE=DATE:20110815 -DTEND;VALUE=DATE:20110816 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_77 -SUMMARY:ALLERHEILIGEN -RRULE:FREQ=YEARLY;BYMONTHDAY=1;BYMONTH=11 -DTSTART;VALUE=DATE:20111101 -DTEND;VALUE=DATE:20111102 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_78 -SUMMARY:WAPENSTILSTAND -RRULE:FREQ=YEARLY;BYMONTHDAY=11;BYMONTH=11 -DTSTART;VALUE=DATE:20111111 -DTEND;VALUE=DATE:20111112 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_79 -SUMMARY:KERSTMIS -RRULE:FREQ=YEARLY;BYMONTHDAY=25;BYMONTH=12 -DTSTART;VALUE=DATE:20111225 -DTEND;VALUE=DATE:20111226 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_80 -SUMMARY:Vlaamse feestdag -RRULE:FREQ=YEARLY;BYMONTHDAY=11;BYMONTH=7 -DTSTART;VALUE=DATE:20110711 -DTEND;VALUE=DATE:20110712 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_81 -SUMMARY:Valentijn -RRULE:FREQ=YEARLY;BYMONTHDAY=14;BYMONTH=2 -DTSTART;VALUE=DATE:20120214 -DTEND;VALUE=DATE:20120215 -END:VEVENT -BEGIN:VEVENT -STATUS:CONFIRMED -UID:bel_82 -SUMMARY:FEEST VAN DE ARBEID -RRULE:FREQ=YEARLY;BYMONTHDAY=1;BYMONTH=5 -DTSTART;VALUE=DATE:20110501 -DTEND;VALUE=DATE:20110502 +SUMMARY:Whit Monday +DTSTART;VALUE=DATE:20280605 +DTEND;VALUE=DATE:20280606 END:VEVENT END:VCALENDAR From 1105684b6ed3b559177ef45aab4d49bbeb466c20 Mon Sep 17 00:00:00 2001 From: ovl-1 Date: Thu, 20 Jun 2024 08:28:55 +0000 Subject: [PATCH 25/38] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegian?= =?UTF-8?q?=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 93.1% (231 of 248 strings) Translation: Fossify/Calendar Translate-URL: https://hosted.weblate.org/projects/fossify/calendar/nb_NO/ --- app/src/main/res/values-nb-rNO/strings.xml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml index aac8ebb9b..eca81b467 100644 --- a/app/src/main/res/values-nb-rNO/strings.xml +++ b/app/src/main/res/values-nb-rNO/strings.xml @@ -169,7 +169,7 @@ Lydtype brukt for påminnelser Varsel Ringetone - Bruk den siste hendelsens påminnelser som standard for ny hendelse + Bruk den siste hendelsens påminnelser som standard for nye hendelser Standardpåminnelse 1 Standardpåminnelse 2 Standardpåminnelse 3 @@ -234,4 +234,10 @@ Off. fridager opprettet på denne måten settes inn i en ny hendelsestype kalt \"Off. fridager\". Gå til Innstillinger -> Behandle hendelsestyper, lang-trykk hendelsestypen og slett den ved å velge søppelbøtten. Kan jeg synkronisere hendelsene mine via Google Kalender eller annen tjeneste som støtter CalDAV\? 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. + Gå til neste dag + System + Alarm + Gå til forrige måned + Gå til neste måned + Gå til forrige dag \ No newline at end of file From 0fa62b93b4cd1907e98d97728a91518363f9d23a Mon Sep 17 00:00:00 2001 From: Cosmin Humeniuc Date: Wed, 19 Jun 2024 12:06:18 +0000 Subject: [PATCH 26/38] Translated using Weblate (Romanian) Currently translated at 100.0% (248 of 248 strings) Translation: Fossify/Calendar Translate-URL: https://hosted.weblate.org/projects/fossify/calendar/ro/ --- app/src/main/res/values-ro/strings.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index f2c19dd7c..9deffef6d 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -81,7 +81,7 @@ a cincea ultima Zile de naștere - Adaugă Zile de naștere din contacte + Adaugă zile de naștere din contacte Nu s-au găsit zile de naștere Nu s-au găsit zile de naștere noi Zile de naștere adăugate cu succes @@ -94,11 +94,11 @@ Adaugă zile de aniversare automat Memento înainte de - Adaugă o alt memento + Adaugă un alt memento Memento-uri eveniment Memento-uri Adaugă o altă participare - Starea meu: + Starea mea: Particip Nu particip Poate particip @@ -250,7 +250,7 @@ Niciun eveniment următor. Ai eliminat prin filtrare toate tipurile de evenimente Culoare eveniment - Exportare treburi + Exportare sarcini Șterge toate evenimentele și treburile CalDAV Poate chiar să partajezi calendarele cu alți oameni? From d81c89820d21b6ae0dcd7769332f6d8c15f63fc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=88=98=EB=B9=88?= Date: Thu, 20 Jun 2024 14:20:04 +0000 Subject: [PATCH 27/38] Translated using Weblate (Korean) Currently translated at 95.5% (237 of 248 strings) Translation: Fossify/Calendar Translate-URL: https://hosted.weblate.org/projects/fossify/calendar/ko/ --- app/src/main/res/values-ko/strings.xml | 66 +++++++++++++++++++++++--- 1 file changed, 60 insertions(+), 6 deletions(-) diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index ee2374003..026471afb 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -5,7 +5,7 @@ 일간 보기 주간 보기 월간 보기 - Monthly + daily view + 월간 + 일간 보기 연간 보기 일정 목록 오늘로 이동 @@ -23,7 +23,7 @@ 일정을 수정했습니다 유형별 일정 지도에 표시할 검색명을 입력해주세요 - 다가오는 일정이 있습니다. + 다가오는 일정이 있습니다 반복 반복 없음 매일 @@ -112,12 +112,12 @@ 일정 유형 선택 해당 유형 일정들 기본 유형으로 변경 해당 유형 일정들 모두 제거 - CalDAV 캘린더를 제거하려면 동기화를 해제해야합니다. + CalDAV 캘린더를 제거하려면 동기화를 해제해야합니다 공휴일 공휴일 추가 국경일 종교 휴일 - 공휴일을 새 일정 유형으로 가져왔습니다. + 공휴일을 새 일정 유형으로 가져왔습니다 일부 일정을 가져오지 못했습니다 공휴일을 가져오는데 실패했습니다 일정 유형 관리 @@ -129,7 +129,7 @@ 알림 소리 벨소리를 설정할 수 있는 앱이 없습니다 없음 - 종료시간이 시작시간보다 빠를 수 없습니다. + 종료시간이 시작시간보다 빠를 수 없습니다 CalDAV 동기화 일정 목록 과거의 일정 표시 @@ -169,7 +169,7 @@ 동기화중… 동기화 완료 다른 색상을 선택해주세요(로컬에만 적용 가능) - 선택한 캘린더에 작성할 수 없습니다. + 선택한 캘린더에 작성할 수 없습니다 일정을 찾을 수 없습니다. 앱 설정에서 해당 캘린더에 대해 CalDAV 동기화를 활성화해주세요. 월요일 화요일 @@ -192,4 +192,58 @@ 네 가능합니다. 앱 설정에서 \"CalDAV 동기화\"를 켜고 동기화하려는 캘린더를 선택할 수 있습니다. 그러나 핸드폰과 서버간의 동기화를 처리하는 타사 앱이 필요합니다. Google 캘린더를 동기화하려는 경우 공식 캘린더 앱이 작업을 수행합니다. 만약 다른 캘린더를 동기화하려면 동기화를 도와주는 타사 앱(ex : DAVx5)이 필요합니다. 일정에 대한 알림이 화면에 뜨지만 알림음이 들리지 않습니다. 어떻게 해야하나요\? 알림을 화면에 표시하는 것 뿐만 아니라 알림음도 시스템의 영향을 크게 받습니다. 소리가 들리지 않는다면 앱 설정으로 이동하여 \"알림음 출력 방식\" 옵션을 누르고 다른 방식으로 변경해보세요. 그래도 알림음이 들리지 않는다면 특정 출력 방식이 음소거되어 있을 가능성이 있습니다. 핸드폰의 사운드 설정을 확인해주세요. + 어떤 일정 유형도 선택되지 않았습니다 + 일정 색상 + 할 일 + 할 일들 + 할 일 수정 + 중복 할 일 생성 + 선택한 항목과 이후 모든 항목 변경 + 다섯 번째 + 새로운 생일 자동 추가 + 알림 + 파일에서 일정 유형을 무시하고 항상 기본 유형 사용 + 설명 또는 위 표시 + 완료한 할 일 희미하게 표시 + 현재 시간 + 주말 색상 강조 표시 + 할 일 생성 허용 + 동기화할 수 있는 달력을 찾을 수 없습니다 + 한가함 + 바쁨 + %s 일정 가져오기 실패 + + 다음 %d 주 안에 + + + 다음 %d 개월 안에 + + 일정 유형을 바꾸거나 없애려면 어떻게 해야하나요? + 다음 일로 이동 + 다음 안에… + 오늘 날짜 달력 + 새로운 기념일 자동 추가 + 이전 월로 이동 + 다음 월로 이동 + 다섯 번째 + 국가 또는 시간대 입력 + 할 일 내보내기 + 과거 항목 포함 내보내기 + 이전 일로 이동 + 예정된 일정이 없습니다. + 기본 달력 색상 + 새 할 일 + 새 할 일 생성 + 완료 표시 + 미완료 표시 + 할 일 색상 + 반복 할 일입니다 + 모든 일정 및 할 일 삭제 + + 다음 %d 일 안에 + + CalDAV + 현재 일정 표시: + 다음 1년 안에 + 오늘만 \ No newline at end of file From 0705bb099182533380dbdee1c0b90493e36b6788 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=88=98=EB=B9=88?= Date: Fri, 21 Jun 2024 05:52:17 +0000 Subject: [PATCH 28/38] Translated using Weblate (Korean) Currently translated at 99.1% (246 of 248 strings) Translation: Fossify/Calendar Translate-URL: https://hosted.weblate.org/projects/fossify/calendar/ko/ --- app/src/main/res/values-ko/strings.xml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 026471afb..b1f4013fc 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -47,7 +47,7 @@ 영원히 반복 반복 - 특정요일 반복 + 특정 요일 반복 선택한 요일에 같은 날 마지막 날 @@ -158,7 +158,7 @@ 마지막으로 사용한 것 다른 시간 화면에서 주말 표시 - 이벤트 시간대 변경 허용 + 일정 시간대 변경 허용 동기화 할 캘린더 선택 동기화된 캘린더 관리 로컬에만 저장 @@ -221,7 +221,7 @@ 일정 유형을 바꾸거나 없애려면 어떻게 해야하나요? 다음 일로 이동 다음 안에… - 오늘 날짜 달력 + 오늘 달력 새로운 기념일 자동 추가 이전 월로 이동 다음 월로 이동 @@ -231,7 +231,7 @@ 과거 항목 포함 내보내기 이전 일로 이동 예정된 일정이 없습니다. - 기본 달력 색상 + 기본 캘린더 색상 새 할 일 새 할 일 생성 완료 표시 @@ -246,4 +246,12 @@ 현재 일정 표시: 다음 1년 안에 오늘만 + 일정 유형 빠른 필터 관리 + 다른 사람들과 캘린더를 공유할 수 있나요? + 엡에서 시간대를 지원하나요? + 앱에 알림이 표시되지 않는데 왜 그런가요? + 자정에 걸쳐 진행되는 이벤트 상단 바에 표시하기 + 네, 그렇습니다. 기본적으로 모든 일정은 현재 시간대에 생성됩니다. 일정의 시간대를 변경하려면 먼저 앱 설정에서 일정 시간대 변경 허용를 활성화한 다음 일정 세부정보 화면에서 시간대를 변경해야 합니다. 대부분의 사람들은 이 기능이 필요하지 않으므로 기본적으로 비활성화되어 있습니다. + 알림을 차단하거나 백그라운드에서 앱을 종료하는 것이 없는지 디바이스 배터리 및 알림 설정을 확인 해보세요. 추가적으로 <a href=https://dontkillmyapp.com>https://dontkillmyapp.com</a>에서 유용한 팁을 확인할 수 있습니다. + 두 기능 모두 앱 설정 - 일정 유형 관리에서 확인할 수 있습니다. 원하는 일정 유형을 클릭하여 라벨과 색상을 변경하거나, 길게 눌러 선택 후 상단 메뉴의 휴지통을 사용해 삭제할 수 있습니다. \ No newline at end of file From 40ac00e5936aacf40e8818b76d7de3a5bf5f8128 Mon Sep 17 00:00:00 2001 From: Alexander Gabilondo Date: Mon, 8 Jul 2024 14:26:47 +0000 Subject: [PATCH 29/38] Translated using Weblate (Basque) Currently translated at 100.0% (7 of 7 strings) Translation: Fossify/Calendar metadata Translate-URL: https://hosted.weblate.org/projects/fossify/calendar-metadata/eu/ --- fastlane/metadata/android/eu-ES/changelogs/3.txt | 2 +- fastlane/metadata/android/eu-ES/full_description.txt | 6 +++--- fastlane/metadata/android/eu-ES/short_description.txt | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/fastlane/metadata/android/eu-ES/changelogs/3.txt b/fastlane/metadata/android/eu-ES/changelogs/3.txt index 8ca77b702..80dd355a9 100644 --- a/fastlane/metadata/android/eu-ES/changelogs/3.txt +++ b/fastlane/metadata/android/eu-ES/changelogs/3.txt @@ -1,2 +1,2 @@ -* Simple Calendarrekin inportatzeko bateragarritasuna konpondu da. +* Simple Calendar-ekin inportatzeko bateragarritasuna konpondu da. * Foss zaporearen konfigurazioa konpondu da. diff --git a/fastlane/metadata/android/eu-ES/full_description.txt b/fastlane/metadata/android/eu-ES/full_description.txt index e75e6cbf9..89e99005a 100644 --- a/fastlane/metadata/android/eu-ES/full_description.txt +++ b/fastlane/metadata/android/eu-ES/full_description.txt @@ -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 diff --git a/fastlane/metadata/android/eu-ES/short_description.txt b/fastlane/metadata/android/eu-ES/short_description.txt index 3b75b4f18..c79edab85 100644 --- a/fastlane/metadata/android/eu-ES/short_description.txt +++ b/fastlane/metadata/android/eu-ES/short_description.txt @@ -1 +1 @@ -Planifikatu, programatu eta ezarri abisuak modu seguruan gure egutegi aplikazioarekin. +Planifikatu eta ezarri abisuak modu seguruan gure egutegi aplikazioarekin. From 8b5a239ab95f53d32bd978538ee31f283f80c6d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Pierini?= Date: Mon, 8 Jul 2024 12:49:45 +0000 Subject: [PATCH 30/38] Translated using Weblate (Spanish) Currently translated at 100.0% (7 of 7 strings) Translation: Fossify/Calendar metadata Translate-URL: https://hosted.weblate.org/projects/fossify/calendar-metadata/es/ --- fastlane/metadata/android/es-ES/title.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/es-ES/title.txt b/fastlane/metadata/android/es-ES/title.txt index 96f69eab9..2e1f48442 100644 --- a/fastlane/metadata/android/es-ES/title.txt +++ b/fastlane/metadata/android/es-ES/title.txt @@ -1 +1 @@ -Fossify Calendar +Calendario Fossify From 99f1d74ca6f056527586ae300dff11b819187bf4 Mon Sep 17 00:00:00 2001 From: "P.O" Date: Sun, 14 Jul 2024 15:50:23 +0000 Subject: [PATCH 31/38] Translated using Weblate (Swedish) Currently translated at 85.7% (6 of 7 strings) Translation: Fossify/Calendar metadata Translate-URL: https://hosted.weblate.org/projects/fossify/calendar-metadata/sv/ --- fastlane/metadata/android/sv-SE/changelogs/1.txt | 2 +- fastlane/metadata/android/sv-SE/short_description.txt | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 fastlane/metadata/android/sv-SE/short_description.txt diff --git a/fastlane/metadata/android/sv-SE/changelogs/1.txt b/fastlane/metadata/android/sv-SE/changelogs/1.txt index 70c0fb019..d1b6e00d7 100644 --- a/fastlane/metadata/android/sv-SE/changelogs/1.txt +++ b/fastlane/metadata/android/sv-SE/changelogs/1.txt @@ -1 +1 @@ -* Inledande version. +* Initial version. diff --git a/fastlane/metadata/android/sv-SE/short_description.txt b/fastlane/metadata/android/sv-SE/short_description.txt new file mode 100644 index 000000000..f5ea559e7 --- /dev/null +++ b/fastlane/metadata/android/sv-SE/short_description.txt @@ -0,0 +1 @@ +Planera säkert, schemalägg och skapa påminnelser med vår integritetsvänliga kalenderapp. From cf0b815b6f76f99ead8be9f261cdb30467a63f34 Mon Sep 17 00:00:00 2001 From: Naveen Singh Date: Wed, 24 Jul 2024 16:11:54 +0530 Subject: [PATCH 32/38] Bump GH actions --- .github/workflows/image-minimizer.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/image-minimizer.yml b/.github/workflows/image-minimizer.yml index 56c6eb37f..d9241c33b 100644 --- a/.github/workflows/image-minimizer.yml +++ b/.github/workflows/image-minimizer.yml @@ -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: | From 903bc207ed98f06cfb8bcccfb400f5c482598842 Mon Sep 17 00:00:00 2001 From: nofish Date: Mon, 26 Aug 2024 01:18:19 +0200 Subject: [PATCH 33/38] Fix Kazakhstan (Asia/Almaty) GMT offset (#303) --- app/src/main/kotlin/org/fossify/calendar/helpers/MyTimeZones.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/kotlin/org/fossify/calendar/helpers/MyTimeZones.kt b/app/src/main/kotlin/org/fossify/calendar/helpers/MyTimeZones.kt index f2a569f5f..e5c0fd315 100644 --- a/app/src/main/kotlin/org/fossify/calendar/helpers/MyTimeZones.kt +++ b/app/src/main/kotlin/org/fossify/calendar/helpers/MyTimeZones.kt @@ -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"), From d59aa00379359215515efc6faa7853b9b73abd1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ensar=20Saraj=C4=8Di=C4=87?= Date: Sat, 28 Sep 2024 12:59:33 +0200 Subject: [PATCH 34/38] Add reusable workflows for PRs and testing builds --- .github/workflows/pr.yml | 9 + .github/workflows/testing-build.yml | 10 + app/build.gradle.kts | 9 +- app/detekt-baseline.xml | 821 ++++ app/lint-baseline.xml | 5385 +++++++++++++++++++++++++++ build.gradle.kts | 1 + gradle/libs.versions.toml | 4 +- 7 files changed, 6237 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/pr.yml create mode 100644 .github/workflows/testing-build.yml create mode 100644 app/detekt-baseline.xml create mode 100644 app/lint-baseline.xml diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml new file mode 100644 index 000000000..36adc78e0 --- /dev/null +++ b/.github/workflows/pr.yml @@ -0,0 +1,9 @@ +name: PR + +on: + pull_request: + branches: [ master ] + +jobs: + call-pr-workflow: + uses: FossifyOrg/.github/.github/workflows/pr.yml@main diff --git a/.github/workflows/testing-build.yml b/.github/workflows/testing-build.yml new file mode 100644 index 000000000..33379f925 --- /dev/null +++ b/.github/workflows/testing-build.yml @@ -0,0 +1,10 @@ +name: Testing build (on PR) + +on: + pull_request: + branches: [ master ] + types: [ labeled, opened, synchronize, reopened ] + +jobs: + call-testing-build-workflow: + uses: FossifyOrg/.github/.github/workflows/testing-build.yml@main diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 2e668aaca..c08a006a9 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -7,6 +7,7 @@ plugins { alias(libs.plugins.android) alias(libs.plugins.kotlinAndroid) alias(libs.plugins.ksp) + alias(libs.plugins.detekt) } val keystorePropertiesFile: File = rootProject.file("keystore.properties") @@ -93,10 +94,16 @@ android { lint { checkReleaseBuilds = false - abortOnError = false + abortOnError = true + warningsAsErrors = true + baseline = file("lint-baseline.xml") } } +detekt { + baseline = file("detekt-baseline.xml") +} + dependencies { implementation(libs.fossify.commons) implementation(libs.androidx.multidex) diff --git a/app/detekt-baseline.xml b/app/detekt-baseline.xml new file mode 100644 index 000000000..17953a012 --- /dev/null +++ b/app/detekt-baseline.xml @@ -0,0 +1,821 @@ + + + + + ComplexCondition:EventActivity.kt$EventActivity$config.wasAlarmWarningShown || (mReminder1Minutes == REMINDER_OFF && mReminder2Minutes == REMINDER_OFF && mReminder3Minutes == REMINDER_OFF) + ComplexCondition:EventActivity.kt$EventActivity$day == MONDAY_BIT || day == TUESDAY_BIT || day == WEDNESDAY_BIT || day == THURSDAY_BIT || day == FRIDAY_BIT || day == SATURDAY_BIT || day == SUNDAY_BIT + ComplexCondition:EventListWidgetAdapter.kt$EventListWidgetAdapter$item.isTask && item.isTaskCompleted && dimCompletedTasks || dimPastEvents && item.isPastEvent + ComplexCondition:EventsHelper.kt$EventsHelper$addToCalDAV && config.caldavSync && event.source != SOURCE_SIMPLE_CALENDAR && event.source != SOURCE_IMPORTED_ICS + ComplexCondition:EventsHelper.kt$EventsHelper$addToCalDAV && event.source != SOURCE_SIMPLE_CALENDAR && event.source != SOURCE_IMPORTED_ICS && config.caldavSync + ComplexCondition:EventsHelper.kt$EventsHelper$originalEvent != null && (birthDayEventId != -1L && it.eventType == birthDayEventId) or (anniversaryEventId != -1L && it.eventType == anniversaryEventId) + ComplexCondition:MainActivity.kt$MainActivity$mStoredFirstDayOfWeek != config.firstDayOfWeek || mStoredUse24HourFormat != config.use24HourFormat || mStoredMidnightSpan != config.showMidnightSpanningEventsAtTop || mStoredStartWeekWithCurrentDay != config.startWeekWithCurrentDay + ComplexCondition:MainActivity.kt$MainActivity$mStoredTextColor != getProperTextColor() || mStoredBackgroundColor != getProperBackgroundColor() || mStoredPrimaryColor != getProperPrimaryColor() || mStoredDayCode != Formatter.getTodayCode() || mStoredDimPastEvents != config.dimPastEvents || mStoredDimCompletedTasks != config.dimCompletedTasks || mStoredHighlightWeekends != config.highlightWeekends || mStoredHighlightWeekendsColor != config.highlightWeekendsColor + ComplexCondition:MonthView.kt$MonthView$isMonthDayView && !isDaySelected && !day.isToday && day.dayEvents.isNotEmpty() + ComplexCondition:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$it.isTask() && it.isTaskCompleted() && dimCompletedTasks || !day.isThisMonth || (dimPastEvents && it.isPastEvent) + ComplexCondition:SettingsActivity.kt$SettingsActivity$requestCode == PICK_EVENTS_EXPORT_FILE_INTENT && resultCode == Activity.RESULT_OK && resultData != null && resultData.data != null + ComplexCondition:SettingsActivity.kt$SettingsActivity$requestCode == PICK_EVENTS_IMPORT_SOURCE_INTENT && resultCode == Activity.RESULT_OK && resultData != null && resultData.data != null + ComplexCondition:SettingsActivity.kt$SettingsActivity$requestCode == PICK_SETTINGS_IMPORT_SOURCE_INTENT && resultCode == Activity.RESULT_OK && resultData != null && resultData.data != null + ComplexCondition:TaskActivity.kt$TaskActivity$config.wasAlarmWarningShown || (mReminder1Minutes == REMINDER_OFF && mReminder2Minutes == REMINDER_OFF && mReminder3Minutes == REMINDER_OFF) + ComplexCondition:TaskActivity.kt$TaskActivity$day == MONDAY_BIT || day == TUESDAY_BIT || day == WEDNESDAY_BIT || day == THURSDAY_BIT || day == FRIDAY_BIT || day == SATURDAY_BIT || day == SUNDAY_BIT + ComplexCondition:WeekFragment.kt$WeekFragment$doesEventFit && (!isRepeatingOverlappingEvent || isAllDayEvent || isRowValidForEvent) + ConstructorParameterNaming:Task.kt$Task$@ColumnInfo(name = "task_id") var task_id: Long + CyclomaticComplexMethod:CalDAVHelper.kt$CalDAVHelper$@SuppressLint("MissingPermission") private fun fetchCalDAVCalendarEvents(calendar: CalDAVCalendar, eventTypeId: Long, showToasts: Boolean) + CyclomaticComplexMethod:Context.kt$@SuppressLint("NewApi") fun Context.getNotification(pendingIntent: PendingIntent, event: Event, content: String, publicVersion: Boolean = false): Notification? + CyclomaticComplexMethod:Context.kt$fun Context.notifyEvent(originalEvent: Event) + CyclomaticComplexMethod:DayEventsAdapter.kt$DayEventsAdapter$private fun setupView(view: View, event: Event) + CyclomaticComplexMethod:EventActivity.kt$EventActivity$private fun getOrderString(repeatRule: Int): String + CyclomaticComplexMethod:EventActivity.kt$EventActivity$private fun gotEvent(savedInstanceState: Bundle?, localEventType: EventType?, event: Event?) + CyclomaticComplexMethod:EventActivity.kt$EventActivity$private fun isEventChanged(): Boolean + CyclomaticComplexMethod:EventActivity.kt$EventActivity$private fun saveEvent() + CyclomaticComplexMethod:EventListAdapter.kt$EventListAdapter$private fun setupListEvent(view: View, listEvent: ListEvent) + CyclomaticComplexMethod:EventListWidgetAdapter.kt$EventListWidgetAdapter$private fun setupListEvent(remoteView: RemoteViews, item: ListEvent) + CyclomaticComplexMethod:EventsHelper.kt$EventsHelper$fun getEventsSync( fromTS: Long, toTS: Long, eventId: Long = -1L, applyTypeFilter: Boolean, searchQuery: String = "", callback: (events: ArrayList<Event>) -> Unit ) + CyclomaticComplexMethod:EventsHelper.kt$EventsHelper$private fun getEventsRepeatingTillDateOrForever(fromTS: Long, toTS: Long, startTimes: LongSparseArray<Long>, event: Event): ArrayList<Event> + CyclomaticComplexMethod:IcsImporter.kt$IcsImporter$fun importEvents( path: String, defaultEventTypeId: Long, calDAVCalendarId: Int, overrideFileEventTypes: Boolean, eventReminders: ArrayList<Int>? = null, ): ImportResult + CyclomaticComplexMethod:MainActivity.kt$MainActivity$override fun onResume() + CyclomaticComplexMethod:MainActivity.kt$MainActivity$private fun addContactEvents(birthdays: Boolean, reminders: ArrayList<Int>, initEventsFound: Int, initEventsAdded: Int, callback: (Int) -> Unit) + CyclomaticComplexMethod:MainActivity.kt$MainActivity$private fun addPrivateEvents( birthdays: Boolean, contacts: ArrayList<SimpleContact>, reminders: ArrayList<Int>, callback: (eventsFound: Int, eventsAdded: Int) -> Unit ) + CyclomaticComplexMethod:MainActivity.kt$MainActivity$private fun setupOptionsMenu() + CyclomaticComplexMethod:MonthView.kt$MonthView$override fun onDraw(canvas: Canvas) + CyclomaticComplexMethod:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$private fun updateDays(context: Context, views: RemoteViews, days: List<DayMonthly>) + CyclomaticComplexMethod:Parser.kt$Parser$fun parseRepeatInterval(fullString: String, startTS: Long): EventRepetition + CyclomaticComplexMethod:SettingsActivity.kt$SettingsActivity$override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?) + CyclomaticComplexMethod:SettingsActivity.kt$SettingsActivity$private fun parseFile(inputStream: InputStream?) + CyclomaticComplexMethod:TaskActivity.kt$TaskActivity$private fun getOrderString(repeatRule: Int): String + CyclomaticComplexMethod:TaskActivity.kt$TaskActivity$private fun gotTask(savedInstanceState: Bundle?, localEventType: EventType?, task: Event?) + CyclomaticComplexMethod:TaskActivity.kt$TaskActivity$private fun saveTask() + CyclomaticComplexMethod:WeekFragment.kt$WeekFragment$@SuppressLint("NewApi") private fun addAllDayEvent(event: Event) + CyclomaticComplexMethod:WeekFragment.kt$WeekFragment$private fun addEvents(events: ArrayList<Event>) + EmptyCatchBlock:CalDAVHelper.kt$CalDAVHelper${ } + EmptyCatchBlock:EventsHelper.kt$EventsHelper${ } + EmptyCatchBlock:MainActivity.kt$MainActivity${ } + EmptyFunctionBlock:DayEventsAdapter.kt$DayEventsAdapter${} + EmptyFunctionBlock:DayFragmentsHolder.kt$DayFragmentsHolder.<no name provided>${ } + EmptyFunctionBlock:EventListAdapter.kt$EventListAdapter${} + EmptyFunctionBlock:EventListFragment.kt$EventListFragment${} + EmptyFunctionBlock:EventListWidgetAdapter.kt$EventListWidgetAdapter${} + EmptyFunctionBlock:EventListWidgetAdapterEmpty.kt$EventListWidgetAdapterEmpty${} + EmptyFunctionBlock:ManageEventTypesAdapter.kt$ManageEventTypesAdapter${} + EmptyFunctionBlock:MonthDayFragment.kt$MonthDayFragment${} + EmptyFunctionBlock:MonthDayFragmentsHolder.kt$MonthDayFragmentsHolder${} + EmptyFunctionBlock:MonthDayFragmentsHolder.kt$MonthDayFragmentsHolder.<no name provided>${} + EmptyFunctionBlock:MonthFragmentsHolder.kt$MonthFragmentsHolder.<no name provided>${ } + EmptyFunctionBlock:WeekFragmentsHolder.kt$WeekFragmentsHolder.<no name provided>${} + EmptyFunctionBlock:YearFragmentsHolder.kt$YearFragmentsHolder${} + EmptyFunctionBlock:YearFragmentsHolder.kt$YearFragmentsHolder.<no name provided>${} + ExplicitItLambdaParameter:DayEventsAdapter.kt$DayEventsAdapter${ it -> events.removeAll(eventsToDelete) ensureBackgroundThread { val nonRepeatingEventIDs = eventsToDelete.asSequence().filter { it.repeatInterval == 0 }.mapNotNull { it.id }.toMutableList() activity.eventsHelper.deleteEvents(nonRepeatingEventIDs, true) val repeatingEventIDs = eventsToDelete.asSequence().filter { it.repeatInterval != 0 }.mapNotNull { it.id }.toList() activity.handleEventDeleting(repeatingEventIDs, timestamps, it) activity.runOnUiThread { removeSelectedItems(positions) } } } + ExplicitItLambdaParameter:YearFragment.kt$YearFragment${ index, it -> it.monthLabel.text = getString(monthResIds[index]) } + ForEachOnRange:WeekFragment.kt$WeekFragment$0 until config.weeklyViewDays + ImplicitDefaultLocale:SettingsActivity.kt$SettingsActivity$String.format("%02d:00", hours) + LargeClass:EventActivity.kt$EventActivity : SimpleActivity + LargeClass:MainActivity.kt$MainActivity : SimpleActivityRefreshRecyclerViewListener + LargeClass:SettingsActivity.kt$SettingsActivity : SimpleActivity + LargeClass:TaskActivity.kt$TaskActivity : SimpleActivity + LargeClass:WeekFragment.kt$WeekFragment : FragmentWeeklyCalendar + LongMethod:CalDAVHelper.kt$CalDAVHelper$@SuppressLint("MissingPermission") private fun fetchCalDAVCalendarEvents(calendar: CalDAVCalendar, eventTypeId: Long, showToasts: Boolean) + LongMethod:Context.kt$@SuppressLint("NewApi") fun Context.getNotification(pendingIntent: PendingIntent, event: Event, content: String, publicVersion: Boolean = false): Notification? + LongMethod:Context.kt$fun Context.backupEventsAndTasks() + LongMethod:EventActivity.kt$EventActivity$private fun gotEvent(savedInstanceState: Bundle?, localEventType: EventType?, event: Event?) + LongMethod:EventActivity.kt$EventActivity$private fun saveEvent() + LongMethod:EventListWidgetAdapter.kt$EventListWidgetAdapter$override fun onDataSetChanged() + LongMethod:EventsHelper.kt$EventsHelper$fun getEventsSync( fromTS: Long, toTS: Long, eventId: Long = -1L, applyTypeFilter: Boolean, searchQuery: String = "", callback: (events: ArrayList<Event>) -> Unit ) + LongMethod:IcsImporter.kt$IcsImporter$fun importEvents( path: String, defaultEventTypeId: Long, calDAVCalendarId: Int, overrideFileEventTypes: Boolean, eventReminders: ArrayList<Int>? = null, ): ImportResult + LongMethod:MainActivity.kt$MainActivity$private fun addContactEvents(birthdays: Boolean, reminders: ArrayList<Int>, initEventsFound: Int, initEventsAdded: Int, callback: (Int) -> Unit) + LongMethod:MainActivity.kt$MainActivity$private fun addPrivateEvents( birthdays: Boolean, contacts: ArrayList<SimpleContact>, reminders: ArrayList<Int>, callback: (eventsFound: Int, eventsAdded: Int) -> Unit ) + LongMethod:MainActivity.kt$MainActivity$private fun getHolidayRadioItems(): ArrayList<RadioItem> + LongMethod:MonthView.kt$MonthView$override fun onDraw(canvas: Canvas) + LongMethod:MyTimeZones.kt$fun getAllTimeZones() + LongMethod:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$private fun updateDays(context: Context, views: RemoteViews, days: List<DayMonthly>) + LongMethod:SettingsActivity.kt$SettingsActivity$private fun parseFile(inputStream: InputStream?) + LongMethod:SettingsActivity.kt$SettingsActivity$private fun setupSettingItems() + LongMethod:TaskActivity.kt$TaskActivity$private fun gotTask(savedInstanceState: Bundle?, localEventType: EventType?, task: Event?) + LongMethod:TaskActivity.kt$TaskActivity$private fun saveTask() + LongMethod:WeekFragment.kt$WeekFragment$@SuppressLint("NewApi") private fun addAllDayEvent(event: Event) + LongMethod:WeekFragment.kt$WeekFragment$private fun addEvents(events: ArrayList<Event>) + LongMethod:WeekFragment.kt$WeekFragment$private fun initGrid() + LongMethod:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$private fun getListItems(): ArrayList<ListItem> + LongParameterList:Context.kt$( uri: Uri, projection: Array<String>, selection: String? = null, selectionArgs: Array<String>? = null, sortOrder: String? = null, showErrors: Boolean = false, callback: (cursor: Cursor) -> Unit ) + LongParameterList:EventsHelper.kt$EventsHelper$( fromTS: Long, toTS: Long, eventId: Long = -1L, applyTypeFilter: Boolean = true, searchQuery: String = "", callback: (events: ArrayList<Event>) -> Unit ) + LongParameterList:EventsHelper.kt$EventsHelper$( fromTS: Long, toTS: Long, eventId: Long = -1L, applyTypeFilter: Boolean, searchQuery: String = "", callback: (events: ArrayList<Event>) -> Unit ) + LongParameterList:MonthView.kt$MonthView$(event: MonthViewEvent, canvas: Canvas, x: Float, y: Float, availableWidth: Float, paint: Paint) + LongParameterList:SelectEventTypeDialog.kt$SelectEventTypeDialog$( val activity: Activity, val currEventType: Long, val showCalDAVCalendars: Boolean, val showNewEventTypeOption: Boolean, val addLastUsedOneAsFirstOption: Boolean, val showOnlyWritable: Boolean, var showManageEventTypes: Boolean, val callback: (eventType: EventType) -> Unit ) + LoopWithTooManyJumpStatements:IcsImporter.kt$IcsImporter$while + LoopWithTooManyJumpStatements:ManageEventTypesAdapter.kt$ManageEventTypesAdapter$for + LoopWithTooManyJumpStatements:WeekFragment.kt$WeekFragment$do + MagicNumber:AutomaticBackupReceiver.kt$AutomaticBackupReceiver$3000 + MagicNumber:CalDAVCalendar.kt$CalDAVCalendar$500 + MagicNumber:CalDAVHelper.kt$CalDAVHelper$1000L + MagicNumber:CalDAVHelper.kt$CalDAVHelper$3 + MagicNumber:CalDAVHelper.kt$CalDAVHelper$60L + MagicNumber:CalDAVHelper.kt$CalDAVHelper$8 + MagicNumber:Config.kt$Config$10 + MagicNumber:Config.kt$Config$7 + MagicNumber:Constants.kt$1000L + MagicNumber:Constants.kt$6 + MagicNumber:Context.kt$0.25f + MagicNumber:Context.kt$1000 + MagicNumber:Context.kt$1000L + MagicNumber:Context.kt$3f + MagicNumber:Context.kt$500 + MagicNumber:Context.kt$60 + MagicNumber:Context.kt$60000 + MagicNumber:Context.kt$64 + MagicNumber:Context.kt$6f + MagicNumber:Context.kt$7 + MagicNumber:DateTime.kt$1000L + MagicNumber:DayFragment.kt$DayFragment$1000 + MagicNumber:DayFragmentsHolder.kt$DayFragmentsHolder$100000 + MagicNumber:DayFragmentsHolder.kt$DayFragmentsHolder$251 + MagicNumber:Event.kt$Event$1000f + MagicNumber:Event.kt$Event$24 + MagicNumber:Event.kt$Event$3 + MagicNumber:Event.kt$Event$4 + MagicNumber:Event.kt$Event$60 + MagicNumber:Event.kt$Event$7 + MagicNumber:EventActivity.kt$EventActivity$0.4f + MagicNumber:EventActivity.kt$EventActivity$1000L + MagicNumber:EventActivity.kt$EventActivity$12 + MagicNumber:EventActivity.kt$EventActivity$23 + MagicNumber:EventActivity.kt$EventActivity$3 + MagicNumber:EventActivity.kt$EventActivity$4 + MagicNumber:EventActivity.kt$EventActivity$5 + MagicNumber:EventActivity.kt$EventActivity$59 + MagicNumber:EventActivity.kt$EventActivity$6 + MagicNumber:EventActivity.kt$EventActivity$60 + MagicNumber:EventActivity.kt$EventActivity$7 + MagicNumber:EventListFragment.kt$EventListFragment$1000 + MagicNumber:EventListFragment.kt$EventListFragment$100000 + MagicNumber:EventListFragment.kt$EventListFragment$6 + MagicNumber:EventListWidgetAdapter.kt$EventListWidgetAdapter$23 + MagicNumber:EventListWidgetAdapter.kt$EventListWidgetAdapter$3f + MagicNumber:EventListWidgetAdapter.kt$EventListWidgetAdapter$59 + MagicNumber:EventListWidgetAdapter.kt$EventListWidgetAdapter$60 + MagicNumber:EventListWidgetAdapter.kt$EventListWidgetAdapter$999 + MagicNumber:EventsDatabase.kt$EventsDatabase.Companion.<no name provided>$3 + MagicNumber:EventsDatabase.kt$EventsDatabase.Companion.<no name provided>$4 + MagicNumber:EventsDatabase.kt$EventsDatabase.Companion.<no name provided>$5 + MagicNumber:EventsDatabase.kt$EventsDatabase.Companion.<no name provided>$6 + MagicNumber:EventsDatabase.kt$EventsDatabase.Companion.<no name provided>$7 + MagicNumber:EventsDatabase.kt$EventsDatabase.Companion.<no name provided>$8 + MagicNumber:EventsHelper.kt$EventsHelper$23 + MagicNumber:EventsHelper.kt$EventsHelper$59 + MagicNumber:Formatter.kt$Formatter$1000L + MagicNumber:Formatter.kt$Formatter$3 + MagicNumber:Formatter.kt$Formatter$4 + MagicNumber:Formatter.kt$Formatter$6 + MagicNumber:HsvColorComparator.kt$HsvColorComparator$3 + MagicNumber:IcsExporter.kt$IcsExporter$1000L + MagicNumber:IcsExporter.kt$IcsExporter$75 + MagicNumber:IcsImporter.kt$IcsImporter$1000L + MagicNumber:IcsImporter.kt$IcsImporter$180 + MagicNumber:IcsImporter.kt$IcsImporter$2 + MagicNumber:IcsImporter.kt$IcsImporter$60 + MagicNumber:MainActivity.kt$MainActivity$0.8f + MagicNumber:MainActivity.kt$MainActivity$1000L + MagicNumber:MainActivity.kt$MainActivity$300 + MagicNumber:MainActivity.kt$MainActivity$70 + MagicNumber:MonthDayFragment.kt$MonthDayFragment$7 + MagicNumber:MonthDayFragmentsHolder.kt$MonthDayFragmentsHolder$100000 + MagicNumber:MonthDayFragmentsHolder.kt$MonthDayFragmentsHolder$251 + MagicNumber:MonthFragmentsHolder.kt$MonthFragmentsHolder$100000 + MagicNumber:MonthFragmentsHolder.kt$MonthFragmentsHolder$251 + MagicNumber:MonthView.kt$MonthView$0.2f + MagicNumber:MonthView.kt$MonthView$0.7f + MagicNumber:MonthView.kt$MonthView$0.8f + MagicNumber:MonthView.kt$MonthView$0.9f + MagicNumber:MonthView.kt$MonthView$1.25f + MagicNumber:MonthView.kt$MonthView$1.2f + MagicNumber:MonthView.kt$MonthView$1.5f + MagicNumber:MonthView.kt$MonthView$175 + MagicNumber:MonthView.kt$MonthView$2.5f + MagicNumber:MonthView.kt$MonthView$3 + MagicNumber:MonthView.kt$MonthView$41 + MagicNumber:MonthView.kt$MonthView$42 + MagicNumber:MonthView.kt$MonthView$7 + MagicNumber:MonthView.kt$MonthView$7f + MagicNumber:MonthlyCalendarImpl.kt$MonthlyCalendarImpl$42 + MagicNumber:MonthlyCalendarImpl.kt$MonthlyCalendarImpl$43 + MagicNumber:MonthlyCalendarImpl.kt$MonthlyCalendarImpl$7 + MagicNumber:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$3 + MagicNumber:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$3f + MagicNumber:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$5 + MagicNumber:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$6 + MagicNumber:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$7 + MagicNumber:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider.<no name provided>$3f + MagicNumber:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider.<no name provided>$6 + MagicNumber:NotificationReceiver.kt$NotificationReceiver$3000 + MagicNumber:Parser.kt$Parser$14 + MagicNumber:Parser.kt$Parser$24 + MagicNumber:Parser.kt$Parser$3 + MagicNumber:Parser.kt$Parser$4 + MagicNumber:Parser.kt$Parser$5 + MagicNumber:Parser.kt$Parser$6 + MagicNumber:Parser.kt$Parser$60 + MagicNumber:Parser.kt$Parser$7 + MagicNumber:QuickFilterEventTypeAdapter.kt$QuickFilterEventTypeAdapter.QuickFilterViewHolder$300 + MagicNumber:RepeatLimitTypePickerDialog.kt$RepeatLimitTypePickerDialog$23 + MagicNumber:RepeatLimitTypePickerDialog.kt$RepeatLimitTypePickerDialog$59 + MagicNumber:RepeatRuleWeeklyDialog.kt$RepeatRuleWeeklyDialog$6 + MagicNumber:RepeatRuleWeeklyDialog.kt$RepeatRuleWeeklyDialog$7 + MagicNumber:SelectEventTypeDialog.kt$SelectEventTypeDialog$2L + MagicNumber:SetRemindersDialog.kt$SetRemindersDialog$60 + MagicNumber:SettingsActivity.kt$SettingsActivity$16 + MagicNumber:SettingsActivity.kt$SettingsActivity$3 + MagicNumber:SettingsActivity.kt$SettingsActivity$4 + MagicNumber:SettingsActivity.kt$SettingsActivity$60 + MagicNumber:SimpleActivity.kt$SimpleActivity$3000L + MagicNumber:SmallMonthView.kt$SmallMonthView$0.41f + MagicNumber:SmallMonthView.kt$SmallMonthView$31 + MagicNumber:SmallMonthView.kt$SmallMonthView$4 + MagicNumber:SmallMonthView.kt$SmallMonthView$6 + MagicNumber:SmallMonthView.kt$SmallMonthView$7 + MagicNumber:SmallMonthView.kt$SmallMonthView$7f + MagicNumber:SmallMonthView.kt$SmallMonthView$9f + MagicNumber:SnoozeReminderActivity.kt$SnoozeReminderActivity$60 + MagicNumber:String.kt$6 + MagicNumber:String.kt$8 + MagicNumber:TaskActivity.kt$TaskActivity$0.4f + MagicNumber:TaskActivity.kt$TaskActivity$3 + MagicNumber:TaskActivity.kt$TaskActivity$4 + MagicNumber:TaskActivity.kt$TaskActivity$5 + MagicNumber:TaskActivity.kt$TaskActivity$6 + MagicNumber:TaskActivity.kt$TaskActivity$60 + MagicNumber:TaskActivity.kt$TaskActivity$7 + MagicNumber:WeekFragment.kt$WeekFragment$0.02f + MagicNumber:WeekFragment.kt$WeekFragment$0.3f + MagicNumber:WeekFragment.kt$WeekFragment$1440 + MagicNumber:WeekFragment.kt$WeekFragment$24 + MagicNumber:WeekFragment.kt$WeekFragment$3 + MagicNumber:WeekFragment.kt$WeekFragment$5000L + MagicNumber:WeekFragment.kt$WeekFragment$5f + MagicNumber:WeekFragment.kt$WeekFragment$60 + MagicNumber:WeekFragment.kt$WeekFragment.<no name provided>$24 + MagicNumber:WeekFragment.kt$WeekFragment.<no name provided>$24f + MagicNumber:WeekFragmentsHolder.kt$WeekFragmentsHolder$1000 + MagicNumber:WeekFragmentsHolder.kt$WeekFragmentsHolder$100000 + MagicNumber:WeekFragmentsHolder.kt$WeekFragmentsHolder$14 + MagicNumber:WeekFragmentsHolder.kt$WeekFragmentsHolder$151 + MagicNumber:WeekFragmentsHolder.kt$WeekFragmentsHolder$2000 + MagicNumber:WeekFragmentsHolder.kt$WeekFragmentsHolder$23 + MagicNumber:WeekFragmentsHolder.kt$WeekFragmentsHolder$3 + MagicNumber:WeekFragmentsHolder.kt$WeekFragmentsHolder$7 + MagicNumber:WeeklyViewGrid.kt$WeeklyViewGrid$24 + MagicNumber:WidgetDateConfigureActivity.kt$WidgetDateConfigureActivity$100 + MagicNumber:WidgetDateConfigureActivity.kt$WidgetDateConfigureActivity$100f + MagicNumber:WidgetDateConfigureActivity.kt$WidgetDateConfigureActivity$255f + MagicNumber:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$10 + MagicNumber:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$100 + MagicNumber:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$100f + MagicNumber:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$13 + MagicNumber:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$18 + MagicNumber:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$255f + MagicNumber:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$30 + MagicNumber:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$7 + MagicNumber:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$8 + MagicNumber:WidgetMonthlyConfigureActivity.kt$WidgetMonthlyConfigureActivity$100 + MagicNumber:WidgetMonthlyConfigureActivity.kt$WidgetMonthlyConfigureActivity$100f + MagicNumber:WidgetMonthlyConfigureActivity.kt$WidgetMonthlyConfigureActivity$255f + MagicNumber:WidgetMonthlyConfigureActivity.kt$WidgetMonthlyConfigureActivity$3 + MagicNumber:WidgetMonthlyConfigureActivity.kt$WidgetMonthlyConfigureActivity$7 + MagicNumber:YearFragment.kt$YearFragment$12 + MagicNumber:YearFragmentsHolder.kt$YearFragmentsHolder$100000 + MagicNumber:YearFragmentsHolder.kt$YearFragmentsHolder$61 + MagicNumber:YearlyCalendarImpl.kt$YearlyCalendarImpl$12 + MagicNumber:YearlyCalendarImpl.kt$YearlyCalendarImpl$32 + MaxLineLength:AutoCompleteTextViewAdapter.kt$AutoCompleteTextViewAdapter$class + MaxLineLength:AutoCompleteTextViewAdapter.kt$AutoCompleteTextViewAdapter$val placeholder = BitmapDrawable(activity.resources, SimpleContactsHelper(context).getContactLetterIcon(nameToUse)) + MaxLineLength:AutomaticBackupReceiver.kt$AutomaticBackupReceiver$val wakelock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "simplecalendar:automaticbackupreceiver") + MaxLineLength:CalDAVHelper.kt$CalDAVHelper$// original instance time must be in UTC since the parent event is an all-day event thus everything is handled in UTC + MaxLineLength:CalDAVHelper.kt$CalDAVHelper$// some calendars add repeatable event exceptions with using the "exdate" field, not by creating a child event that is an exception + MaxLineLength:CalDAVHelper.kt$CalDAVHelper$// store the event in the local db only if it is an occurrence that has been modified and not deleted + MaxLineLength:CalDAVHelper.kt$CalDAVHelper$context.eventsDB.updateEventImportIdAndSource(event.importId, "$CALDAV-${event.getCalDAVCalendarId()}", event.id!!) + MaxLineLength:CalDAVHelper.kt$CalDAVHelper$eventsHelper.insertEvent(event, addToCalDAV = false, showToasts = false, enableEventType = false) + MaxLineLength:CalDAVHelper.kt$CalDAVHelper$eventsHelper.insertEvent(parentEvent, addToCalDAV = false, showToasts = false, enableEventType = false) + MaxLineLength:CalDAVHelper.kt$CalDAVHelper$fun + MaxLineLength:CalDAVHelper.kt$CalDAVHelper$private fun refreshCalDAVCalendar(event: Event) + MaxLineLength:CheckableColorAdapter.kt$CheckableColorAdapter$class + MaxLineLength:CheckableColorAdapter.kt$CheckableColorAdapter.CheckableColorViewHolder$inner + MaxLineLength:Config.kt$Config$caldavSyncedCalendarIds.split(",").filter { it.trim().isNotEmpty() }.map { Integer.parseInt(it) }.toMutableList() as ArrayList<Int> + MaxLineLength:Config.kt$Config$get() = prefs.getString(ANNIVERSARY_REMINDERS, REMINDER_DEFAULT_VALUE)!!.split(",").map { it.toInt() }.toMutableList() as ArrayList<Int> + MaxLineLength:Config.kt$Config$get() = prefs.getString(BIRTHDAY_REMINDERS, REMINDER_DEFAULT_VALUE)!!.split(",").map { it.toInt() }.toMutableList() as ArrayList<Int> + MaxLineLength:Config.kt$Config$get() = prefs.getString(REMINDER_SOUND_URI, RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION).toString())!! + MaxLineLength:Config.kt$Config$set(addAnniversariesAutomatically) = prefs.edit().putBoolean(ADD_ANNIVERSARIES_AUTOMATICALLY, addAnniversariesAutomatically).apply() + MaxLineLength:Config.kt$Config$set(addBirthdaysAutomatically) = prefs.edit().putBoolean(ADD_BIRTHDAYS_AUTOMATICALLY, addBirthdaysAutomatically).apply() + MaxLineLength:Config.kt$Config$set(anniversaryReminders) = prefs.edit().putString(ANNIVERSARY_REMINDERS, anniversaryReminders.joinToString(",")).apply() + MaxLineLength:Config.kt$Config$set(autoBackupEventTypes) = prefs.edit().remove(AUTO_BACKUP_EVENT_TYPES).putStringSet(AUTO_BACKUP_EVENT_TYPES, autoBackupEventTypes).apply() + MaxLineLength:Config.kt$Config$set(displayEventTypes) = prefs.edit().remove(DISPLAY_EVENT_TYPES).putStringSet(DISPLAY_EVENT_TYPES, displayEventTypes).apply() + MaxLineLength:Config.kt$Config$set(lastEventReminderMinutes) = prefs.edit().putInt(LAST_EVENT_REMINDER_MINUTES, lastEventReminderMinutes).apply() + MaxLineLength:Config.kt$Config$set(lastEventReminderMinutes2) = prefs.edit().putInt(LAST_EVENT_REMINDER_MINUTES_2, lastEventReminderMinutes2).apply() + MaxLineLength:Config.kt$Config$set(lastEventReminderMinutes3) = prefs.edit().putInt(LAST_EVENT_REMINDER_MINUTES_3, lastEventReminderMinutes3).apply() + MaxLineLength:Config.kt$Config$set(lastUsedIgnoreEventTypesState) = prefs.edit().putBoolean(LAST_USED_IGNORE_EVENT_TYPES_STATE, lastUsedIgnoreEventTypesState).apply() + MaxLineLength:Config.kt$Config$set(lastUsedLocalEventTypeId) = prefs.edit().putLong(LAST_USED_LOCAL_EVENT_TYPE_ID, lastUsedLocalEventTypeId).apply() + MaxLineLength:Config.kt$Config$set(quickFilterEventTypes) = prefs.edit().remove(QUICK_FILTER_EVENT_TYPES).putStringSet(QUICK_FILTER_EVENT_TYPES, quickFilterEventTypes).apply() + MaxLineLength:Config.kt$Config$set(startWeekWithCurrentDay) = prefs.edit().putBoolean(START_WEEK_WITH_CURRENT_DAY, startWeekWithCurrentDay).apply() + MaxLineLength:Config.kt$Config$set(usePreviousEventReminders) = prefs.edit().putBoolean(USE_PREVIOUS_EVENT_REMINDERS, usePreviousEventReminders).apply() + MaxLineLength:Config.kt$Config$set(wasFilteredOutWarningShown) = prefs.edit().putBoolean(WAS_FILTERED_OUT_WARNING_SHOWN, wasFilteredOutWarningShown).apply() + MaxLineLength:Config.kt$Config$set(weeklyViewItemHeightMultiplier) = prefs.edit().putFloat(WEEKLY_VIEW_ITEM_HEIGHT_MULTIPLIER, weeklyViewItemHeightMultiplier).apply() + MaxLineLength:Constants.kt$const val REPEAT_ORDER_WEEKDAY = 4 // i.e. every 4th sunday, even if a month has 4 sundays only (will stay 4th even at months with 5) + MaxLineLength:Constants.kt$const val REPEAT_ORDER_WEEKDAY_USE_LAST = 2 // i.e. every last sunday. 4th if a month has 4 sundays, 5th if 5 (or last sunday in june, if yearly) + MaxLineLength:Constants.kt$val DESCRIPTION_REGEX = Regex("""DESCRIPTION(?:(?:;[^:;]*="[^"]*")*;?(?:;LANGUAGE=[^:;]*)?(?:;[^:;]*="[^"]*")*)*:(.*(?:\r?\n\s+.*)*)""") + MaxLineLength:Context.kt$// Assume this is a manual synchronisation when we showToasts to the user (swipe refresh, MainMenu-> refresh caldav calendars, ...) + MaxLineLength:Context.kt$// if the default event start time is set to "Next full hour" and the event is created before midnight, it could change the day + MaxLineLength:Context.kt$IcsExporter.ExportResult.EXPORT_PARTIAL -> toast(org.fossify.commons.R.string.exporting_some_entries_failed) + MaxLineLength:Context.kt$PendingIntent.getActivity(context, event.id!!.toInt(), intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) + MaxLineLength:Context.kt$PendingIntent.getBroadcast(this, id.toInt(), intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE).cancel() + MaxLineLength:Context.kt$PendingIntent.getService(context, event.id!!.toInt(), intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) + MaxLineLength:Context.kt$addAction(R.drawable.ic_task_vector, getString(R.string.mark_completed), getMarkCompletedPendingIntent(this@getNotification, event)) + MaxLineLength:Context.kt$alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + syncCheckInterval, syncCheckInterval, pendingIntent) + MaxLineLength:Context.kt$arrayOf(currEvent.reminder3Minutes, currEvent.reminder2Minutes, currEvent.reminder1Minutes).filter { it != REMINDER_OFF }.max() + MaxLineLength:Context.kt$eventStartTS = if (currEvent.getIsAllDay()) Formatter.getDayStartTS(Formatter.getDayCodeFromTS(currEvent.startTS)) else currEvent.startTS + MaxLineLength:Context.kt$fun + MaxLineLength:Context.kt$private fun getFormattedEventTime(startTime: String, endTime: String) + MaxLineLength:Context.kt$return PendingIntent.getActivity(context, event.id!!.toInt(), intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) + MaxLineLength:Context.kt$return PendingIntent.getBroadcast(this, AUTOMATIC_BACKUP_REQUEST_CODE, intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) + MaxLineLength:Context.kt$return PendingIntent.getBroadcast(this, event.id!!.toInt(), intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) + MaxLineLength:Context.kt$return PendingIntent.getService(context, task.id!!.toInt(), intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) + MaxLineLength:Context.kt$seconds % MONTH == 0 -> resources.getQuantityString(org.fossify.commons.R.plurals.months, seconds / MONTH, seconds / MONTH) + MaxLineLength:Context.kt$seconds % WEEK == 0 -> resources.getQuantityString(org.fossify.commons.R.plurals.weeks, seconds / WEEK, seconds / WEEK) + MaxLineLength:Context.kt$seconds % YEAR == 0 -> resources.getQuantityString(org.fossify.commons.R.plurals.years, seconds / YEAR, seconds / YEAR) + MaxLineLength:Context.kt$val + MaxLineLength:Context.kt$val dayBits = withFirstDayOfWeekToFront(listOf(MONDAY_BIT, TUESDAY_BIT, WEDNESDAY_BIT, THURSDAY_BIT, FRIDAY_BIT, SATURDAY_BIT, SUNDAY_BIT)) + MaxLineLength:Context.kt$val eventLayoutParams = LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) + MaxLineLength:Context.kt$val events = eventsHelper.getRepeatableEventsFor(currentSeconds - WEEK_SECONDS, currentSeconds + YEAR_SECONDS, event.id!!) + MaxLineLength:Context.kt$val msg = String.format(getString(org.fossify.commons.R.string.time_remaining), formatSecondsToTimeString(secondsTillNotification.toInt())) + MaxLineLength:Context.kt$val oldChannelId = "simple_calendar_${config.lastReminderChannel}_${config.reminderAudioStream}_${event.eventType}" + MaxLineLength:Context.kt$val snoozeClass = if (context.config.useSameSnooze) SnoozeService::class.java else SnoozeReminderActivity::class.java + MaxLineLength:Context.kt$val weekDays = withFirstDayOfWeekToFront(resources.getStringArray(org.fossify.commons.R.array.week_days_short).toList()) + MaxLineLength:Context.kt$var eventStartTS = if (event.getIsAllDay()) Formatter.getDayStartTS(Formatter.getDayCodeFromTS(event.startTS)) else event.startTS + MaxLineLength:CustomPeriodPickerDialog.kt$CustomPeriodPickerDialog$private + MaxLineLength:DayEventsAdapter.kt$DayEventsAdapter$class + MaxLineLength:DayEventsAdapter.kt$DayEventsAdapter$eventItemDescription.text = if (replaceDescriptionWithLocation) event.location else event.description.replace("\n", " ") + MaxLineLength:DayEventsAdapter.kt$DayEventsAdapter$eventItemTime.text = if (event.getIsAllDay()) allDayString else Formatter.getTimeFromTS(activity, event.startTS) + MaxLineLength:DayEventsAdapter.kt$DayEventsAdapter$val nonRepeatingEventIDs = eventsToDelete.asSequence().filter { it.repeatInterval == 0 }.mapNotNull { it.id }.toMutableList() + MaxLineLength:DayEventsAdapter.kt$DayEventsAdapter$val repeatingEventIDs = eventsToDelete.asSequence().filter { it.repeatInterval != 0 }.mapNotNull { it.id }.toList() + MaxLineLength:DayFragment.kt$DayFragment$val + MaxLineLength:EditEventTypeDialog.kt$EditEventTypeDialog$activity + MaxLineLength:EditEventTypeDialog.kt$EditEventTypeDialog$class + MaxLineLength:EditRepeatingEventDialog.kt$EditRepeatingEventDialog$class + MaxLineLength:Event.kt$Event$// if an event should happen on 31st with Same Day monthly repetition, dont show it at all at months with 30 or less days + MaxLineLength:Event.kt$Event$fun getCalDAVCalendarId() + MaxLineLength:Event.kt$Event$val currentWeekNumber = Formatter.getDateTimeFromTS(startTS).withTimeAtStartOfDay().millis / (7 * 24 * 60 * 60 * 1000f) + MaxLineLength:Event.kt$Event$val initialWeekNumber = Formatter.getDateTimeFromTS(startTimes[id!!]!!).withTimeAtStartOfDay().millis / (7 * 24 * 60 * 60 * 1000f) + MaxLineLength:Event.kt$Event$wantedDay = properMonth.dayOfMonth + ((properMonth.dayOfMonth().maximumValue - properMonth.dayOfMonth) / 7) * 7 + MaxLineLength:Event.kt$Event$while + MaxLineLength:EventActivity.kt$EventActivity$(eventContactName.layoutParams as RelativeLayout.LayoutParams).addRule(RelativeLayout.START_OF, eventContactMeStatus.id) + MaxLineLength:EventActivity.kt$EventActivity$// if an event is created at 23:00 on the weekly view, make it end on 23:59 by default to avoid spanning across multiple days + MaxLineLength:EventActivity.kt$EventActivity$ColorPickerDialog + MaxLineLength:EventActivity.kt$EventActivity$DELETE_SELECTED_OCCURRENCE -> eventsHelper.deleteRepeatingEventOccurrence(mEvent.id!!, mEventOccurrenceTS, true) + MaxLineLength:EventActivity.kt$EventActivity$PermissionRequiredDialog(this, org.fossify.commons.R.string.allow_notifications_reminders, { openNotificationSettings() }) + MaxLineLength:EventActivity.kt$EventActivity$attendees = attendees.filter { it.email != currentCalendar?.ownerName }.toMutableList() as ArrayList<Attendee> + MaxLineLength:EventActivity.kt$EventActivity$binding.eventAvailability.text = if (mAvailability == Attendees.AVAILABILITY_FREE) getString(R.string.status_free) else getString(R.string.status_busy) + MaxLineLength:EventActivity.kt$EventActivity$binding.eventRepetitionRuleHolder.beVisibleIf(mRepeatInterval.isXWeeklyRepetition() || mRepeatInterval.isXMonthlyRepetition() || mRepeatInterval.isXYearlyRepetition()) + MaxLineLength:EventActivity.kt$EventActivity$config.lastUsedCaldavCalendarId = mStoredEventTypes.firstOrNull { it.id == config.defaultEventTypeId }?.caldavCalendarId ?: 0 + MaxLineLength:EventActivity.kt$EventActivity$eventReminder1Type + MaxLineLength:EventActivity.kt$EventActivity$eventTimeImage + MaxLineLength:EventActivity.kt$EventActivity$if + MaxLineLength:EventActivity.kt$EventActivity$items.add(RadioItem(REPEAT_ORDER_WEEKDAY_USE_LAST, getRepeatXthDayInMonthString(true, REPEAT_ORDER_WEEKDAY_USE_LAST))) + MaxLineLength:EventActivity.kt$EventActivity$items.add(RadioItem(REPEAT_ORDER_WEEKDAY_USE_LAST, getRepeatXthDayString(true, REPEAT_ORDER_WEEKDAY_USE_LAST))) + MaxLineLength:EventActivity.kt$EventActivity$mEventEndDateTime = Formatter.getDateTimeFromTS(realStart + duration).withZone(DateTimeZone.forID(mOriginalTimeZone)) + MaxLineLength:EventActivity.kt$EventActivity$mEventEndDateTime.withTime(mEventStartDateTime.hourOfDay, mEventStartDateTime.minuteOfHour, mEventStartDateTime.secondOfMinute, 0) + MaxLineLength:EventActivity.kt$EventActivity$mEventStartDateTime = Formatter.getDateTimeFromTS(realStart).withZone(DateTimeZone.forID(mOriginalTimeZone)) + MaxLineLength:EventActivity.kt$EventActivity$mEventTypeId = if (config.defaultEventTypeId == -1L) config.lastUsedLocalEventTypeId else config.defaultEventTypeId + MaxLineLength:EventActivity.kt$EventActivity$mReminder1Minutes = if (usePreviousEventReminders && lastEventReminderMinutes1 >= -1) lastEventReminderMinutes1 else defaultReminder1 + MaxLineLength:EventActivity.kt$EventActivity$mReminder2Minutes = if (usePreviousEventReminders && lastEventReminderMinutes2 >= -1) lastEventReminderMinutes2 else defaultReminder2 + MaxLineLength:EventActivity.kt$EventActivity$mReminder3Minutes = if (usePreviousEventReminders && lastEventReminderMinutes3 >= -1) lastEventReminderMinutes3 else defaultReminder3 + MaxLineLength:EventActivity.kt$EventActivity$mSelectedContacts = mSelectedContacts.filter { it.toString() != selectedAttendeeDismiss.tag }.toMutableList() as ArrayList<Attendee> + MaxLineLength:EventActivity.kt$EventActivity$private + MaxLineLength:EventActivity.kt$EventActivity$private fun getCalendarId() + MaxLineLength:EventActivity.kt$EventActivity$private fun getCalendarWithId(calendars: List<CalDAVCalendar>, calendarId: Int) + MaxLineLength:EventActivity.kt$EventActivity$private fun isLastDayOfTheMonth() + MaxLineLength:EventActivity.kt$EventActivity$private val LAT_LON_PATTERN = "^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?)([,;])\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)\$" + MaxLineLength:EventActivity.kt$EventActivity$private val endDateSetListener = DatePickerDialog.OnDateSetListener { view, year, monthOfYear, dayOfMonth -> dateSet(year, monthOfYear, dayOfMonth, false) } + MaxLineLength:EventActivity.kt$EventActivity$private val endTimeSetListener = TimePickerDialog.OnTimeSetListener { view, hourOfDay, minute -> timeSet(hourOfDay, minute, false) } + MaxLineLength:EventActivity.kt$EventActivity$reminders = reminders.filter { it.minutes != REMINDER_OFF }.sortedBy { it.minutes }.toMutableList() as ArrayList<Reminder> + MaxLineLength:EventActivity.kt$EventActivity$setPadding(paddingLeft, paddingTop, paddingRight, resources.getDimension(org.fossify.commons.R.dimen.tiny_margin).toInt()) + MaxLineLength:EventActivity.kt$EventActivity$this + MaxLineLength:EventActivity.kt$EventActivity$updateCurrentCalendarInfo(if (mEventCalendarId == STORED_LOCALLY_ONLY) null else getCalendarWithId(calendars, getCalendarId())) + MaxLineLength:EventActivity.kt$EventActivity$updateMaterialActivityViews(binding.eventCoordinator, binding.eventHolder, useTransparentNavigation = true, useTopSearchMenu = false) + MaxLineLength:EventActivity.kt$EventActivity$val + MaxLineLength:EventActivity.kt$EventActivity$val contact = Attendee(id, "", email, Attendees.ATTENDEE_STATUS_NONE, "", false, Attendees.RELATIONSHIP_NONE) + MaxLineLength:EventActivity.kt$EventActivity$val contact = Attendee(id, fullName, "", Attendees.ATTENDEE_STATUS_NONE, photoUri, false, Attendees.RELATIONSHIP_NONE) + MaxLineLength:EventActivity.kt$EventActivity$val customEmails = mAttendeeAutoCompleteViews.filter { it.isVisible() }.map { it.value }.filter { it.isNotEmpty() }.toMutableList() as ArrayList<String> + MaxLineLength:EventActivity.kt$EventActivity$val deviceContact = mAvailableContacts.firstOrNull { it.email.isNotEmpty() && it.email == attendee.email && it.photoUri.isNotEmpty() } + MaxLineLength:EventActivity.kt$EventActivity$val drawable = if (mAvailability == Attendees.AVAILABILITY_FREE) R.drawable.ic_event_available_vector else R.drawable.ic_event_busy_vector + MaxLineLength:EventActivity.kt$EventActivity$val everyString = getString(if (isMaleGender(mEventStartDateTime.dayOfWeek)) R.string.every_m else R.string.every_f) + MaxLineLength:EventActivity.kt$EventActivity$val isLastCaldavCalendarOK = config.caldavSync && config.getSyncedCalendarIdsAsList().contains(config.lastUsedCaldavCalendarId) + MaxLineLength:EventActivity.kt$EventActivity$val monthString = resources.getStringArray(org.fossify.commons.R.array.in_months)[mEventStartDateTime.monthOfYear - 1] + MaxLineLength:EventActivity.kt$EventActivity$val placeholder = BitmapDrawable(resources, SimpleContactsHelper(this@EventActivity).getContactLetterIcon(eventContactName.value)) + MaxLineLength:EventActivity.kt$EventActivity$val textColor = if (mEventStartDateTime.isAfter(mEventEndDateTime)) resources.getColor(R.color.red_text) else getProperTextColor() + MaxLineLength:EventListAdapter.kt$EventListAdapter$activity: SimpleActivity + MaxLineLength:EventListAdapter.kt$EventListAdapter$eventItemDescription.text = if (replaceDescription) listEvent.location else listEvent.description.replace("\n", " ") + MaxLineLength:EventListAdapter.kt$EventListAdapter$eventItemTime.text = if (listEvent.isAllDay) allDayString else Formatter.getTimeFromTS(activity, listEvent.startTS) + MaxLineLength:EventListAdapter.kt$EventListAdapter$holder + MaxLineLength:EventListAdapter.kt$EventListAdapter$if + MaxLineLength:EventListAdapter.kt$EventListAdapter$listItems.filter { it is ListEvent && selectedKeys.contains(it.hashCode()) }.map { (it as ListEvent).id }.toMutableList() as ArrayList<Long> + MaxLineLength:EventListAdapter.kt$EventListAdapter$val eventsToDelete = listItems.filter { selectedKeys.contains((it as? ListEvent)?.hashCode()) } as List<ListEvent> + MaxLineLength:EventListFragment.kt$EventListFragment$(binding.calendarEventsList.layoutManager as LinearLayoutManager).scrollToPositionWithOffset(firstNonPastSectionIndex, 0) + MaxLineLength:EventListFragment.kt$EventListFragment$binding.calendarEventsList.smoothScrollBy(0, requireContext().resources.getDimension(R.dimen.endless_scroll_move_height).toInt()) + MaxLineLength:EventListFragment.kt$EventListFragment$val lastPosition = (binding.calendarEventsList.layoutManager as MyLinearLayoutManager).findLastVisibleItemPosition() + MaxLineLength:EventListWidgetAdapter.kt$EventListWidgetAdapter$} + MaxLineLength:EventWeeklyView.kt$EventWeeklyView + MaxLineLength:EventsDao.kt$EventsDao$//val selection = "$COL_REMINDER_MINUTES != -1 AND ($COL_START_TS > ? OR $COL_REPEAT_INTERVAL != 0) AND $COL_START_TS != 0" + MaxLineLength:EventsDao.kt$EventsDao$@Query("SELECT * FROM events WHERE reminder_1_minutes != -1 AND (start_ts > :currentTS OR repeat_interval != 0) AND start_ts != 0") + MaxLineLength:EventsDao.kt$EventsDao$@Query("SELECT * FROM events WHERE start_ts <= :toTS AND end_ts >= :fromTS AND start_ts != 0 AND repeat_interval = 0 AND event_type IN (:eventTypeIds) AND (title LIKE :searchQuery OR location LIKE :searchQuery OR description LIKE :searchQuery)") + MaxLineLength:EventsDao.kt$EventsDao$@Query("SELECT * FROM events WHERE start_ts <= :toTS AND end_ts >= :fromTS AND start_ts != 0 AND repeat_interval = 0 AND event_type IN (:eventTypeIds)") + MaxLineLength:EventsDao.kt$EventsDao$@Query("SELECT * FROM events WHERE start_ts <= :toTS AND start_ts != 0 AND repeat_interval != 0 AND event_type IN (:eventTypeIds) AND (title LIKE :searchQuery OR location LIKE :searchQuery OR description LIKE :searchQuery)") + MaxLineLength:EventsDao.kt$EventsDao$@Query("SELECT * FROM events WHERE start_ts <= :toTS AND start_ts != 0 AND repeat_interval != 0 AND event_type IN (:eventTypeIds)") + MaxLineLength:EventsDao.kt$EventsDao$@Query("SELECT * FROM events WHERE start_ts <= :toTS AND start_ts >= :fromTS AND event_type IN (:eventTypeIds) AND type = $TYPE_TASK") + MaxLineLength:EventsDao.kt$EventsDao$@Query("UPDATE events SET event_type = $REGULAR_EVENT_TYPE_ID WHERE event_type = :eventTypeId AND type = $TYPE_EVENT") + MaxLineLength:EventsDao.kt$EventsDao$fun + MaxLineLength:EventsDatabase.kt$EventsDatabase.Companion.<no name provided>$execSQL("CREATE TABLE IF NOT EXISTS `tasks` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `task_id` INTEGER NOT NULL, `start_ts` INTEGER NOT NULL, `flags` INTEGER NOT NULL)") + MaxLineLength:EventsDatabase.kt$EventsDatabase.Companion.<no name provided>$execSQL("CREATE TABLE IF NOT EXISTS `widgets` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `widget_id` INTEGER NOT NULL, `period` INTEGER NOT NULL)") + MaxLineLength:EventsHelper.kt$EventsHelper$eventTypeId = createPredefinedEventType(anniversaries, R.color.default_anniversaries_color, ANNIVERSARY_EVENT) + MaxLineLength:EventsHelper.kt$EventsHelper$events.addAll(eventsDB.getOneTimeEventsFromToWithTypes(toTS, fromTS, typesList).toMutableList() as ArrayList<Event>) + MaxLineLength:EventsHelper.kt$EventsHelper$eventsDB.getOneTimeEventsFromToWithTypesForSearch(toTS, fromTS, typesList, "%$searchQuery%").toMutableList() as ArrayList<Event> + MaxLineLength:EventsHelper.kt$EventsHelper$eventsDB.getRepeatableEventsOrTasksWithTypes(toTS, context.config.getDisplayEventTypessAsList()).toMutableList() as ArrayList<Event> + MaxLineLength:EventsHelper.kt$EventsHelper$eventsDB.getRepeatableEventsOrTasksWithTypesForSearch(toTS, context.config.getDisplayEventTypessAsList(), "%$searchQuery%") + MaxLineLength:EventsHelper.kt$EventsHelper$fun + MaxLineLength:EventsHelper.kt$EventsHelper$if + MaxLineLength:EventsHelper.kt$EventsHelper$it.caldavCalendarId == 0 || caldavCalendars.firstOrNull { it.id == eventType.caldavCalendarId }?.canWrite() == true + MaxLineLength:EventsHelper.kt$EventsHelper$private + MaxLineLength:EventsHelper.kt$EventsHelper$val previousOccurrenceTS = occurrenceTS - event.repeatInterval // always update repeat limit of the occurrence preceding the one being edited + MaxLineLength:EventsHelper.kt$EventsHelper$val typesToDelete = eventTypes.asSequence().filter { it.caldavCalendarId == 0 && it.id != REGULAR_EVENT_TYPE_ID }.toMutableList() + MaxLineLength:ExportEventsDialog.kt$ExportEventsDialog$exportEventsFilename.setText("${activity.getString(R.string.events)}_${activity.getCurrentFormattedDateTime()}") + MaxLineLength:ExportEventsDialog.kt$ExportEventsDialog$val eventTypes = (binding.exportEventsTypesList.adapter as FilterEventTypeAdapter).getSelectedItemsList() + MaxLineLength:FilterEventTypeAdapter.kt$FilterEventTypeAdapter$class + MaxLineLength:FilterEventTypeAdapter.kt$FilterEventTypeAdapter$override fun onBindViewHolder(holder: EventTypeViewHolder, position: Int) + MaxLineLength:FilterEventTypeAdapter.kt$FilterEventTypeAdapter.EventTypeViewHolder$filterEventTypeCheckbox.setColors(activity.getProperTextColor(), activity.getProperPrimaryColor(), activity.getProperBackgroundColor()) + MaxLineLength:Formatter.kt$Formatter$DateTimeFormat.forPattern(DAYCODE_PATTERN).withZone(DateTimeZone.getDefault()).parseLocalDate(dayCode).toDateTimeAtStartOfDay() + MaxLineLength:Formatter.kt$Formatter$fun + MaxLineLength:Formatter.kt$Formatter$fun getDate(context: Context, dateTime: DateTime, addDayOfWeek: Boolean = true) + MaxLineLength:Formatter.kt$Formatter$fun getDateTimeFromCode(dayCode: String) + MaxLineLength:Formatter.kt$Formatter$fun getShiftedLocalTS(ts: Long) + MaxLineLength:Formatter.kt$Formatter$fun getShiftedTS(dateTime: DateTime, toZone: DateTimeZone) + MaxLineLength:Formatter.kt$Formatter$fun getShortMonthName(context: Context, id: Int) + MaxLineLength:IcsExporter.kt$IcsExporter.<no name provided>$* + MaxLineLength:IcsImporter.kt$IcsImporter$// Ideally, we should parse BEGIN:VTIMEZONE and derive the timezone from there, but to get things working, let's assume TZID refers to one + MaxLineLength:IcsImporter.kt$IcsImporter$// if an event belongs to a sequence insert it immediately, to avoid some glitches with linked events + MaxLineLength:IcsImporter.kt$IcsImporter$// if an event contains the RECURRENCE-ID field, it is an exception to a recurring event, so update its parent too + MaxLineLength:IcsImporter.kt$IcsImporter$// repeating event exceptions can have the same import id as their parents, so pick the latest event to update + MaxLineLength:IcsImporter.kt$IcsImporter$// some RRULEs need to know the events start datetime. If it's yet unknown, postpone RRULE parsing + MaxLineLength:IcsImporter.kt$IcsImporter$Reminder(curReminderMinutes.getOrElse(0) { REMINDER_OFF }, curReminderActions.getOrElse(0) { REMINDER_NOTIFICATION }) + MaxLineLength:IcsImporter.kt$IcsImporter$Reminder(curReminderMinutes.getOrElse(1) { REMINDER_OFF }, curReminderActions.getOrElse(1) { REMINDER_NOTIFICATION }) + MaxLineLength:IcsImporter.kt$IcsImporter$Reminder(curReminderMinutes.getOrElse(2) { REMINDER_OFF }, curReminderActions.getOrElse(2) { REMINDER_NOTIFICATION }) + MaxLineLength:IcsImporter.kt$IcsImporter$if + MaxLineLength:IcsImporter.kt$IcsImporter$line.substring(TRANSP.length).let { curAvailability = if (it == TRANSPARENT) Events.AVAILABILITY_FREE else Events.AVAILABILITY_BUSY } + MaxLineLength:IcsImporter.kt$IcsImporter$reminders = reminders.sortedBy { it.minutes }.sortedBy { it.minutes == REMINDER_OFF }.toMutableList() as ArrayList<Reminder> + MaxLineLength:IcsImporter.kt$IcsImporter$val eventToUpdate = existingEvents.filter { curImportId.isNotEmpty() && curImportId == it.importId }.maxByOrNull { it.lastUpdated } + MaxLineLength:IcsImporter.kt$IcsImporter$val source = if (calDAVCalendarId == 0 || eventType?.isSyncedEventType() == false) SOURCE_IMPORTED_ICS else "$CALDAV-$calDAVCalendarId" + MaxLineLength:IcsImporter.kt$IcsImporter$var + MaxLineLength:ImportEventsDialog.kt$ImportEventsDialog$val isLastCaldavCalendarOK = config.caldavSync && config.getSyncedCalendarIdsAsList().contains(config.lastUsedCaldavCalendarId) + MaxLineLength:ImportEventsDialog.kt$ImportEventsDialog$val lastUsedCalDAVCalendar = activity.eventsHelper.getEventTypeWithCalDAVCalendarId(config.lastUsedCaldavCalendarId) + MaxLineLength:ImportEventsDialog.kt$ImportEventsDialog$val result = IcsImporter(activity).importEvents(path, currEventTypeId, currEventTypeCalDAVCalendarId, overrideFileEventTypes) + MaxLineLength:ListSectionDay.kt$ListSectionDay : ListItem + MaxLineLength:MainActivity.kt$MainActivity$(newEventDrawable as LayerDrawable).findDrawableByLayerId(R.id.shortcut_event_background).applyColorFilter(appIconColor) + MaxLineLength:MainActivity.kt$MainActivity$(newTaskDrawable as LayerDrawable).findDrawableByLayerId(R.id.shortcut_task_background).applyColorFilter(appIconColor) + MaxLineLength:MainActivity.kt$MainActivity$// private contacts are created in Simple Contacts Pro, so we can guarantee that they exist only in these 2 formats + MaxLineLength:MainActivity.kt$MainActivity$binding.searchResultsList.smoothScrollBy(0, resources.getDimension(R.dimen.endless_scroll_move_height).toInt()) + MaxLineLength:MainActivity.kt$MainActivity$binding.swipeRefreshLayout.isEnabled = config.caldavSync && config.pullToRefresh && config.storedView != WEEKLY_VIEW + MaxLineLength:MainActivity.kt$MainActivity$config.storedView == WEEKLY_VIEW && (dayCode?.length == Formatter.DAYCODE_PATTERN.length) -> getFirstDayOfWeek(Formatter.getDateTimeFromCode(dayCode)) + MaxLineLength:MainActivity.kt$MainActivity$config.storedView == YEARLY_VIEW && (dayCode?.length == Formatter.DAYCODE_PATTERN.length) -> Formatter.getYearFromDayCode(dayCode) + MaxLineLength:MainActivity.kt$MainActivity$eventTypeId = eventsHelper.createPredefinedEventType(holidays, R.color.default_holidays_color, HOLIDAY_EVENT, true) + MaxLineLength:MainActivity.kt$MainActivity$faqItems.add(FAQItem(org.fossify.commons.R.string.faq_2_title_commons, org.fossify.commons.R.string.faq_2_text_commons)) + MaxLineLength:MainActivity.kt$MainActivity$faqItems.add(FAQItem(org.fossify.commons.R.string.faq_6_title_commons, org.fossify.commons.R.string.faq_6_text_commons)) + MaxLineLength:MainActivity.kt$MainActivity$faqItems.add(FAQItem(org.fossify.commons.R.string.faq_7_title_commons, org.fossify.commons.R.string.faq_7_text_commons)) + MaxLineLength:MainActivity.kt$MainActivity$findItem(R.id.more_apps_from_us).isVisible = !resources.getBoolean(org.fossify.commons.R.bool.hide_google_relations) + MaxLineLength:MainActivity.kt$MainActivity$if + MaxLineLength:MainActivity.kt$MainActivity$it.title.contains(currentSearchQuery, true) || it.location.contains(currentSearchQuery, true) + MaxLineLength:MainActivity.kt$MainActivity$null + MaxLineLength:MainActivity.kt$MainActivity$private + MaxLineLength:MainActivity.kt$MainActivity$reminder3Minutes = reminders[2] + MaxLineLength:MainActivity.kt$MainActivity$repeatInterval = YEAR + MaxLineLength:MainActivity.kt$MainActivity$updateMaterialActivityViews(binding.mainCoordinator, binding.mainHolder, useTransparentNavigation = false, useTopSearchMenu = true) + MaxLineLength:MainActivity.kt$MainActivity$val eventTypeId = if (birthdays) eventsHelper.getLocalBirthdaysEventTypeId() else eventsHelper.getAnniversariesEventTypeId() + MaxLineLength:MainActivity.kt$MainActivity$val lastPosition = (binding.searchResultsList.layoutManager as MyLinearLayoutManager).findLastVisibleItemPosition() + MaxLineLength:MainActivity.kt$MainActivity$val result = IcsImporter(this).importEvents(selectedHoliday as String, eventTypeId, 0, false, reminders) + MaxLineLength:MainActivity.kt$MainActivity$|| + MaxLineLength:ManageAutomaticBackupsDialog.kt$ManageAutomaticBackupsDialog$activity + MaxLineLength:ManageEventTypesAdapter.kt$ManageEventTypesAdapter$activity: SimpleActivity + MaxLineLength:MonthDayFragment.kt$MonthDayFragment$binding.monthDaySelectedDayLabel.text = Formatter.getDateFromCode(requireActivity(), mSelectedDayCode, false) + MaxLineLength:MonthDayFragment.kt$MonthDayFragment$override + MaxLineLength:MonthDayFragment.kt$MonthDayFragment$shownMonthDateTime.year == startDateTime.year && shownMonthDateTime.monthOfYear == startDateTime.monthOfYear + MaxLineLength:MonthDayFragmentsHolder.kt$MonthDayFragmentsHolder$override + MaxLineLength:MonthFragment.kt$MonthFragment$override + MaxLineLength:MonthView.kt$MonthView$// handle overlapping repeating events e.g. an event that lasts 3 days, but repeats every 2 days has a one day overlap + MaxLineLength:MonthView.kt$MonthView$canvas.drawCircle(xPosCenter, yPos + textPaint.textSize * 0.7f, textPaint.textSize * 0.8f, circleStrokePaint) + MaxLineLength:MonthView.kt$MonthView$canvas.drawCircle(xPosCenter, yPos + textPaint.textSize * 0.7f, textPaint.textSize * 0.8f, getCirclePaint(day)) + MaxLineLength:MonthView.kt$MonthView$canvas.drawLine(0f, i * dayHeight + weekDaysLetterHeight, canvas.width.toFloat(), i * dayHeight + weekDaysLetterHeight, gridPaint) + MaxLineLength:MonthView.kt$MonthView$canvas.drawRoundRect(bgRectF, BG_CORNER_RADIUS, BG_CORNER_RADIUS, getEventBackgroundColor(event, startDayIndex, endDayIndex)) + MaxLineLength:MonthView.kt$MonthView$compareBy({ -it.daysCnt }, { !it.isAllDay }, { it.startTS }, { it.endTS }, { it.startDayIndex }, { it.title }) + MaxLineLength:MonthView.kt$MonthView$dayLetters = context.withFirstDayOfWeekToFront(context.resources.getStringArray(org.fossify.commons.R.array.week_day_letters).toList()) + MaxLineLength:MonthView.kt$MonthView$dayVerticalOffsets.put(day.indexOnMonthView, dayVerticalOffsets[day.indexOnMonthView] + weekDaysLetterHeight) + MaxLineLength:MonthView.kt$MonthView$drawEventTitle(event, canvas, xPos + taskIconWidth, yPos + verticalOffset, bgRight - bgLeft - smallPadding - taskIconWidth, specificEventTitlePaint) + MaxLineLength:MonthView.kt$MonthView$private + MaxLineLength:MonthView.kt$MonthView$return event.startTS != event.endTS && Formatter.getDateTimeFromTS(event.endTS) == Formatter.getDateTimeFromTS(date.seconds()).withTimeAtStartOfDay() + MaxLineLength:MonthView.kt$MonthView$taskIcon.setBounds(xPos.toInt() + smallPadding * 2, taskIconY, xPos.toInt() + eventTitleHeight + smallPadding * 2, taskIconY + eventTitleHeight) + MaxLineLength:MonthView.kt$MonthView$val ellipsized = TextUtils.ellipsize(event.title, eventTitlePaint, availableWidth - smallPadding, TextUtils.TruncateAt.END) + MaxLineLength:MonthView.kt$MonthView$val isDaySelected = selectedDayCoords.x != -1 && x == selectedDayCoords.x && y == selectedDayCoords.y + MaxLineLength:MonthView.kt$MonthView$val isMidnight = Formatter.getDateTimeFromTS(endDateTime.seconds()) == Formatter.getDateTimeFromTS(endDateTime.seconds()).withTimeAtStartOfDay() + MaxLineLength:MonthView.kt$MonthView$val newEvent = event.copy(startDayIndex = newStartDayIndex, daysCnt = event.daysCnt - (newStartDayIndex - event.startDayIndex)) + MaxLineLength:MonthView.kt$MonthView$val shouldAddEvent = notYetAddedOrIsRepeatingEvent || canOverlap && (lastEvent!!.startTS < event.startTS) + MaxLineLength:MonthView.kt$MonthView$val taskIcon = resources.getColoredDrawableWithColor(R.drawable.ic_task_vector, specificEventTitlePaint.color).mutate() + MaxLineLength:MonthViewWrapper.kt$MonthViewWrapper$contentDescription = "${day.value} ${Formatter.getMonthName(context, Formatter.getDateTimeFromCode(day.code).monthOfYear)}" + MaxLineLength:MonthlyCalendar.kt$MonthlyCalendar$fun updateMonthlyCalendar(context: Context, month: String, days: ArrayList<DayMonthly>, checkedEvents: Boolean, currTargetDate: DateTime) + MaxLineLength:MonthlyCalendarImpl.kt$MonthlyCalendarImpl$return targetDate.withDayOfMonth(min(curDayInMonth, targetMonthDays)).toString(Formatter.DAYCODE_PATTERN) == mToday + MaxLineLength:MonthlyCalendarImpl.kt$MonthlyCalendarImpl$val day = DayMonthly(value, isThisMonth, isToday, dayCode, newDay.weekOfWeekyear, ArrayList(), i, context.isWeekendIndex(i)) + MaxLineLength:MyDayPagerAdapter.kt$MyDayPagerAdapter$class + MaxLineLength:MyMonthDayPagerAdapter.kt$MyMonthDayPagerAdapter$class + MaxLineLength:MyMonthPagerAdapter.kt$MyMonthPagerAdapter$class + MaxLineLength:MyWeekPagerAdapter.kt$MyWeekPagerAdapter$class + MaxLineLength:MyWidgetDateProvider.kt$MyWidgetDateProvider$val pendingIntent = PendingIntent.getActivity(context, OPEN_APP_INTENT_ID, this, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) + MaxLineLength:MyWidgetListProvider.kt$MyWidgetListProvider$PendingIntent.getActivity(context, 0, startActivityIntent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_MUTABLE) + MaxLineLength:MyWidgetListProvider.kt$MyWidgetListProvider$views.setImageViewBitmap(R.id.widget_event_go_to_today, context.resources.getColoredBitmap(R.drawable.ic_today_vector, textColor)) + MaxLineLength:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$day.dayEvents + MaxLineLength:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$if + MaxLineLength:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$setInt(R.id.day_monthly_event_id, "setPaintFlags", Paint.ANTI_ALIAS_FLAG or Paint.STRIKE_THRU_TEXT_FLAG) + MaxLineLength:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$setText(id, "${days[i * 7 + 3].weekOfYear}:") + MaxLineLength:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$val pendingIntent = PendingIntent.getActivity(context, Integer.parseInt(dayCode), this, PendingIntent.FLAG_IMMUTABLE) + MaxLineLength:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$val pendingIntent = PendingIntent.getActivity(context, Integer.parseInt(dayCode.substring(0, 6)), this, PendingIntent.FLAG_IMMUTABLE) + MaxLineLength:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider.<no name provided>$override + MaxLineLength:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider.<no name provided>$val shouldGoToTodayBeVisible = currTargetDate.withTime(0, 0, 0, 0) != DateTime.now().withDayOfMonth(1).withTime(0, 0, 0, 0) + MaxLineLength:MyYearPagerAdapter.kt$MyYearPagerAdapter$class + MaxLineLength:NotificationReceiver.kt$NotificationReceiver$if + MaxLineLength:Parser.kt$Parser$// properly handle events repeating by 14 days or so, just add a repeat rule to specify a day of the week + MaxLineLength:Parser.kt$Parser$event.repeatInterval.isXMonthlyRepetition() || event.repeatInterval.isXYearlyRepetition() + MaxLineLength:Parser.kt$Parser$private fun getDurationValue(duration: String, char: String) + MaxLineLength:QuickFilterEventTypeAdapter.kt$QuickFilterEventTypeAdapter$val eventType = allEventTypes.firstOrNull { eventType -> eventType.id.toString() == quickFilterEventType } ?: return@forEach + MaxLineLength:QuickFilterEventTypeAdapter.kt$QuickFilterEventTypeAdapter.QuickFilterViewHolder$inner + MaxLineLength:QuickFilterEventTypeAdapter.kt$QuickFilterEventTypeAdapter.QuickFilterViewHolder$val indicatorHeightRes = if (isSelected) R.dimen.quick_filter_active_line_size else R.dimen.quick_filter_inactive_line_size + MaxLineLength:Range.kt$fun Range<Int>.intersects(other: Range<Int>) + MaxLineLength:ReminderWarningDialog.kt$ReminderWarningDialog$activity + MaxLineLength:RepeatLimitTypePickerDialog.kt$RepeatLimitTypePickerDialog$class + MaxLineLength:RepeatLimitTypePickerDialog.kt$RepeatLimitTypePickerDialog$private + MaxLineLength:SelectCalendarsDialog.kt$SelectCalendarsDialog$CalendarItemAccountBinding.inflate(activity.layoutInflater, binding.dialogSelectCalendarsHolder, false) + MaxLineLength:SelectCalendarsDialog.kt$SelectCalendarsDialog$CalendarItemCalendarBinding.inflate(activity.layoutInflater, binding.dialogSelectCalendarsHolder, false) + MaxLineLength:SelectEventCalendarDialog.kt$SelectEventCalendarDialog$class + MaxLineLength:SelectEventCalendarDialog.kt$SelectEventCalendarDialog$radioGroup.addView(radioBinding.root, RadioGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)) + MaxLineLength:SelectEventColorDialog.kt$SelectEventColorDialog$class + MaxLineLength:SelectEventTypeColorDialog.kt$SelectEventTypeColorDialog$class + MaxLineLength:SelectEventTypeDialog.kt$SelectEventTypeDialog$radioGroup.addView(radioBinding.root, RadioGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)) + MaxLineLength:SelectEventTypeDialog.kt$SelectEventTypeDialog$val activity: Activity + MaxLineLength:SelectEventTypeDialog.kt$SelectEventTypeDialog$val addLastUsedOneAsFirstOption: Boolean + MaxLineLength:SelectEventTypeDialog.kt$SelectEventTypeDialog$val lastUsedEventType = EventType(LAST_USED_EVENT_TYPE_ID, activity.getString(R.string.last_used_one), Color.TRANSPARENT, 0) + MaxLineLength:SelectEventTypeDialog.kt$SelectEventTypeDialog$val newEventType = EventType(NEW_EVENT_TYPE_ID, activity.getString(R.string.add_new_type), Color.TRANSPARENT, 0) + MaxLineLength:SelectEventTypesDialog.kt$SelectEventTypesDialog$class + MaxLineLength:SelectTimeZoneAdapter.kt$SelectTimeZoneAdapter$class + MaxLineLength:SetRemindersDialog.kt$SetRemindersDialog$class + MaxLineLength:SetRemindersDialog.kt$SetRemindersDialog$val tempReminders = arrayListOf(mReminder1Minutes, mReminder2Minutes, mReminder3Minutes).filter { it != REMINDER_OFF }.sorted() + MaxLineLength:SettingsActivity.kt$SettingsActivity$IcsExporter.ExportResult.EXPORT_PARTIAL -> org.fossify.commons.R.string.exporting_some_entries_failed + MaxLineLength:SettingsActivity.kt$SettingsActivity$PermissionRequiredDialog(this, org.fossify.commons.R.string.allow_notifications_reminders, { openNotificationSettings() }) + MaxLineLength:SettingsActivity.kt$SettingsActivity$arrayOf(settingsDefaultReminder1Holder, settingsDefaultReminder2Holder, settingsDefaultReminder3Holder) + MaxLineLength:SettingsActivity.kt$SettingsActivity$settingsUseEnglishHolder.beVisibleIf((config.wasUseEnglishToggled || Locale.getDefault().language != "en") && !isTiramisuPlus()) + MaxLineLength:SettingsActivity.kt$SettingsActivity$updateMaterialActivityViews(binding.settingsCoordinator, binding.settingsHolder, useTransparentNavigation = true, useTopSearchMenu = false) + MaxLineLength:SettingsActivity.kt$SettingsActivity$val eventType = EventType(null, it.displayName, it.color, it.id, it.displayName, it.accountName) + MaxLineLength:SettingsActivity.kt$SettingsActivity$val events = eventsHelper.getEventsToExport(eventTypes, config.exportEvents, config.exportTasks, config.exportPastEntries) + MaxLineLength:SettingsActivity.kt$SettingsActivity$val reminders = sortedSetOf(config.defaultReminder1, config.defaultReminder2, config.defaultReminder3).filter { it != REMINDER_OFF } + MaxLineLength:SettingsActivity.kt$SettingsActivity$} + MaxLineLength:SimpleActivity.kt$SimpleActivity$// caldav refresh content observer triggers multiple times in a row at updating, so call the callback only a few seconds after the (hopefully) last one + MaxLineLength:SimpleActivity.kt$SimpleActivity$PermissionRequiredDialog(this, org.fossify.commons.R.string.allow_notifications_reminders, { openNotificationSettings() }) + MaxLineLength:SmallMonthView.kt$SmallMonthView$canvas.drawCircle(x * dayWidth - dayWidth / 2, y * dayWidth - dayWidth / dividerConstant, dayWidth * 0.41f, todayCirclePaint) + MaxLineLength:TaskActivity.kt$TaskActivity$// the stored value might be incorrect so update it (e.g. user completed the task via notification action before editing) + MaxLineLength:TaskActivity.kt$TaskActivity$ColorPickerDialog + MaxLineLength:TaskActivity.kt$TaskActivity$DELETE_SELECTED_OCCURRENCE -> eventsHelper.deleteRepeatingEventOccurrence(mTask.id!!, mTaskOccurrenceTS, false) + MaxLineLength:TaskActivity.kt$TaskActivity$PermissionRequiredDialog(this, org.fossify.commons.R.string.allow_notifications_reminders, { openNotificationSettings() }) + MaxLineLength:TaskActivity.kt$TaskActivity$binding.taskRepetitionRuleHolder.beVisibleIf(mRepeatInterval.isXWeeklyRepetition() || mRepeatInterval.isXMonthlyRepetition() || mRepeatInterval.isXYearlyRepetition()) + MaxLineLength:TaskActivity.kt$TaskActivity$binding.toggleMarkComplete.background = ContextCompat.getDrawable(this, org.fossify.commons.R.drawable.button_background_stroke) + MaxLineLength:TaskActivity.kt$TaskActivity$if + MaxLineLength:TaskActivity.kt$TaskActivity$items.add(RadioItem(REPEAT_ORDER_WEEKDAY_USE_LAST, getRepeatXthDayInMonthString(true, REPEAT_ORDER_WEEKDAY_USE_LAST))) + MaxLineLength:TaskActivity.kt$TaskActivity$items.add(RadioItem(REPEAT_ORDER_WEEKDAY_USE_LAST, getRepeatXthDayString(true, REPEAT_ORDER_WEEKDAY_USE_LAST))) + MaxLineLength:TaskActivity.kt$TaskActivity$mEventTypeId = if (config.defaultEventTypeId == -1L) config.lastUsedLocalEventTypeId else config.defaultEventTypeId + MaxLineLength:TaskActivity.kt$TaskActivity$mReminder1Minutes = if (usePreviousEventReminders && lastEventReminderMinutes1 >= -1) lastEventReminderMinutes1 else defaultReminder1 + MaxLineLength:TaskActivity.kt$TaskActivity$mReminder2Minutes = if (usePreviousEventReminders && lastEventReminderMinutes2 >= -1) lastEventReminderMinutes2 else defaultReminder2 + MaxLineLength:TaskActivity.kt$TaskActivity$mReminder3Minutes = if (usePreviousEventReminders && lastEventReminderMinutes3 >= -1) lastEventReminderMinutes3 else defaultReminder3 + MaxLineLength:TaskActivity.kt$TaskActivity$private fun isLastDayOfTheMonth() + MaxLineLength:TaskActivity.kt$TaskActivity$reminders = reminders.filter { it.minutes != REMINDER_OFF }.sortedBy { it.minutes }.toMutableList() as ArrayList<Reminder> + MaxLineLength:TaskActivity.kt$TaskActivity$this + MaxLineLength:TaskActivity.kt$TaskActivity$updateMaterialActivityViews(binding.taskCoordinator, binding.taskHolder, useTransparentNavigation = true, useTopSearchMenu = false) + MaxLineLength:TaskActivity.kt$TaskActivity$val + MaxLineLength:TaskActivity.kt$TaskActivity$val everyString = getString(if (isMaleGender(mTaskDateTime.dayOfWeek)) R.string.every_m else R.string.every_f) + MaxLineLength:WeekFragment.kt$WeekFragment$((currentEventWeeklyView.range.upper - currentEventWeeklyView.range.lower) * minuteHeight).toInt() - 1 + MaxLineLength:WeekFragment.kt$WeekFragment$// fix a visual glitch with all-day events or events lasting multiple days starting at midnight on monday, being shown the previous week too + MaxLineLength:WeekFragment.kt$WeekFragment$// we need to refresh all fragments because they can contain future occurrences + MaxLineLength:WeekFragment.kt$WeekFragment$DragEvent.ACTION_DRAG_STARTED -> dragEvent.clipDescription.hasMimeType(ClipDescription.MIMETYPE_TEXT_PLAIN) + MaxLineLength:WeekFragment.kt$WeekFragment$compareBy<Event> { it.startTS }.thenBy { it.endTS }.thenBy { it.title }.thenBy { if (replaceDescription) it.location else it.description } + MaxLineLength:WeekFragment.kt$WeekFragment$context?.eventsHelper + MaxLineLength:WeekFragment.kt$WeekFragment$eventWeeklyView.range.upper > eventWeeklyViewToCheck.range.lower + MaxLineLength:WeekFragment.kt$WeekFragment$scrollView.layoutParams.height = fullHeight - res.getDimension(org.fossify.commons.R.dimen.one_dp).toInt() + MaxLineLength:WeekFragment.kt$WeekFragment$val (eventId, originalStartTS, originalEndTS) = dragEvent.clipData.getItemAt(0).text.toString().split(";").map { it.toLong() } + MaxLineLength:WeekFragment.kt$WeekFragment$val clipData = ClipData.newPlainText(WEEKLY_EVENT_ID_LABEL, "${event.id};${event.startTS};${event.endTS}") + MaxLineLength:WeekFragment.kt$WeekFragment$val collisionEventWeeklyViews = eventDayList.filter { eventWeeklyView.collisions.contains(it.key) } + MaxLineLength:WeekFragment.kt$WeekFragment$val dayOfWeek = dayColumns.indexOfFirst { it.tag.toInt() == dayCodeStart || it.tag.toInt() in (dayCodeStart + 1)..dayCodeEnd } + MaxLineLength:WeekFragment.kt$WeekFragment$val isRowValidForEvent = lastEvent == null || firstEventRowIdx!! + repeatingEventIndex == index && lastEventRowIdx!! < index + MaxLineLength:WeekFragment.kt$WeekFragment$val isStartTimeDay = Formatter.getDateTimeFromTS(maxTS) == Formatter.getDateTimeFromTS(maxTS).withTimeAtStartOfDay() + MaxLineLength:WeekFragment.kt$WeekFragment$val numDays = Days.daysBetween(Formatter.getDateTimeFromTS(minTS).toLocalDate(), Formatter.getDateTimeFromTS(maxTS).toLocalDate()).days + MaxLineLength:WeekFragmentsHolder.kt$WeekFragmentsHolder$binding.weekViewDaysCount.text = requireContext().resources.getQuantityString(org.fossify.commons.R.plurals.days, cnt, cnt) + MaxLineLength:WidgetDateConfigureActivity.kt$WidgetDateConfigureActivity$if + MaxLineLength:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$else -> resources.getQuantityString(R.plurals.within_the_next_days, seconds / DAY_SECONDS, seconds / DAY_SECONDS) + MaxLineLength:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$if + MaxLineLength:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$seconds % MONTH_SECONDS == 0 -> resources.getQuantityString(R.plurals.within_the_next_months, seconds / MONTH_SECONDS, seconds / MONTH_SECONDS) + MaxLineLength:WidgetListConfigureActivity.kt$WidgetListConfigureActivity$seconds % WEEK_SECONDS == 0 -> resources.getQuantityString(R.plurals.within_the_next_weeks, seconds / WEEK_SECONDS, seconds / WEEK_SECONDS) + MaxLineLength:WidgetMonthlyConfigureActivity.kt$WidgetMonthlyConfigureActivity$if + MaxLineLength:WidgetMonthlyConfigureActivity.kt$WidgetMonthlyConfigureActivity$override + MaxLineLength:WidgetMonthlyConfigureActivity.kt$WidgetMonthlyConfigureActivity$root.layoutParams = LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT) + MaxLineLength:YearFragment.kt$YearFragment$binding.month1Holder + MaxLineLength:YearFragment.kt$YearFragment$binding.month7Holder + MaxLineLength:YearFragmentsHolder.kt$YearFragmentsHolder$currentYear = (if (dateTimeString != null) DateTime.parse(dateTimeString) else DateTime()).toString(Formatter.YEAR_PATTERN).toInt() + NestedBlockDepth:CalDAVHelper.kt$CalDAVHelper$fun refreshCalendars(showToasts: Boolean, scheduleNextSync: Boolean, callback: () -> Unit) + NestedBlockDepth:Context.kt$inline fun Context.queryCursorInlined( uri: Uri, projection: Array<String>, selection: String? = null, selectionArgs: Array<String>? = null, sortOrder: String? = null, showErrors: Boolean = false, callback: (cursor: Cursor) -> Unit ) + NestedBlockDepth:DayEventsAdapter.kt$DayEventsAdapter$private fun setupView(view: View, event: Event) + NestedBlockDepth:EventActivity.kt$EventActivity$private fun gotEvent(savedInstanceState: Bundle?, localEventType: EventType?, event: Event?) + NestedBlockDepth:EventsHelper.kt$EventsHelper$fun getEventsSync( fromTS: Long, toTS: Long, eventId: Long = -1L, applyTypeFilter: Boolean, searchQuery: String = "", callback: (events: ArrayList<Event>) -> Unit ) + NestedBlockDepth:EventsHelper.kt$EventsHelper$fun insertOrUpdateEventTypeSync(eventType: EventType): Long + NestedBlockDepth:EventsHelper.kt$EventsHelper$private fun getEventsRepeatingTillDateOrForever(fromTS: Long, toTS: Long, startTimes: LongSparseArray<Long>, event: Event): ArrayList<Event> + NestedBlockDepth:EventsHelper.kt$EventsHelper$private fun getEventsRepeatingXTimes(fromTS: Long, toTS: Long, startTimes: LongSparseArray<Long>, event: Event): ArrayList<Event> + NestedBlockDepth:IcsExporter.kt$IcsExporter$private fun fillReminders(event: Event, out: BufferedWriter, reminderLabel: String) + NestedBlockDepth:IcsImporter.kt$IcsImporter$fun importEvents( path: String, defaultEventTypeId: Long, calDAVCalendarId: Int, overrideFileEventTypes: Boolean, eventReminders: ArrayList<Int>? = null, ): ImportResult + NestedBlockDepth:IcsImporter.kt$IcsImporter$private fun getTimestamp(fullString: String): Long + NestedBlockDepth:MainActivity.kt$MainActivity$private fun addPrivateEvents( birthdays: Boolean, contacts: ArrayList<SimpleContact>, reminders: ArrayList<Int>, callback: (eventsFound: Int, eventsAdded: Int) -> Unit ) + NestedBlockDepth:MainActivity.kt$MainActivity$private fun checkIsViewIntent() + NestedBlockDepth:MonthView.kt$MonthView$override fun onDraw(canvas: Canvas) + NestedBlockDepth:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$private fun updateDays(context: Context, views: RemoteViews, days: List<DayMonthly>) + NestedBlockDepth:Parser.kt$Parser$fun parseRepeatInterval(fullString: String, startTS: Long): EventRepetition + NestedBlockDepth:SettingsActivity.kt$SettingsActivity$private fun parseFile(inputStream: InputStream?) + NestedBlockDepth:SmallMonthView.kt$SmallMonthView$override fun onDraw(canvas: Canvas) + NestedBlockDepth:WeekFragment.kt$WeekFragment$@SuppressLint("NewApi") private fun addAllDayEvent(event: Event) + NestedBlockDepth:WeekFragment.kt$WeekFragment$private fun addEvents(events: ArrayList<Event>) + ReturnCount:EventActivity.kt$EventActivity$private fun saveEvent() + ReturnCount:HsvColorComparator.kt$HsvColorComparator$override fun compare(lhs: Int?, rhs: Int?): Int + ReturnCount:SmallMonthView.kt$SmallMonthView$private fun getPaint(curId: Int, weekDay: Int, highlightWeekends: Boolean): Paint + SwallowedException:CalDAVHelper.kt$CalDAVHelper$e: Exception + SwallowedException:CalDAVHelper.kt$CalDAVHelper$e: IllegalArgumentException + SwallowedException:Converters.kt$Converters$e: Exception + SwallowedException:Event.kt$Event$e: Exception + SwallowedException:EventActivity.kt$EventActivity$e: Exception + SwallowedException:EventsHelper.kt$EventsHelper$e: Exception + SwallowedException:MainActivity.kt$MainActivity$e: ConcurrentModificationException + SwallowedException:MainActivity.kt$MainActivity$e: Exception + SwallowedException:SettingsActivity.kt$SettingsActivity$e: ActivityNotFoundException + TooGenericExceptionCaught:Activity.kt$e: Exception + TooGenericExceptionCaught:CalDAVHelper.kt$CalDAVHelper$e: Exception + TooGenericExceptionCaught:Context.kt$e: Exception + TooGenericExceptionCaught:Converters.kt$Converters$e: Exception + TooGenericExceptionCaught:Event.kt$Event$e: Exception + TooGenericExceptionCaught:EventActivity.kt$EventActivity$e: Exception + TooGenericExceptionCaught:EventsHelper.kt$EventsHelper$e: Exception + TooGenericExceptionCaught:IcsImporter.kt$IcsImporter$e: Exception + TooGenericExceptionCaught:MainActivity.kt$MainActivity$e: Exception + TooGenericExceptionCaught:ReminderWarningDialog.kt$ReminderWarningDialog$e: Exception + TooGenericExceptionCaught:SettingsActivity.kt$SettingsActivity$e: Exception + TooManyFunctions:CalDAVHelper.kt$CalDAVHelper + TooManyFunctions:Context.kt$org.fossify.calendar.extensions.Context.kt + TooManyFunctions:DayEventsAdapter.kt$DayEventsAdapter : MyRecyclerViewAdapter + TooManyFunctions:DayFragmentsHolder.kt$DayFragmentsHolder : MyFragmentHolderNavigationListener + TooManyFunctions:Event.kt$Event : Serializable + TooManyFunctions:EventActivity.kt$EventActivity : SimpleActivity + TooManyFunctions:EventListAdapter.kt$EventListAdapter : MyRecyclerViewAdapter + TooManyFunctions:EventListFragment.kt$EventListFragment : MyFragmentHolderRefreshRecyclerViewListener + TooManyFunctions:EventListWidgetAdapter.kt$EventListWidgetAdapter : RemoteViewsFactory + TooManyFunctions:EventsDao.kt$EventsDao + TooManyFunctions:EventsHelper.kt$EventsHelper + TooManyFunctions:Formatter.kt$Formatter + TooManyFunctions:MainActivity.kt$MainActivity : SimpleActivityRefreshRecyclerViewListener + TooManyFunctions:ManageEventTypesAdapter.kt$ManageEventTypesAdapter : MyRecyclerViewAdapter + TooManyFunctions:MonthDayFragment.kt$MonthDayFragment : FragmentMonthlyCalendarRefreshRecyclerViewListener + TooManyFunctions:MonthDayFragmentsHolder.kt$MonthDayFragmentsHolder : MyFragmentHolderNavigationListener + TooManyFunctions:MonthFragmentsHolder.kt$MonthFragmentsHolder : MyFragmentHolderNavigationListener + TooManyFunctions:MonthView.kt$MonthView : View + TooManyFunctions:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider : AppWidgetProvider + TooManyFunctions:Parser.kt$Parser + TooManyFunctions:SettingsActivity.kt$SettingsActivity : SimpleActivity + TooManyFunctions:TaskActivity.kt$TaskActivity : SimpleActivity + TooManyFunctions:WeekFragment.kt$WeekFragment : FragmentWeeklyCalendar + TooManyFunctions:WeekFragmentsHolder.kt$WeekFragmentsHolder : MyFragmentHolderWeekFragmentListener + TooManyFunctions:WidgetListConfigureActivity.kt$WidgetListConfigureActivity : SimpleActivity + TooManyFunctions:WidgetMonthlyConfigureActivity.kt$WidgetMonthlyConfigureActivity : SimpleActivityMonthlyCalendar + TooManyFunctions:YearFragmentsHolder.kt$YearFragmentsHolder : MyFragmentHolderNavigationListener + UnusedPrivateProperty:YearlyCalendarImpl.kt$YearlyCalendarImpl$i + VariableNaming:DayFragmentsHolder.kt$DayFragmentsHolder$private val PREFILLED_DAYS = 251 + VariableNaming:EventActivity.kt$EventActivity$private val LAT_LON_PATTERN = "^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?)([,;])\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)\$" + VariableNaming:EventActivity.kt$EventActivity$private val SELECT_TIME_ZONE_INTENT = 1 + VariableNaming:EventListWidgetAdapter.kt$EventListWidgetAdapter$private val ITEM_EVENT = 0 + VariableNaming:EventListWidgetAdapter.kt$EventListWidgetAdapter$private val ITEM_SECTION_DAY = 1 + VariableNaming:EventListWidgetAdapter.kt$EventListWidgetAdapter$private val ITEM_SECTION_MONTH = 2 + VariableNaming:EventTypePickerActivity.kt$EventTypePickerActivity$private val TYPE_EVENT = 0 + VariableNaming:EventTypePickerActivity.kt$EventTypePickerActivity$private val TYPE_TASK = 1 + VariableNaming:IcsExporter.kt$IcsExporter$private val MAX_LINE_LENGTH = 75 + VariableNaming:ManageEventTypesAdapter.kt$ManageEventTypesAdapter$private val DELETE_EVENTS = 1 + VariableNaming:ManageEventTypesAdapter.kt$ManageEventTypesAdapter$private val MOVE_EVENTS = 0 + VariableNaming:MonthDayFragmentsHolder.kt$MonthDayFragmentsHolder$private val PREFILLED_MONTHS = 251 + VariableNaming:MonthFragmentsHolder.kt$MonthFragmentsHolder$private val PREFILLED_MONTHS = 251 + VariableNaming:MonthlyCalendarImpl.kt$MonthlyCalendarImpl$private val DAYS_CNT = 42 + VariableNaming:MonthlyCalendarImpl.kt$MonthlyCalendarImpl$private val YEAR_PATTERN = "YYYY" + VariableNaming:MyWidgetDateProvider.kt$MyWidgetDateProvider$private val OPEN_APP_INTENT_ID = 1 + VariableNaming:MyWidgetListProvider.kt$MyWidgetListProvider$private val GO_TO_TODAY = "go_to_today" + VariableNaming:MyWidgetListProvider.kt$MyWidgetListProvider$private val LAUNCH_CAL = "launch_cal" + VariableNaming:MyWidgetListProvider.kt$MyWidgetListProvider$private val NEW_EVENT = "new_event" + VariableNaming:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$private val GO_TO_TODAY = "go_to_today" + VariableNaming:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$private val NEW_EVENT = "new_event" + VariableNaming:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$private val NEXT = "next" + VariableNaming:MyWidgetMonthlyProvider.kt$MyWidgetMonthlyProvider$private val PREV = "prev" + VariableNaming:SelectEventTypeDialog.kt$SelectEventTypeDialog$private val LAST_USED_EVENT_TYPE_ID = -1L + VariableNaming:SelectEventTypeDialog.kt$SelectEventTypeDialog$private val NEW_EVENT_TYPE_ID = -2L + VariableNaming:SettingsActivity.kt$SettingsActivity$private val GET_RINGTONE_URI = 1 + VariableNaming:SettingsActivity.kt$SettingsActivity$private val PICK_EVENTS_EXPORT_FILE_INTENT = 4 + VariableNaming:SettingsActivity.kt$SettingsActivity$private val PICK_EVENTS_IMPORT_SOURCE_INTENT = 3 + VariableNaming:SettingsActivity.kt$SettingsActivity$private val PICK_SETTINGS_IMPORT_SOURCE_INTENT = 2 + VariableNaming:SimpleActivity.kt$SimpleActivity$val CALDAV_REFRESH_DELAY = 3000L + VariableNaming:WeekFragment.kt$WeekFragment$private val MAX_SCALE_FACTOR = 5f + VariableNaming:WeekFragment.kt$WeekFragment$private val MIN_SCALE_DIFFERENCE = 0.02f + VariableNaming:WeekFragment.kt$WeekFragment$private val MIN_SCALE_FACTOR = 0.3f + VariableNaming:WeekFragment.kt$WeekFragment$private val PLUS_FADEOUT_DELAY = 5000L + VariableNaming:WeekFragment.kt$WeekFragment$private val SCALE_RANGE = MAX_SCALE_FACTOR - MIN_SCALE_FACTOR + VariableNaming:WeekFragment.kt$WeekFragment$private val WEEKLY_EVENT_ID_LABEL = "event_id_label" + VariableNaming:WeekFragmentsHolder.kt$WeekFragmentsHolder$private val MAX_SEEKBAR_VALUE = 14 + VariableNaming:WeekFragmentsHolder.kt$WeekFragmentsHolder$private val PREFILLED_WEEKS = 151 + VariableNaming:WeeklyViewGrid.kt$WeeklyViewGrid$private val ROWS_CNT = 24 + VariableNaming:YearFragmentsHolder.kt$YearFragmentsHolder$private val PREFILLED_YEARS = 61 + WildcardImport:Activity.kt$import org.fossify.calendar.helpers.* + WildcardImport:Activity.kt$import org.fossify.commons.extensions.* + WildcardImport:BootCompletedReceiver.kt$import org.fossify.calendar.extensions.* + WildcardImport:CalDAVHelper.kt$import android.provider.CalendarContract.* + WildcardImport:CalDAVHelper.kt$import org.fossify.calendar.extensions.* + WildcardImport:CalDAVHelper.kt$import org.fossify.calendar.models.* + WildcardImport:CalDAVHelper.kt$import org.fossify.commons.extensions.* + WildcardImport:Context.kt$import android.app.* + WildcardImport:Context.kt$import org.fossify.calendar.helpers.* + WildcardImport:Context.kt$import org.fossify.calendar.models.* + WildcardImport:Context.kt$import org.fossify.commons.extensions.* + WildcardImport:Context.kt$import org.fossify.commons.helpers.* + WildcardImport:CustomEventRepeatIntervalDialog.kt$import org.fossify.commons.extensions.* + WildcardImport:CustomPeriodPickerDialog.kt$import org.fossify.commons.extensions.* + WildcardImport:DayEventsAdapter.kt$import org.fossify.calendar.extensions.* + WildcardImport:DayFragment.kt$import org.fossify.calendar.helpers.* + WildcardImport:DayFragment.kt$import org.fossify.commons.extensions.* + WildcardImport:EditEventTypeDialog.kt$import org.fossify.commons.extensions.* + WildcardImport:Event.kt$import org.fossify.calendar.helpers.* + WildcardImport:EventActivity.kt$import org.fossify.calendar.dialogs.* + WildcardImport:EventActivity.kt$import org.fossify.calendar.extensions.* + WildcardImport:EventActivity.kt$import org.fossify.calendar.helpers.* + WildcardImport:EventActivity.kt$import org.fossify.calendar.models.* + WildcardImport:EventActivity.kt$import org.fossify.commons.extensions.* + WildcardImport:EventActivity.kt$import org.fossify.commons.helpers.* + WildcardImport:EventListAdapter.kt$import org.fossify.calendar.extensions.* + WildcardImport:EventListAdapter.kt$import org.fossify.calendar.helpers.* + WildcardImport:EventListFragment.kt$import org.fossify.calendar.extensions.* + WildcardImport:EventListFragment.kt$import org.fossify.calendar.helpers.* + WildcardImport:EventListFragment.kt$import org.fossify.commons.extensions.* + WildcardImport:EventListWidgetAdapter.kt$import org.fossify.calendar.extensions.* + WildcardImport:EventListWidgetAdapter.kt$import org.fossify.calendar.helpers.* + WildcardImport:EventListWidgetAdapter.kt$import org.fossify.calendar.models.* + WildcardImport:EventListWidgetAdapter.kt$import org.fossify.commons.extensions.* + WildcardImport:EventTypesDao.kt$import androidx.room.* + WildcardImport:EventsDao.kt$import org.fossify.calendar.helpers.* + WildcardImport:EventsHelper.kt$import org.fossify.calendar.extensions.* + WildcardImport:ExportEventsDialog.kt$import org.fossify.commons.extensions.* + WildcardImport:ImportEventsDialog.kt$import org.fossify.commons.extensions.* + WildcardImport:MainActivity.kt$import org.fossify.calendar.extensions.* + WildcardImport:MainActivity.kt$import org.fossify.calendar.fragments.* + WildcardImport:MainActivity.kt$import org.fossify.calendar.helpers.* + WildcardImport:MainActivity.kt$import org.fossify.commons.extensions.* + WildcardImport:MainActivity.kt$import org.fossify.commons.helpers.* + WildcardImport:ManageAutomaticBackupsDialog.kt$import org.fossify.commons.extensions.* + WildcardImport:ManageEventTypesAdapter.kt$import android.view.* + WildcardImport:ManageEventTypesAdapter.kt$import org.fossify.commons.extensions.* + WildcardImport:MonthDayFragment.kt$import org.fossify.calendar.extensions.* + WildcardImport:MonthView.kt$import android.graphics.* + WildcardImport:MonthView.kt$import org.fossify.calendar.extensions.* + WildcardImport:MonthView.kt$import org.fossify.commons.extensions.* + WildcardImport:MyWidgetMonthlyProvider.kt$import org.fossify.calendar.extensions.* + WildcardImport:MyWidgetMonthlyProvider.kt$import org.fossify.commons.extensions.* + WildcardImport:Parser.kt$import org.fossify.commons.helpers.* + WildcardImport:ReminderWarningDialog.kt$import org.fossify.commons.extensions.* + WildcardImport:RepeatLimitTypePickerDialog.kt$import org.fossify.commons.extensions.* + WildcardImport:SelectEventCalendarDialog.kt$import org.fossify.commons.extensions.* + WildcardImport:SelectEventTypeDialog.kt$import org.fossify.commons.extensions.* + WildcardImport:SetRemindersDialog.kt$import org.fossify.commons.extensions.* + WildcardImport:SettingsActivity.kt$import org.fossify.calendar.dialogs.* + WildcardImport:SettingsActivity.kt$import org.fossify.calendar.extensions.* + WildcardImport:SettingsActivity.kt$import org.fossify.calendar.helpers.* + WildcardImport:SettingsActivity.kt$import org.fossify.commons.dialogs.* + WildcardImport:SettingsActivity.kt$import org.fossify.commons.extensions.* + WildcardImport:SettingsActivity.kt$import org.fossify.commons.helpers.* + WildcardImport:SplashActivity.kt$import org.fossify.calendar.helpers.* + WildcardImport:TaskActivity.kt$import org.fossify.calendar.dialogs.* + WildcardImport:TaskActivity.kt$import org.fossify.calendar.extensions.* + WildcardImport:TaskActivity.kt$import org.fossify.calendar.helpers.* + WildcardImport:TaskActivity.kt$import org.fossify.commons.extensions.* + WildcardImport:TaskActivity.kt$import org.fossify.commons.helpers.* + WildcardImport:WeekFragment.kt$import android.view.* + WildcardImport:WeekFragment.kt$import org.fossify.calendar.databinding.* + WildcardImport:WeekFragment.kt$import org.fossify.calendar.extensions.* + WildcardImport:WeekFragment.kt$import org.fossify.calendar.helpers.* + WildcardImport:WeekFragment.kt$import org.fossify.commons.extensions.* + WildcardImport:WeekFragment.kt$import org.fossify.commons.helpers.* + WildcardImport:WeekFragmentsHolder.kt$import org.fossify.calendar.extensions.* + WildcardImport:WeekFragmentsHolder.kt$import org.fossify.commons.extensions.* + WildcardImport:WidgetDateConfigureActivity.kt$import org.fossify.commons.extensions.* + WildcardImport:WidgetListConfigureActivity.kt$import org.fossify.commons.extensions.* + WildcardImport:WidgetListConfigureActivity.kt$import org.fossify.commons.helpers.* + WildcardImport:WidgetMonthlyConfigureActivity.kt$import org.fossify.commons.extensions.* + + diff --git a/app/lint-baseline.xml b/app/lint-baseline.xml new file mode 100644 index 000000000..fcb0a4cbf --- /dev/null +++ b/app/lint-baseline.xml @@ -0,0 +1,5385 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build.gradle.kts b/build.gradle.kts index 287277090..004cb46c4 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,6 +2,7 @@ plugins { alias(libs.plugins.android).apply(false) alias(libs.plugins.kotlinAndroid).apply(false) alias(libs.plugins.ksp).apply(false) + alias(libs.plugins.detekt).apply(false) } tasks.register("clean") { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d3fdefe82..def2c3ffc 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,6 +3,8 @@ kotlin = "1.9.21" #KSP ksp = "1.9.21-1.0.16" +#Detekt +detekt = "1.23.3" #Androidx multidex = "2.0.1" print = "1.0.0" @@ -45,4 +47,4 @@ room = [ android = { id = "com.android.application", version.ref = "gradlePlugins-agp" } ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } kotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } - +detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" } From 7260560d0d502c4cec955ccbd28e9d99d061be35 Mon Sep 17 00:00:00 2001 From: Naveen Singh Date: Tue, 1 Oct 2024 20:12:27 +0530 Subject: [PATCH 35/38] Update image-minimizer.js --- .github/workflows/image-minimizer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/image-minimizer.js b/.github/workflows/image-minimizer.js index 6ec67b573..f81a49e15 100644 --- a/.github/workflows/image-minimizer.js +++ b/.github/workflows/image-minimizer.js @@ -34,7 +34,7 @@ module.exports = async ({github, context}) => { // Regex for finding images (simple variant) ![ALT_TEXT](https://*.githubusercontent.com//.) 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) From 2d0c378f915cfe3e33ee5587e22f11459286fa0a Mon Sep 17 00:00:00 2001 From: Ming Di Leom <43627182+curbengh@users.noreply.github.com> Date: Sat, 12 Oct 2024 11:30:33 +0000 Subject: [PATCH 36/38] feat(ics): bangladesh public holidays https://publicholidays.com.bd/2025-dates/ closes #304 --- app/src/main/assets/bangladesh.ics | 128 +++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 app/src/main/assets/bangladesh.ics diff --git a/app/src/main/assets/bangladesh.ics b/app/src/main/assets/bangladesh.ics new file mode 100644 index 000000000..857dc9d6f --- /dev/null +++ b/app/src/main/assets/bangladesh.ics @@ -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 From ef3e997672b83088838b16e595a88346923f3101 Mon Sep 17 00:00:00 2001 From: Naveen Singh Date: Sat, 26 Oct 2024 03:53:08 +0530 Subject: [PATCH 37/38] Reduce no-response duration to 14 days --- .github/workflows/no-response.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/no-response.yml b/.github/workflows/no-response.yml index eef815bdc..65ae5a77a 100644 --- a/.github/workflows/no-response.yml +++ b/.github/workflows/no-response.yml @@ -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 From 1d50f433663a34a0a8843a049c79b50406870cfa Mon Sep 17 00:00:00 2001 From: Naveen Singh <36371707+naveensingh@users.noreply.github.com> Date: Sun, 3 Nov 2024 09:57:01 -0500 Subject: [PATCH 38/38] Revert "Update belgium.ics" --- app/src/main/assets/belgium.ics | 555 +++++++++++++++++++++++--------- 1 file changed, 411 insertions(+), 144 deletions(-) diff --git a/app/src/main/assets/belgium.ics b/app/src/main/assets/belgium.ics index 1d182bd76..d89de89f5 100644 --- a/app/src/main/assets/belgium.ics +++ b/app/src/main/assets/belgium.ics @@ -2,317 +2,584 @@ BEGIN:VCALENDAR BEGIN:VEVENT STATUS:CONFIRMED UID:bel_1 -SUMMARY:New Year -RRULE:FREQ=YEARLY;BYMONTHDAY=1;BYMONTH=1 -DTSTART;VALUE=DATE:20250101 -DTEND;VALUE=DATE:20250102 +SUMMARY:HEMELVAART +DTSTART;VALUE=DATE:20110602 +DTEND;VALUE=DATE:20110603 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_2 -SUMMARY:Epiphany -RRULE:FREQ=YEARLY;BYMONTHDAY=6;BYMONTH=1 -DTSTART;VALUE=DATE:20250106 -DTEND;VALUE=DATE:20250107 +SUMMARY:PASEN +DTSTART;VALUE=DATE:20110424 +DTEND;VALUE=DATE:20110425 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_3 -SUMMARY:Valentine's Day -RRULE:FREQ=YEARLY;BYMONTHDAY=14;BYMONTH=2 -DTSTART;VALUE=DATE:20250214 -DTEND;VALUE=DATE:20250215 +SUMMARY:2de Paasdag +DTSTART;VALUE=DATE:20110425 +DTEND;VALUE=DATE:20110426 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_4 -SUMMARY:Labor Day -RRULE:FREQ=YEARLY;BYMONTHDAY=1;BYMONTH=5 -DTSTART;VALUE=DATE:20250501 -DTEND;VALUE=DATE:20250502 +SUMMARY:PASEN +DTSTART;VALUE=DATE:20120408 +DTEND;VALUE=DATE:20120409 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_5 -SUMMARY:Iris Day (Brussels) -RRULE:FREQ=YEARLY;BYMONTHDAY=8;BYMONTH=5 -DTSTART;VALUE=DATE:20250508 -DTEND;VALUE=DATE:20250509 +SUMMARY:2de PAASDAG +DTSTART;VALUE=DATE:20120409 +DTEND;VALUE=DATE:20120410 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_6 -SUMMARY:Day of the Flemish Community -RRULE:FREQ=YEARLY;BYMONTHDAY=11;BYMONTH=7 -DTSTART;VALUE=DATE:20240711 -DTEND;VALUE=DATE:20240712 +SUMMARY:PASEN +DTSTART;VALUE=DATE:20130331 +DTEND;VALUE=DATE:20130401 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_7 -SUMMARY:Belgian National Day -RRULE:FREQ=YEARLY;BYMONTHDAY=21;BYMONTH=7 -DTSTART;VALUE=DATE:20240721 -DTEND;VALUE=DATE:20240722 +SUMMARY:2de PAASDAG +DTSTART;VALUE=DATE:20130401 +DTEND;VALUE=DATE:20130402 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_8 -SUMMARY:Assumption of Mary -RRULE:FREQ=YEARLY;BYMONTHDAY=15;BYMONTH=8 -DTSTART;VALUE=DATE:20240815 -DTEND;VALUE=DATE:20240816 +SUMMARY:PASEN +DTSTART;VALUE=DATE:20140420 +DTEND;VALUE=DATE:20140421 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_9 -SUMMARY:Day of the French Community -RRULE:FREQ=YEARLY;BYMONTHDAY=27;BYMONTH=9 -DTSTART;VALUE=DATE:20240927 -DTEND;VALUE=DATE:20240928 +SUMMARY:2de PAASDAG +DTSTART;VALUE=DATE:20140421 +DTEND;VALUE=DATE:20140422 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_10 -SUMMARY:Halloween -RRULE:FREQ=YEARLY;BYMONTHDAY=31;BYMONTH=10 -DTSTART;VALUE=DATE:20241031 -DTEND;VALUE=DATE:20241101 +SUMMARY:HEMELVAART +DTSTART;VALUE=DATE:20140529 +DTEND;VALUE=DATE:20140530 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_11 -SUMMARY:All Saints' Day -RRULE:FREQ=YEARLY;BYMONTHDAY=1;BYMONTH=11 -DTSTART;VALUE=DATE:20241101 -DTEND;VALUE=DATE:20241102 +SUMMARY:PINKSTEREN +DTSTART;VALUE=DATE:20140608 +DTEND;VALUE=DATE:20140609 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_12 -SUMMARY:Armistice Day -RRULE:FREQ=YEARLY;BYMONTHDAY=11;BYMONTH=11 -DTSTART;VALUE=DATE:20241111 -DTEND;VALUE=DATE:20241112 +SUMMARY:2de PINKSTERENDAG +DTSTART;VALUE=DATE:20140609 +DTEND;VALUE=DATE:20140610 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_13 -SUMMARY:Day of the German-speaking Community -RRULE:FREQ=YEARLY;BYMONTHDAY=15;BYMONTH=11 -DTSTART;VALUE=DATE:20241115 -DTEND;VALUE=DATE:20241116 +SUMMARY:PINKSTEREN +DTSTART;VALUE=DATE:20130519 +DTEND;VALUE=DATE:20130520 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_14 -SUMMARY:Saint Nicholas -RRULE:FREQ=YEARLY;BYMONTHDAY=6;BYMONTH=12 -DTSTART;VALUE=DATE:20241206 -DTEND;VALUE=DATE:20241207 +SUMMARY:2de PINKSTERENDAG +DTSTART;VALUE=DATE:20130520 +DTEND;VALUE=DATE:20130521 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_15 -SUMMARY:Christmas -RRULE:FREQ=YEARLY;BYMONTHDAY=25;BYMONTH=12 -DTSTART;VALUE=DATE:20241225 -DTEND;VALUE=DATE:20241226 +SUMMARY:PINKSTEREN +DTSTART;VALUE=DATE:20120527 +DTEND;VALUE=DATE:20120528 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_16 -SUMMARY:Easter Sunday -DTSTART;VALUE=DATE:20250420 -DTEND;VALUE=DATE:20250421 +SUMMARY:2de PINKSTERENDAG +DTSTART;VALUE=DATE:20120528 +DTEND;VALUE=DATE:20120529 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_17 -SUMMARY:Easter Sunday -DTSTART;VALUE=DATE:20260405 -DTEND;VALUE=DATE:20260406 +SUMMARY:PINKSTEREN +DTSTART;VALUE=DATE:20110612 +DTEND;VALUE=DATE:20110613 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_18 -SUMMARY:Easter Sunday -DTSTART;VALUE=DATE:20270328 -DTEND;VALUE=DATE:20270329 +SUMMARY:2de PINKSTERENDAG +DTSTART;VALUE=DATE:20110613 +DTEND;VALUE=DATE:20110614 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_19 -SUMMARY:Easter Sunday -DTSTART;VALUE=DATE:20280416 -DTEND;VALUE=DATE:20280417 +SUMMARY:PASEN +DTSTART;VALUE=DATE:20150405 +DTEND;VALUE=DATE:20150406 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_20 -SUMMARY:Easter Monday -DTSTART;VALUE=DATE:20250421 -DTEND;VALUE=DATE:20250422 +SUMMARY:2de PAASDAG +DTSTART;VALUE=DATE:20150406 +DTEND;VALUE=DATE:20150407 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_21 -SUMMARY:Easter Monday -DTSTART;VALUE=DATE:20260406 -DTEND;VALUE=DATE:20260407 +SUMMARY:HEMELVAART +DTSTART;VALUE=DATE:20150514 +DTEND;VALUE=DATE:20150515 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_22 -SUMMARY:Easter Monday -DTSTART;VALUE=DATE:20270329 -DTEND;VALUE=DATE:20270330 +SUMMARY:PINKSTEREN +DTSTART;VALUE=DATE:20150524 +DTEND;VALUE=DATE:20150525 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_23 -SUMMARY:Easter Monday -DTSTART;VALUE=DATE:20280417 -DTEND;VALUE=DATE:20280418 +SUMMARY:2de PINKSTERENDAG +DTSTART;VALUE=DATE:20150525 +DTEND;VALUE=DATE:20150526 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_24 -SUMMARY:Mother's Day -DTSTART;VALUE=DATE:20250511 -DTEND;VALUE=DATE:20250512 +SUMMARY:PASEN +DTSTART;VALUE=DATE:20160327 +DTEND;VALUE=DATE:20160328 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_25 -SUMMARY:Mother's Day -DTSTART;VALUE=DATE:20260510 -DTEND;VALUE=DATE:20260511 +SUMMARY:2de PAASDAG +DTSTART;VALUE=DATE:20160328 +DTEND;VALUE=DATE:20160329 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_26 -SUMMARY:Mother's Day -DTSTART;VALUE=DATE:20270509 -DTEND;VALUE=DATE:20270510 +SUMMARY:PINKSTEREN +DTSTART;VALUE=DATE:20160515 +DTEND;VALUE=DATE:20160516 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_27 -SUMMARY:Mother's Day -DTSTART;VALUE=DATE:20280514 -DTEND;VALUE=DATE:20280515 +SUMMARY:2de PINKSTERENDAG +DTSTART;VALUE=DATE:20160516 +DTEND;VALUE=DATE:20160517 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_28 -SUMMARY:Ascension -DTSTART;VALUE=DATE:20250529 -DTEND;VALUE=DATE:20250530 +SUMMARY:HEMELVAART +DTSTART;VALUE=DATE:20160505 +DTEND;VALUE=DATE:20160506 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_29 -SUMMARY:Ascension -DTSTART;VALUE=DATE:20260514 -DTEND;VALUE=DATE:20260515 +SUMMARY:PASEN +DTSTART;VALUE=DATE:20170416 +DTEND;VALUE=DATE:20170417 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_30 -SUMMARY:Ascension -DTSTART;VALUE=DATE:20270506 -DTEND;VALUE=DATE:20270507 +SUMMARY:2de PAASDAG +DTSTART;VALUE=DATE:20170417 +DTEND;VALUE=DATE:20170418 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_31 -SUMMARY:Ascension -DTSTART;VALUE=DATE:20280514 -DTEND;VALUE=DATE:20280515 +SUMMARY:HEMELVAART +DTSTART;VALUE=DATE:20170525 +DTEND;VALUE=DATE:20170526 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_32 -SUMMARY:Father's Day -DTSTART;VALUE=DATE:20250608 -DTEND;VALUE=DATE:20250609 +SUMMARY:PINKSTEREN +DTSTART;VALUE=DATE:20170604 +DTEND;VALUE=DATE:20170605 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_33 -SUMMARY:Father's Day -DTSTART;VALUE=DATE:20260614 -DTEND;VALUE=DATE:20260615 +SUMMARY:2de PINKSTERENDAG +DTSTART;VALUE=DATE:20170605 +DTEND;VALUE=DATE:20170606 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_34 -SUMMARY:Father's Day -DTSTART;VALUE=DATE:20270613 -DTEND;VALUE=DATE:20270614 +SUMMARY:PASEN +DTSTART;VALUE=DATE:20180401 +DTEND;VALUE=DATE:20180402 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_35 -SUMMARY:Father's Day -DTSTART;VALUE=DATE:20280611 -DTEND;VALUE=DATE:20280612 +SUMMARY:2de PAASDAG +DTSTART;VALUE=DATE:20180402 +DTEND;VALUE=DATE:20180403 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_36 -SUMMARY:Whit Sunday -DTSTART;VALUE=DATE:20250608 -DTEND;VALUE=DATE:20250609 +SUMMARY:HEMELVAART +DTSTART;VALUE=DATE:20180510 +DTEND;VALUE=DATE:20180511 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_37 -SUMMARY:Whit Sunday -DTSTART;VALUE=DATE:20260524 -DTEND;VALUE=DATE:20260525 +SUMMARY:PINKSTEREN +DTSTART;VALUE=DATE:20180520 +DTEND;VALUE=DATE:20180521 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_38 -SUMMARY:Whit Sunday -DTSTART;VALUE=DATE:20270516 -DTEND;VALUE=DATE:20270517 +SUMMARY:2de PINKSTERENDAG +DTSTART;VALUE=DATE:20180521 +DTEND;VALUE=DATE:20180522 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_39 -SUMMARY:Whit Sunday -DTSTART;VALUE=DATE:20280604 -DTEND;VALUE=DATE:20280605 +SUMMARY:HEMELVAART +DTSTART;VALUE=DATE:20190523 +DTEND;VALUE=DATE:20190524 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_40 -SUMMARY:Whit Monday -DTSTART;VALUE=DATE:20250609 -DTEND;VALUE=DATE:20250610 +SUMMARY:PINKSTEREN +DTSTART;VALUE=DATE:20190602 +DTEND;VALUE=DATE:20190603 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_41 -SUMMARY:Whit Monday -DTSTART;VALUE=DATE:20260425 -DTEND;VALUE=DATE:20260426 +SUMMARY:2de PINKSTERENDAG +DTSTART;VALUE=DATE:20190603 +DTEND;VALUE=DATE:20190604 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_42 -SUMMARY:Whit Monday -DTSTART;VALUE=DATE:20270517 -DTEND;VALUE=DATE:20270518 +SUMMARY:PASEN +DTSTART;VALUE=DATE:20200412 +DTEND;VALUE=DATE:20200413 END:VEVENT BEGIN:VEVENT STATUS:CONFIRMED UID:bel_43 -SUMMARY:Whit Monday -DTSTART;VALUE=DATE:20280605 -DTEND;VALUE=DATE:20280606 +SUMMARY:2de PAASDAG +DTSTART;VALUE=DATE:20200413 +DTEND;VALUE=DATE:20200414 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_44 +SUMMARY:PASEN +DTSTART;VALUE=DATE:20190421 +DTEND;VALUE=DATE:20190422 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_45 +SUMMARY:2de PAASDAG +DTSTART;VALUE=DATE:20190422 +DTEND;VALUE=DATE:20190423 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_46 +SUMMARY:PASEN +DTSTART;VALUE=DATE:20210404 +DTEND;VALUE=DATE:20210405 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_47 +SUMMARY:2de PAASDAG +DTSTART;VALUE=DATE:20210405 +DTEND;VALUE=DATE:20210406 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_48 +SUMMARY:PASEN +DTSTART;VALUE=DATE:20220417 +DTEND;VALUE=DATE:20220418 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_49 +SUMMARY:2de PAASDAG +DTSTART;VALUE=DATE:20220418 +DTEND;VALUE=DATE:20220419 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_50 +SUMMARY:HEMELVAART +DTSTART;VALUE=DATE:20220526 +DTEND;VALUE=DATE:20220527 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_51 +SUMMARY:PINKSTEREN +DTSTART;VALUE=DATE:20220605 +DTEND;VALUE=DATE:20220606 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_52 +SUMMARY:2de PINKSTERENDAG +DTSTART;VALUE=DATE:20220606 +DTEND;VALUE=DATE:20220607 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_53 +SUMMARY:HEMELVAART +DTSTART;VALUE=DATE:20210513 +DTEND;VALUE=DATE:20210514 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_54 +SUMMARY:PINKSTEREN +DTSTART;VALUE=DATE:20210523 +DTEND;VALUE=DATE:20210524 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_55 +SUMMARY:2de PINKSTERENDAG +DTSTART;VALUE=DATE:20210524 +DTEND;VALUE=DATE:20210525 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_56 +SUMMARY:HEMELVAART +DTSTART;VALUE=DATE:20200521 +DTEND;VALUE=DATE:20200522 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_57 +SUMMARY:PINKSTEREN +DTSTART;VALUE=DATE:20200531 +DTEND;VALUE=DATE:20200601 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_58 +SUMMARY:2de PINKSTERENDAG +DTSTART;VALUE=DATE:20200601 +DTEND;VALUE=DATE:20200602 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_59 +SUMMARY:Aswoensdag +DTSTART;VALUE=DATE:20110309 +DTEND;VALUE=DATE:20110310 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_60 +SUMMARY:Aswoensdag +DTSTART:20120222T090000 +DTEND:20120222T110000 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_61 +SUMMARY:Aswoensdag +DTSTART;VALUE=DATE:20140305 +DTEND;VALUE=DATE:20140306 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_62 +SUMMARY:Aswoensdag +DTSTART;VALUE=DATE:20150211 +DTEND;VALUE=DATE:20150212 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_63 +SUMMARY:Aswoensdag +DTSTART;VALUE=DATE:20160210 +DTEND;VALUE=DATE:20160211 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_64 +SUMMARY:Aswoensdag +DTSTART;VALUE=DATE:20180214 +DTEND;VALUE=DATE:20180215 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_65 +SUMMARY:Aswoensdag +DTSTART;VALUE=DATE:20130213 +DTEND;VALUE=DATE:20130214 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_66 +SUMMARY:Aswoensdag +DTSTART;VALUE=DATE:20190306 +DTEND;VALUE=DATE:20190307 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_67 +SUMMARY:Aswoensdag +DTSTART;VALUE=DATE:20200226 +DTEND;VALUE=DATE:20200227 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_68 +SUMMARY:Aswoensdag +DTSTART;VALUE=DATE:20170301 +DTEND;VALUE=DATE:20170302 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_69 +SUMMARY:Aswoensdag +DTSTART;VALUE=DATE:20210217 +DTEND;VALUE=DATE:20210218 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_70 +SUMMARY:Aswoensdag +DTSTART;VALUE=DATE:20220302 +DTEND;VALUE=DATE:20220303 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_71 +SUMMARY:HEMELVAART +DTSTART;VALUE=DATE:20120517 +DTEND;VALUE=DATE:20120518 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_72 +SUMMARY:HEMELVAART +DTSTART;VALUE=DATE:20130509 +DTEND;VALUE=DATE:20130510 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_73 +SUMMARY:Valentijn +DTSTART;VALUE=DATE:20190314 +DTEND;VALUE=DATE:20190315 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_74 +SUMMARY:NIEUWJAAR +RRULE:FREQ=YEARLY;BYMONTHDAY=1;BYMONTH=1 +DTSTART;VALUE=DATE:20110101 +DTEND;VALUE=DATE:20110102 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_75 +SUMMARY:NATIONALE FEESTDAG +RRULE:FREQ=YEARLY;BYMONTHDAY=21;BYMONTH=7 +DTSTART;VALUE=DATE:20110721 +DTEND;VALUE=DATE:20110722 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_76 +SUMMARY:ONZE LIEVE VROUW HEMELVAART +RRULE:FREQ=YEARLY;BYMONTHDAY=15;BYMONTH=8 +DTSTART;VALUE=DATE:20110815 +DTEND;VALUE=DATE:20110816 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_77 +SUMMARY:ALLERHEILIGEN +RRULE:FREQ=YEARLY;BYMONTHDAY=1;BYMONTH=11 +DTSTART;VALUE=DATE:20111101 +DTEND;VALUE=DATE:20111102 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_78 +SUMMARY:WAPENSTILSTAND +RRULE:FREQ=YEARLY;BYMONTHDAY=11;BYMONTH=11 +DTSTART;VALUE=DATE:20111111 +DTEND;VALUE=DATE:20111112 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_79 +SUMMARY:KERSTMIS +RRULE:FREQ=YEARLY;BYMONTHDAY=25;BYMONTH=12 +DTSTART;VALUE=DATE:20111225 +DTEND;VALUE=DATE:20111226 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_80 +SUMMARY:Vlaamse feestdag +RRULE:FREQ=YEARLY;BYMONTHDAY=11;BYMONTH=7 +DTSTART;VALUE=DATE:20110711 +DTEND;VALUE=DATE:20110712 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_81 +SUMMARY:Valentijn +RRULE:FREQ=YEARLY;BYMONTHDAY=14;BYMONTH=2 +DTSTART;VALUE=DATE:20120214 +DTEND;VALUE=DATE:20120215 +END:VEVENT +BEGIN:VEVENT +STATUS:CONFIRMED +UID:bel_82 +SUMMARY:FEEST VAN DE ARBEID +RRULE:FREQ=YEARLY;BYMONTHDAY=1;BYMONTH=5 +DTSTART;VALUE=DATE:20110501 +DTEND;VALUE=DATE:20110502 END:VEVENT END:VCALENDAR