From 1101e2a2aada8460639c0d513a295472f44e4340 Mon Sep 17 00:00:00 2001 From: habitzreuter Date: Mon, 3 Sep 2018 20:02:20 -0300 Subject: [PATCH 01/55] Updated pt-BR translation Translated parts that were still in English. Fixed typos. Changed some words to avoid misunderstanding. --- app/src/main/res/values-pt-rBR/strings.xml | 40 +++++++++++----------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 10c770b15..77d7133ad 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -8,7 +8,7 @@ Vista mensal Vista anual Lista de eventos - Parece que você não tem eventos próximos. + Parece que você não tem próximos eventos. Ir para hoje @@ -20,7 +20,7 @@ Editar evento Novo evento Crie um novo evento - Duplicate event + Evento duplicado O título não pode ficar vazio O evento não pode terminar antes de iniciar Evento adicionado com sucesso @@ -53,7 +53,7 @@ Repetir para sempre vezes Repetir - Repetir + Repetir em Todo dia Em dias selecionados O mesmo dia @@ -128,12 +128,12 @@ Selecione um tipo de evento Mover eventos afetados para o tipo de evento padrão Remover permanentemente eventos afetados - Para remover um calendário do CalDAV, você deve desassincroná-lo + Para remover um calendário do CalDAV você deve desativar a sincronização - Ferias - Adicionar Ferias - feriados nacionais + Feriados + Adicionar feriados + Feriados nacionais Feriados religiosos Os feriados foram importados com sucesso para o tipo de evento \ "Feriados \" A importação de alguns eventos falhou @@ -149,21 +149,21 @@ Não foi encontrado nenhum aplicativo capaz de definir o som Nenhum O dia final não pode ser antes do início - CalDAV sync + Sincronização CalDAV Listas de eventos Exibir eventos do passado Substituir descrição do evento por localização - Delete todos eventos + Deletar todos os eventos Tem certeza de que deseja excluir todos os eventos? Isso deixará seus tipos de eventos e outras configurações intactas. Mostrar uma grid Lembretes de loop até que seja dispensado - Escurecer passado eventos + Escurecer eventos passados Eventos - Audio stream used by reminders - System - Alarm - Notification - Ring + Fonte de áudio usada pelos lembretes + Sistema + Alarme + Notificação + Toque CalDAV @@ -173,7 +173,7 @@ Recarregar Calendarios CalDAV Recarregando… Carregamento completo - O calendário de edição falhou + A edição do calendário falhou Sincronizando… Sincronização completa @@ -184,7 +184,7 @@ Quarta Quinta Sexta - Sabado + Sábado Domingo @@ -204,9 +204,9 @@ Posso sincronizar meus eventos por meio do Google Agenda ou de outro serviço de suporte CalDAV? Sim, basta ativar \ "CalDAV sync \" nas configurações do aplicativo e selecionar os calendários que você deseja sincronizar. No entanto, você precisará de algum aplicativo de terceiros que manipule a sincronização entre o dispositivo e os servidores. Caso você queira sincronizar um calendário do Google, o aplicativo oficial do Google Agenda fará o trabalho. Para outros calendários, você precisará de um adaptador de sincronização de terceiros, por exemplo, o DAVdroid. - 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. + Vejo os lembrete, mas não ouço áudio. O que posso fazer? + A exibição do lembrete e o áudio são fortemente influenciados pelas configurações do sistema. Se você não consegue ouvir o som, verifique as configurações do aplicativo, +selecionando a opção \"Fonte de áudio usada pelos lembretes\" e modificando o seu valor. Se isso não funcionar, verifique as configurações, especialmente se o som não está mudo. From a2586042cfed49978f395dbe16ac920e977727e6 Mon Sep 17 00:00:00 2001 From: Ettore Atalan Date: Tue, 4 Sep 2018 21:51:12 +0200 Subject: [PATCH 02/55] Update German translation Removed anglicism from and unified the German translation. --- app/src/main/res/values-de/strings.xml | 94 +++++++++++++------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 2b36a877b..0a52d8c04 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -8,7 +8,7 @@ Monatsansicht Jahresansicht Einfache Terminliste - Keine anstehenden Termine + Scheint so, als hättest du keine anstehenden Termine. Springe zu Heute @@ -20,12 +20,12 @@ Termin bearbeiten Neuer Termin Neuen Termin erstellen - Event duplizieren + Termin duplizieren Titel darf nicht leer sein Der Termin darf nicht früher enden als er beginnt Termin erfolgreich hinzugefügt Termin erfolgreich aktualisiert - Sortiere Termine nach Typ + Termine nach Typ sortieren Bitte trage einen Ort ein, der auf einer Karte angezeigt werden soll Ein Termin steht an @@ -42,20 +42,20 @@ Wiederholen bis unendlich Termin ist wiederholbar - Die Auswahl enthält Ereignisse mit Wiederholungen - Lösche nur die ausgewählte Wiederholung - Lösche diese und zukünftige Wiederholungen - Lösche alle Wiederholungen - Ändere nur die ausgewählte Wiederholung - Ändere alle Wiederholungen - Wiederhole bis zu bestimmtem Datum - Wiederhole x Mal + Die Auswahl enthält Termine mit Wiederholungen + Nur die ausgewählte Wiederholung löschen + Diese und zukünftige Wiederholungen löschen + Alle Wiederholungen löschen + Nur die ausgewählte Wiederholung ändern + Alle Wiederholungen ändern + Bis zu bestimmtem Datum wiederholen + x Mal wiederholen Immer wiederholen Mal Wiederholung Wiederholen Täglich - an ausgewählten Tagen + An ausgewählten Tagen Der gleiche Tag Der letzte Tag Am gleichen Tag jeden Monats wiederholen @@ -94,19 +94,19 @@ Erinnerung vorher - Füge eine weitere Erinnerung hinzu - Ereignis Erinnerungen + Weitere Erinnerung hinzufügen + Termin-Erinnerungen - Importiere Termine - Exportiere Termine - Importiere Termine aus .ics Datei - Exportiere Termine als .ics Datei - Standard-Termin-Typ + Termine importieren + Termine exportieren + Termine aus .ics-Datei importieren + Termine als .ics-Datei exportieren + Standard-Termintyp Vergangene Termine auch exportieren - Beziehe Termintypen mit ein + Termintypen miteinbeziehen Dateiname (ohne .ics) - Überschreibe Termintypen in der Datei + Termintypen in der Datei überschreiben Titel @@ -119,16 +119,16 @@ Termintypen - Füge einen neuen Typ hinzu + Neuen Typ hinzufügen Typ bearbeiten Typ mit diesem Namen existiert bereits Farbe - Regelmässiger Termin - Standard Termintyp kann nicht gelöscht werden - Wähle einen Termintyp - Verschiebe betroffene Termine in den Standard Termintyp - Lösche betroffene Termine permanent - Um CalDAV Kalender zu entfernen, musst du diese desynchronisieren + Regelmäßiger Termin + Standard-Termintyp kann nicht gelöscht werden + Wähle einen Termintyp aus + Betroffene Termine in den Standard-Termintyp verschieben + Betroffene Termine dauerhaft löschen + Um einen CalDAV-Kalender zu entfernen, musst du ihn desynchronisieren Feiertage @@ -140,26 +140,26 @@ Importieren von Feiertagen fehlgeschlagen - Verwalte Termin-Typen + Termintypen verwalten Wochenansicht beginnt am Wochenansicht endet am - Zeige Kalenderwoche an + Kalenderwoche anzeigen Vibration bei Erinnerung Erinnerungston - Keine App zum Setzen des Klingeltons gefunden - Kein Klingelton gewählt + Keine App zum Einstellen des Klingeltons gefunden + Kein Klingelton ausgewählt Terminbeginn kann nicht vor Terminende liegen - CalDAV Synchronisierung + CalDAV-Synchronisierung Terminlisten Vergangene Termine anzeigen - Ersetze Terminbeschreibung mit Ort + Terminbeschreibung mit Ort ersetzen Alle Termine löschen Bist du sicher, dass du alle Termine löschen willst? Deine Termintypen und Einstellungen bleiben erhalten. Raster anzeigen Erinnerungen wiederholen bis sie verworfen werden Vergangene Termine ausgrauen Termine - Audio Ausgabekanal für Erinnerungen + Audio-Ausgabekanal für Erinnerungen Medien Wecker Benachrichtigung @@ -167,14 +167,14 @@ CalDAV - Wähle Kalender zur Synchronisierung - Verwalte synchronisierte Kalender + Kalender zur Synchronisierung auswählen + Synchronisierte Kalender verwalten Nur lokal speichern - Aktualisiere CalDAV Kalender - Aktualisiere… + CalDAV-Kalender aktualisieren + Wird aktualisiert… Aktualisierung abgeschlossen Ändern des Kalenders fehlgeschlagen - Synchronisiere… + Wird synchronisiert… Synchronisation erfolgreich @@ -199,23 +199,23 @@ Wie kann ich Feiertage löschen, die über \"Feiertage hinzufügen\" importiert wurden? - Die über diesen Weg erstellten Feiertage sind als Termin-Typ \"Feiertage\" deklariert. - Du kannst in den Einstellungen -> Verwalte Termin-Typen auf den Termin-Typ gedrückt halten und über das Papierkorbsymbol löschen. + Die über diesen Weg erstellten Feiertage sind als Termintyp \"Feiertage\" deklariert. + Du kannst in den Einstellungen -> Termintypen verwalten auf den Termintyp gedrückt halten und über das Papierkorbsymbol löschen. Kann ich meine Termine über Google Kalender oder andere CalDAV unterstützende Dienste synchronisieren? - Ja, aktiviere \"CalDAV Synchronisierung\" in den Einstellungen und wähle die Kalender aus, die du synchronisieren willst. + Ja, aktiviere \"CalDAV-Synchronisierung\" in den Einstellungen und wähle die Kalender aus, die du synchronisieren willst. Jedoch benötigst du eine separate App, die Synchronisierung zwischen Gerät und Servern handhabt. Falls du einen Google Kalender synchronisieren willst, kann die offizielle Kalender-App dies übernehmen. Für andere Kalender benötigst du einen Synchronisierungsadapter, wie z. B. DAVdroid. Ich sehe die Erinenrungen, aber ich höre keinen Ton. Was kann ich tun? Erinnerungen nicht nur anzeigen, sondern Töne dazu abspielen ist ebenfalls stark vom jeweiligen (Android) System abhängig. Wenn Du keine Töne hörst, versuche in den App Einstellungen, - die Option \"Audio Ausgabekanal für Erinnerungen\" anzuklicken und eine andere Option auszuwählen. Wenn das immer noch nichts ändert, prüfe Deine Lautstärkeeinstellungen. of der gewählte Kanal nicht auf lautlos steht. + die Option \"Audio-Ausgabekanal für Erinnerungen\" anzuklicken und eine andere Option auszuwählen. Wenn das immer noch nichts ändert, prüfe Deine Lautstärkeeinstellungen. of der gewählte Kanal nicht auf lautlos steht. - Ein einfacher Kalender mit personalisierbaren Widgets, ganz ohne Werbung. + Ein einfacher Kalender mit personalisierbaren Bedienelementen, ganz ohne Werbung. - Ein schlichter Kalender mit optionaler CalDAV Synchronisation. Du kannst ganz einfach wiederholende Termine sowie Erinnerungen erstellen, inklusive optionaler Anzeige der Kalenderwoche. + Ein schlichter Kalender mit optionaler CalDAV-Synchronisation. Du kannst ganz einfach wiederholende Termine sowie Erinnerungen erstellen, inklusive optionaler Anzeige der Kalenderwoche. - Enthält ein skalierbares 4x4 Widget, bei welchem die Schriftfarbe sowie die Hintergrundfarbe und Transparenz anpassbar sind. + Enthält ein skalierbares 4x4 Bedienelement, bei welchem die Schriftfarbe sowie die Hintergrundfarbe und Transparenz anpassbar sind. Beinhaltet keine Werbung oder unnötige Berechtigungen. Sie ist komplett Open Source, alle verwendeten Farben sind anpassbar. From 635a31d673f8c918dceb35b5278fa14fe007b982 Mon Sep 17 00:00:00 2001 From: Ettore Atalan Date: Wed, 5 Sep 2018 16:18:57 +0200 Subject: [PATCH 03/55] Update German translation Fixed a typo and improved German translation once again. --- app/src/main/res/values-de/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 0a52d8c04..d8a9ca8de 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -205,13 +205,13 @@ Ja, aktiviere \"CalDAV-Synchronisierung\" in den Einstellungen und wähle die Kalender aus, die du synchronisieren willst. Jedoch benötigst du eine separate App, die Synchronisierung zwischen Gerät und Servern handhabt. Falls du einen Google Kalender synchronisieren willst, kann die offizielle Kalender-App dies übernehmen. Für andere Kalender benötigst du einen Synchronisierungsadapter, wie z. B. DAVdroid. - Ich sehe die Erinenrungen, aber ich höre keinen Ton. Was kann ich tun? + Ich sehe die Erinnerungen, aber ich höre keinen Ton. Was kann ich tun? Erinnerungen nicht nur anzeigen, sondern Töne dazu abspielen ist ebenfalls stark vom jeweiligen (Android) System abhängig. Wenn Du keine Töne hörst, versuche in den App Einstellungen, die Option \"Audio-Ausgabekanal für Erinnerungen\" anzuklicken und eine andere Option auszuwählen. Wenn das immer noch nichts ändert, prüfe Deine Lautstärkeeinstellungen. of der gewählte Kanal nicht auf lautlos steht. - Ein einfacher Kalender mit personalisierbaren Bedienelementen, ganz ohne Werbung. + Ein einfacher Kalender mit personalisierbaren Bedienelementen und ohne Werbung. Ein schlichter Kalender mit optionaler CalDAV-Synchronisation. Du kannst ganz einfach wiederholende Termine sowie Erinnerungen erstellen, inklusive optionaler Anzeige der Kalenderwoche. From c2e766b26ed404b5f1764e472060c35a6193e549 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 6 Sep 2018 11:01:59 +0200 Subject: [PATCH 04/55] removing LeakCanary --- app/build.gradle | 7 ------- app/src/main/kotlin/com/simplemobiletools/calendar/App.kt | 5 ----- 2 files changed, 12 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 51b139cf7..ae588bbc7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -41,18 +41,11 @@ android { } } -ext { - leakCanaryVersion = '1.5.4' -} - dependencies { implementation 'com.simplemobiletools:commons:4.6.10' implementation 'joda-time:joda-time:2.9.9' implementation 'com.facebook.stetho:stetho:1.5.0' implementation 'com.android.support:multidex:1.0.3' - - debugImplementation "com.squareup.leakcanary:leakcanary-android:$leakCanaryVersion" - releaseImplementation "com.squareup.leakcanary:leakcanary-android-no-op:$leakCanaryVersion" } Properties props = new Properties() diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/App.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/App.kt index 382012eaa..48f52c694 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/App.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/App.kt @@ -3,16 +3,11 @@ package com.simplemobiletools.calendar import android.support.multidex.MultiDexApplication import com.facebook.stetho.Stetho import com.simplemobiletools.commons.extensions.checkUseEnglish -import com.squareup.leakcanary.LeakCanary class App : MultiDexApplication() { override fun onCreate() { super.onCreate() if (BuildConfig.DEBUG) { - if (LeakCanary.isInAnalyzerProcess(this)) { - return - } - LeakCanary.install(this) Stetho.initializeWithDefaults(this) } From ec2b71e1c000d3159e9b3cdbe2a53af33a4dd14a Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 6 Sep 2018 11:10:13 +0200 Subject: [PATCH 05/55] updating Commons, kotlin, sdk version --- app/build.gradle | 8 ++++---- build.gradle | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index ae588bbc7..d9c06b35e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -3,13 +3,13 @@ apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' android { - compileSdkVersion 27 - buildToolsVersion "27.0.3" + compileSdkVersion 28 + buildToolsVersion "28.0.2" defaultConfig { applicationId "com.simplemobiletools.calendar" minSdkVersion 16 - targetSdkVersion 27 + targetSdkVersion 28 versionCode 127 versionName "4.1.3" multiDexEnabled true @@ -42,7 +42,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:4.6.10' + implementation 'com.simplemobiletools:commons:4.7.5' implementation 'joda-time:joda-time:2.9.9' implementation 'com.facebook.stetho:stetho:1.5.0' implementation 'com.android.support:multidex:1.0.3' diff --git a/build.gradle b/build.gradle index b7a332342..8a3727559 100644 --- a/build.gradle +++ b/build.gradle @@ -1,11 +1,11 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = '1.2.60' + ext.kotlin_version = '1.2.61' repositories { - jcenter() google() + jcenter() } dependencies { @@ -19,8 +19,8 @@ buildscript { allprojects { repositories { - jcenter() google() + jcenter() maven { url "https://jitpack.io" } } } From 729a632cf35f6115b5b45ddb4e7a335fd06cd873 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 6 Sep 2018 12:03:34 +0200 Subject: [PATCH 06/55] fix #599, properly determing if all-day events are running, or not --- .../calendar/helpers/DBHelper.kt | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/DBHelper.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/DBHelper.kt index dbd1da785..1dd371855 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/DBHelper.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/DBHelper.kt @@ -939,7 +939,12 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont repeatRule = REPEAT_SAME_DAY } - val isPastEvent = endTS < getNowSeconds() + val endTSToCheck = if (startTS < getNowSeconds() && flags and FLAG_ALL_DAY != 0) { + Formatter.getDayEndTS(Formatter.getDayCodeFromTS(endTS)) + } else { + endTS + } + val isPastEvent = endTSToCheck < getNowSeconds() val event = Event(id, startTS, endTS, title, description, reminder1Minutes, reminder2Minutes, reminder3Minutes, repeatInterval, importId, flags, repeatLimit, repeatRule, eventType, ignoreEventOccurrences, offset, isDstIncluded, @@ -1070,5 +1075,12 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont } } - private fun getIsPastEvent(event: Event) = event.endTS < getNowSeconds() + private fun getIsPastEvent(event: Event): Boolean { + val endTSToCheck = if (event.startTS < getNowSeconds() && event.getIsAllDay()) { + Formatter.getDayEndTS(Formatter.getDayCodeFromTS(event.endTS)) + } else { + event.endTS + } + return endTSToCheck < getNowSeconds() + } } From cc750cc9bae75ef834dcdd885b28fd998f6a1092 Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 6 Sep 2018 12:08:28 +0200 Subject: [PATCH 07/55] unify the way past events are checked --- .../com/simplemobiletools/calendar/helpers/DBHelper.kt | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/DBHelper.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/DBHelper.kt index 1dd371855..a7299e313 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/DBHelper.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/DBHelper.kt @@ -928,6 +928,7 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont val source = cursor.getStringValue(COL_EVENT_SOURCE) val location = cursor.getStringValue(COL_LOCATION) val color = eventTypeColors[eventType] + val isPastEvent = false val ignoreEventOccurrences = if (repeatInterval != 0) { getIgnoredOccurrences(id) @@ -939,16 +940,10 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont repeatRule = REPEAT_SAME_DAY } - val endTSToCheck = if (startTS < getNowSeconds() && flags and FLAG_ALL_DAY != 0) { - Formatter.getDayEndTS(Formatter.getDayCodeFromTS(endTS)) - } else { - endTS - } - val isPastEvent = endTSToCheck < getNowSeconds() - val event = Event(id, startTS, endTS, title, description, reminder1Minutes, reminder2Minutes, reminder3Minutes, repeatInterval, importId, flags, repeatLimit, repeatRule, eventType, ignoreEventOccurrences, offset, isDstIncluded, 0, lastUpdated, source, color, location, isPastEvent) + event.isPastEvent = getIsPastEvent(event) events.add(event) } while (cursor.moveToNext()) From 289ac5dbf054c6d4b2169dd657c3e95a3096205c Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 6 Sep 2018 12:34:58 +0200 Subject: [PATCH 08/55] fix #606, change the "Repeat x times" string --- .../calendar/dialogs/RepeatLimitTypePickerDialog.kt | 2 +- app/src/main/res/layout/dialog_repeat_limit_type_picker.xml | 2 +- app/src/main/res/values-az/strings.xml | 2 +- app/src/main/res/values-br/strings.xml | 2 +- app/src/main/res/values-cs/strings.xml | 2 +- app/src/main/res/values-da/strings.xml | 2 +- app/src/main/res/values-de/strings.xml | 2 +- app/src/main/res/values-el/strings.xml | 2 +- app/src/main/res/values-es/strings.xml | 2 +- app/src/main/res/values-fr/strings.xml | 2 +- app/src/main/res/values-gl/strings.xml | 2 +- app/src/main/res/values-hi-rIN/strings.xml | 2 +- app/src/main/res/values-hr/strings.xml | 2 +- app/src/main/res/values-hu/strings.xml | 2 +- app/src/main/res/values-it/strings.xml | 2 +- app/src/main/res/values-iw/strings.xml | 2 +- app/src/main/res/values-ja/strings.xml | 2 +- app/src/main/res/values-ko/strings.xml | 2 +- app/src/main/res/values-lt/strings.xml | 2 +- app/src/main/res/values-nb/strings.xml | 2 +- app/src/main/res/values-nl/strings.xml | 2 +- app/src/main/res/values-no/strings.xml | 2 +- app/src/main/res/values-pl/strings.xml | 2 +- app/src/main/res/values-pt-rBR/strings.xml | 2 +- app/src/main/res/values-pt/strings.xml | 2 +- app/src/main/res/values-ru/strings.xml | 2 +- app/src/main/res/values-sk/strings.xml | 2 +- app/src/main/res/values-sv/strings.xml | 2 +- app/src/main/res/values-tr/strings.xml | 2 +- app/src/main/res/values-zh-rTW/strings.xml | 2 +- app/src/main/res/values/strings.xml | 2 +- 31 files changed, 31 insertions(+), 31 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/dialogs/RepeatLimitTypePickerDialog.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/dialogs/RepeatLimitTypePickerDialog.kt index 7d30c22c4..e7cbe8e98 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/dialogs/RepeatLimitTypePickerDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/dialogs/RepeatLimitTypePickerDialog.kt @@ -37,7 +37,7 @@ class RepeatLimitTypePickerDialog(val activity: Activity, var repeatLimit: Int, updateRepeatLimitText() dialog = AlertDialog.Builder(activity) - .setPositiveButton(R.string.ok, { dialogInterface, i -> confirmRepetition() }) + .setPositiveButton(R.string.ok) { dialogInterface, i -> confirmRepetition() } .setNegativeButton(R.string.cancel, null) .create().apply { activity.setupDialogStuff(view, this) { diff --git a/app/src/main/res/layout/dialog_repeat_limit_type_picker.xml b/app/src/main/res/layout/dialog_repeat_limit_type_picker.xml index 21d9a65e1..7f6662a54 100644 --- a/app/src/main/res/layout/dialog_repeat_limit_type_picker.xml +++ b/app/src/main/res/layout/dialog_repeat_limit_type_picker.xml @@ -33,7 +33,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/small_margin" - android:text="@string/repeat_x_times"/> + android:text="@string/stop_repeating_after_x"/> Yalnız seçilmiş hadisəni yenilə Bütün hadisələri yenilə Bir vaxta qədər təkrarla - X dəfə təkrarla + Stop repeating after x occurrences Sonsuz təkrarla təkrar sayı Təkrarla diff --git a/app/src/main/res/values-br/strings.xml b/app/src/main/res/values-br/strings.xml index 83618c996..c90b746db 100644 --- a/app/src/main/res/values-br/strings.xml +++ b/app/src/main/res/values-br/strings.xml @@ -49,7 +49,7 @@ Hizivaat an degouezh diuzet hepken Hizivaat an holl zegouezhioù Addegouezhout betek un deiziad - Addegouezhout X gwech + Stop repeating after x occurrences Addegouezhout da viken a wechoù Addegouezh diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 5a61ea6d0..6025ed1f2 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -49,7 +49,7 @@ Změnit pouze vybrané výskyty Změnit všechny výskyty Opakovat až do - Opakovat x krát + Stop repeating after x occurrences Opakovat navždy krát Opakovat diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 339ffa3a3..1ef4650f9 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -49,7 +49,7 @@ Opdater kun denne forekomst Opdater alle forekomster Gentag indtil - Antal gentagelser + Stop repeating after x occurrences For altid gange Gentag diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index d8a9ca8de..b7d464885 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -49,7 +49,7 @@ Nur die ausgewählte Wiederholung ändern Alle Wiederholungen ändern Bis zu bestimmtem Datum wiederholen - x Mal wiederholen + Stop repeating after x occurrences Immer wiederholen Mal Wiederholung diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index b08de3aa2..7e6551a23 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -49,7 +49,7 @@ Ενημέρωση μόνο του επιλεγμένου περιστατικού Ενημέρωση όλων των περιστατικών Επαναλάβετε μέχρι μια ημερομηνία - Επαναλάβετε x φορές + Stop repeating after x occurrences Επαναλάβετε για πάντα times Επανάληψη diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 876c67b3f..271bf46b5 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -49,7 +49,7 @@ Actualizar sólo el evento seleccionado Actualizar todos los eventos Repetir hasta la fecha - Repetir x veces + Stop repeating after x occurrences Repetir por siempre veces Repetir diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index e3e0a7c61..44f8d2978 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -49,7 +49,7 @@ Mettre à jour seulement l\'occurrence sélectionnée Mettre à jour toutes les occurrences Répéter jusqu\'à une date - Répéter x fois + Stop repeating after x occurrences Répéter éternellement fois Répéter diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index 9fe3cbec8..d07fbc0c8 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -49,7 +49,7 @@ Actualizar só o evento selecionado Actualizar todos os eventos Repetir ata a data - Repetir x veces + Stop repeating after x occurrences Repetir por sempre veces Repetir diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml index 21d4adda8..309f86ea1 100644 --- a/app/src/main/res/values-hi-rIN/strings.xml +++ b/app/src/main/res/values-hi-rIN/strings.xml @@ -50,7 +50,7 @@ Update the selected occurrence only Update all occurrences Repeat till a date - Repeat x times + Stop repeating after x occurrences Repeat forever times Repeat diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index aab70f77a..87bd6e7f8 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -49,7 +49,7 @@ Ažuriraj samo odabrano ponavljanje Ažuriraj sva ponavljanja Ponovi do datuma - Ponovi x puta + Stop repeating after x occurrences Ponovi zauvijek puta Ponavljanje diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 7c7babb7a..41892f186 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -49,7 +49,7 @@ Update the selected occurrence only Update all occurrences Repeat till a date - Repeat x times + Stop repeating after x occurrences Repeat forever times Repeat diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 697b993a2..42290ec30 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -49,7 +49,7 @@ Aggiorna solamente l\'occorenza selezionata Aggiorna tutte le occorenze Ripeti fino a una data - Ripeti x volte + Stop repeating after x occurrences Ripeti per sempre volte Ripeti diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index ccff9220b..187729234 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -50,7 +50,7 @@ Update the selected occurrence only Update all occurrences Repeat till a date - Repeat x times + Stop repeating after x occurrences Repeat forever times Repeat diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 0c00bf721..1b4e190b9 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -49,7 +49,7 @@ Update the selected occurrence only Update all occurrences Repeat till a date - Repeat x times + Stop repeating after x occurrences Repeat forever times Repeat diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index b1fa595b2..8278e0c44 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -49,7 +49,7 @@ 선택한 항목만 변경 모든 항목 변경 날짜까지 반복 - 횟수 반복 + Stop repeating after x occurrences 영원히 반복 반복 diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index 45db7ce1d..728730898 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -49,7 +49,7 @@ Atnaujinti tik pasirinktą įvykį Atnaujinti visus įvykius Pakartoti iki datos - Pakartoti x kartus/ų + Stop repeating after x occurrences Karoti amžinai laikai Kartoti diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index 9044c0bcb..53f01db04 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -49,7 +49,7 @@ Oppdater bare den merkede forekomsten Oppdater alle forekomster Gjenta til en dato - Gjenta x ganger + Stop repeating after x occurrences Gjenta for alltid ganger Gjenta diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 611b6042f..657340180 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -49,7 +49,7 @@ Alleen huidige afspraak bijwerken Alle afspraken bijwerken Herhalen tot datum - Aantal keren herhalen + Stop repeating after x occurrences Voor altijd herhalen keer Herhalen diff --git a/app/src/main/res/values-no/strings.xml b/app/src/main/res/values-no/strings.xml index fe2e65a6e..05b8eca7e 100644 --- a/app/src/main/res/values-no/strings.xml +++ b/app/src/main/res/values-no/strings.xml @@ -49,7 +49,7 @@ Oppdater bare den merkede forekomsten Oppdater alle forekomster Gjenta til en dato - Gjenta x ganger + Stop repeating after x occurrences Gjenta for alltid ganger Gjenta diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 1202e6fed..8741639cf 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -49,7 +49,7 @@ Zaktualizuj tylko wybrane wystąpienia Zaktualizuj wszystkie wystąpienia Powtarzaj do daty - Powtórz x razy + Stop repeating after x occurrences Powtarzaj do końca świata razy Powtórz diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 77d7133ad..f44795c10 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -49,7 +49,7 @@ Atualizar a ocorrência selecionada Atualizar todas as ocorrências Repetir até uma data - Repetir x vezes + Stop repeating after x occurrences Repetir para sempre vezes Repetir diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index baf50baed..8b711d75d 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -49,7 +49,7 @@ Atualizar a ocorrência selecionada Atualizar todas as ocorrências Repetir até à data - Repetir x vezes + Stop repeating after x occurrences Repetir eternamente vezes Repetição diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 2eba7198b..25f44c437 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -49,7 +49,7 @@ Обновить только выбранное Обновить все связанные Повторять до даты - Повторять x раз + Stop repeating after x occurrences Повторять бесконечно раз Повторять diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index aa342e0cc..40efa478b 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -49,7 +49,7 @@ Upraviť iba označené opakovania Upraviť všetky opakovania Opakovať po dátum - Opakovať x krát + Ukončiť opakovanie po x opakovaniach Opakovať navždy krát Opakovať diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 1041eb3f4..c4f91b332 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -49,7 +49,7 @@ Uppdatera bara den markerade förekomsten Uppdatera alla förekomster Upprepa till ett datum - Upprepa x gånger + Stop repeating after x occurrences Upprepa alltid gånger Upprepa diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 3176142cc..69db9610f 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -49,7 +49,7 @@ Yalnızca seçilen etkinlikleri güncelle Tüm etkinlikleri güncelle Şu tarihe kadar tekrarla - X kere tekrarla + Stop repeating after x occurrences Sonsuza kadar tekrarla kere Tekrarla diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 4b13b6550..03e7535c1 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -49,7 +49,7 @@ 只更新選擇的事件 更新全部事件 重複直到某日 - 重複幾次 + Stop repeating after x occurrences 永遠重複 重複 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ff32d2ea4..4717b5987 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -49,7 +49,7 @@ Update the selected occurrence only Update all occurrences Repeat till a date - Repeat x times + Stop repeating after x occurrences Repeat forever times Repeat From 7a618de210553cdfacbe6fe117666efb4e9e107e Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 7 Sep 2018 11:12:01 +0200 Subject: [PATCH 09/55] fix #571, make sure caldav synced events are saved in proper calendar --- .../com/simplemobiletools/calendar/activities/EventActivity.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/EventActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/EventActivity.kt index 39224cbf2..56f91e58f 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/EventActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/EventActivity.kt @@ -691,7 +691,7 @@ class EventActivity : SimpleActivity() { config.lastUsedLocalEventTypeId = newEventType SOURCE_SIMPLE_CALENDAR } else { - "$CALDAV-${config.lastUsedCaldavCalendarId}" + "$CALDAV-$mEventCalendarId" } val reminders = sortedSetOf(mReminder1Minutes, mReminder2Minutes, mReminder3Minutes).filter { it != REMINDER_OFF } From bf9541fbabd49692e18491019548419b24685c21 Mon Sep 17 00:00:00 2001 From: Guillaume Date: Sat, 8 Sep 2018 14:56:30 +0200 Subject: [PATCH 10/55] Dutch --- app/src/main/res/values-nl/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 657340180..f7387132c 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -49,7 +49,7 @@ Alleen huidige afspraak bijwerken Alle afspraken bijwerken Herhalen tot datum - Stop repeating after x occurrences + Herhaling stoppen na x keer Voor altijd herhalen keer Herhalen From 3d6b793de828e6d00104d7182b5a348234764e45 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 9 Sep 2018 20:02:02 +0200 Subject: [PATCH 11/55] fix #614, properly highlight running all-day events at event list view --- .../calendar/adapters/EventListAdapter.kt | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListAdapter.kt index 43cda31b9..b307022b9 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListAdapter.kt @@ -157,13 +157,11 @@ class EventListAdapter(activity: SimpleActivity, var listItems: ArrayList Date: Mon, 10 Sep 2018 11:26:18 +0200 Subject: [PATCH 12/55] properly dim past all-day events --- .../simplemobiletools/calendar/adapters/EventListAdapter.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListAdapter.kt index b307022b9..622247133 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListAdapter.kt @@ -157,11 +157,11 @@ class EventListAdapter(activity: SimpleActivity, var listItems: ArrayList Date: Mon, 10 Sep 2018 12:12:59 +0200 Subject: [PATCH 13/55] fix #596, make sure the proper event date is shown at all-day events --- .../simplemobiletools/calendar/extensions/Context.kt | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/extensions/Context.kt index 6ae42cf2e..986475e30 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/extensions/Context.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/extensions/Context.kt @@ -32,8 +32,8 @@ import com.simplemobiletools.calendar.receivers.CalDAVSyncReceiver import com.simplemobiletools.calendar.receivers.NotificationReceiver import com.simplemobiletools.calendar.services.SnoozeService import com.simplemobiletools.commons.extensions.* -import com.simplemobiletools.commons.helpers.DAY_SECONDS import com.simplemobiletools.commons.helpers.SILENT +import com.simplemobiletools.commons.helpers.WEEK_SECONDS import com.simplemobiletools.commons.helpers.YEAR_SECONDS import com.simplemobiletools.commons.helpers.isOreoPlus import org.joda.time.DateTime @@ -161,13 +161,16 @@ fun Context.notifyEvent(originalEvent: Event) { var event = originalEvent.copy() val currentSeconds = getNowSeconds() + var eventStartTS = if (event.getIsAllDay()) Formatter.getDayStartTS(Formatter.getDayCodeFromTS(event.startTS)) else event.startTS // make sure refer to the proper repeatable event instance with "Tomorrow", or the specific date - if (event.repeatInterval != 0 && event.startTS - event.reminder1Minutes * 60 < currentSeconds) { - val events = dbHelper.getRepeatableEventsFor(currentSeconds - DAY_SECONDS, currentSeconds + YEAR_SECONDS, event.id) + if (event.repeatInterval != 0 && eventStartTS - event.reminder1Minutes * 60 < currentSeconds) { + val events = dbHelper.getRepeatableEventsFor(currentSeconds - WEEK_SECONDS, currentSeconds + YEAR_SECONDS, event.id) for (currEvent in events) { - if (currEvent.startTS - currEvent.reminder1Minutes * 60 > currentSeconds) { + eventStartTS = if (currEvent.getIsAllDay()) Formatter.getDayStartTS(Formatter.getDayCodeFromTS(currEvent.startTS)) else currEvent.startTS + if (eventStartTS - currEvent.reminder1Minutes * 60 > currentSeconds) { break } + event = currEvent } } From 012ceeb5d37176e79c1a60e99288e3d994f71cfb Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 10 Sep 2018 12:22:08 +0200 Subject: [PATCH 14/55] hide the event notification if the edit screen opens in any way --- .../com/simplemobiletools/calendar/activities/EventActivity.kt | 2 ++ .../com/simplemobiletools/calendar/extensions/Context.kt | 3 +-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/EventActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/EventActivity.kt index 56f91e58f..9eb06fea0 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/EventActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/EventActivity.kt @@ -89,6 +89,8 @@ class EventActivity : SimpleActivity() { if (intent.getBooleanExtra(IS_DUPLICATE_INTENT, false)) { mEvent.id = 0 } + + cancelNotification(mEvent.id) } else { mEvent = Event() mReminder1Minutes = config.defaultReminderMinutes diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/extensions/Context.kt index 986475e30..03856c9db 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/extensions/Context.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/extensions/Context.kt @@ -119,8 +119,7 @@ fun Context.scheduleEventIn(notifTS: Long, event: Event, activity: SimpleActivit } fun Context.cancelNotification(id: Int) { - val intent = Intent(applicationContext, NotificationReceiver::class.java) - PendingIntent.getBroadcast(applicationContext, id, intent, PendingIntent.FLAG_UPDATE_CURRENT).cancel() + (getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager).cancel(id) } private fun getNotificationIntent(context: Context, event: Event): PendingIntent { From fc28e3a976002fb854b4c9b8404baecd5ec1115b Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 10 Sep 2018 12:34:32 +0200 Subject: [PATCH 15/55] update event list widget text color as appropriate, without recreating it --- .../calendar/adapters/EventListWidgetAdapter.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListWidgetAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListWidgetAdapter.kt index 3984eb07a..74d9b1b82 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListWidgetAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListWidgetAdapter.kt @@ -29,8 +29,8 @@ class EventListWidgetAdapter(val context: Context) : RemoteViewsService.RemoteVi private val allDayString = context.resources.getString(R.string.all_day) private var events = ArrayList() - private val textColor = context.config.widgetTextColor - private val weakTextColor = textColor.adjustAlpha(LOW_ALPHA) + private var textColor = context.config.widgetTextColor + 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() @@ -132,6 +132,8 @@ class EventListWidgetAdapter(val context: Context) : RemoteViewsService.RemoteVi override fun getItemId(position: Int) = position.toLong() override fun onDataSetChanged() { + textColor = context.config.widgetTextColor + weakTextColor = textColor.adjustAlpha(LOW_ALPHA) mediumFontSize = context.config.getFontSize() val fromTS = DateTime().seconds() - context.config.displayPastEvents * 60 val toTS = DateTime().plusYears(1).seconds() From 24f594954eca72a9b12f9abfcd466a39b2d61056 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 10 Sep 2018 13:43:20 +0200 Subject: [PATCH 16/55] correcting some view IDs --- .../calendar/adapters/EventListAdapter.kt | 5 +++-- .../calendar/adapters/EventListWidgetAdapter.kt | 6 +++--- app/src/main/res/layout/event_list_item.xml | 4 ++-- app/src/main/res/layout/event_list_item_simple.xml | 2 +- app/src/main/res/layout/event_list_item_widget.xml | 8 ++++---- app/src/main/res/layout/event_list_item_widget_simple.xml | 6 +++--- 6 files changed, 16 insertions(+), 15 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListAdapter.kt index 622247133..dde134288 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListAdapter.kt @@ -24,6 +24,7 @@ import com.simplemobiletools.commons.extensions.beInvisibleIf import com.simplemobiletools.commons.interfaces.RefreshRecyclerViewListener import com.simplemobiletools.commons.views.MyRecyclerView import kotlinx.android.synthetic.main.event_list_item.view.* +import kotlinx.android.synthetic.main.event_list_section.view.* import java.util.* class EventListAdapter(activity: SimpleActivity, var listItems: ArrayList, val allowLongClick: Boolean, val listener: RefreshRecyclerViewListener?, @@ -131,7 +132,7 @@ class EventListAdapter(activity: SimpleActivity, var listItems: ArrayList diff --git a/app/src/main/res/layout/event_list_item_widget_simple.xml b/app/src/main/res/layout/event_list_item_widget_simple.xml index 44cfc65b9..64cd9e244 100644 --- a/app/src/main/res/layout/event_list_item_widget_simple.xml +++ b/app/src/main/res/layout/event_list_item_widget_simple.xml @@ -16,7 +16,7 @@ tools:text="13:00"/> From b31416c7f84c45eeb438ee96ba0dc2005a507ca2 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 10 Sep 2018 14:34:00 +0200 Subject: [PATCH 17/55] renaming a couple more views --- .../calendar/adapters/DayEventsAdapter.kt | 4 ++-- app/src/main/res/layout/event_item_day_view.xml | 8 ++++---- app/src/main/res/layout/event_list_item.xml | 4 ++-- app/src/main/res/layout/event_list_item_simple.xml | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/DayEventsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/DayEventsAdapter.kt index 2bd308693..5f5446217 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/DayEventsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/DayEventsAdapter.kt @@ -67,7 +67,7 @@ class DayEventsAdapter(activity: SimpleActivity, val events: ArrayList, r private fun setupView(view: View, event: Event) { view.apply { - event_section_title.text = event.title + event_item_title.text = event.title event_item_description.text = if (replaceDescriptionWithLocation) event.location else event.description event_item_start.text = if (event.getIsAllDay()) allDayString else Formatter.getTimeFromTS(context, event.startTS) event_item_end.beInvisibleIf(event.startTS == event.endTS) @@ -98,7 +98,7 @@ class DayEventsAdapter(activity: SimpleActivity, val events: ArrayList, r event_item_start.setTextColor(newTextColor) event_item_end.setTextColor(newTextColor) - event_section_title.setTextColor(newTextColor) + event_item_title.setTextColor(newTextColor) event_item_description.setTextColor(newTextColor) } } diff --git a/app/src/main/res/layout/event_item_day_view.xml b/app/src/main/res/layout/event_item_day_view.xml index c66c75730..946492adf 100644 --- a/app/src/main/res/layout/event_item_day_view.xml +++ b/app/src/main/res/layout/event_item_day_view.xml @@ -34,7 +34,7 @@ android:textSize="@dimen/day_text_size"/> diff --git a/app/src/main/res/layout/event_list_item.xml b/app/src/main/res/layout/event_list_item.xml index a6e5cf662..a0fb32fb9 100644 --- a/app/src/main/res/layout/event_list_item.xml +++ b/app/src/main/res/layout/event_list_item.xml @@ -68,10 +68,10 @@ android:id="@+id/event_item_color" android:layout_width="wrap_content" android:layout_height="match_parent" - android:layout_alignBottom="@+id/event_section_title" + android:layout_alignBottom="@+id/event_item_title" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" - android:layout_alignTop="@+id/event_section_title" + android:layout_alignTop="@+id/event_item_title" android:paddingRight="@dimen/medium_margin" android:src="@drawable/monthly_event_dot"/> diff --git a/app/src/main/res/layout/event_list_item_simple.xml b/app/src/main/res/layout/event_list_item_simple.xml index e9f31672d..83deda7dc 100644 --- a/app/src/main/res/layout/event_list_item_simple.xml +++ b/app/src/main/res/layout/event_list_item_simple.xml @@ -44,10 +44,10 @@ android:id="@+id/event_item_color" android:layout_width="wrap_content" android:layout_height="match_parent" - android:layout_alignBottom="@+id/event_section_title" + android:layout_alignBottom="@+id/event_item_title" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" - android:layout_alignTop="@+id/event_section_title" + android:layout_alignTop="@+id/event_item_title" android:paddingRight="@dimen/medium_margin" android:src="@drawable/monthly_event_dot"/> From d9f3a350cd889d9c79df2ed32a898597a6040d8f Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 10 Sep 2018 15:42:24 +0200 Subject: [PATCH 18/55] removing some unused drawables --- app/src/main/res/drawable/circle_empty.xml | 11 ----------- app/src/main/res/drawable/monthly_day_dot.xml | 6 ------ app/src/main/res/drawable/monthly_day_with_event.xml | 6 ------ .../res/drawable/monthly_day_with_event_today.xml | 7 ------- 4 files changed, 30 deletions(-) delete mode 100644 app/src/main/res/drawable/circle_empty.xml delete mode 100644 app/src/main/res/drawable/monthly_day_dot.xml delete mode 100644 app/src/main/res/drawable/monthly_day_with_event.xml delete mode 100644 app/src/main/res/drawable/monthly_day_with_event_today.xml diff --git a/app/src/main/res/drawable/circle_empty.xml b/app/src/main/res/drawable/circle_empty.xml deleted file mode 100644 index 767a935c0..000000000 --- a/app/src/main/res/drawable/circle_empty.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - diff --git a/app/src/main/res/drawable/monthly_day_dot.xml b/app/src/main/res/drawable/monthly_day_dot.xml deleted file mode 100644 index 1daa66144..000000000 --- a/app/src/main/res/drawable/monthly_day_dot.xml +++ /dev/null @@ -1,6 +0,0 @@ - - diff --git a/app/src/main/res/drawable/monthly_day_with_event.xml b/app/src/main/res/drawable/monthly_day_with_event.xml deleted file mode 100644 index 424e4a6dd..000000000 --- a/app/src/main/res/drawable/monthly_day_with_event.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/monthly_day_with_event_today.xml b/app/src/main/res/drawable/monthly_day_with_event_today.xml deleted file mode 100644 index 5871a7163..000000000 --- a/app/src/main/res/drawable/monthly_day_with_event_today.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - From 62f6aa0d182e9dca28ceaaa529ff24cc82b58b71 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 10 Sep 2018 16:13:16 +0200 Subject: [PATCH 19/55] replace the event type color dot with a bar on the left side --- .../calendar/adapters/DayEventsAdapter.kt | 2 +- .../calendar/adapters/EventListAdapter.kt | 2 +- .../adapters/EventListWidgetAdapter.kt | 4 +-- .../res/drawable-hdpi/monthly_event_dot.png | Bin 247 -> 0 bytes .../res/drawable-xhdpi/monthly_event_dot.png | Bin 271 -> 0 bytes .../res/drawable-xxhdpi/monthly_event_dot.png | Bin 410 -> 0 bytes .../drawable-xxxhdpi/monthly_event_dot.png | Bin 437 -> 0 bytes .../res/drawable/event_list_color_bar.xml | 15 ++++++++ .../main/res/layout/event_item_day_view.xml | 26 +++++++------- app/src/main/res/layout/event_list_item.xml | 27 +++++++-------- .../res/layout/event_list_item_simple.xml | 25 +++++++------- .../res/layout/event_list_item_widget.xml | 32 ++++++++---------- .../layout/event_list_item_widget_simple.xml | 25 +++++++------- app/src/main/res/values/dimens.xml | 3 ++ 14 files changed, 87 insertions(+), 74 deletions(-) delete mode 100644 app/src/main/res/drawable-hdpi/monthly_event_dot.png delete mode 100644 app/src/main/res/drawable-xhdpi/monthly_event_dot.png delete mode 100644 app/src/main/res/drawable-xxhdpi/monthly_event_dot.png delete mode 100644 app/src/main/res/drawable-xxxhdpi/monthly_event_dot.png create mode 100644 app/src/main/res/drawable/event_list_color_bar.xml diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/DayEventsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/DayEventsAdapter.kt index 5f5446217..cfd368269 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/DayEventsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/DayEventsAdapter.kt @@ -71,7 +71,7 @@ class DayEventsAdapter(activity: SimpleActivity, val events: ArrayList, r event_item_description.text = if (replaceDescriptionWithLocation) event.location else event.description event_item_start.text = if (event.getIsAllDay()) allDayString else Formatter.getTimeFromTS(context, event.startTS) event_item_end.beInvisibleIf(event.startTS == event.endTS) - event_item_color.applyColorFilter(event.color) + event_item_color_bar.background.applyColorFilter(event.color) if (event.startTS != event.endTS) { val startCode = Formatter.getDayCodeFromTS(event.startTS) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListAdapter.kt index dde134288..4ebb1d9d1 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListAdapter.kt @@ -136,7 +136,7 @@ class EventListAdapter(activity: SimpleActivity, var listItems: ArrayList;uxYaaq1*%z7_)>R&~cm zI^8WREV!31bLeQA)ZCE9y=Q-t>x@q?Z+6a~%W;Lprh)H;vs|NOM6lPV)OA-K=U%zX zU!Bn$wcomZ!_WD;Hk?~K^}>C!CO~UU2D?-M diff --git a/app/src/main/res/drawable-xhdpi/monthly_event_dot.png b/app/src/main/res/drawable-xhdpi/monthly_event_dot.png deleted file mode 100644 index bd2aa7f7149028c123b52b5b5b4ae7d0458a7fff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP*AeO zHKN2hKQ}iuuY|$5C^fMpHASI3vm`^o-P1Q9ypc~FsA!I-i(`mI@6ySJe1{bTSe|Pr zEiBReEAYGB=D_}^F*U(E;oFkb^CvtmvA$?jl=D4s_e|W*@0u@E zSv|YAMLn8(zuDTenC;JXot3A3?U%esE_zu!Zd#!@73H+^;Noddp(DglFFS z_a`d0~@C;2@9_7*f=lw=$DVtZ=Wf-PX48(u6FcvinZJF>pyuF{v@5_Sv~(V P(47pPu6{1-oD!M#oS%egYLx8Dr|9_ssx!4V-`kH~=xQcaKZp23&z0I2&VLW0P&e zHm9Nt-F)m84WsF#zpL;oe;h2~tV-FW^3RN$F5ozL|M9g}UXEv{qBc zP|4IR60CEafaA0!FeyjJ#Hv~639t(&*a3;8rKQe0FHa z?19LR4*M~drg4=suuI@+X}aQV2Eh%eyx+$uY_HsALDgc~N$QjK>rYAs;%N)YVpbKo{PuzAVl zl$JC#<7%VL=j!rff4Kb@jqelL$Fk|q>L0h3ZT=eZajkFuZ4vYTAN^nKKHqqKrty2f zONkX4HCvc}bFAF|{bt~fX7>b9#stwV`*s~Tv&(~lVegXP{tW>S? + + + + + + + + + diff --git a/app/src/main/res/layout/event_item_day_view.xml b/app/src/main/res/layout/event_item_day_view.xml index 946492adf..a33b7c948 100644 --- a/app/src/main/res/layout/event_item_day_view.xml +++ b/app/src/main/res/layout/event_item_day_view.xml @@ -18,10 +18,22 @@ android:paddingBottom="@dimen/medium_margin" android:paddingTop="@dimen/medium_margin"> + + @@ -30,6 +42,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/event_item_start" + android:layout_toRightOf="@+id/event_item_color_bar" android:text="15:00" android:textSize="@dimen/day_text_size"/> @@ -38,7 +51,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/activity_margin" - android:layout_toLeftOf="@+id/event_item_color" android:layout_toRightOf="@+id/event_item_start" android:ellipsize="end" android:maxLines="1" @@ -52,7 +64,6 @@ android:layout_height="wrap_content" android:layout_below="@+id/event_item_title" android:layout_marginLeft="@dimen/activity_margin" - android:layout_toLeftOf="@+id/event_item_color" android:layout_toRightOf="@+id/event_item_end" android:ellipsize="end" android:maxLines="1" @@ -60,16 +71,5 @@ android:textSize="@dimen/day_text_size" tools:text="Event description"/> - - diff --git a/app/src/main/res/layout/event_list_item.xml b/app/src/main/res/layout/event_list_item.xml index a0fb32fb9..61b2902c5 100644 --- a/app/src/main/res/layout/event_list_item.xml +++ b/app/src/main/res/layout/event_list_item.xml @@ -16,14 +16,25 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingBottom="@dimen/medium_margin" - android:paddingLeft="@dimen/activity_margin" android:paddingRight="@dimen/activity_margin" android:paddingTop="@dimen/small_margin"> + + @@ -32,6 +43,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/event_item_start" + android:layout_toRightOf="@+id/event_item_color_bar" android:includeFontPadding="false" android:text="15:00" android:textSize="@dimen/day_text_size"/> @@ -41,7 +53,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/activity_margin" - android:layout_toLeftOf="@+id/event_item_color" android:layout_toRightOf="@+id/event_item_start" android:ellipsize="end" android:maxLines="1" @@ -55,7 +66,6 @@ android:layout_height="wrap_content" android:layout_below="@+id/event_item_title" android:layout_marginLeft="@dimen/activity_margin" - android:layout_toLeftOf="@+id/event_item_color" android:layout_toRightOf="@+id/event_item_end" android:ellipsize="end" android:includeFontPadding="false" @@ -64,16 +74,5 @@ android:textSize="@dimen/day_text_size" tools:text="Event description"/> - - diff --git a/app/src/main/res/layout/event_list_item_simple.xml b/app/src/main/res/layout/event_list_item_simple.xml index 83deda7dc..e20b4eeb8 100644 --- a/app/src/main/res/layout/event_list_item_simple.xml +++ b/app/src/main/res/layout/event_list_item_simple.xml @@ -16,14 +16,25 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingBottom="@dimen/medium_margin" - android:paddingLeft="@dimen/activity_margin" android:paddingRight="@dimen/activity_margin" android:paddingTop="@dimen/small_margin"> + + @@ -32,7 +43,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/activity_margin" - android:layout_toLeftOf="@+id/event_item_color" android:layout_toRightOf="@+id/event_item_start" android:ellipsize="end" android:maxLines="1" @@ -40,16 +50,5 @@ android:textSize="@dimen/day_text_size" tools:text="Event title"/> - - diff --git a/app/src/main/res/layout/event_list_item_widget.xml b/app/src/main/res/layout/event_list_item_widget.xml index 042a69ae4..013662606 100644 --- a/app/src/main/res/layout/event_list_item_widget.xml +++ b/app/src/main/res/layout/event_list_item_widget.xml @@ -7,20 +7,31 @@ android:layout_height="wrap_content" android:layout_marginBottom="@dimen/medium_margin"> + + + android:layout_toRightOf="@+id/event_item_color_bar" + android:text="13:00" + android:textSize="@dimen/day_text_size"/> @@ -30,7 +41,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/normal_margin" - android:layout_toLeftOf="@+id/event_item_color" android:layout_toRightOf="@+id/event_item_start" android:ellipsize="end" android:maxLines="1" @@ -44,7 +54,6 @@ android:layout_height="wrap_content" android:layout_below="@+id/event_item_title" android:layout_marginLeft="@dimen/normal_margin" - android:layout_toLeftOf="@+id/event_item_color" android:layout_toRightOf="@+id/event_item_end" android:ellipsize="end" android:includeFontPadding="false" @@ -53,15 +62,4 @@ android:textSize="@dimen/day_text_size" tools:text="Event description"/> - - diff --git a/app/src/main/res/layout/event_list_item_widget_simple.xml b/app/src/main/res/layout/event_list_item_widget_simple.xml index 64cd9e244..1dd7dc437 100644 --- a/app/src/main/res/layout/event_list_item_widget_simple.xml +++ b/app/src/main/res/layout/event_list_item_widget_simple.xml @@ -7,11 +7,22 @@ android:layout_height="wrap_content" android:layout_marginBottom="@dimen/medium_margin"> + + @@ -20,7 +31,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/normal_margin" - android:layout_toLeftOf="@+id/event_item_color" android:layout_toRightOf="@+id/event_item_start" android:ellipsize="end" android:maxLines="1" @@ -28,15 +38,4 @@ android:textSize="@dimen/day_text_size" tools:text="Event title"/> - - diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 7975ac94d..7cd978d17 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -25,4 +25,7 @@ 22sp 8sp + + 4dp + 100dp From 9f4ad029d6dc510335db4dd9e8c80a4fc8706973 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 10 Sep 2018 16:33:05 +0200 Subject: [PATCH 20/55] replace colored dots with bars at the day view too --- .../calendar/adapters/DayEventsAdapter.kt | 28 ++++++++-- .../calendar/adapters/EventListAdapter.kt | 7 +-- .../calendar/helpers/Constants.kt | 4 ++ .../res/layout/event_item_day_view_simple.xml | 54 +++++++++++++++++++ 4 files changed, 82 insertions(+), 11 deletions(-) create mode 100644 app/src/main/res/layout/event_item_day_view_simple.xml diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/DayEventsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/DayEventsAdapter.kt index cfd368269..a2b94f3f9 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/DayEventsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/DayEventsAdapter.kt @@ -11,6 +11,8 @@ import com.simplemobiletools.calendar.extensions.dbHelper import com.simplemobiletools.calendar.extensions.handleEventDeleting import com.simplemobiletools.calendar.extensions.shareEvents import com.simplemobiletools.calendar.helpers.Formatter +import com.simplemobiletools.calendar.helpers.ITEM_EVENT +import com.simplemobiletools.calendar.helpers.ITEM_EVENT_SIMPLE import com.simplemobiletools.calendar.helpers.LOW_ALPHA import com.simplemobiletools.calendar.models.Event import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter @@ -53,7 +55,13 @@ class DayEventsAdapter(activity: SimpleActivity, val events: ArrayList, r override fun getIsItemSelectable(position: Int) = true - override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = createViewHolder(R.layout.event_item_day_view, parent) + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyRecyclerViewAdapter.ViewHolder { + val layoutId = when (viewType) { + ITEM_EVENT -> R.layout.event_item_day_view + else -> R.layout.event_item_day_view_simple + } + return createViewHolder(layoutId, parent) + } override fun onBindViewHolder(holder: MyRecyclerViewAdapter.ViewHolder, position: Int) { val event = events[position] @@ -65,12 +73,22 @@ class DayEventsAdapter(activity: SimpleActivity, val events: ArrayList, r override fun getItemCount() = events.size + override fun getItemViewType(position: Int): Int { + val event = events[position] + val detailField = if (replaceDescriptionWithLocation) event.location else event.description + return if (event.startTS == event.endTS && detailField.isEmpty()) { + ITEM_EVENT_SIMPLE + } else { + ITEM_EVENT + } + } + private fun setupView(view: View, event: Event) { view.apply { event_item_title.text = event.title - event_item_description.text = if (replaceDescriptionWithLocation) event.location else event.description + event_item_description?.text = if (replaceDescriptionWithLocation) event.location else event.description event_item_start.text = if (event.getIsAllDay()) allDayString else Formatter.getTimeFromTS(context, event.startTS) - event_item_end.beInvisibleIf(event.startTS == event.endTS) + event_item_end?.beInvisibleIf(event.startTS == event.endTS) event_item_color_bar.background.applyColorFilter(event.color) if (event.startTS != event.endTS) { @@ -97,9 +115,9 @@ class DayEventsAdapter(activity: SimpleActivity, val events: ArrayList, r } event_item_start.setTextColor(newTextColor) - event_item_end.setTextColor(newTextColor) + event_item_end?.setTextColor(newTextColor) event_item_title.setTextColor(newTextColor) - event_item_description.setTextColor(newTextColor) + event_item_description?.setTextColor(newTextColor) } } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListAdapter.kt index 4ebb1d9d1..98429174d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListAdapter.kt @@ -10,9 +10,8 @@ import com.simplemobiletools.calendar.extensions.config import com.simplemobiletools.calendar.extensions.dbHelper import com.simplemobiletools.calendar.extensions.handleEventDeleting import com.simplemobiletools.calendar.extensions.shareEvents +import com.simplemobiletools.calendar.helpers.* import com.simplemobiletools.calendar.helpers.Formatter -import com.simplemobiletools.calendar.helpers.LOW_ALPHA -import com.simplemobiletools.calendar.helpers.getNowSeconds import com.simplemobiletools.calendar.models.ListEvent import com.simplemobiletools.calendar.models.ListItem import com.simplemobiletools.calendar.models.ListSection @@ -30,10 +29,6 @@ import java.util.* class EventListAdapter(activity: SimpleActivity, var listItems: ArrayList, val allowLongClick: Boolean, val listener: RefreshRecyclerViewListener?, recyclerView: MyRecyclerView, itemClick: (Any) -> Unit) : MyRecyclerViewAdapter(activity, recyclerView, null, itemClick) { - private val ITEM_EVENT = 0 - private val ITEM_EVENT_SIMPLE = 1 - private val ITEM_HEADER = 2 - private val topDivider = resources.getDrawable(R.drawable.divider_width) private val allDayString = resources.getString(R.string.all_day) private val replaceDescription = activity.config.replaceDescription diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Constants.kt index 3107f0e96..0b9c3ef73 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Constants.kt @@ -24,6 +24,10 @@ const val DAILY_VIEW = 5 const val REMINDER_OFF = -1 +const val ITEM_EVENT = 0 +const val ITEM_EVENT_SIMPLE = 1 +const val ITEM_HEADER = 2 + const val DAY = 86400 const val WEEK = 604800 const val MONTH = 2592001 // exact value not taken into account, Joda is used for adding months and years diff --git a/app/src/main/res/layout/event_item_day_view_simple.xml b/app/src/main/res/layout/event_item_day_view_simple.xml new file mode 100644 index 000000000..a97b0b7e3 --- /dev/null +++ b/app/src/main/res/layout/event_item_day_view_simple.xml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + From 344f0d18dd1af3b61c7ae046845ea6450b164b73 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 10 Sep 2018 16:41:39 +0200 Subject: [PATCH 21/55] update version to 4.2.0 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index d9c06b35e..e45e8c16d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ android { applicationId "com.simplemobiletools.calendar" minSdkVersion 16 targetSdkVersion 28 - versionCode 127 - versionName "4.1.3" + versionCode 128 + versionName "4.2.0" multiDexEnabled true setProperty("archivesBaseName", "calendar") } From 58847d433d12ce0be70426110f58e807e9f7033c Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 10 Sep 2018 16:41:45 +0200 Subject: [PATCH 22/55] updating changelog --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8cbc6b096..89836b2ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,15 @@ Changelog ========== +Version 4.2.0 *(2018-09-10)* +---------------------------- + + * Replaced colored event type dots with bars for better visibility + * Fixed some wrong reminder date data + * Properly highlight running all-day events + * Fix a glitch with CalDAV events being saved in the wrong calendar + * Couple other smaller UX and translation improvements + Version 4.1.3 *(2018-08-06)* ---------------------------- From 3b124d10a47cfdb60e8b04f4a1ab4bc26a68707d Mon Sep 17 00:00:00 2001 From: 10cents Date: Mon, 10 Sep 2018 21:02:35 +0000 Subject: [PATCH 23/55] Correction faq_3_title --- 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 1ef4650f9..762e04e39 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -203,7 +203,7 @@ Kan jeg synkronisere mine begivenheder med Googles kalender eller en anden kalender der understøtter CalDAV? Ja, klik på \"CalDAV sync\" i appens indstillinger og vælg de kalendere du vil synkronisere. Det kræver dog at du har en app til at synkronisere mellem din enhed og kalenderservere. Hvis du vil synkronisere en Googlekalender, kan deres officielle app klare det. For andre kalenderes vedkommende kan du bruge en 3. partsapp som for eksempel DAVdroid. - Jeg kan mine påmindelser, men der er ingen lyd på. Hvad kan jeg gøre ved det? + 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. From b0d5983fd2a64f0520bf7eba3297e88c480ffd85 Mon Sep 17 00:00:00 2001 From: youdly Date: Wed, 12 Sep 2018 15:18:38 +0930 Subject: [PATCH 24/55] Add Malaysia holidays --- app/src/main/assets/malaysia.ics | 2373 +++++++++++++++++ .../calendar/activities/MainActivity.kt | 1 + 2 files changed, 2374 insertions(+) create mode 100644 app/src/main/assets/malaysia.ics diff --git a/app/src/main/assets/malaysia.ics b/app/src/main/assets/malaysia.ics new file mode 100644 index 000000000..a03d92754 --- /dev/null +++ b/app/src/main/assets/malaysia.ics @@ -0,0 +1,2373 @@ +BEGIN:VCALENDAR +PRODID:-//Google Inc//Google Calendar 70.9054//EN +VERSION:2.0 +CALSCALE:GREGORIAN +METHOD:PUBLISH +X-WR-TIMEZONE:UTC +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180131 +DTEND;VALUE=DATE:20180201 +DTSTAMP:20180912T052327Z +UID:20180131_60o30db1c4o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230443Z +DESCRIPTION:Public holiday in: Kuala Lumpur\, Putrajaya\, Johor\, Negeri Se + mbilan\, Perak\, Penang\, Selangor +LAST-MODIFIED:20180731T230443Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Thaipusam (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170209 +DTEND;VALUE=DATE:20170210 +DTSTAMP:20180912T052327Z +UID:20170209_60o30db1c4o30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230443Z +DESCRIPTION:Public holiday in: Kuala Lumpur\, Putrajaya\, Johor\, Negeri Se + mbilan\, Perak\, Penang\, Selangor +LAST-MODIFIED:20180731T230443Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Thaipusam (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180516 +DTEND;VALUE=DATE:20180517 +DTSTAMP:20180912T052327Z +UID:20180516_60o30ob5c4o30c1g60o30d9pco@google.com +CLASS:PUBLIC +CREATED:20180731T230443Z +DESCRIPTION:Public holiday in: Johor\, Kedah\, Malacca +LAST-MODIFIED:20180731T230443Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Ramadan begins (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170527 +DTEND;VALUE=DATE:20170528 +DTSTAMP:20180912T052327Z +UID:20170527_60o30ob5c4o30c1g60o30d9pck@google.com +CLASS:PUBLIC +CREATED:20180731T230443Z +DESCRIPTION:Public holiday in: Johor\, Kedah\, Malacca +LAST-MODIFIED:20180731T230443Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Ramadan begins (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190713 +DTEND;VALUE=DATE:20190714 +DTSTAMP:20180912T052327Z +UID:20190713_60o30pb3cgo30e1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230443Z +DESCRIPTION:Public holiday in: Penang +LAST-MODIFIED:20180731T230443Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Penang Governor's Birthday (Penang) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180714 +DTEND;VALUE=DATE:20180715 +DTSTAMP:20180912T052327Z +UID:20180714_60o30pb3cgo30e1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230443Z +DESCRIPTION:Public holiday in: Penang +LAST-MODIFIED:20180731T230443Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Penang Governor's Birthday (Penang) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190101 +DTEND;VALUE=DATE:20190102 +DTSTAMP:20180912T052327Z +UID:20190101_60o30db16oo30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230443Z +DESCRIPTION:Public holiday in: Malacca\, Negeri Sembilan\, Pahang\, Penang\ + , Perak\, Sabah\, Sarawak\, Selangor\, Kuala Lumpur\, Labuan\, Putrajaya +LAST-MODIFIED:20180731T230443Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:New Year's Day (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180101 +DTEND;VALUE=DATE:20180102 +DTSTAMP:20180912T052327Z +UID:20180101_60o30db16oo30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230443Z +DESCRIPTION:Public holiday in: Malacca\, Negeri Sembilan\, Pahang\, Penang\ + , Perak\, Sabah\, Sarawak\, Selangor\, Kuala Lumpur\, Labuan\, Putrajaya +LAST-MODIFIED:20180731T230443Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:New Year's Day (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170101 +DTEND;VALUE=DATE:20170102 +DTSTAMP:20180912T052327Z +UID:20170101_60o30db16oo30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230443Z +DESCRIPTION:Public holiday in: Malacca\, Negeri Sembilan\, Pahang\, Penang\ + , Perak\, Sabah\, Sarawak\, Selangor\, Kuala Lumpur\, Labuan\, Putrajaya +LAST-MODIFIED:20180731T230443Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:New Year's Day (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190403 +DTEND;VALUE=DATE:20190404 +DTSTAMP:20180912T052327Z +UID:20190403_60o30ob574o30c1g60o30db160@google.com +CLASS:PUBLIC +CREATED:20180731T230443Z +DESCRIPTION:Public holiday in: Kedah\, Negeri Sembilan\, Perlis +LAST-MODIFIED:20180731T230443Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Isra and Mi'raj (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190531 +DTEND;VALUE=DATE:20190601 +DTSTAMP:20180912T052327Z +UID:20190531_60o30p9k6oo30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230443Z +DESCRIPTION:Public holiday in: Labuan\, Sabah +LAST-MODIFIED:20180731T230443Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Harvest Festival Day 2 (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180531 +DTEND;VALUE=DATE:20180601 +DTSTAMP:20180912T052327Z +UID:20180531_60o30p9k6oo30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230443Z +DESCRIPTION:Public holiday in: Labuan\, Sabah +LAST-MODIFIED:20180731T230443Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Harvest Festival Day 2 (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170531 +DTEND;VALUE=DATE:20170601 +DTSTAMP:20180912T052327Z +UID:20170531_60o30p9k6oo30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230443Z +DESCRIPTION:Public holiday in: Labuan\, Sabah +LAST-MODIFIED:20180731T230443Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Harvest Festival Day 2 (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190530 +DTEND;VALUE=DATE:20190531 +DTSTAMP:20180912T052327Z +UID:20190530_60o30p9k6ko30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230443Z +DESCRIPTION:Public holiday in: Labuan\, Sabah +LAST-MODIFIED:20180731T230443Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Harvest Festival (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170530 +DTEND;VALUE=DATE:20170531 +DTSTAMP:20180912T052327Z +UID:20170530_60o30p9k6ko30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230443Z +DESCRIPTION:Public holiday in: Labuan\, Sabah +LAST-MODIFIED:20180731T230443Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Harvest Festival (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190605 +DTEND;VALUE=DATE:20190606 +DTSTAMP:20180912T052327Z +UID:20190605_60o30db260o30c1g60o30db160@google.com +CLASS:PUBLIC +CREATED:20180731T230443Z +DESCRIPTION: +LAST-MODIFIED:20180731T230443Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Hari Raya Puasa +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170625 +DTEND;VALUE=DATE:20170626 +DTSTAMP:20180912T052327Z +UID:20170625_60o30db260o30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230443Z +DESCRIPTION: +LAST-MODIFIED:20180731T230443Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Hari Raya Puasa +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190419 +DTEND;VALUE=DATE:20190420 +DTSTAMP:20180912T052327Z +UID:20190419_60o30db26so30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230443Z +DESCRIPTION:Public holiday in: Sabah\, Sarawak +LAST-MODIFIED:20180731T230443Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Good Friday (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190707 +DTEND;VALUE=DATE:20190708 +DTSTAMP:20180912T052327Z +UID:20190707_60o30pb3cco30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230443Z +DESCRIPTION:Public holiday in: Penang +LAST-MODIFIED:20180731T230443Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:George Town World Heritage City Day (Penang) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180707 +DTEND;VALUE=DATE:20180708 +DTSTAMP:20180912T052327Z +UID:20180707_60o30pb3cco30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230443Z +DESCRIPTION:Public holiday in: Penang +LAST-MODIFIED:20180731T230443Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:George Town World Heritage City Day (Penang) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180513 +DTEND;VALUE=DATE:20180514 +DTSTAMP:20180912T052327Z +UID:20180513_60o32e1hc8o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230443Z +DESCRIPTION:Public holiday in: Johor\, Kedah\, Kelantan\, Terengganu +LAST-MODIFIED:20180731T230443Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:General Elections Holiday (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180511 +DTEND;VALUE=DATE:20180512 +DTSTAMP:20180912T052327Z +UID:20180511_60o32e1hc4o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230443Z +DESCRIPTION:Public holiday in: Malacca\, Negeri Sembilan\, Pahang\, Penang\ + , Perak\, Perlis\, Sabah\, Selangor\, Kuala Lumpur\, Labuan\, Putrajaya +LAST-MODIFIED:20180731T230443Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:General Elections Holiday (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191027 +DTEND;VALUE=DATE:20191028 +DTSTAMP:20180912T052327Z +UID:20191027_60o30db268o30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230443Z +DESCRIPTION:Public holiday in: Johor\, Kedah\, Kelantan\, Malacca\, Negeri + Sembilan\, Pahang\, Penang\, Perak\, Perlis\, Sabah\, Selangor\, Terengganu + \, Kuala Lumpur\, Labuan\, Putrajaya +LAST-MODIFIED:20180731T230443Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Diwali/Deepavali (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190506 +DTEND;VALUE=DATE:20190507 +DTSTAMP:20180912T052327Z +UID:20190506_60o30ob5c4o30c1g60o30db160@google.com +CLASS:PUBLIC +CREATED:20180731T230442Z +DESCRIPTION:Public holiday in: Johor\, Kedah\, Malacca +LAST-MODIFIED:20180731T230442Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Ramadan begins (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170708 +DTEND;VALUE=DATE:20170709 +DTSTAMP:20180912T052327Z +UID:20170708_60o30pb3cgo30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230442Z +DESCRIPTION:Public holiday in: Penang +LAST-MODIFIED:20180731T230442Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Penang Governor's Birthday (Penang) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170102 +DTEND;VALUE=DATE:20170103 +DTSTAMP:20180912T052327Z +UID:20170102_60o30db16oo30e1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230442Z +DESCRIPTION:Public holiday in: Malacca\, Negeri Sembilan\, Pahang\, Penang\ + , Perak\, Sabah\, Sarawak\, Selangor\, Kuala Lumpur\, Labuan\, Putrajaya +LAST-MODIFIED:20180731T230442Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:New Year's Day observed (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170424 +DTEND;VALUE=DATE:20170425 +DTSTAMP:20180912T052327Z +UID:20170424_60o30ob574o30c1g60o30d9pck@google.com +CLASS:PUBLIC +CREATED:20180731T230442Z +DESCRIPTION:Public holiday in: Kedah\, Negeri Sembilan\, Perlis +LAST-MODIFIED:20180731T230442Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Isra and Mi'raj (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180530 +DTEND;VALUE=DATE:20180531 +DTSTAMP:20180912T052327Z +UID:20180530_60o30p9k6ko30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230442Z +DESCRIPTION:Public holiday in: Labuan\, Sabah +LAST-MODIFIED:20180731T230442Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Harvest Festival (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180330 +DTEND;VALUE=DATE:20180331 +DTSTAMP:20180912T052327Z +UID:20180330_60o30db26so30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230442Z +DESCRIPTION:Public holiday in: Sabah\, Sarawak +LAST-MODIFIED:20180731T230442Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Good Friday (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170414 +DTEND;VALUE=DATE:20170415 +DTSTAMP:20180912T052327Z +UID:20170414_60o30db26so30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230442Z +DESCRIPTION:Public holiday in: Sabah\, Sarawak +LAST-MODIFIED:20180731T230442Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Good Friday (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170707 +DTEND;VALUE=DATE:20170708 +DTSTAMP:20180912T052327Z +UID:20170707_60o30pb3cco30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230442Z +DESCRIPTION:Public holiday in: Penang +LAST-MODIFIED:20180731T230442Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:George Town World Heritage City Day (Penang) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180510 +DTEND;VALUE=DATE:20180511 +DTSTAMP:20180912T052327Z +UID:20180510_60o32e1h74o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230442Z +DESCRIPTION:Public holiday in: Johor\, Kedah\, Kelantan\, Malacca\, Negeri + Sembilan\, Pahang\, Penang\, Perak\, Perlis\, Sabah\, Selangor\, Terengganu + \, Kuala Lumpur\, Labuan\, Putrajaya +LAST-MODIFIED:20180731T230442Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:General Elections Holiday (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20171018 +DTEND;VALUE=DATE:20171019 +DTSTAMP:20180912T052327Z +UID:20171018_60o30db268o30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230442Z +DESCRIPTION:Public holiday in: Johor\, Kedah\, Kelantan\, Malacca\, Negeri + Sembilan\, Pahang\, Penang\, Perak\, Perlis\, Sabah\, Selangor\, Terengganu + \, Kuala Lumpur\, Labuan\, Putrajaya +LAST-MODIFIED:20180731T230442Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Diwali/Deepavali (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20171112 +DTEND;VALUE=DATE:20171113 +DTSTAMP:20180912T052327Z +UID:20171112_60o32e1j64o30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230442Z +DESCRIPTION:Public holiday in: Kelantan +LAST-MODIFIED:20180731T230442Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Sultan of Kelantan (Day 2) (Kelantan) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181015 +DTEND;VALUE=DATE:20181016 +DTSTAMP:20180912T052327Z +UID:20181015_60o32e1icgo30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230442Z +DESCRIPTION:Public holiday in: Johor +LAST-MODIFIED:20180731T230442Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Almarhum Sultan Iskandar Hol Day (Johor) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180723 +DTEND;VALUE=DATE:20180724 +DTSTAMP:20180912T052327Z +UID:20180723_60o32e1i74o30e1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230441Z +DESCRIPTION:Public holiday in: Sarawak +LAST-MODIFIED:20180731T230441Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Sarawak Independence Day observed (Sarawak) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190603 +DTEND;VALUE=DATE:20190604 +DTSTAMP:20180912T052327Z +UID:20190603_60o32e1i64o30e1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230441Z +DESCRIPTION:Public holiday in: Sarawak +LAST-MODIFIED:20180731T230441Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Gawai Dayak Holiday observed (Sarawak) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190114 +DTEND;VALUE=DATE:20190115 +DTSTAMP:20180912T052327Z +UID:20190114_60o32e1i6co30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230441Z +DESCRIPTION:Public holiday in: Negeri Sembilan +LAST-MODIFIED:20180731T230441Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of Yang di-Pertuan Besar (Negeri Sembilan) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181211 +DTEND;VALUE=DATE:20181212 +DTSTAMP:20180912T052327Z +UID:20181211_60o32e1j68o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230441Z +DESCRIPTION:Public holiday in: Selangor +LAST-MODIFIED:20180731T230441Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Sultan of Selangor (Selangor) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20171211 +DTEND;VALUE=DATE:20171212 +DTSTAMP:20180912T052327Z +UID:20171211_60o32e1j68o30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230441Z +DESCRIPTION:Public holiday in: Selangor +LAST-MODIFIED:20180731T230441Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Sultan of Selangor (Selangor) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191102 +DTEND;VALUE=DATE:20191103 +DTSTAMP:20180912T052327Z +UID:20191102_60o32e1icoo30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230441Z +DESCRIPTION:Public holiday in: Perak +LAST-MODIFIED:20180731T230441Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Sultan of Perak (Perak) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181024 +DTEND;VALUE=DATE:20181025 +DTSTAMP:20180912T052327Z +UID:20181024_60o32e1icko30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230441Z +DESCRIPTION:Public holiday in: Pahang +LAST-MODIFIED:20180731T230441Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Sultan of Pahang (Pahang) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191111 +DTEND;VALUE=DATE:20191112 +DTSTAMP:20180912T052327Z +UID:20191111_60o32e1j60o30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230441Z +DESCRIPTION:Public holiday in: Kelantan +LAST-MODIFIED:20180731T230441Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Sultan of Kelantan (Kelantan) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181111 +DTEND;VALUE=DATE:20181112 +DTSTAMP:20180912T052327Z +UID:20181111_60o32e1j60o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230441Z +DESCRIPTION:Public holiday in: Kelantan +LAST-MODIFIED:20180731T230441Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Sultan of Kelantan (Kelantan) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180323 +DTEND;VALUE=DATE:20180324 +DTSTAMP:20180912T052327Z +UID:20180323_60o32e1i6go30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230441Z +DESCRIPTION:Public holiday in: Johor +LAST-MODIFIED:20180731T230441Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Sultan of Johor (Johor) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190517 +DTEND;VALUE=DATE:20190518 +DTSTAMP:20180912T052327Z +UID:20190517_60o32e1i68o30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230441Z +DESCRIPTION:Public holiday in: Perlis +LAST-MODIFIED:20180731T230441Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Raja of Perlis (Perlis) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180717 +DTEND;VALUE=DATE:20180718 +DTSTAMP:20180912T052327Z +UID:20180717_60o32e1i68o32c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230441Z +DESCRIPTION:Public holiday in: Perlis +LAST-MODIFIED:20180731T230441Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Raja of Perlis (Perlis) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191013 +DTEND;VALUE=DATE:20191014 +DTSTAMP:20180912T052327Z +UID:20191013_60o32e1icco30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230441Z +DESCRIPTION:Public holiday in: Sarawak +LAST-MODIFIED:20180731T230441Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Governor of Sarawak (Sarawak) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181013 +DTEND;VALUE=DATE:20181014 +DTSTAMP:20180912T052327Z +UID:20181013_60o32e1icco30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230441Z +DESCRIPTION:Public holiday in: Sarawak +LAST-MODIFIED:20180731T230441Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Governor of Sarawak (Sarawak) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191007 +DTEND;VALUE=DATE:20191008 +DTSTAMP:20180912T052327Z +UID:20191007_60o32e1ic4o30e1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230441Z +DESCRIPTION:Public holiday in: Sabah +LAST-MODIFIED:20180731T230441Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Governor of Sabah observed (Sabah) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20171006 +DTEND;VALUE=DATE:20171007 +DTSTAMP:20180912T052327Z +UID:20171006_60o32e1ic4o30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230441Z +DESCRIPTION:Public holiday in: Sabah +LAST-MODIFIED:20180731T230441Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Governor of Sabah (Sabah) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20171015 +DTEND;VALUE=DATE:20171016 +DTSTAMP:20180912T052327Z +UID:20171015_60o32e1icgo30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230441Z +DESCRIPTION:Public holiday in: Johor +LAST-MODIFIED:20180731T230441Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Almarhum Sultan Iskandar Hol Day (Johor) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170508 +DTEND;VALUE=DATE:20170509 +DTSTAMP:20180912T052327Z +UID:20170508_60o32e1i6oo30e1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Pahang +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Pahang State Holiday observed (Pahang) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190507 +DTEND;VALUE=DATE:20190508 +DTSTAMP:20180912T052327Z +UID:20190507_60o32e1i6oo30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Pahang +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Pahang State Holiday (Pahang) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180507 +DTEND;VALUE=DATE:20180508 +DTSTAMP:20180912T052327Z +UID:20180507_60o32e1i6oo30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Pahang +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Pahang State Holiday (Pahang) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170507 +DTEND;VALUE=DATE:20170508 +DTSTAMP:20180912T052327Z +UID:20170507_60o32e1i6oo30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Pahang +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Pahang State Holiday (Pahang) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190522 +DTEND;VALUE=DATE:20190523 +DTSTAMP:20180912T052327Z +UID:20190522_60o30ob5c8o30c1g60o30db160@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Kelantan\, Kuala Lumpur\, Labuan\, Putrajaya + \, Perak\, Pahang\, Penang\, Perlis\, Selangor\, Terengganu +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Nuzul Al-Quran (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180602 +DTEND;VALUE=DATE:20180603 +DTSTAMP:20180912T052327Z +UID:20180602_60o30ob5c8o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Kelantan\, Kuala Lumpur\, Labuan\, Putrajaya + \, Perak\, Pahang\, Penang\, Perlis\, Selangor\, Terengganu +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Nuzul Al-Quran (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170612 +DTEND;VALUE=DATE:20170613 +DTSTAMP:20180912T052327Z +UID:20170612_60o30ob5c8o30c1g60o30d9pck@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Kelantan\, Kuala Lumpur\, Labuan\, Putrajaya + \, Perak\, Pahang\, Penang\, Perlis\, Selangor\, Terengganu +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Nuzul Al-Quran (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180414 +DTEND;VALUE=DATE:20180415 +DTSTAMP:20180912T052327Z +UID:20180414_60o30ob574o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Kedah\, Negeri Sembilan\, Perlis +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Isra and Mi'raj (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180615 +DTEND;VALUE=DATE:20180616 +DTSTAMP:20180912T052327Z +UID:20180615_60o30db260o32c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Malacca\, Negeri Sembilan\, Pahang\, Penang\ + , Perak\, Perlis\, Sabah\, Sarawak\, Selangor\, Kuala Lumpur\, Labuan\, Put + rajaya +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Hari Raya Puasa (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180823 +DTEND;VALUE=DATE:20180824 +DTSTAMP:20180912T052327Z +UID:20180823_60o32e1hcko30c1g60o30d9pco@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Kedah\, Kelantan\, Perlis\, Terengganu +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Hari Raya Haji (Day 2) (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170902 +DTEND;VALUE=DATE:20170903 +DTSTAMP:20180912T052327Z +UID:20170902_60o32e1hcko30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Kedah\, Kelantan\, Perlis\, Terengganu +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Hari Raya Haji (Day 2) (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180602 +DTEND;VALUE=DATE:20180603 +DTSTAMP:20180912T052327Z +UID:20180602_60o32e1i64o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Sarawak +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Gawai Dayak Holiday (Sarawak) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190601 +DTEND;VALUE=DATE:20190602 +DTSTAMP:20180912T052327Z +UID:20190601_60o32e1i60o30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Sarawak +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Gawai Dayak (Sarawak) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170601 +DTEND;VALUE=DATE:20170602 +DTSTAMP:20180912T052327Z +UID:20170601_60o32e1i60o30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Sarawak +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Gawai Dayak (Sarawak) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180416 +DTEND;VALUE=DATE:20180417 +DTSTAMP:20180912T052327Z +UID:20180416_60o32e1i6so30e1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Malacca +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Declaration of Malacca as Historical City observed (Malacca) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190415 +DTEND;VALUE=DATE:20190416 +DTSTAMP:20180912T052327Z +UID:20190415_60o32e1i6so30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Malacca +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Declaration of Malacca as Historical City (Malacca) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180415 +DTEND;VALUE=DATE:20180416 +DTSTAMP:20180912T052327Z +UID:20180415_60o32e1i6so30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Malacca +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Declaration of Malacca as Historical City (Malacca) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170415 +DTEND;VALUE=DATE:20170416 +DTSTAMP:20180912T052327Z +UID:20170415_60o32e1i6so30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Malacca +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Declaration of Malacca as Historical City (Malacca) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180218 +DTEND;VALUE=DATE:20180219 +DTSTAMP:20180912T052327Z +UID:20180218_60o30o9lcgo32c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Johor +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Chinese Lunar New Year Replacement Holiday (Johor) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180115 +DTEND;VALUE=DATE:20180116 +DTSTAMP:20180912T052327Z +UID:20180115_60o32e1i6co30e1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Negeri Sembilan +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of Yang di-Pertuan Besar observed (Negeri Sembilan) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180114 +DTEND;VALUE=DATE:20180115 +DTSTAMP:20180912T052327Z +UID:20180114_60o32e1i6co30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Negeri Sembilan +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of Yang di-Pertuan Besar (Negeri Sembilan) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170114 +DTEND;VALUE=DATE:20170115 +DTSTAMP:20180912T052327Z +UID:20170114_60o32e1i6co30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Negeri Sembilan +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of Yang di-Pertuan Besar (Negeri Sembilan) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180426 +DTEND;VALUE=DATE:20180427 +DTSTAMP:20180912T052327Z +UID:20180426_60o32e1i70o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Terengganu +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Sultan of Terengganu (Terengganu) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170426 +DTEND;VALUE=DATE:20170427 +DTSTAMP:20180912T052327Z +UID:20170426_60o32e1i70o30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Terengganu +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Sultan of Terengganu (Terengganu) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191211 +DTEND;VALUE=DATE:20191212 +DTSTAMP:20180912T052327Z +UID:20191211_60o32e1j68o30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Selangor +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Sultan of Selangor (Selangor) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20171111 +DTEND;VALUE=DATE:20171112 +DTSTAMP:20180912T052327Z +UID:20171111_60o32e1j60o30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Kelantan +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Sultan of Kelantan (Kelantan) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180517 +DTEND;VALUE=DATE:20180518 +DTSTAMP:20180912T052327Z +UID:20180517_60o32e1i68o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Perlis +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Raja of Perlis (Perlis) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20171013 +DTEND;VALUE=DATE:20171014 +DTSTAMP:20180912T052327Z +UID:20171013_60o32e1icco30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Sarawak +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Governor of Sarawak (Sarawak) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191012 +DTEND;VALUE=DATE:20191013 +DTSTAMP:20180912T052327Z +UID:20191012_60o32e1ic8o30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Malacca +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Governor of Malacca (Malacca) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181012 +DTEND;VALUE=DATE:20181013 +DTSTAMP:20180912T052327Z +UID:20181012_60o32e1ic8o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Malacca +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Governor of Malacca (Malacca) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180304 +DTEND;VALUE=DATE:20180305 +DTSTAMP:20180912T052327Z +UID:20180304_60o32e1i6ko30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230440Z +DESCRIPTION:Public holiday in: Terengganu +LAST-MODIFIED:20180731T230440Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Anniversary of the coronation of the Sultan of Terengganu (Terengga + nu) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181120 +DTEND;VALUE=DATE:20181121 +DTSTAMP:20180912T052327Z +UID:20181120_60o30db1c8o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230439Z +DESCRIPTION: +LAST-MODIFIED:20180731T230439Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:The Prophet Muhammad's Birthday +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180722 +DTEND;VALUE=DATE:20180723 +DTSTAMP:20180912T052327Z +UID:20180722_60o32e1i74o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230439Z +DESCRIPTION:Public holiday in: Sarawak +LAST-MODIFIED:20180731T230439Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Sarawak Independence Day (Sarawak) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180603 +DTEND;VALUE=DATE:20180604 +DTSTAMP:20180912T052327Z +UID:20180603_60o32e1hcoo30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230439Z +DESCRIPTION:Public holiday in: Kelantan\, Terengganu +LAST-MODIFIED:20180731T230439Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Nuzul Al-Quran Holiday (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180917 +DTEND;VALUE=DATE:20180918 +DTSTAMP:20180912T052327Z +UID:20180917_60o30db274o34c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230439Z +DESCRIPTION:Public holiday in: Malacca\, Negeri Sembilan\, Pahang\, Penang\ + , Perak\, Perlis\, Sabah\, Sarawak\, Selangor\, Kuala Lumpur\, Labuan\, Put + rajaya +LAST-MODIFIED:20180731T230439Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Malaysia Day (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180916 +DTEND;VALUE=DATE:20180917 +DTSTAMP:20180912T052327Z +UID:20180916_60o30db274o32c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230439Z +DESCRIPTION:Public holiday in: Johor\, Kedah\, Kelantan\, Terengganu +LAST-MODIFIED:20180731T230439Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Malaysia Day (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190813 +DTEND;VALUE=DATE:20190814 +DTSTAMP:20180912T052327Z +UID:20190813_60o32e1hcko30c1g60o30db160@google.com +CLASS:PUBLIC +CREATED:20180731T230439Z +DESCRIPTION:Public holiday in: Kedah\, Kelantan\, Perlis\, Terengganu +LAST-MODIFIED:20180731T230439Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Hari Raya Haji (Day 2) (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180518 +DTEND;VALUE=DATE:20180519 +DTSTAMP:20180912T052327Z +UID:20180518_60o32e1hc4o32c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230439Z +DESCRIPTION:Public holiday in: Sarawak +LAST-MODIFIED:20180731T230439Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:General Elections Holiday (Sarawak) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180517 +DTEND;VALUE=DATE:20180518 +DTSTAMP:20180912T052327Z +UID:20180517_60o32e1h74o32c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230439Z +DESCRIPTION:Public holiday in: Sarawak +LAST-MODIFIED:20180731T230439Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:General Elections Holiday (Sarawak) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170602 +DTEND;VALUE=DATE:20170603 +DTSTAMP:20180912T052327Z +UID:20170602_60o32e1i64o30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230439Z +DESCRIPTION:Public holiday in: Sarawak +LAST-MODIFIED:20180731T230439Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Gawai Dayak Holiday (Sarawak) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180601 +DTEND;VALUE=DATE:20180602 +DTSTAMP:20180912T052327Z +UID:20180601_60o32e1i60o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230439Z +DESCRIPTION:Public holiday in: Sarawak +LAST-MODIFIED:20180731T230439Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Gawai Dayak (Sarawak) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181106 +DTEND;VALUE=DATE:20181107 +DTSTAMP:20180912T052327Z +UID:20181106_60o30db268o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230439Z +DESCRIPTION:Public holiday in: Johor\, Kedah\, Kelantan\, Malacca\, Negeri + Sembilan\, Pahang\, Penang\, Perak\, Perlis\, Sabah\, Selangor\, Terengganu + \, Kuala Lumpur\, Labuan\, Putrajaya +LAST-MODIFIED:20180731T230439Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Diwali/Deepavali (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191024 +DTEND;VALUE=DATE:20191025 +DTSTAMP:20180912T052327Z +UID:20191024_60o32e1icko30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230439Z +DESCRIPTION:Public holiday in: Pahang +LAST-MODIFIED:20180731T230439Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Sultan of Pahang (Pahang) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191112 +DTEND;VALUE=DATE:20191113 +DTSTAMP:20180912T052327Z +UID:20191112_60o32e1j64o30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230439Z +DESCRIPTION:Public holiday in: Kelantan +LAST-MODIFIED:20180731T230439Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Sultan of Kelantan (Day 2) (Kelantan) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181112 +DTEND;VALUE=DATE:20181113 +DTSTAMP:20180912T052327Z +UID:20181112_60o32e1j64o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230439Z +DESCRIPTION:Public holiday in: Kelantan +LAST-MODIFIED:20180731T230439Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Sultan of Kelantan (Day 2) (Kelantan) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170323 +DTEND;VALUE=DATE:20170324 +DTSTAMP:20180912T052327Z +UID:20170323_60o32e1i6go30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230439Z +DESCRIPTION:Public holiday in: Johor +LAST-MODIFIED:20180731T230439Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Sultan of Johor (Johor) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20171012 +DTEND;VALUE=DATE:20171013 +DTSTAMP:20180912T052327Z +UID:20171012_60o32e1ic8o30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230439Z +DESCRIPTION:Public holiday in: Malacca +LAST-MODIFIED:20180731T230439Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Governor of Malacca (Malacca) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190304 +DTEND;VALUE=DATE:20190305 +DTSTAMP:20180912T052327Z +UID:20190304_60o32e1i6ko30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230439Z +DESCRIPTION:Public holiday in: Terengganu +LAST-MODIFIED:20180731T230439Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Anniversary of the coronation of the Sultan of Terengganu (Terengga + nu) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170304 +DTEND;VALUE=DATE:20170305 +DTSTAMP:20180912T052327Z +UID:20170304_60o32e1i6ko30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230439Z +DESCRIPTION:Public holiday in: Terengganu +LAST-MODIFIED:20180731T230439Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Anniversary of the coronation of the Sultan of Terengganu (Terengga + nu) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180910 +DTEND;VALUE=DATE:20180911 +DTSTAMP:20180912T052327Z +UID:20180910_60o30db1cko34c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230438Z +DESCRIPTION:Public holiday in: Malacca\, Negeri Sembilan\, Pahang\, Penang\ + , Perak\, Perlis\, Sabah\, Sarawak\, Selangor\, Kuala Lumpur\, Labuan\, Put + rajaya +LAST-MODIFIED:20180731T230438Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:The Yang di-Pertuan Agong's Birthday (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180909 +DTEND;VALUE=DATE:20180910 +DTSTAMP:20180912T052327Z +UID:20180909_60o30db1cko32c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230438Z +DESCRIPTION:Public holiday in: Johor\, Kedah\, Kelantan\, Terengganu +LAST-MODIFIED:20180731T230438Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:The Yang di-Pertuan Agong's Birthday (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190722 +DTEND;VALUE=DATE:20190723 +DTSTAMP:20180912T052327Z +UID:20190722_60o32e1i74o30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230438Z +DESCRIPTION:Public holiday in: Sarawak +LAST-MODIFIED:20180731T230438Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Sarawak Independence Day (Sarawak) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170722 +DTEND;VALUE=DATE:20170723 +DTSTAMP:20180912T052327Z +UID:20170722_60o32e1i74o30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230438Z +DESCRIPTION:Public holiday in: Sarawak +LAST-MODIFIED:20180731T230438Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Sarawak Independence Day (Sarawak) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180617 +DTEND;VALUE=DATE:20180618 +DTSTAMP:20180912T052327Z +UID:20180617_60o30db260o34c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230438Z +DESCRIPTION:Public holiday in: Johor\, Kedah\, Kelantan\, Terengganu +LAST-MODIFIED:20180731T230438Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Hari Raya Puasa (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190602 +DTEND;VALUE=DATE:20190603 +DTSTAMP:20180912T052327Z +UID:20190602_60o32e1i64o30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230438Z +DESCRIPTION:Public holiday in: Sarawak +LAST-MODIFIED:20180731T230438Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Gawai Dayak Holiday (Sarawak) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190427 +DTEND;VALUE=DATE:20190428 +DTSTAMP:20180912T052327Z +UID:20190427_60o32e1i70o30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230438Z +DESCRIPTION:Public holiday in: Terengganu +LAST-MODIFIED:20180731T230438Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Sultan of Terengganu (Terengganu) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181102 +DTEND;VALUE=DATE:20181103 +DTSTAMP:20180912T052327Z +UID:20181102_60o32e1icoo30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230438Z +DESCRIPTION:Public holiday in: Perak +LAST-MODIFIED:20180731T230438Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Sultan of Perak (Perak) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20171102 +DTEND;VALUE=DATE:20171103 +DTSTAMP:20180912T052327Z +UID:20171102_60o32e1icoo30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230438Z +DESCRIPTION:Public holiday in: Perak +LAST-MODIFIED:20180731T230438Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Sultan of Perak (Perak) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20171024 +DTEND;VALUE=DATE:20171025 +DTSTAMP:20180912T052327Z +UID:20171024_60o32e1icko30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230438Z +DESCRIPTION:Public holiday in: Pahang +LAST-MODIFIED:20180731T230438Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Sultan of Pahang (Pahang) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190323 +DTEND;VALUE=DATE:20190324 +DTSTAMP:20180912T052327Z +UID:20190323_60o32e1i6go30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230438Z +DESCRIPTION:Public holiday in: Johor +LAST-MODIFIED:20180731T230438Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Sultan of Johor (Johor) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170517 +DTEND;VALUE=DATE:20170518 +DTSTAMP:20180912T052327Z +UID:20170517_60o32e1i68o30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180731T230438Z +DESCRIPTION:Public holiday in: Perlis +LAST-MODIFIED:20180731T230438Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Raja of Perlis (Perlis) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191014 +DTEND;VALUE=DATE:20191015 +DTSTAMP:20180912T052327Z +UID:20191014_60o32e1icco30e1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230438Z +DESCRIPTION:Public holiday in: Sarawak +LAST-MODIFIED:20180731T230438Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Governor of Sarawak observed (Sarawak) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191006 +DTEND;VALUE=DATE:20191007 +DTSTAMP:20180912T052327Z +UID:20191006_60o32e1ic4o30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230438Z +DESCRIPTION:Public holiday in: Sabah +LAST-MODIFIED:20180731T230438Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Governor of Sabah (Sabah) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181006 +DTEND;VALUE=DATE:20181007 +DTSTAMP:20180912T052327Z +UID:20181006_60o32e1ic4o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180731T230438Z +DESCRIPTION:Public holiday in: Sabah +LAST-MODIFIED:20180731T230438Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Birthday of the Governor of Sabah (Sabah) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191015 +DTEND;VALUE=DATE:20191016 +DTSTAMP:20180912T052327Z +UID:20191015_60o32e1icgo30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180731T230438Z +DESCRIPTION:Public holiday in: Johor +LAST-MODIFIED:20180731T230438Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Almarhum Sultan Iskandar Hol Day (Johor) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180509 +DTEND;VALUE=DATE:20180510 +DTSTAMP:20180912T052327Z +UID:20180509_60o32e1h70o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180706T230656Z +DESCRIPTION: +LAST-MODIFIED:20180706T230656Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:General Elections +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190909 +DTEND;VALUE=DATE:20190910 +DTSTAMP:20180912T052327Z +UID:20190909_60o30db1cko30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180611T231438Z +DESCRIPTION: +LAST-MODIFIED:20180611T231438Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:The Yang di-Pertuan Agong's Birthday +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180911 +DTEND;VALUE=DATE:20180912 +DTSTAMP:20180912T052327Z +UID:20180911_60o30or46oo30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180201T001849Z +DESCRIPTION: +LAST-MODIFIED:20180201T001849Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Muharram/New Year +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180529 +DTEND;VALUE=DATE:20180530 +DTSTAMP:20180912T052327Z +UID:20180529_60o30db1cgo30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20171211T235133Z +DESCRIPTION: +LAST-MODIFIED:20171211T235133Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Wesak Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170901 +DTEND;VALUE=DATE:20170902 +DTSTAMP:20180912T052327Z +UID:20170901_60o30db26co30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20170911T230058Z +DESCRIPTION: +LAST-MODIFIED:20170911T230058Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Hari Raya Haji +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170909 +DTEND;VALUE=DATE:20170910 +DTSTAMP:20180912T052327Z +UID:20170909_60o30db1cko30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20170721T231822Z +DESCRIPTION: +LAST-MODIFIED:20170721T231822Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:The Yang di-Pertuan Agong's Birthday +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170425 +DTEND;VALUE=DATE:20170426 +DTSTAMP:20180912T052327Z +UID:20170425_60o32dpoc4o30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20170705T230711Z +DESCRIPTION: +LAST-MODIFIED:20170705T230711Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Official Installation Ceremony of His Majesty the 15th Yang Di Pert + uan Agong +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170510 +DTEND;VALUE=DATE:20170511 +DTSTAMP:20180912T052327Z +UID:20170510_60o30db1cgo30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20170508T224305Z +DESCRIPTION: +LAST-MODIFIED:20170508T224305Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Wesak Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190214 +DTEND;VALUE=DATE:20190215 +DTSTAMP:20180912T052327Z +UID:20190214_60o32dpo68o30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20170321T234537Z +DESCRIPTION: +LAST-MODIFIED:20170321T234537Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Valentine's Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180214 +DTEND;VALUE=DATE:20180215 +DTSTAMP:20180912T052327Z +UID:20180214_60o32dpo68o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20170321T234537Z +DESCRIPTION: +LAST-MODIFIED:20170321T234537Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Valentine's Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170214 +DTEND;VALUE=DATE:20170215 +DTSTAMP:20180912T052327Z +UID:20170214_60o32dpo68o30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20170321T234537Z +DESCRIPTION: +LAST-MODIFIED:20170321T234537Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Valentine's Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170922 +DTEND;VALUE=DATE:20170923 +DTSTAMP:20180912T052327Z +UID:20170922_60o30or46oo30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20170321T234537Z +DESCRIPTION: +LAST-MODIFIED:20170321T234537Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Muharram/New Year +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170130 +DTEND;VALUE=DATE:20170131 +DTSTAMP:20180912T052327Z +UID:20170130_60o30db170o32c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20170111T234120Z +DESCRIPTION: +LAST-MODIFIED:20170111T234120Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Second day of Chinese Lunar New Year +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170626 +DTEND;VALUE=DATE:20170627 +DTSTAMP:20180912T052327Z +UID:20170626_60o30db264o30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20170106T114649Z +DESCRIPTION: +LAST-MODIFIED:20170106T114649Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Hari Raya Puasa Day 2 +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190901 +DTEND;VALUE=DATE:20190902 +DTSTAMP:20180912T052327Z +UID:20190901_60o30or46oo30c1g60o30db164@google.com +CLASS:PUBLIC +CREATED:20140630T225146Z +DESCRIPTION: +LAST-MODIFIED:20140630T225146Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Muharram/New Year +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190206 +DTEND;VALUE=DATE:20190207 +DTSTAMP:20180912T052327Z +UID:20190206_60o30db170o30c1g60o32chmcc@google.com +CLASS:PUBLIC +CREATED:20140109T053233Z +DESCRIPTION: +LAST-MODIFIED:20140109T053233Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Second day of Chinese Lunar New Year +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170129 +DTEND;VALUE=DATE:20170130 +DTSTAMP:20180912T052327Z +UID:20170129_60o30db170o30c1g60o32chmc4@google.com +CLASS:PUBLIC +CREATED:20140109T053233Z +DESCRIPTION: +LAST-MODIFIED:20140109T053233Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Second day of Chinese Lunar New Year +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191231 +DTEND;VALUE=DATE:20200101 +DTSTAMP:20180912T052327Z +UID:20191231_60o30db16ko30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20140109T053233Z +DESCRIPTION: +LAST-MODIFIED:20140109T053233Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:New Year's Eve +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190831 +DTEND;VALUE=DATE:20190901 +DTSTAMP:20180912T052327Z +UID:20190831_60o30db1coo30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20140109T053233Z +DESCRIPTION: +LAST-MODIFIED:20140109T053233Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Malaysia's National Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180831 +DTEND;VALUE=DATE:20180901 +DTSTAMP:20180912T052327Z +UID:20180831_60o30db1coo30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20140109T053233Z +DESCRIPTION: +LAST-MODIFIED:20140109T053233Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Malaysia's National Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180501 +DTEND;VALUE=DATE:20180502 +DTSTAMP:20180912T052327Z +UID:20180501_60o30db1cco30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20140109T053233Z +DESCRIPTION: +LAST-MODIFIED:20140109T053233Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Labour Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170501 +DTEND;VALUE=DATE:20170502 +DTSTAMP:20180912T052327Z +UID:20170501_60o30db1cco30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20140109T053233Z +DESCRIPTION: +LAST-MODIFIED:20140109T053233Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Labour Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181224 +DTEND;VALUE=DATE:20181225 +DTSTAMP:20180912T052327Z +UID:20181224_60o30db26oo30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20140109T053233Z +DESCRIPTION: +LAST-MODIFIED:20140109T053233Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Christmas Eve +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191225 +DTEND;VALUE=DATE:20191226 +DTSTAMP:20180912T052327Z +UID:20191225_60o30db26ko30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20140109T053233Z +DESCRIPTION: +LAST-MODIFIED:20140109T053233Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Christmas Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181225 +DTEND;VALUE=DATE:20181226 +DTSTAMP:20180912T052327Z +UID:20181225_60o30db26ko30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20140109T053233Z +DESCRIPTION: +LAST-MODIFIED:20140109T053233Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Christmas Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190205 +DTEND;VALUE=DATE:20190206 +DTSTAMP:20180912T052327Z +UID:20190205_60o30db16so30c1g60o32chmcc@google.com +CLASS:PUBLIC +CREATED:20140109T053233Z +DESCRIPTION: +LAST-MODIFIED:20140109T053233Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Chinese Lunar New Year's Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180216 +DTEND;VALUE=DATE:20180217 +DTSTAMP:20180912T052327Z +UID:20180216_60o30db16so30c1g60o32chmc8@google.com +CLASS:PUBLIC +CREATED:20140109T053233Z +DESCRIPTION: +LAST-MODIFIED:20140109T053233Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Chinese Lunar New Year's Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191110 +DTEND;VALUE=DATE:20191111 +DTSTAMP:20180912T052327Z +UID:20191110_60o30db1c8o30c1g60o30db164@google.com +CLASS:PUBLIC +CREATED:20140109T053226Z +DESCRIPTION: +LAST-MODIFIED:20140109T053226Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:The Prophet Muhammad's Birthday +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170916 +DTEND;VALUE=DATE:20170917 +DTSTAMP:20180912T052327Z +UID:20170916_60o30db274o30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20140109T053226Z +DESCRIPTION: +LAST-MODIFIED:20140109T053226Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Malaysia Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180201 +DTEND;VALUE=DATE:20180202 +DTSTAMP:20180912T052327Z +UID:20180201_60o30db174o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20140109T053226Z +DESCRIPTION: +LAST-MODIFIED:20140109T053226Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Federal Territory Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170128 +DTEND;VALUE=DATE:20170129 +DTSTAMP:20180912T052327Z +UID:20170128_60o30db16so30c1g60o32chmc4@google.com +CLASS:PUBLIC +CREATED:20140109T053226Z +DESCRIPTION: +LAST-MODIFIED:20140109T053226Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Chinese Lunar New Year's Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180616 +DTEND;VALUE=DATE:20180617 +DTSTAMP:20180912T052327Z +UID:20180616_60o30db264o30c1g60o30d9pco@google.com +CLASS:PUBLIC +CREATED:20140109T053220Z +DESCRIPTION: +LAST-MODIFIED:20140109T053220Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Hari Raya Puasa Day 2 +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190812 +DTEND;VALUE=DATE:20190813 +DTSTAMP:20180912T052327Z +UID:20190812_60o30db26co30c1g60o30db160@google.com +CLASS:PUBLIC +CREATED:20140109T053220Z +DESCRIPTION: +LAST-MODIFIED:20140109T053220Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Hari Raya Haji +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190201 +DTEND;VALUE=DATE:20190202 +DTSTAMP:20180912T052327Z +UID:20190201_60o30db174o30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20140109T053220Z +DESCRIPTION: +LAST-MODIFIED:20140109T053220Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Federal Territory Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170201 +DTEND;VALUE=DATE:20170202 +DTSTAMP:20180912T052327Z +UID:20170201_60o30db174o30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20140109T053220Z +DESCRIPTION: +LAST-MODIFIED:20140109T053220Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Federal Territory Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20171224 +DTEND;VALUE=DATE:20171225 +DTSTAMP:20180912T052327Z +UID:20171224_60o30db26oo30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20140109T053220Z +DESCRIPTION: +LAST-MODIFIED:20140109T053220Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Christmas Eve +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20171201 +DTEND;VALUE=DATE:20171202 +DTSTAMP:20180912T052327Z +UID:20171201_60o30db1c8o30c1g60o30d9pco@google.com +CLASS:PUBLIC +CREATED:20140109T053213Z +DESCRIPTION: +LAST-MODIFIED:20140109T053213Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:The Prophet Muhammad's Birthday +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20171231 +DTEND;VALUE=DATE:20180101 +DTSTAMP:20180912T052327Z +UID:20171231_60o30db16ko30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20140109T053213Z +DESCRIPTION: +LAST-MODIFIED:20140109T053213Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:New Year's Eve +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190606 +DTEND;VALUE=DATE:20190607 +DTSTAMP:20180912T052327Z +UID:20190606_60o30db264o30c1g60o30db160@google.com +CLASS:PUBLIC +CREATED:20140109T053213Z +DESCRIPTION: +LAST-MODIFIED:20140109T053213Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Hari Raya Puasa Day 2 +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180401 +DTEND;VALUE=DATE:20180402 +DTSTAMP:20180912T052327Z +UID:20180401_60o30db270o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20140109T053213Z +DESCRIPTION: +LAST-MODIFIED:20140109T053213Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Easter Sunday +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170416 +DTEND;VALUE=DATE:20170417 +DTSTAMP:20180912T052327Z +UID:20170416_60o30db270o30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20140109T053213Z +DESCRIPTION: +LAST-MODIFIED:20140109T053213Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Easter Sunday +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191224 +DTEND;VALUE=DATE:20191225 +DTSTAMP:20180912T052327Z +UID:20191224_60o30db26oo30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20140109T053213Z +DESCRIPTION: +LAST-MODIFIED:20140109T053213Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Christmas Eve +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20171225 +DTEND;VALUE=DATE:20171226 +DTSTAMP:20180912T052327Z +UID:20171225_60o30db26ko30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20140109T053213Z +DESCRIPTION: +LAST-MODIFIED:20140109T053213Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Christmas Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180217 +DTEND;VALUE=DATE:20180218 +DTSTAMP:20180912T052327Z +UID:20180217_60o30db170o30c1g60o32chmc8@google.com +CLASS:PUBLIC +CREATED:20140109T053206Z +DESCRIPTION: +LAST-MODIFIED:20140109T053206Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Second day of Chinese Lunar New Year +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181231 +DTEND;VALUE=DATE:20190101 +DTSTAMP:20180912T052327Z +UID:20181231_60o30db16ko30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20140109T053206Z +DESCRIPTION: +LAST-MODIFIED:20140109T053206Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:New Year's Eve +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170831 +DTEND;VALUE=DATE:20170901 +DTSTAMP:20180912T052327Z +UID:20170831_60o30db1coo30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20140109T053206Z +DESCRIPTION: +LAST-MODIFIED:20140109T053206Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Malaysia's National Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190916 +DTEND;VALUE=DATE:20190917 +DTSTAMP:20180912T052327Z +UID:20190916_60o30db274o30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20140109T053206Z +DESCRIPTION: +LAST-MODIFIED:20140109T053206Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Malaysia Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190501 +DTEND;VALUE=DATE:20190502 +DTSTAMP:20180912T052327Z +UID:20190501_60o30db1cco30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20140109T053206Z +DESCRIPTION: +LAST-MODIFIED:20140109T053206Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Labour Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180822 +DTEND;VALUE=DATE:20180823 +DTSTAMP:20180912T052327Z +UID:20180822_60o30db26co30c1g60o30d9pco@google.com +CLASS:PUBLIC +CREATED:20140109T053206Z +DESCRIPTION: +LAST-MODIFIED:20140109T053206Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Hari Raya Haji +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190421 +DTEND;VALUE=DATE:20190422 +DTSTAMP:20180912T052327Z +UID:20190421_60o30db270o30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20140109T053206Z +DESCRIPTION: +LAST-MODIFIED:20140109T053206Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Easter Sunday +TRANSP:TRANSPARENT +END:VEVENT +END:VCALENDAR diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/MainActivity.kt index 3266f26d1..e8a9703dc 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/MainActivity.kt @@ -781,6 +781,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { put("Lietuva", "lithuania.ics") put("Luxemburg", "luxembourg.ics") put("Makedonija", "macedonia.ics") + put("Malaysia", "malaysia.ics") put("Magyarország", "hungary.ics") put("México", "mexico.ics") put("Nederland", "netherlands.ics") From 405e7de0f0762efc24dda35632e7feb3a8186540 Mon Sep 17 00:00:00 2001 From: youdly Date: Wed, 12 Sep 2018 15:25:13 +0930 Subject: [PATCH 25/55] Update Australian holidays Add regional holidays, address https://github.com/SimpleMobileTools/Simple-Calendar/issues/304#issuecomment-364930175 --- app/src/main/assets/australia.ics | 1563 ++++++++++++++++++++++++++++- 1 file changed, 1523 insertions(+), 40 deletions(-) diff --git a/app/src/main/assets/australia.ics b/app/src/main/assets/australia.ics index e728a0e1e..4d9ba201f 100755 --- a/app/src/main/assets/australia.ics +++ b/app/src/main/assets/australia.ics @@ -1,89 +1,1572 @@ BEGIN:VCALENDAR +PRODID:-//Google Inc//Google Calendar 70.9054//EN +VERSION:2.0 +CALSCALE:GREGORIAN +METHOD:PUBLISH +X-WR-TIMEZONE:UTC BEGIN:VEVENT -SUMMARY:New Year's Day -UID:aus-123 -DTSTART;VALUE=DATE:20180101 -DTEND;VALUE=DATE:20180102 +DTSTART;VALUE=DATE:20190506 +DTEND;VALUE=DATE:20190507 +DTSTAMP:20180912T052339Z +UID:20190506_60o30chicko36e1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180627T230921Z +DESCRIPTION:Public holiday in: Northern Territory +LAST-MODIFIED:20180627T230921Z +SEQUENCE:0 STATUS:CONFIRMED +SUMMARY:May Day (Northern Territory) +TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT -SUMMARY:Australia Day -UID:aus-127 -DTSTART;VALUE=DATE:20180126 -DTEND;VALUE=DATE:20180127 +DTSTART;VALUE=DATE:20180507 +DTEND;VALUE=DATE:20180508 +DTSTAMP:20180912T052339Z +UID:20180507_60o30chicko36e1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180627T230921Z +DESCRIPTION:Public holiday in: Northern Territory +LAST-MODIFIED:20180627T230921Z +SEQUENCE:0 STATUS:CONFIRMED +SUMMARY:May Day (Northern Territory) +TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT -SUMMARY:Good Friday -UID:aus-129 -DTSTART;VALUE=DATE:20180330 -DTEND;VALUE=DATE:20180331 +DTSTART;VALUE=DATE:20170501 +DTEND;VALUE=DATE:20170502 +DTSTAMP:20180912T052339Z +UID:20170501_60o30chicko36c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180627T230921Z +DESCRIPTION:Public holiday in: Northern Territory +LAST-MODIFIED:20180627T230921Z +SEQUENCE:0 STATUS:CONFIRMED +SUMMARY:May Day (Northern Territory) +TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT -SUMMARY:Easter Saturday -UID:aus-131 -DTSTART;VALUE=DATE:20180331 -DTEND;VALUE=DATE:20180401 +DTSTART;VALUE=DATE:20190311 +DTEND;VALUE=DATE:20190312 +DTSTAMP:20180912T052339Z +UID:20190311_60o30chicko3ie1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180627T230921Z +DESCRIPTION:Public holiday in: Victoria +LAST-MODIFIED:20180627T230921Z +SEQUENCE:0 STATUS:CONFIRMED +SUMMARY:Labour Day (Victoria) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180312 +DTEND;VALUE=DATE:20180313 +DTSTAMP:20180912T052339Z +UID:20180312_60o30chicko3ie1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180627T230921Z +DESCRIPTION:Public holiday in: Victoria +LAST-MODIFIED:20180627T230921Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Labour Day (Victoria) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170313 +DTEND;VALUE=DATE:20170314 +DTSTAMP:20180912T052339Z +UID:20170313_60o30chicko3ie1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180627T230921Z +DESCRIPTION:Public holiday in: Victoria +LAST-MODIFIED:20180627T230921Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Labour Day (Victoria) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20171002 +DTEND;VALUE=DATE:20171003 +DTSTAMP:20180912T052339Z +UID:20171002_60o30chicko3ee1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180627T230920Z +DESCRIPTION:Public holiday in: New South Wales\, Australian Capital Territo + ry\, South Australia +LAST-MODIFIED:20180627T230920Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Labour Day (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190304 +DTEND;VALUE=DATE:20190305 +DTSTAMP:20180912T052339Z +UID:20190304_60o30chicko3ge1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180627T230919Z +DESCRIPTION:Public holiday in: Western Australia +LAST-MODIFIED:20180627T230919Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Labour Day (Western Australia) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180305 +DTEND;VALUE=DATE:20180306 +DTSTAMP:20180912T052339Z +UID:20180305_60o30chicko3ge1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180627T230919Z +DESCRIPTION:Public holiday in: Western Australia +LAST-MODIFIED:20180627T230919Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Labour Day (Western Australia) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170306 +DTEND;VALUE=DATE:20170307 +DTSTAMP:20180912T052339Z +UID:20170306_60o30chicko3ge1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180627T230919Z +DESCRIPTION:Public holiday in: Western Australia +LAST-MODIFIED:20180627T230919Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Labour Day (Western Australia) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191007 +DTEND;VALUE=DATE:20191008 +DTSTAMP:20180912T052339Z +UID:20191007_60o30chicko3ee1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180627T230919Z +DESCRIPTION:Public holiday in: New South Wales\, Australian Capital Territo + ry\, South Australia +LAST-MODIFIED:20180627T230919Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Labour Day (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181001 +DTEND;VALUE=DATE:20181002 +DTSTAMP:20180912T052339Z +UID:20181001_60o30chicko3ec1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180627T230919Z +DESCRIPTION:Public holiday in: New South Wales\, Australian Capital Territo + ry\, South Australia +LAST-MODIFIED:20180627T230919Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Labour Day (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190506 +DTEND;VALUE=DATE:20190507 +DTSTAMP:20180912T052339Z +UID:20190506_60o30chicko38e1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180627T230919Z +DESCRIPTION:Public holiday in: Queensland +LAST-MODIFIED:20180627T230919Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Labour Day (Queensland) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180507 +DTEND;VALUE=DATE:20180508 +DTSTAMP:20180912T052339Z +UID:20180507_60o30chicko38e1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180627T230919Z +DESCRIPTION:Public holiday in: Queensland +LAST-MODIFIED:20180627T230919Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Labour Day (Queensland) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170501 +DTEND;VALUE=DATE:20170502 +DTSTAMP:20180912T052339Z +UID:20170501_60o30chicko38c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180627T230919Z +DESCRIPTION:Public holiday in: Queensland +LAST-MODIFIED:20180627T230919Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Labour Day (Queensland) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190311 +DTEND;VALUE=DATE:20190312 +DTSTAMP:20180912T052339Z +UID:20190311_60o30chicko62e1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180627T230919Z +DESCRIPTION:Public holiday in: Tasmania +LAST-MODIFIED:20180627T230919Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Eight Hours Day (Tasmania) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180312 +DTEND;VALUE=DATE:20180313 +DTSTAMP:20180912T052339Z +UID:20180312_60o30chicko62e1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180627T230919Z +DESCRIPTION:Public holiday in: Tasmania +LAST-MODIFIED:20180627T230919Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Eight Hours Day (Tasmania) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170313 +DTEND;VALUE=DATE:20170314 +DTSTAMP:20180912T052339Z +UID:20170313_60o30chicko62e1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180627T230919Z +DESCRIPTION:Public holiday in: Tasmania +LAST-MODIFIED:20180627T230919Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Eight Hours Day (Tasmania) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190421 +DTEND;VALUE=DATE:20190422 +DTSTAMP:20180912T052339Z +UID:20190421_60o30chi6ko38c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180627T230919Z +DESCRIPTION:Public holiday in: Australian Capital Territory\, New South Wal + es\, Northern Territory\, Queensland\, South Australia\, Tasmania\, Victori + a\, Western Australia\, Christmas Island\, Norfolk Island\, Cocos and Keeli + ng Islands\, Heard and McDonald Islands +LAST-MODIFIED:20180627T230919Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Easter Day (regional holiday) +TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT -SUMMARY:Easter Sunday -UID:aus-133 DTSTART;VALUE=DATE:20180401 DTEND;VALUE=DATE:20180402 +DTSTAMP:20180912T052339Z +UID:20180401_60o30chi6ko38c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180627T230919Z +DESCRIPTION:Public holiday in: Australian Capital Territory\, New South Wal + es\, Northern Territory\, Queensland\, South Australia\, Tasmania\, Victori + a\, Western Australia\, Christmas Island\, Norfolk Island\, Cocos and Keeli + ng Islands\, Heard and McDonald Islands +LAST-MODIFIED:20180627T230919Z +SEQUENCE:0 STATUS:CONFIRMED +SUMMARY:Easter Day (regional holiday) +TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT -SUMMARY:Easter Monday -UID:aus-135 -DTSTART;VALUE=DATE:20180402 -DTEND;VALUE=DATE:20180403 +DTSTART;VALUE=DATE:20170416 +DTEND;VALUE=DATE:20170417 +DTSTAMP:20180912T052339Z +UID:20170416_60o30chi6ko38c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180627T230919Z +DESCRIPTION:Public holiday in: Australian Capital Territory\, New South Wal + es\, Northern Territory\, Queensland\, South Australia\, Tasmania\, Victori + a\, Western Australia\, Christmas Island\, Norfolk Island\, Cocos and Keeli + ng Islands\, Heard and McDonald Islands +LAST-MODIFIED:20180627T230919Z +SEQUENCE:0 STATUS:CONFIRMED +SUMMARY:Easter Day (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190425 +DTEND;VALUE=DATE:20190426 +DTSTAMP:20180912T052339Z +UID:20190425_60o30chi6so30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20180627T230919Z +DESCRIPTION:Public holiday in: Australian Capital Territory\, New South Wal + es\, Northern Territory\, Queensland\, South Australia\, Tasmania\, Victori + a\, Western Australia\, Christmas Island\, Norfolk Island\, Cocos and Keeli + ng Islands\, Heard and McDonald Islands +LAST-MODIFIED:20180627T230919Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:ANZAC Day (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170925 +DTEND;VALUE=DATE:20170926 +DTSTAMP:20180912T052339Z +UID:20170925_60o30chj68o30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180118T233023Z +DESCRIPTION:Public holiday in: Australian Capital Territory +LAST-MODIFIED:20180118T233023Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Family & Community Day (Australian Capital Territory) +TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT -SUMMARY:Anzac Day -UID:aus-137 DTSTART;VALUE=DATE:20180425 DTEND;VALUE=DATE:20180426 +DTSTAMP:20180912T052339Z +UID:20180425_60o30chi6so32c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180102T233505Z +DESCRIPTION:Public holiday in: Australian Capital Territory\, New South Wal + es\, Northern Territory\, Queensland\, South Australia\, Tasmania\, Victori + a\, Western Australia\, Christmas Island\, Norfolk Island\, Cocos and Keeli + ng Islands\, Heard and McDonald Islands +LAST-MODIFIED:20180102T233505Z +SEQUENCE:0 STATUS:CONFIRMED -RRULE:FREQ=YEARLY;INTERVAL=1 +SUMMARY:ANZAC Day (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170425 +DTEND;VALUE=DATE:20170426 +DTSTAMP:20180912T052339Z +UID:20170425_60o30chi6so30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20180102T233505Z +DESCRIPTION:Public holiday in: Australian Capital Territory\, New South Wal + es\, Northern Territory\, Queensland\, South Australia\, Tasmania\, Victori + a\, Western Australia\, Christmas Island\, Norfolk Island\, Cocos and Keeli + ng Islands\, Heard and McDonald Islands +LAST-MODIFIED:20180102T233505Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:ANZAC Day (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180928 +DTEND;VALUE=DATE:20180929 +DTSTAMP:20180912T052339Z +UID:20180928_60o30p9k60o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20180102T233505Z +DESCRIPTION:Public holiday in: Victoria +LAST-MODIFIED:20180102T233505Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:AFL Grand Final Friday (Victoria) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190527 +DTEND;VALUE=DATE:20190528 +DTSTAMP:20180912T052339Z +UID:20190527_60o32dr3cgo30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20171116T233859Z +DESCRIPTION:Public holiday in: Australian Capital Territory +LAST-MODIFIED:20171116T233859Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Reconciliation Day (Australian Capital Territory) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180528 +DTEND;VALUE=DATE:20180529 +DTSTAMP:20180912T052339Z +UID:20180528_60o32dr3cgo30e1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20171116T233859Z +DESCRIPTION:Public holiday in: Australian Capital Territory +LAST-MODIFIED:20171116T233859Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Reconciliation Day (Australian Capital Territory) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180924 +DTEND;VALUE=DATE:20180925 +DTSTAMP:20180912T052339Z +UID:20180924_60o30chhcoo36c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20171006T221427Z +DESCRIPTION:Public holiday in: Western Australia +LAST-MODIFIED:20171006T221427Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Queen's Birthday (Western Australia) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181001 +DTEND;VALUE=DATE:20181002 +DTSTAMP:20180912T052339Z +UID:20181001_60o30chhcoo38c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20171006T221427Z +DESCRIPTION:Public holiday in: Queensland +LAST-MODIFIED:20171006T221427Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Queen's Birthday (Queensland) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170929 +DTEND;VALUE=DATE:20170930 +DTSTAMP:20180912T052339Z +UID:20170929_60o30p9k60o30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20170925T225231Z +DESCRIPTION:Public holiday in: Victoria +LAST-MODIFIED:20170925T225231Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:AFL Grand Final Friday (Victoria) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170925 +DTEND;VALUE=DATE:20170926 +DTSTAMP:20180912T052339Z +UID:20170925_60o30chhcoo36c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20160729T225331Z +DESCRIPTION:Public holiday in: Western Australia +LAST-MODIFIED:20160729T225331Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Queen's Birthday (Western Australia) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20171002 +DTEND;VALUE=DATE:20171003 +DTSTAMP:20180912T052339Z +UID:20171002_60o30chhcoo38e1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20160729T225331Z +DESCRIPTION:Public holiday in: Queensland +LAST-MODIFIED:20160729T225331Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Queen's Birthday (Queensland) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190610 +DTEND;VALUE=DATE:20190611 +DTSTAMP:20180912T052339Z +UID:20190610_60o30chhcoo32e1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20151126T232829Z +DESCRIPTION:Public holiday in: Australian Capital Territory\, New South Wal + es\, Northern Territory\, South Australia\, Tasmania\, Victoria\, Christmas + Island\, Norfolk Island\, Cocos and Keeling Islands\, Heard and McDonald I + slands +LAST-MODIFIED:20151126T232829Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Queen's Birthday (regional holiday) +TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT -SUMMARY:Queen's Birthday -UID:aus-139 DTSTART;VALUE=DATE:20180611 DTEND;VALUE=DATE:20180612 +DTSTAMP:20180912T052339Z +UID:20180611_60o30chhcoo32e1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20151126T232829Z +DESCRIPTION:Public holiday in: Australian Capital Territory\, New South Wal + es\, Northern Territory\, South Australia\, Tasmania\, Victoria\, Christmas + Island\, Norfolk Island\, Cocos and Keeling Islands\, Heard and McDonald I + slands +LAST-MODIFIED:20151126T232829Z +SEQUENCE:0 STATUS:CONFIRMED +SUMMARY:Queen's Birthday (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170612 +DTEND;VALUE=DATE:20170613 +DTSTAMP:20180912T052339Z +UID:20170612_60o30chhcoo32e1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20151126T232829Z +DESCRIPTION:Public holiday in: Australian Capital Territory\, New South Wal + es\, Northern Territory\, South Australia\, Tasmania\, Victoria\, Christmas + Island\, Norfolk Island\, Cocos and Keeling Islands\, Heard and McDonald I + slands +LAST-MODIFIED:20151126T232829Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Queen's Birthday (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190420 +DTEND;VALUE=DATE:20190421 +DTSTAMP:20180912T052339Z +UID:20190420_60o30chi6go32c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20151126T232829Z +DESCRIPTION:Public holiday in: Australian Capital Territory\, New South Wal + es\, Northern Territory\, Queensland\, South Australia\, Victoria\, Christm + as Island\, Norfolk Island\, Cocos and Keeling Islands\, Heard and McDonald + Islands +LAST-MODIFIED:20151126T232829Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Holy Saturday (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180331 +DTEND;VALUE=DATE:20180401 +DTSTAMP:20180912T052339Z +UID:20180331_60o30chi6go32c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20151126T232829Z +DESCRIPTION:Public holiday in: Australian Capital Territory\, New South Wal + es\, Northern Territory\, Queensland\, South Australia\, Victoria\, Christm + as Island\, Norfolk Island\, Cocos and Keeling Islands\, Heard and McDonald + Islands +LAST-MODIFIED:20151126T232829Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Holy Saturday (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170415 +DTEND;VALUE=DATE:20170416 +DTSTAMP:20180912T052339Z +UID:20170415_60o30chi6go32c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20151126T232829Z +DESCRIPTION:Public holiday in: Australian Capital Territory\, New South Wal + es\, Northern Territory\, Queensland\, South Australia\, Victoria\, Christm + as Island\, Norfolk Island\, Cocos and Keeling Islands\, Heard and McDonald + Islands +LAST-MODIFIED:20151126T232829Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Holy Saturday (regional holiday) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191007 +DTEND;VALUE=DATE:20191008 +DTSTAMP:20180912T052339Z +UID:20191007_60o30chhcoo38e1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20150922T225203Z +DESCRIPTION:Public holiday in: Queensland +LAST-MODIFIED:20150922T225203Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Queen's Birthday (Queensland) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190814 +DTEND;VALUE=DATE:20190815 +DTSTAMP:20180912T052339Z +UID:20190814_60o30chj6go30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20150818T232742Z +DESCRIPTION:Public holiday in: Queensland +LAST-MODIFIED:20150818T232742Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Royal National Agricultural Show Day Queensland (Queensland) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180815 +DTEND;VALUE=DATE:20180816 +DTSTAMP:20180912T052339Z +UID:20180815_60o30chj6go30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20150818T232742Z +DESCRIPTION:Public holiday in: Queensland +LAST-MODIFIED:20150818T232742Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Royal National Agricultural Show Day Queensland (Queensland) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170816 +DTEND;VALUE=DATE:20170817 +DTSTAMP:20180912T052339Z +UID:20170816_60o30chj6go30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20150818T232742Z +DESCRIPTION:Public holiday in: Queensland +LAST-MODIFIED:20150818T232742Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Royal National Agricultural Show Day Queensland (Queensland) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190211 +DTEND;VALUE=DATE:20190212 +DTSTAMP:20180912T052339Z +UID:20190211_60o30e1pcko30e1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20150723T224820Z +DESCRIPTION:Public holiday in: Tasmania +LAST-MODIFIED:20150723T224820Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Royal Hobart Regatta (Tasmania) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191105 +DTEND;VALUE=DATE:20191106 +DTSTAMP:20180912T052339Z +UID:20191105_60o30chj6oo30e1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20150723T224820Z +DESCRIPTION:Public holiday in: Victoria +LAST-MODIFIED:20150723T224820Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Melbourne Cup Day (Victoria) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180312 +DTEND;VALUE=DATE:20180313 +DTSTAMP:20180912T052339Z +UID:20180312_60o30chj64o30e1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20150723T224820Z +DESCRIPTION:Public holiday in: Australian Capital Territory +LAST-MODIFIED:20150723T224820Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Canberra Day (Australian Capital Territory) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20171106 +DTEND;VALUE=DATE:20171107 +DTSTAMP:20180912T052339Z +UID:20171106_60o30chj6ko30e1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20150723T224819Z +DESCRIPTION:Public holiday in: Tasmania +LAST-MODIFIED:20150723T224819Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Recreation Day (Tasmania) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170807 +DTEND;VALUE=DATE:20170808 +DTSTAMP:20180912T052339Z +UID:20170807_60o30chicgo30e1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20150723T224819Z +DESCRIPTION:Public holiday in: Northern Territory +LAST-MODIFIED:20150723T224819Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Northern Territory Picnic Day (Northern Territory) +TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT -SUMMARY:Bank Holiday -UID:aus-141 DTSTART;VALUE=DATE:20180806 -DTEND;VALUE=DATE:20180806 +DTEND;VALUE=DATE:20180807 +DTSTAMP:20180912T052339Z +UID:20180806_60o30chicco30e1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20150723T224819Z +DESCRIPTION:Public holiday in: New South Wales +LAST-MODIFIED:20150723T224819Z +SEQUENCE:0 STATUS:CONFIRMED +SUMMARY:New South Wales Bank Holiday (New South Wales) +TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT -SUMMARY:Labour Day -UID:aus-143 -DTSTART;VALUE=DATE:20181001 -DTEND;VALUE=DATE:20181001 +DTSTART;VALUE=DATE:20170807 +DTEND;VALUE=DATE:20170808 +DTSTAMP:20180912T052339Z +UID:20170807_60o30chicco30e1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20150723T224819Z +DESCRIPTION:Public holiday in: New South Wales +LAST-MODIFIED:20150723T224819Z +SEQUENCE:0 STATUS:CONFIRMED +SUMMARY:New South Wales Bank Holiday (New South Wales) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180403 +DTEND;VALUE=DATE:20180404 +DTSTAMP:20180912T052339Z +UID:20180403_60o30chj6co30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20150723T224819Z +DESCRIPTION:Public holiday in: Tasmania +LAST-MODIFIED:20150723T224819Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Easter Tuesday (Tasmania) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170418 +DTEND;VALUE=DATE:20170419 +DTSTAMP:20180912T052339Z +UID:20170418_60o30chj6co30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20150723T224819Z +DESCRIPTION:Public holiday in: Tasmania +LAST-MODIFIED:20150723T224819Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Easter Tuesday (Tasmania) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190311 +DTEND;VALUE=DATE:20190312 +DTSTAMP:20180912T052339Z +UID:20190311_60o30chj64o30e1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20150723T224819Z +DESCRIPTION:Public holiday in: Australian Capital Territory +LAST-MODIFIED:20150723T224819Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Canberra Day (Australian Capital Territory) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170313 +DTEND;VALUE=DATE:20170314 +DTSTAMP:20180912T052339Z +UID:20170313_60o30chj64o30e1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20150723T224819Z +DESCRIPTION:Public holiday in: Australian Capital Territory +LAST-MODIFIED:20150723T224819Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Canberra Day (Australian Capital Territory) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170313 +DTEND;VALUE=DATE:20170314 +DTSTAMP:20180912T052339Z +UID:20170313_60o30chicoo30e1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20150723T224819Z +DESCRIPTION:Public holiday in: South Australia +LAST-MODIFIED:20150723T224819Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Adelaide Cup (South Australia) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180212 +DTEND;VALUE=DATE:20180213 +DTSTAMP:20180912T052339Z +UID:20180212_60o30e1pcko30e1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20150723T224818Z +DESCRIPTION:Public holiday in: Tasmania +LAST-MODIFIED:20150723T224818Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Royal Hobart Regatta (Tasmania) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170213 +DTEND;VALUE=DATE:20170214 +DTSTAMP:20180912T052339Z +UID:20170213_60o30e1pcko30e1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20150723T224818Z +DESCRIPTION:Public holiday in: Tasmania +LAST-MODIFIED:20150723T224818Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Royal Hobart Regatta (Tasmania) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190930 +DTEND;VALUE=DATE:20191001 +DTSTAMP:20180912T052339Z +UID:20190930_60o30chhcoo36e1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20150723T224818Z +DESCRIPTION:Public holiday in: Western Australia +LAST-MODIFIED:20150723T224818Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Queen's Birthday (Western Australia) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190805 +DTEND;VALUE=DATE:20190806 +DTSTAMP:20180912T052339Z +UID:20190805_60o30chicgo30e1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20150723T224818Z +DESCRIPTION:Public holiday in: Northern Territory +LAST-MODIFIED:20150723T224818Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Northern Territory Picnic Day (Northern Territory) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190603 +DTEND;VALUE=DATE:20190604 +DTSTAMP:20180912T052339Z +UID:20190603_60o30chj60o30e1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20150723T224816Z +DESCRIPTION:Public holiday in: Western Australia +LAST-MODIFIED:20150723T224816Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Western Australia Day (Western Australia) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191104 +DTEND;VALUE=DATE:20191105 +DTSTAMP:20180912T052339Z +UID:20191104_60o30chj6ko30e1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20150723T224816Z +DESCRIPTION:Public holiday in: Tasmania +LAST-MODIFIED:20150723T224816Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Recreation Day (Tasmania) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181105 +DTEND;VALUE=DATE:20181106 +DTSTAMP:20180912T052339Z +UID:20181105_60o30chj6ko30e1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20150723T224816Z +DESCRIPTION:Public holiday in: Tasmania +LAST-MODIFIED:20150723T224816Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Recreation Day (Tasmania) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180806 +DTEND;VALUE=DATE:20180807 +DTSTAMP:20180912T052339Z +UID:20180806_60o30chicgo30e1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20150723T224816Z +DESCRIPTION:Public holiday in: Northern Territory +LAST-MODIFIED:20150723T224816Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Northern Territory Picnic Day (Northern Territory) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181106 +DTEND;VALUE=DATE:20181107 +DTSTAMP:20180912T052339Z +UID:20181106_60o30chj6oo30e1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20150723T224816Z +DESCRIPTION:Public holiday in: Victoria +LAST-MODIFIED:20150723T224816Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Melbourne Cup Day (Victoria) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20171107 +DTEND;VALUE=DATE:20171108 +DTSTAMP:20180912T052339Z +UID:20171107_60o30chj6oo30e1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20150723T224816Z +DESCRIPTION:Public holiday in: Victoria +LAST-MODIFIED:20150723T224816Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Melbourne Cup Day (Victoria) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180604 +DTEND;VALUE=DATE:20180605 +DTSTAMP:20180912T052339Z +UID:20180604_60o30chj60o30e1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20150723T224815Z +DESCRIPTION:Public holiday in: Western Australia +LAST-MODIFIED:20150723T224815Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Western Australia Day (Western Australia) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170605 +DTEND;VALUE=DATE:20170606 +DTSTAMP:20180912T052339Z +UID:20170605_60o30chj60o30e1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20150723T224815Z +DESCRIPTION:Public holiday in: Western Australia +LAST-MODIFIED:20150723T224815Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Western Australia Day (Western Australia) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190805 +DTEND;VALUE=DATE:20190806 +DTSTAMP:20180912T052339Z +UID:20190805_60o30chicco30e1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20150723T224815Z +DESCRIPTION:Public holiday in: New South Wales +LAST-MODIFIED:20150723T224815Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:New South Wales Bank Holiday (New South Wales) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190423 +DTEND;VALUE=DATE:20190424 +DTSTAMP:20180912T052339Z +UID:20190423_60o30chj6co30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20150723T224815Z +DESCRIPTION:Public holiday in: Tasmania +LAST-MODIFIED:20150723T224815Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Easter Tuesday (Tasmania) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190311 +DTEND;VALUE=DATE:20190312 +DTSTAMP:20180912T052339Z +UID:20190311_60o30chicoo30e1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20150723T224815Z +DESCRIPTION:Public holiday in: South Australia +LAST-MODIFIED:20150723T224815Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Adelaide Cup (South Australia) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180312 +DTEND;VALUE=DATE:20180313 +DTSTAMP:20180912T052339Z +UID:20180312_60o30chicoo30e1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20150723T224815Z +DESCRIPTION:Public holiday in: South Australia +LAST-MODIFIED:20150723T224815Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Adelaide Cup (South Australia) +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191006 +DTEND;VALUE=DATE:20191007 +DTSTAMP:20180912T052339Z +UID:20191006_60o30c9o60o30dpl6ooj0dr56c@google.com +CLASS:PUBLIC +CREATED:20150421T223708Z +DESCRIPTION: +LAST-MODIFIED:20150421T223708Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Daylight Saving Time starts +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181007 +DTEND;VALUE=DATE:20181008 +DTSTAMP:20180912T052339Z +UID:20181007_60o30c9o60o30dpl6ooj0dr568@google.com +CLASS:PUBLIC +CREATED:20150421T223708Z +DESCRIPTION: +LAST-MODIFIED:20150421T223708Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Daylight Saving Time starts +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20171001 +DTEND;VALUE=DATE:20171002 +DTSTAMP:20180912T052339Z +UID:20171001_60o30c9o60o30dpl6ooj0dr564@google.com +CLASS:PUBLIC +CREATED:20150421T223708Z +DESCRIPTION: +LAST-MODIFIED:20150421T223708Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Daylight Saving Time starts +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190407 +DTEND;VALUE=DATE:20190408 +DTSTAMP:20180912T052339Z +UID:20190407_60o30c9o64o30dpl6ooj0dr56c@google.com +CLASS:PUBLIC +CREATED:20150421T223708Z +DESCRIPTION: +LAST-MODIFIED:20150421T223708Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Daylight Saving Time ends +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180401 +DTEND;VALUE=DATE:20180402 +DTSTAMP:20180912T052339Z +UID:20180401_60o30c9o64o30dpl6ooj0dr568@google.com +CLASS:PUBLIC +CREATED:20150421T223708Z +DESCRIPTION: +LAST-MODIFIED:20150421T223708Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Daylight Saving Time ends +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170402 +DTEND;VALUE=DATE:20170403 +DTSTAMP:20180912T052339Z +UID:20170402_60o30c9o64o30dpl6ooj0dr564@google.com +CLASS:PUBLIC +CREATED:20150421T223708Z +DESCRIPTION: +LAST-MODIFIED:20150421T223708Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Daylight Saving Time ends +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190321 +DTEND;VALUE=DATE:20190322 +DTSTAMP:20180912T052339Z +UID:20190321_60o30opo64o30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20140407T160455Z +DESCRIPTION: +LAST-MODIFIED:20140407T160455Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Harmony Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180321 +DTEND;VALUE=DATE:20180322 +DTSTAMP:20180912T052339Z +UID:20180321_60o30opo64o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20140407T160455Z +DESCRIPTION: +LAST-MODIFIED:20140407T160455Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Harmony Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170321 +DTEND;VALUE=DATE:20170322 +DTSTAMP:20180912T052339Z +UID:20170321_60o30opo64o30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20140407T160455Z +DESCRIPTION: +LAST-MODIFIED:20140407T160455Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Harmony Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181111 +DTEND;VALUE=DATE:20181112 +DTSTAMP:20180912T052339Z +UID:20181111_60o30chj6so30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20140109T121602Z +DESCRIPTION: +LAST-MODIFIED:20140109T121602Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Remembrance Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20171231 +DTEND;VALUE=DATE:20180101 +DTSTAMP:20180912T052339Z +UID:20171231_60o30chhcco30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20140109T121602Z +DESCRIPTION: +LAST-MODIFIED:20140109T121602Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:New Year's Eve +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180101 +DTEND;VALUE=DATE:20180102 +DTSTAMP:20180912T052339Z +UID:20180101_60o30chhcgo30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20140109T121602Z +DESCRIPTION: +LAST-MODIFIED:20140109T121602Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:New Year's Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180330 +DTEND;VALUE=DATE:20180331 +DTSTAMP:20180912T052339Z +UID:20180330_60o30chi6co30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20140109T121602Z +DESCRIPTION: +LAST-MODIFIED:20140109T121602Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Good Friday +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170417 +DTEND;VALUE=DATE:20170418 +DTSTAMP:20180912T052339Z +UID:20170417_60o30chi6oo30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20140109T121602Z +DESCRIPTION: +LAST-MODIFIED:20140109T121602Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Easter Monday +TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT -SUMMARY:Christmas Day -UID:aus-145 DTSTART;VALUE=DATE:20181225 DTEND;VALUE=DATE:20181226 +DTSTAMP:20180912T052339Z +UID:20181225_60o30chi64o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20140109T121602Z +DESCRIPTION: +LAST-MODIFIED:20140109T121602Z +SEQUENCE:0 STATUS:CONFIRMED -RRULE:FREQ=YEARLY;INTERVAL=1 +SUMMARY:Christmas Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20171111 +DTEND;VALUE=DATE:20171112 +DTSTAMP:20180912T052339Z +UID:20171111_60o30chj6so30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20140109T121601Z +DESCRIPTION: +LAST-MODIFIED:20140109T121601Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Remembrance Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170101 +DTEND;VALUE=DATE:20170102 +DTSTAMP:20180912T052339Z +UID:20170101_60o30chhcgo30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20140109T121601Z +DESCRIPTION: +LAST-MODIFIED:20140109T121601Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:New Year's Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180126 +DTEND;VALUE=DATE:20180127 +DTSTAMP:20180912T052339Z +UID:20180126_60o30chhcko30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20140109T121601Z +DESCRIPTION: +LAST-MODIFIED:20140109T121601Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Australia Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191111 +DTEND;VALUE=DATE:20191112 +DTSTAMP:20180912T052339Z +UID:20191111_60o30chj6so30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20140109T121600Z +DESCRIPTION: +LAST-MODIFIED:20140109T121600Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Remembrance Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170414 +DTEND;VALUE=DATE:20170415 +DTSTAMP:20180912T052339Z +UID:20170414_60o30chi6co30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20140109T121600Z +DESCRIPTION: +LAST-MODIFIED:20140109T121600Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Good Friday +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190422 +DTEND;VALUE=DATE:20190423 +DTSTAMP:20180912T052339Z +UID:20190422_60o30chi6oo30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20140109T121600Z +DESCRIPTION: +LAST-MODIFIED:20140109T121600Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Easter Monday +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20171225 +DTEND;VALUE=DATE:20171226 +DTSTAMP:20180912T052339Z +UID:20171225_60o30chi64o30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20140109T121600Z +DESCRIPTION: +LAST-MODIFIED:20140109T121600Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Christmas Day +TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT -SUMMARY:Boxing Day -UID:aus-147 DTSTART;VALUE=DATE:20181226 DTEND;VALUE=DATE:20181227 +DTSTAMP:20180912T052339Z +UID:20181226_60o30chi68o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20140109T121600Z +DESCRIPTION: +LAST-MODIFIED:20140109T121600Z +SEQUENCE:0 STATUS:CONFIRMED -RRULE:FREQ=YEARLY;INTERVAL=1 +SUMMARY:Boxing Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181224 +DTEND;VALUE=DATE:20181225 +DTSTAMP:20180912T052339Z +UID:20181224_60o30chi60o30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20140109T121557Z +DESCRIPTION: +LAST-MODIFIED:20140109T121557Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Christmas Eve +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20171226 +DTEND;VALUE=DATE:20171227 +DTSTAMP:20180912T052339Z +UID:20171226_60o30chi68o30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20140109T121557Z +DESCRIPTION: +LAST-MODIFIED:20140109T121557Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Boxing Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170102 +DTEND;VALUE=DATE:20170103 +DTSTAMP:20180912T052339Z +UID:20170102_60o30chhcgo30e1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20140109T121556Z +DESCRIPTION: +LAST-MODIFIED:20140109T121556Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:New Year's Day observed +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190419 +DTEND;VALUE=DATE:20190420 +DTSTAMP:20180912T052339Z +UID:20190419_60o30chi6co30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20140109T121556Z +DESCRIPTION: +LAST-MODIFIED:20140109T121556Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Good Friday +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191224 +DTEND;VALUE=DATE:20191225 +DTSTAMP:20180912T052339Z +UID:20191224_60o30chi60o30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20140109T121556Z +DESCRIPTION: +LAST-MODIFIED:20140109T121556Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Christmas Eve +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191225 +DTEND;VALUE=DATE:20191226 +DTSTAMP:20180912T052339Z +UID:20191225_60o30chi64o30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20140109T121556Z +DESCRIPTION: +LAST-MODIFIED:20140109T121556Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Christmas Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191226 +DTEND;VALUE=DATE:20191227 +DTSTAMP:20180912T052339Z +UID:20191226_60o30chi68o30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20140109T121556Z +DESCRIPTION: +LAST-MODIFIED:20140109T121556Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Boxing Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190126 +DTEND;VALUE=DATE:20190127 +DTSTAMP:20180912T052339Z +UID:20190126_60o30chhcko30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20140109T121556Z +DESCRIPTION: +LAST-MODIFIED:20140109T121556Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Australia Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181231 +DTEND;VALUE=DATE:20190101 +DTSTAMP:20180912T052339Z +UID:20181231_60o30chhcco30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20140109T121555Z +DESCRIPTION: +LAST-MODIFIED:20140109T121555Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:New Year's Eve +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180402 +DTEND;VALUE=DATE:20180403 +DTSTAMP:20180912T052339Z +UID:20180402_60o30chi6oo30c1g60o30dr568@google.com +CLASS:PUBLIC +CREATED:20140109T121555Z +DESCRIPTION: +LAST-MODIFIED:20140109T121555Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Easter Monday +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20171224 +DTEND;VALUE=DATE:20171225 +DTSTAMP:20180912T052339Z +UID:20171224_60o30chi60o30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20140109T121555Z +DESCRIPTION: +LAST-MODIFIED:20140109T121555Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Christmas Eve +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190128 +DTEND;VALUE=DATE:20190129 +DTSTAMP:20180912T052339Z +UID:20190128_60o30chhcko30e1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20140109T121555Z +DESCRIPTION: +LAST-MODIFIED:20140109T121555Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Australia Day observed +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191231 +DTEND;VALUE=DATE:20200101 +DTSTAMP:20180912T052339Z +UID:20191231_60o30chhcco30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20140109T121552Z +DESCRIPTION: +LAST-MODIFIED:20140109T121552Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:New Year's Eve +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190101 +DTEND;VALUE=DATE:20190102 +DTSTAMP:20180912T052339Z +UID:20190101_60o30chhcgo30c1g60o30dr56c@google.com +CLASS:PUBLIC +CREATED:20140109T121552Z +DESCRIPTION: +LAST-MODIFIED:20140109T121552Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:New Year's Day +TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20170126 +DTEND;VALUE=DATE:20170127 +DTSTAMP:20180912T052339Z +UID:20170126_60o30chhcko30c1g60o30dr564@google.com +CLASS:PUBLIC +CREATED:20140109T121552Z +DESCRIPTION: +LAST-MODIFIED:20140109T121552Z +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Australia Day +TRANSP:TRANSPARENT END:VEVENT END:VCALENDAR From d331e8ac2e2787699fd0ec66a4290061845f023b Mon Sep 17 00:00:00 2001 From: youdly Date: Thu, 13 Sep 2018 10:33:03 +0930 Subject: [PATCH 26/55] Clean-up Australian holidays Remove past non-repeatable holidays. Add RRULE. --- app/src/main/assets/australia.ics | 1280 +---------------------------- 1 file changed, 10 insertions(+), 1270 deletions(-) diff --git a/app/src/main/assets/australia.ics b/app/src/main/assets/australia.ics index 4d9ba201f..8464ab37c 100755 --- a/app/src/main/assets/australia.ics +++ b/app/src/main/assets/australia.ics @@ -1,1572 +1,312 @@ BEGIN:VCALENDAR -PRODID:-//Google Inc//Google Calendar 70.9054//EN -VERSION:2.0 -CALSCALE:GREGORIAN -METHOD:PUBLISH -X-WR-TIMEZONE:UTC BEGIN:VEVENT DTSTART;VALUE=DATE:20190506 DTEND;VALUE=DATE:20190507 -DTSTAMP:20180912T052339Z UID:20190506_60o30chicko36e1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180627T230921Z -DESCRIPTION:Public holiday in: Northern Territory -LAST-MODIFIED:20180627T230921Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:May Day (Northern Territory) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180507 -DTEND;VALUE=DATE:20180508 -DTSTAMP:20180912T052339Z -UID:20180507_60o30chicko36e1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180627T230921Z -DESCRIPTION:Public holiday in: Northern Territory -LAST-MODIFIED:20180627T230921Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:May Day (Northern Territory) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170501 -DTEND;VALUE=DATE:20170502 -DTSTAMP:20180912T052339Z -UID:20170501_60o30chicko36c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180627T230921Z -DESCRIPTION:Public holiday in: Northern Territory -LAST-MODIFIED:20180627T230921Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:May Day (Northern Territory) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190311 DTEND;VALUE=DATE:20190312 -DTSTAMP:20180912T052339Z UID:20190311_60o30chicko3ie1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180627T230921Z -DESCRIPTION:Public holiday in: Victoria -LAST-MODIFIED:20180627T230921Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Labour Day (Victoria) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180312 -DTEND;VALUE=DATE:20180313 -DTSTAMP:20180912T052339Z -UID:20180312_60o30chicko3ie1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180627T230921Z -DESCRIPTION:Public holiday in: Victoria -LAST-MODIFIED:20180627T230921Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Labour Day (Victoria) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170313 -DTEND;VALUE=DATE:20170314 -DTSTAMP:20180912T052339Z -UID:20170313_60o30chicko3ie1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180627T230921Z -DESCRIPTION:Public holiday in: Victoria -LAST-MODIFIED:20180627T230921Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Labour Day (Victoria) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20171002 -DTEND;VALUE=DATE:20171003 -DTSTAMP:20180912T052339Z -UID:20171002_60o30chicko3ee1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180627T230920Z -DESCRIPTION:Public holiday in: New South Wales\, Australian Capital Territo - ry\, South Australia -LAST-MODIFIED:20180627T230920Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Labour Day (regional holiday) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190304 DTEND;VALUE=DATE:20190305 -DTSTAMP:20180912T052339Z UID:20190304_60o30chicko3ge1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180627T230919Z -DESCRIPTION:Public holiday in: Western Australia -LAST-MODIFIED:20180627T230919Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Labour Day (Western Australia) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180305 -DTEND;VALUE=DATE:20180306 -DTSTAMP:20180912T052339Z -UID:20180305_60o30chicko3ge1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180627T230919Z -DESCRIPTION:Public holiday in: Western Australia -LAST-MODIFIED:20180627T230919Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Labour Day (Western Australia) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170306 -DTEND;VALUE=DATE:20170307 -DTSTAMP:20180912T052339Z -UID:20170306_60o30chicko3ge1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180627T230919Z -DESCRIPTION:Public holiday in: Western Australia -LAST-MODIFIED:20180627T230919Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Labour Day (Western Australia) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20191007 DTEND;VALUE=DATE:20191008 -DTSTAMP:20180912T052339Z UID:20191007_60o30chicko3ee1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180627T230919Z -DESCRIPTION:Public holiday in: New South Wales\, Australian Capital Territo - ry\, South Australia -LAST-MODIFIED:20180627T230919Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Labour Day (regional holiday) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20181001 DTEND;VALUE=DATE:20181002 -DTSTAMP:20180912T052339Z UID:20181001_60o30chicko3ec1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180627T230919Z -DESCRIPTION:Public holiday in: New South Wales\, Australian Capital Territo - ry\, South Australia -LAST-MODIFIED:20180627T230919Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Labour Day (regional holiday) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190506 DTEND;VALUE=DATE:20190507 -DTSTAMP:20180912T052339Z UID:20190506_60o30chicko38e1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180627T230919Z -DESCRIPTION:Public holiday in: Queensland -LAST-MODIFIED:20180627T230919Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Labour Day (Queensland) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180507 -DTEND;VALUE=DATE:20180508 -DTSTAMP:20180912T052339Z -UID:20180507_60o30chicko38e1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180627T230919Z -DESCRIPTION:Public holiday in: Queensland -LAST-MODIFIED:20180627T230919Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Labour Day (Queensland) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170501 -DTEND;VALUE=DATE:20170502 -DTSTAMP:20180912T052339Z -UID:20170501_60o30chicko38c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180627T230919Z -DESCRIPTION:Public holiday in: Queensland -LAST-MODIFIED:20180627T230919Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Labour Day (Queensland) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190311 DTEND;VALUE=DATE:20190312 -DTSTAMP:20180912T052339Z UID:20190311_60o30chicko62e1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180627T230919Z -DESCRIPTION:Public holiday in: Tasmania -LAST-MODIFIED:20180627T230919Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Eight Hours Day (Tasmania) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180312 -DTEND;VALUE=DATE:20180313 -DTSTAMP:20180912T052339Z -UID:20180312_60o30chicko62e1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180627T230919Z -DESCRIPTION:Public holiday in: Tasmania -LAST-MODIFIED:20180627T230919Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Eight Hours Day (Tasmania) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170313 -DTEND;VALUE=DATE:20170314 -DTSTAMP:20180912T052339Z -UID:20170313_60o30chicko62e1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180627T230919Z -DESCRIPTION:Public holiday in: Tasmania -LAST-MODIFIED:20180627T230919Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Eight Hours Day (Tasmania) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190421 DTEND;VALUE=DATE:20190422 -DTSTAMP:20180912T052339Z UID:20190421_60o30chi6ko38c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180627T230919Z -DESCRIPTION:Public holiday in: Australian Capital Territory\, New South Wal - es\, Northern Territory\, Queensland\, South Australia\, Tasmania\, Victori - a\, Western Australia\, Christmas Island\, Norfolk Island\, Cocos and Keeli - ng Islands\, Heard and McDonald Islands -LAST-MODIFIED:20180627T230919Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Easter Day (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180401 -DTEND;VALUE=DATE:20180402 -DTSTAMP:20180912T052339Z -UID:20180401_60o30chi6ko38c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180627T230919Z -DESCRIPTION:Public holiday in: Australian Capital Territory\, New South Wal - es\, Northern Territory\, Queensland\, South Australia\, Tasmania\, Victori - a\, Western Australia\, Christmas Island\, Norfolk Island\, Cocos and Keeli - ng Islands\, Heard and McDonald Islands -LAST-MODIFIED:20180627T230919Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Easter Day (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170416 -DTEND;VALUE=DATE:20170417 -DTSTAMP:20180912T052339Z -UID:20170416_60o30chi6ko38c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180627T230919Z -DESCRIPTION:Public holiday in: Australian Capital Territory\, New South Wal - es\, Northern Territory\, Queensland\, South Australia\, Tasmania\, Victori - a\, Western Australia\, Christmas Island\, Norfolk Island\, Cocos and Keeli - ng Islands\, Heard and McDonald Islands -LAST-MODIFIED:20180627T230919Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Easter Day (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190425 -DTEND;VALUE=DATE:20190426 -DTSTAMP:20180912T052339Z -UID:20190425_60o30chi6so30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180627T230919Z -DESCRIPTION:Public holiday in: Australian Capital Territory\, New South Wal - es\, Northern Territory\, Queensland\, South Australia\, Tasmania\, Victori - a\, Western Australia\, Christmas Island\, Norfolk Island\, Cocos and Keeli - ng Islands\, Heard and McDonald Islands -LAST-MODIFIED:20180627T230919Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:ANZAC Day (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170925 -DTEND;VALUE=DATE:20170926 -DTSTAMP:20180912T052339Z -UID:20170925_60o30chj68o30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180118T233023Z -DESCRIPTION:Public holiday in: Australian Capital Territory -LAST-MODIFIED:20180118T233023Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Family & Community Day (Australian Capital Territory) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20180425 DTEND;VALUE=DATE:20180426 -DTSTAMP:20180912T052339Z UID:20180425_60o30chi6so32c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180102T233505Z -DESCRIPTION:Public holiday in: Australian Capital Territory\, New South Wal - es\, Northern Territory\, Queensland\, South Australia\, Tasmania\, Victori - a\, Western Australia\, Christmas Island\, Norfolk Island\, Cocos and Keeli - ng Islands\, Heard and McDonald Islands -LAST-MODIFIED:20180102T233505Z -SEQUENCE:0 STATUS:CONFIRMED -SUMMARY:ANZAC Day (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170425 -DTEND;VALUE=DATE:20170426 -DTSTAMP:20180912T052339Z -UID:20170425_60o30chi6so30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180102T233505Z -DESCRIPTION:Public holiday in: Australian Capital Territory\, New South Wal - es\, Northern Territory\, Queensland\, South Australia\, Tasmania\, Victori - a\, Western Australia\, Christmas Island\, Norfolk Island\, Cocos and Keeli - ng Islands\, Heard and McDonald Islands -LAST-MODIFIED:20180102T233505Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:ANZAC Day (regional holiday) -TRANSP:TRANSPARENT +RRULE:FREQ=YEARLY;INTERVAL=1 +SUMMARY:ANZAC Day END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20180928 DTEND;VALUE=DATE:20180929 -DTSTAMP:20180912T052339Z UID:20180928_60o30p9k60o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180102T233505Z -DESCRIPTION:Public holiday in: Victoria -LAST-MODIFIED:20180102T233505Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:AFL Grand Final Friday (Victoria) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190527 DTEND;VALUE=DATE:20190528 -DTSTAMP:20180912T052339Z UID:20190527_60o32dr3cgo30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20171116T233859Z -DESCRIPTION:Public holiday in: Australian Capital Territory -LAST-MODIFIED:20171116T233859Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Reconciliation Day (Australian Capital Territory) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180528 -DTEND;VALUE=DATE:20180529 -DTSTAMP:20180912T052339Z -UID:20180528_60o32dr3cgo30e1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20171116T233859Z -DESCRIPTION:Public holiday in: Australian Capital Territory -LAST-MODIFIED:20171116T233859Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Reconciliation Day (Australian Capital Territory) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20180924 DTEND;VALUE=DATE:20180925 -DTSTAMP:20180912T052339Z UID:20180924_60o30chhcoo36c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20171006T221427Z -DESCRIPTION:Public holiday in: Western Australia -LAST-MODIFIED:20171006T221427Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Queen's Birthday (Western Australia) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20181001 DTEND;VALUE=DATE:20181002 -DTSTAMP:20180912T052339Z UID:20181001_60o30chhcoo38c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20171006T221427Z -DESCRIPTION:Public holiday in: Queensland -LAST-MODIFIED:20171006T221427Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Queen's Birthday (Queensland) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170929 -DTEND;VALUE=DATE:20170930 -DTSTAMP:20180912T052339Z -UID:20170929_60o30p9k60o30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20170925T225231Z -DESCRIPTION:Public holiday in: Victoria -LAST-MODIFIED:20170925T225231Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:AFL Grand Final Friday (Victoria) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170925 -DTEND;VALUE=DATE:20170926 -DTSTAMP:20180912T052339Z -UID:20170925_60o30chhcoo36c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20160729T225331Z -DESCRIPTION:Public holiday in: Western Australia -LAST-MODIFIED:20160729T225331Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Queen's Birthday (Western Australia) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20171002 -DTEND;VALUE=DATE:20171003 -DTSTAMP:20180912T052339Z -UID:20171002_60o30chhcoo38e1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20160729T225331Z -DESCRIPTION:Public holiday in: Queensland -LAST-MODIFIED:20160729T225331Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Queen's Birthday (Queensland) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190610 DTEND;VALUE=DATE:20190611 -DTSTAMP:20180912T052339Z UID:20190610_60o30chhcoo32e1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20151126T232829Z -DESCRIPTION:Public holiday in: Australian Capital Territory\, New South Wal - es\, Northern Territory\, South Australia\, Tasmania\, Victoria\, Christmas - Island\, Norfolk Island\, Cocos and Keeling Islands\, Heard and McDonald I - slands -LAST-MODIFIED:20151126T232829Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Queen's Birthday (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180611 -DTEND;VALUE=DATE:20180612 -DTSTAMP:20180912T052339Z -UID:20180611_60o30chhcoo32e1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20151126T232829Z -DESCRIPTION:Public holiday in: Australian Capital Territory\, New South Wal - es\, Northern Territory\, South Australia\, Tasmania\, Victoria\, Christmas - Island\, Norfolk Island\, Cocos and Keeling Islands\, Heard and McDonald I - slands -LAST-MODIFIED:20151126T232829Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Queen's Birthday (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170612 -DTEND;VALUE=DATE:20170613 -DTSTAMP:20180912T052339Z -UID:20170612_60o30chhcoo32e1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20151126T232829Z -DESCRIPTION:Public holiday in: Australian Capital Territory\, New South Wal - es\, Northern Territory\, South Australia\, Tasmania\, Victoria\, Christmas - Island\, Norfolk Island\, Cocos and Keeling Islands\, Heard and McDonald I - slands -LAST-MODIFIED:20151126T232829Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Queen's Birthday (regional holiday) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190420 DTEND;VALUE=DATE:20190421 -DTSTAMP:20180912T052339Z UID:20190420_60o30chi6go32c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20151126T232829Z -DESCRIPTION:Public holiday in: Australian Capital Territory\, New South Wal - es\, Northern Territory\, Queensland\, South Australia\, Victoria\, Christm - as Island\, Norfolk Island\, Cocos and Keeling Islands\, Heard and McDonald - Islands -LAST-MODIFIED:20151126T232829Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Holy Saturday (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180331 -DTEND;VALUE=DATE:20180401 -DTSTAMP:20180912T052339Z -UID:20180331_60o30chi6go32c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20151126T232829Z -DESCRIPTION:Public holiday in: Australian Capital Territory\, New South Wal - es\, Northern Territory\, Queensland\, South Australia\, Victoria\, Christm - as Island\, Norfolk Island\, Cocos and Keeling Islands\, Heard and McDonald - Islands -LAST-MODIFIED:20151126T232829Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Holy Saturday (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170415 -DTEND;VALUE=DATE:20170416 -DTSTAMP:20180912T052339Z -UID:20170415_60o30chi6go32c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20151126T232829Z -DESCRIPTION:Public holiday in: Australian Capital Territory\, New South Wal - es\, Northern Territory\, Queensland\, South Australia\, Victoria\, Christm - as Island\, Norfolk Island\, Cocos and Keeling Islands\, Heard and McDonald - Islands -LAST-MODIFIED:20151126T232829Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Holy Saturday (regional holiday) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20191007 DTEND;VALUE=DATE:20191008 -DTSTAMP:20180912T052339Z UID:20191007_60o30chhcoo38e1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20150922T225203Z -DESCRIPTION:Public holiday in: Queensland -LAST-MODIFIED:20150922T225203Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Queen's Birthday (Queensland) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190814 DTEND;VALUE=DATE:20190815 -DTSTAMP:20180912T052339Z UID:20190814_60o30chj6go30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20150818T232742Z -DESCRIPTION:Public holiday in: Queensland -LAST-MODIFIED:20150818T232742Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Royal National Agricultural Show Day Queensland (Queensland) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20180815 DTEND;VALUE=DATE:20180816 -DTSTAMP:20180912T052339Z UID:20180815_60o30chj6go30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20150818T232742Z -DESCRIPTION:Public holiday in: Queensland -LAST-MODIFIED:20150818T232742Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Royal National Agricultural Show Day Queensland (Queensland) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170816 -DTEND;VALUE=DATE:20170817 -DTSTAMP:20180912T052339Z -UID:20170816_60o30chj6go30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20150818T232742Z -DESCRIPTION:Public holiday in: Queensland -LAST-MODIFIED:20150818T232742Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Royal National Agricultural Show Day Queensland (Queensland) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190211 DTEND;VALUE=DATE:20190212 -DTSTAMP:20180912T052339Z UID:20190211_60o30e1pcko30e1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20150723T224820Z -DESCRIPTION:Public holiday in: Tasmania -LAST-MODIFIED:20150723T224820Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Royal Hobart Regatta (Tasmania) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20191105 DTEND;VALUE=DATE:20191106 -DTSTAMP:20180912T052339Z UID:20191105_60o30chj6oo30e1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20150723T224820Z -DESCRIPTION:Public holiday in: Victoria -LAST-MODIFIED:20150723T224820Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Melbourne Cup Day (Victoria) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180312 -DTEND;VALUE=DATE:20180313 -DTSTAMP:20180912T052339Z -UID:20180312_60o30chj64o30e1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20150723T224820Z -DESCRIPTION:Public holiday in: Australian Capital Territory -LAST-MODIFIED:20150723T224820Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Canberra Day (Australian Capital Territory) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20171106 -DTEND;VALUE=DATE:20171107 -DTSTAMP:20180912T052339Z -UID:20171106_60o30chj6ko30e1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20150723T224819Z -DESCRIPTION:Public holiday in: Tasmania -LAST-MODIFIED:20150723T224819Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Recreation Day (Tasmania) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170807 -DTEND;VALUE=DATE:20170808 -DTSTAMP:20180912T052339Z -UID:20170807_60o30chicgo30e1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20150723T224819Z -DESCRIPTION:Public holiday in: Northern Territory -LAST-MODIFIED:20150723T224819Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Northern Territory Picnic Day (Northern Territory) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180806 -DTEND;VALUE=DATE:20180807 -DTSTAMP:20180912T052339Z -UID:20180806_60o30chicco30e1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20150723T224819Z -DESCRIPTION:Public holiday in: New South Wales -LAST-MODIFIED:20150723T224819Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:New South Wales Bank Holiday (New South Wales) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170807 -DTEND;VALUE=DATE:20170808 -DTSTAMP:20180912T052339Z -UID:20170807_60o30chicco30e1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20150723T224819Z -DESCRIPTION:Public holiday in: New South Wales -LAST-MODIFIED:20150723T224819Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:New South Wales Bank Holiday (New South Wales) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180403 -DTEND;VALUE=DATE:20180404 -DTSTAMP:20180912T052339Z -UID:20180403_60o30chj6co30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20150723T224819Z -DESCRIPTION:Public holiday in: Tasmania -LAST-MODIFIED:20150723T224819Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Easter Tuesday (Tasmania) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170418 -DTEND;VALUE=DATE:20170419 -DTSTAMP:20180912T052339Z -UID:20170418_60o30chj6co30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20150723T224819Z -DESCRIPTION:Public holiday in: Tasmania -LAST-MODIFIED:20150723T224819Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Easter Tuesday (Tasmania) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190311 DTEND;VALUE=DATE:20190312 -DTSTAMP:20180912T052339Z UID:20190311_60o30chj64o30e1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20150723T224819Z -DESCRIPTION:Public holiday in: Australian Capital Territory -LAST-MODIFIED:20150723T224819Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Canberra Day (Australian Capital Territory) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170313 -DTEND;VALUE=DATE:20170314 -DTSTAMP:20180912T052339Z -UID:20170313_60o30chj64o30e1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20150723T224819Z -DESCRIPTION:Public holiday in: Australian Capital Territory -LAST-MODIFIED:20150723T224819Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Canberra Day (Australian Capital Territory) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170313 -DTEND;VALUE=DATE:20170314 -DTSTAMP:20180912T052339Z -UID:20170313_60o30chicoo30e1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20150723T224819Z -DESCRIPTION:Public holiday in: South Australia -LAST-MODIFIED:20150723T224819Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Adelaide Cup (South Australia) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180212 -DTEND;VALUE=DATE:20180213 -DTSTAMP:20180912T052339Z -UID:20180212_60o30e1pcko30e1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20150723T224818Z -DESCRIPTION:Public holiday in: Tasmania -LAST-MODIFIED:20150723T224818Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Royal Hobart Regatta (Tasmania) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170213 -DTEND;VALUE=DATE:20170214 -DTSTAMP:20180912T052339Z -UID:20170213_60o30e1pcko30e1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20150723T224818Z -DESCRIPTION:Public holiday in: Tasmania -LAST-MODIFIED:20150723T224818Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Royal Hobart Regatta (Tasmania) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190930 DTEND;VALUE=DATE:20191001 -DTSTAMP:20180912T052339Z UID:20190930_60o30chhcoo36e1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20150723T224818Z -DESCRIPTION:Public holiday in: Western Australia -LAST-MODIFIED:20150723T224818Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Queen's Birthday (Western Australia) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190805 DTEND;VALUE=DATE:20190806 -DTSTAMP:20180912T052339Z UID:20190805_60o30chicgo30e1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20150723T224818Z -DESCRIPTION:Public holiday in: Northern Territory -LAST-MODIFIED:20150723T224818Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Northern Territory Picnic Day (Northern Territory) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190603 DTEND;VALUE=DATE:20190604 -DTSTAMP:20180912T052339Z UID:20190603_60o30chj60o30e1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20150723T224816Z -DESCRIPTION:Public holiday in: Western Australia -LAST-MODIFIED:20150723T224816Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Western Australia Day (Western Australia) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20191104 DTEND;VALUE=DATE:20191105 -DTSTAMP:20180912T052339Z UID:20191104_60o30chj6ko30e1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20150723T224816Z -DESCRIPTION:Public holiday in: Tasmania -LAST-MODIFIED:20150723T224816Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Recreation Day (Tasmania) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20181105 DTEND;VALUE=DATE:20181106 -DTSTAMP:20180912T052339Z UID:20181105_60o30chj6ko30e1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20150723T224816Z -DESCRIPTION:Public holiday in: Tasmania -LAST-MODIFIED:20150723T224816Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Recreation Day (Tasmania) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180806 -DTEND;VALUE=DATE:20180807 -DTSTAMP:20180912T052339Z -UID:20180806_60o30chicgo30e1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20150723T224816Z -DESCRIPTION:Public holiday in: Northern Territory -LAST-MODIFIED:20150723T224816Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Northern Territory Picnic Day (Northern Territory) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20181106 DTEND;VALUE=DATE:20181107 -DTSTAMP:20180912T052339Z UID:20181106_60o30chj6oo30e1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20150723T224816Z -DESCRIPTION:Public holiday in: Victoria -LAST-MODIFIED:20150723T224816Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Melbourne Cup Day (Victoria) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20171107 -DTEND;VALUE=DATE:20171108 -DTSTAMP:20180912T052339Z -UID:20171107_60o30chj6oo30e1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20150723T224816Z -DESCRIPTION:Public holiday in: Victoria -LAST-MODIFIED:20150723T224816Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Melbourne Cup Day (Victoria) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180604 -DTEND;VALUE=DATE:20180605 -DTSTAMP:20180912T052339Z -UID:20180604_60o30chj60o30e1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20150723T224815Z -DESCRIPTION:Public holiday in: Western Australia -LAST-MODIFIED:20150723T224815Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Western Australia Day (Western Australia) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170605 -DTEND;VALUE=DATE:20170606 -DTSTAMP:20180912T052339Z -UID:20170605_60o30chj60o30e1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20150723T224815Z -DESCRIPTION:Public holiday in: Western Australia -LAST-MODIFIED:20150723T224815Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Western Australia Day (Western Australia) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190805 DTEND;VALUE=DATE:20190806 -DTSTAMP:20180912T052339Z UID:20190805_60o30chicco30e1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20150723T224815Z -DESCRIPTION:Public holiday in: New South Wales -LAST-MODIFIED:20150723T224815Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:New South Wales Bank Holiday (New South Wales) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190423 DTEND;VALUE=DATE:20190424 -DTSTAMP:20180912T052339Z UID:20190423_60o30chj6co30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20150723T224815Z -DESCRIPTION:Public holiday in: Tasmania -LAST-MODIFIED:20150723T224815Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Easter Tuesday (Tasmania) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190311 DTEND;VALUE=DATE:20190312 -DTSTAMP:20180912T052339Z UID:20190311_60o30chicoo30e1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20150723T224815Z -DESCRIPTION:Public holiday in: South Australia -LAST-MODIFIED:20150723T224815Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Adelaide Cup (South Australia) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180312 -DTEND;VALUE=DATE:20180313 -DTSTAMP:20180912T052339Z -UID:20180312_60o30chicoo30e1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20150723T224815Z -DESCRIPTION:Public holiday in: South Australia -LAST-MODIFIED:20150723T224815Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Adelaide Cup (South Australia) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20191006 DTEND;VALUE=DATE:20191007 -DTSTAMP:20180912T052339Z UID:20191006_60o30c9o60o30dpl6ooj0dr56c@google.com -CLASS:PUBLIC -CREATED:20150421T223708Z -DESCRIPTION: -LAST-MODIFIED:20150421T223708Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Daylight Saving Time starts -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20181007 DTEND;VALUE=DATE:20181008 -DTSTAMP:20180912T052339Z UID:20181007_60o30c9o60o30dpl6ooj0dr568@google.com -CLASS:PUBLIC -CREATED:20150421T223708Z -DESCRIPTION: -LAST-MODIFIED:20150421T223708Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Daylight Saving Time starts -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20171001 -DTEND;VALUE=DATE:20171002 -DTSTAMP:20180912T052339Z -UID:20171001_60o30c9o60o30dpl6ooj0dr564@google.com -CLASS:PUBLIC -CREATED:20150421T223708Z -DESCRIPTION: -LAST-MODIFIED:20150421T223708Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Daylight Saving Time starts -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190407 DTEND;VALUE=DATE:20190408 -DTSTAMP:20180912T052339Z UID:20190407_60o30c9o64o30dpl6ooj0dr56c@google.com -CLASS:PUBLIC -CREATED:20150421T223708Z -DESCRIPTION: -LAST-MODIFIED:20150421T223708Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Daylight Saving Time ends -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180401 -DTEND;VALUE=DATE:20180402 -DTSTAMP:20180912T052339Z -UID:20180401_60o30c9o64o30dpl6ooj0dr568@google.com -CLASS:PUBLIC -CREATED:20150421T223708Z -DESCRIPTION: -LAST-MODIFIED:20150421T223708Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Daylight Saving Time ends -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170402 -DTEND;VALUE=DATE:20170403 -DTSTAMP:20180912T052339Z -UID:20170402_60o30c9o64o30dpl6ooj0dr564@google.com -CLASS:PUBLIC -CREATED:20150421T223708Z -DESCRIPTION: -LAST-MODIFIED:20150421T223708Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Daylight Saving Time ends -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190321 -DTEND;VALUE=DATE:20190322 -DTSTAMP:20180912T052339Z -UID:20190321_60o30opo64o30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20140407T160455Z -DESCRIPTION: -LAST-MODIFIED:20140407T160455Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Harmony Day -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20180321 DTEND;VALUE=DATE:20180322 -DTSTAMP:20180912T052339Z UID:20180321_60o30opo64o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20140407T160455Z -DESCRIPTION: -LAST-MODIFIED:20140407T160455Z -SEQUENCE:0 STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:Harmony Day -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170321 -DTEND;VALUE=DATE:20170322 -DTSTAMP:20180912T052339Z -UID:20170321_60o30opo64o30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20140407T160455Z -DESCRIPTION: -LAST-MODIFIED:20140407T160455Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Harmony Day -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20181111 DTEND;VALUE=DATE:20181112 -DTSTAMP:20180912T052339Z UID:20181111_60o30chj6so30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20140109T121602Z -DESCRIPTION: -LAST-MODIFIED:20140109T121602Z -SEQUENCE:0 STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:Remembrance Day -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20171231 -DTEND;VALUE=DATE:20180101 -DTSTAMP:20180912T052339Z -UID:20171231_60o30chhcco30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20140109T121602Z -DESCRIPTION: -LAST-MODIFIED:20140109T121602Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:New Year's Eve -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20180101 DTEND;VALUE=DATE:20180102 -DTSTAMP:20180912T052339Z UID:20180101_60o30chhcgo30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20140109T121602Z -DESCRIPTION: -LAST-MODIFIED:20140109T121602Z -SEQUENCE:0 STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:New Year's Day -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180330 -DTEND;VALUE=DATE:20180331 -DTSTAMP:20180912T052339Z -UID:20180330_60o30chi6co30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20140109T121602Z -DESCRIPTION: -LAST-MODIFIED:20140109T121602Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Good Friday -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170417 -DTEND;VALUE=DATE:20170418 -DTSTAMP:20180912T052339Z -UID:20170417_60o30chi6oo30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20140109T121602Z -DESCRIPTION: -LAST-MODIFIED:20140109T121602Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Easter Monday -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20181225 DTEND;VALUE=DATE:20181226 -DTSTAMP:20180912T052339Z UID:20181225_60o30chi64o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20140109T121602Z -DESCRIPTION: -LAST-MODIFIED:20140109T121602Z -SEQUENCE:0 STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:Christmas Day -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20171111 -DTEND;VALUE=DATE:20171112 -DTSTAMP:20180912T052339Z -UID:20171111_60o30chj6so30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20140109T121601Z -DESCRIPTION: -LAST-MODIFIED:20140109T121601Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Remembrance Day -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170101 -DTEND;VALUE=DATE:20170102 -DTSTAMP:20180912T052339Z -UID:20170101_60o30chhcgo30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20140109T121601Z -DESCRIPTION: -LAST-MODIFIED:20140109T121601Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:New Year's Day -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20180126 DTEND;VALUE=DATE:20180127 -DTSTAMP:20180912T052339Z UID:20180126_60o30chhcko30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20140109T121601Z -DESCRIPTION: -LAST-MODIFIED:20140109T121601Z -SEQUENCE:0 STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:Australia Day -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20191111 -DTEND;VALUE=DATE:20191112 -DTSTAMP:20180912T052339Z -UID:20191111_60o30chj6so30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20140109T121600Z -DESCRIPTION: -LAST-MODIFIED:20140109T121600Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Remembrance Day -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170414 -DTEND;VALUE=DATE:20170415 -DTSTAMP:20180912T052339Z -UID:20170414_60o30chi6co30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20140109T121600Z -DESCRIPTION: -LAST-MODIFIED:20140109T121600Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Good Friday -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190422 DTEND;VALUE=DATE:20190423 -DTSTAMP:20180912T052339Z UID:20190422_60o30chi6oo30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20140109T121600Z -DESCRIPTION: -LAST-MODIFIED:20140109T121600Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Easter Monday -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20171225 -DTEND;VALUE=DATE:20171226 -DTSTAMP:20180912T052339Z -UID:20171225_60o30chi64o30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20140109T121600Z -DESCRIPTION: -LAST-MODIFIED:20140109T121600Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Christmas Day -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20181226 DTEND;VALUE=DATE:20181227 -DTSTAMP:20180912T052339Z UID:20181226_60o30chi68o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20140109T121600Z -DESCRIPTION: -LAST-MODIFIED:20140109T121600Z -SEQUENCE:0 STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:Boxing Day -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20181224 DTEND;VALUE=DATE:20181225 -DTSTAMP:20180912T052339Z UID:20181224_60o30chi60o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20140109T121557Z -DESCRIPTION: -LAST-MODIFIED:20140109T121557Z -SEQUENCE:0 STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:Christmas Eve -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20171226 -DTEND;VALUE=DATE:20171227 -DTSTAMP:20180912T052339Z -UID:20171226_60o30chi68o30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20140109T121557Z -DESCRIPTION: -LAST-MODIFIED:20140109T121557Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Boxing Day -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170102 -DTEND;VALUE=DATE:20170103 -DTSTAMP:20180912T052339Z -UID:20170102_60o30chhcgo30e1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20140109T121556Z -DESCRIPTION: -LAST-MODIFIED:20140109T121556Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:New Year's Day observed -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190419 DTEND;VALUE=DATE:20190420 -DTSTAMP:20180912T052339Z UID:20190419_60o30chi6co30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20140109T121556Z -DESCRIPTION: -LAST-MODIFIED:20140109T121556Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Good Friday -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20191224 -DTEND;VALUE=DATE:20191225 -DTSTAMP:20180912T052339Z -UID:20191224_60o30chi60o30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20140109T121556Z -DESCRIPTION: -LAST-MODIFIED:20140109T121556Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Christmas Eve -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20191225 -DTEND;VALUE=DATE:20191226 -DTSTAMP:20180912T052339Z -UID:20191225_60o30chi64o30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20140109T121556Z -DESCRIPTION: -LAST-MODIFIED:20140109T121556Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Christmas Day -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20191226 -DTEND;VALUE=DATE:20191227 -DTSTAMP:20180912T052339Z -UID:20191226_60o30chi68o30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20140109T121556Z -DESCRIPTION: -LAST-MODIFIED:20140109T121556Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Boxing Day -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190126 -DTEND;VALUE=DATE:20190127 -DTSTAMP:20180912T052339Z -UID:20190126_60o30chhcko30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20140109T121556Z -DESCRIPTION: -LAST-MODIFIED:20140109T121556Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Australia Day -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20181231 DTEND;VALUE=DATE:20190101 -DTSTAMP:20180912T052339Z UID:20181231_60o30chhcco30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20140109T121555Z -DESCRIPTION: -LAST-MODIFIED:20140109T121555Z -SEQUENCE:0 STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:New Year's Eve -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180402 -DTEND;VALUE=DATE:20180403 -DTSTAMP:20180912T052339Z -UID:20180402_60o30chi6oo30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20140109T121555Z -DESCRIPTION: -LAST-MODIFIED:20140109T121555Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Easter Monday -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20171224 -DTEND;VALUE=DATE:20171225 -DTSTAMP:20180912T052339Z -UID:20171224_60o30chi60o30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20140109T121555Z -DESCRIPTION: -LAST-MODIFIED:20140109T121555Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Christmas Eve -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190128 -DTEND;VALUE=DATE:20190129 -DTSTAMP:20180912T052339Z -UID:20190128_60o30chhcko30e1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20140109T121555Z -DESCRIPTION: -LAST-MODIFIED:20140109T121555Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Australia Day observed -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20191231 -DTEND;VALUE=DATE:20200101 -DTSTAMP:20180912T052339Z -UID:20191231_60o30chhcco30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20140109T121552Z -DESCRIPTION: -LAST-MODIFIED:20140109T121552Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:New Year's Eve -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190101 -DTEND;VALUE=DATE:20190102 -DTSTAMP:20180912T052339Z -UID:20190101_60o30chhcgo30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20140109T121552Z -DESCRIPTION: -LAST-MODIFIED:20140109T121552Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:New Year's Day -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170126 -DTEND;VALUE=DATE:20170127 -DTSTAMP:20180912T052339Z -UID:20170126_60o30chhcko30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20140109T121552Z -DESCRIPTION: -LAST-MODIFIED:20140109T121552Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Australia Day -TRANSP:TRANSPARENT END:VEVENT END:VCALENDAR From 84c362707c89816e60a4ca94dd7a04832c044f15 Mon Sep 17 00:00:00 2001 From: youdly Date: Thu, 13 Sep 2018 13:01:06 +0930 Subject: [PATCH 27/55] Clean-up Malaysian holidays Remove past non-repeatable holidays. Add RRULE. Remove unused tags. --- app/src/main/assets/malaysia.ics | 2342 +++--------------------------- 1 file changed, 199 insertions(+), 2143 deletions(-) diff --git a/app/src/main/assets/malaysia.ics b/app/src/main/assets/malaysia.ics index a03d92754..9bc933e40 100644 --- a/app/src/main/assets/malaysia.ics +++ b/app/src/main/assets/malaysia.ics @@ -1,2373 +1,429 @@ BEGIN:VCALENDAR -PRODID:-//Google Inc//Google Calendar 70.9054//EN -VERSION:2.0 -CALSCALE:GREGORIAN -METHOD:PUBLISH -X-WR-TIMEZONE:UTC -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180131 -DTEND;VALUE=DATE:20180201 -DTSTAMP:20180912T052327Z -UID:20180131_60o30db1c4o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230443Z -DESCRIPTION:Public holiday in: Kuala Lumpur\, Putrajaya\, Johor\, Negeri Se - mbilan\, Perak\, Penang\, Selangor -LAST-MODIFIED:20180731T230443Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Thaipusam (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170209 -DTEND;VALUE=DATE:20170210 -DTSTAMP:20180912T052327Z -UID:20170209_60o30db1c4o30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230443Z -DESCRIPTION:Public holiday in: Kuala Lumpur\, Putrajaya\, Johor\, Negeri Se - mbilan\, Perak\, Penang\, Selangor -LAST-MODIFIED:20180731T230443Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Thaipusam (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180516 -DTEND;VALUE=DATE:20180517 -DTSTAMP:20180912T052327Z -UID:20180516_60o30ob5c4o30c1g60o30d9pco@google.com -CLASS:PUBLIC -CREATED:20180731T230443Z -DESCRIPTION:Public holiday in: Johor\, Kedah\, Malacca -LAST-MODIFIED:20180731T230443Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Ramadan begins (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170527 -DTEND;VALUE=DATE:20170528 -DTSTAMP:20180912T052327Z -UID:20170527_60o30ob5c4o30c1g60o30d9pck@google.com -CLASS:PUBLIC -CREATED:20180731T230443Z -DESCRIPTION:Public holiday in: Johor\, Kedah\, Malacca -LAST-MODIFIED:20180731T230443Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Ramadan begins (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190713 DTEND;VALUE=DATE:20190714 -DTSTAMP:20180912T052327Z UID:20190713_60o30pb3cgo30e1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230443Z -DESCRIPTION:Public holiday in: Penang -LAST-MODIFIED:20180731T230443Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Penang Governor's Birthday (Penang) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180714 -DTEND;VALUE=DATE:20180715 -DTSTAMP:20180912T052327Z -UID:20180714_60o30pb3cgo30e1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230443Z -DESCRIPTION:Public holiday in: Penang -LAST-MODIFIED:20180731T230443Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Penang Governor's Birthday (Penang) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190101 -DTEND;VALUE=DATE:20190102 -DTSTAMP:20180912T052327Z -UID:20190101_60o30db16oo30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230443Z -DESCRIPTION:Public holiday in: Malacca\, Negeri Sembilan\, Pahang\, Penang\ - , Perak\, Sabah\, Sarawak\, Selangor\, Kuala Lumpur\, Labuan\, Putrajaya -LAST-MODIFIED:20180731T230443Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:New Year's Day (regional holiday) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20180101 DTEND;VALUE=DATE:20180102 -DTSTAMP:20180912T052327Z UID:20180101_60o30db16oo30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230443Z -DESCRIPTION:Public holiday in: Malacca\, Negeri Sembilan\, Pahang\, Penang\ - , Perak\, Sabah\, Sarawak\, Selangor\, Kuala Lumpur\, Labuan\, Putrajaya -LAST-MODIFIED:20180731T230443Z -SEQUENCE:0 STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:New Year's Day (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170101 -DTEND;VALUE=DATE:20170102 -DTSTAMP:20180912T052327Z -UID:20170101_60o30db16oo30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230443Z -DESCRIPTION:Public holiday in: Malacca\, Negeri Sembilan\, Pahang\, Penang\ - , Perak\, Sabah\, Sarawak\, Selangor\, Kuala Lumpur\, Labuan\, Putrajaya -LAST-MODIFIED:20180731T230443Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:New Year's Day (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190403 -DTEND;VALUE=DATE:20190404 -DTSTAMP:20180912T052327Z -UID:20190403_60o30ob574o30c1g60o30db160@google.com -CLASS:PUBLIC -CREATED:20180731T230443Z -DESCRIPTION:Public holiday in: Kedah\, Negeri Sembilan\, Perlis -LAST-MODIFIED:20180731T230443Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Isra and Mi'raj (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190531 -DTEND;VALUE=DATE:20190601 -DTSTAMP:20180912T052327Z -UID:20190531_60o30p9k6oo30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230443Z -DESCRIPTION:Public holiday in: Labuan\, Sabah -LAST-MODIFIED:20180731T230443Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Harvest Festival Day 2 (regional holiday) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20180531 DTEND;VALUE=DATE:20180601 -DTSTAMP:20180912T052327Z UID:20180531_60o30p9k6oo30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230443Z -DESCRIPTION:Public holiday in: Labuan\, Sabah -LAST-MODIFIED:20180731T230443Z -SEQUENCE:0 STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:Harvest Festival Day 2 (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170531 -DTEND;VALUE=DATE:20170601 -DTSTAMP:20180912T052327Z -UID:20170531_60o30p9k6oo30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230443Z -DESCRIPTION:Public holiday in: Labuan\, Sabah -LAST-MODIFIED:20180731T230443Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Harvest Festival Day 2 (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190530 -DTEND;VALUE=DATE:20190531 -DTSTAMP:20180912T052327Z -UID:20190530_60o30p9k6ko30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230443Z -DESCRIPTION:Public holiday in: Labuan\, Sabah -LAST-MODIFIED:20180731T230443Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Harvest Festival (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170530 -DTEND;VALUE=DATE:20170531 -DTSTAMP:20180912T052327Z -UID:20170530_60o30p9k6ko30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230443Z -DESCRIPTION:Public holiday in: Labuan\, Sabah -LAST-MODIFIED:20180731T230443Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Harvest Festival (regional holiday) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190605 DTEND;VALUE=DATE:20190606 -DTSTAMP:20180912T052327Z UID:20190605_60o30db260o30c1g60o30db160@google.com -CLASS:PUBLIC -CREATED:20180731T230443Z -DESCRIPTION: -LAST-MODIFIED:20180731T230443Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Hari Raya Puasa -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170625 -DTEND;VALUE=DATE:20170626 -DTSTAMP:20180912T052327Z -UID:20170625_60o30db260o30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230443Z -DESCRIPTION: -LAST-MODIFIED:20180731T230443Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Hari Raya Puasa -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190419 DTEND;VALUE=DATE:20190420 -DTSTAMP:20180912T052327Z UID:20190419_60o30db26so30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230443Z -DESCRIPTION:Public holiday in: Sabah\, Sarawak -LAST-MODIFIED:20180731T230443Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Good Friday (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190707 -DTEND;VALUE=DATE:20190708 -DTSTAMP:20180912T052327Z -UID:20190707_60o30pb3cco30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230443Z -DESCRIPTION:Public holiday in: Penang -LAST-MODIFIED:20180731T230443Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:George Town World Heritage City Day (Penang) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20180707 DTEND;VALUE=DATE:20180708 -DTSTAMP:20180912T052327Z UID:20180707_60o30pb3cco30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230443Z -DESCRIPTION:Public holiday in: Penang -LAST-MODIFIED:20180731T230443Z -SEQUENCE:0 STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:George Town World Heritage City Day (Penang) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180513 -DTEND;VALUE=DATE:20180514 -DTSTAMP:20180912T052327Z -UID:20180513_60o32e1hc8o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230443Z -DESCRIPTION:Public holiday in: Johor\, Kedah\, Kelantan\, Terengganu -LAST-MODIFIED:20180731T230443Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:General Elections Holiday (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180511 -DTEND;VALUE=DATE:20180512 -DTSTAMP:20180912T052327Z -UID:20180511_60o32e1hc4o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230443Z -DESCRIPTION:Public holiday in: Malacca\, Negeri Sembilan\, Pahang\, Penang\ - , Perak\, Perlis\, Sabah\, Selangor\, Kuala Lumpur\, Labuan\, Putrajaya -LAST-MODIFIED:20180731T230443Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:General Elections Holiday (regional holiday) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20191027 DTEND;VALUE=DATE:20191028 -DTSTAMP:20180912T052327Z UID:20191027_60o30db268o30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230443Z -DESCRIPTION:Public holiday in: Johor\, Kedah\, Kelantan\, Malacca\, Negeri - Sembilan\, Pahang\, Penang\, Perak\, Perlis\, Sabah\, Selangor\, Terengganu - \, Kuala Lumpur\, Labuan\, Putrajaya -LAST-MODIFIED:20180731T230443Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Diwali/Deepavali (regional holiday) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190506 DTEND;VALUE=DATE:20190507 -DTSTAMP:20180912T052327Z UID:20190506_60o30ob5c4o30c1g60o30db160@google.com -CLASS:PUBLIC -CREATED:20180731T230442Z -DESCRIPTION:Public holiday in: Johor\, Kedah\, Malacca -LAST-MODIFIED:20180731T230442Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Ramadan begins (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170708 -DTEND;VALUE=DATE:20170709 -DTSTAMP:20180912T052327Z -UID:20170708_60o30pb3cgo30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230442Z -DESCRIPTION:Public holiday in: Penang -LAST-MODIFIED:20180731T230442Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Penang Governor's Birthday (Penang) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170102 -DTEND;VALUE=DATE:20170103 -DTSTAMP:20180912T052327Z -UID:20170102_60o30db16oo30e1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230442Z -DESCRIPTION:Public holiday in: Malacca\, Negeri Sembilan\, Pahang\, Penang\ - , Perak\, Sabah\, Sarawak\, Selangor\, Kuala Lumpur\, Labuan\, Putrajaya -LAST-MODIFIED:20180731T230442Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:New Year's Day observed (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170424 -DTEND;VALUE=DATE:20170425 -DTSTAMP:20180912T052327Z -UID:20170424_60o30ob574o30c1g60o30d9pck@google.com -CLASS:PUBLIC -CREATED:20180731T230442Z -DESCRIPTION:Public holiday in: Kedah\, Negeri Sembilan\, Perlis -LAST-MODIFIED:20180731T230442Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Isra and Mi'raj (regional holiday) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20180530 DTEND;VALUE=DATE:20180531 -DTSTAMP:20180912T052327Z UID:20180530_60o30p9k6ko30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230442Z -DESCRIPTION:Public holiday in: Labuan\, Sabah -LAST-MODIFIED:20180731T230442Z -SEQUENCE:0 STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:Harvest Festival (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180330 -DTEND;VALUE=DATE:20180331 -DTSTAMP:20180912T052327Z -UID:20180330_60o30db26so30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230442Z -DESCRIPTION:Public holiday in: Sabah\, Sarawak -LAST-MODIFIED:20180731T230442Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Good Friday (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170414 -DTEND;VALUE=DATE:20170415 -DTSTAMP:20180912T052327Z -UID:20170414_60o30db26so30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230442Z -DESCRIPTION:Public holiday in: Sabah\, Sarawak -LAST-MODIFIED:20180731T230442Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Good Friday (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170707 -DTEND;VALUE=DATE:20170708 -DTSTAMP:20180912T052327Z -UID:20170707_60o30pb3cco30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230442Z -DESCRIPTION:Public holiday in: Penang -LAST-MODIFIED:20180731T230442Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:George Town World Heritage City Day (Penang) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180510 -DTEND;VALUE=DATE:20180511 -DTSTAMP:20180912T052327Z -UID:20180510_60o32e1h74o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230442Z -DESCRIPTION:Public holiday in: Johor\, Kedah\, Kelantan\, Malacca\, Negeri - Sembilan\, Pahang\, Penang\, Perak\, Perlis\, Sabah\, Selangor\, Terengganu - \, Kuala Lumpur\, Labuan\, Putrajaya -LAST-MODIFIED:20180731T230442Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:General Elections Holiday (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20171018 -DTEND;VALUE=DATE:20171019 -DTSTAMP:20180912T052327Z -UID:20171018_60o30db268o30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230442Z -DESCRIPTION:Public holiday in: Johor\, Kedah\, Kelantan\, Malacca\, Negeri - Sembilan\, Pahang\, Penang\, Perak\, Perlis\, Sabah\, Selangor\, Terengganu - \, Kuala Lumpur\, Labuan\, Putrajaya -LAST-MODIFIED:20180731T230442Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Diwali/Deepavali (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20171112 -DTEND;VALUE=DATE:20171113 -DTSTAMP:20180912T052327Z -UID:20171112_60o32e1j64o30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230442Z -DESCRIPTION:Public holiday in: Kelantan -LAST-MODIFIED:20180731T230442Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Sultan of Kelantan (Day 2) (Kelantan) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20181015 DTEND;VALUE=DATE:20181016 -DTSTAMP:20180912T052327Z UID:20181015_60o32e1icgo30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230442Z -DESCRIPTION:Public holiday in: Johor -LAST-MODIFIED:20180731T230442Z -SEQUENCE:0 STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:Almarhum Sultan Iskandar Hol Day (Johor) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT -DTSTART;VALUE=DATE:20180723 -DTEND;VALUE=DATE:20180724 -DTSTAMP:20180912T052327Z -UID:20180723_60o32e1i74o30e1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230441Z -DESCRIPTION:Public holiday in: Sarawak -LAST-MODIFIED:20180731T230441Z -SEQUENCE:0 +DTSTART;VALUE=DATE:20190603 +DTEND;VALUE=DATE:20190604 +UID:20190603_60o32e1i64o30e1g60o30dr56c@google.com STATUS:CONFIRMED -SUMMARY:Sarawak Independence Day observed (Sarawak) +SUMMARY:Gawai Dayak Holiday observed (Sarawak) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181211 +DTEND;VALUE=DATE:20181212 +UID:20181211_60o32e1j68o30c1g60o30dr568@google.com +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +SUMMARY:Birthday of the Sultan of Selangor (Selangor) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181024 +DTEND;VALUE=DATE:20181025 +UID:20181024_60o32e1icko30c1g60o30dr568@google.com +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +SUMMARY:Birthday of the Sultan of Pahang (Pahang) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181111 +DTEND;VALUE=DATE:20181112 +UID:20181111_60o32e1j60o30c1g60o30dr568@google.com +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +SUMMARY:Birthday of the Sultan of Kelantan (Kelantan) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180323 +DTEND;VALUE=DATE:20180324 +UID:20180323_60o32e1i6go30c1g60o30dr568@google.com +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +SUMMARY:Birthday of the Sultan of Johor (Johor) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181013 +DTEND;VALUE=DATE:20181014 +UID:20181013_60o32e1icco30c1g60o30dr568@google.com +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +SUMMARY:Birthday of the Governor of Sarawak (Sarawak) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20191007 +DTEND;VALUE=DATE:20191008 +UID:20191007_60o32e1ic4o30e1g60o30dr56c@google.com +STATUS:CONFIRMED +SUMMARY:Birthday of the Governor of Sabah observed (Sabah) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180507 +DTEND;VALUE=DATE:20180508 +UID:20180507_60o32e1i6oo30c1g60o30dr568@google.com +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +SUMMARY:Pahang State Holiday (Pahang) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190522 +DTEND;VALUE=DATE:20190523 +UID:20190522_60o30ob5c8o30c1g60o30db160@google.com +STATUS:CONFIRMED +SUMMARY:Nuzul Al-Quran (regional holiday) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190403 +DTEND;VALUE=DATE:20190404 +UID:20190403_60o30ob574o30c1g60o30db160@google.com +STATUS:CONFIRMED +SUMMARY:Isra and Mi'raj (regional holiday) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180415 +DTEND;VALUE=DATE:20180416 +UID:20180415_60o32e1i6so30c1g60o30dr568@google.com +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +SUMMARY:Declaration of Malacca as Historical City (Malacca) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180114 +DTEND;VALUE=DATE:20180115 +UID:20180114_60o32e1i6co30c1g60o30dr568@google.com +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +SUMMARY:Birthday of Yang di-Pertuan Besar (Negeri Sembilan) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180426 +DTEND;VALUE=DATE:20180427 +UID:20180426_60o32e1i70o30c1g60o30dr568@google.com +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +SUMMARY:Birthday of the Sultan of Terengganu (Terengganu) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180517 +DTEND;VALUE=DATE:20180518 +UID:20180517_60o32e1i68o30c1g60o30dr568@google.com +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +SUMMARY:Birthday of the Raja of Perlis (Perlis) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181012 +DTEND;VALUE=DATE:20181013 +UID:20181012_60o32e1ic8o30c1g60o30dr568@google.com +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +SUMMARY:Birthday of the Governor of Malacca (Malacca) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180304 +DTEND;VALUE=DATE:20180305 +UID:20180304_60o32e1i6ko30c1g60o30dr568@google.com +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +SUMMARY:Anniversary of the coronation of the Sultan of Terengganu (Terengga + nu) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20181120 +DTEND;VALUE=DATE:20181121 +UID:20181120_60o30db1c8o30c1g60o30dr568@google.com +STATUS:CONFIRMED +SUMMARY:The Prophet Muhammad's Birthday +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180722 +DTEND;VALUE=DATE:20180723 +UID:20180722_60o32e1i74o30c1g60o30dr568@google.com +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +SUMMARY:Sarawak Independence Day (Sarawak) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180917 +DTEND;VALUE=DATE:20180918 +UID:20180917_60o30db274o34c1g60o30dr568@google.com +STATUS:CONFIRMED +SUMMARY:Malaysia Day (regional holiday) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180916 +DTEND;VALUE=DATE:20180917 +UID:20180916_60o30db274o32c1g60o30dr568@google.com +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +SUMMARY:Malaysia Day (regional holiday) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190813 +DTEND;VALUE=DATE:20190814 +UID:20190813_60o32e1hcko30c1g60o30db160@google.com +STATUS:CONFIRMED +SUMMARY:Hari Raya Haji (Day 2) (regional holiday) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180601 +DTEND;VALUE=DATE:20180602 +UID:20180601_60o32e1i60o30c1g60o30dr568@google.com +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +SUMMARY:Gawai Dayak (Sarawak) +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20180602 +DTEND;VALUE=DATE:20180603 +UID:20180602_60o32e1i64o30c1g60o30dr568@google.com +CREATED:20180731T230440Z +STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 +SUMMARY:Gawai Dayak Holiday (Sarawak) TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190603 DTEND;VALUE=DATE:20190604 -DTSTAMP:20180912T052327Z UID:20190603_60o32e1i64o30e1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230441Z -DESCRIPTION:Public holiday in: Sarawak -LAST-MODIFIED:20180731T230441Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Gawai Dayak Holiday observed (Sarawak) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190114 -DTEND;VALUE=DATE:20190115 -DTSTAMP:20180912T052327Z -UID:20190114_60o32e1i6co30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230441Z -DESCRIPTION:Public holiday in: Negeri Sembilan -LAST-MODIFIED:20180731T230441Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of Yang di-Pertuan Besar (Negeri Sembilan) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20181211 -DTEND;VALUE=DATE:20181212 -DTSTAMP:20180912T052327Z -UID:20181211_60o32e1j68o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230441Z -DESCRIPTION:Public holiday in: Selangor -LAST-MODIFIED:20180731T230441Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Sultan of Selangor (Selangor) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20171211 -DTEND;VALUE=DATE:20171212 -DTSTAMP:20180912T052327Z -UID:20171211_60o32e1j68o30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230441Z -DESCRIPTION:Public holiday in: Selangor -LAST-MODIFIED:20180731T230441Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Sultan of Selangor (Selangor) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20191102 -DTEND;VALUE=DATE:20191103 -DTSTAMP:20180912T052327Z -UID:20191102_60o32e1icoo30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230441Z -DESCRIPTION:Public holiday in: Perak -LAST-MODIFIED:20180731T230441Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Sultan of Perak (Perak) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20181024 -DTEND;VALUE=DATE:20181025 -DTSTAMP:20180912T052327Z -UID:20181024_60o32e1icko30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230441Z -DESCRIPTION:Public holiday in: Pahang -LAST-MODIFIED:20180731T230441Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Sultan of Pahang (Pahang) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20191111 -DTEND;VALUE=DATE:20191112 -DTSTAMP:20180912T052327Z -UID:20191111_60o32e1j60o30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230441Z -DESCRIPTION:Public holiday in: Kelantan -LAST-MODIFIED:20180731T230441Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Sultan of Kelantan (Kelantan) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20181111 -DTEND;VALUE=DATE:20181112 -DTSTAMP:20180912T052327Z -UID:20181111_60o32e1j60o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230441Z -DESCRIPTION:Public holiday in: Kelantan -LAST-MODIFIED:20180731T230441Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Sultan of Kelantan (Kelantan) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180323 -DTEND;VALUE=DATE:20180324 -DTSTAMP:20180912T052327Z -UID:20180323_60o32e1i6go30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230441Z -DESCRIPTION:Public holiday in: Johor -LAST-MODIFIED:20180731T230441Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Sultan of Johor (Johor) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190517 -DTEND;VALUE=DATE:20190518 -DTSTAMP:20180912T052327Z -UID:20190517_60o32e1i68o30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230441Z -DESCRIPTION:Public holiday in: Perlis -LAST-MODIFIED:20180731T230441Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Raja of Perlis (Perlis) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180717 -DTEND;VALUE=DATE:20180718 -DTSTAMP:20180912T052327Z -UID:20180717_60o32e1i68o32c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230441Z -DESCRIPTION:Public holiday in: Perlis -LAST-MODIFIED:20180731T230441Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Raja of Perlis (Perlis) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20191013 -DTEND;VALUE=DATE:20191014 -DTSTAMP:20180912T052327Z -UID:20191013_60o32e1icco30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230441Z -DESCRIPTION:Public holiday in: Sarawak -LAST-MODIFIED:20180731T230441Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Governor of Sarawak (Sarawak) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20181013 -DTEND;VALUE=DATE:20181014 -DTSTAMP:20180912T052327Z -UID:20181013_60o32e1icco30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230441Z -DESCRIPTION:Public holiday in: Sarawak -LAST-MODIFIED:20180731T230441Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Governor of Sarawak (Sarawak) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20191007 -DTEND;VALUE=DATE:20191008 -DTSTAMP:20180912T052327Z -UID:20191007_60o32e1ic4o30e1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230441Z -DESCRIPTION:Public holiday in: Sabah -LAST-MODIFIED:20180731T230441Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Governor of Sabah observed (Sabah) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20171006 -DTEND;VALUE=DATE:20171007 -DTSTAMP:20180912T052327Z -UID:20171006_60o32e1ic4o30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230441Z -DESCRIPTION:Public holiday in: Sabah -LAST-MODIFIED:20180731T230441Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Governor of Sabah (Sabah) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20171015 -DTEND;VALUE=DATE:20171016 -DTSTAMP:20180912T052327Z -UID:20171015_60o32e1icgo30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230441Z -DESCRIPTION:Public holiday in: Johor -LAST-MODIFIED:20180731T230441Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Almarhum Sultan Iskandar Hol Day (Johor) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170508 -DTEND;VALUE=DATE:20170509 -DTSTAMP:20180912T052327Z -UID:20170508_60o32e1i6oo30e1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Pahang -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Pahang State Holiday observed (Pahang) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190507 -DTEND;VALUE=DATE:20190508 -DTSTAMP:20180912T052327Z -UID:20190507_60o32e1i6oo30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Pahang -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Pahang State Holiday (Pahang) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180507 -DTEND;VALUE=DATE:20180508 -DTSTAMP:20180912T052327Z -UID:20180507_60o32e1i6oo30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Pahang -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Pahang State Holiday (Pahang) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170507 -DTEND;VALUE=DATE:20170508 -DTSTAMP:20180912T052327Z -UID:20170507_60o32e1i6oo30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Pahang -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Pahang State Holiday (Pahang) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190522 -DTEND;VALUE=DATE:20190523 -DTSTAMP:20180912T052327Z -UID:20190522_60o30ob5c8o30c1g60o30db160@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Kelantan\, Kuala Lumpur\, Labuan\, Putrajaya - \, Perak\, Pahang\, Penang\, Perlis\, Selangor\, Terengganu -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Nuzul Al-Quran (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180602 -DTEND;VALUE=DATE:20180603 -DTSTAMP:20180912T052327Z -UID:20180602_60o30ob5c8o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Kelantan\, Kuala Lumpur\, Labuan\, Putrajaya - \, Perak\, Pahang\, Penang\, Perlis\, Selangor\, Terengganu -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Nuzul Al-Quran (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170612 -DTEND;VALUE=DATE:20170613 -DTSTAMP:20180912T052327Z -UID:20170612_60o30ob5c8o30c1g60o30d9pck@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Kelantan\, Kuala Lumpur\, Labuan\, Putrajaya - \, Perak\, Pahang\, Penang\, Perlis\, Selangor\, Terengganu -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Nuzul Al-Quran (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180414 -DTEND;VALUE=DATE:20180415 -DTSTAMP:20180912T052327Z -UID:20180414_60o30ob574o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Kedah\, Negeri Sembilan\, Perlis -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Isra and Mi'raj (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180615 -DTEND;VALUE=DATE:20180616 -DTSTAMP:20180912T052327Z -UID:20180615_60o30db260o32c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Malacca\, Negeri Sembilan\, Pahang\, Penang\ - , Perak\, Perlis\, Sabah\, Sarawak\, Selangor\, Kuala Lumpur\, Labuan\, Put - rajaya -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Hari Raya Puasa (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180823 -DTEND;VALUE=DATE:20180824 -DTSTAMP:20180912T052327Z -UID:20180823_60o32e1hcko30c1g60o30d9pco@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Kedah\, Kelantan\, Perlis\, Terengganu -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Hari Raya Haji (Day 2) (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170902 -DTEND;VALUE=DATE:20170903 -DTSTAMP:20180912T052327Z -UID:20170902_60o32e1hcko30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Kedah\, Kelantan\, Perlis\, Terengganu -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Hari Raya Haji (Day 2) (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180602 -DTEND;VALUE=DATE:20180603 -DTSTAMP:20180912T052327Z -UID:20180602_60o32e1i64o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Sarawak -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Gawai Dayak Holiday (Sarawak) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190601 -DTEND;VALUE=DATE:20190602 -DTSTAMP:20180912T052327Z -UID:20190601_60o32e1i60o30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Sarawak -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Gawai Dayak (Sarawak) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170601 -DTEND;VALUE=DATE:20170602 -DTSTAMP:20180912T052327Z -UID:20170601_60o32e1i60o30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Sarawak -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Gawai Dayak (Sarawak) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180416 -DTEND;VALUE=DATE:20180417 -DTSTAMP:20180912T052327Z -UID:20180416_60o32e1i6so30e1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Malacca -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Declaration of Malacca as Historical City observed (Malacca) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190415 -DTEND;VALUE=DATE:20190416 -DTSTAMP:20180912T052327Z -UID:20190415_60o32e1i6so30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Malacca -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Declaration of Malacca as Historical City (Malacca) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180415 -DTEND;VALUE=DATE:20180416 -DTSTAMP:20180912T052327Z -UID:20180415_60o32e1i6so30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Malacca -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Declaration of Malacca as Historical City (Malacca) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170415 -DTEND;VALUE=DATE:20170416 -DTSTAMP:20180912T052327Z -UID:20170415_60o32e1i6so30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Malacca -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Declaration of Malacca as Historical City (Malacca) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180218 -DTEND;VALUE=DATE:20180219 -DTSTAMP:20180912T052327Z -UID:20180218_60o30o9lcgo32c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Johor -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Chinese Lunar New Year Replacement Holiday (Johor) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180115 -DTEND;VALUE=DATE:20180116 -DTSTAMP:20180912T052327Z -UID:20180115_60o32e1i6co30e1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Negeri Sembilan -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of Yang di-Pertuan Besar observed (Negeri Sembilan) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180114 -DTEND;VALUE=DATE:20180115 -DTSTAMP:20180912T052327Z -UID:20180114_60o32e1i6co30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Negeri Sembilan -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of Yang di-Pertuan Besar (Negeri Sembilan) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170114 -DTEND;VALUE=DATE:20170115 -DTSTAMP:20180912T052327Z -UID:20170114_60o32e1i6co30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Negeri Sembilan -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of Yang di-Pertuan Besar (Negeri Sembilan) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180426 -DTEND;VALUE=DATE:20180427 -DTSTAMP:20180912T052327Z -UID:20180426_60o32e1i70o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Terengganu -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Sultan of Terengganu (Terengganu) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170426 -DTEND;VALUE=DATE:20170427 -DTSTAMP:20180912T052327Z -UID:20170426_60o32e1i70o30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Terengganu -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Sultan of Terengganu (Terengganu) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20191211 -DTEND;VALUE=DATE:20191212 -DTSTAMP:20180912T052327Z -UID:20191211_60o32e1j68o30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Selangor -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Sultan of Selangor (Selangor) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20171111 -DTEND;VALUE=DATE:20171112 -DTSTAMP:20180912T052327Z -UID:20171111_60o32e1j60o30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Kelantan -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Sultan of Kelantan (Kelantan) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180517 -DTEND;VALUE=DATE:20180518 -DTSTAMP:20180912T052327Z -UID:20180517_60o32e1i68o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Perlis -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Raja of Perlis (Perlis) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20171013 -DTEND;VALUE=DATE:20171014 -DTSTAMP:20180912T052327Z -UID:20171013_60o32e1icco30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Sarawak -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Governor of Sarawak (Sarawak) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20191012 -DTEND;VALUE=DATE:20191013 -DTSTAMP:20180912T052327Z -UID:20191012_60o32e1ic8o30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Malacca -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Governor of Malacca (Malacca) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20181012 -DTEND;VALUE=DATE:20181013 -DTSTAMP:20180912T052327Z -UID:20181012_60o32e1ic8o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Malacca -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Governor of Malacca (Malacca) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180304 -DTEND;VALUE=DATE:20180305 -DTSTAMP:20180912T052327Z -UID:20180304_60o32e1i6ko30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230440Z -DESCRIPTION:Public holiday in: Terengganu -LAST-MODIFIED:20180731T230440Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Anniversary of the coronation of the Sultan of Terengganu (Terengga - nu) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20181120 -DTEND;VALUE=DATE:20181121 -DTSTAMP:20180912T052327Z -UID:20181120_60o30db1c8o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230439Z -DESCRIPTION: -LAST-MODIFIED:20180731T230439Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:The Prophet Muhammad's Birthday -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180722 -DTEND;VALUE=DATE:20180723 -DTSTAMP:20180912T052327Z -UID:20180722_60o32e1i74o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230439Z -DESCRIPTION:Public holiday in: Sarawak -LAST-MODIFIED:20180731T230439Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Sarawak Independence Day (Sarawak) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180603 -DTEND;VALUE=DATE:20180604 -DTSTAMP:20180912T052327Z -UID:20180603_60o32e1hcoo30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230439Z -DESCRIPTION:Public holiday in: Kelantan\, Terengganu -LAST-MODIFIED:20180731T230439Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Nuzul Al-Quran Holiday (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180917 -DTEND;VALUE=DATE:20180918 -DTSTAMP:20180912T052327Z -UID:20180917_60o30db274o34c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230439Z -DESCRIPTION:Public holiday in: Malacca\, Negeri Sembilan\, Pahang\, Penang\ - , Perak\, Perlis\, Sabah\, Sarawak\, Selangor\, Kuala Lumpur\, Labuan\, Put - rajaya -LAST-MODIFIED:20180731T230439Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Malaysia Day (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180916 -DTEND;VALUE=DATE:20180917 -DTSTAMP:20180912T052327Z -UID:20180916_60o30db274o32c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230439Z -DESCRIPTION:Public holiday in: Johor\, Kedah\, Kelantan\, Terengganu -LAST-MODIFIED:20180731T230439Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Malaysia Day (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190813 -DTEND;VALUE=DATE:20190814 -DTSTAMP:20180912T052327Z -UID:20190813_60o32e1hcko30c1g60o30db160@google.com -CLASS:PUBLIC -CREATED:20180731T230439Z -DESCRIPTION:Public holiday in: Kedah\, Kelantan\, Perlis\, Terengganu -LAST-MODIFIED:20180731T230439Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Hari Raya Haji (Day 2) (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180518 -DTEND;VALUE=DATE:20180519 -DTSTAMP:20180912T052327Z -UID:20180518_60o32e1hc4o32c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230439Z -DESCRIPTION:Public holiday in: Sarawak -LAST-MODIFIED:20180731T230439Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:General Elections Holiday (Sarawak) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180517 -DTEND;VALUE=DATE:20180518 -DTSTAMP:20180912T052327Z -UID:20180517_60o32e1h74o32c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230439Z -DESCRIPTION:Public holiday in: Sarawak -LAST-MODIFIED:20180731T230439Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:General Elections Holiday (Sarawak) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170602 -DTEND;VALUE=DATE:20170603 -DTSTAMP:20180912T052327Z -UID:20170602_60o32e1i64o30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230439Z -DESCRIPTION:Public holiday in: Sarawak -LAST-MODIFIED:20180731T230439Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Gawai Dayak Holiday (Sarawak) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180601 -DTEND;VALUE=DATE:20180602 -DTSTAMP:20180912T052327Z -UID:20180601_60o32e1i60o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230439Z -DESCRIPTION:Public holiday in: Sarawak -LAST-MODIFIED:20180731T230439Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Gawai Dayak (Sarawak) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20181106 DTEND;VALUE=DATE:20181107 -DTSTAMP:20180912T052327Z UID:20181106_60o30db268o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230439Z -DESCRIPTION:Public holiday in: Johor\, Kedah\, Kelantan\, Malacca\, Negeri - Sembilan\, Pahang\, Penang\, Perak\, Perlis\, Sabah\, Selangor\, Terengganu - \, Kuala Lumpur\, Labuan\, Putrajaya -LAST-MODIFIED:20180731T230439Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Diwali/Deepavali (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20191024 -DTEND;VALUE=DATE:20191025 -DTSTAMP:20180912T052327Z -UID:20191024_60o32e1icko30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230439Z -DESCRIPTION:Public holiday in: Pahang -LAST-MODIFIED:20180731T230439Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Sultan of Pahang (Pahang) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20191112 -DTEND;VALUE=DATE:20191113 -DTSTAMP:20180912T052327Z -UID:20191112_60o32e1j64o30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230439Z -DESCRIPTION:Public holiday in: Kelantan -LAST-MODIFIED:20180731T230439Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Sultan of Kelantan (Day 2) (Kelantan) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20181112 DTEND;VALUE=DATE:20181113 -DTSTAMP:20180912T052327Z UID:20181112_60o32e1j64o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230439Z -DESCRIPTION:Public holiday in: Kelantan -LAST-MODIFIED:20180731T230439Z -SEQUENCE:0 STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:Birthday of the Sultan of Kelantan (Day 2) (Kelantan) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170323 -DTEND;VALUE=DATE:20170324 -DTSTAMP:20180912T052327Z -UID:20170323_60o32e1i6go30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230439Z -DESCRIPTION:Public holiday in: Johor -LAST-MODIFIED:20180731T230439Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Sultan of Johor (Johor) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20171012 -DTEND;VALUE=DATE:20171013 -DTSTAMP:20180912T052327Z -UID:20171012_60o32e1ic8o30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230439Z -DESCRIPTION:Public holiday in: Malacca -LAST-MODIFIED:20180731T230439Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Governor of Malacca (Malacca) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190304 -DTEND;VALUE=DATE:20190305 -DTSTAMP:20180912T052327Z -UID:20190304_60o32e1i6ko30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230439Z -DESCRIPTION:Public holiday in: Terengganu -LAST-MODIFIED:20180731T230439Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Anniversary of the coronation of the Sultan of Terengganu (Terengga - nu) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170304 -DTEND;VALUE=DATE:20170305 -DTSTAMP:20180912T052327Z -UID:20170304_60o32e1i6ko30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230439Z -DESCRIPTION:Public holiday in: Terengganu -LAST-MODIFIED:20180731T230439Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Anniversary of the coronation of the Sultan of Terengganu (Terengga - nu) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180910 -DTEND;VALUE=DATE:20180911 -DTSTAMP:20180912T052327Z -UID:20180910_60o30db1cko34c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230438Z -DESCRIPTION:Public holiday in: Malacca\, Negeri Sembilan\, Pahang\, Penang\ - , Perak\, Perlis\, Sabah\, Sarawak\, Selangor\, Kuala Lumpur\, Labuan\, Put - rajaya -LAST-MODIFIED:20180731T230438Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:The Yang di-Pertuan Agong's Birthday (regional holiday) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20180909 DTEND;VALUE=DATE:20180910 -DTSTAMP:20180912T052327Z UID:20180909_60o30db1cko32c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230438Z -DESCRIPTION:Public holiday in: Johor\, Kedah\, Kelantan\, Terengganu -LAST-MODIFIED:20180731T230438Z -SEQUENCE:0 STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:The Yang di-Pertuan Agong's Birthday (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190722 -DTEND;VALUE=DATE:20190723 -DTSTAMP:20180912T052327Z -UID:20190722_60o32e1i74o30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230438Z -DESCRIPTION:Public holiday in: Sarawak -LAST-MODIFIED:20180731T230438Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Sarawak Independence Day (Sarawak) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170722 -DTEND;VALUE=DATE:20170723 -DTSTAMP:20180912T052327Z -UID:20170722_60o32e1i74o30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230438Z -DESCRIPTION:Public holiday in: Sarawak -LAST-MODIFIED:20180731T230438Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Sarawak Independence Day (Sarawak) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180617 -DTEND;VALUE=DATE:20180618 -DTSTAMP:20180912T052327Z -UID:20180617_60o30db260o34c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230438Z -DESCRIPTION:Public holiday in: Johor\, Kedah\, Kelantan\, Terengganu -LAST-MODIFIED:20180731T230438Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Hari Raya Puasa (regional holiday) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190602 -DTEND;VALUE=DATE:20190603 -DTSTAMP:20180912T052327Z -UID:20190602_60o32e1i64o30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230438Z -DESCRIPTION:Public holiday in: Sarawak -LAST-MODIFIED:20180731T230438Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Gawai Dayak Holiday (Sarawak) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190427 DTEND;VALUE=DATE:20190428 -DTSTAMP:20180912T052327Z UID:20190427_60o32e1i70o30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230438Z -DESCRIPTION:Public holiday in: Terengganu -LAST-MODIFIED:20180731T230438Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Birthday of the Sultan of Terengganu (Terengganu) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20181102 DTEND;VALUE=DATE:20181103 -DTSTAMP:20180912T052327Z UID:20181102_60o32e1icoo30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230438Z -DESCRIPTION:Public holiday in: Perak -LAST-MODIFIED:20180731T230438Z -SEQUENCE:0 STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:Birthday of the Sultan of Perak (Perak) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20171102 -DTEND;VALUE=DATE:20171103 -DTSTAMP:20180912T052327Z -UID:20171102_60o32e1icoo30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230438Z -DESCRIPTION:Public holiday in: Perak -LAST-MODIFIED:20180731T230438Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Sultan of Perak (Perak) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20171024 -DTEND;VALUE=DATE:20171025 -DTSTAMP:20180912T052327Z -UID:20171024_60o32e1icko30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230438Z -DESCRIPTION:Public holiday in: Pahang -LAST-MODIFIED:20180731T230438Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Sultan of Pahang (Pahang) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190323 -DTEND;VALUE=DATE:20190324 -DTSTAMP:20180912T052327Z -UID:20190323_60o32e1i6go30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230438Z -DESCRIPTION:Public holiday in: Johor -LAST-MODIFIED:20180731T230438Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Sultan of Johor (Johor) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170517 -DTEND;VALUE=DATE:20170518 -DTSTAMP:20180912T052327Z -UID:20170517_60o32e1i68o30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20180731T230438Z -DESCRIPTION:Public holiday in: Perlis -LAST-MODIFIED:20180731T230438Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Raja of Perlis (Perlis) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20191014 DTEND;VALUE=DATE:20191015 -DTSTAMP:20180912T052327Z UID:20191014_60o32e1icco30e1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230438Z -DESCRIPTION:Public holiday in: Sarawak -LAST-MODIFIED:20180731T230438Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Birthday of the Governor of Sarawak observed (Sarawak) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20191006 -DTEND;VALUE=DATE:20191007 -DTSTAMP:20180912T052327Z -UID:20191006_60o32e1ic4o30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230438Z -DESCRIPTION:Public holiday in: Sabah -LAST-MODIFIED:20180731T230438Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Birthday of the Governor of Sabah (Sabah) -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20181006 DTEND;VALUE=DATE:20181007 -DTSTAMP:20180912T052327Z UID:20181006_60o32e1ic4o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180731T230438Z -DESCRIPTION:Public holiday in: Sabah -LAST-MODIFIED:20180731T230438Z -SEQUENCE:0 STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:Birthday of the Governor of Sabah (Sabah) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20191015 -DTEND;VALUE=DATE:20191016 -DTSTAMP:20180912T052327Z -UID:20191015_60o32e1icgo30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180731T230438Z -DESCRIPTION:Public holiday in: Johor -LAST-MODIFIED:20180731T230438Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Almarhum Sultan Iskandar Hol Day (Johor) -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180509 -DTEND;VALUE=DATE:20180510 -DTSTAMP:20180912T052327Z -UID:20180509_60o32e1h70o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180706T230656Z -DESCRIPTION: -LAST-MODIFIED:20180706T230656Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:General Elections -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190909 -DTEND;VALUE=DATE:20190910 -DTSTAMP:20180912T052327Z -UID:20190909_60o30db1cko30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20180611T231438Z -DESCRIPTION: -LAST-MODIFIED:20180611T231438Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:The Yang di-Pertuan Agong's Birthday -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180911 -DTEND;VALUE=DATE:20180912 -DTSTAMP:20180912T052327Z -UID:20180911_60o30or46oo30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20180201T001849Z -DESCRIPTION: -LAST-MODIFIED:20180201T001849Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Muharram/New Year -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180529 -DTEND;VALUE=DATE:20180530 -DTSTAMP:20180912T052327Z -UID:20180529_60o30db1cgo30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20171211T235133Z -DESCRIPTION: -LAST-MODIFIED:20171211T235133Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Wesak Day -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170901 -DTEND;VALUE=DATE:20170902 -DTSTAMP:20180912T052327Z -UID:20170901_60o30db26co30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20170911T230058Z -DESCRIPTION: -LAST-MODIFIED:20170911T230058Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Hari Raya Haji -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170909 -DTEND;VALUE=DATE:20170910 -DTSTAMP:20180912T052327Z -UID:20170909_60o30db1cko30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20170721T231822Z -DESCRIPTION: -LAST-MODIFIED:20170721T231822Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:The Yang di-Pertuan Agong's Birthday -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170425 -DTEND;VALUE=DATE:20170426 -DTSTAMP:20180912T052327Z -UID:20170425_60o32dpoc4o30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20170705T230711Z -DESCRIPTION: -LAST-MODIFIED:20170705T230711Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Official Installation Ceremony of His Majesty the 15th Yang Di Pert - uan Agong -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170510 -DTEND;VALUE=DATE:20170511 -DTSTAMP:20180912T052327Z -UID:20170510_60o30db1cgo30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20170508T224305Z -DESCRIPTION: -LAST-MODIFIED:20170508T224305Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Wesak Day -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190214 -DTEND;VALUE=DATE:20190215 -DTSTAMP:20180912T052327Z -UID:20190214_60o32dpo68o30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20170321T234537Z -DESCRIPTION: -LAST-MODIFIED:20170321T234537Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Valentine's Day -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20180214 DTEND;VALUE=DATE:20180215 -DTSTAMP:20180912T052327Z UID:20180214_60o32dpo68o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20170321T234537Z -DESCRIPTION: -LAST-MODIFIED:20170321T234537Z -SEQUENCE:0 STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:Valentine's Day -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170214 -DTEND;VALUE=DATE:20170215 -DTSTAMP:20180912T052327Z -UID:20170214_60o32dpo68o30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20170321T234537Z -DESCRIPTION: -LAST-MODIFIED:20170321T234537Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Valentine's Day -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170922 -DTEND;VALUE=DATE:20170923 -DTSTAMP:20180912T052327Z -UID:20170922_60o30or46oo30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20170321T234537Z -DESCRIPTION: -LAST-MODIFIED:20170321T234537Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Muharram/New Year -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170130 -DTEND;VALUE=DATE:20170131 -DTSTAMP:20180912T052327Z -UID:20170130_60o30db170o32c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20170111T234120Z -DESCRIPTION: -LAST-MODIFIED:20170111T234120Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Second day of Chinese Lunar New Year -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170626 -DTEND;VALUE=DATE:20170627 -DTSTAMP:20180912T052327Z -UID:20170626_60o30db264o30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20170106T114649Z -DESCRIPTION: -LAST-MODIFIED:20170106T114649Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Hari Raya Puasa Day 2 -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190901 DTEND;VALUE=DATE:20190902 -DTSTAMP:20180912T052327Z UID:20190901_60o30or46oo30c1g60o30db164@google.com -CLASS:PUBLIC -CREATED:20140630T225146Z -DESCRIPTION: -LAST-MODIFIED:20140630T225146Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Muharram/New Year -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190206 DTEND;VALUE=DATE:20190207 -DTSTAMP:20180912T052327Z UID:20190206_60o30db170o30c1g60o32chmcc@google.com -CLASS:PUBLIC -CREATED:20140109T053233Z -DESCRIPTION: -LAST-MODIFIED:20140109T053233Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Second day of Chinese Lunar New Year -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170129 -DTEND;VALUE=DATE:20170130 -DTSTAMP:20180912T052327Z -UID:20170129_60o30db170o30c1g60o32chmc4@google.com -CLASS:PUBLIC -CREATED:20140109T053233Z -DESCRIPTION: -LAST-MODIFIED:20140109T053233Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Second day of Chinese Lunar New Year -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20191231 -DTEND;VALUE=DATE:20200101 -DTSTAMP:20180912T052327Z -UID:20191231_60o30db16ko30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20140109T053233Z -DESCRIPTION: -LAST-MODIFIED:20140109T053233Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:New Year's Eve -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190831 -DTEND;VALUE=DATE:20190901 -DTSTAMP:20180912T052327Z -UID:20190831_60o30db1coo30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20140109T053233Z -DESCRIPTION: -LAST-MODIFIED:20140109T053233Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Malaysia's National Day -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20180831 DTEND;VALUE=DATE:20180901 -DTSTAMP:20180912T052327Z UID:20180831_60o30db1coo30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20140109T053233Z -DESCRIPTION: -LAST-MODIFIED:20140109T053233Z -SEQUENCE:0 STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:Malaysia's National Day -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20180501 DTEND;VALUE=DATE:20180502 -DTSTAMP:20180912T052327Z UID:20180501_60o30db1cco30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20140109T053233Z -DESCRIPTION: -LAST-MODIFIED:20140109T053233Z -SEQUENCE:0 STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:Labour Day -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170501 -DTEND;VALUE=DATE:20170502 -DTSTAMP:20180912T052327Z -UID:20170501_60o30db1cco30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20140109T053233Z -DESCRIPTION: -LAST-MODIFIED:20140109T053233Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Labour Day -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20181224 DTEND;VALUE=DATE:20181225 -DTSTAMP:20180912T052327Z UID:20181224_60o30db26oo30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20140109T053233Z -DESCRIPTION: -LAST-MODIFIED:20140109T053233Z -SEQUENCE:0 STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:Christmas Eve -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20191225 -DTEND;VALUE=DATE:20191226 -DTSTAMP:20180912T052327Z -UID:20191225_60o30db26ko30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20140109T053233Z -DESCRIPTION: -LAST-MODIFIED:20140109T053233Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Christmas Day -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20181225 DTEND;VALUE=DATE:20181226 -DTSTAMP:20180912T052327Z UID:20181225_60o30db26ko30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20140109T053233Z -DESCRIPTION: -LAST-MODIFIED:20140109T053233Z -SEQUENCE:0 STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:Christmas Day -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190205 DTEND;VALUE=DATE:20190206 -DTSTAMP:20180912T052327Z UID:20190205_60o30db16so30c1g60o32chmcc@google.com -CLASS:PUBLIC -CREATED:20140109T053233Z -DESCRIPTION: -LAST-MODIFIED:20140109T053233Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Chinese Lunar New Year's Day -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180216 -DTEND;VALUE=DATE:20180217 -DTSTAMP:20180912T052327Z -UID:20180216_60o30db16so30c1g60o32chmc8@google.com -CLASS:PUBLIC -CREATED:20140109T053233Z -DESCRIPTION: -LAST-MODIFIED:20140109T053233Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Chinese Lunar New Year's Day -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20191110 DTEND;VALUE=DATE:20191111 -DTSTAMP:20180912T052327Z UID:20191110_60o30db1c8o30c1g60o30db164@google.com -CLASS:PUBLIC -CREATED:20140109T053226Z -DESCRIPTION: -LAST-MODIFIED:20140109T053226Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:The Prophet Muhammad's Birthday -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170916 -DTEND;VALUE=DATE:20170917 -DTSTAMP:20180912T052327Z -UID:20170916_60o30db274o30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20140109T053226Z -DESCRIPTION: -LAST-MODIFIED:20140109T053226Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Malaysia Day -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20180201 DTEND;VALUE=DATE:20180202 -DTSTAMP:20180912T052327Z UID:20180201_60o30db174o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20140109T053226Z -DESCRIPTION: -LAST-MODIFIED:20140109T053226Z -SEQUENCE:0 STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:Federal Territory Day -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170128 -DTEND;VALUE=DATE:20170129 -DTSTAMP:20180912T052327Z -UID:20170128_60o30db16so30c1g60o32chmc4@google.com -CLASS:PUBLIC -CREATED:20140109T053226Z -DESCRIPTION: -LAST-MODIFIED:20140109T053226Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Chinese Lunar New Year's Day -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180616 -DTEND;VALUE=DATE:20180617 -DTSTAMP:20180912T052327Z -UID:20180616_60o30db264o30c1g60o30d9pco@google.com -CLASS:PUBLIC -CREATED:20140109T053220Z -DESCRIPTION: -LAST-MODIFIED:20140109T053220Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Hari Raya Puasa Day 2 -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190812 DTEND;VALUE=DATE:20190813 -DTSTAMP:20180912T052327Z UID:20190812_60o30db26co30c1g60o30db160@google.com -CLASS:PUBLIC -CREATED:20140109T053220Z -DESCRIPTION: -LAST-MODIFIED:20140109T053220Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Hari Raya Haji -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190201 -DTEND;VALUE=DATE:20190202 -DTSTAMP:20180912T052327Z -UID:20190201_60o30db174o30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20140109T053220Z -DESCRIPTION: -LAST-MODIFIED:20140109T053220Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Federal Territory Day -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170201 -DTEND;VALUE=DATE:20170202 -DTSTAMP:20180912T052327Z -UID:20170201_60o30db174o30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20140109T053220Z -DESCRIPTION: -LAST-MODIFIED:20140109T053220Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Federal Territory Day -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20171224 -DTEND;VALUE=DATE:20171225 -DTSTAMP:20180912T052327Z -UID:20171224_60o30db26oo30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20140109T053220Z -DESCRIPTION: -LAST-MODIFIED:20140109T053220Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Christmas Eve -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20171201 -DTEND;VALUE=DATE:20171202 -DTSTAMP:20180912T052327Z -UID:20171201_60o30db1c8o30c1g60o30d9pco@google.com -CLASS:PUBLIC -CREATED:20140109T053213Z -DESCRIPTION: -LAST-MODIFIED:20140109T053213Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:The Prophet Muhammad's Birthday -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20171231 -DTEND;VALUE=DATE:20180101 -DTSTAMP:20180912T052327Z -UID:20171231_60o30db16ko30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20140109T053213Z -DESCRIPTION: -LAST-MODIFIED:20140109T053213Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:New Year's Eve -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190606 DTEND;VALUE=DATE:20190607 -DTSTAMP:20180912T052327Z UID:20190606_60o30db264o30c1g60o30db160@google.com -CLASS:PUBLIC -CREATED:20140109T053213Z -DESCRIPTION: -LAST-MODIFIED:20140109T053213Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Hari Raya Puasa Day 2 -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180401 -DTEND;VALUE=DATE:20180402 -DTSTAMP:20180912T052327Z -UID:20180401_60o30db270o30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20140109T053213Z -DESCRIPTION: -LAST-MODIFIED:20140109T053213Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Easter Sunday -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170416 -DTEND;VALUE=DATE:20170417 -DTSTAMP:20180912T052327Z -UID:20170416_60o30db270o30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20140109T053213Z -DESCRIPTION: -LAST-MODIFIED:20140109T053213Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Easter Sunday -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20191224 -DTEND;VALUE=DATE:20191225 -DTSTAMP:20180912T052327Z -UID:20191224_60o30db26oo30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20140109T053213Z -DESCRIPTION: -LAST-MODIFIED:20140109T053213Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Christmas Eve -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20171225 -DTEND;VALUE=DATE:20171226 -DTSTAMP:20180912T052327Z -UID:20171225_60o30db26ko30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20140109T053213Z -DESCRIPTION: -LAST-MODIFIED:20140109T053213Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Christmas Day -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180217 -DTEND;VALUE=DATE:20180218 -DTSTAMP:20180912T052327Z -UID:20180217_60o30db170o30c1g60o32chmc8@google.com -CLASS:PUBLIC -CREATED:20140109T053206Z -DESCRIPTION: -LAST-MODIFIED:20140109T053206Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Second day of Chinese Lunar New Year -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20181231 DTEND;VALUE=DATE:20190101 -DTSTAMP:20180912T052327Z UID:20181231_60o30db16ko30c1g60o30dr568@google.com -CLASS:PUBLIC -CREATED:20140109T053206Z -DESCRIPTION: -LAST-MODIFIED:20140109T053206Z -SEQUENCE:0 STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1 SUMMARY:New Year's Eve -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20170831 -DTEND;VALUE=DATE:20170901 -DTSTAMP:20180912T052327Z -UID:20170831_60o30db1coo30c1g60o30dr564@google.com -CLASS:PUBLIC -CREATED:20140109T053206Z -DESCRIPTION: -LAST-MODIFIED:20140109T053206Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Malaysia's National Day -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190916 -DTEND;VALUE=DATE:20190917 -DTSTAMP:20180912T052327Z -UID:20190916_60o30db274o30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20140109T053206Z -DESCRIPTION: -LAST-MODIFIED:20140109T053206Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Malaysia Day -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190501 -DTEND;VALUE=DATE:20190502 -DTSTAMP:20180912T052327Z -UID:20190501_60o30db1cco30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20140109T053206Z -DESCRIPTION: -LAST-MODIFIED:20140109T053206Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Labour Day -TRANSP:TRANSPARENT -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20180822 -DTEND;VALUE=DATE:20180823 -DTSTAMP:20180912T052327Z -UID:20180822_60o30db26co30c1g60o30d9pco@google.com -CLASS:PUBLIC -CREATED:20140109T053206Z -DESCRIPTION: -LAST-MODIFIED:20140109T053206Z -SEQUENCE:0 -STATUS:CONFIRMED -SUMMARY:Hari Raya Haji -TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT DTSTART;VALUE=DATE:20190421 DTEND;VALUE=DATE:20190422 -DTSTAMP:20180912T052327Z UID:20190421_60o30db270o30c1g60o30dr56c@google.com -CLASS:PUBLIC -CREATED:20140109T053206Z -DESCRIPTION: -LAST-MODIFIED:20140109T053206Z -SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Easter Sunday -TRANSP:TRANSPARENT +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20190519 +DTEND;VALUE=DATE:20190520 +UID:20190519_60o30db1cgo30c1g60o30dr568@google.com +STATUS:CONFIRMED +SUMMARY:Wesak Day END:VEVENT END:VCALENDAR From d707cbe2c789e7ebaf0866aa0e4ecba5e70e1475 Mon Sep 17 00:00:00 2001 From: youdly Date: Fri, 14 Sep 2018 20:13:09 +0930 Subject: [PATCH 28/55] Add more repeatable australian holidays --- app/src/main/assets/australia.ics | 145 +++++++++++++----------------- 1 file changed, 64 insertions(+), 81 deletions(-) diff --git a/app/src/main/assets/australia.ics b/app/src/main/assets/australia.ics index 8464ab37c..ec3a519b0 100755 --- a/app/src/main/assets/australia.ics +++ b/app/src/main/assets/australia.ics @@ -1,51 +1,50 @@ BEGIN:VCALENDAR BEGIN:VEVENT -DTSTART;VALUE=DATE:20190506 -DTEND;VALUE=DATE:20190507 -UID:20190506_60o30chicko36e1g60o30dr56c@google.com +DTSTART;VALUE=DATE:20180507 +DTEND;VALUE=DATE:20180508 +UID:20180507_60o30chicko36e1g60o30dr568@google.com STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=5;BYDAY=1MO SUMMARY:May Day (Northern Territory) END:VEVENT BEGIN:VEVENT -DTSTART;VALUE=DATE:20190311 -DTEND;VALUE=DATE:20190312 -UID:20190311_60o30chicko3ie1g60o30dr56c@google.com +DTSTART;VALUE=DATE:20180312 +DTEND;VALUE=DATE:20180313 +UID:20180312_60o30chicko3ie1g60o30dr568@google.com STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=3;BYDAY=2MO SUMMARY:Labour Day (Victoria) END:VEVENT BEGIN:VEVENT -DTSTART;VALUE=DATE:20190304 -DTEND;VALUE=DATE:20190305 -UID:20190304_60o30chicko3ge1g60o30dr56c@google.com +DTSTART;VALUE=DATE:20180305 +DTEND;VALUE=DATE:20180306 +UID:20180305_60o30chicko3ge1g60o30dr568@google.com STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=3;BYDAY=1MO SUMMARY:Labour Day (Western Australia) END:VEVENT BEGIN:VEVENT -DTSTART;VALUE=DATE:20191007 -DTEND;VALUE=DATE:20191008 -UID:20191007_60o30chicko3ee1g60o30dr56c@google.com -STATUS:CONFIRMED -SUMMARY:Labour Day (regional holiday) -END:VEVENT -BEGIN:VEVENT DTSTART;VALUE=DATE:20181001 DTEND;VALUE=DATE:20181002 UID:20181001_60o30chicko3ec1g60o30dr568@google.com STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=10;BYDAY=1MO SUMMARY:Labour Day (regional holiday) END:VEVENT BEGIN:VEVENT -DTSTART;VALUE=DATE:20190506 -DTEND;VALUE=DATE:20190507 -UID:20190506_60o30chicko38e1g60o30dr56c@google.com +DTSTART;VALUE=DATE:20180507 +DTEND;VALUE=DATE:20180508 +UID:20180507_60o30chicko38e1g60o30dr568@google.com STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=5;BYDAY=1MO SUMMARY:Labour Day (Queensland) END:VEVENT BEGIN:VEVENT -DTSTART;VALUE=DATE:20190311 -DTEND;VALUE=DATE:20190312 -UID:20190311_60o30chicko62e1g60o30dr56c@google.com +DTSTART;VALUE=DATE:20180312 +DTEND;VALUE=DATE:20180313 +UID:20180312_60o30chicko62e1g60o30dr568@google.com STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=3;BYDAY=2MO SUMMARY:Eight Hours Day (Tasmania) END:VEVENT BEGIN:VEVENT @@ -89,13 +88,15 @@ DTSTART;VALUE=DATE:20181001 DTEND;VALUE=DATE:20181002 UID:20181001_60o30chhcoo38c1g60o30dr568@google.com STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=10;BYDAY=1MO SUMMARY:Queen's Birthday (Queensland) END:VEVENT BEGIN:VEVENT -DTSTART;VALUE=DATE:20190610 -DTEND;VALUE=DATE:20190611 -UID:20190610_60o30chhcoo32e1g60o30dr56c@google.com +DTSTART;VALUE=DATE:20180611 +DTEND;VALUE=DATE:20180612 +UID:20180611_60o30chhcoo32e1g60o30dr568@google.com STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=6;BYDAY=2MO SUMMARY:Queen's Birthday (regional holiday) END:VEVENT BEGIN:VEVENT @@ -106,13 +107,6 @@ STATUS:CONFIRMED SUMMARY:Holy Saturday (regional holiday) END:VEVENT BEGIN:VEVENT -DTSTART;VALUE=DATE:20191007 -DTEND;VALUE=DATE:20191008 -UID:20191007_60o30chhcoo38e1g60o30dr56c@google.com -STATUS:CONFIRMED -SUMMARY:Queen's Birthday (Queensland) -END:VEVENT -BEGIN:VEVENT DTSTART;VALUE=DATE:20190814 DTEND;VALUE=DATE:20190815 UID:20190814_60o30chj6go30c1g60o30dr56c@google.com @@ -120,31 +114,19 @@ STATUS:CONFIRMED SUMMARY:Royal National Agricultural Show Day Queensland (Queensland) END:VEVENT BEGIN:VEVENT -DTSTART;VALUE=DATE:20180815 -DTEND;VALUE=DATE:20180816 -UID:20180815_60o30chj6go30c1g60o30dr568@google.com -STATUS:CONFIRMED -SUMMARY:Royal National Agricultural Show Day Queensland (Queensland) -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190211 -DTEND;VALUE=DATE:20190212 -UID:20190211_60o30e1pcko30e1g60o30dr56c@google.com +DTSTART;VALUE=DATE:20180212 +DTEND;VALUE=DATE:20180213 +UID:20180212_60o30e1pcko30e1g60o30dr568@google.com STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=2;BYDAY=2MO SUMMARY:Royal Hobart Regatta (Tasmania) END:VEVENT BEGIN:VEVENT -DTSTART;VALUE=DATE:20191105 -DTEND;VALUE=DATE:20191106 -UID:20191105_60o30chj6oo30e1g60o30dr56c@google.com -STATUS:CONFIRMED -SUMMARY:Melbourne Cup Day (Victoria) -END:VEVENT -BEGIN:VEVENT -DTSTART;VALUE=DATE:20190311 -DTEND;VALUE=DATE:20190312 -UID:20190311_60o30chj64o30e1g60o30dr56c@google.com +DTSTART;VALUE=DATE:20180312 +DTEND;VALUE=DATE:20180313 +UID:20180312_60o30chj64o30e1g60o30dr568@google.com STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=3;BYDAY=2MO SUMMARY:Canberra Day (Australian Capital Territory) END:VEVENT BEGIN:VEVENT @@ -155,31 +137,27 @@ STATUS:CONFIRMED SUMMARY:Queen's Birthday (Western Australia) END:VEVENT BEGIN:VEVENT -DTSTART;VALUE=DATE:20190805 -DTEND;VALUE=DATE:20190806 -UID:20190805_60o30chicgo30e1g60o30dr56c@google.com +DTSTART;VALUE=DATE:20180806 +DTEND;VALUE=DATE:20180807 +UID:20180806_60o30chicgo30e1g60o30dr568@google.com STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=8;BYDAY=1MO SUMMARY:Northern Territory Picnic Day (Northern Territory) END:VEVENT BEGIN:VEVENT -DTSTART;VALUE=DATE:20190603 -DTEND;VALUE=DATE:20190604 -UID:20190603_60o30chj60o30e1g60o30dr56c@google.com +DTSTART;VALUE=DATE:20180604 +DTEND;VALUE=DATE:20180605 +UID:20180604_60o30chj60o30e1g60o30dr568@google.com STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=6;BYDAY=1MO SUMMARY:Western Australia Day (Western Australia) END:VEVENT BEGIN:VEVENT -DTSTART;VALUE=DATE:20191104 -DTEND;VALUE=DATE:20191105 -UID:20191104_60o30chj6ko30e1g60o30dr56c@google.com -STATUS:CONFIRMED -SUMMARY:Recreation Day (Tasmania) -END:VEVENT -BEGIN:VEVENT DTSTART;VALUE=DATE:20181105 DTEND;VALUE=DATE:20181106 UID:20181105_60o30chj6ko30e1g60o30dr568@google.com STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=11;BYDAY=1MO SUMMARY:Recreation Day (Tasmania) END:VEVENT BEGIN:VEVENT @@ -187,13 +165,15 @@ DTSTART;VALUE=DATE:20181106 DTEND;VALUE=DATE:20181107 UID:20181106_60o30chj6oo30e1g60o30dr568@google.com STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=11;BYDAY=1TU SUMMARY:Melbourne Cup Day (Victoria) END:VEVENT BEGIN:VEVENT -DTSTART;VALUE=DATE:20190805 -DTEND;VALUE=DATE:20190806 -UID:20190805_60o30chicco30e1g60o30dr56c@google.com +DTSTART;VALUE=DATE:20180806 +DTEND;VALUE=DATE:20180807 +UID:20180806_60o30chicco30e1g60o30dr568@google.com STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=8;BYDAY=1MO SUMMARY:New South Wales Bank Holiday (New South Wales) END:VEVENT BEGIN:VEVENT @@ -204,31 +184,27 @@ STATUS:CONFIRMED SUMMARY:Easter Tuesday (Tasmania) END:VEVENT BEGIN:VEVENT -DTSTART;VALUE=DATE:20190311 -DTEND;VALUE=DATE:20190312 -UID:20190311_60o30chicoo30e1g60o30dr56c@google.com +DTSTART;VALUE=DATE:20180312 +DTEND;VALUE=DATE:20180313 +UID:20180312_60o30chicoo30e1g60o30dr568@google.com STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=3;BYDAY=2MO SUMMARY:Adelaide Cup (South Australia) END:VEVENT BEGIN:VEVENT -DTSTART;VALUE=DATE:20191006 -DTEND;VALUE=DATE:20191007 -UID:20191006_60o30c9o60o30dpl6ooj0dr56c@google.com -STATUS:CONFIRMED -SUMMARY:Daylight Saving Time starts -END:VEVENT -BEGIN:VEVENT DTSTART;VALUE=DATE:20181007 DTEND;VALUE=DATE:20181008 UID:20181007_60o30c9o60o30dpl6ooj0dr568@google.com STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=10;BYDAY=1SU SUMMARY:Daylight Saving Time starts END:VEVENT BEGIN:VEVENT -DTSTART;VALUE=DATE:20190407 -DTEND;VALUE=DATE:20190408 -UID:20190407_60o30c9o64o30dpl6ooj0dr56c@google.com +DTSTART;VALUE=DATE:20180401 +DTEND;VALUE=DATE:20180402 +UID:20180401_60o30c9o64o30dpl6ooj0dr568@google.com STATUS:CONFIRMED +RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=4;BYDAY=1SU SUMMARY:Daylight Saving Time ends END:VEVENT BEGIN:VEVENT @@ -272,6 +248,13 @@ 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 From a4d8f0b706913d851fe57fc3bad2dbae54125351 Mon Sep 17 00:00:00 2001 From: dugi991 Date: Sat, 15 Sep 2018 10:41:32 +0000 Subject: [PATCH 29/55] Update Croatian translations Translated new strings. --- app/src/main/res/values-hr/strings.xml | 33 +++++++++++++------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index 87bd6e7f8..679b6ce54 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -19,15 +19,15 @@ Događaj Uredi događaj Novi događaj - Create a new event - Duplicate event + Stvori novi događaj + Dupliciraj događaj Naslov ne može biti prazan Događaj ne može završiti prije nego što počne Događaj je uspješno dodan Događaj je uspješno ažuriran Sortiranje prema vrsti događaja Ispunite lokaciju za prikazivanje na karti - An event is upcoming + Nadolazi Vam događaj Ponavljanje @@ -44,12 +44,12 @@ Događaj je ponovljiv Odabir sadrži ponavljajuće događaje Izbriši samo odabrano ponavljanje - Delete this and all future occurrences + Izbrišite ovo i sva buduća ponavljanja Izbriši sva ponavljanja Ažuriraj samo odabrano ponavljanje Ažuriraj sva ponavljanja Ponovi do datuma - Stop repeating after x occurrences + Prestani ponavljati nakon x pojavljivanja Ponovi zauvijek puta Ponavljanje @@ -60,7 +60,7 @@ Zadnji dan Ponovi isti dan svaki mjesec Ponovi zadnjeg dana u mjesecu - Repeat on the same day every year + Ponovi istog dana svake godine Ponovi svaki Svaki prvi @@ -156,14 +156,15 @@ Izbriši sve događaje Jeste li sigurni da želite izbrisati sve događaje? To će ostaviti Vaše vrste događaja i druge postavke netaknutima. Prikaži mrežu - Loop reminders until dismissed - Dim past events - Events - Audio stream used by reminders - System + Ponavljaj podsjetnike sve dok ih ne odbacim + Zatamni događaje koji su završili + Događaji + Audio izlazni kanal za podsjetnike + Sustav Alarm - Notification - Ring + Obavijest + ZvoPrikaz podsjetnika, ali i reprodukcija zvuka, jako ovise o Android sustavu. Ako ne čujete zvuk, pokušajte otići u postavke aplikacije, + odaberite \"Audio izlazni kanal za podsjetnike\" te je promjenite na drugačiju vrijednost. Ako i dalje neće raditi, provjerite postavke zvuka, da odabrani kanal nije utišan.njava CalDAV @@ -204,9 +205,9 @@ Mogu li sinkronizirati događaje putem Google Kalendara ili druge usluge koje podržavaju CalDAV? Da, samo uključite \"CalDAV sinkronizacija\" u postavkama aplikacije i odaberite kalendare koje želite sinkronizirati. Međutim, potrebna je aplikacija između Vašeg uređaja i poslužitelja. U slučaju da želite sinkronizirati Google kalendar, njihova službena aplikacija Kalendar obavlja navedeni posao. Za ostale kalendare potreban Vam je aplikacija treće strane za upravljanje sinkronizacijom, na primjer DAVdroid. - 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. + Vidim vizualne podsjetnike, ali ne čujem zvuk. Što mogu učiniti + Prikaz podsjetnika, ali i reprodukcija zvuka, jako ovise o Android sustavu. Ako ne čujete zvuk, pokušajte otići u postavke aplikacije, + odaberite \"Audio izlazni kanal za podsjetnike\" te je promjenite na drugačiju vrijednost. Ako i dalje neće raditi, provjerite postavke zvuka, da odabrani kanal nije utišan. From 8d35d222df12ef600673993980048283c4f9c76b Mon Sep 17 00:00:00 2001 From: Nikola Trubitsyn Date: Sat, 15 Sep 2018 14:45:34 +0300 Subject: [PATCH 30/55] Update values-ru/strings.xml --- app/src/main/res/values-ru/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 25f44c437..ac09658c4 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -49,7 +49,7 @@ Обновить только выбранное Обновить все связанные Повторять до даты - Stop repeating after x occurrences + Перестать повторять после x раза Повторять бесконечно раз Повторять From 18094d32e618d30dd208defa88dd745dd7860cfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Marques?= Date: Sat, 15 Sep 2018 15:28:14 +0100 Subject: [PATCH 31/55] Update strings.xml --- app/src/main/res/values-pt/strings.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 8b711d75d..fade02dd0 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -26,7 +26,7 @@ Evento adicionado com sucesso Evento atualizado com sucesso Filtrar eventos por tipo - Introduza a localização para a mostrar no maps + Introduza a localização para a mostrar no mapa Está para breve um evento @@ -44,12 +44,12 @@ O evento é repetível A seleção contém eventos recorrentes Apagar a ocorrência selecionada - Delete this and all future occurrences + Apagar esta e todas as ocorrências futuras Apagar todas as ocorrências Atualizar a ocorrência selecionada Atualizar todas as ocorrências Repetir até à data - Stop repeating after x occurrences + Parar de repetir após x ocorrências Repetir eternamente vezes Repetição @@ -60,7 +60,7 @@ Último dia Repetir no mesmo dia de cada mês Repetir no último dia de cada mês - Repeat on the same day every year + Repetir no mesmo dia de cada ano Repetir A cada primeira @@ -106,7 +106,7 @@ Exportar eventos antigos Incluir tipos de eventos Nome do ficheiro (sem .ics) - Override event types in the file + Substituir tipo de eventos no ficheiro Título @@ -161,7 +161,7 @@ Eventos Fluxo áudio a utilizar nos lembretes Sistema - Alarmw + Alarme Notificação Toque From 2f54c7d9cf3b3a98670b78f9a23c24f0403661d6 Mon Sep 17 00:00:00 2001 From: FTno <16176811+FTno@users.noreply.github.com> Date: Tue, 18 Sep 2018 16:27:44 +0200 Subject: [PATCH 32/55] Update strings.xml Norwegian (nb) translation update --- app/src/main/res/values-nb/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index 53f01db04..03e5885ca 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -49,7 +49,7 @@ Oppdater bare den merkede forekomsten Oppdater alle forekomster Gjenta til en dato - Stop repeating after x occurrences + Stopp å gjenta etter x forekomster Gjenta for alltid ganger Gjenta From a1ee1a4530b209a248136136489c0a5defa850e7 Mon Sep 17 00:00:00 2001 From: Martin Date: Thu, 20 Sep 2018 22:52:23 +0200 Subject: [PATCH 33/55] added czech translates --- app/src/main/res/values-cs/strings.xml | 66 +++++++++++++------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 6025ed1f2..90b0d2c24 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -3,7 +3,7 @@ Simple Calendar Calendar Změnit zobrazení - Daily view + Denní kalendář Týdenní kalendář Měsíční kalendář Roční kalendář @@ -19,15 +19,15 @@ Událost Upravit událost Nová událost - Create a new event - Duplicate event + Vytvořit novou událost + Zkopírovat událost Doplňte 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 podle typu - Please fill in a location to be shown on a map - An event is upcoming + Vyplňte prosím místo, které se zobrazí na mapě + Událost právě nastává Opakovaná událost @@ -44,12 +44,12 @@ Událost se opakuje Výběr zahrnuje opakující se události Vymazat pouze vybrané výskyty - Delete this and all future occurrences + Smaž tento a jakékoliv budoucí výskyty Vymazat všechny výskyty Změnit pouze vybrané výskyty Změnit všechny výskyty Opakovat až do - Stop repeating after x occurrences + Zastavit opakování po x výskytech Opakovat navždy krát Opakovat @@ -60,7 +60,7 @@ poslední den Opakovat ve stejný den každý měsíc Opakovat poslední den v měsíci - Repeat on the same day every year + Opakovat ve stejný den každý rok Opakovat každý každý první @@ -80,10 +80,10 @@ poslední - Birthdays - Add contact birthdays - No birthdays have been found - Birthdays added successfully + Narozeniny + Přidat narozeniny z kontaktů + Žádné narozeniny nebyly nalezeny + Narozeniny byly úspěšně přidány Anniversaries @@ -128,16 +128,16 @@ 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 jej desynchronizovat + Chcete-li odebrat kalendář CalDAV, musíte vypnout synchronizaci Svátky Přidat svátek Státní svátky Církevní svátky - Holidays have been successfully imported into the \"Holidays\" event type + Svátky byly úspěšně naimportovány Import některých událostí se nezdařil - Import svátků nezdařil + Import svátků se nezdařil Správa typů událostí @@ -149,21 +149,21 @@ Nebyla nalezena žádná aplikace, která by mohla nastavit vyzvánění žádný Den nemůže skončit dřív, než začne - CalDAV sync + CalDAV synchronizace Seznamy událostí Zobrazit minulé události - Replace event description with location - Delete all events - Are you sure you want to delete all events? This will leave your event types and other settings intact. - Show a grid - Loop reminders until dismissed - Dim past events - Events - Audio stream used by reminders - System - Alarm - Notification - Ring + 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é. + Zobrazit mřížku + Připomínat až do vypnutí + Smazat minulé události + Události + Zvuk upomínky + Systémový + Budík + Notifikace + Zvonek CalDAV @@ -174,8 +174,8 @@ Obnovuji… Obnovování dokončeno Editování kalendáře se nezdařilo - Syncing… - Sync completed + Synchronizuji… + Synchronizace dokončena @@ -214,13 +214,13 @@ Jednoduchý kalendář s volitelnou synchronizací CalDAV. Můžete snadno vytvářet opakující se události a nastavovat připomenutí, můžete také zobrazovat čísla týdnů. - Obsahuje přizpůsobitelný widget 4x4, kde můžete měnit barvu textu, stejně jako alfu a barvu pozadí. + Obsahuje přizpůsobitelný widget 4x4, kde můžete měnit barvu textu, stejně jako průhlednost a barvu pozadí. - Neobsahuje žádné reklamy ani zbytečná oprávnění. Je plně opensource, umožňuje měnit barvy. + Neobsahuje žádné reklamy ani zbytečná oprávnění. Je plně OpenSource, umožňuje měnit barvy. Povolení úložiště je potřeba pouze pro export nebo import událostí ze souborů .ics. - The Contacts permission is used only at importing contact birthdays and anniversaries. + Povolení kontaktů se používá pouze při importu narozenin a výročí. Tato aplikace je součástí větší sady aplikací. Tyto a další aplikace najdete na https://www.simplemobiletools.com From ebc26dc6e091047e0a570246e9cfee7a49b92f5a Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 21 Sep 2018 14:42:33 +0200 Subject: [PATCH 34/55] fixing IllegalInstantException occurring in some cases --- .../kotlin/com/simplemobiletools/calendar/helpers/Formatter.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Formatter.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Formatter.kt index bc9ac956f..3576fe9d5 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Formatter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Formatter.kt @@ -66,7 +66,7 @@ object Formatter { fun getDateTimeFromCode(dayCode: String) = DateTimeFormat.forPattern(DAYCODE_PATTERN).withZone(DateTimeZone.UTC).parseDateTime(dayCode) - fun getLocalDateTimeFromCode(dayCode: String) = DateTimeFormat.forPattern(DAYCODE_PATTERN).withZone(DateTimeZone.getDefault()).parseDateTime(dayCode) + fun getLocalDateTimeFromCode(dayCode: String) = DateTimeFormat.forPattern(DAYCODE_PATTERN).withZone(DateTimeZone.getDefault()).parseLocalDate(dayCode).toDateTimeAtStartOfDay() fun getTimeFromTS(context: Context, ts: Int) = getTime(context, getDateTimeFromTS(ts)) From 3ab7b0ab2a9766808385307720a06369cdba2366 Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 21 Sep 2018 14:45:23 +0200 Subject: [PATCH 35/55] removing some redundant code --- .../simplemobiletools/calendar/activities/MainActivity.kt | 6 +++--- .../com/simplemobiletools/calendar/extensions/Context.kt | 2 +- .../calendar/fragments/DayFragmentsHolder.kt | 2 +- .../calendar/fragments/EventListFragment.kt | 2 +- .../calendar/fragments/MonthFragmentsHolder.kt | 2 +- .../calendar/fragments/YearFragmentsHolder.kt | 2 +- .../com/simplemobiletools/calendar/helpers/Formatter.kt | 4 +--- .../calendar/helpers/MyWidgetMonthlyProvider.kt | 2 +- 8 files changed, 10 insertions(+), 12 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/MainActivity.kt index e8a9703dc..d235341dd 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/MainActivity.kt @@ -106,7 +106,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { override fun onResume() { super.onResume() if (mStoredTextColor != config.textColor || mStoredBackgroundColor != config.backgroundColor || mStoredPrimaryColor != config.primaryColor - || mStoredDayCode != Formatter.getTodayCode(applicationContext) || mStoredDimPastEvents != config.dimPastEvents) { + || mStoredDayCode != Formatter.getTodayCode() || mStoredDimPastEvents != config.dimPastEvents) { updateViewPager() } @@ -206,7 +206,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { mStoredUse24HourFormat = use24HourFormat mStoredDimPastEvents = dimPastEvents } - mStoredDayCode = Formatter.getTodayCode(applicationContext) + mStoredDayCode = Formatter.getTodayCode() } private fun setupSearch(menu: Menu) { @@ -534,7 +534,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { } } - private fun updateViewPager(dayCode: String? = Formatter.getTodayCode(applicationContext)) { + private fun updateViewPager(dayCode: String? = Formatter.getTodayCode()) { val fragment = getFragmentsHolder() currentFragments.forEach { supportFragmentManager.beginTransaction().remove(it).commitNow() diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/extensions/Context.kt index 03856c9db..ccbb4314c 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/extensions/Context.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/extensions/Context.kt @@ -288,7 +288,7 @@ fun Context.rescheduleReminder(event: Event?, minutes: Int) { } } -fun Context.launchNewEventIntent(dayCode: String = Formatter.getTodayCode(this)) { +fun Context.launchNewEventIntent(dayCode: String = Formatter.getTodayCode()) { Intent(applicationContext, EventActivity::class.java).apply { putExtra(NEW_EVENT_START_TS, getNewEventTimestampFromCode(dayCode)) addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/DayFragmentsHolder.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/DayFragmentsHolder.kt index 28e9bf45d..dd39768f5 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/DayFragmentsHolder.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/DayFragmentsHolder.kt @@ -31,7 +31,7 @@ class DayFragmentsHolder : MyFragmentHolder(), NavigationListener { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) currentDayCode = arguments?.getString(DAY_CODE) ?: "" - todayDayCode = Formatter.getTodayCode(context!!) + todayDayCode = Formatter.getTodayCode() } override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/EventListFragment.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/EventListFragment.kt index b37f3f4aa..1bec543f7 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/EventListFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/EventListFragment.kt @@ -182,5 +182,5 @@ class EventListFragment : MyFragmentHolder(), RefreshRecyclerViewListener { (activity as? MainActivity)?.updateActionBarTitle(getString(R.string.app_launcher_name)) } - override fun getNewEventDayCode() = Formatter.getTodayCode(context!!) + override fun getNewEventDayCode() = Formatter.getTodayCode() } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/MonthFragmentsHolder.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/MonthFragmentsHolder.kt index 22927353b..6d9d22815 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/MonthFragmentsHolder.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/MonthFragmentsHolder.kt @@ -31,7 +31,7 @@ class MonthFragmentsHolder : MyFragmentHolder(), NavigationListener { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) currentDayCode = arguments?.getString(DAY_CODE) ?: "" - todayDayCode = Formatter.getTodayCode(context!!) + todayDayCode = Formatter.getTodayCode() } override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/YearFragmentsHolder.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/YearFragmentsHolder.kt index 5388a1f0b..d2740d8a5 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/YearFragmentsHolder.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/YearFragmentsHolder.kt @@ -93,5 +93,5 @@ class YearFragmentsHolder : MyFragmentHolder() { (activity as? MainActivity)?.updateActionBarTitle("${getString(R.string.app_launcher_name)} - $currentYear") } - override fun getNewEventDayCode() = Formatter.getTodayCode(context!!) + override fun getNewEventDayCode() = Formatter.getTodayCode() } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Formatter.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Formatter.kt index 3576fe9d5..00ab84218 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Formatter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Formatter.kt @@ -58,7 +58,7 @@ object Formatter { return "$month $day $year" } - fun getTodayCode(context: Context) = Formatter.getDayCodeFromTS(getNowSeconds()) + fun getTodayCode() = Formatter.getDayCodeFromTS(getNowSeconds()) fun getHours(context: Context, dateTime: DateTime) = dateTime.toString(getHourPattern(context)) @@ -85,8 +85,6 @@ object Formatter { // use manually translated month names, as DateFormat and Joda have issues with a lot of languages fun getMonthName(context: Context, id: Int) = context.resources.getStringArray(R.array.months)[id - 1] - fun getYear(dateTime: DateTime) = dateTime.toString(YEAR_PATTERN) - fun getHourPattern(context: Context) = if (context.config.use24HourFormat) PATTERN_HOURS_24 else PATTERN_HOURS_12 fun getTimePattern(context: Context) = if (context.config.use24HourFormat) PATTERN_TIME_24 else PATTERN_TIME_12 diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/MyWidgetMonthlyProvider.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/MyWidgetMonthlyProvider.kt index f80f0b596..06ca36113 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/MyWidgetMonthlyProvider.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/MyWidgetMonthlyProvider.kt @@ -195,7 +195,7 @@ class MyWidgetMonthlyProvider : AppWidgetProvider() { setupIntent(context, views, GO_TO_TODAY, R.id.top_go_to_today) setupIntent(context, views, NEW_EVENT, R.id.top_new_event) - val monthCode = days.firstOrNull { it.code.substring(6) == "01" }?.code ?: Formatter.getTodayCode(context) + val monthCode = days.firstOrNull { it.code.substring(6) == "01" }?.code ?: Formatter.getTodayCode() setupAppOpenIntent(context, views, R.id.top_value, monthCode) try { From 295c5efe69943cfb489243ee9ecb468c9020c5f4 Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 21 Sep 2018 19:37:29 +0200 Subject: [PATCH 36/55] update commons to 4.7.15 --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index e45e8c16d..86da03845 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -42,7 +42,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:4.7.5' + implementation 'com.simplemobiletools:commons:4.7.15' implementation 'joda-time:joda-time:2.9.9' implementation 'com.facebook.stetho:stetho:1.5.0' implementation 'com.android.support:multidex:1.0.3' From d0e98c7e095e02ebe2db3cc6dff5ec599e1a2811 Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 21 Sep 2018 21:27:29 +0200 Subject: [PATCH 37/55] delay notifications by 1 second to avoid glitches at rescheduling and triggering --- .../com/simplemobiletools/calendar/extensions/Context.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/extensions/Context.kt index ccbb4314c..c03dde088 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/extensions/Context.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/extensions/Context.kt @@ -107,15 +107,16 @@ fun Context.scheduleEventIn(notifTS: Long, event: Event, activity: SimpleActivit return } + val newNotifTS = notifTS + 1000 if (activity != null) { - val secondsTillNotification = (notifTS - System.currentTimeMillis()) / 1000 + val secondsTillNotification = (newNotifTS - System.currentTimeMillis()) / 1000 val msg = String.format(getString(R.string.reminder_triggers_in), formatSecondsToTimeString(secondsTillNotification.toInt())) activity.toast(msg) } val pendingIntent = getNotificationIntent(applicationContext, event) val alarmManager = getSystemService(Context.ALARM_SERVICE) as AlarmManager - AlarmManagerCompat.setExactAndAllowWhileIdle(alarmManager, AlarmManager.RTC_WAKEUP, notifTS, pendingIntent) + AlarmManagerCompat.setExactAndAllowWhileIdle(alarmManager, AlarmManager.RTC_WAKEUP, newNotifTS, pendingIntent) } fun Context.cancelNotification(id: Int) { From ace2103b7ff75086f206958c65851b4f4dbfc677 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 22 Sep 2018 09:25:24 +0200 Subject: [PATCH 38/55] update commons to 4.7.16 --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 86da03845..385719306 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -42,7 +42,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:4.7.15' + implementation 'com.simplemobiletools:commons:4.7.16' implementation 'joda-time:joda-time:2.9.9' implementation 'com.facebook.stetho:stetho:1.5.0' implementation 'com.android.support:multidex:1.0.3' From 5ff3a754b590f5139fea5e155843a42565882630 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 22 Sep 2018 09:40:55 +0200 Subject: [PATCH 39/55] show a warning dialog if app notifications are disabled by the system --- .../calendar/activities/EventActivity.kt | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/EventActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/EventActivity.kt index 9eb06fea0..104320d54 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/EventActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/EventActivity.kt @@ -6,6 +6,7 @@ import android.app.TimePickerDialog import android.content.Intent import android.net.Uri import android.os.Bundle +import android.support.v4.app.NotificationManagerCompat import android.text.method.LinkMovementMethod import android.view.Menu import android.view.MenuItem @@ -120,12 +121,14 @@ class EventActivity : SimpleActivity() { event_repetition_limit_holder.setOnClickListener { showRepetitionTypePicker() } event_reminder_1.setOnClickListener { - if (config.wasAlarmWarningShown) { - showReminder1Dialog() - } else { - ConfirmationDialog(this, messageId = R.string.reminder_warning, positive = R.string.ok, negative = 0) { - config.wasAlarmWarningShown = true + handleNotificationAvailability() { + if (config.wasAlarmWarningShown) { showReminder1Dialog() + } else { + ConfirmationDialog(this, messageId = R.string.reminder_warning, positive = R.string.ok, negative = 0) { + config.wasAlarmWarningShown = true + showReminder1Dialog() + } } } } @@ -267,6 +270,16 @@ class EventActivity : SimpleActivity() { } } + private fun handleNotificationAvailability(callback: () -> Unit) { + if (NotificationManagerCompat.from(applicationContext).areNotificationsEnabled()) { + callback() + } else { + ConfirmationDialog(this, messageId = R.string.notifications_disabled, positive = R.string.ok, negative = 0) { + callback() + } + } + } + private fun showReminder1Dialog() { showPickSecondsDialogHelper(mReminder1Minutes) { mReminder1Minutes = if (it <= 0) it else it / 60 From 0a778762c110430a4f590e257937630a01ca796e Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 22 Sep 2018 10:09:00 +0200 Subject: [PATCH 40/55] adding some new strings related to default event reminders --- app/src/main/res/values-az/strings.xml | 4 ++++ app/src/main/res/values-br/strings.xml | 4 ++++ app/src/main/res/values-cs/strings.xml | 4 ++++ app/src/main/res/values-da/strings.xml | 4 ++++ app/src/main/res/values-de/strings.xml | 4 ++++ app/src/main/res/values-el/strings.xml | 4 ++++ app/src/main/res/values-es/strings.xml | 4 ++++ app/src/main/res/values-fr/strings.xml | 4 ++++ app/src/main/res/values-gl/strings.xml | 4 ++++ app/src/main/res/values-hi-rIN/strings.xml | 4 ++++ app/src/main/res/values-hr/strings.xml | 7 +++++-- app/src/main/res/values-hu/strings.xml | 4 ++++ app/src/main/res/values-it/strings.xml | 4 ++++ app/src/main/res/values-iw/strings.xml | 4 ++++ app/src/main/res/values-ja/strings.xml | 4 ++++ app/src/main/res/values-ko/strings.xml | 4 ++++ app/src/main/res/values-lt/strings.xml | 4 ++++ app/src/main/res/values-nb/strings.xml | 4 ++++ app/src/main/res/values-nl/strings.xml | 4 ++++ app/src/main/res/values-no/strings.xml | 4 ++++ app/src/main/res/values-pl/strings.xml | 4 ++++ app/src/main/res/values-pt-rBR/strings.xml | 4 ++++ app/src/main/res/values-pt/strings.xml | 4 ++++ app/src/main/res/values-ru/strings.xml | 4 ++++ app/src/main/res/values-sk/strings.xml | 4 ++++ app/src/main/res/values-sv/strings.xml | 4 ++++ app/src/main/res/values-tr/strings.xml | 4 ++++ app/src/main/res/values-zh-rTW/strings.xml | 4 ++++ app/src/main/res/values/strings.xml | 4 ++++ 29 files changed, 117 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml index 7f59f3ac1..8e1d01e6f 100644 --- a/app/src/main/res/values-az/strings.xml +++ b/app/src/main/res/values-az/strings.xml @@ -164,6 +164,10 @@ Zəng Bildiriş Zəng səsi + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values-br/strings.xml b/app/src/main/res/values-br/strings.xml index c90b746db..53bed0e7f 100644 --- a/app/src/main/res/values-br/strings.xml +++ b/app/src/main/res/values-br/strings.xml @@ -164,6 +164,10 @@ Alarm Notification Ring + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 90b0d2c24..a25623068 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -164,6 +164,10 @@ Budík Notifikace Zvonek + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 762e04e39..b0befb0d7 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -164,6 +164,10 @@ Alarm Notifikation Ring + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index b7d464885..9fafd7ede 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -164,6 +164,10 @@ Wecker Benachrichtigung Klingelton + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 7e6551a23..63b3ad225 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -164,6 +164,10 @@ Αφύπνιση Ειδοποίηση Κουδούνισμα + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 271bf46b5..a3cc81059 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -164,6 +164,10 @@ Alarm Notification Ring + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 44f8d2978..f41267b07 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -164,6 +164,10 @@ Alarme Notification Ring + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index d07fbc0c8..d398ec883 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -164,6 +164,10 @@ Alarm Notification Ring + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml index 309f86ea1..35c0688c2 100644 --- a/app/src/main/res/values-hi-rIN/strings.xml +++ b/app/src/main/res/values-hi-rIN/strings.xml @@ -165,6 +165,10 @@ Alarm Notification Ring + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index 679b6ce54..e7193c974 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -163,8 +163,11 @@ Sustav Alarm Obavijest - ZvoPrikaz podsjetnika, ali i reprodukcija zvuka, jako ovise o Android sustavu. Ako ne čujete zvuk, pokušajte otići u postavke aplikacije, - odaberite \"Audio izlazni kanal za podsjetnike\" te je promjenite na drugačiju vrijednost. Ako i dalje neće raditi, provjerite postavke zvuka, da odabrani kanal nije utišan.njava + Ring + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 41892f186..11e052a78 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -164,6 +164,10 @@ Alarm Notification Ring + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 42290ec30..6464207f3 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -164,6 +164,10 @@ Alarm Notification Ring + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index 187729234..2cecc9678 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -165,6 +165,10 @@ Alarm Notification Ring + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 1b4e190b9..f76eaaf2e 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -164,6 +164,10 @@ Alarm Notification Ring + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 8278e0c44..585e2a34c 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -164,6 +164,10 @@ Alarm Notification Ring + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index 728730898..a0a40d2f8 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -164,6 +164,10 @@ Alarm Notification Ring + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index 03e5885ca..722c9b28a 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -164,6 +164,10 @@ Alarm Varsel Ringetone + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index f7387132c..ccffc6dde 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -164,6 +164,10 @@ Alarm Notificatie Beltoon + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values-no/strings.xml b/app/src/main/res/values-no/strings.xml index 05b8eca7e..40b2fea05 100644 --- a/app/src/main/res/values-no/strings.xml +++ b/app/src/main/res/values-no/strings.xml @@ -164,6 +164,10 @@ Alarm Notification Ring + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 8741639cf..2a50b7159 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -164,6 +164,10 @@ Alarm Powiadomienie Dzwonek + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index f44795c10..8b7d7675a 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -164,6 +164,10 @@ Alarme Notificação Toque + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index fade02dd0..a14d6578a 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -164,6 +164,10 @@ Alarme Notificação Toque + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index ac09658c4..e27db0ba8 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -164,6 +164,10 @@ Будильник Уведомление Звонок + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 40efa478b..af400305e 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -164,6 +164,10 @@ Výstražný Pripomienkový Zvoniaci + Použiť pripomienky poslednej udalosti ako predvolené pre novú udalosť + Predvolená pripomienka 1 + Predvolená pripomienka 2 + Predvolená pripomienka 3 CalDAV diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index c4f91b332..095fd18af 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -164,6 +164,10 @@ Alarm Avisering Ring + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 69db9610f..bbd71b059 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -164,6 +164,10 @@ Alarm Bildirim Zil sesi + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 03e7535c1..507416f87 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -164,6 +164,10 @@ 鬧鐘 通知 鈴聲 + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4717b5987..fef72f85a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -164,6 +164,10 @@ Alarm Notification Ring + Use the last events\' reminders as the default for new event + Default reminder 1 + Default reminder 2 + Default reminder 3 CalDAV From 43ca59544eae7b111974d063d918c9b161e63138 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 22 Sep 2018 10:49:50 +0200 Subject: [PATCH 41/55] adding the default event reminder buttons in the app settings --- .../calendar/activities/SettingsActivity.kt | 50 +++++++ .../calendar/helpers/Config.kt | 16 +++ .../calendar/helpers/Constants.kt | 4 + app/src/main/res/layout/activity_settings.xml | 128 ++++++++++++++++++ app/src/main/res/values-az/strings.xml | 2 +- app/src/main/res/values-br/strings.xml | 2 +- app/src/main/res/values-cs/strings.xml | 2 +- app/src/main/res/values-da/strings.xml | 2 +- app/src/main/res/values-de/strings.xml | 2 +- app/src/main/res/values-el/strings.xml | 2 +- app/src/main/res/values-es/strings.xml | 2 +- app/src/main/res/values-fr/strings.xml | 2 +- app/src/main/res/values-gl/strings.xml | 2 +- app/src/main/res/values-hi-rIN/strings.xml | 2 +- app/src/main/res/values-hr/strings.xml | 2 +- app/src/main/res/values-hu/strings.xml | 2 +- app/src/main/res/values-it/strings.xml | 2 +- app/src/main/res/values-iw/strings.xml | 2 +- app/src/main/res/values-ja/strings.xml | 2 +- app/src/main/res/values-ko/strings.xml | 2 +- app/src/main/res/values-lt/strings.xml | 2 +- app/src/main/res/values-nb/strings.xml | 2 +- app/src/main/res/values-nl/strings.xml | 2 +- app/src/main/res/values-no/strings.xml | 2 +- app/src/main/res/values-pl/strings.xml | 2 +- app/src/main/res/values-pt-rBR/strings.xml | 2 +- app/src/main/res/values-pt/strings.xml | 2 +- app/src/main/res/values-ru/strings.xml | 2 +- app/src/main/res/values-sk/strings.xml | 2 +- app/src/main/res/values-sv/strings.xml | 2 +- app/src/main/res/values-tr/strings.xml | 2 +- app/src/main/res/values-zh-rTW/strings.xml | 2 +- app/src/main/res/values/strings.xml | 2 +- 33 files changed, 227 insertions(+), 29 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SettingsActivity.kt index cec36f671..9019cfdb9 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SettingsActivity.kt @@ -63,6 +63,10 @@ class SettingsActivity : SimpleActivity() { setupUseSameSnooze() setupLoopReminders() setupSnoozeTime() + setupDefaultReminder() + setupDefaultReminder1() + setupDefaultReminder2() + setupDefaultReminder3() setupDisplayPastEvents() setupFontSize() setupCustomizeWidgetColors() @@ -387,6 +391,52 @@ class SettingsActivity : SimpleActivity() { settings_snooze_time.text = formatMinutesToTimeString(config.snoozeTime) } + private fun setupDefaultReminder() { + settings_use_default_reminder.isChecked = config.useDefaultReminder + toggleDefaultRemindersVisibility(!config.useDefaultReminder) + settings_use_default_reminder_holder.setOnClickListener { + settings_use_default_reminder.toggle() + config.useDefaultReminder = settings_use_default_reminder.isChecked + toggleDefaultRemindersVisibility(!settings_use_default_reminder.isChecked) + } + } + + private fun setupDefaultReminder1() { + settings_default_reminder_1.text = getFormattedMinutes(config.defaultReminder1) + settings_default_reminder_1_holder.setOnClickListener { + showPickSecondsDialogHelper(config.defaultReminder1) { + config.defaultReminder1 = if (it <= 0) it else it / 60 + settings_default_reminder_1.text = getFormattedMinutes(config.defaultReminder1) + } + } + } + + private fun setupDefaultReminder2() { + settings_default_reminder_2.text = getFormattedMinutes(config.defaultReminder2) + settings_default_reminder_2_holder.setOnClickListener { + showPickSecondsDialogHelper(config.defaultReminder2) { + config.defaultReminder2 = if (it <= 0) it else it / 60 + settings_default_reminder_2.text = getFormattedMinutes(config.defaultReminder2) + } + } + } + + private fun setupDefaultReminder3() { + settings_default_reminder_3.text = getFormattedMinutes(config.defaultReminder3) + settings_default_reminder_3_holder.setOnClickListener { + showPickSecondsDialogHelper(config.defaultReminder3) { + config.defaultReminder3 = if (it <= 0) it else it / 60 + settings_default_reminder_3.text = getFormattedMinutes(config.defaultReminder3) + } + } + } + + private fun toggleDefaultRemindersVisibility(show: Boolean) { + arrayOf(settings_default_reminder_1_holder, settings_default_reminder_2_holder, settings_default_reminder_3_holder).forEach { + it.beVisibleIf(show) + } + } + private fun getHoursString(hours: Int) = String.format("%02d:00", hours) private fun setupDisplayPastEvents() { diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Config.kt index a5d17c122..ac4cb4f93 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Config.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Config.kt @@ -142,4 +142,20 @@ class Config(context: Context) : BaseConfig(context) { 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 useDefaultReminder: Boolean + get() = prefs.getBoolean(USE_DEFAULT_REMINDER, true) + set(useDefaultReminder) = prefs.edit().putBoolean(USE_DEFAULT_REMINDER, useDefaultReminder).apply() + + var defaultReminder1: Int + get() = prefs.getInt(DEFAULT_REMINDER_1, 10) + set(defaultReminder1) = prefs.edit().putInt(DEFAULT_REMINDER_1, defaultReminder1).apply() + + var defaultReminder2: Int + get() = prefs.getInt(DEFAULT_REMINDER_2, REMINDER_OFF) + set(defaultReminder2) = prefs.edit().putInt(DEFAULT_REMINDER_2, defaultReminder2).apply() + + var defaultReminder3: Int + get() = prefs.getInt(DEFAULT_REMINDER_3, REMINDER_OFF) + set(defaultReminder3) = prefs.edit().putInt(DEFAULT_REMINDER_3, defaultReminder3).apply() } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Constants.kt index 0b9c3ef73..c9f0ac49c 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Constants.kt @@ -58,6 +58,10 @@ const val DIM_PAST_EVENTS = "dim_past_events" const val LAST_SOUND_URI = "last_sound_uri" const val LAST_REMINDER_CHANNEL_ID = "last_reminder_channel_ID" const val REMINDER_AUDIO_STREAM = "reminder_audio_stream" +const val USE_DEFAULT_REMINDER = "use_default_reminder" +const val DEFAULT_REMINDER_1 = "default_reminder_1" +const val DEFAULT_REMINDER_2 = "default_reminder_2" +const val DEFAULT_REMINDER_3 = "default_reminder_3" // repeat_rule for monthly and yearly repetition const val REPEAT_SAME_DAY = 1 // i.e. 25th every month, or 3rd june (if yearly repetition) diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 0d9dad67c..f48e88328 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -360,6 +360,134 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Zəng Bildiriş Zəng səsi - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-br/strings.xml b/app/src/main/res/values-br/strings.xml index 53bed0e7f..d5a39e646 100644 --- a/app/src/main/res/values-br/strings.xml +++ b/app/src/main/res/values-br/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index a25623068..2528a6279 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -164,7 +164,7 @@ Budík Notifikace Zvonek - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index b0befb0d7..a0167517a 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -164,7 +164,7 @@ Alarm Notifikation Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 9fafd7ede..08f752519 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -164,7 +164,7 @@ Wecker Benachrichtigung Klingelton - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 63b3ad225..c6d0063db 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -164,7 +164,7 @@ Αφύπνιση Ειδοποίηση Κουδούνισμα - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index a3cc81059..7c934da9b 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index f41267b07..3b18c01cc 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -164,7 +164,7 @@ Alarme Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index d398ec883..95dfb74f9 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml index 35c0688c2..df9cd6e84 100644 --- a/app/src/main/res/values-hi-rIN/strings.xml +++ b/app/src/main/res/values-hi-rIN/strings.xml @@ -165,7 +165,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index e7193c974..1d01d8125 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -164,7 +164,7 @@ Alarm Obavijest Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 11e052a78..e4865bb1a 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 6464207f3..fa56df194 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index 2cecc9678..c4cf548bc 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -165,7 +165,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index f76eaaf2e..1235467b0 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 585e2a34c..5e86f0cd4 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index a0a40d2f8..eceb4638b 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index 722c9b28a..f99b1fd43 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -164,7 +164,7 @@ Alarm Varsel Ringetone - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index ccffc6dde..470b8d12a 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -164,7 +164,7 @@ Alarm Notificatie Beltoon - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-no/strings.xml b/app/src/main/res/values-no/strings.xml index 40b2fea05..b25f954a6 100644 --- a/app/src/main/res/values-no/strings.xml +++ b/app/src/main/res/values-no/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 2a50b7159..665cdc663 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -164,7 +164,7 @@ Alarm Powiadomienie Dzwonek - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 8b7d7675a..9266006e7 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -164,7 +164,7 @@ Alarme Notificação Toque - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index a14d6578a..ebe4bf2a6 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -164,7 +164,7 @@ Alarme Notificação Toque - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index e27db0ba8..8e4cdf024 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -164,7 +164,7 @@ Будильник Уведомление Звонок - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index af400305e..f96575ad2 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -164,7 +164,7 @@ Výstražný Pripomienkový Zvoniaci - Použiť pripomienky poslednej udalosti ako predvolené pre novú udalosť + Použiť pripomienky poslednej udalosti ako predvolené pre novú udalosť Predvolená pripomienka 1 Predvolená pripomienka 2 Predvolená pripomienka 3 diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 095fd18af..a389db76f 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -164,7 +164,7 @@ Alarm Avisering Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index bbd71b059..290599b50 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -164,7 +164,7 @@ Alarm Bildirim Zil sesi - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 507416f87..4ad4aae7b 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -164,7 +164,7 @@ 鬧鐘 通知 鈴聲 - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index fef72f85a..cc93903be 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 From b42571cf2f0edf4fbcec72474da3ced31764826f Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 22 Sep 2018 11:02:49 +0200 Subject: [PATCH 42/55] apply the selected default event reminder --- .../calendar/activities/EventActivity.kt | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/EventActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/EventActivity.kt index 104320d54..072551bf8 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/EventActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/EventActivity.kt @@ -94,9 +94,9 @@ class EventActivity : SimpleActivity() { cancelNotification(mEvent.id) } else { mEvent = Event() - mReminder1Minutes = config.defaultReminderMinutes - mReminder2Minutes = config.defaultReminderMinutes3 - mReminder3Minutes = config.defaultReminderMinutes2 + mReminder1Minutes = if (config.useDefaultReminder) config.defaultReminderMinutes else config.defaultReminder1 + mReminder2Minutes = if (config.useDefaultReminder) config.defaultReminderMinutes2 else config.defaultReminder2 + mReminder3Minutes = if (config.useDefaultReminder) config.defaultReminderMinutes3 else config.defaultReminder3 if (savedInstanceState == null) { setupNewEvent() @@ -715,9 +715,11 @@ class EventActivity : SimpleActivity() { val reminder3 = reminders.getOrElse(2) { REMINDER_OFF } config.apply { - defaultReminderMinutes = reminder1 - defaultReminderMinutes2 = reminder2 - defaultReminderMinutes3 = reminder3 + if (useDefaultReminder) { + defaultReminderMinutes = reminder1 + defaultReminderMinutes2 = reminder2 + defaultReminderMinutes3 = reminder3 + } } mEvent.apply { From 89a6576a153a0c81e5fe3b9037602fd087aad16a Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 22 Sep 2018 11:09:02 +0200 Subject: [PATCH 43/55] renaming some values related to default reminders for clarity --- .../calendar/activities/EventActivity.kt | 14 +++++------ .../calendar/activities/SettingsActivity.kt | 12 +++++----- .../calendar/helpers/Config.kt | 24 +++++++++---------- .../calendar/helpers/Constants.kt | 8 +++---- app/src/main/res/layout/activity_settings.xml | 6 ++--- app/src/main/res/values-az/strings.xml | 2 +- app/src/main/res/values-br/strings.xml | 2 +- app/src/main/res/values-cs/strings.xml | 2 +- app/src/main/res/values-da/strings.xml | 2 +- app/src/main/res/values-de/strings.xml | 2 +- app/src/main/res/values-el/strings.xml | 2 +- app/src/main/res/values-es/strings.xml | 2 +- app/src/main/res/values-fr/strings.xml | 2 +- app/src/main/res/values-gl/strings.xml | 2 +- app/src/main/res/values-hi-rIN/strings.xml | 2 +- app/src/main/res/values-hr/strings.xml | 2 +- app/src/main/res/values-hu/strings.xml | 2 +- app/src/main/res/values-it/strings.xml | 2 +- app/src/main/res/values-iw/strings.xml | 2 +- app/src/main/res/values-ja/strings.xml | 2 +- app/src/main/res/values-ko/strings.xml | 2 +- app/src/main/res/values-lt/strings.xml | 2 +- app/src/main/res/values-nb/strings.xml | 2 +- app/src/main/res/values-nl/strings.xml | 2 +- app/src/main/res/values-no/strings.xml | 2 +- app/src/main/res/values-pl/strings.xml | 2 +- app/src/main/res/values-pt-rBR/strings.xml | 2 +- app/src/main/res/values-pt/strings.xml | 2 +- app/src/main/res/values-ru/strings.xml | 2 +- app/src/main/res/values-sk/strings.xml | 2 +- app/src/main/res/values-sv/strings.xml | 2 +- app/src/main/res/values-tr/strings.xml | 2 +- app/src/main/res/values-zh-rTW/strings.xml | 2 +- app/src/main/res/values/strings.xml | 2 +- 34 files changed, 61 insertions(+), 61 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/EventActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/EventActivity.kt index 072551bf8..c3dc37a78 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/EventActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/EventActivity.kt @@ -94,9 +94,9 @@ class EventActivity : SimpleActivity() { cancelNotification(mEvent.id) } else { mEvent = Event() - mReminder1Minutes = if (config.useDefaultReminder) config.defaultReminderMinutes else config.defaultReminder1 - mReminder2Minutes = if (config.useDefaultReminder) config.defaultReminderMinutes2 else config.defaultReminder2 - mReminder3Minutes = if (config.useDefaultReminder) config.defaultReminderMinutes3 else config.defaultReminder3 + mReminder1Minutes = if (config.usePreviousEventReminders) config.lastEventReminderMinutes else config.defaultReminder1 + mReminder2Minutes = if (config.usePreviousEventReminders) config.lastEventReminderMinutes2 else config.defaultReminder2 + mReminder3Minutes = if (config.usePreviousEventReminders) config.lastEventReminderMinutes3 else config.defaultReminder3 if (savedInstanceState == null) { setupNewEvent() @@ -715,10 +715,10 @@ class EventActivity : SimpleActivity() { val reminder3 = reminders.getOrElse(2) { REMINDER_OFF } config.apply { - if (useDefaultReminder) { - defaultReminderMinutes = reminder1 - defaultReminderMinutes2 = reminder2 - defaultReminderMinutes3 = reminder3 + if (usePreviousEventReminders) { + lastEventReminderMinutes = reminder1 + lastEventReminderMinutes2 = reminder2 + lastEventReminderMinutes3 = reminder3 } } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SettingsActivity.kt index 9019cfdb9..f231627a1 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SettingsActivity.kt @@ -392,12 +392,12 @@ class SettingsActivity : SimpleActivity() { } private fun setupDefaultReminder() { - settings_use_default_reminder.isChecked = config.useDefaultReminder - toggleDefaultRemindersVisibility(!config.useDefaultReminder) - settings_use_default_reminder_holder.setOnClickListener { - settings_use_default_reminder.toggle() - config.useDefaultReminder = settings_use_default_reminder.isChecked - toggleDefaultRemindersVisibility(!settings_use_default_reminder.isChecked) + settings_use_last_event_reminders.isChecked = config.usePreviousEventReminders + toggleDefaultRemindersVisibility(!config.usePreviousEventReminders) + settings_use_last_event_reminders_holder.setOnClickListener { + settings_use_last_event_reminders.toggle() + config.usePreviousEventReminders = settings_use_last_event_reminders.isChecked + toggleDefaultRemindersVisibility(!settings_use_last_event_reminders.isChecked) } } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Config.kt index ac4cb4f93..021c78bdf 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Config.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Config.kt @@ -52,17 +52,17 @@ class Config(context: Context) : BaseConfig(context) { get() = prefs.getInt(VIEW, MONTHLY_VIEW) set(view) = prefs.edit().putInt(VIEW, view).apply() - var defaultReminderMinutes: Int - get() = prefs.getInt(REMINDER_MINUTES, 10) - set(defaultReminderMinutes) = prefs.edit().putInt(REMINDER_MINUTES, defaultReminderMinutes).apply() + var lastEventReminderMinutes: Int + get() = prefs.getInt(LAST_EVENT_REMINDER_MINUTES, 10) + set(lastEventReminderMinutes) = prefs.edit().putInt(LAST_EVENT_REMINDER_MINUTES, lastEventReminderMinutes).apply() - var defaultReminderMinutes2: Int - get() = prefs.getInt(REMINDER_MINUTES_2, REMINDER_OFF) - set(defaultReminderMinutes2) = prefs.edit().putInt(REMINDER_MINUTES_2, defaultReminderMinutes2).apply() + var lastEventReminderMinutes2: Int + get() = prefs.getInt(LAST_EVENT_REMINDER_MINUTES_2, REMINDER_OFF) + set(lastEventReminderMinutes2) = prefs.edit().putInt(LAST_EVENT_REMINDER_MINUTES_2, lastEventReminderMinutes2).apply() - var defaultReminderMinutes3: Int - get() = prefs.getInt(REMINDER_MINUTES_3, REMINDER_OFF) - set(defaultReminderMinutes3) = prefs.edit().putInt(REMINDER_MINUTES_3, defaultReminderMinutes3).apply() + var lastEventReminderMinutes3: Int + get() = prefs.getInt(LAST_EVENT_REMINDER_MINUTES_3, REMINDER_OFF) + set(lastEventReminderMinutes3) = prefs.edit().putInt(LAST_EVENT_REMINDER_MINUTES_3, lastEventReminderMinutes3).apply() var displayPastEvents: Int get() = prefs.getInt(DISPLAY_PAST_EVENTS, DAY_MINUTES) @@ -143,9 +143,9 @@ class Config(context: Context) : BaseConfig(context) { private fun getMediumFontSize() = context.resources.getDimension(R.dimen.day_text_size) / context.resources.displayMetrics.density private fun getLargeFontSize() = getMediumFontSize() + 3f - var useDefaultReminder: Boolean - get() = prefs.getBoolean(USE_DEFAULT_REMINDER, true) - set(useDefaultReminder) = prefs.edit().putBoolean(USE_DEFAULT_REMINDER, useDefaultReminder).apply() + var usePreviousEventReminders: Boolean + get() = prefs.getBoolean(USE_PREVIOUS_EVENT_REMINDERS, true) + set(usePreviousEventReminders) = prefs.edit().putBoolean(USE_PREVIOUS_EVENT_REMINDERS, usePreviousEventReminders).apply() var defaultReminder1: Int get() = prefs.getInt(DEFAULT_REMINDER_1, 10) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Constants.kt index c9f0ac49c..ce736e0e7 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Constants.kt @@ -41,9 +41,9 @@ const val VIBRATE = "vibrate" const val REMINDER_SOUND_URI = "reminder_sound_uri" const val REMINDER_SOUND_TITLE = "reminder_sound_title" const val VIEW = "view" -const val REMINDER_MINUTES = "reminder_minutes" -const val REMINDER_MINUTES_2 = "reminder_minutes_2" -const val REMINDER_MINUTES_3 = "reminder_minutes_3" +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 CALDAV_SYNC = "caldav_sync" @@ -58,7 +58,7 @@ const val DIM_PAST_EVENTS = "dim_past_events" const val LAST_SOUND_URI = "last_sound_uri" const val LAST_REMINDER_CHANNEL_ID = "last_reminder_channel_ID" const val REMINDER_AUDIO_STREAM = "reminder_audio_stream" -const val USE_DEFAULT_REMINDER = "use_default_reminder" +const val USE_PREVIOUS_EVENT_REMINDERS = "use_previous_event_reminders" const val DEFAULT_REMINDER_1 = "default_reminder_1" const val DEFAULT_REMINDER_2 = "default_reminder_2" const val DEFAULT_REMINDER_3 = "default_reminder_3" diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index f48e88328..14f5c73fa 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -361,7 +361,7 @@ + android:text="@string/use_last_event_reminders"/> diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml index d9c4d20df..0a84291e9 100644 --- a/app/src/main/res/values-az/strings.xml +++ b/app/src/main/res/values-az/strings.xml @@ -164,7 +164,7 @@ Zəng Bildiriş Zəng səsi - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-br/strings.xml b/app/src/main/res/values-br/strings.xml index d5a39e646..f2f959e06 100644 --- a/app/src/main/res/values-br/strings.xml +++ b/app/src/main/res/values-br/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 2528a6279..dcccd881d 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -164,7 +164,7 @@ Budík Notifikace Zvonek - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index a0167517a..771c2bba5 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -164,7 +164,7 @@ Alarm Notifikation Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 08f752519..2803e514e 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -164,7 +164,7 @@ Wecker Benachrichtigung Klingelton - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index c6d0063db..6786b0bd4 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -164,7 +164,7 @@ Αφύπνιση Ειδοποίηση Κουδούνισμα - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 7c934da9b..ccdcedc79 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 3b18c01cc..db7adb867 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -164,7 +164,7 @@ Alarme Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index 95dfb74f9..6b80a0c72 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml index df9cd6e84..74b686969 100644 --- a/app/src/main/res/values-hi-rIN/strings.xml +++ b/app/src/main/res/values-hi-rIN/strings.xml @@ -165,7 +165,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index 1d01d8125..ab52a489f 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -164,7 +164,7 @@ Alarm Obavijest Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index e4865bb1a..35037d3e9 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index fa56df194..5b4d0b7bb 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index c4cf548bc..888d618b5 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -165,7 +165,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 1235467b0..6d625c422 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 5e86f0cd4..1b00ee085 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index eceb4638b..615fe9048 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index f99b1fd43..b5aa6d84f 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -164,7 +164,7 @@ Alarm Varsel Ringetone - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 470b8d12a..d6c878272 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -164,7 +164,7 @@ Alarm Notificatie Beltoon - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-no/strings.xml b/app/src/main/res/values-no/strings.xml index b25f954a6..b8e43aaf8 100644 --- a/app/src/main/res/values-no/strings.xml +++ b/app/src/main/res/values-no/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 665cdc663..9b289c1f9 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -164,7 +164,7 @@ Alarm Powiadomienie Dzwonek - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 9266006e7..ded2b08d8 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -164,7 +164,7 @@ Alarme Notificação Toque - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index ebe4bf2a6..558daf055 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -164,7 +164,7 @@ Alarme Notificação Toque - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 8e4cdf024..d245c38c0 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -164,7 +164,7 @@ Будильник Уведомление Звонок - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index f96575ad2..0a5d783a6 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -164,7 +164,7 @@ Výstražný Pripomienkový Zvoniaci - Použiť pripomienky poslednej udalosti ako predvolené pre novú udalosť + Použiť pripomienky poslednej udalosti ako predvolené pre novú udalosť Predvolená pripomienka 1 Predvolená pripomienka 2 Predvolená pripomienka 3 diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index a389db76f..0b4b540bb 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -164,7 +164,7 @@ Alarm Avisering Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 290599b50..ec742e565 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -164,7 +164,7 @@ Alarm Bildirim Zil sesi - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 4ad4aae7b..715e32a4c 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -164,7 +164,7 @@ 鬧鐘 通知 鈴聲 - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index cc93903be..b1de5682b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 From 3b4e89e7baabead116eadbea2c79b945db34bae2 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 22 Sep 2018 11:19:59 +0200 Subject: [PATCH 44/55] make sure the selected default reminders are sorted properly --- .../calendar/activities/SettingsActivity.kt | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SettingsActivity.kt index f231627a1..c0e6f56d4 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SettingsActivity.kt @@ -8,10 +8,7 @@ import android.text.TextUtils import com.simplemobiletools.calendar.R import com.simplemobiletools.calendar.dialogs.SelectCalendarsDialog import com.simplemobiletools.calendar.extensions.* -import com.simplemobiletools.calendar.helpers.CalDAVHandler -import com.simplemobiletools.calendar.helpers.FONT_SIZE_LARGE -import com.simplemobiletools.calendar.helpers.FONT_SIZE_MEDIUM -import com.simplemobiletools.calendar.helpers.FONT_SIZE_SMALL +import com.simplemobiletools.calendar.helpers.* import com.simplemobiletools.calendar.models.EventType import com.simplemobiletools.commons.dialogs.ConfirmationDialog import com.simplemobiletools.commons.dialogs.CustomIntervalPickerDialog @@ -81,6 +78,14 @@ class SettingsActivity : SimpleActivity() { mStoredPrimaryColor = config.primaryColor } + override fun onStop() { + super.onStop() + val reminders = sortedSetOf(config.defaultReminder1, config.defaultReminder2, config.defaultReminder3).filter { it != REMINDER_OFF } + config.defaultReminder1 = reminders.getOrElse(0) { REMINDER_OFF } + config.defaultReminder2 = reminders.getOrElse(1) { REMINDER_OFF } + config.defaultReminder3 = reminders.getOrElse(2) { REMINDER_OFF } + } + private fun checkPrimaryColor() { if (config.primaryColor != mStoredPrimaryColor) { dbHelper.getEventTypes { From 030f9957feed51c24b266d4e0d5f3193e1b53e84 Mon Sep 17 00:00:00 2001 From: Guillaume Date: Sat, 22 Sep 2018 14:17:36 +0200 Subject: [PATCH 45/55] Dutch --- app/src/main/res/values-nl/strings.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index d6c878272..861a53c42 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -102,7 +102,7 @@ Afspraken exporteren Afspraken uit .ics-bestand importeren Afspraken naar .ics-bestand exporteren - Standaard afspraaktype + Standaardtype afspraken Afspraken uit verleden ook exporteren Afspraaktypes weergeven Bestandsnaam (zonder .ics) @@ -164,10 +164,10 @@ Alarm Notificatie Beltoon - Use the last events\' reminders as the default for new event - Default reminder 1 - Default reminder 2 - Default reminder 3 + Ingestelde herinneringen bij laatste afspraak als standaard voor nieuwe afspraken gebruiken + Standaardherinnering 1 + Standaardherinnering 2 + Standaardherinnering 3 CalDAV From 65e2df089ab76fad4fbd819642aa86bee8749514 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 22 Sep 2018 15:54:03 +0200 Subject: [PATCH 46/55] remove the db reference from bootReceiver --- .../calendar/receivers/BootCompletedReceiver.kt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/receivers/BootCompletedReceiver.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/receivers/BootCompletedReceiver.kt index 5c1c4144f..d6aec0c36 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/receivers/BootCompletedReceiver.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/receivers/BootCompletedReceiver.kt @@ -3,7 +3,6 @@ package com.simplemobiletools.calendar.receivers import android.content.BroadcastReceiver import android.content.Context import android.content.Intent -import com.simplemobiletools.calendar.extensions.dbHelper import com.simplemobiletools.calendar.extensions.notifyRunningEvents import com.simplemobiletools.calendar.extensions.recheckCalDAVCalendars import com.simplemobiletools.calendar.extensions.scheduleAllEvents @@ -11,9 +10,6 @@ import com.simplemobiletools.calendar.extensions.scheduleAllEvents class BootCompletedReceiver : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { - // try just getting a reference to the db so it updates in time - context.dbHelper - Thread { context.apply { scheduleAllEvents() From 4cf4e53f50a410dce98c46aee10c56e84dadbbec Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 22 Sep 2018 19:06:45 +0200 Subject: [PATCH 47/55] update commons to 4.7.17 --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 385719306..f3a21a60e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -42,7 +42,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:4.7.16' + implementation 'com.simplemobiletools:commons:4.7.17' implementation 'joda-time:joda-time:2.9.9' implementation 'com.facebook.stetho:stetho:1.5.0' implementation 'com.android.support:multidex:1.0.3' From 184f90a1e50605b556bc18cc73554014e695ab90 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 22 Sep 2018 21:58:41 +0200 Subject: [PATCH 48/55] adding the new default event reminders in release notes --- .../com/simplemobiletools/calendar/activities/MainActivity.kt | 1 + app/src/main/res/values/donottranslate.xml | 1 + 2 files changed, 2 insertions(+) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/MainActivity.kt index d235341dd..d4ed72a8e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/MainActivity.kt @@ -843,6 +843,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { add(Release(98, R.string.release_98)) add(Release(117, R.string.release_117)) add(Release(119, R.string.release_119)) + add(Release(129, R.string.release_129)) checkWhatsNew(this, BuildConfig.VERSION_CODE) } } diff --git a/app/src/main/res/values/donottranslate.xml b/app/src/main/res/values/donottranslate.xml index 48ddafb6a..cb4876e22 100644 --- a/app/src/main/res/values/donottranslate.xml +++ b/app/src/main/res/values/donottranslate.xml @@ -2,6 +2,7 @@ + Allow setting default event reminders, not always reuse the last events' ones Allow changing the app launcher icon color\n Added support for more advanced yearly repetition rules\n From 1b310ee3f0283f83ff9a28f2e4c69c3cf8c81865 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 22 Sep 2018 22:02:18 +0200 Subject: [PATCH 49/55] escaping an apostrophe --- app/src/main/res/values/donottranslate.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values/donottranslate.xml b/app/src/main/res/values/donottranslate.xml index cb4876e22..ab34a38ae 100644 --- a/app/src/main/res/values/donottranslate.xml +++ b/app/src/main/res/values/donottranslate.xml @@ -2,7 +2,7 @@ - Allow setting default event reminders, not always reuse the last events' ones + Allow setting default event reminders, not always reuse the last events\' ones Allow changing the app launcher icon color\n Added support for more advanced yearly repetition rules\n From c3f59996155a1103ae25b43e3f56c64a0474efee Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 22 Sep 2018 22:03:48 +0200 Subject: [PATCH 50/55] update version to 4.2.1 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index f3a21a60e..6b3a8c331 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ android { applicationId "com.simplemobiletools.calendar" minSdkVersion 16 targetSdkVersion 28 - versionCode 128 - versionName "4.2.0" + versionCode 129 + versionName "4.2.1" multiDexEnabled true setProperty("archivesBaseName", "calendar") } From 3f15c66f38dbc52ed706d06973eb0a5815356252 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 22 Sep 2018 22:03:53 +0200 Subject: [PATCH 51/55] updating changelog --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 89836b2ff..89b1dc86f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,14 @@ Changelog ========== +Version 4.2.1 *(2018-09-22)* +---------------------------- + + * Fixed some crashes related to specific invalid times in some timezones + * Added some holidays in Malaysia and Australia by youdly + * Added a new warning if the app notifications are disabled by the system + * Some other translation improvements and bugfixes + Version 4.2.0 *(2018-09-10)* ---------------------------- From da9eaf2f7085b2e101468471f5a34b5d36720974 Mon Sep 17 00:00:00 2001 From: Ettore Atalan Date: Sun, 23 Sep 2018 02:19:59 +0200 Subject: [PATCH 52/55] Updated German translation. Translated newly added strings to german. --- app/src/main/res/values-de/strings.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 2803e514e..446c52f43 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -164,10 +164,10 @@ Wecker Benachrichtigung Klingelton - Use the last events\' reminders as the default for new event - Default reminder 1 - Default reminder 2 - Default reminder 3 + Erinnerungen der letzten Termine als Standard für neuen Termin verwenden + Standarderinnerung 1 + Standarderinnerung 2 + Standarderinnerung 3 CalDAV From 59b42fb012492aa5782a511c2326fa0abc0bc50f Mon Sep 17 00:00:00 2001 From: 10cents Date: Mon, 24 Sep 2018 11:10:17 +0200 Subject: [PATCH 53/55] Settings, 4 strings --- app/src/main/res/values-da/strings.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 771c2bba5..ff980b4a1 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -164,10 +164,10 @@ Alarm Notifikation Ring - Use the last events\' reminders as the default for new event - Default reminder 1 - Default reminder 2 - Default reminder 3 + Brug den sidst opsatte påmindelse som standard for påmindelser + Påmindelse 1 + Påmindelse 2 + Påmindelse 3 CalDAV From 1b91bcff2b3af8733989437536db5cf78ee5bfd3 Mon Sep 17 00:00:00 2001 From: michaelof Date: Wed, 26 Sep 2018 18:07:23 +0200 Subject: [PATCH 54/55] Small changes, for clarification --- app/src/main/res/values-de/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 446c52f43..dccee13df 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -164,7 +164,7 @@ Wecker Benachrichtigung Klingelton - Erinnerungen der letzten Termine als Standard für neuen Termin verwenden + Erinnerungen des letzten Termins als Vorgabe für neuen Termin verwenden Standarderinnerung 1 Standarderinnerung 2 Standarderinnerung 3 From e9161e091d68b322b7ba5db9df4dfe9cf479e210 Mon Sep 17 00:00:00 2001 From: ouzowtf <40427657+ouzowtf@users.noreply.github.com> Date: Wed, 26 Sep 2018 18:57:48 +0200 Subject: [PATCH 55/55] Update strings.xml --- app/src/main/res/values-de/strings.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 446c52f43..451cc657d 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -25,7 +25,7 @@ Der Termin darf nicht früher enden als er beginnt Termin erfolgreich hinzugefügt Termin erfolgreich aktualisiert - Termine nach Typ sortieren + Termine nach Typ filtern Bitte trage einen Ort ein, der auf einer Karte angezeigt werden soll Ein Termin steht an @@ -81,13 +81,13 @@ Geburtstage - Kontaktgeburtstage hinzufügen + Geburtstage der Kontakte hinzufügen Keine Geburtstage gefunden Geburtstage erfolgreich hinzugefügt Jahrestage - Kontakt zu Jahrestagen hinzufügen + Jahrestage der Kontakte hinzufügen Es wurden keine Jahrestage gefunden Jahrestage erfolgreich hinzugefügt