From 5078fa11c0046c79071cb7c5682db1582aeeb978 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 18 Dec 2019 12:05:56 +0100 Subject: [PATCH 01/24] 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 02/24] 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 03/24] 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 04/24] 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 05/24] 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 06/24] 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 07/24] 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 08/24] 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 09/24] 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 10/24] 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 11/24] 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 12/24] 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 13/24] 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 14/24] 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 15/24] =?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 16/24] 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 17/24] 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 18/24] 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 19/24] 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 20/24] 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 21/24] 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 22/24] 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 23/24] 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 24/24] 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