From 28cd312c786e533ddb6bc24c7738dec513d28925 Mon Sep 17 00:00:00 2001 From: zmni Date: Sun, 15 Dec 2019 17:57:52 +0700 Subject: [PATCH 01/60] Update Indonesian translation --- app/src/main/res/values-id/strings.xml | 12 ++++++------ app/src/main/res/values-in/strings.xml | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index 7f793d2ea..9418bfcfa 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -110,7 +110,7 @@ Diundang - Enter a country or time zone + Masukkan nama negara atau zona waktu Impor acara @@ -192,7 +192,7 @@ Terakhir digunakan Waktu lainnya Sorot akhir pekan pada beberapa tampilan - Allow changing event time zones + Izinkan mengubah zona waktu acara CalDAV @@ -239,15 +239,15 @@ Saya melihat pengingat secara visual, tetapi tidak mendengar suara. Apa yang bisa saya lakukan? Tidak hanya menampilkan notifikasi pengingat, memutar audio juga sangat dipengaruhi oleh sistem. Jika anda tidak bisa mendengar suara apapun, coba buka pengaturan aplikasi, tekan opsi \"Audio yang digunakan oleh pengingat\"dan ubah ke nilai yang berbeda. Jika masih belum bisa, periksa pengaturan suara perangkat anda, mungkin ada opsi suara yang disenyapkan. - Does the app support time zones? - Yes, it does. By default all events are created in your current time zone. If you want to change an events\' time zone, - you will first have to enable the time zone picker at the app settings, then change it at the Event Details screen. It is disabled by default as most people won\'t need it. + Apakah apl mendukung zona waktu? + Ya. Secara bawaan semua acara dibuat dalam zona waktu anda saat ini. Jika anda ingin mengubah zona waktu acara, + anda harus terlebih dahulu mengaktifkan opsi pemilih zona waktu di dalam pengaturan apl, dan anda bisa mengubahnya di layar Detail Acara. Fitur ini dinonaktifkan secara bawaan karena tidak banyak orang yang membutuhkannya. Simple Calendar Pro - Acara & Pengingat - Be notified of the important moments in your life. + Selalu mengingatkan semua momen penting dalam hidup anda. Simple Calendar Pro adalah kalender luring sederhana yang mudah digunakan dan dibuat sesuai dengan fungsi-fungsi dasar sebuah kalender. Tanpa fitur yang terlalu rumit, perizinan yang tidak diperlukan dan sama sekali tanpa iklan! diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 7f793d2ea..9418bfcfa 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -110,7 +110,7 @@ Diundang - Enter a country or time zone + Masukkan nama negara atau zona waktu Impor acara @@ -192,7 +192,7 @@ Terakhir digunakan Waktu lainnya Sorot akhir pekan pada beberapa tampilan - Allow changing event time zones + Izinkan mengubah zona waktu acara CalDAV @@ -239,15 +239,15 @@ Saya melihat pengingat secara visual, tetapi tidak mendengar suara. Apa yang bisa saya lakukan? Tidak hanya menampilkan notifikasi pengingat, memutar audio juga sangat dipengaruhi oleh sistem. Jika anda tidak bisa mendengar suara apapun, coba buka pengaturan aplikasi, tekan opsi \"Audio yang digunakan oleh pengingat\"dan ubah ke nilai yang berbeda. Jika masih belum bisa, periksa pengaturan suara perangkat anda, mungkin ada opsi suara yang disenyapkan. - Does the app support time zones? - Yes, it does. By default all events are created in your current time zone. If you want to change an events\' time zone, - you will first have to enable the time zone picker at the app settings, then change it at the Event Details screen. It is disabled by default as most people won\'t need it. + Apakah apl mendukung zona waktu? + Ya. Secara bawaan semua acara dibuat dalam zona waktu anda saat ini. Jika anda ingin mengubah zona waktu acara, + anda harus terlebih dahulu mengaktifkan opsi pemilih zona waktu di dalam pengaturan apl, dan anda bisa mengubahnya di layar Detail Acara. Fitur ini dinonaktifkan secara bawaan karena tidak banyak orang yang membutuhkannya. Simple Calendar Pro - Acara & Pengingat - Be notified of the important moments in your life. + Selalu mengingatkan semua momen penting dalam hidup anda. Simple Calendar Pro adalah kalender luring sederhana yang mudah digunakan dan dibuat sesuai dengan fungsi-fungsi dasar sebuah kalender. Tanpa fitur yang terlalu rumit, perizinan yang tidak diperlukan dan sama sekali tanpa iklan! From 2c1e5d0aa08a6218bba09b388a936f6008f01938 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 15 Dec 2019 14:47:36 +0100 Subject: [PATCH 02/60] updating the indonesian short app description --- fastlane/metadata/android/id/short_description.txt | 2 +- fastlane/metadata/android/in/short_description.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fastlane/metadata/android/id/short_description.txt b/fastlane/metadata/android/id/short_description.txt index 91519cd1d..921aece5f 100644 --- a/fastlane/metadata/android/id/short_description.txt +++ b/fastlane/metadata/android/id/short_description.txt @@ -1 +1 @@ -Kalender yang indah tanpa iklan, 100% garansi uang kembali. +Selalu mengingatkan semua momen penting dalam hidup anda. diff --git a/fastlane/metadata/android/in/short_description.txt b/fastlane/metadata/android/in/short_description.txt index 91519cd1d..921aece5f 100644 --- a/fastlane/metadata/android/in/short_description.txt +++ b/fastlane/metadata/android/in/short_description.txt @@ -1 +1 @@ -Kalender yang indah tanpa iklan, 100% garansi uang kembali. +Selalu mengingatkan semua momen penting dalam hidup anda. From c52a6e6b789642db54dae38f5b68c2ee9e98d848 Mon Sep 17 00:00:00 2001 From: fricyo <30796677+fricyo@users.noreply.github.com> Date: Mon, 16 Dec 2019 18:33:39 +0800 Subject: [PATCH 03/60] Update Translation --- app/src/main/res/values-zh-rTW/strings.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index ddf47da6e..e8d7291a8 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -110,7 +110,7 @@ 被邀請 - Enter a country or time zone + 輸入國家或時區 匯入活動 @@ -192,7 +192,7 @@ 最後使用 其他時間 在檢視畫面突顯假日 - Allow changing event time zones + 允許改變活動的時區 CalDAV @@ -239,15 +239,15 @@ 我看到了視覺的提醒,但沒聽到音效。我能怎麼辦? 不只是顯示實際的提醒,播放音效也受到系統極大的影響。如果你聽不到任何聲音,試著到應用程式設定, 按\"用於提醒的音源串流\"選項,然後更改成不同數值。如果還是沒有用,檢查你的音量設定,指定串流是不是靜音的。 - Does the app support time zones? - Yes, it does. By default all events are created in your current time zone. If you want to change an events\' time zone, - you will first have to enable the time zone picker at the app settings, then change it at the Event Details screen. It is disabled by default as most people won\'t need it. + 這程式支援時區嗎? + 是的,辦得到。預設全部的活動建立於你目前的時區。如果你要改變活動的時區, + 首先必須在程式設定中啟用時區選擇,然後到「活動詳細資訊」畫面去改變。由於大部分的人不需要,預設是停用的。 簡易行事曆 Pro - 活動和約會 - Be notified of the important moments in your life. + 通知你生命中的重要時刻。 簡易行事曆Pro是一個高度自訂化,完全旨在於行事曆應該做什麼的離線行事曆。 沒有複雜的功能、非必要的權限和廣告! From 6b141cb402a16f01c1a394bb3bea8f27a79070b4 Mon Sep 17 00:00:00 2001 From: 10cents Date: Mon, 16 Dec 2019 12:43:52 +0100 Subject: [PATCH 04/60] enter_a_country --- app/src/main/res/values-da/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 8cec67a30..d85029048 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -110,7 +110,7 @@ Inviteret - Enter a country or time zone + Indtast et land eller en tidzone Importer begivenheder From 710e2a0c72c53a93c87f2ed7fa41268bc524b48e Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 16 Dec 2019 17:25:56 +0100 Subject: [PATCH 05/60] updating the chinese app shrot description --- fastlane/metadata/android/zh-rTW/short_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/zh-rTW/short_description.txt b/fastlane/metadata/android/zh-rTW/short_description.txt index 60f3deaa3..d1ea8b78e 100644 --- a/fastlane/metadata/android/zh-rTW/short_description.txt +++ b/fastlane/metadata/android/zh-rTW/short_description.txt @@ -1 +1 @@ -一個沒有廣告而且美麗的日曆,100%保證退款。 +通知你生命中的重要時刻。 From 5078fa11c0046c79071cb7c5682db1582aeeb978 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 18 Dec 2019 12:05:56 +0100 Subject: [PATCH 06/60] updating commons --- app/build.gradle | 2 +- .../calendar/pro/adapters/DayEventsAdapter.kt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 16d3eaedd..cb8d0ff3a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -58,7 +58,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.20.10' + implementation 'com.simplemobiletools:commons:5.21.0' implementation 'joda-time:joda-time:2.10.1' implementation 'androidx.multidex:multidex:2.0.1' implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta2' diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/adapters/DayEventsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/adapters/DayEventsAdapter.kt index 321bf1b0a..0fbab41de 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/adapters/DayEventsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/adapters/DayEventsAdapter.kt @@ -58,7 +58,7 @@ class DayEventsAdapter(activity: SimpleActivity, val events: ArrayList, r override fun onActionModeDestroyed() {} - override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyRecyclerViewAdapter.ViewHolder { + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { val layoutId = when (viewType) { ITEM_EVENT -> R.layout.event_item_day_view else -> R.layout.event_item_day_view_simple @@ -66,7 +66,7 @@ class DayEventsAdapter(activity: SimpleActivity, val events: ArrayList, r return createViewHolder(layoutId, parent) } - override fun onBindViewHolder(holder: MyRecyclerViewAdapter.ViewHolder, position: Int) { + override fun onBindViewHolder(holder: ViewHolder, position: Int) { val event = events[position] holder.bindView(event, true, true) { itemView, layoutPosition -> setupView(itemView, event) From eb9619dbd9d469fce4650f27ae95a53f7a66fc98 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 18 Dec 2019 12:08:56 +0100 Subject: [PATCH 07/60] get proper event time zone at saving --- .../simplemobiletools/calendar/pro/activities/EventActivity.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt index bd7f6dd6c..61eb2071e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt @@ -916,7 +916,7 @@ class EventActivity : SimpleActivity() { val offset = if (!config.allowChangingTimeZones || mEvent.getTimeZoneString().equals(mOriginalTimeZone, true)) { 0 } else { - (DateTimeZone.forID(mEvent.timeZone).getOffset(System.currentTimeMillis()) - DateTimeZone.forID(mOriginalTimeZone).getOffset(System.currentTimeMillis())) / 1000L + (DateTimeZone.forID(mEvent.getTimeZoneString()).getOffset(System.currentTimeMillis()) - DateTimeZone.forID(mOriginalTimeZone).getOffset(System.currentTimeMillis())) / 1000L } val newStartTS = mEventStartDateTime.withSecondOfMinute(0).withMillisOfSecond(0).seconds() - offset From af7ade116263e108e874a239bbcf3e1dd02301e7 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 18 Dec 2019 17:48:36 +0100 Subject: [PATCH 08/60] add a default event time zone to events imported from .ics files --- .../com/simplemobiletools/calendar/pro/helpers/IcsImporter.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/IcsImporter.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/IcsImporter.kt index 775afbbff..7bf358760 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/IcsImporter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/IcsImporter.kt @@ -11,6 +11,7 @@ import com.simplemobiletools.calendar.pro.models.EventType import com.simplemobiletools.calendar.pro.models.Reminder import com.simplemobiletools.commons.extensions.areDigitsOnly import com.simplemobiletools.commons.extensions.showErrorToast +import org.joda.time.DateTimeZone import java.io.File class IcsImporter(val activity: SimpleActivity) { @@ -180,7 +181,7 @@ class IcsImporter(val activity: SimpleActivity) { val source = if (calDAVCalendarId == 0 || eventType?.isSyncedEventType() == false) SOURCE_IMPORTED_ICS else "$CALDAV-$calDAVCalendarId" val event = Event(null, curStart, curEnd, curTitle, curLocation, curDescription, reminders[0].minutes, reminders[1].minutes, reminders[2].minutes, reminders[0].type, reminders[1].type, reminders[2].type, curRepeatInterval, curRepeatRule, - curRepeatLimit, curRepeatExceptions, "", curImportId, "", curFlags, curEventTypeId, 0, curLastModified, source) + curRepeatLimit, curRepeatExceptions, "", curImportId, DateTimeZone.getDefault().id, curFlags, curEventTypeId, 0, curLastModified, source) if (event.getIsAllDay() && curEnd > curStart) { event.endTS -= DAY From d379c22f0d256949329544cec9fdc96726a8d911 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 18 Dec 2019 19:55:38 +0100 Subject: [PATCH 09/60] fix #1039, fixing a weekly repetition glitch --- .../com/simplemobiletools/calendar/pro/models/Event.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/models/Event.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/models/Event.kt index 026cb63ae..abc3f4897 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/models/Event.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/models/Event.kt @@ -150,9 +150,9 @@ data class Event( // check if its the proper week, for events repeating every x weeks // get the week number since 1970, not just in the current year fun isOnProperWeek(startTimes: LongSparseArray): Boolean { - val initialWeekNumber = Formatter.getDateTimeFromTS(startTimes[id!!]!!).millis / (7 * 24 * 60 * 60 * 1000) - val currentWeekNumber = Formatter.getDateTimeFromTS(startTS).millis / (7 * 24 * 60 * 60 * 1000) - return (initialWeekNumber - currentWeekNumber) % (repeatInterval / WEEK) == 0L + val initialWeekNumber = Formatter.getDateTimeFromTS(startTimes[id!!]!!).millis / (7 * 24 * 60 * 60 * 1000f) + val currentWeekNumber = Formatter.getDateTimeFromTS(startTS).millis / (7 * 24 * 60 * 60 * 1000f) + return (Math.round(initialWeekNumber) - Math.round(currentWeekNumber)) % (repeatInterval / WEEK) == 0 } fun updateIsPastEvent() { From d20a6ef4af4a9719945500a069bf91d2abd21b40 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 18 Dec 2019 20:54:00 +0100 Subject: [PATCH 10/60] fix #1028, correcting some holidays in South Korea --- app/src/main/assets/southkorea.ics | 63 ++++++------------------------ 1 file changed, 11 insertions(+), 52 deletions(-) diff --git a/app/src/main/assets/southkorea.ics b/app/src/main/assets/southkorea.ics index 014e7487d..36b09edcb 100755 --- a/app/src/main/assets/southkorea.ics +++ b/app/src/main/assets/southkorea.ics @@ -23,8 +23,8 @@ END:VEVENT BEGIN:VEVENT SUMMARY:설날 Lunar New Year's Day UID:3d064a26-70f2-431a-985a-ffd27be9e210 -DTSTART;VALUE=DATE:20190205 -DTEND;VALUE=DATE:20190206 +DTSTART;VALUE=DATE:20190204 +DTEND;VALUE=DATE:20190207 STATUS:CONFIRMED END:VEVENT BEGIN:VEVENT @@ -44,8 +44,15 @@ END:VEVENT BEGIN:VEVENT SUMMARY:추석(한가위) Harvest Festival UID:14bd697c-a319-47fd-9abc-fdff74be58e5 -DTSTART;VALUE=DATE:20201001 -DTEND;VALUE=DATE:20201002 +DTSTART;VALUE=DATE:20200930 +DTEND;VALUE=DATE:20201003 +STATUS:CONFIRMED +END:VEVENT +BEGIN:VEVENT +SUMMARY:추석(한가위) Harvest Festival +UID:14bd697c-a319-47fd-9abc-fdffse58aa +DTSTART;VALUE=DATE:20210920 +DTEND;VALUE=DATE:20210923 STATUS:CONFIRMED END:VEVENT BEGIN:VEVENT @@ -65,14 +72,6 @@ STATUS:CONFIRMED RRULE:FREQ=YEARLY;INTERVAL=1 END:VEVENT BEGIN:VEVENT -SUMMARY:식목일 Arbor Day -UID:5ae39a0f-5ef9-44d9-9dd5-e90049578e07 -DTSTART;VALUE=DATE:20000405 -DTEND;VALUE=DATE:20000406 -STATUS:CONFIRMED -RRULE:FREQ=YEARLY;INTERVAL=1 -END:VEVENT -BEGIN:VEVENT SUMMARY:어린이 날 Children's Day UID:5a0c39c0-da3b-407d-824b-890c6b82bd95 DTSTART;VALUE=DATE:20000505 @@ -81,22 +80,6 @@ STATUS:CONFIRMED RRULE:FREQ=YEARLY;INTERVAL=1 END:VEVENT BEGIN:VEVENT -SUMMARY:어버이 날 Paren't Day -UID:741d7127-995f-43e0-a014-04280dcbb661 -DTSTART;VALUE=DATE:20000510 -DTEND;VALUE=DATE:20000511 -STATUS:CONFIRMED -RRULE:FREQ=YEARLY;INTERVAL=1 -END:VEVENT -BEGIN:VEVENT -SUMMARY:스승의 날 Teacher's Day -UID:5309e45c-acca-4b4f-b7c4-fe7b3ddd545f -DTSTART;VALUE=DATE:20000515 -DTEND;VALUE=DATE:20000516 -STATUS:CONFIRMED -RRULE:FREQ=YEARLY;INTERVAL=1 -END:VEVENT -BEGIN:VEVENT SUMMARY:현충일 Memorial Day UID:c67d164c-c91c-4b46-a0fa-bff756119cde DTSTART;VALUE=DATE:20000606 @@ -105,22 +88,6 @@ STATUS:CONFIRMED RRULE:FREQ=YEARLY;INTERVAL=1 END:VEVENT BEGIN:VEVENT -SUMMARY:6-25 사변일 6/25 War Memorial -UID:c5907e9d-4314-423f-9441-d7309d39db45 -DTSTART;VALUE=DATE:20000625 -DTEND;VALUE=DATE:20000626 -STATUS:CONFIRMED -RRULE:FREQ=YEARLY;INTERVAL=1 -END:VEVENT -BEGIN:VEVENT -SUMMARY:제헌절 Constitution Day -UID:4f97c701-816b-4c23-a71e-13d2d2419c8f -DTSTART;VALUE=DATE:20000717 -DTEND;VALUE=DATE:20000718 -STATUS:CONFIRMED -RRULE:FREQ=YEARLY;INTERVAL=1 -END:VEVENT -BEGIN:VEVENT SUMMARY:광복절 Liberation Day UID:1aba5d05-a8a7-4253-a6d2-66665bd2490d DTSTART;VALUE=DATE:20000815 @@ -129,14 +96,6 @@ STATUS:CONFIRMED RRULE:FREQ=YEARLY;INTERVAL=1 END:VEVENT BEGIN:VEVENT -SUMMARY:국군의 날 Armed Forces Day -UID:99c12465-6366-4c9e-99c8-8635969cc7ee -DTSTART;VALUE=DATE:20001001 -DTEND;VALUE=DATE:20001002 -STATUS:CONFIRMED -RRULE:FREQ=YEARLY;INTERVAL=1 -END:VEVENT -BEGIN:VEVENT SUMMARY:개천절 Foundation Day UID:220f5ee6-10a6-4227-87ca-197628adb976 DTSTART;VALUE=DATE:20001003 From 860a33174eaa547aa7cdc2e6e59d65ff900612b0 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 18 Dec 2019 21:10:08 +0100 Subject: [PATCH 11/60] removing a newline --- .../simplemobiletools/calendar/pro/activities/EventActivity.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt index 61eb2071e..90f07f998 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt @@ -827,8 +827,7 @@ class EventActivity : SimpleActivity() { event_caldav_calendar_email.text = currentCalendar.accountName ensureBackgroundThread { - val calendarColor = eventsHelper.getEventTypeWithCalDAVCalendarId(currentCalendar.id)?.color - ?: currentCalendar.color + val calendarColor = eventsHelper.getEventTypeWithCalDAVCalendarId(currentCalendar.id)?.color ?: currentCalendar.color runOnUiThread { event_caldav_calendar_color.setFillWithStroke(calendarColor, config.backgroundColor) From c3d8ce6305c106bd15c4aa02e674f450633b484f Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 18 Dec 2019 21:30:29 +0100 Subject: [PATCH 12/60] update version to 6.8.2 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index cb8d0ff3a..7ddf0e698 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -16,8 +16,8 @@ android { applicationId "com.simplemobiletools.calendar.pro" minSdkVersion 21 targetSdkVersion 28 - versionCode 168 - versionName "6.8.1" + versionCode 169 + versionName "6.8.2" multiDexEnabled true setProperty("archivesBaseName", "calendar") vectorDrawables.useSupportLibrary = true From c3bcb3015eb8f55c3c0559c15d059afd4c524c02 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 18 Dec 2019 21:30:36 +0100 Subject: [PATCH 13/60] updating changelog --- CHANGELOG.md | 6 ++++++ fastlane/metadata/android/en-US/changelogs/169.txt | 2 ++ 2 files changed, 8 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/169.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index b5ba08d13..7c5d3d4fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,12 @@ Changelog ========== +Version 6.8.2 *(2019-12-18)* +---------------------------- + + * Improved some holidays + * Added a few stability and translation improvements + Version 6.8.1 *(2019-12-11)* ---------------------------- diff --git a/fastlane/metadata/android/en-US/changelogs/169.txt b/fastlane/metadata/android/en-US/changelogs/169.txt new file mode 100644 index 000000000..ed4425af1 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/169.txt @@ -0,0 +1,2 @@ + * Improved some holidays + * Added a few stability and translation improvements From e16a8ff2a044fc010cca8171b758814c2c3b2c18 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 19 Dec 2019 21:51:48 +0100 Subject: [PATCH 14/60] allow building the debug app version without a valid keystore.properties file --- app/build.gradle | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 7ddf0e698..313fd2c2b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -6,7 +6,9 @@ apply plugin: 'de.timfreiheit.resourceplaceholders' def keystorePropertiesFile = rootProject.file("keystore.properties") def keystoreProperties = new Properties() -keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} android { compileSdkVersion 28 @@ -24,11 +26,13 @@ android { } signingConfigs { - release { - keyAlias keystoreProperties['keyAlias'] - keyPassword keystoreProperties['keyPassword'] - storeFile file(keystoreProperties['storeFile']) - storePassword keystoreProperties['storePassword'] + if (keystorePropertiesFile.exists()) { + release { + keyAlias keystoreProperties['keyAlias'] + keyPassword keystoreProperties['keyPassword'] + storeFile file(keystoreProperties['storeFile']) + storePassword keystoreProperties['storePassword'] + } } } From 08dc33f3908aaa7ad451c027368b9c8743775b2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Marques?= Date: Fri, 20 Dec 2019 22:41:12 +0000 Subject: [PATCH 15/60] Update strings.xml --- app/src/main/res/values-pt/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index b50637ece..df65773d7 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -192,7 +192,7 @@ Última utilizada Outra Destacar fim de semana em algumas vistas - Allow changing event time zones + Permitir alteração do fuso horário dos eventos CalDAV @@ -273,7 +273,7 @@ ✔️ Possibilidade de definir diversos lembretes e personalização de sons e vibração para os mesmos ✔️ Opção Snooze ✔️ Possibilidade de importar, feriados, aniversários e datas de nascimento - ✔️ Personalização de eventos – data/hora inicial, duração dos eventos, lemvretes... + ✔️ Personalização de eventos – data/hora inicial, duração dos eventos, lembretes... ✔️ Possibilidade de adicionar convidados para os eventos ✔️ Passível de ser utilizado como calendário pessoal mas também empresarial ✔️ Escolha entre lembretes e notificações por e-mail From cfdfef60d792cd51ecd86fc6848022aa5d70eec7 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 21 Dec 2019 09:44:47 +0100 Subject: [PATCH 16/60] fixing a typo in the portugal long app desc --- fastlane/metadata/android/pt/full_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/pt/full_description.txt b/fastlane/metadata/android/pt/full_description.txt index c18e0e6fc..d392440e0 100644 --- a/fastlane/metadata/android/pt/full_description.txt +++ b/fastlane/metadata/android/pt/full_description.txt @@ -22,7 +22,7 @@ As vistas diária, semanal e mensal ajudam o utilizador a verificar os próximos ✔️ Possibilidade de definir diversos lembretes e personalização de sons e vibração para os mesmos ✔️ Opção Snooze ✔️ Possibilidade de importar, feriados, aniversários e datas de nascimento -✔️ Personalização de eventos – data/hora inicial, duração dos eventos, lemvretes... +✔️ Personalização de eventos – data/hora inicial, duração dos eventos, lembretes... ✔️ Possibilidade de adicionar convidados para os eventos ✔️ Passível de ser utilizado como calendário pessoal mas também empresarial ✔️ Escolha entre lembretes e notificações por e-mail From 7f4379c1e92f826e1f5bf1c8e74773c66f6df5cf Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 21 Dec 2019 13:41:40 +0100 Subject: [PATCH 17/60] updating some settings margins and paddings --- app/src/main/res/layout/activity_settings.xml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index a049f2004..12b08a023 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -945,9 +945,9 @@ android:layout_marginTop="@dimen/medium_margin" android:background="?attr/selectableItemBackground" android:paddingStart="@dimen/normal_margin" - android:paddingTop="@dimen/bigger_margin" + android:paddingTop="@dimen/activity_margin" android:paddingEnd="@dimen/normal_margin" - android:paddingBottom="@dimen/bigger_margin"> + android:paddingBottom="@dimen/activity_margin"> + android:paddingBottom="@dimen/activity_margin"> Date: Sun, 22 Dec 2019 22:56:05 +0100 Subject: [PATCH 18/60] make building the app easier, do not require a release version --- app/build.gradle | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 313fd2c2b..c80ad0686 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -43,7 +43,9 @@ android { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - signingConfig signingConfigs.release + if (keystorePropertiesFile.exists()) { + signingConfig signingConfigs.release + } } } From fb8fdd8324e1c0e7d5ceaf96c1f2b7326fdbb66b Mon Sep 17 00:00:00 2001 From: FTno <16176811+FTno@users.noreply.github.com> Date: Mon, 23 Dec 2019 13:17:13 +0100 Subject: [PATCH 19/60] Update strings.xml Norwegian (nb) translation update --- app/src/main/res/values-nb/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index 58aa395e4..078b3b6c9 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -110,7 +110,7 @@ Invited - Enter a country or time zone + Angi et land eller tidssone Importer hendelser @@ -192,7 +192,7 @@ Den sist brukte Annen tid Fremhev helger på noen visninger - Allow changing event time zones + Tillat å endre hendelsestidssoner CalDAV From 0760f11d2391c48be4676e6c4e6e96ab6682c0e8 Mon Sep 17 00:00:00 2001 From: Luis Alfredo Figueroa Bracamontes Date: Fri, 27 Dec 2019 12:22:07 -0600 Subject: [PATCH 20/60] =?UTF-8?q?Update=20Strings.xml=20Espa=C3=B1ol?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Some little changes and translations --- app/src/main/res/values-es/strings.xml | 42 +++++++++++++------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 786a112b0..a783d8591 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -1,7 +1,7 @@ - Calendario Simple - Calendar + Simple Calendar + Calendario Cambiar vista Vista diaria Vista semanal @@ -104,13 +104,13 @@ Añadir otros asistentes Mi estado: - Voy - No voy - Quizás voy + Iré + No iré + Quizás iré Invitado - Enter a country or time zone + Ingresa un país o zona horaria Importar eventos @@ -192,7 +192,7 @@ El último usado Otro momento Destacar los fines de semana en algunas vistas - Allow changing event time zones + Permitir cambiar zona horaria del evento CalDAV @@ -234,20 +234,20 @@ Los eventos creados de esa manera tienen un tipo de evento llamado \"Días Festivos\". Puede seleccionarlos todos desde Ajustes->Gestionar tipos de eventos, y usar una pulsación larga para eliminar el tipo de evento y todos sus eventos pulsando en la papelera. ¿Puedo sincronizar mis eventos a través de Google Calendar, o otros servicios que soporten CalDAV? - Yes, just toggle \"CalDAV sync\" in the app settings and select the calendars you want to sync. However, you will need some third party app handling the synchronization between the device and servers. - In case you want to synchronize a Google calendar, their official Calendar app will do the job. For other calendars you will need a third party sync adapter, for example DAVx5. - I see the visual reminders, but hear no audio. What can I do? - Not just displaying the actual reminder, but playing the audio is hugely affected by the system too. If you can\'t hear any sound, try going in the app settings, - pressing the \"Audio stream used by reminders\" option and changing it to a different value. If it still won\'t work, check your sound settings, if the particular stream isn\'t muted. - Does the app support time zones? - Yes, it does. By default all events are created in your current time zone. If you want to change an events\' time zone, - you will first have to enable the time zone picker at the app settings, then change it at the Event Details screen. It is disabled by default as most people won\'t need it. + Sí, Solamente activa \"Sincronizar CalDAV\" en los ajustes de la aplicación y selecciona los calendarios que quieras sincronizar. Sin embargo, vas a necesitar algúna aplicación externa para manejar la sincronización entre el dispositivo y los servidores. + En caso de que quieras sincronizar un calendario de Google, su aplicación oficial de Calendario hará el trabajo. Para otros calendarios, necesitarás un sincronizador externo, por ejemplo: DAVx5. + Veo los recordatorios visuales, pero no oigo audio. ¿Qué puedo hacer? + No solo mostrar el recordatorio, si no también reproducir el sonido, es altamente afectado por el sistema. Si no puedes escuchar ningún sonido, prueba ir a los ajustes de la aplicación, + presionar la opción de \"Sonido usado en recordatorios\" y cambiarlo a un valor diferente. Si continúa fallando, verifica tus opciones de sonido, si el sonido en particular no está silenciado. + ¿La aplicación soporta zonas horarias? + Sí, lo hace. Por defecto, todos los eventos son creados en tu zona horaria actual. Si quieres cambiar la zona horaria de un evento, + primero vas a tener que activar el seleccionador de zona horaria en los ajustes de la app, después, cambiarlo en la pantalla de Detalles del Evento. Está desactivado por defecto porque la mayoría de las personas no lo necesita. - Calendario Simple Pro - Eventos & Recordatorios + Calendario Simple Pro - Eventos y Recordatorios - Be notified of the important moments in your life. + Se notificado de los momentos importantes en tu vida. Calendario Simple Pro es un calendario fuera de línea, totalmente personalizable y diseñado para hacer exactamente lo que debe hacer un calendario. ¡Sin funcionalidades complicadas, permisos innecesarios y sin anuncios! @@ -256,11 +256,11 @@ Las vistas diarias, semanales y mensuales permiten verificar tus próximos eventos y citas con facilidad. Incluso puedes ver todos los eventos como si se tratara de una lista en lugar de usar un calendario, para que sepas exactamente lo que está sucediendo en tu vida y cuándo. ---------------------------------------------------------- - Calendario Simple Pro – Características & beneficios + Calendario Simple Pro – Características y beneficios ---------------------------------------------------------- ✔️ Sin anuncios ni ventanas emergentes - ✔️ No requiere acceso a internet, dándote más privacidad & seguridad + ✔️ No requiere acceso a internet, dándote más privacidad y seguridad ✔️ Solo se requieren los permisos mínimos para que funcione la aplicación ✔️ Énfasis en la simplicidad – hace lo que un calendario debería hacer ✔️ Código abierto (Open source) @@ -269,14 +269,14 @@ ✔️ Exporta tu configuración a un fichero .txt para importarlo a otro dispositivo ✔️ Soporte de CalDAV para sincronizar tus eventos entre múltiples dispositivos ✔️ Vista diaria, semanal, mensual, anual y de eventos en el calendario - ✔️ Soporte a la exportación & importación de eventos a través de ficheros .ics + ✔️ Soporte a la exportación y importación de eventos a través de ficheros .ics ✔️ Establece múltiples recordatorios de eventos, personalice el sonido y la vibración ✔️ Opción para posponer recordatorios ✔️ Añade fácilmente días festivos, cumpleaños, aniversarios y citas ✔️ Personalización de eventos: hora de inicio, duración, recordatorios, etc. ✔️ Añade asistentes para cada evento ✔️ Utilizalo como un calendario personal o de trabajo - ✔️ Escoge entre recordatorios & notificaciones de correo para recordarte los eventos + ✔️ Escoge entre recordatorios y notificaciones de correo para recordarte los eventos DESCARGA CALENDARIO SIMPLE PRO - EL CALENDARIO SIMPLE, OFFLINE Y SIN ANUNCIOS! From 7f80958d5cda8b323bfa1b89c9e842b8a3e1ee9c Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 27 Dec 2019 19:54:42 +0100 Subject: [PATCH 21/60] updating the spanish app data --- fastlane/metadata/android/es/full_description.txt | 8 ++++---- fastlane/metadata/android/es/short_description.txt | 2 +- fastlane/metadata/android/es/title.txt | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/fastlane/metadata/android/es/full_description.txt b/fastlane/metadata/android/es/full_description.txt index 3505b0a34..abb9e7fa6 100644 --- a/fastlane/metadata/android/es/full_description.txt +++ b/fastlane/metadata/android/es/full_description.txt @@ -5,11 +5,11 @@ Ya sea que estes organizando eventos individuales o recurrentes, cumpleaños, an Las vistas diarias, semanales y mensuales permiten verificar tus próximos eventos y citas con facilidad. Incluso puedes ver todos los eventos como si se tratara de una lista en lugar de usar un calendario, para que sepas exactamente lo que está sucediendo en tu vida y cuándo. ---------------------------------------------------------- -Calendario Simple Pro – Características & beneficios +Calendario Simple Pro – Características y beneficios ---------------------------------------------------------- ✔️ Sin anuncios ni ventanas emergentes -✔️ No requiere acceso a internet, dándote más privacidad & seguridad +✔️ No requiere acceso a internet, dándote más privacidad y seguridad ✔️ Solo se requieren los permisos mínimos para que funcione la aplicación ✔️ Énfasis en la simplicidad – hace lo que un calendario debería hacer ✔️ Código abierto (Open source) @@ -18,14 +18,14 @@ Las vistas diarias, semanales y mensuales permiten verificar tus próximos event ✔️ Exporta tu configuración a un fichero .txt para importarlo a otro dispositivo ✔️ Soporte de CalDAV para sincronizar tus eventos entre múltiples dispositivos ✔️ Vista diaria, semanal, mensual, anual y de eventos en el calendario -✔️ Soporte a la exportación & importación de eventos a través de ficheros .ics +✔️ Soporte a la exportación y importación de eventos a través de ficheros .ics ✔️ Establece múltiples recordatorios de eventos, personalice el sonido y la vibración ✔️ Opción para posponer recordatorios ✔️ Añade fácilmente días festivos, cumpleaños, aniversarios y citas ✔️ Personalización de eventos: hora de inicio, duración, recordatorios, etc. ✔️ Añade asistentes para cada evento ✔️ Utilizalo como un calendario personal o de trabajo -✔️ Escoge entre recordatorios & notificaciones de correo para recordarte los eventos +✔️ Escoge entre recordatorios y notificaciones de correo para recordarte los eventos DESCARGA CALENDARIO SIMPLE PRO - EL CALENDARIO SIMPLE, OFFLINE Y SIN ANUNCIOS! diff --git a/fastlane/metadata/android/es/short_description.txt b/fastlane/metadata/android/es/short_description.txt index 19c9a25da..0953071f6 100644 --- a/fastlane/metadata/android/es/short_description.txt +++ b/fastlane/metadata/android/es/short_description.txt @@ -1 +1 @@ -Un bonito calendario sin anuncios, garantía del 100% en la devolución del dinero +Se notificado de los momentos importantes en tu vida. diff --git a/fastlane/metadata/android/es/title.txt b/fastlane/metadata/android/es/title.txt index 408f3b313..6a59e560c 100644 --- a/fastlane/metadata/android/es/title.txt +++ b/fastlane/metadata/android/es/title.txt @@ -1 +1 @@ -Calendario Simple Pro - Eventos & Recordatorios +Calendario Simple Pro - Eventos y Recordatorios From 9535c5ec5d1735d50a304e453d2eb7de3aa6eadc Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 29 Dec 2019 17:34:53 +0100 Subject: [PATCH 22/60] fix a glitch at events repeating every x weeks --- .../com/simplemobiletools/calendar/pro/models/Event.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/models/Event.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/models/Event.kt index abc3f4897..5f8df9041 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/models/Event.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/models/Event.kt @@ -147,11 +147,11 @@ data class Event( fun getCalDAVCalendarId() = if (source.startsWith(CALDAV)) (source.split("-").lastOrNull() ?: "0").toString().toInt() else 0 - // check if its the proper week, for events repeating every x weeks + // check if it's the proper week, for events repeating every x weeks // get the week number since 1970, not just in the current year fun isOnProperWeek(startTimes: LongSparseArray): Boolean { - val initialWeekNumber = Formatter.getDateTimeFromTS(startTimes[id!!]!!).millis / (7 * 24 * 60 * 60 * 1000f) - val currentWeekNumber = Formatter.getDateTimeFromTS(startTS).millis / (7 * 24 * 60 * 60 * 1000f) + val initialWeekNumber = Formatter.getDateTimeFromTS(startTimes[id!!]!!).withTimeAtStartOfDay().millis / (7 * 24 * 60 * 60 * 1000f) + val currentWeekNumber = Formatter.getDateTimeFromTS(startTS).withTimeAtStartOfDay().millis / (7 * 24 * 60 * 60 * 1000f) return (Math.round(initialWeekNumber) - Math.round(currentWeekNumber)) % (repeatInterval / WEEK) == 0 } From d9fe64d584359938fc628cdd0e5e67c9587abaa9 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 29 Dec 2019 17:46:29 +0100 Subject: [PATCH 23/60] fix #1046, adding an extra check to avoid invalid reminders --- .../calendar/pro/receivers/NotificationReceiver.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/receivers/NotificationReceiver.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/receivers/NotificationReceiver.kt index 59a11a018..ae5fafc40 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/receivers/NotificationReceiver.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/receivers/NotificationReceiver.kt @@ -32,7 +32,7 @@ class NotificationReceiver : BroadcastReceiver() { context.updateListWidget() val event = context.eventsDB.getEventWithId(id) - if (event == null || event.getReminders().none { it.type == REMINDER_NOTIFICATION }) { + if (event == null || event.getReminders().none { it.type == REMINDER_NOTIFICATION } || event.repetitionExceptions.contains(Formatter.getTodayCode())) { return } From def5cf6147e84d57901fcdb366efb6105d5c530b Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 29 Dec 2019 17:58:17 +0100 Subject: [PATCH 24/60] update commons to 5.21.9 --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index c80ad0686..a0b25778d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -64,7 +64,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.21.0' + implementation 'com.simplemobiletools:commons:5.21.9' implementation 'joda-time:joda-time:2.10.1' implementation 'androidx.multidex:multidex:2.0.1' implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta2' From 4008072ed5615fbec7b3065483414c89da5801a6 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 29 Dec 2019 17:59:39 +0100 Subject: [PATCH 25/60] adding a crashfix at getting the device time zone --- .../simplemobiletools/calendar/pro/activities/EventActivity.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt index 90f07f998..bb29383a9 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt @@ -915,7 +915,8 @@ class EventActivity : SimpleActivity() { val offset = if (!config.allowChangingTimeZones || mEvent.getTimeZoneString().equals(mOriginalTimeZone, true)) { 0 } else { - (DateTimeZone.forID(mEvent.getTimeZoneString()).getOffset(System.currentTimeMillis()) - DateTimeZone.forID(mOriginalTimeZone).getOffset(System.currentTimeMillis())) / 1000L + var original = if (mOriginalTimeZone.isEmpty()) DateTimeZone.getDefault().id else mOriginalTimeZone + (DateTimeZone.forID(mEvent.getTimeZoneString()).getOffset(System.currentTimeMillis()) - DateTimeZone.forID(original).getOffset(System.currentTimeMillis())) / 1000L } val newStartTS = mEventStartDateTime.withSecondOfMinute(0).withMillisOfSecond(0).seconds() - offset From 1abfff00fb82752be90f74901718533140154863 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 29 Dec 2019 17:59:57 +0100 Subject: [PATCH 26/60] tweaking the variable --- .../simplemobiletools/calendar/pro/activities/EventActivity.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt index bb29383a9..97853314c 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt @@ -915,7 +915,7 @@ class EventActivity : SimpleActivity() { val offset = if (!config.allowChangingTimeZones || mEvent.getTimeZoneString().equals(mOriginalTimeZone, true)) { 0 } else { - var original = if (mOriginalTimeZone.isEmpty()) DateTimeZone.getDefault().id else mOriginalTimeZone + val original = if (mOriginalTimeZone.isEmpty()) DateTimeZone.getDefault().id else mOriginalTimeZone (DateTimeZone.forID(mEvent.getTimeZoneString()).getOffset(System.currentTimeMillis()) - DateTimeZone.forID(original).getOffset(System.currentTimeMillis())) / 1000L } From 0ecf0b9feb48396b93269de95c4c8fee21780934 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 29 Dec 2019 18:02:39 +0100 Subject: [PATCH 27/60] catch some more exceptions during reminder creation --- .../calendar/pro/extensions/Context.kt | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/extensions/Context.kt index 682a0c314..862c7bea0 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/extensions/Context.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/extensions/Context.kt @@ -198,7 +198,9 @@ fun Context.notifyEvent(originalEvent: Event) { val notification = getNotification(pendingIntent, event, content) val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager try { - notificationManager.notify(event.id!!.toInt(), notification) + if (notification != null) { + notificationManager.notify(event.id!!.toInt(), notification) + } } catch (e: Exception) { showErrorToast(e) } @@ -206,7 +208,7 @@ fun Context.notifyEvent(originalEvent: Event) { } @SuppressLint("NewApi") -fun Context.getNotification(pendingIntent: PendingIntent, event: Event, content: String, publicVersion: Boolean = false): Notification { +fun Context.getNotification(pendingIntent: PendingIntent, event: Event, content: String, publicVersion: Boolean = false): Notification? { var soundUri = config.reminderSoundUri if (soundUri == SILENT) { soundUri = "" @@ -245,7 +247,12 @@ fun Context.getNotification(pendingIntent: PendingIntent, event: Event, content: lightColor = event.color enableVibration(config.vibrateOnReminder) setSound(Uri.parse(soundUri), audioAttributes) - notificationManager.createNotificationChannel(this) + try { + notificationManager.createNotificationChannel(this) + } catch (e: Exception) { + showErrorToast(e) + return null + } } } @@ -271,7 +278,10 @@ fun Context.getNotification(pendingIntent: PendingIntent, event: Event, content: } if (!publicVersion) { - builder.setPublicVersion(getNotification(pendingIntent, event, content, true)) + val notification = getNotification(pendingIntent, event, content, true) + if (notification != null) { + builder.setPublicVersion(notification) + } } val notification = builder.build() From 5f7adad863b92afbd204e38f769f41f63abd173d Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 29 Dec 2019 18:04:54 +0100 Subject: [PATCH 28/60] update version to 6.8.3 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index a0b25778d..b8597957c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -18,8 +18,8 @@ android { applicationId "com.simplemobiletools.calendar.pro" minSdkVersion 21 targetSdkVersion 28 - versionCode 169 - versionName "6.8.2" + versionCode 170 + versionName "6.8.3" multiDexEnabled true setProperty("archivesBaseName", "calendar") vectorDrawables.useSupportLibrary = true From 6a882bbdba952998837f21dabcdf410327f9522e Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 29 Dec 2019 18:05:00 +0100 Subject: [PATCH 29/60] updating changelog --- CHANGELOG.md | 7 +++++++ fastlane/metadata/android/en-US/changelogs/170.txt | 3 +++ 2 files changed, 10 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/170.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c5d3d4fa..20fa5ea88 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,13 @@ Changelog ========== +Version 6.8.3 *(2019-12-29)* +---------------------------- + + * Fixed a glitch at events repeating every X weeks + * Added an extra check to avoid showing reminders of deleted event repetition instances + * Some stability and translation improvements + Version 6.8.2 *(2019-12-18)* ---------------------------- diff --git a/fastlane/metadata/android/en-US/changelogs/170.txt b/fastlane/metadata/android/en-US/changelogs/170.txt new file mode 100644 index 000000000..e8f8ef2cd --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/170.txt @@ -0,0 +1,3 @@ +Fixed a glitch at events repeating every X weeks +Added an extra check to avoid showing reminders of deleted event repetition instances +Some stability and translation improvements From 5404a8a0459238b109b2b101a371fe542721ca1f Mon Sep 17 00:00:00 2001 From: t-regbs Date: Tue, 31 Dec 2019 15:33:36 +0100 Subject: [PATCH 30/60] remove release --- app/build.gradle | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 16d3eaedd..c98fd6392 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,9 +4,6 @@ apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' apply plugin: 'de.timfreiheit.resourceplaceholders' -def keystorePropertiesFile = rootProject.file("keystore.properties") -def keystoreProperties = new Properties() -keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) android { compileSdkVersion 28 @@ -23,15 +20,6 @@ android { vectorDrawables.useSupportLibrary = true } - signingConfigs { - release { - keyAlias keystoreProperties['keyAlias'] - keyPassword keystoreProperties['keyPassword'] - storeFile file(keystoreProperties['storeFile']) - storePassword keystoreProperties['storePassword'] - } - } - buildTypes { debug { applicationIdSuffix ".debug" @@ -39,7 +27,6 @@ android { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - signingConfig signingConfigs.release } } @@ -66,4 +53,9 @@ dependencies { kapt 'androidx.room:room-compiler:2.2.2' implementation 'androidx.room:room-runtime:2.2.2' annotationProcessor 'androidx.room:room-compiler:2.2.2' + implementation "androidx.core:core-ktx:+" + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" +} +repositories { + mavenCentral() } From e7e44063ec50fbf4015bf6fac30ac68e3a6501c7 Mon Sep 17 00:00:00 2001 From: pcpepik Date: Tue, 31 Dec 2019 15:55:28 +0100 Subject: [PATCH 31/60] Update cs strings.xml - Translate new strings to Czech - Correct and polish some old strings --- app/src/main/res/values-cs/strings.xml | 256 ++++++++++++------------- 1 file changed, 128 insertions(+), 128 deletions(-) diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index e8ffff5ce..6a1759d73 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -1,21 +1,21 @@ - Simple Calendar - Calendar + Jednoduchý kalendář + Kalendář Změnit zobrazení - Denní kalendář - Týdenní kalendář - Měsíční kalendář - Roční kalendář - Jednoduchý seznam událostí + Denní + Týdenní + Měsíční + Roční + Jednoduchý seznam Nemáte žádné nadcházející události. - Přejít na dnešek - Go to date - Hey,\n\nseems like you upgraded from the old free app. You have to migrate locally stored events manually via exporting in an .ics file, then importing. You can find both export/import buttons at the main screen menu.\n\nYou can then uninstall the old version, which has an \'Upgrade to Pro\' button at the top of the app settings. You will then only have to reset your app settings.\n\nThanks! + Přejít na dnešní datum + Přejít na datum + Zdravím,\n\nzdá se, že jste přešli ze staré neplacené verze této aplikace. Lokálně uložené události musíte přemigrovat ručně pomocí exportu do .ics souboru a následně naimportovat. Tlačítka pro export a import najdete v obou verzích pod menu na hlavní obrazovce.\n\nStarou verzi aplikace, která má nahoře nastavení tlačítko \'Stáhnout Pro verzi\', můžete poté odinstalovat. Následně si budete muset opět nastavit položky v nastavení aplikace.\n\nDíky! - Měsíční kalendář - Seznam událostí + Kalendář - měsíční + Kalendář - seznam událostí Událost @@ -23,30 +23,30 @@ Nová událost Vytvořit novou událost Zkopírovat událost - Doplňte název + Prosím zadejte název Konec události nemůže být dříve než začátek Událost úspěšně přidána Událost úspěšně změněna - Filtrovat události - Vyplňte prosím místo, které se zobrazí na mapě - Událost právě nastává + Filtrovat události podle typu + Prosím zadejte polohu, která má být zobrazena na mapě + Blíží se událost - Opakovaná událost + Opakování Neopakuje se - každý den - každý týden - každý měsíc - každý rok + Denně + Týdně + Měsíčně + Ročně týdny měsíce roky Opakovat do - Opakovat navždy + Navždy Událost se opakuje Výběr zahrnuje opakující se události Vymazat pouze vybrané výskyty - Smaž tento a jakékoliv budoucí výskyty + Vymazat tento a jakékoliv budoucí výskyty Vymazat všechny výskyty Změnit pouze vybrané výskyty Změnit všechny výskyty @@ -55,11 +55,11 @@ Opakovat navždy krát Opakovat - Opakovat - každý den - ve zvolené dny - ve stejný den - poslední den + Opakovat v + Každý den + Ve zvolené dny + Ve stejný den + Poslední den Opakovat ve stejný den každý měsíc Opakovat poslední den v měsíci Opakovat ve stejný den každý rok @@ -73,27 +73,27 @@ - Opakovat každý - každý + Opakovat každou + každou první - druhý + druhou třetí - čtvrtý + čtvrtou poslední Narozeniny Přidat narozeniny z kontaktů - Žádné narozeniny nebyly nalezeny - No new birthdays have been found + Nenalezeny žádné narozeniny + Nenalezeny žádné nové narozeniny Narozeniny byly úspěšně přidány Výročí - Přidat výročí - Žádné výročí nebylo nalezeno - No new anniversaries have been found - Výročí bylo úspěšně přidáno + Přidat výročí z kontaktů + Nenalezeno žádné výročí + Nenalezena žádná nová výročí + Výročí byla úspěšně přidána Připomínka @@ -102,30 +102,30 @@ Připomínky událostí - Add another attendee - My status: - Going - Not going - Maybe going - Invited + Přidat dalšího účastníka + Můj stav: + Zůčastním se + Nezůčastním se + Možná se zůčastním + Pozvaný - Enter a country or time zone + Zadejte zemi nebo časové pásmo Import událostí Export událostí - Importovat kalendář ze souboru .ics - Exportovat kalendář do souboru .ics + Importovat události ze souboru .ics + Exportovat události do souboru .ics Přednastavený typ události - Exportovat i uplynulé události + Exportovat i dřívější události Zahrnout typy událostí Název souboru (bez .ics) - Přepsat typ události v souboru + Přepsat typy událostí v souboru Název - Location + Lokace Popis Celý den @@ -133,24 +133,24 @@ Týden - Typ události + Typy událostí Přidat nový typ Upravit typ Typ s tímto názvem již existuje Barva - Pravidelná událost + Běžná událost Výchozí typ události nelze odstranit Vyberte typ události - Přesunout vybrané události na výchozí typ události - Trvale odebrat vybrané události - Chcete-li odebrat kalendář CalDAV, musíte vypnout synchronizaci + Přesunout ovlivněné události pod výchozí typ události + Trvale odebrat ovlivněné události + Chcete-li odebrat kalendář CalDAV, musíte mu vypnout synchronizaci Svátky - Přidat svátek + Přidat svátky Státní svátky Církevní svátky - Svátky byly úspěšně naimportovány + Svátky byly úspěšně naimportovány pod typ události \"Svátky\" Import některých událostí se nezdařil Import svátků se nezdařil @@ -158,41 +158,41 @@ Správa typů událostí Počátek dne Konec dne - Zobrazovat číslo týdne - Vibrovat - Tón oznámení + Zobrazovat čísla týdnů + Vibrovat při připomínce + Zvuk připomínky Nebyla nalezena žádná aplikace, která by mohla nastavit vyzvánění - žádný - Den nemůže skončit dřív, než začne + Žádný + Den nemůže skončit dříve než začne CalDAV synchronizace Seznamy událostí Zobrazit minulé události Nahradit popis udalosti lokací Smazat všechny události - Opravdu chcete smazat všechny události? Typy událostí a ostatní nastavení zůstanou neporušené. + Opravdu chcete smazat všechny události? Typy událostí a ostatní nastavení zůstanou nedotčeny. Zobrazovat mřížku - Připomínat až do vypnutí - Smazat minulé události + Opakovat připomínky až do zamítnutí + Utlumit minulé události Události - Zvuk upomínky + Zvukový kanál používaný připomínkami Systém Budík - Notifikace + Oznámení Vyzvánění - Použij poslední připomenutou událost jako výchozí pro novou událost + Použij připomenutí u poslední události jako výchozí pro nové události Výchozí připomenutí 1 Výchozí připomenutí 2 Výchozí připomenutí 3 - View to open from the event list widget - Last view - New events - Default start time - Next full hour - Default duration - Last used one - Other time - Highlight weekends on some views - Allow changing event time zones + Pohled pro otevření z widgetu se seznamem událostí + Poslední pohled + Nové události + Výchozí čas začátku + Nejbližší celá hodina + Výchozí délka + Poslední použitá + Jiný čas + Zvýraznit víkendy na některých pohledech + Povolit změny časových pásem událostí CalDAV @@ -202,85 +202,85 @@ Obnovit CalDAV kalendáře Obnovuji… Obnovování dokončeno - Editování kalendáře se nezdařilo + Úprava kalendáře se nezdařila Synchronizuji… Synchronizace dokončena - Select a different color (might be applied locally only) - You are not allowed to write in the selected calendar - Event not found. Please enable CalDAV sync for the appropriate calendar in the app settings. + Zvolit jinou barvu (možná bude nastavena pouze lokálně) + Nemáte oprávnění pro zápis do zvoleného kalendáře + Událost nenalezena. Prosím, povolte CalDAV synchronizaci příslušného kalendáře v nastavení aplikace. Pondělí Úterý - Středa + Středu Čtvrtek Pátek - Sobota - Neděle + Sobotu + Neděli - cvičení - Leg day + Cvičení + Nohy Schůzka s Janem - v restauraci - knihovna + V restauraci + Knihovna Oběd s Marií - ve městě - na kafe + V obchodě + Čas na kávu - Jak mohu odstranit svátky importované přes tlačítko \"Přidat svátek\"? - Svátky vytvořené touto cestou jsou vloženy s novým typem události \"Svátky\". Odstranit jej můžete přes: Nastavení -> Správa typů událostí -> + Jak mohu odstranit svátky importované přes tlačítko \"Přidat svátky\"? + Svátky vytvořené touto cestou jsou vloženy pod novým typem události \"Svátky\". Odstranit je můžete přes: Nastavení -> Správa typů událostí -> dlouze podržte daný typ události a stisknete tlačítko s ikonou koše pro odstranění. - Mohu synchronizovat své události přes Google Kalendář nebo přes jinou službu podporující CalDav? - Ano, zapnutím \"CalDAV sync\" v nastavení aplikace a vybráním kalendáře se kterým se chcete synchronizovat. Budete ovšem potřebovat nějakou aplikaci třetí strany pro samotné synchronizovaní mezi zařízením a servery. - Pokud chcete synchronizovat Google kalendář, tak oficiální aplikace Google toto zvládne. Pro jiné kalendáře potřebujete synchronizační adaptér třetí strany, například DAVx5. - Vizuálně vidím připomínku, ale neslyším žádný zvuk. Co mám dělat? - Nejenom zobrazování aktuální připomínky, ale i přehrávání zvuku je dost ovlivněno operačním systémem. Pokud neslyšíte žádný zvuk, zkuste jít do nastavení aplikace, - vyberte: \"Zvuk upomínky\" a změňte na něco jiného. Pokud zvuk stále nefunguje, zkontrolujte zda není zvuk vypnut v nastavení vašeho systému. - Does the app support time zones? - Yes, it does. By default all events are created in your current time zone. If you want to change an events\' time zone, - you will first have to enable the time zone picker at the app settings, then change it at the Event Details screen. It is disabled by default as most people won\'t need it. + Mohu synchronizovat své události pomocí Google Kalendáře nebo přes jinou službu podporující CalDav? + Ano, zapnutím \"CalDAV synchronizace\" v nastavení aplikace a vybráním kalendářů se kterými se chcete synchronizovat. Budete ovšem potřebovat nějakou aplikaci třetí strany pro samotné synchronizovaní mezi zařízením a servery. + Pokud chcete synchronizovat Google kalendář, bude vám stačit jejich oficiální aplikace kalendáře. Pro jiné kalendáře budete potřebovat synchronizační adaptér třetí strany, například DAVx5. + Připomínku vidím, ale neslyším žádný zvuk. Co s tím? + Nejen zobrazování aktuální připomínky, ale i přehrávání zvuku je velmi ovlivněno operačním systémem. Pokud neslyšíte žádný zvuk, zkuste jít do nastavení aplikace, + vyberte: \"Zvukový kanál používaný připomínkami\" a změňte na něco jiného. Pokud zvuk stále nefunguje, zkontrolujte zda není zvuk zvoleného kanálu vypnut v nastavení vašeho systému. + Podporuje aplikace časová pásma? + Ano, podporuje. Ve výchozím stavu jsou všechny události vytvářeny ve vašem současném časovém pásmu. Pokud chcete změnit časové pásmo některé události, + musíte nejdříve povolit úpravy časových pásem v nastavení aplikace, poté jej změníte na obrazovce s detaily události. Ve výchozím nastavení je úprava vypnuta, neboť většina lidí ji nebude potřebovat. - Simple Calendar Pro - Events & Reminders + Jednoduchý kalendář Pro - Události a připomínky - Be notified of the important moments in your life. + Nezmeškejte důležité okamžiky svého života. - Simple Calendar Pro is a fully customizable, offline calendar designed to do exactly what a calendar should do. No complicated features, unnecessary permissions and no ads! + Jednoduchý kalendář Pro je plně přizpůsobitelný offline kalendář vytvořený přesně pro to, co by kalendáře měly dělat. Žádné zbytečné funkce, nepotřebná oprávnění, ani reklamy! - Whether you’re organizing single or recurring events, birthdays, anniversaries, business meetings, appointments or anything else, Simple Calendar Pro makes it easy to stay organized. With an incredible variety of customization options you can customize event reminders, notification sounds, calendar widgets and how the app looks. + Nezáleží, zda organizujete jednoduché či opakující se události, narozeniny, výročí, pracovní schůzky, či cokoliv jiného, Jednoduchý kalendář Pro vám ulehčí práci. S velkým množstvím možností přizpůsobení můžete měnit připomínky událostí, zvuky připomínek, widgety kalendáře a celkový vzhled aplikace. - Daily, weekly and monthly views make checking your upcoming events & appointments a breeze. You can even view everything as a simple list of events rather than in calendar view, so you know exactly what’s coming up in your life and when. + Díky dennímu, týdennímu a měsíčnímu pohledu si velmi snadno prohlédnete následující události a schůzky. Všechny události si můžete zobrazit i v jednodůchém chronologickém seznamu událostí. Díky tomu víte přesně co a kdy se blíží. ---------------------------------------------------------- - Simple Calendar Pro – Features & Benefits + Jednoduchý kalendář Pro – Funkce a výhody ---------------------------------------------------------- - ✔️ No ads or annoying popups - ✔️ No internet access needed, giving you more privacy & security - ✔️ Only the bare minimum permissions required - ✔️ Emphasis on simplicity – does what a calendar needs to do! - ✔️ Open source - ✔️ Fully customizable themes & calendar / event widgets - ✔️ Translated into 29 languages - ✔️ Export settings to .txt files to import to another device - ✔️ CalDAV calendar sync supported to sync events across devices - ✔️ Daily, weekly, monthly, yearly & event views on the calendar - ✔️ Supports exporting & importing events via .ics files - ✔️ Set multiple event reminders, customize event reminder sound and vibration - ✔️ Snooze option for reminders - ✔️ Easily add holidays, birthdays, anniversaries & appointments - ✔️ Customize events – start time, duration, reminders etc - ✔️ Add event attendees to each event - ✔️ Use as a personal calendar or a business calendar - ✔️ Choose between reminders & email notifications to alert you about an event + ✔️ Žádné reklamy či otravná vyskakovací okna + ✔️ Nepotřebuje přístup k internetu, což znamená maximální soukromí a bezpečí + ✔️ Pouze bezprostředně nutná oprávnění + ✔️ Důraz na jednoduchost – dělá přesně to, co se od kalendáře očekává! + ✔️ Otevřený zdrojový kód + ✔️ Plně přizpůsobitelné motivy, pohledy a widgety + ✔️ Přeložen do 29 jazyků + ✔️ Export nastavení do .txt souboru pro import na jiném zařízení + ✔️ Podpora CalDAV synchronizace pro sdílení kalendářů napříč zařízeními + ✔️ Obsahuje denní, týdenní, měsíční, roční pohled na kalendář i jednoduchý seznam událostí + ✔️ Podpora exportu a importu událostí skrze .ics soubory + ✔️ Možnost nastavení více připomínek k události, nebo změna jejich zvuku a vibrací + ✔️ Možnost odložení připomínky + ✔️ Jednoduché přidávání svátů, narozenin, výročí a schůzek + ✔️ Nastavení událostí – začátek, trvání, připomínky, atd + ✔️ Možnost přidání účastníků pro každou událost + ✔️ Použití jako soukromý i business kalendář + ✔️ Zvolte si mezi připomínkami a e-mailovým upozorněním pro synchronizované události - DOWNLOAD SIMPLE CALENDAR PRO – THE SIMPLE OFFLINE CALENDAR WITH NO ADS! + STÁHNĚTE SI JEDNODUCHÝ KALENDÁŘ PRO – JEDNODUCHÝ OFFLINE KALENDÁŘ BEZ REKLAM! - Check out the full suite of Simple Tools here: + Prohlédněte si celou sadu Jednoduchých aplikací na: https://www.simplemobiletools.com Facebook: From fbb98e60b73a31bb0a80c47403298ac3352221c1 Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 31 Dec 2019 16:17:39 +0100 Subject: [PATCH 32/60] updating the czech app data --- .../metadata/android/cs/full_description.txt | 39 +++++++++++++++++++ .../metadata/android/cs/short_description.txt | 1 + fastlane/metadata/android/cs/title.txt | 1 + 3 files changed, 41 insertions(+) create mode 100644 fastlane/metadata/android/cs/full_description.txt create mode 100644 fastlane/metadata/android/cs/short_description.txt create mode 100644 fastlane/metadata/android/cs/title.txt diff --git a/fastlane/metadata/android/cs/full_description.txt b/fastlane/metadata/android/cs/full_description.txt new file mode 100644 index 000000000..7c4989cda --- /dev/null +++ b/fastlane/metadata/android/cs/full_description.txt @@ -0,0 +1,39 @@ +Jednoduchý kalendář Pro je plně přizpůsobitelný offline kalendář vytvořený přesně pro to, co by kalendáře měly dělat. Žádné zbytečné funkce, nepotřebná oprávnění, ani reklamy! + +Nezáleží, zda organizujete jednoduché či opakující se události, narozeniny, výročí, pracovní schůzky, či cokoliv jiného, Jednoduchý kalendář Pro vám ulehčí práci. S velkým množstvím možností přizpůsobení můžete měnit připomínky událostí, zvuky připomínek, widgety kalendáře a celkový vzhled aplikace. + +Díky dennímu, týdennímu a měsíčnímu pohledu si velmi snadno prohlédnete následující události a schůzky. Všechny události si můžete zobrazit i v jednodůchém chronologickém seznamu událostí. Díky tomu víte přesně co a kdy se blíží. + +---------------------------------------------------------- +Jednoduchý kalendář Pro – Funkce a výhody +---------------------------------------------------------- + +✔️ Žádné reklamy či otravná vyskakovací okna +✔️ Nepotřebuje přístup k internetu, což znamená maximální soukromí a bezpečí +✔️ Pouze bezprostředně nutná oprávnění +✔️ Důraz na jednoduchost – dělá přesně to, co se od kalendáře očekává! +✔️ Otevřený zdrojový kód +✔️ Plně přizpůsobitelné motivy, pohledy a widgety +✔️ Přeložen do 29 jazyků +✔️ Export nastavení do .txt souboru pro import na jiném zařízení +✔️ Podpora CalDAV synchronizace pro sdílení kalendářů napříč zařízeními +✔️ Obsahuje denní, týdenní, měsíční, roční pohled na kalendář i jednoduchý seznam událostí +✔️ Podpora exportu a importu událostí skrze .ics soubory +✔️ Možnost nastavení více připomínek k události, nebo změna jejich zvuku a vibrací +✔️ Možnost odložení připomínky +✔️ Jednoduché přidávání svátů, narozenin, výročí a schůzek +✔️ Nastavení událostí – začátek, trvání, připomínky, atd +✔️ Možnost přidání účastníků pro každou událost +✔️ Použití jako soukromý i business kalendář +✔️ Zvolte si mezi připomínkami a e-mailovým upozorněním pro synchronizované události + +STÁHNĚTE SI JEDNODUCHÝ KALENDÁŘ PRO – JEDNODUCHÝ OFFLINE KALENDÁŘ BEZ REKLAM! + +Prohlédněte si celou sadu Jednoduchých aplikací na: +https://www.simplemobiletools.com + +Facebook: +https://www.facebook.com/simplemobiletools + +Reddit: +https://www.reddit.com/r/SimpleMobileTools diff --git a/fastlane/metadata/android/cs/short_description.txt b/fastlane/metadata/android/cs/short_description.txt new file mode 100644 index 000000000..ec31e1fb0 --- /dev/null +++ b/fastlane/metadata/android/cs/short_description.txt @@ -0,0 +1 @@ +Nezmeškejte důležité okamžiky svého života. diff --git a/fastlane/metadata/android/cs/title.txt b/fastlane/metadata/android/cs/title.txt new file mode 100644 index 000000000..e95cc3d56 --- /dev/null +++ b/fastlane/metadata/android/cs/title.txt @@ -0,0 +1 @@ +Jednoduchý kalendář Pro - Události a připomínky From bec8dc36b7ef664303b44568ddc6906e1f180995 Mon Sep 17 00:00:00 2001 From: Timilehin Date: Sun, 5 Jan 2020 18:30:11 -0800 Subject: [PATCH 33/60] Added Nigeria Holidays --- app/src/main/assets/nigeria.ics | 70 +++++++++++++++++++ .../calendar/pro/activities/MainActivity.kt | 1 + 2 files changed, 71 insertions(+) create mode 100644 app/src/main/assets/nigeria.ics diff --git a/app/src/main/assets/nigeria.ics b/app/src/main/assets/nigeria.ics new file mode 100644 index 000000000..95d6da2ea --- /dev/null +++ b/app/src/main/assets/nigeria.ics @@ -0,0 +1,70 @@ +BEGIN:VCALENDER +BEGIN:VEVENT +SUMMARY:New Year's Day +UID:nig-20200101 +DTSTART;VALUE=DATE:20200101 +DTEND;VALUE=DATE:20200102 +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +END:VEVENT +BEGIN:VEVENT +DTEND;VALUE=DATE:20200414 +DTSTART;VALUE=DATE:20200413 +SUMMARY:Easter Monday +UID:nig-20200413 +STATUS:CONFIRMED +END:VEVENT +BEGIN:VEVENT +DTEND;VALUE=DATE:20200411 +DTSTART;VALUE=DATE:20200410 +SUMMARY:Good Friday +UID:nig-20200410 +STATUS:CONFIRMED +END:VEVENT +BEGIN:VEVENT +SUMMARY:Christmas Day +UID:nig-20201225 +DTSTART;VALUE=DATE:20201225 +DTEND;VALUE=DATE:20201226 +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +END:VEVENT +BEGIN:VEVENT +SUMMARY:Democracy Day +UID:nig-20200612 +DTEND;VALUE=DATE:20200613 +DTSTART;VALUE=DATE:20200612 +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +END:VEVENT +BEGIN:VEVENT +SUMMARY:Sallah +UID:nig-20200525 +DTEND;VALUE=DATE:20200526 +DTSTART;VALUE=DATE:20200525 +END:VEVENT +BEGIN:VEVENT +SUMMARY: Worker's Day +UID:nig-20200501 +DTEND;VALUE=DATE:20200502 +DTSTART;VALUE=DATE:20200501 +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +END:VEVENT +BEGIN:VEVENT +SUMMARY:Independence Day +UID:nig-20201001 +DTEND;VALUE=DATE:20201002 +DTSTART;VALUE=DATE:20201001 +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +END:VEVENT +BEGIN:VEVENT +SUMMARY:Boxing Day +UID:nig-20201226 +DTSTART;VALUE=DATE:20201226 +DTEND;VALUE=DATE:20201227 +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +END:VEVENT +END:VCALENDER diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt index 76a102c49..ec71371be 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt @@ -913,6 +913,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { put("México", "mexico.ics") put("Nederland", "netherlands.ics") put("日本", "japan.ics") + put("Nigeria", "nigeria.ics") put("Norge", "norway.ics") put("Österreich", "austria.ics") put("Pākistān", "pakistan.ics") From ef1d20b586c71945aed596107e074eb01a584e9b Mon Sep 17 00:00:00 2001 From: Timilehin Date: Sun, 5 Jan 2020 18:45:17 -0800 Subject: [PATCH 34/60] Revert "Added Nigeria Holidays" This reverts commit bec8dc36 --- app/src/main/assets/nigeria.ics | 70 ------------------- .../calendar/pro/activities/MainActivity.kt | 1 - 2 files changed, 71 deletions(-) delete mode 100644 app/src/main/assets/nigeria.ics diff --git a/app/src/main/assets/nigeria.ics b/app/src/main/assets/nigeria.ics deleted file mode 100644 index 95d6da2ea..000000000 --- a/app/src/main/assets/nigeria.ics +++ /dev/null @@ -1,70 +0,0 @@ -BEGIN:VCALENDER -BEGIN:VEVENT -SUMMARY:New Year's Day -UID:nig-20200101 -DTSTART;VALUE=DATE:20200101 -DTEND;VALUE=DATE:20200102 -STATUS:CONFIRMED -RRULE:FREQ=YEARLY;INTERVAL=1 -END:VEVENT -BEGIN:VEVENT -DTEND;VALUE=DATE:20200414 -DTSTART;VALUE=DATE:20200413 -SUMMARY:Easter Monday -UID:nig-20200413 -STATUS:CONFIRMED -END:VEVENT -BEGIN:VEVENT -DTEND;VALUE=DATE:20200411 -DTSTART;VALUE=DATE:20200410 -SUMMARY:Good Friday -UID:nig-20200410 -STATUS:CONFIRMED -END:VEVENT -BEGIN:VEVENT -SUMMARY:Christmas Day -UID:nig-20201225 -DTSTART;VALUE=DATE:20201225 -DTEND;VALUE=DATE:20201226 -STATUS:CONFIRMED -RRULE:FREQ=YEARLY;INTERVAL=1 -END:VEVENT -BEGIN:VEVENT -SUMMARY:Democracy Day -UID:nig-20200612 -DTEND;VALUE=DATE:20200613 -DTSTART;VALUE=DATE:20200612 -STATUS:CONFIRMED -RRULE:FREQ=YEARLY;INTERVAL=1 -END:VEVENT -BEGIN:VEVENT -SUMMARY:Sallah -UID:nig-20200525 -DTEND;VALUE=DATE:20200526 -DTSTART;VALUE=DATE:20200525 -END:VEVENT -BEGIN:VEVENT -SUMMARY: Worker's Day -UID:nig-20200501 -DTEND;VALUE=DATE:20200502 -DTSTART;VALUE=DATE:20200501 -STATUS:CONFIRMED -RRULE:FREQ=YEARLY;INTERVAL=1 -END:VEVENT -BEGIN:VEVENT -SUMMARY:Independence Day -UID:nig-20201001 -DTEND;VALUE=DATE:20201002 -DTSTART;VALUE=DATE:20201001 -STATUS:CONFIRMED -RRULE:FREQ=YEARLY;INTERVAL=1 -END:VEVENT -BEGIN:VEVENT -SUMMARY:Boxing Day -UID:nig-20201226 -DTSTART;VALUE=DATE:20201226 -DTEND;VALUE=DATE:20201227 -STATUS:CONFIRMED -RRULE:FREQ=YEARLY;INTERVAL=1 -END:VEVENT -END:VCALENDER diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt index ec71371be..76a102c49 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt @@ -913,7 +913,6 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { put("México", "mexico.ics") put("Nederland", "netherlands.ics") put("日本", "japan.ics") - put("Nigeria", "nigeria.ics") put("Norge", "norway.ics") put("Österreich", "austria.ics") put("Pākistān", "pakistan.ics") From 4142c637d5fd2b1e27b859cf10db90553480f504 Mon Sep 17 00:00:00 2001 From: Timilehin Date: Sun, 5 Jan 2020 18:53:39 -0800 Subject: [PATCH 35/60] Added Nigeria Holidays --- app/src/main/assets/nigeria.ics | 70 +++++++++++++++++++ .../calendar/pro/activities/MainActivity.kt | 1 + 2 files changed, 71 insertions(+) create mode 100644 app/src/main/assets/nigeria.ics diff --git a/app/src/main/assets/nigeria.ics b/app/src/main/assets/nigeria.ics new file mode 100644 index 000000000..95d6da2ea --- /dev/null +++ b/app/src/main/assets/nigeria.ics @@ -0,0 +1,70 @@ +BEGIN:VCALENDER +BEGIN:VEVENT +SUMMARY:New Year's Day +UID:nig-20200101 +DTSTART;VALUE=DATE:20200101 +DTEND;VALUE=DATE:20200102 +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +END:VEVENT +BEGIN:VEVENT +DTEND;VALUE=DATE:20200414 +DTSTART;VALUE=DATE:20200413 +SUMMARY:Easter Monday +UID:nig-20200413 +STATUS:CONFIRMED +END:VEVENT +BEGIN:VEVENT +DTEND;VALUE=DATE:20200411 +DTSTART;VALUE=DATE:20200410 +SUMMARY:Good Friday +UID:nig-20200410 +STATUS:CONFIRMED +END:VEVENT +BEGIN:VEVENT +SUMMARY:Christmas Day +UID:nig-20201225 +DTSTART;VALUE=DATE:20201225 +DTEND;VALUE=DATE:20201226 +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +END:VEVENT +BEGIN:VEVENT +SUMMARY:Democracy Day +UID:nig-20200612 +DTEND;VALUE=DATE:20200613 +DTSTART;VALUE=DATE:20200612 +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +END:VEVENT +BEGIN:VEVENT +SUMMARY:Sallah +UID:nig-20200525 +DTEND;VALUE=DATE:20200526 +DTSTART;VALUE=DATE:20200525 +END:VEVENT +BEGIN:VEVENT +SUMMARY: Worker's Day +UID:nig-20200501 +DTEND;VALUE=DATE:20200502 +DTSTART;VALUE=DATE:20200501 +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +END:VEVENT +BEGIN:VEVENT +SUMMARY:Independence Day +UID:nig-20201001 +DTEND;VALUE=DATE:20201002 +DTSTART;VALUE=DATE:20201001 +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +END:VEVENT +BEGIN:VEVENT +SUMMARY:Boxing Day +UID:nig-20201226 +DTSTART;VALUE=DATE:20201226 +DTEND;VALUE=DATE:20201227 +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +END:VEVENT +END:VCALENDER diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt index 76a102c49..ec71371be 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt @@ -913,6 +913,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { put("México", "mexico.ics") put("Nederland", "netherlands.ics") put("日本", "japan.ics") + put("Nigeria", "nigeria.ics") put("Norge", "norway.ics") put("Österreich", "austria.ics") put("Pākistān", "pakistan.ics") From ca8b6892bb3c499701fac54cf469da2d5d3e0c1e Mon Sep 17 00:00:00 2001 From: 10cents Date: Wed, 8 Jan 2020 22:58:55 +0100 Subject: [PATCH 36/60] time zones --- app/src/main/res/values-da/strings.xml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index d85029048..d6fe21a90 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -192,7 +192,7 @@ Senest brugte Anden tid Fremhæv weekender i visse visninger - Allow changing event time zones + Tillad ændring af en begivenheds tidszone CalDAV @@ -237,9 +237,8 @@ Hvis du vil synkronisere en Googlekalender, kan Googles officielle app klare det. For andre kalenderes vedkommende kan du bruge en 3. partsapp som for eksempel DAVx5. Jeg kan se mine påmindelser, men der er ingen lyd på. Hvad kan jeg gøre ved det? Såvel visning af påmindelser som afspilning af lyd til dem, er afhængig af systemet. Hvis ikke du kan høre nogen lyd, kan du prøve at gå ind i appens indstillinger. Her kan du trykke på \"Audio-stream anvendt af påmindelser\" og vælge en anden indstilling. Virker det stadig ikke skal du tjekke i dine lydindstillinger om lyden i det aktuelle valg er slået fra. - Does the app support time zones? - Yes, it does. By default all events are created in your current time zone. If you want to change an events\' time zone, - you will first have to enable the time zone picker at the app settings, then change it at the Event Details screen. It is disabled by default as most people won\'t need it. + Understøtter appen tidszoner? + Ja, det gør den. Som standard oprettes alle begivenheder i din aktuelle tidszone. Vil du ændre det for en given begivenhed, skal du først aktivere tidszonevælgeren i appens indstillinger og derefter ændre tidszone under selve begivenheden. Funktionen er fra starten deaktiveret da de færreste brugere behøver den. From a24a399fefbe2e8e19c929ad2bd6da06bd66e6ac Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 9 Jan 2020 23:12:24 +0100 Subject: [PATCH 37/60] updating the app icon, making it a bit flatter --- .../mipmap-hdpi/ic_launcher_foreground.png | Bin 5341 -> 4548 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 3404 -> 2852 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 8394 -> 6006 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 14544 -> 10451 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 21723 -> 14331 bytes .../metadata/android/en-US/images/square.png | Bin 0 -> 7655 bytes .../metadata/android/en-US/images/square.xcf | Bin 0 -> 65654 bytes 7 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 fastlane/metadata/android/en-US/images/square.png create mode 100644 fastlane/metadata/android/en-US/images/square.xcf diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png index 423cf30c326dab149816188c74bafe8adb7d564e..c52d0b740b5ab7a9d6951e92b64b61f9639f817f 100644 GIT binary patch literal 4548 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 literal 5341 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 SiHG)W2{6(#MOW)!asLDA{m!WX diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png index bba1366f7c2f636da4f77efd8fb9cf6c386b0d01..1d9eee303684336e7b2b1104120790397241f2ca 100644 GIT binary patch literal 2852 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 WHNIAv;&}Z10uUxvaOzF>$NvG6K!5uH literal 3404 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 literal 8394 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 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png index 7331e3e18e29db8ff45e45642516a4c00ea29648..a5f1c9de8116e337ad1805e1211a77856bef3d15 100644 GIT binary patch literal 14331 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 literal 21723 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 diff --git a/fastlane/metadata/android/en-US/images/square.png b/fastlane/metadata/android/en-US/images/square.png new file mode 100644 index 0000000000000000000000000000000000000000..8aa0089ebb6f10affc998bca1f8c1bfe7ae4b47d GIT binary patch literal 7655 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 Lt4oD*;K~00mvmfu literal 0 HcmV?d00001 diff --git a/fastlane/metadata/android/en-US/images/square.xcf b/fastlane/metadata/android/en-US/images/square.xcf new file mode 100644 index 0000000000000000000000000000000000000000..d8eac76a3e7c167930cc14427215059b4c81f8f9 GIT binary patch literal 65654 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 literal 0 HcmV?d00001 From 445d23856cf43fce90219055445c573c39522458 Mon Sep 17 00:00:00 2001 From: youdly Date: Sun, 12 Jan 2020 05:26:41 +0000 Subject: [PATCH 38/60] Add 2020 & 2021 Australian holidays --- app/src/main/assets/australia.ics | 257 +++++++++++++++++++----------- 1 file changed, 160 insertions(+), 97 deletions(-) diff --git a/app/src/main/assets/australia.ics b/app/src/main/assets/australia.ics index ec3a519b0..9af6a93be 100755 --- a/app/src/main/assets/australia.ics +++ b/app/src/main/assets/australia.ics @@ -1,5 +1,21 @@ BEGIN:VCALENDAR BEGIN:VEVENT +DTSTART;VALUE=DATE:20180101 +DTEND;VALUE=DATE:20180102 +UID:20180101_60o30chhcgo30c1g60o30dr568@google.com +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +SUMMARY:New Year's Day +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180126 +DTEND;VALUE=DATE:20180127 +UID:20180126_60o30chhcko30c1g60o30dr568@google.com +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +SUMMARY:Australia Day +END:VEVENT +BEGIN:VEVENT DTSTART;VALUE=DATE:20180507 DTEND;VALUE=DATE:20180508 UID:20180507_60o30chicko36e1g60o30dr568@google.com @@ -48,13 +64,6 @@ RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=3;BYDAY=2MO SUMMARY:Eight Hours Day (Tasmania) END:VEVENT BEGIN:VEVENT -DTSTART;VALUE=DATE:20190421 -DTEND;VALUE=DATE:20190422 -UID:20190421_60o30chi6ko38c1g60o30dr56c@google.com -STATUS:CONFIRMED -SUMMARY:Easter Day (regional holiday) -END:VEVENT -BEGIN:VEVENT DTSTART;VALUE=DATE:20180425 DTEND;VALUE=DATE:20180426 UID:20180425_60o30chi6so32c1g60o30dr568@google.com @@ -63,27 +72,6 @@ RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:ANZAC Day END:VEVENT BEGIN:VEVENT -DTSTART;VALUE=DATE:20180928 -DTEND;VALUE=DATE:20180929 -UID:20180928_60o30p9k60o30c1g60o30dr568@google.com -STATUS:CONFIRMED -SUMMARY:AFL Grand Final Friday (Victoria) -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190527 -DTEND;VALUE=DATE:20190528 -UID:20190527_60o32dr3cgo30c1g60o30dr56c@google.com -STATUS:CONFIRMED -SUMMARY:Reconciliation Day (Australian Capital Territory) -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180924 -DTEND;VALUE=DATE:20180925 -UID:20180924_60o30chhcoo36c1g60o30dr568@google.com -STATUS:CONFIRMED -SUMMARY:Queen's Birthday (Western Australia) -END:VEVENT -BEGIN:VEVENT DTSTART;VALUE=DATE:20181001 DTEND;VALUE=DATE:20181002 UID:20181001_60o30chhcoo38c1g60o30dr568@google.com @@ -100,20 +88,6 @@ RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=6;BYDAY=2MO SUMMARY:Queen's Birthday (regional holiday) END:VEVENT BEGIN:VEVENT -DTSTART;VALUE=DATE:20190420 -DTEND;VALUE=DATE:20190421 -UID:20190420_60o30chi6go32c1g60o30dr56c@google.com -STATUS:CONFIRMED -SUMMARY:Holy Saturday (regional holiday) -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190814 -DTEND;VALUE=DATE:20190815 -UID:20190814_60o30chj6go30c1g60o30dr56c@google.com -STATUS:CONFIRMED -SUMMARY:Royal National Agricultural Show Day Queensland (Queensland) -END:VEVENT -BEGIN:VEVENT DTSTART;VALUE=DATE:20180212 DTEND;VALUE=DATE:20180213 UID:20180212_60o30e1pcko30e1g60o30dr568@google.com @@ -130,13 +104,6 @@ RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=3;BYDAY=2MO SUMMARY:Canberra Day (Australian Capital Territory) END:VEVENT BEGIN:VEVENT -DTSTART;VALUE=DATE:20190930 -DTEND;VALUE=DATE:20191001 -UID:20190930_60o30chhcoo36e1g60o30dr56c@google.com -STATUS:CONFIRMED -SUMMARY:Queen's Birthday (Western Australia) -END:VEVENT -BEGIN:VEVENT DTSTART;VALUE=DATE:20180806 DTEND;VALUE=DATE:20180807 UID:20180806_60o30chicgo30e1g60o30dr568@google.com @@ -177,13 +144,6 @@ RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=8;BYDAY=1MO SUMMARY:New South Wales Bank Holiday (New South Wales) END:VEVENT BEGIN:VEVENT -DTSTART;VALUE=DATE:20190423 -DTEND;VALUE=DATE:20190424 -UID:20190423_60o30chj6co30c1g60o30dr56c@google.com -STATUS:CONFIRMED -SUMMARY:Easter Tuesday (Tasmania) -END:VEVENT -BEGIN:VEVENT DTSTART;VALUE=DATE:20180312 DTEND;VALUE=DATE:20180313 UID:20180312_60o30chicoo30e1g60o30dr568@google.com @@ -224,12 +184,12 @@ RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:Remembrance Day END:VEVENT BEGIN:VEVENT -DTSTART;VALUE=DATE:20180101 -DTEND;VALUE=DATE:20180102 -UID:20180101_60o30chhcgo30c1g60o30dr568@google.com +DTSTART;VALUE=DATE:20181224 +DTEND;VALUE=DATE:20181225 +UID:20181224_60o30chi60o30c1g60o30dr568@google.com STATUS:CONFIRMED RRULE:FREQ=YEARLY;INTERVAL=1 -SUMMARY:New Year's Day +SUMMARY:Christmas Eve END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20181225 @@ -240,28 +200,6 @@ RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:Christmas Day END:VEVENT BEGIN:VEVENT -DTSTART;VALUE=DATE:20180126 -DTEND;VALUE=DATE:20180127 -UID:20180126_60o30chhcko30c1g60o30dr568@google.com -STATUS:CONFIRMED -RRULE:FREQ=YEARLY;INTERVAL=1 -SUMMARY:Australia Day -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190128 -DTEND;VALUE=DATE:20190129 -UID:20190128_60o30chhcko30e1g60o30dr56c@google.com -STATUS:CONFIRMED -SUMMARY:Australia Day observed -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190422 -DTEND;VALUE=DATE:20190423 -UID:20190422_60o30chi6oo30c1g60o30dr56c@google.com -STATUS:CONFIRMED -SUMMARY:Easter Monday -END:VEVENT -BEGIN:VEVENT DTSTART;VALUE=DATE:20181226 DTEND;VALUE=DATE:20181227 UID:20181226_60o30chi68o30c1g60o30dr568@google.com @@ -270,21 +208,6 @@ RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:Boxing Day END:VEVENT BEGIN:VEVENT -DTSTART;VALUE=DATE:20181224 -DTEND;VALUE=DATE:20181225 -UID:20181224_60o30chi60o30c1g60o30dr568@google.com -STATUS:CONFIRMED -RRULE:FREQ=YEARLY;INTERVAL=1 -SUMMARY:Christmas Eve -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190419 -DTEND;VALUE=DATE:20190420 -UID:20190419_60o30chi6co30c1g60o30dr56c@google.com -STATUS:CONFIRMED -SUMMARY:Good Friday -END:VEVENT -BEGIN:VEVENT DTSTART;VALUE=DATE:20181231 DTEND;VALUE=DATE:20190101 UID:20181231_60o30chhcco30c1g60o30dr568@google.com @@ -292,4 +215,144 @@ STATUS:CONFIRMED RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:New Year's Eve END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20200127 +DTEND;VALUE=DATE:20200128 +UID:20200127_60o30chhcko30e1g60o30dr56g@google.com +STATUS:CONFIRMED +SUMMARY:Australia Day observed +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20200412 +DTEND;VALUE=DATE:20200413 +UID:20200412_60o30chi6ko36c1g60o30dr56g@google.com +STATUS:CONFIRMED +SUMMARY:Easter Sunday (regional holiday) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20210404 +DTEND;VALUE=DATE:20210405 +UID:20210404_60o30chi6ko3ac1g60o30dr56k@google.com +STATUS:CONFIRMED +SUMMARY:Easter Sunday (regional holiday) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20200413 +DTEND;VALUE=DATE:20200414 +UID:20200413_60o30chi6oo30c1g60o30dr56g@google.com +STATUS:CONFIRMED +SUMMARY:Easter Monday +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20210405 +DTEND;VALUE=DATE:20210406 +UID:20210405_60o30chi6oo30c1g60o30dr56k@google.com +STATUS:CONFIRMED +SUMMARY:Easter Monday +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20200414 +DTEND;VALUE=DATE:20200415 +UID:20200414_60o30chj6co30c1g60o30dr56g@google.com +STATUS:CONFIRMED +SUMMARY:Easter Tuesday (Tasmania) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20210406 +DTEND;VALUE=DATE:20210407 +UID:20210406_60o30chj6co30c1g60o30dr56k@google.com +STATUS:CONFIRMED +SUMMARY:Easter Tuesday (Tasmania) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20200410 +DTEND;VALUE=DATE:20200411 +UID:20200410_60o30chi6co30c1g60o30dr56g@google.com +STATUS:CONFIRMED +SUMMARY:Good Friday +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20210402 +DTEND;VALUE=DATE:20210403 +UID:20210402_60o30chi6co30c1g60o30dr56k@google.com +STATUS:CONFIRMED +SUMMARY:Good Friday +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20200411 +DTEND;VALUE=DATE:20200412 +UID:20200411_60o30chi6go32c1g60o30dr56g@google.com +STATUS:CONFIRMED +SUMMARY:Holy Saturday (regional holiday) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20210403 +DTEND;VALUE=DATE:20210404 +UID:20210403_60o30chi6go32c1g60o30dr56k@google.com +STATUS:CONFIRMED +SUMMARY:Holy Saturday (regional holiday) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20200601 +DTEND;VALUE=DATE:20200602 +UID:20200601_60o32dr3cgo30e1g60o30dr56g@google.com +STATUS:CONFIRMED +SUMMARY:Reconciliation Day (Australian Capital Territory) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20210531 +DTEND;VALUE=DATE:20210601 +UID:20210531_60o32dr3cgo30e1g60o30dr56k@google.com +STATUS:CONFIRMED +SUMMARY:Reconciliation Day (Australian Capital Territory) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20200812 +DTEND;VALUE=DATE:20200813 +UID:20200812_60o30chj6go30c1g60o30dr56g@google.com +STATUS:CONFIRMED +SUMMARY:Royal National Agricultural Show Day Queensland (Queensland) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20210811 +DTEND;VALUE=DATE:20210812 +UID:20210811_60o30chj6go30c1g60o30dr56k@google.com +STATUS:CONFIRMED +SUMMARY:Royal National Agricultural Show Day Queensland (Queensland) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20200928 +DTEND;VALUE=DATE:20200929 +UID:20200928_60o30chhcoo36e1g60o30dr56g@google.com +STATUS:CONFIRMED +SUMMARY:Queen's Birthday (Western Australia) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20210927 +DTEND;VALUE=DATE:20210928 +UID:20210927_60o30chhcoo36e1g60o30dr56k@google.com +STATUS:CONFIRMED +SUMMARY:Queen's Birthday (Western Australia) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20201228 +DTEND;VALUE=DATE:20201229 +UID:20201228_60o30chic8o30c1g60o30dr56g@google.com +STATUS:CONFIRMED +SUMMARY:Christmas/Boxing Day Holiday +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20211227 +DTEND;VALUE=DATE:20211228 +UID:20211227_60o30chic4o30c1g60o30dr56k@google.com +STATUS:CONFIRMED +SUMMARY:Christmas/Boxing Day Holiday +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20211228 +DTEND;VALUE=DATE:20211229 +UID:20211228_60o32o9hc4o30e1g60o30dr56k@google.com +STATUS:CONFIRMED +SUMMARY:Christmas/Boxing Day Holiday +END:VEVENT END:VCALENDAR From f33cb69277f108b065e3fd6011dc6fb9d7d90892 Mon Sep 17 00:00:00 2001 From: herkul-s <58790982+herkul-s@users.noreply.github.com> Date: Sat, 25 Jan 2020 23:44:30 +0100 Subject: [PATCH 39/60] updating czech strings --- app/src/main/res/values-cs/strings.xml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 6a1759d73..b53a8ed57 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -104,9 +104,9 @@ Přidat dalšího účastníka Můj stav: - Zůčastním se - Nezůčastním se - Možná se zůčastním + Zúčastním se + Nezúčastním se + Možná se zúčastním Pozvaný @@ -211,13 +211,13 @@ - Pondělí - Úterý - Středu - Čtvrtek - Pátek - Sobotu - Neděli + pondělí + úterý + středu + čtvrtek + pátek + sobotu + neděli Cvičení @@ -232,9 +232,9 @@ Jak mohu odstranit svátky importované přes tlačítko \"Přidat svátky\"? Svátky vytvořené touto cestou jsou vloženy pod novým typem události \"Svátky\". Odstranit je můžete přes: Nastavení -> Správa typů událostí -> - dlouze podržte daný typ události a stisknete tlačítko s ikonou koše pro odstranění. + dlouze podržte daný typ události a stiskněte tlačítko s ikonou koše pro odstranění. Mohu synchronizovat své události pomocí Google Kalendáře nebo přes jinou službu podporující CalDav? - Ano, zapnutím \"CalDAV synchronizace\" v nastavení aplikace a vybráním kalendářů se kterými se chcete synchronizovat. Budete ovšem potřebovat nějakou aplikaci třetí strany pro samotné synchronizovaní mezi zařízením a servery. + Ano, zapnutím \"CalDAV synchronizace\" v nastavení aplikace a vybráním kalendářů, se kterými se chcete synchronizovat. Budete ovšem potřebovat nějakou aplikaci třetí strany pro samotné synchronizovaní mezi zařízením a servery. Pokud chcete synchronizovat Google kalendář, bude vám stačit jejich oficiální aplikace kalendáře. Pro jiné kalendáře budete potřebovat synchronizační adaptér třetí strany, například DAVx5. Připomínku vidím, ale neslyším žádný zvuk. Co s tím? Nejen zobrazování aktuální připomínky, ale i přehrávání zvuku je velmi ovlivněno operačním systémem. Pokud neslyšíte žádný zvuk, zkuste jít do nastavení aplikace, @@ -272,7 +272,7 @@ ✔️ Podpora exportu a importu událostí skrze .ics soubory ✔️ Možnost nastavení více připomínek k události, nebo změna jejich zvuku a vibrací ✔️ Možnost odložení připomínky - ✔️ Jednoduché přidávání svátů, narozenin, výročí a schůzek + ✔️ Jednoduché přidávání svátků, narozenin, výročí a schůzek ✔️ Nastavení událostí – začátek, trvání, připomínky, atd ✔️ Možnost přidání účastníků pro každou událost ✔️ Použití jako soukromý i business kalendář From 44fa90175f56b8926eed53e108bbe34cd6c91cb3 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 26 Jan 2020 22:09:26 +0100 Subject: [PATCH 40/60] fixing a typo in the czech app long description --- fastlane/metadata/android/cs/full_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/cs/full_description.txt b/fastlane/metadata/android/cs/full_description.txt index 7c4989cda..45bdabe2e 100644 --- a/fastlane/metadata/android/cs/full_description.txt +++ b/fastlane/metadata/android/cs/full_description.txt @@ -21,7 +21,7 @@ Díky dennímu, týdennímu a měsíčnímu pohledu si velmi snadno prohlédnete ✔️ Podpora exportu a importu událostí skrze .ics soubory ✔️ Možnost nastavení více připomínek k události, nebo změna jejich zvuku a vibrací ✔️ Možnost odložení připomínky -✔️ Jednoduché přidávání svátů, narozenin, výročí a schůzek +✔️ Jednoduché přidávání svátků, narozenin, výročí a schůzek ✔️ Nastavení událostí – začátek, trvání, připomínky, atd ✔️ Možnost přidání účastníků pro každou událost ✔️ Použití jako soukromý i business kalendář From 3c9877620e4e013e5ffba4231df95fea43b96988 Mon Sep 17 00:00:00 2001 From: "Md. Nowshad Hasan" Date: Wed, 29 Jan 2020 09:23:30 +0600 Subject: [PATCH 41/60] Add Bengali translation --- app/src/main/res/values-bn/strings.xml | 300 +++++++++++++++++++++++++ 1 file changed, 300 insertions(+) create mode 100644 app/src/main/res/values-bn/strings.xml diff --git a/app/src/main/res/values-bn/strings.xml b/app/src/main/res/values-bn/strings.xml new file mode 100644 index 000000000..351622df1 --- /dev/null +++ b/app/src/main/res/values-bn/strings.xml @@ -0,0 +1,300 @@ + + + সাধারণ ক্যালেন্ডার + ক্যালেন্ডার + দৃশ্য পরিবর্তন করুন + প্রাত্যহিক ভিউ + সাপ্তাহিক ভিউ + মাসিক ভিউ + বাৎসরিক ভিউ + ইভেন্টগুলির সহজ তালিকা + মনে হচ্ছে সামনে তোমার কোন ইভেন্ট নেই + আজকের দিনে যাও + তারিখে যাও + হাই,\n\মনে হচ্ছে তুমি আগের পুরনো ফ্রি অ্যাপ ভার্সন থেকে আপগ্রেড + করেছ। তোমাকে একটি .ics ফাইল এক্সপোর্ট করার মাধ্যমে লোকালি জমে থাকা ইভেন্টগুলো মাইগ্রেট করতে হবে, তারপর ইমপোর্ট + করতে হবে। ইমপোর্ট-এক্সপোর্টের বাটনগুলো তুমি মেইন স্ক্রিনের মেনুতেই পাবে।\n\nএরপর তুমি পুরনো ভার্সনটি আনইনস্টল করতে পার, + যেটার অ্যাপ সেটিংসের উপরের দিকে \'প্রোতে আপগ্রেড করো\' বাটনটি আছে। এরপর তোমাকে শুধু অ্যাপ সেটিংসটি রিসেট করতে হবে। + \n\nধন্যবাদ! + + + মাসিক ক্যালেন্ডার + ক্যালেন্ডারের ইভেন্ট তালিকা + + + ইভেন্ট + ইভেন্ট পরিবর্তন + নতুন ইভেন্ট + নতুন ইভেন্ট তৈরি করুন + ডুপ্লিকেট ইভেন্ট + শিরোনাম খালি হতে পারবে না + ইভেন্টটি শুরুর আগে শেষ হতে পারবে না + ইভেন্ট সফলভাবে যোগ হয়েছে + ইভেন্ট সফলভাবে আপডেট হয়েছে + টাইপের মত করে ইভেন্টগুলো ফিল্টার করুন + ম্যাপে দেখানোর জন্য লোকেশন পূরণ করুন + একটি ইভেন্ট আসছে + + + পুনরাবৃত্তি + পুনরাবৃত্তি নেই + দৈনন্দিন + সাপ্তাহিক + মাসিক + বার্ষিক + সপ্তাহ + মাস + বছর + পুনরাবৃত্তি ততক্ষণ পর্যন্ত + চিরতরে + ঘটনাটি পুনরাবৃত্তিযোগ্য + সিলেকশনটিতে পুনরাবৃত্তি ইভেন্টগুলি রয়েছে + কেবলমাত্র সিলেক্টেড ঘটনা মুছুন + এটি এবং ভবিষ্যতের সমস্ত ঘটনা মুছুন + সমস্ত ঘটনা মুছুন + সিলেক্টেড ঘটনা আপডেট করুন + সমস্ত ঘটনা আপডেট করুন + একটি তারিখ পর্যন্ত পুনরাবৃত্তি করুন + x ঘটনার পর পুনরাবৃত্তি থামান + চিরকাল পুনরাবৃত্তি করুন + বার + পুনরাবৃত্তি + পুনরাবৃত্তি + প্রতিদিন + সিলেক্টেড দিনগুলিতে + একই দিনে + শেষ দিনে + প্রতি মাসে একই দিনে পুনরাবৃত্তি করুন + প্রতি মাসে শেষ দিনে পুনরাবৃত্তি করুন + প্রতি বছরের একই দিনে পুনরাবৃত্তি করুন + প্রতিটি পুনরাবৃত্তি + প্রতিটি + প্রথম + দ্বিতীয় + তৃতীয় + চতুর্থ + শেষ + + + + প্রতিটি পুনরাবৃত্তি + প্রতিটি + প্রথম + দ্বিতীয় + তৃতীয় + চতুর্থ + শেষ + + + জন্মদিন + কন্টাক্টের জন্মদিন যোগ করুন + কোন জন্মদিন পাওয়া যায় নি + কোন নতুন জন্মদিন পাওয়া যায় নি + জন্মদিন সফলভাবে যোগ হয়েছে + + + বার্ষিকী + কন্টাক্টের বার্ষিকী যোগ করুন + কোন বার্ষিকী পাওয়া যায় নি + কোন নতুন বার্ষিকী পাওয়া যায় নি + বার্ষিকী সফলভাবে যোগ হয়েছে + + + রিমাইন্ডার + আগে + আরেকটি রিমাইন্ডার যোগ করুন + ইভেন্ট রিমাইন্ডার + + + অন্য একজন অংশগ্রহণকারী যুক্ত করুন + আমার অবস্থাঃ + যাবে + যাবে না + মনে হয় যাবে + আমন্ত্রিত + + + একটি দেশ বা টাইম জোন প্রবেশ করান + + + ইভেন্ট ইমপোর্ট করুন + ইভেন্ট এক্সপোর্ট করুন + একটি .ics ফাইল হতে ইভেন্ট ইমপোর্ট করুন + একটি .ics ফাইলে ইভেন্ট এক্সপোর্ট করুন + ডিফল্ট ইভেন্ট টাইপ + আগের ইভেন্টগুলোও এক্সপোর্ট করুন + ইভেন্ট টাইপ অন্তর্ভুক্ত করুন + ফাইলের নাম (.ics ছাড়া) + ফাইলটিতে ইভেন্ট টাইপগুলি ওভাররাইড করুন + + + টাইটেল + লোকেশন + বর্ণনা + সারাদিন + + + সপ্তাহ + + + ইভেন্ট টাইপগুলি + নতুন টাইপ যোগ করুন + টাইপ এডিট করুন + এই টাইটেলের টাইপটি ইতিমধ্যে আছে + রঙ + নিয়মিত ইভেন্ট + ডিফল্ট ইভেন্ট টাইপ মুছা যাবে না + একটি ইভেন্ট টাইপ সিলেক্ট করুন + প্রভাবিত ইভেন্টগুলিকে ডিফল্ট ইভেন্ট টাইপে সরান + স্থায়ীভাবে প্রভাবিত ইভেন্টগুলি মুছে দিন + কোনও CalDAV ক্যালেন্ডার অপসারণ করতে আপনাকে এটি আনসিংক্রোনাইজ করতে হবে + + + ছুটির দিনগুলি + ছুটির দিন যোগ করুন + জাতীয় ছুটি + ধর্মীয় ছুটি + \"ছুটির দিন\" ইভেন্ট টাইপে ছুটির দিন সফলভাবে ইমপোর্ট হয়েছে + কিছু ইভেন্ট ইমপোর্ট করতে ব্যর্থ হয়েছে + ছুটির দিন ইমপোর্ট করতে ব্যর্থ হয়েছে + + + ইভেন্ট টাইপ ম্যানেজ করুন + দিনের শুরু + দিনের শেষ + সপ্তাহের সংখ্যাগুলি দেখান + রিমাইন্ডার নোটিফিকেশনে ভাইব্রেট করো + রিমাইন্ডারের শব্দ + রিংটোন সেট করতে সক্ষম কোনও অ্যাপ্লিকেশন পাওয়া যায় নি + কিছুই না + দিনটি শুরু হওয়ার আগে শেষ হতে পারে না + CalDAV সিঙ্ক + ইভেন্ট লিস্ট + পূর্ববর্তী ইভেন্টগুলি দেখান + লোকেশনের সাথে ইভেন্ট বর্ণনা রিপ্লেস করুন + সব ইভেন্ট মুছে দিন + আপনি কি নিশ্চিত যে আপনি সমস্ত ইভেন্ট মুছতে চান? এটি আপনার ইভেন্টের টাইপ এবং অন্যান্য সেটিংস অক্ষত রেখে দেবে। + একটি গ্রিড দেখান + ডিসমিস না হওয়া পর্যন্ত রিমাইন্ডারগুলো লুপে চালান + পূর্ববর্তী ইভেন্টগুলি অস্পষ্ট করুন + ইভেন্টস + রিমাইন্ডার ব্যবহৃত অডিও স্ট্রিম + সিস্টেম + এলার্ম + নোটিফিকেশন + রিং + পূর্ববর্তী ইভেন্টগুলোর রিমাইন্ডারকে নতুন ইভেন্টের ডিফল্ট হিসেবে ব্যাবহার করুন + ডিফল্ট রিমাইন্ডার ১ + ডিফল্ট রিমাইন্ডার ২ + ডিফল্ট রিমাইন্ডার ৩ + ইভেন্ট তালিকা উইজেট থেকে খোলার জন্য দেখুন + শেষ ভিউ + নতুন ইভেন্ট + ডিফল্ট শুরু টাইম + পরবর্তী পুরো ঘন্টা + ডিফল্ট সময় + সর্বশেষ ব্যবহৃত + অন্য সময় + কিছু ভিউতে সাপ্তাহিক ছুটি হাইলাইট করুন + ইভেন্টের টাইম জোন পরিবর্তন করার অনুমতি দিন + + + CalDAV + সিঙ্ক করতে ক্যালেন্ডার নির্বাচন করুন + সিঙ্ক হওয়া ক্যালেন্ডারগুলি ম্যানেজ করুন + কেবল স্থানীয়ভাবে স্টোর করুন + রিফ্রেশ CalDAV ক্যালেন্ডার + রিফ্রেশিং… + রিফ্রেশ সম্পূর্ণ + ক্যালেন্ডার এডিট ব্যর্থ হয়েছে + সিঙ্কিং… + সিঙ্ক সম্পূর্ণ + একটি আলাদা রঙ সিলেক্ট করুন(কেবল স্থানীয়ভাবে প্রয়োগ করা যেতে পারে) + আপনার সিলেক্টেড ক্যালেন্ডারে লেখার অনুমতি নেই + ইভেন্ট পাওয়া যায় নি। অ্যাপ্লিকেশন সেটিংসে উপযুক্ত ক্যালেন্ডারের জন্য দয়া করে CalDAV সিঙ্ক সক্ষম করুন। + + + + সোমবার + মঙ্গলবার + বুধবার + বৃহস্পতিবার + শুক্রবার + শনিবার + রবিবার + + + ওয়ার্কআউট + লেগ ডে + জন এর সাথে মিটিং + রকস্টোন বাগানে + লাইব্রেরী + মেরির সাথে লাঞ্চ + প্লাজাতে + কফি টাইম + + + আমি কীভাবে \"ছুটি যুক্ত করুন?\" বাটনের মাধ্যমে ইমপোর্ট করা ছুটিগুলি সরিয়ে ফেলতে পারি? + \"ছুটির দিন\" নামে নতুন ইভেন্ট টাইপ ইনসার্ট করার মাধ্যমে ছুটির দিন তৈরি হয়। + আমি কী গুগল ক্যালেন্ডার বা CalDAV সমর্থনকারী অন্যান্য সার্ভিস দিয়ে আমার ইভেন্টগুলি সিঙ্ক করতে পারি? + হ্যাঁ, অ্যাপ্লিকেশন সেটিংসে কেবল Cal \"CalDAV সিঙ্ক\" টগল করুন এবং আপনি যে ক্যালেন্ডার সিঙ্ক করতে চান তা সিলেক্ট করুন। তবে আপনার ডিভাইস এবং সার্ভারগুলির মধ্যে সিঙ্ক্রোনাইজেশন করার জন্য কিছু তৃতীয় পক্ষের অ্যাপ্লিকেশন প্রয়োজন। +         আপনি যদি কোনও গুগল ক্যালেন্ডার সিঙ্ক্রোনাইজ করতে চান তবে তাদের অফিসিয়াল ক্যালেন্ডার অ্যাপটি কাজটি করবে। অন্যান্য ক্যালেন্ডারগুলির জন্য আপনার একটি তৃতীয় পক্ষের সিঙ্ক অ্যাডাপ্টার প্রয়োজন, উদাহরণস্বরূপ DAVx5। + আমি ভিজ্যুয়াল রিমাইন্ডার দেখছি, তবে কোনও অডিও শুনতে পাচ্ছি না। আমি কি করতে পারি? + কেবল আসল রিমাইন্ডারটি প্রদর্শন করে নয়, অডিও বাজানোও সিস্টেম দ্বারা অত্যন্ত প্রভাবিত। যদি আপনি কোনও শব্দ শুনতে না পান তবে অ্যাপ্লিকেশন সেটিংসে যাওয়ার চেষ্টা করুন, +         \"রিমাইন্ডার দ্বারা ব্যবহৃত অডিও স্ট্রিম\" অপশন চাপুন এবং এটিতে ভিন্ন কোন মান দিন। এটি যদি এখনও কাজ না করে তবে আপনার স্ট্রিম সেটিংস পরীক্ষা করে দেখুন, যদি নির্দিষ্ট স্ট্রিমটি নিঃশব্দ করা না হয়। + এ্যাপটি কি টাইম জোন সাপোর্ট করে? + হ্যাঁ এটা করে। ডিফল্টরূপে সমস্ত ইভেন্ট আপনার বর্তমান টাইম জোনে তৈরি করা হয়। আপনি যদি কোনও ইভেন্টের টাইম জোন পরিবর্তন করতে চান, +         আপনাকে প্রথমে অ্যাপ্লিকেশন সেটিংসে টাইম জোন পিকার ইনাবল করতে হবে, তারপরে ইভেন্ট ডিটেইলস স্ক্রিনে এটি পরিবর্তন করতে হবে। এটি ডিফল্টরূপে ডিজেবল করা, কারণ বেশিরভাগ লোকের এটির প্রয়োজন হয় না. + + + + সাধারণ ক্যালেন্ডার প্রো - ইভেন্ট এবং রিমাইন্ডার + + আপনার জীবনের গুরুত্বপূর্ণ মুহুর্তগুলিতে অবহিত হন। + + সাধারণ ক্যালেন্ডার প্রো একটি সম্পূর্ণ কাস্টমাইজযোগ্য, অফলাইন ক্যালেন্ডার যা একটি ক্যালেন্ডারের ঠিক কী করা উচিত সেটার জন্য ডিজাইন করা হয়েছে। কোনও জটিল ফিচার, অপ্রয়োজনীয় অনুমতি এবং কোনও বিজ্ঞাপন নেই! + + আপনি একক বা পুনরাবৃত্ত ইভেন্টগুলি, জন্মদিন, বার্ষিকী, ব্যবসায়িক সভা, অ্যাপয়েন্টমেন্ট বা অন্য যে কোনও কিছু সংগঠিত করছেন না কেন, সাধারণ ক্যালেন্ডার প্রো এটি সংগঠিত থাকা সহজ করে তোলে । অবিশ্বাস্য বিভিন্ন কাস্টমাইজেশন বিকল্পগুলি র মাধ্যমে আপনি ইভেন্টের রিমাইন্ডার, নোটিফিকেশনের শব্দ, ক্যালেন্ডার উইজেট এবং অ্যাপটি কেমন দেখায় তা কাস্টমাইজ করতে পারবেন। + + দৈনিক, সাপ্তাহিক এবং মাসিক ভিউগুলি আপনার আসন্ন ইভেন্টগুলি এবং অ্যাপয়েন্টমেন্টগুলির চেকিংকে হালকা করে দেয়। এমনকি আপনি ক্যালেন্ডার ভিউয়ের পরিবর্তে সমস্ত কিছু ইভেন্টের সাধারণ তালিকা হিসাবে দেখতে পারেন, তাই আপনার জীবনে কী আসবে এবং কখন আসবে তা আপনি ঠিক জানেন। + + ---------------------------------------------------------- + সাধারণ ক্যালেন্ডার প্রো - ইভেন্ট এবং রিমাইন্ডার + ---------------------------------------------------------- + + ✔️ কোনও বিজ্ঞাপন বা বিরক্তিকর পপআপ নেই + ✔️ কোনও ইন্টারনেট অ্যাক্সেসের প্রয়োজন নেই, আপনাকে আরও গোপনীয়তা এবং সুরক্ষা প্রদান করে + ✔️ কেবল খালি ন্যূনতম অনুমতি প্রয়োজন + ✔️ সরলতার উপর জোর দেয়া হয় - একটি ক্যালেন্ডারের যা করতে হবে তাই করে! + ✔️ ওপেন সোর্স + ✔️ সম্পূর্ণ কাস্টমাইজযোগ্য থিম এবং ক্যালেন্ডার / ইভেন্ট উইজেট + ✔️ ২৯ টি ভাষায় অনূদিত + ✔️ অন্য ডিভাইসে এক্সপোর্ট করতে .txt ফাইলগুলিতে সেটিংস ইমপোর্ট করুন + ✔️ CalDAV ক্যালেন্ডার সিঙ্কটি ডিভাইসগুলির মধ্যে ইভেন্টগুলি সিঙ্ক করতে সাপোর্ট করে + ✔️ ক্যালেন্ডারে দৈনিক, সাপ্তাহিক, মাসিক, বার্ষিক এবং ইভেন্টের ভিউ + ✔️ .ics ফাইলের মাধ্যমে ইভেন্টগুলি এক্সপোর্ট ও ইমপোর্ট করা যায় + ✔️ একাধিক ইভেন্ট রিমাইন্ডার সেট করুন, ইভেন্ট রিমাইন্ডার শব্দ এবং ভাইব্রেশন কাস্টমাইজ করুন + ✔️ রিমাইন্ডারের জন্য স্নুজ অপশন + ✔️ সহজেই ছুটি, জন্মদিন, বার্ষিকী এবং অ্যাপয়েন্টমেন্ট যুক্ত করুন + ✔️ ইভেন্টগুলি কাস্টমাইজ করুন - শুরুর সময়, সময়কাল, রিমাইন্ডার ইত্যাদি + ✔️ প্রতিটি ইভেন্টে ইভেন্টের অংশগ্রহণকারীদের যুক্ত করুন + ✔️ ব্যক্তিগত ক্যালেন্ডার বা ব্যবসায় ক্যালেন্ডার হিসাবে ব্যবহার করুন + ✔️ একটি ইভেন্ট সম্পর্কে আপনাকে সতর্ক করতে রিমাইন্ডার এবং ইমেইল নোটিফিকেশনের মধ্যে বাছাই করুন + + সহজ ক্যালেন্ডার প্রো ডাউনলোড করুন - কোন বিজ্ঞাপন ছাড়া সহজ অফলাইন ক্যালেন্ডার! + + সিম্পল টুলসের সম্পূর্ণ স্যুটটি এখানে দেখুন: + https://www.simplemobiletools.com + + Facebook: + https://www.facebook.com/simplemobiletools + + Reddit: + https://www.reddit.com/r/SimpleMobileTools + + + + From 6030857feae000df4409fb045e26a62a0033494a Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 3 Feb 2020 10:20:44 +0100 Subject: [PATCH 42/60] adding Bengali app translation --- .../metadata/android/bn/full_description.txt | 39 +++++++++++++++++++ .../metadata/android/bn/short_description.txt | 1 + fastlane/metadata/android/bn/title.txt | 1 + 3 files changed, 41 insertions(+) create mode 100644 fastlane/metadata/android/bn/full_description.txt create mode 100644 fastlane/metadata/android/bn/short_description.txt create mode 100644 fastlane/metadata/android/bn/title.txt diff --git a/fastlane/metadata/android/bn/full_description.txt b/fastlane/metadata/android/bn/full_description.txt new file mode 100644 index 000000000..cc95b5e48 --- /dev/null +++ b/fastlane/metadata/android/bn/full_description.txt @@ -0,0 +1,39 @@ +সাধারণ ক্যালেন্ডার একটি সম্পূর্ণ কাস্টমাইজযোগ্য, অফলাইন ক্যালেন্ডার যা একটি ক্যালেন্ডারের ঠিক কী করা উচিত সেটার জন্য ডিজাইন করা হয়েছে। কোনও জটিল ফিচার, অপ্রয়োজনীয় অনুমতি এবং কোনও বিজ্ঞাপন নেই! + +আপনি একক বা পুনরাবৃত্ত ইভেন্টগুলি, জন্মদিন, বার্ষিকী, ব্যবসায়িক সভা, অ্যাপয়েন্টমেন্ট বা অন্য যে কোনও কিছু সংগঠিত করছেন না কেন, সাধারণ ক্যালেন্ডার এটি সংগঠিত থাকা সহজ করে তোলে । অবিশ্বাস্য বিভিন্ন কাস্টমাইজেশন বিকল্পগুলি র মাধ্যমে আপনি ইভেন্টের রিমাইন্ডার, নোটিফিকেশনের শব্দ, ক্যালেন্ডার উইজেট এবং অ্যাপটি কেমন দেখায় তা কাস্টমাইজ করতে পারবেন। + +দৈনিক, সাপ্তাহিক এবং মাসিক ভিউগুলি আপনার আসন্ন ইভেন্টগুলি এবং অ্যাপয়েন্টমেন্টগুলির চেকিংকে হালকা করে দেয়। এমনকি আপনি ক্যালেন্ডার ভিউয়ের পরিবর্তে সমস্ত কিছু ইভেন্টের সাধারণ তালিকা হিসাবে দেখতে পারেন, তাই আপনার জীবনে কী আসবে এবং কখন আসবে তা আপনি ঠিক জানেন। + +---------------------------------------------------------- +সাধারণ ক্যালেন্ডার - ইভেন্ট এবং রিমাইন্ডার +---------------------------------------------------------- + +✔️ কোনও বিজ্ঞাপন বা বিরক্তিকর পপআপ নেই +✔️ কোনও ইন্টারনেট অ্যাক্সেসের প্রয়োজন নেই, আপনাকে আরও গোপনীয়তা এবং সুরক্ষা প্রদান করে +✔️ কেবল খালি ন্যূনতম অনুমতি প্রয়োজন +✔️ সরলতার উপর জোর দেয়া হয় - একটি ক্যালেন্ডারের যা করতে হবে তাই করে! +✔️ ওপেন সোর্স +✔️ সম্পূর্ণ কাস্টমাইজযোগ্য থিম এবং ক্যালেন্ডার / ইভেন্ট উইজেট +✔️ ২৯ টি ভাষায় অনূদিত +✔️ অন্য ডিভাইসে এক্সপোর্ট করতে .txt ফাইলগুলিতে সেটিংস ইমপোর্ট করুন +✔️ CalDAV ক্যালেন্ডার সিঙ্কটি ডিভাইসগুলির মধ্যে ইভেন্টগুলি সিঙ্ক করতে সাপোর্ট করে +✔️ ক্যালেন্ডারে দৈনিক, সাপ্তাহিক, মাসিক, বার্ষিক এবং ইভেন্টের ভিউ +✔️ .ics ফাইলের মাধ্যমে ইভেন্টগুলি এক্সপোর্ট ও ইমপোর্ট করা যায় +✔️ একাধিক ইভেন্ট রিমাইন্ডার সেট করুন, ইভেন্ট রিমাইন্ডার শব্দ এবং ভাইব্রেশন কাস্টমাইজ করুন +✔️ রিমাইন্ডারের জন্য স্নুজ অপশন +✔️ সহজেই ছুটি, জন্মদিন, বার্ষিকী এবং অ্যাপয়েন্টমেন্ট যুক্ত করুন +✔️ ইভেন্টগুলি কাস্টমাইজ করুন - শুরুর সময়, সময়কাল, রিমাইন্ডার ইত্যাদি +✔️ প্রতিটি ইভেন্টে ইভেন্টের অংশগ্রহণকারীদের যুক্ত করুন +✔️ ব্যক্তিগত ক্যালেন্ডার বা ব্যবসায় ক্যালেন্ডার হিসাবে ব্যবহার করুন +✔️ একটি ইভেন্ট সম্পর্কে আপনাকে সতর্ক করতে রিমাইন্ডার এবং ইমেইল নোটিফিকেশনের মধ্যে বাছাই করুন + +সহজ ক্যালেন্ডার ডাউনলোড করুন - কোন বিজ্ঞাপন ছাড়া সহজ অফলাইন ক্যালেন্ডার! + +সিম্পল টুলসের সম্পূর্ণ স্যুটটি এখানে দেখুন: +https://www.simplemobiletools.com + +Facebook: +https://www.facebook.com/simplemobiletools + +Reddit: +https://www.reddit.com/r/SimpleMobileTools diff --git a/fastlane/metadata/android/bn/short_description.txt b/fastlane/metadata/android/bn/short_description.txt new file mode 100644 index 000000000..0dfc396a1 --- /dev/null +++ b/fastlane/metadata/android/bn/short_description.txt @@ -0,0 +1 @@ +আপনার জীবনের গুরুত্বপূর্ণ মুহুর্তগুলিতে অবহিত হন। diff --git a/fastlane/metadata/android/bn/title.txt b/fastlane/metadata/android/bn/title.txt new file mode 100644 index 000000000..a0d729592 --- /dev/null +++ b/fastlane/metadata/android/bn/title.txt @@ -0,0 +1 @@ +সাধারণ ক্যালেন্ডার প্রো - ইভেন্ট এবং রিমাইন্ডার From 53c88f1ab2e488fcaf8d58d63226a44ff72f8f5c Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 6 Feb 2020 20:41:36 +0100 Subject: [PATCH 43/60] updating commons to 5.22.5 --- app/build.gradle | 2 +- .../calendar/pro/activities/SettingsActivity.kt | 6 ------ .../pro/adapters/EventListWidgetAdapter.kt | 5 +++-- .../calendar/pro/extensions/Context.kt | 11 +++++++++++ .../calendar/pro/helpers/Config.kt | 15 --------------- .../calendar/pro/helpers/Constants.kt | 6 ------ .../calendar/pro/helpers/MyWidgetListProvider.kt | 3 ++- .../pro/helpers/MyWidgetMonthlyProvider.kt | 9 +++++---- 8 files changed, 22 insertions(+), 35 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index b8597957c..cb7fee3ac 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -64,7 +64,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.21.9' + implementation 'com.simplemobiletools:commons:5.22.5' implementation 'joda-time:joda-time:2.10.1' implementation 'androidx.multidex:multidex:2.0.1' implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta2' diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SettingsActivity.kt index 13c0bc2ef..0c5a24ce1 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SettingsActivity.kt @@ -515,12 +515,6 @@ class SettingsActivity : SimpleActivity() { } } - private fun getFontSizeText() = getString(when (config.fontSize) { - FONT_SIZE_SMALL -> R.string.small - FONT_SIZE_MEDIUM -> R.string.medium - else -> R.string.large - }) - private fun setupCustomizeWidgetColors() { settings_customize_widget_colors_holder.setOnClickListener { Intent(this, WidgetListConfigureActivity::class.java).apply { diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/adapters/EventListWidgetAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/adapters/EventListWidgetAdapter.kt index 848c00a45..cf779ea55 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/adapters/EventListWidgetAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/adapters/EventListWidgetAdapter.kt @@ -10,6 +10,7 @@ import com.simplemobiletools.calendar.pro.R.id.event_item_holder import com.simplemobiletools.calendar.pro.R.id.event_section_title import com.simplemobiletools.calendar.pro.extensions.config import com.simplemobiletools.calendar.pro.extensions.eventsHelper +import com.simplemobiletools.calendar.pro.extensions.getWidgetFontSize import com.simplemobiletools.calendar.pro.extensions.seconds import com.simplemobiletools.calendar.pro.helpers.* import com.simplemobiletools.calendar.pro.helpers.Formatter @@ -34,7 +35,7 @@ class EventListWidgetAdapter(val context: Context) : RemoteViewsService.RemoteVi private var weakTextColor = textColor.adjustAlpha(LOW_ALPHA) private val replaceDescription = context.config.replaceDescription private val dimPastEvents = context.config.dimPastEvents - private var mediumFontSize = context.config.getFontSize() + private var mediumFontSize = context.getWidgetFontSize() override fun getViewAt(position: Int): RemoteViews? { val type = getItemViewType(position) @@ -154,7 +155,7 @@ class EventListWidgetAdapter(val context: Context) : RemoteViewsService.RemoteVi override fun onDataSetChanged() { textColor = context.config.widgetTextColor weakTextColor = textColor.adjustAlpha(LOW_ALPHA) - mediumFontSize = context.config.getFontSize() + mediumFontSize = context.getWidgetFontSize() val fromTS = DateTime().seconds() - context.config.displayPastEvents * 60 val toTS = DateTime().plusYears(1).seconds() context.eventsHelper.getEventsSync(fromTS, toTS, applyTypeFilter = true) { diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/extensions/Context.kt index 862c7bea0..0b0fd0321 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/extensions/Context.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/extensions/Context.kt @@ -512,3 +512,14 @@ fun Context.refreshCalDAVCalendars(ids: String, showToasts: Boolean) { } } } + + +fun Context.getWidgetFontSize() = when (config.fontSize) { + FONT_SIZE_SMALL -> getWidgetSmallFontSize() + FONT_SIZE_MEDIUM -> getWidgetMediumFontSize() + else -> getWidgetLargeFontSize() +} + +fun Context.getWidgetSmallFontSize() = getWidgetMediumFontSize() - 3f +fun Context.getWidgetMediumFontSize() = resources.getDimension(R.dimen.day_text_size) / resources.displayMetrics.density +fun Context.getWidgetLargeFontSize() = getWidgetMediumFontSize() + 3f diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/Config.kt index 59afb9a72..a4039255d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/Config.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/Config.kt @@ -2,7 +2,6 @@ package com.simplemobiletools.calendar.pro.helpers import android.content.Context import android.media.AudioManager -import com.simplemobiletools.calendar.pro.R import com.simplemobiletools.calendar.pro.extensions.config import com.simplemobiletools.calendar.pro.extensions.scheduleCalDAVSync import com.simplemobiletools.commons.extensions.getDefaultAlarmTitle @@ -73,10 +72,6 @@ class Config(context: Context) : BaseConfig(context) { get() = prefs.getStringSet(DISPLAY_EVENT_TYPES, HashSet()) set(displayEventTypes) = prefs.edit().remove(DISPLAY_EVENT_TYPES).putStringSet(DISPLAY_EVENT_TYPES, displayEventTypes).apply() - var fontSize: Int - get() = prefs.getInt(FONT_SIZE, FONT_SIZE_MEDIUM) - set(size) = prefs.edit().putInt(FONT_SIZE, size).apply() - var listWidgetViewToOpen: Int get() = prefs.getInt(LIST_WIDGET_VIEW_TO_OPEN, DAILY_VIEW) set(viewToOpenFromListWidget) = prefs.edit().putInt(LIST_WIDGET_VIEW_TO_OPEN, viewToOpenFromListWidget).apply() @@ -140,16 +135,6 @@ class Config(context: Context) : BaseConfig(context) { displayEventTypes = currDisplayEventTypes } - fun getFontSize() = when (fontSize) { - FONT_SIZE_SMALL -> getSmallFontSize() - FONT_SIZE_MEDIUM -> getMediumFontSize() - else -> getLargeFontSize() - } - - private fun getSmallFontSize() = getMediumFontSize() - 3f - private fun getMediumFontSize() = context.resources.getDimension(R.dimen.day_text_size) / context.resources.displayMetrics.density - private fun getLargeFontSize() = getMediumFontSize() + 3f - var usePreviousEventReminders: Boolean get() = prefs.getBoolean(USE_PREVIOUS_EVENT_REMINDERS, true) set(usePreviousEventReminders) = prefs.edit().putBoolean(USE_PREVIOUS_EVENT_REMINDERS, usePreviousEventReminders).apply() diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/Constants.kt index e42d8e3d1..eedbdb6cc 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/Constants.kt @@ -50,7 +50,6 @@ const val LAST_EVENT_REMINDER_MINUTES = "reminder_minutes" const val LAST_EVENT_REMINDER_MINUTES_2 = "reminder_minutes_2" const val LAST_EVENT_REMINDER_MINUTES_3 = "reminder_minutes_3" const val DISPLAY_EVENT_TYPES = "display_event_types" -const val FONT_SIZE = "font_size" const val LIST_WIDGET_VIEW_TO_OPEN = "list_widget_view_to_open" const val CALDAV_SYNC = "caldav_sync" const val CALDAV_SYNCED_CALENDAR_IDS = "caldav_synced_calendar_ids" @@ -142,11 +141,6 @@ const val FR = "FR" const val SA = "SA" const val SU = "SU" -// font sizes -const val FONT_SIZE_SMALL = 0 -const val FONT_SIZE_MEDIUM = 1 -const val FONT_SIZE_LARGE = 2 - const val SOURCE_SIMPLE_CALENDAR = "simple-calendar" const val SOURCE_IMPORTED_ICS = "imported-ics" const val SOURCE_CONTACT_BIRTHDAY = "contact-birthday" diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/MyWidgetListProvider.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/MyWidgetListProvider.kt index ae5e4b6c2..5d288eec2 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/MyWidgetListProvider.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/MyWidgetListProvider.kt @@ -11,6 +11,7 @@ import android.widget.RemoteViews import com.simplemobiletools.calendar.pro.R import com.simplemobiletools.calendar.pro.activities.SplashActivity import com.simplemobiletools.calendar.pro.extensions.config +import com.simplemobiletools.calendar.pro.extensions.getWidgetFontSize import com.simplemobiletools.calendar.pro.extensions.launchNewEventIntent import com.simplemobiletools.calendar.pro.services.WidgetService import com.simplemobiletools.calendar.pro.services.WidgetServiceEmpty @@ -27,7 +28,7 @@ class MyWidgetListProvider : AppWidgetProvider() { } private fun performUpdate(context: Context) { - val fontSize = context.config.getFontSize() + val fontSize = context.getWidgetFontSize() val textColor = context.config.widgetTextColor val appWidgetManager = AppWidgetManager.getInstance(context) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/MyWidgetMonthlyProvider.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/MyWidgetMonthlyProvider.kt index 9bf4c04a2..7dd7300ca 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/MyWidgetMonthlyProvider.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/MyWidgetMonthlyProvider.kt @@ -12,6 +12,7 @@ import android.widget.RemoteViews import com.simplemobiletools.calendar.pro.R import com.simplemobiletools.calendar.pro.activities.SplashActivity import com.simplemobiletools.calendar.pro.extensions.config +import com.simplemobiletools.calendar.pro.extensions.getWidgetFontSize import com.simplemobiletools.calendar.pro.extensions.launchNewEventIntent import com.simplemobiletools.calendar.pro.interfaces.MonthlyCalendar import com.simplemobiletools.calendar.pro.models.DayMonthly @@ -93,7 +94,7 @@ class MyWidgetMonthlyProvider : AppWidgetProvider() { val displayWeekNumbers = context.config.showWeekNumbers val textColor = context.config.widgetTextColor val dimPastEvents = context.config.dimPastEvents - val smallerFontSize = context.config.getFontSize() - 3f + val smallerFontSize = context.getWidgetFontSize() - 3f val res = context.resources val len = days.size val packageName = context.packageName @@ -148,7 +149,7 @@ class MyWidgetMonthlyProvider : AppWidgetProvider() { private fun addDayNumber(context: Context, views: RemoteViews, day: DayMonthly, textColor: Int, id: Int) { val newRemoteView = RemoteViews(context.packageName, R.layout.day_monthly_number_view).apply { setText(R.id.day_monthly_number_id, day.value.toString()) - setTextSize(R.id.day_monthly_number_id, context.config.getFontSize() - 3f) + setTextSize(R.id.day_monthly_number_id, context.getWidgetFontSize() - 3f) if (day.isToday) { setBackgroundColor(R.id.day_monthly_number_id, textColor) @@ -162,7 +163,7 @@ class MyWidgetMonthlyProvider : AppWidgetProvider() { private val monthlyCalendar = object : MonthlyCalendar { override fun updateMonthlyCalendar(context: Context, month: String, days: ArrayList, checkedEvents: Boolean, currTargetDate: DateTime) { - val largerFontSize = context.config.getFontSize() + 3f + val largerFontSize = context.getWidgetFontSize() + 3f val textColor = context.config.widgetTextColor val resources = context.resources @@ -212,7 +213,7 @@ class MyWidgetMonthlyProvider : AppWidgetProvider() { private fun updateDayLabels(context: Context, views: RemoteViews, resources: Resources, textColor: Int) { val sundayFirst = context.config.isSundayFirst - val smallerFontSize = context.config.getFontSize() + val smallerFontSize = context.getWidgetFontSize() val packageName = context.packageName val letters = context.resources.getStringArray(R.array.week_day_letters) for (i in 0..6) { From 89ddffa3f271dad7ebad3f6b67d7715467c7ed3e Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 6 Feb 2020 20:49:13 +0100 Subject: [PATCH 44/60] adding an extra large font size --- .../calendar/pro/activities/SettingsActivity.kt | 3 ++- .../com/simplemobiletools/calendar/pro/extensions/Context.kt | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SettingsActivity.kt index 0c5a24ce1..80adbdcfc 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SettingsActivity.kt @@ -505,7 +505,8 @@ class SettingsActivity : SimpleActivity() { val items = arrayListOf( RadioItem(FONT_SIZE_SMALL, res.getString(R.string.small)), RadioItem(FONT_SIZE_MEDIUM, res.getString(R.string.medium)), - RadioItem(FONT_SIZE_LARGE, res.getString(R.string.large))) + RadioItem(FONT_SIZE_LARGE, res.getString(R.string.large)), + RadioItem(FONT_SIZE_EXTRA_LARGE, res.getString(R.string.extra_large))) RadioGroupDialog(this@SettingsActivity, items, config.fontSize) { config.fontSize = it as Int diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/extensions/Context.kt index 0b0fd0321..b1ea0a73d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/extensions/Context.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/extensions/Context.kt @@ -517,9 +517,11 @@ fun Context.refreshCalDAVCalendars(ids: String, showToasts: Boolean) { fun Context.getWidgetFontSize() = when (config.fontSize) { FONT_SIZE_SMALL -> getWidgetSmallFontSize() FONT_SIZE_MEDIUM -> getWidgetMediumFontSize() - else -> getWidgetLargeFontSize() + FONT_SIZE_LARGE -> getWidgetLargeFontSize() + else -> getWidgetExtraLargeFontSize() } fun Context.getWidgetSmallFontSize() = getWidgetMediumFontSize() - 3f fun Context.getWidgetMediumFontSize() = resources.getDimension(R.dimen.day_text_size) / resources.displayMetrics.density fun Context.getWidgetLargeFontSize() = getWidgetMediumFontSize() + 3f +fun Context.getWidgetExtraLargeFontSize() = getWidgetMediumFontSize() + 6f From 248faf874a581bb9d20c9b6646d19c1fccf625a4 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 6 Feb 2020 22:29:58 +0100 Subject: [PATCH 45/60] updating target SDK to 29 --- app/build.gradle | 6 +++--- app/src/main/AndroidManifest.xml | 1 + .../calendar/pro/activities/MainActivity.kt | 10 +++++----- .../calendar/pro/fragments/DayFragment.kt | 2 +- .../calendar/pro/fragments/MonthFragment.kt | 2 +- .../calendar/pro/helpers/CalDAVHelper.kt | 2 +- .../simplemobiletools/calendar/pro/helpers/Config.kt | 10 +++++----- .../calendar/pro/services/SnoozeService.kt | 10 ++++++---- 8 files changed, 23 insertions(+), 20 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index cb7fee3ac..0a4c1fd50 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -11,13 +11,13 @@ if (keystorePropertiesFile.exists()) { } android { - compileSdkVersion 28 - buildToolsVersion "28.0.3" + compileSdkVersion 29 + buildToolsVersion "29.0.2" defaultConfig { applicationId "com.simplemobiletools.calendar.pro" minSdkVersion 21 - targetSdkVersion 28 + targetSdkVersion 29 versionCode 170 versionName "6.8.3" multiDexEnabled true diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4678901fb..daf970ab4 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -25,6 +25,7 @@ android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_launcher_name" + android:requestLegacyExternalStorage="true" android:roundIcon="@mipmap/ic_launcher" android:supportsRtl="true" android:theme="@style/AppTheme"> diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt index ec71371be..53768d7be 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt @@ -360,8 +360,8 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { private fun checkIsViewIntent() { if (intent?.action == Intent.ACTION_VIEW && intent.data != null) { val uri = intent.data - if (uri.authority == "com.android.calendar") { - if (uri.path.startsWith("/events")) { + if (uri?.authority?.equals("com.android.calendar") == true) { + if (uri.path!!.startsWith("/events")) { ensureBackgroundThread { // intents like content://com.android.calendar/events/1756 val eventId = uri.lastPathSegment @@ -384,7 +384,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { } } } else { - tryImportEventsFromFile(uri) + tryImportEventsFromFile(uri!!) } } } @@ -753,7 +753,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { private fun tryImportEventsFromFile(uri: Uri) { when { - uri.scheme == "file" -> showImportEventsDialog(uri.path) + uri.scheme == "file" -> showImportEventsDialog(uri.path!!) uri.scheme == "content" -> { val tempFile = getTempFile() if (tempFile == null) { @@ -763,7 +763,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { val inputStream = contentResolver.openInputStream(uri) val out = FileOutputStream(tempFile) - inputStream.copyTo(out) + inputStream!!.copyTo(out) showImportEventsDialog(tempFile.absolutePath) } else -> toast(R.string.invalid_file_format) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/DayFragment.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/DayFragment.kt index 0dc32d1c3..78493ebc9 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/DayFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/DayFragment.kt @@ -37,7 +37,7 @@ class DayFragment : Fragment() { val view = inflater.inflate(R.layout.fragment_day, container, false) mHolder = view.day_holder - mDayCode = arguments!!.getString(DAY_CODE) + mDayCode = arguments!!.getString(DAY_CODE)!! setupButtons() return view } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthFragment.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthFragment.kt index 1722c199e..718dc0da8 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthFragment.kt @@ -43,7 +43,7 @@ class MonthFragment : Fragment(), MonthlyCalendar { mRes = resources mPackageName = activity!!.packageName mHolder = view.month_calendar_holder - mDayCode = arguments!!.getString(DAY_CODE) + mDayCode = arguments!!.getString(DAY_CODE)!! mConfig = context!!.config storeStateVariables() diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/CalDAVHelper.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/CalDAVHelper.kt index 4b2401d44..7c6a04fcc 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/CalDAVHelper.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/CalDAVHelper.kt @@ -340,7 +340,7 @@ class CalDAVHelper(val context: Context) { val newUri = context.contentResolver.insert(uri, values) val calendarId = event.getCalDAVCalendarId() - val eventRemoteID = java.lang.Long.parseLong(newUri.lastPathSegment) + val eventRemoteID = java.lang.Long.parseLong(newUri!!.lastPathSegment!!) event.importId = getCalDAVEventImportId(calendarId, eventRemoteID) setupCalDAVEventReminders(event) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/Config.kt index a4039255d..43f0667ed 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/Config.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/Config.kt @@ -33,15 +33,15 @@ class Config(context: Context) : BaseConfig(context) { set(vibrate) = prefs.edit().putBoolean(VIBRATE, vibrate).apply() var reminderSoundUri: String - get() = prefs.getString(REMINDER_SOUND_URI, context.getDefaultAlarmUri(ALARM_SOUND_TYPE_NOTIFICATION).toString()) + get() = prefs.getString(REMINDER_SOUND_URI, context.getDefaultAlarmUri(ALARM_SOUND_TYPE_NOTIFICATION).toString())!! set(reminderSoundUri) = prefs.edit().putString(REMINDER_SOUND_URI, reminderSoundUri).apply() var reminderSoundTitle: String - get() = prefs.getString(REMINDER_SOUND_TITLE, context.getDefaultAlarmTitle(ALARM_SOUND_TYPE_NOTIFICATION)) + get() = prefs.getString(REMINDER_SOUND_TITLE, context.getDefaultAlarmTitle(ALARM_SOUND_TYPE_NOTIFICATION))!! set(reminderSoundTitle) = prefs.edit().putString(REMINDER_SOUND_TITLE, reminderSoundTitle).apply() var lastSoundUri: String - get() = prefs.getString(LAST_SOUND_URI, "") + get() = prefs.getString(LAST_SOUND_URI, "")!! set(lastSoundUri) = prefs.edit().putString(LAST_SOUND_URI, lastSoundUri).apply() var lastReminderChannel: Long @@ -69,7 +69,7 @@ class Config(context: Context) : BaseConfig(context) { set(displayPastEvents) = prefs.edit().putInt(DISPLAY_PAST_EVENTS, displayPastEvents).apply() var displayEventTypes: Set - get() = prefs.getStringSet(DISPLAY_EVENT_TYPES, HashSet()) + get() = prefs.getStringSet(DISPLAY_EVENT_TYPES, HashSet())!! set(displayEventTypes) = prefs.edit().remove(DISPLAY_EVENT_TYPES).putStringSet(DISPLAY_EVENT_TYPES, displayEventTypes).apply() var listWidgetViewToOpen: Int @@ -84,7 +84,7 @@ class Config(context: Context) : BaseConfig(context) { } var caldavSyncedCalendarIds: String - get() = prefs.getString(CALDAV_SYNCED_CALENDAR_IDS, "") + get() = prefs.getString(CALDAV_SYNCED_CALENDAR_IDS, "")!! set(calendarIDs) = prefs.edit().putString(CALDAV_SYNCED_CALENDAR_IDS, calendarIDs).apply() var lastUsedCaldavCalendarId: Int diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/services/SnoozeService.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/services/SnoozeService.kt index 52890ebb3..344c6628b 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/services/SnoozeService.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/services/SnoozeService.kt @@ -8,9 +8,11 @@ import com.simplemobiletools.calendar.pro.extensions.rescheduleReminder import com.simplemobiletools.calendar.pro.helpers.EVENT_ID class SnoozeService : IntentService("Snooze") { - override fun onHandleIntent(intent: Intent) { - val eventId = intent.getLongExtra(EVENT_ID, 0L) - val event = eventsDB.getEventWithId(eventId) - rescheduleReminder(event, config.snoozeTime) + override fun onHandleIntent(intent: Intent?) { + if (intent != null) { + val eventId = intent.getLongExtra(EVENT_ID, 0L) + val event = eventsDB.getEventWithId(eventId) + rescheduleReminder(event, config.snoozeTime) + } } } From a2ab073650a01877250b15b9e3eaa1392177e174 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 6 Feb 2020 22:33:01 +0100 Subject: [PATCH 46/60] update build tools to 29.0.3 --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 0a4c1fd50..905e8131c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,7 +12,7 @@ if (keystorePropertiesFile.exists()) { android { compileSdkVersion 29 - buildToolsVersion "29.0.2" + buildToolsVersion "29.0.3" defaultConfig { applicationId "com.simplemobiletools.calendar.pro" From 121e95e0336e9e3dfef545b90283732053abc972 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 6 Feb 2020 23:02:47 +0100 Subject: [PATCH 47/60] adding some extra activity checks at updating events --- .../calendar/pro/activities/EventActivity.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt index 97853314c..dfba971f3 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt @@ -117,7 +117,9 @@ class EventActivity : SimpleActivity() { val localEventType = mStoredEventTypes.firstOrNull { it.id == config.lastUsedLocalEventTypeId } runOnUiThread { - gotEvent(savedInstanceState, localEventType, event) + if (!isDestroyed && !isFinishing) { + gotEvent(savedInstanceState, localEventType, event) + } } } } From 72171697e322a746ef4a9fef34dba38311a6ef35 Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 7 Feb 2020 11:17:36 +0100 Subject: [PATCH 48/60] update commons to 5.22.6 --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 905e8131c..ac282bb70 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -64,7 +64,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.22.5' + implementation 'com.simplemobiletools:commons:5.22.6' implementation 'joda-time:joda-time:2.10.1' implementation 'androidx.multidex:multidex:2.0.1' implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta2' From e1336769771d07bbd5d8809c281283c87a5b2d04 Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 7 Feb 2020 11:20:34 +0100 Subject: [PATCH 49/60] update commons to 5.22.7 --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index ac282bb70..2c2c391c8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -64,7 +64,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.22.6' + implementation 'com.simplemobiletools:commons:5.22.7' implementation 'joda-time:joda-time:2.10.1' implementation 'androidx.multidex:multidex:2.0.1' implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta2' From f444d185a73e063ef0faf973e218f3acfa28186a Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 7 Feb 2020 11:25:18 +0100 Subject: [PATCH 50/60] update version to 6.8.4 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 2c2c391c8..0d61ea5f5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -18,8 +18,8 @@ android { applicationId "com.simplemobiletools.calendar.pro" minSdkVersion 21 targetSdkVersion 29 - versionCode 170 - versionName "6.8.3" + versionCode 171 + versionName "6.8.4" multiDexEnabled true setProperty("archivesBaseName", "calendar") vectorDrawables.useSupportLibrary = true From 372660bd003b762876294df2087dd537d24981a6 Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 7 Feb 2020 11:25:26 +0100 Subject: [PATCH 51/60] updating changelog --- CHANGELOG.md | 5 +++++ fastlane/metadata/android/en-US/changelogs/171.txt | 1 + 2 files changed, 6 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/171.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index 20fa5ea88..da8277f49 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,11 @@ Changelog ========== +Version 6.8.4 *(2020-02-07)* +---------------------------- + + * Added many translation and stability improvements + Version 6.8.3 *(2019-12-29)* ---------------------------- diff --git a/fastlane/metadata/android/en-US/changelogs/171.txt b/fastlane/metadata/android/en-US/changelogs/171.txt new file mode 100644 index 000000000..c4e1dece7 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/171.txt @@ -0,0 +1 @@ + * Added many translation and stability improvements From 0a017e728caa2c6e780545df01a9488a670af76c Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 22 Feb 2020 11:35:00 +0100 Subject: [PATCH 52/60] updating the apps feature graphic --- .../android/en-US/images/featureGraphic.jpg | Bin 44611 -> 44575 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/fastlane/metadata/android/en-US/images/featureGraphic.jpg b/fastlane/metadata/android/en-US/images/featureGraphic.jpg index c8da0325598625380b7ba63c2bef722fb16053dd..78d9054f33b8ab1080f33780712cfd2aaf14f71e 100644 GIT binary patch delta 20470 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 delta 20563 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≠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 Qp_QW9A67pg_|BjI+2BhF>;M1& From 62d9ddab9bd504bc41f6adee942f7e17d30611bf Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 28 Feb 2020 23:27:39 +0100 Subject: [PATCH 53/60] adding a square app logo --- .../metadata/android/en-US/images/square.png | Bin 7655 -> 3991 bytes .../metadata/android/en-US/images/square.xcf | Bin 65654 -> 60326 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/fastlane/metadata/android/en-US/images/square.png b/fastlane/metadata/android/en-US/images/square.png index 8aa0089ebb6f10affc998bca1f8c1bfe7ae4b47d..989c759b0442c6c703db9851c96b2d0738d499cd 100644 GIT binary patch literal 3991 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 Ntq$=oTN(Y&UjVEZ>}dc1 literal 7655 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 Lt4oD*;K~00mvmfu diff --git a/fastlane/metadata/android/en-US/images/square.xcf b/fastlane/metadata/android/en-US/images/square.xcf index d8eac76a3e7c167930cc14427215059b4c81f8f9..398ba3813d1f63b67a0ca5e02014d3905a779d6f 100644 GIT binary patch literal 60326 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 literal 65654 zcmeI53AAKob??tS&!_IKy0`AseVguv9_WF|>B(S5Gl*F(GOXtSBEhGq45DdF8&?vC z_#TSGdP$5Xn3u%p(@3&nG=n~tFA5nn#ur5lN{fUv2;vm_);U%0zxV#C&S`}}(+%8) zYSzczzx|!5&iPK=I^X&J`@87km%e=ERTsQyEl1IH{I5ju&VGxg zQNh0siiP5!%qpLjo5Au6u-Qe}?2e0H`htrt+;P#R7rzi84fVRV^|H%f{gMk;E_>Na zE`H&O!PXaDbivDB^0G@;wzAoA=|$(iU}e|NUHtEUoZYJGM67!L{j55!UwL4MR(;iF zFMq)W7hiJG%I@*L5PbFh1yyXv6_;Fm`O3wYT=0t*UPkM`>_soS?83_@2S{uGU`Qf| zuS(}Z{nKBsX>0q&)H?BezOTIS{OA4R#m~F+!poj_>h3)|Uw+9&v?N^|`bVdoPX7qS zQ$DTcD<4Lq%RtM}zW`hyKyci$v zJd_JiUUqoB`ASVQe;wtWD1U(R=O}-R@-Ha2qkIp$b5Le+82_qi(FvNC{ta5)btu=P zd=BM+ruDDYv?VmTl`}PM!m!b>!52iDz*b$4Rj(@>uJtD1He&dU#7t!dBvsHQ#V zM>OrcLz?!ph&>yK*M+kOq@9h&yrD1Z1qO}p-HP5by& znsy_W{XCZYmsg>@LDO!!Q`2t2_P+WiO*?>fZ^z}l^H((O8-IlI7bu_Bw7Y9fyZ7%j z?c4vRY2U;7zHhIFfBUm_UV;;}e6(H5M)k1LwrTZfFp5X@+W%|(Lx11$|E}e?esp1!@HJO%*M3LMvoQXj3a>N@%qevLv*z z6|y(gOR?6DIGct`hXveC?QJ}C!iH84+mO9UUu|#7+GHHY<|gwnHa1y@vA)Tk@PJOt zYQq(H)mhyioTmAsQ@PZmYUIE_KJ4_!AN^}Z=e)M!!YR;7PJ7o)&P}jqest&z$$m^) z&k@<7uI*K;*0@FYD4*}w-3kVqmLgr-rD$!_D&ffrjn#^9r$SS3heAtmyFyzKUo(7= zjv&5h7+pbp(=d91_@-g>1@T407zpBPhH*cBKzgIoG-p)T-_TAad;717z4hnB9(c|= zwddiurpI4DX4hwY{+*)sb!sCw)h|uR4y!jWn%XI7OoO*<%S_xU&S>rG9ZPWcz&&*J zjurBE!@mzc!!AG#&{ry|J6WM2xKp7ixI>{OxLu(wxJ{uWc#=YQrCLl){6Ur-IV<`y z2ezt!y<$pWiwamPwgfh-fVtvI-~<&gR(uI;QUQG>l)x$i1Nv;skpwm(P$96K2yc)z zmNUT>#_h}bat8v;x1=^HKe+5q?v^e)u``+hQ~vC8PR%{gyv>ocr_5@xT9p z{f*OeGOEAt{7laY?uGk3C$*6lNij6(xB22<-jv)_Z#AfyZT!+O8CGZE3k!cQH+~uS z(%=~j4*xJ`T6@Ow91wpl84o>Ud4U*zFPZNHa{xceIZz{@FI2P)ew0r_hJ^4dcoH%t zgrDG(kR_oFt&lCDmBT`Veh=GUZpEwxqhC>QsTDLAED0{Qg2sX)!G%^(U+^T@SHS^& zuD&n9c@?Y>?1vJYYu4_^66#GtOZ`Mb-ErugrG6@**~3DE`7RE6rWH&2#(YJ==*as{ zjE~}L^9)TN4eNn1ID@|&O$6vkU~1RfdDuU_T*p(hoL;Wu>RW^^S8YbQnV+Fm-RJDP z%D4(&0K5KFz6f{y+0@b>hIMrw@asT&-w*3u{KuxpeelTmuC{43tf;$p@cHxH^UT49 z8b71zyKixC*&l18>0upq1s?otaR)CtY**b$w`G0XWo`P}qeOY#`)Rtax4&kOyT`n0 zd0)N%cZl!($eZ0a)3rr^*D>ua9iI2I#m^3Y{=(nBceFrl${Cfn7+*Tdmx zf9yVC_8F`WHZG!1503__=grtyQ2-AH9Pm~x3E&RnfV=8Q01pKma8^AD;E{j>_G%yj zJP>feT8$)trvVO_tBC~gB)|bY}&YH0qD)?|%K(xm(Sz zRbRhnP?t3|&||o_@zJm6ys&vR|UM~TmrKy;4YU-RX;KDxQ46p&L{75c9uKz?bS(3 zoxGDH^vSorY3@zt8>=_G?y7y|KDv4?KZ5<>Gx?<7>ieG6k5zmlIgB}0XB^Q|& zl`pnlQeXOiN5;sjv(fObuXn%h++H92k6Pz8Ha*Jk?=xv%ha*0h(w%`P{3b++J2IGQhB1awcb3N8@ao$e)C-v|D89zVfGEq z>+4_p<$XH0`~AjiagUs#S#@1~Q#)O=@Fx8q#D434Df=$5-(IiwJ?i+@tG!ko-?6aM z>s5dIk-pBy;yU3z`ZjH6dcBUn>t*G2XwW^ouRb^Dd$)T3iKccMz8nXCvKLjS!dv^3 z(`MkF0{75|PV14s7yfVDthBoS*`FFOt9}1P1h3 zyRigT5vUO8rotO#jczWuf$>z}V7A0TttigA#%x7_Wfe%fmIRhmAn7_1SX6q%fi z1)^>sfxZfa-ADrSDiCxN3CyX0-_0b@Qvt7AAmAHXR|VW|IXjps5SdjG2N7eYqR@;A z*$7z@>Zp)~kRzc|g-nDz2^A`2AQVU_S0NptNJ1GxgAbkB?amgniG)&wDufWpB$CK_ z2ow^CIdIBsK3mQVIynwAQjrW1qf=2RRG}0hOG1GPB?vhZ@>M8C$diz#LJ>lNgj^L0 z5sD<_s8E1VA|YFae1tLySt{fqR3PLT`0esw<4@PyOM&U}OkY+VPj5x0?RDB-kMs7r zuHJ#Hw|6p+_v6{`oHeSe17Fa;P~LRH&1<8<`_4W0XNsRGpHrMyjSjs-dy3YW|H-uW zn3+f$db8H-mTon|L7=zhlFxi$_6waa0)LC}!-LUwNLL=ZUp34B>7(m!8%*SMn7I=qHY#)pc{P4yN#fEaFT(00Ncd#@% z@IxDN4&$ZB=++l&wv*vRO2xO z0xkpIpiqs&5DC}}c$Gpm7DFOnGT@yG)ffz!fX(o+SQ-$lge$`htJZ3{ zvD`rGtwbyJ-j}^<_EnuLfzKd(_P^10))Dx(H_M+p_QREGc>=+TzFbepUol$bt(Yxx zSF9E}7!KX6XRkOdvM@5bsWVqRCi>DlbEMzA<;yd-4A1+y;^)d=DF3VR{Qb73xxHbg z^|ad0=k&Smy!*xBjljX%|M5#-`f~Tnc(*kC9#wz#zR}A4`iGkM=hlZmH~p}W?<@Pu zTV6AB)o}Z^Vq1xKLdMo|saz}<%znYv>gR0je#X}6r)=GR!q)4@Z1FyeZO{+dhW&tT z)c4uOeUEL@ciEHvA`jfeSLm7c8z&=Ww^ZPFD481 z;?lB?ce>`Hb7g(S3l_b_bYbwM3tsukE4o+UjvL&#=q_dp^)G&o?k$kBn77DYEI|LH z>MZQ1zGzG)sOnG90P6jwS_d172iWl9LV@!p^%WRsHH(An7UdYfJlWJjw&1oX#W3ck zE?Mwf6fXo!a$n}RlwX}YkUf9v`SykM{gcl7{b8xCYRQ*_Tk7kd1O4LMsJ`cI=(wz( z|H&KN8-!-HD)`8uHFs@-o$Kq-23`_%M+5IfkLY9r#|~Wn8k&CG$Mw~{s@ymCOWD?~ zTkOp#-dlI(oL<7#?Zs@pUc}b#g=~Xfz&7mpY@?pXHtxA>lb*vi?a|Be&Ro``_u-wn zyl1j4dIsCFrz=}``||~sK%`4cmOY~@Y<6>ItDCX4yXm68FznBHSjg!nR|J>W&)PKS zfZQ(btKUCm&c=@F6MpJk_grBMT+N;H4>!9vOTe5fde!_hze%?qmN&3&H8(*WIOqxw zP(9Zxa8zo63IQopLjOk@hQycaCHiq=( zhic`vOb%?h&Az>=N23d)3rh@Bab8-jjYjmCy*|wi{tYXCUw`0ijGv$*T=Uj84C*`I z3>>b}@63DOc?9lnPL}=FBjIZN%{M*8a%HBcxVfW_!&dxDTV8Fys=BQnZH_jVCzP8Y z`Tpm@s2BE1yx(+Zs?P!f2D}m_@ELpoj{$E+sm5gp1sn#vAf+0cAr`P0@Sc=vOomjz zV8HuQs?izpnKgo5x4_{PGXnzlOI}L3gAU?&S6$)-rQV^{yBP!Cq7tMGra;1gm#I_} zGuQ$V1Kz1pO~~L11Ppk!ikfr%b61{KpWdG_XM7Ia?A^TKOZ6L1nlbREwZ;LX?p$ZCu)0`UjHZd_rZrwnRW3;v+NAY48wX1HPXl7m{C>~ z)K$>tpjEC>P=m~`#@ZGKopL}y6*D>J@!Be6a40D2%u^AaBT+fb5Ex)fvoi&bBPnU% z)F}cf06XD|jQzbcITp&v|KQ%441S^f6n?4vg#BSbyTW2Iqh82L5tE@PWHJ>6OqL>_ z$yVesIf`5+SCPZyDYBV-MHW+_$Ycr?8BCEPohb$laMUxM0v{*=RUn2`7GytTe-9KA zWtl5KgI_2=gZuyvhELJt9(}T=%YFGIID;a^5@%>bT+gB+AAi=xIZd<0fwD@RQ#4ncy_zS^ z9?chLw-$)AOAEz08O|W5E$&2}k@LoPV0la2?bwDR?lx@K6Bjvfia^{GvHwV1j9|ru z<1K8_%pwzavu5DxRHcMQ&sj(W-`vChkV9$Q^MvXnF35yP{=z zAnvl3=8?EdT9PN?E^2X}iMyahc_D6J3-dA?q%rm}uLbapv?7?(e1Ij;(>#D9(1l(D z-;x5*E&&388O;Vn0vK5eNCZmF1Y`n*W&jERvQXrj4k*(>5`i*pm}dphNGjq~qdH3< z(Wu4|h_xKx2}D{32n0ec1w;aYmH-j~UyA{mfTu-(LcrBRK$#5U5PNmBfXRp}LR<40 zEkR537#+bM90H0VEytCTeR{mp>vfzDv76p+_)RmtkJrt8JRR~W?ePhD9>&8ZALhur zchOKwweG|6|6GPz^18=?|8Dxc>NwY>|KUURwi*|e5AKa$`}h98rw18n>@K1YY<^Gb z9$Ul1b*F7{?V;Qc>$3f|?~Q3&jR@RiLG?S#T+u_-7w8A7j85)h9n2d)61n$949S zzhtz?!?4Px&Rw!v{mjqbx$RDj_&$5dT=Ev{Gv4sd{yWoma6m?P zW_<=-4FSbS^0U=o&!Uf!z<)_yQgSlDSZg%Mc1U49Mt0H8w*mKm$rkO6x*3 zG@i8VrvfyZw4~fFR6|2a%YHtOGjJASwlnn)jpjxUa_M}B&dNW1ub!*jgTt>7eDJ_Q=U{QyeoO>4z0{A7CNsU%PnbLZ zp#mJ7< z)J6TUMIn-;HFZHhZjp~as!g4Tzp4#U%Cv?Y{9SFxrp#&T6x_h+(Hf#b;nm!vlE#MX zb4@jk5l1dHt{)6;=+j7XQ*i|bTFv4hyG8lD)1qwNZBaV!F`*gVS^wL|=977Uu72MC zxpVGL=Nvm(dUN>UvcSE*8H((ofeYR28 zV;gr}wn(|dHtpJMv#!N9@0x6juEDnK>dMx$^K&Hzvm-J~L+VSU^&#cSv6F|8bVY4# z$T}8*Pqtv@DBw3q)S@+>A@|UJ`xC5Lnl_I5k#A~8(H{6Vc)0BW_v^irHZ*M}Mx0kfh=^;m5Q)~CKHd;NTtebo0J*?Q;3qe5v z{P8i8q@e0ekVFN8S>XW=i?js#tXiN#0E`58lNEqwgL@z`K(;$o``$ee8Q5)1DfL}b zn{?eaavr>_$OiB0%@ojWx{mzqTqgkjhz7*#i2TFvi1H)oi0C8ih~6XW_`IFCh zr!B4dnjL?qLG$Q!td{1{#b4J(59#1xbxN99LlRj9ph$KLd!*=$f6E%HmVMP6yO$Sv&_IVEP*oov%C-4)h^e<39P>sl6VgXUVKny`OB7R8)MEe451l5T2CC}FgMC?-J0|FMi zl)RL32N~ie>0ZiQ&uDdM2M8dcAQ0t?DIn4pC@QE%gfF&$=w2YOpc;|AxEY;R$YPFI z9{B;0)qQWh+7GGYTd(#{)$y$pJH7soa(h`P*Zq6yIHuSCiGBSck~H~GN~lDO22-R+ zXNo}(YQit@$0q?ns40-jf?ScYzZ)9AGSA8X-@A(pexdvnJ_L9iPuL%(BwWQ}F{7SJ zWyEAC3Yknr0h6W3XR;M}OpYR#$yMYqd5UZ%Uy;QWC^DHsMFvx(h{TL#7J~*jYEm}Txn%5yA~D?fu@C_jY{DIiY3t~_CXnDF`7mB);FB9#%7p@`&-WojxS zfg|Y&Wl2&vmZ`0XB#tC6lseKlmZ__VM2@63lsZy5mZ`6ZWR4_0lseKmmT9PngpQ;| zlsZv5#-IT{ga{oIPz7SuV=4=>pRs>(Ml#1-`J{3zlushZQu(BDER$i(=i}szRE}k$ z$F$dzGm<%$iJ?ezj;12fIa-QD=4dM#s~lx3E^ozEbqpcpKTO)Y~#RXn*=W<%@Cm6w#oxW@=f?LP1e!{H`CidtzL(Udzj5G> z&K*jAGb({~Yb+_+~ z$EtO=_d9Lrm`RJT>XEkAqgj61(jWcr_oHg*x1ObRmV>#`t!FOeP{NS*1KP|pq1mZV z|Mj>(4H9vuXq(>9-Nq96Nk7P#^a!GYGA%|2)6S7HlG$D&rM-wthbu=M^R7VriNp-}8 z^8g{wm~bBY^N=8o7o3LxN%>E2{I5PN|0no7U|ooY=Oz%4#Arf335+J>k-TU^E~$$q zTN-owZ{LqJr_)9`X*_)INjo}vcipta){XI~x5U;hFm06lEp;Sc z=f~*lvDKERjq>nY;D{Qf2zJd``8#jTI@i=!Uoq!m4z2pESHHD4TTVjH55Q6){qaGSVJCE zVhy=AFy6p%2A`F4z(?Ib3ity$2WkV~ zd4vE0%iHVEzL@ru{MOg+aPP>syE}*T_`NVpb{o6xz2o2M({|t7)c12w9z|0>>|Qy} zn!5Vfa@0rB)DOE?9-*d=GzZOHG;R0C=8w#@-BXM!aB8Wh5VYj?5s3p4vjph5t`E@RB~ zwYz|3gC}F$Ii~*^Z|-Ca!p0;(4W>~0wJ?F)uZ1!6el3h3_-kPZ#a{~pNd8*rmyqN& zJMzl7jc7(~bTFE`wJ`D?v=QkL+K8Xxz#o?Lb#h6{gQ}b$Ne>3O@Zj2$S$v@9YJmy? zXbv!W(PRZ6^nhdBiQ)KA11kKzoe&~G57=NzQyevzkS4Ifm}Wg{Fe;!6Y%rvWkQxjM zXafoHSLf3DCl(=0gg&s?{NG;Tz9Pr7->`#7k`D{qLDYaqz~^8THdz-VoymHcDE9nJ z#Ck!7xuKf;0{1N36W?3^>y;|`00|)PeGer(5asyqKbZSR%>s`*_XCs9_T8z=?cs>e z1GTg};ycPay>HZCyaMNw0(+yqiB=uzp#`WG(*S)L)QFn8x7ul5|nylsz4Cbjk7GA1gYKFKk=x1%-5J=_eewZ?h~;$J#97{U`ob@ z{LE|-rqXPYo7pXLFkxe}o}IZZvM_&RQ)gy=iwsQX*wpD+sAzyA%hEAbpfqY0Oyh~a zwef%F$bC#7naG*I%3-P}>R3PlriEoR9#4)X383d}$WP1`L8Tf~Q+`GK zit^>&%jzHPC2nGKh$p%Aiy7y$ka!|-EsYcYGzJQ29p}eFTQDug_ zPpCu3>iCKMh^WNxTd(#n)$y%Y`*AtGL+jOkQXQYNlj}at*05f$`}nxl>vbO=*LuC~ z@k@?LJHQQ<3$vpRvC)B^`ZE{s(rZq@^#EFM4{3 zi>7`UQT75XCenI6l1dTS8;V3`Zz>Y8y`@Mb_qHMt-aCp!e(x$05x%ELr1-uf5#$Go zM3x^a5^;W{NF@3(Xn>;@nSKJQK&;tMWkL2c_IF@5?lOkzA0Ko_Lc0Az`J~-1l`r~z zSw=Mc!;sI-4*blJQ~**bf_@_u5?Q~gNW}e?B9ZvpibUw|C=$89t4Kuuo+6R{`-&t1 zK%hv{0ECJp89)RY;G;=GfEZMPI6FWh3$mZGzdfex0LU*es^7morVIhO@+nI|p?t{{ zAj?R$fMGyq1FJ~V06maONgZG)k^};#B1t1)DUxIYwjxO>;3$&B01~|?*LK?g<232&_1c@xje#-u~s6ZT<4DivmMLGP#vl+T$ z2C|DXsD0TYBGg%r?r8&^&}261JWfv&CVs4ZM(T=ml&e&u1HZ9^1ro*`}VuHuG$@xo5F0Jd)ICc$}K11o5u2flW&TP9GTgOe=x^BYOb7QtRO>6@Q|2?esRIS!s z?P=Oj*Y&rZa{#Z;Zq(XR{fTDhmw6Eobu?OMs>bC}wN{nIFIrkjVjt9Zj)J z4xo2Dsg}6`jE*lTQv;ZtKu~4|usWe24U8@Eo;RZ7DP&>*r-N5&Ak3Oj&R~QAz$s>F z9ER6P1!92T$pk_`(8&dSK-eh+TmTZ<3fO?S(-ANMNoPht2c(@@90K+;Q(!)WE>+|+ z_^;CwH^umlIdNkQ<(L;YggY!XMLtL`7o^Gs80DgX4KT|k0TW=A%K|hm#4cB8-#Lu| zamxMXnVJ!9i8}Gj?OX294^pdG`AGS(;IG4#aznWqZlYWNST6PbLtNb73pbne9Ad>*Oh0H&57lcsil=@avgvkV`&f{4QsXa>;@m=aK+9$tCx3noHW_ zESHSOc`nJ0i(K*?BOx)bkL1Of%4tjqi-+Ts#z;FvWI-g0%yn!Zd^7|# zjv_|7xYWu{I0${?-E^kCzb-#felq!#yQ$n@(!ZIMZa%`%hRnk8P0pn_6qmUt~P9J_cH=a7j!nR1p+cy;+I`%3<# zPcENSo{^j`?Pivj%Tmc=iPVzJMJkyq%T#h!mU!);QdE|B=`fT8m8eZ<$CN>mvR6{> zNJ>yiStBVqCFP5h#FTC#Nh!TVvQgsMitB?!GEm})k2y*t>tvirzR4t!Op|FMIVQ72 zvP&Z6BQIYhl2H;F9GOeJ6i}%nDaGSZ5=T;gM>?7kZvqOoR!oT_OLY8G(#R6s{gN=! zjU`#67fY5%Jo|Bd5X+kYJf<>7vGo7Pv2^_>@nORi9%x|0;lmuNTIT+E5JL$o^Rloz zwEW#Gch7%wI2`Ra^il6q<=+*bF}IaF%3bANYOvFT7@rAw2@}a18Oekh3rGUaL_m^a zrUH|knDiD$a$@E&PIY8Po?xFO0T8#Ck}n? zpWPNox1#P#rF1SDilmFtR3sgZmLlnHv=vFGqoYW=9$iJ!0qH4{Zb)B|bVde>q)ReX zBps8HBAvS_W6%H}PP!)(PzB;{%TyL*KT|&SRiej}dTT@KuPl@=eU=iJe#^=`_0&`J zQ|irmC>@yS15FbH`I;3^J3^0nN9b_eKWaGCbz8coBmJe8lQY{6ewZTeI4N7#N!WT$ z%ocsyYy&4`8#)2o$nn|6j>k4}T(+s>u+1EsZSGiX3&&(zI_Q?i{z|8^ecvnC)$QTf zHEgLhZK<;CoENce{BXuvj-9e~?S!po$86E}&Ni?^wxJ!cjclK7YD4%^JO z+2*#zwy;gMrH$5z{grlQd7fLat6RgdYgkfiT2f_MIWJ;c_+gK=94lq(S_xavirM1b z0NcO{*@jlYHnM!SvE{K%ESGI+Iczh_W}90U+rl#0mKM6@vA@!)OxJY^c6D<&b`4W% zO;f5YGv`HY^ZWbD|1;h|Pw5%d7jC&x+!SJpRdHiHBX1IyL=-28>q9`XSzH%?#kYuS zLpZTjToa;+6UEgbm^g`^{qY2vmfI+p!r3lPQtl8ZE_aF(mcv3*zK?m2c1hTU6k@ly zHe?Wc#5Ey-z~sfWNgeWsQ)oYUXtIk_DVV@H4UU}@R&lyGW^sl%M)4$Z^n!Xsu}r}| zqHwrJ)K0iZ)NXo2+b8i+e*okMIxD4_6iN(%qgfP641SXt6kNQFCH7L8HUTfcn1fWN zN(fV#Bq2&=dW1NYi4l@irbI|nnGE3vA0UTGAu}A{*%4=kXE7+#L4xzevl!5GBzoaM z@`z|8)C&icCqy$b1mywIN~jwSwUb#11m*G2NvJChweoa`;ah_8aOfqjpv*AfCmt>~ z7Uqcrf`q!_@Ek}Fgm?@Upr^qop>8hOtIna(2Xz5O{M5u#i(9KlhE8df@={+TVnkQ%mu z8L|z{fNf;@Y-7`7o0u-!)O6Tprp-1tEw+VevMo(K7-4^*}6u;)-z(Z81ln5FhaJN3WjZD_-tdtW1AQ*+thH_W`@l+H!QY= zVX`d^JQ!hrrGcLhwpFmJ>%*~Y=u&IyQf28mFJkL>pMbR-%#uac#q3aIJ?vr*1R zxfJDfDA%A|i*g;x^(dc1Ie_vlO&c001E^-$l7fJzR~ZJUt)N_VC2HA0EnA|NjSILwW@O From dc32dcdfaa256858471bcc6d0b4533b7a30db958 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 2 Mar 2020 11:30:34 +0100 Subject: [PATCH 54/60] adding an editorconfig file --- .editorconfig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.editorconfig b/.editorconfig index 863373360..b762e8045 100644 --- a/.editorconfig +++ b/.editorconfig @@ -15,3 +15,5 @@ root = true end_of_line = lf insert_final_newline = true charset = utf-8 +indent_style = space +indent_size = 4 From 43cb8a11fddde22ee385a99e3dc0aaed4ab45b85 Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 3 Mar 2020 17:03:50 +0100 Subject: [PATCH 55/60] set continuation indent size to 8 in Android Studio --- .editorconfig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.editorconfig b/.editorconfig index b762e8045..5e3c70394 100644 --- a/.editorconfig +++ b/.editorconfig @@ -17,3 +17,5 @@ insert_final_newline = true charset = utf-8 indent_style = space indent_size = 4 +continuation_indent_size = 8 + From 06112dd2f5ea9268e19dcc507441119b17b4dab6 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 5 Mar 2020 17:49:25 +0100 Subject: [PATCH 56/60] use 4 spaces at xml file contuniation indentations --- .editorconfig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.editorconfig b/.editorconfig index 5e3c70394..1606d61fc 100644 --- a/.editorconfig +++ b/.editorconfig @@ -19,3 +19,5 @@ indent_style = space indent_size = 4 continuation_indent_size = 8 +[*.xml] +continuation_indent_size = 4 From 63fb4aecea5258124192dde743f4203ec87e5009 Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 6 Mar 2020 11:17:14 +0100 Subject: [PATCH 57/60] adding the calendars website at the apps long description --- app/src/main/res/values-ar/strings.xml | 3 +++ app/src/main/res/values-az/strings.xml | 3 +++ app/src/main/res/values-bn/strings.xml | 3 +++ app/src/main/res/values-br/strings.xml | 3 +++ app/src/main/res/values-cs/strings.xml | 3 +++ app/src/main/res/values-da/strings.xml | 3 +++ app/src/main/res/values-de/strings.xml | 3 +++ app/src/main/res/values-el/strings.xml | 3 +++ app/src/main/res/values-es/strings.xml | 3 +++ app/src/main/res/values-fr/strings.xml | 3 +++ app/src/main/res/values-gl/strings.xml | 3 +++ app/src/main/res/values-he/strings.xml | 3 +++ app/src/main/res/values-hi-rIN/strings.xml | 3 +++ app/src/main/res/values-hr/strings.xml | 3 +++ app/src/main/res/values-hu/strings.xml | 3 +++ app/src/main/res/values-id/strings.xml | 3 +++ app/src/main/res/values-in/strings.xml | 3 +++ app/src/main/res/values-it/strings.xml | 3 +++ app/src/main/res/values-iw/strings.xml | 3 +++ app/src/main/res/values-ja/strings.xml | 3 +++ app/src/main/res/values-ko/strings.xml | 3 +++ app/src/main/res/values-lt/strings.xml | 3 +++ app/src/main/res/values-nb/strings.xml | 3 +++ app/src/main/res/values-nl/strings.xml | 3 +++ app/src/main/res/values-no/strings.xml | 3 +++ app/src/main/res/values-pl/strings.xml | 3 +++ app/src/main/res/values-pt-rBR/strings.xml | 3 +++ app/src/main/res/values-pt/strings.xml | 3 +++ app/src/main/res/values-ru/strings.xml | 3 +++ app/src/main/res/values-sk/strings.xml | 3 +++ app/src/main/res/values-sv/strings.xml | 3 +++ app/src/main/res/values-tr/strings.xml | 3 +++ app/src/main/res/values-uk/strings.xml | 3 +++ app/src/main/res/values-zh-rCN/strings.xml | 3 +++ app/src/main/res/values-zh-rHK/strings.xml | 3 +++ app/src/main/res/values-zh-rTW/strings.xml | 3 +++ app/src/main/res/values/strings.xml | 3 +++ 37 files changed, 111 insertions(+) diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 6b64c94cc..977c1a5dc 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -289,6 +289,9 @@ Check out the full suite of Simple Tools here: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml index 17a294234..4b75c1133 100644 --- a/app/src/main/res/values-az/strings.xml +++ b/app/src/main/res/values-az/strings.xml @@ -283,6 +283,9 @@ Check out the full suite of Simple Tools here: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-bn/strings.xml b/app/src/main/res/values-bn/strings.xml index 351622df1..2944b6535 100644 --- a/app/src/main/res/values-bn/strings.xml +++ b/app/src/main/res/values-bn/strings.xml @@ -286,6 +286,9 @@ সিম্পল টুলসের সম্পূর্ণ স্যুটটি এখানে দেখুন: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-br/strings.xml b/app/src/main/res/values-br/strings.xml index b4f98d439..c4d89c9e5 100644 --- a/app/src/main/res/values-br/strings.xml +++ b/app/src/main/res/values-br/strings.xml @@ -283,6 +283,9 @@ Check out the full suite of Simple Tools here: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index b53a8ed57..ca1e1d69c 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -283,6 +283,9 @@ Prohlédněte si celou sadu Jednoduchých aplikací na: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index d6fe21a90..e260101aa 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -280,6 +280,9 @@ Se hele suiten af Simple værktøjer her: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index e4f062f04..9758f715a 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -284,6 +284,9 @@ Einen Überblick über die komplette Suite von Simple Tools gibt es hier: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 4e8afbcef..a2ff09e72 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -283,6 +283,9 @@ Δείτε την πλήρη σειρά των Simple Tools εδώ: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index a783d8591..f884d29fd 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -283,6 +283,9 @@ Consulte todas las aplicaciones de Simple Tools aquí: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index cec5651ab..fa1ad6b33 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -284,6 +284,9 @@ Check out the full suite of Simple Tools here: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index d66f36f80..341c39eaf 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -283,6 +283,9 @@ Check out the full suite of Simple Tools here: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml index 46a05faeb..db6de4b6d 100644 --- a/app/src/main/res/values-he/strings.xml +++ b/app/src/main/res/values-he/strings.xml @@ -283,6 +283,9 @@ Check out the full suite of Simple Tools here: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml index 6b41d36f6..b4df4d4e5 100644 --- a/app/src/main/res/values-hi-rIN/strings.xml +++ b/app/src/main/res/values-hi-rIN/strings.xml @@ -283,6 +283,9 @@ Check out the full suite of Simple Tools here: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index 309f228c1..74afe7394 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -283,6 +283,9 @@ Check out the full suite of Simple Tools here: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 0a31c67c6..5d70ee693 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -283,6 +283,9 @@ Check out the full suite of Simple Tools here: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index 9418bfcfa..28b0d5f77 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -283,6 +283,9 @@ Periksa semua aplikasi Simple Tools di sini: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 9418bfcfa..28b0d5f77 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -283,6 +283,9 @@ Periksa semua aplikasi Simple Tools di sini: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 2bd0562a9..3e2d4c56e 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -283,6 +283,9 @@ Dai uno sguardo alla suite completa di Simple Tools: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index 0a1eb0800..ee913d308 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -283,6 +283,9 @@ Check out the full suite of Simple Tools here: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 36f2b51b7..45c3b1f7d 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -283,6 +283,9 @@ Check out the full suite of Simple Tools here: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 8803ee83d..678f99a8d 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -282,6 +282,9 @@ 더 다양한 심플앱을 확인하려면 아래 사이트에서 확인할 수 있습니다: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index c66d92eac..2158ec8b6 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -283,6 +283,9 @@ Check out the full suite of Simple Tools here: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index 078b3b6c9..240244297 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -283,6 +283,9 @@ Check out the full suite of Simple Tools here: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 054a86798..7e463cd2c 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -283,6 +283,9 @@ Kijk ook eens naar de hele collectie apps van Simple Tools: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-no/strings.xml b/app/src/main/res/values-no/strings.xml index 3f9b2eeab..a555558d9 100644 --- a/app/src/main/res/values-no/strings.xml +++ b/app/src/main/res/values-no/strings.xml @@ -283,6 +283,9 @@ Check out the full suite of Simple Tools here: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 8c54ba81d..58b56d0db 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -281,6 +281,9 @@ Check out the full suite of Simple Tools here: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index bbb9b7097..74be8093d 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -283,6 +283,9 @@ selecionando a opção \"Fonte de áudio usada pelos lembretes\" e modificando o Check out the full suite of Simple Tools here: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index df65773d7..fc5c106f2 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -283,6 +283,9 @@ Consulte todas as aplicações Simple Tools aqui: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 5f56d3e79..c4f0a0dfa 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -283,6 +283,9 @@ Ознакомьтесь с полным набором приложений серии Simple здесь: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 7354451d9..671258d7f 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -283,6 +283,9 @@ Pozrite si celú sadu aplikácií na: https://www.simplemobiletools.com + Vlastná stránka Jednoduchého Kalendára Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 1c96a8040..ac0bb5795 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -283,6 +283,9 @@ Check out the full suite of Simple Tools here: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index a7094e333..48f28b4f6 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -282,6 +282,9 @@ Check out the full suite of Simple Tools here: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 5bc15b6d0..74f2b1697 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -281,6 +281,9 @@ Більше інструментів від Simple Mobile Tools тут: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 2541a1f35..6e2694406 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -283,6 +283,9 @@         于此查看简易工具系列全套:         https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar +         Facebook:         https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index d3e1d9459..8f6e0217e 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -283,6 +283,9 @@ 於此查看簡易工具系列全套: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index e8d7291a8..4885fd951 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -283,6 +283,9 @@ 於此查看簡易工具系列全套: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5e9a6b049..b3c6bcb11 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -283,6 +283,9 @@ Check out the full suite of Simple Tools here: https://www.simplemobiletools.com + Standalone website of Simple Calendar Pro: + https://www.simplemobiletools.com/calendar + Facebook: https://www.facebook.com/simplemobiletools From e292cc41292271c64f6908e9c4e9ccab36d0f61e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fatih=20F=C4=B1r=C4=B1nc=C4=B1?= Date: Fri, 6 Mar 2020 14:28:25 +0300 Subject: [PATCH 58/60] Update strings.xml --- app/src/main/res/values-tr/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 48f28b4f6..59400fa02 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -279,10 +279,10 @@ DOWNLOAD SIMPLE CALENDAR PRO – THE SIMPLE OFFLINE CALENDAR WITH NO ADS! - Check out the full suite of Simple Tools here: + Basit Araçlar paketinin tamamını buradan inceleyin: https://www.simplemobiletools.com - Standalone website of Simple Calendar Pro: + Basit Takvim Pro'nun bağımsız web sitesi: https://www.simplemobiletools.com/calendar Facebook: From 2016be0874794da0e6af67c59ad7e7d1b35ad59c Mon Sep 17 00:00:00 2001 From: spkprs Date: Fri, 6 Mar 2020 14:36:43 +0300 Subject: [PATCH 59/60] Update strings.xml --- app/src/main/res/values-el/strings.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index a2ff09e72..544b2bdd0 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -249,7 +249,7 @@ Ενημερώνεστε για τις σημαντικές στιγμές της ζωή σας. - Το Απλό Ημερολόγιο Pro είναι ένα πλήρως προσαρμόσιμο ημερολόγιο εκτός σύνδεσης που έχει σχεδιαστεί για να κάνει ακριβώς αυτό που υπόσχεται. Δεν υπάρχουν περίπλοκες λειτουργίες, περιττά δικαιώματα και διαφημίσεις! + Το Απλό Ημερολόγιο Pro είναι ένα ημερολόγιο πλήρως προσαρμόσιμο εκτός σύνδεσης που έχει σχεδιαστεί για να κάνει ακριβώς αυτό που υπόσχεται. Δεν υπάρχουν περίπλοκες λειτουργίες, περιττά δικαιώματα και διαφημίσεις! Είτε οργανώνετε ένα ή επαναλαμβανόμενα γεγονότα, γενέθλια, επετείους, επαγγελματικές συναντήσεις, ραντεβού ή οτιδήποτε άλλο, το Απλό Ημερολόγιο Pro καθιστάται να παραμένει εύκολα οργανωμένο. Με μια απίστευτη ποικιλία επιλογών προσαρμογής μπορείτε να προσαρμόσετε τις υπενθυμίσεις συμβάντων, τους ήχους ειδοποιήσεων, τα γραφικά στοιχεία ημερολογίου και τον τρόπο εμφάνισης της εφαρμογής. @@ -270,8 +270,8 @@ ✔️ CalDAV συγχρονισμός υποστηρίζεται για συγχρονισμό συμβάντων σε όλες τις συσκευές ✔️ Καθημερινά, εβδομαδιαία, μηνιαία, ετήσια συμβάντα προβάλονται στο ημερολόγιο ✔️ Υποστηρίζει εξαγωγή & εισαγωγή γεγονότων μέσω αρχείων .ics - ✔️ Ορίστε υπενθυμίσεις πολλαπλές συμβάντων, προσαρμόστε τον ήχο υπενθύμισης και την δόνηση - ✔️ Επιλογές αναβολής των υπενθυμίσεις + ✔️ Ορίστε υπενθυμίσεις πολλαπλών συμβάντων, προσαρμογή ήχου υπενθύμισης και δόνησης + ✔️ Επιλογές αναβολής των υπενθυμίσεων ✔️ Προσθέστε εύκολα διακοπές, γενέθλια, επετείους & ραντεβού ✔️ Προσαρμογή συμβάντων - χρόνο έναρξης, διάρκεια, υπενθυμίσεις κλπ ✔️ Προσθέστε συμμετέχοντες σε κάθε εκδήλωση @@ -283,7 +283,7 @@ Δείτε την πλήρη σειρά των Simple Tools εδώ: https://www.simplemobiletools.com - Standalone website of Simple Calendar Pro: + Αποκλειστική ιστοσελίδα Απλού Ημερολογίου Pro: https://www.simplemobiletools.com/calendar Facebook: From e8b4010877c169d2b1c99e73052735fe1157fccc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fatih=20F=C4=B1r=C4=B1nc=C4=B1?= Date: Fri, 6 Mar 2020 19:28:27 +0300 Subject: [PATCH 60/60] Update strings.xml --- app/src/main/res/values-tr/strings.xml | 83 +++++++++++++------------- 1 file changed, 41 insertions(+), 42 deletions(-) diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 59400fa02..e2ea94af8 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -10,8 +10,8 @@ Basit etkinlik listesi Yaklaşan etkinlikleriniz yok gibi görünüyor. Bugüne git - Go to date - Hey,\n\nseems like you upgraded from the old free app. You have to migrate locally stored events manually via exporting in an .ics file, then importing. You can find both export/import buttons at the main screen menu.\n\nYou can then uninstall the old version, which has an \'Upgrade to Pro\' button at the top of the app settings. You will then only have to reset your app settings.\n\nThanks! + Tarihe git + Selam,\n\neski ücretsiz uygulamadan yeni sürüme geçmiş gibi görünüyorsunuz. Yerel olarak saklanan etkinlikleri bir .ics dosyasına aktarıp ardından içe aktararak elle taşımanız gerekiyor. Her iki dışa/içe aktar düğmesini ana ekran menüsünde bulabilirsiniz.\n\nArdından, uygulama ayarlarının üstünde \'Pro'ya Yükselt\' düğmesine sahip eski sürümü kaldırabilirsiniz. Daha sonra yalnızca uygulama ayarlarınızı sıfırlamanız gerekir.\n\nTeşekkürler! Aylık takvim @@ -85,14 +85,14 @@ Doğum günleri Kişi doğum günlerini ekle Hiçbir doğum günü bulunamadı - No new birthdays have been found + Yeni doğum günü bulunamadı Doğum günleri başarıyla eklendi Yıldönümleri Kişi yıldönümlerini ekle Yıldönümleri bulunamadı - No new anniversaries have been found + Yeni yıldönümleri bulunamadı Yıldönümleri başarıyla eklendi @@ -102,15 +102,15 @@ Etkinlik hatırlatıcılar - Add another attendee - My status: - Going - Not going - Maybe going - Invited + Başka bir katılımcı ekle + Durumum: + Gidiyor + Gitmiyor + Belki gidiyor + Davetli - Enter a country or time zone + Bir ülke veya saat dilimi girin Etkinlikleri içe aktar @@ -191,8 +191,8 @@ Varsayılan süre Son kullanılan Başka zaman - Highlight weekends on some views - Allow changing event time zones + Bazı görünümlerde hafta sonlarını vurgula + Etkinlik saat dilimlerini değiştirmeye izin ver CalDAV @@ -207,7 +207,7 @@ Senkronizasyon tamamlandı Farklı bir renk seçin (yalnızca yerel olarak uygulanabilir) Seçili takvime yazmanıza izin verilmiyor - Event not found. Please enable CalDAV sync for the appropriate calendar in the app settings. + Etkinlik bulunamadı. Lütfen uygulama ayarlarından uygun takvim için CalDAV senkronizasyonunu etkinleştirin. @@ -238,46 +238,45 @@ Görsel hatırlatıcıları görüyorum ama ses duymuyorum. Ne yapabilirim? Sadece gerçek hatırlatıcıyı görüntülemekle kalmaz, aynı zamanda ses çalmak da sistemden büyük ölçüde etkilenir. Herhangi bir ses duyamıyorsanız, uygulama ayarlarına girmeyi, \"Hatırlatıcılar tarafından kullanılan ses akışına\" basmayı ve bunu farklı bir değere değiştirmeyi deneyin. Hala işe yaramazsa, belirli bir akış sessiz değilse, Ses ayarlarınızı kontrol edin. - Does the app support time zones? - Yes, it does. By default all events are created in your current time zone. If you want to change an events\' time zone, - you will first have to enable the time zone picker at the app settings, then change it at the Event Details screen. It is disabled by default as most people won\'t need it. + Uygulama saat dilimlerini destekliyor mu? + Evet, destekliyor. Varsayılan olarak tüm etkinlikler geçerli saat diliminizde oluşturulur. Etkinliklerin saat dilimini değiştirmek istiyorsanız, önce uygulama ayarlarından saat dilimi seçiciyi etkinleştirmeniz, ardından Etkinlik Ayrıntıları ekranından değiştirmeniz gerekir. Çoğu insanın ihtiyacı olmayacağı için varsayılan olarak devre dışıdır. - Simple Calendar Pro - Events & Reminders + Basit Takvim Pro - Etkinlikler & Hatırlatıcılar - Be notified of the important moments in your life. + Hayatınızdaki önemli anlardan haberdar olun. - Simple Calendar Pro is a fully customizable, offline calendar designed to do exactly what a calendar should do. No complicated features, unnecessary permissions and no ads! + Basit Takvim Pro, bir takvimin tam olarak yapması gerekeni yapmak için tasarlanmış, tamamen özelleştirilebilir, çevrimdışı bir takvimdir. Karmaşık özellikler, gereksiz izinler ve reklam içermez! - Whether you’re organizing single or recurring events, birthdays, anniversaries, business meetings, appointments or anything else, Simple Calendar Pro makes it easy to stay organized. With an incredible variety of customization options you can customize event reminders, notification sounds, calendar widgets and how the app looks. + İster tekli ister tekrarlayan etkinlikler, doğum günleri, yıldönümleri, iş toplantıları, randevular veya başka bir şey organize ediyor olun, Basit Takvim Pro düzenli kalmanızı kolaylaştırır. İnanılmaz çeşitli özelleştirme seçenekleri ile etkinlik hatırlatıcılarını, bildirim seslerini, takvim widget'larını ve uygulamanın görünümünü özelleştirebilirsiniz. - Daily, weekly and monthly views make checking your upcoming events & appointments a breeze. You can even view everything as a simple list of events rather than in calendar view, so you know exactly what’s coming up in your life and when. + Günlük, haftalık ve aylık görünümler, yaklaşan etkinliklerinizi & randevularınızı kontrol etmeyi kolaylaştırır. Her şeyi takvim görünümü yerine basit bir etkinlik listesi olarak bile görüntüleyebilirsiniz, böylece hayatınızda neyin ne zaman geldiğini tam olarak bilirsiniz. ---------------------------------------------------------- - Simple Calendar Pro – Features & Benefits + Basit Takvim Pro – Özellikleri & Avantajları ---------------------------------------------------------- - ✔️ No ads or annoying popups - ✔️ No internet access needed, giving you more privacy & security - ✔️ Only the bare minimum permissions required - ✔️ Emphasis on simplicity – does what a calendar needs to do! - ✔️ Open source - ✔️ Fully customizable themes & calendar / event widgets - ✔️ Translated into 29 languages - ✔️ Export settings to .txt files to import to another device - ✔️ CalDAV calendar sync supported to sync events across devices - ✔️ Daily, weekly, monthly, yearly & event views on the calendar - ✔️ Supports exporting & importing events via .ics files - ✔️ Set multiple event reminders, customize event reminder sound and vibration - ✔️ Snooze option for reminders - ✔️ Easily add holidays, birthdays, anniversaries & appointments - ✔️ Customize events – start time, duration, reminders etc - ✔️ Add event attendees to each event - ✔️ Use as a personal calendar or a business calendar - ✔️ Choose between reminders & email notifications to alert you about an event + ✔️ Reklam veya rahatsız edici pop-up'lar yoktur + ✔️ İnternet erişimi gerekmez, size daha fazla gizlilik & güvenlik sağlar + ✔️ Minimum izin gerekir + ✔️ Sadeliğe vurgu - bir takvimin yapması gerekeni yapar! + ✔️ Açık kaynak + ✔️ Tamamen özelleştirilebilir temalar & takvim / etkinlik widget'ları + ✔️ 29 dile çevrilmiş + ✔️ Başka bir cihazda içe aktarmak için ayarları .txt dosyalarına aktarma + ✔️ Cihazlar arasında etkinlikleri senkronize etmek için CalDAV takvim senkronizasyonu desteği + ✔️ Takvimde günlük, haftalık, aylık, yıllık & etkinlik görünümleri + ✔️ Etkinlikleri .ics dosyaları üzerinden dışa & içe aktarma desteği + ✔️ Birden çok etkinlik hatırlatıcısı ayarlama, etkinlik hatırlatıcı sesini ve titreşimini özelleştirme + ✔️ Hatırlatıcılar için erteleme seçeneği + ✔️ Tatilleri, doğum günlerini, yıldönümlerini & randevuları kolayca ekleme + ✔️ Etkinlikleri özelleştirme - başlangıç zamanı, süre, hatırlatıcılar vb. + ✔️ Her etkinliğe etkinlik katılımcıları ekleme + ✔️ Kişisel takvim veya iş takvimi olarak kullanma + ✔️ Bir etkinlik hakkında sizi uyarmak için hatırlatıcılar & e-posta bildirimleri arasından seçim yapma - DOWNLOAD SIMPLE CALENDAR PRO – THE SIMPLE OFFLINE CALENDAR WITH NO ADS! + BASİT TAKVİM PRO'YU İNDİR - REKLAMSIZ BASİT ÇEVRİMDIŞI TAKVİM! Basit Araçlar paketinin tamamını buradan inceleyin: https://www.simplemobiletools.com