commit
e71879562c
72 changed files with 1446 additions and 408 deletions
17
CHANGELOG.md
17
CHANGELOG.md
|
@ -1,6 +1,23 @@
|
|||
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)*
|
||||
----------------------------
|
||||
|
||||
* 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)*
|
||||
----------------------------
|
||||
|
||||
|
|
|
@ -3,15 +3,15 @@ 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
|
||||
versionCode 127
|
||||
versionName "4.1.3"
|
||||
targetSdkVersion 28
|
||||
versionCode 129
|
||||
versionName "4.2.1"
|
||||
multiDexEnabled true
|
||||
setProperty("archivesBaseName", "calendar")
|
||||
}
|
||||
|
@ -41,18 +41,11 @@ android {
|
|||
}
|
||||
}
|
||||
|
||||
ext {
|
||||
leakCanaryVersion = '1.5.4'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'com.simplemobiletools:commons:4.6.10'
|
||||
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'
|
||||
|
||||
debugImplementation "com.squareup.leakcanary:leakcanary-android:$leakCanaryVersion"
|
||||
releaseImplementation "com.squareup.leakcanary:leakcanary-android-no-op:$leakCanaryVersion"
|
||||
}
|
||||
|
||||
Properties props = new Properties()
|
||||
|
|
|
@ -1,89 +1,295 @@
|
|||
BEGIN:VCALENDAR
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:New Year's Day
|
||||
UID:aus-123
|
||||
DTSTART;VALUE=DATE:20180101
|
||||
DTEND;VALUE=DATE:20180102
|
||||
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
|
||||
SUMMARY:Australia Day
|
||||
UID:aus-127
|
||||
DTSTART;VALUE=DATE:20180126
|
||||
DTEND;VALUE=DATE:20180127
|
||||
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
|
||||
SUMMARY:Good Friday
|
||||
UID:aus-129
|
||||
DTSTART;VALUE=DATE:20180330
|
||||
DTEND;VALUE=DATE:20180331
|
||||
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
|
||||
SUMMARY:Easter Saturday
|
||||
UID:aus-131
|
||||
DTSTART;VALUE=DATE:20180331
|
||||
DTEND;VALUE=DATE:20180401
|
||||
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
|
||||
SUMMARY:Easter Sunday
|
||||
UID:aus-133
|
||||
DTSTART;VALUE=DATE:20180401
|
||||
DTEND;VALUE=DATE:20180402
|
||||
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
|
||||
SUMMARY:Easter Monday
|
||||
UID:aus-135
|
||||
DTSTART;VALUE=DATE:20180402
|
||||
DTEND;VALUE=DATE:20180403
|
||||
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
|
||||
DTSTART;VALUE=DATE:20190421
|
||||
DTEND;VALUE=DATE:20190422
|
||||
UID:20190421_60o30chi6ko38c1g60o30dr56c@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Easter Day (regional holiday)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Anzac Day
|
||||
UID:aus-137
|
||||
DTSTART;VALUE=DATE:20180425
|
||||
DTEND;VALUE=DATE:20180426
|
||||
UID:20180425_60o30chi6so32c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1
|
||||
SUMMARY:ANZAC Day
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20180928
|
||||
DTEND;VALUE=DATE:20180929
|
||||
UID:20180928_60o30p9k60o30c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:AFL Grand Final Friday (Victoria)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190527
|
||||
DTEND;VALUE=DATE:20190528
|
||||
UID:20190527_60o32dr3cgo30c1g60o30dr56c@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Reconciliation Day (Australian Capital Territory)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20180924
|
||||
DTEND;VALUE=DATE:20180925
|
||||
UID:20180924_60o30chhcoo36c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Queen's Birthday (Western Australia)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20181001
|
||||
DTEND;VALUE=DATE:20181002
|
||||
UID:20181001_60o30chhcoo38c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=10;BYDAY=1MO
|
||||
SUMMARY:Queen's Birthday (Queensland)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Queen's Birthday
|
||||
UID:aus-139
|
||||
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
|
||||
DTSTART;VALUE=DATE:20190420
|
||||
DTEND;VALUE=DATE:20190421
|
||||
UID:20190420_60o30chi6go32c1g60o30dr56c@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Holy Saturday (regional holiday)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190814
|
||||
DTEND;VALUE=DATE:20190815
|
||||
UID:20190814_60o30chj6go30c1g60o30dr56c@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Royal National Agricultural Show Day Queensland (Queensland)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20180212
|
||||
DTEND;VALUE=DATE:20180213
|
||||
UID:20180212_60o30e1pcko30e1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=2;BYDAY=2MO
|
||||
SUMMARY:Royal Hobart Regatta (Tasmania)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
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
|
||||
DTSTART;VALUE=DATE:20190930
|
||||
DTEND;VALUE=DATE:20191001
|
||||
UID:20190930_60o30chhcoo36e1g60o30dr56c@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Queen's Birthday (Western Australia)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Bank Holiday
|
||||
UID:aus-141
|
||||
DTSTART;VALUE=DATE:20180806
|
||||
DTEND;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
|
||||
SUMMARY:Labour Day
|
||||
UID:aus-143
|
||||
DTSTART;VALUE=DATE:20181001
|
||||
DTEND;VALUE=DATE:20181001
|
||||
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: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
|
||||
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: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
|
||||
DTSTART;VALUE=DATE:20190423
|
||||
DTEND;VALUE=DATE:20190424
|
||||
UID:20190423_60o30chj6co30c1g60o30dr56c@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Easter Tuesday (Tasmania)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20180312
|
||||
DTEND;VALUE=DATE:20180313
|
||||
UID:20180312_60o30chicoo30e1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=3;BYDAY=2MO
|
||||
SUMMARY:Adelaide Cup (South Australia)
|
||||
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: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
|
||||
DTSTART;VALUE=DATE:20180321
|
||||
DTEND;VALUE=DATE:20180322
|
||||
UID:20180321_60o30opo64o30c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1
|
||||
SUMMARY:Harmony Day
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20181111
|
||||
DTEND;VALUE=DATE:20181112
|
||||
UID:20181111_60o30chj6so30c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1
|
||||
SUMMARY:Remembrance Day
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20180101
|
||||
DTEND;VALUE=DATE:20180102
|
||||
UID:20180101_60o30chhcgo30c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1
|
||||
SUMMARY:New Year's Day
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Christmas Day
|
||||
UID:aus-145
|
||||
DTSTART;VALUE=DATE:20181225
|
||||
DTEND;VALUE=DATE:20181226
|
||||
UID:20181225_60o30chi64o30c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1
|
||||
SUMMARY:Christmas Day
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Boxing Day
|
||||
UID:aus-147
|
||||
DTSTART;VALUE=DATE:20181226
|
||||
DTEND;VALUE=DATE:20181227
|
||||
DTSTART;VALUE=DATE:20180126
|
||||
DTEND;VALUE=DATE:20180127
|
||||
UID:20180126_60o30chhcko30c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1
|
||||
SUMMARY:Australia Day
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190128
|
||||
DTEND;VALUE=DATE:20190129
|
||||
UID:20190128_60o30chhcko30e1g60o30dr56c@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Australia Day observed
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190422
|
||||
DTEND;VALUE=DATE:20190423
|
||||
UID:20190422_60o30chi6oo30c1g60o30dr56c@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Easter Monday
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20181226
|
||||
DTEND;VALUE=DATE:20181227
|
||||
UID:20181226_60o30chi68o30c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1
|
||||
SUMMARY:Boxing Day
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20181224
|
||||
DTEND;VALUE=DATE:20181225
|
||||
UID:20181224_60o30chi60o30c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1
|
||||
SUMMARY:Christmas Eve
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190419
|
||||
DTEND;VALUE=DATE:20190420
|
||||
UID:20190419_60o30chi6co30c1g60o30dr56c@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Good Friday
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20181231
|
||||
DTEND;VALUE=DATE:20190101
|
||||
UID:20181231_60o30chhcco30c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1
|
||||
SUMMARY:New Year's Eve
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
|
429
app/src/main/assets/malaysia.ics
Normal file
429
app/src/main/assets/malaysia.ics
Normal file
|
@ -0,0 +1,429 @@
|
|||
BEGIN:VCALENDAR
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190713
|
||||
DTEND;VALUE=DATE:20190714
|
||||
UID:20190713_60o30pb3cgo30e1g60o30dr56c@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Penang Governor's Birthday (Penang)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20180101
|
||||
DTEND;VALUE=DATE:20180102
|
||||
UID:20180101_60o30db16oo30c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1
|
||||
SUMMARY:New Year's Day (regional holiday)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20180531
|
||||
DTEND;VALUE=DATE:20180601
|
||||
UID:20180531_60o30p9k6oo30c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1
|
||||
SUMMARY:Harvest Festival Day 2 (regional holiday)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190605
|
||||
DTEND;VALUE=DATE:20190606
|
||||
UID:20190605_60o30db260o30c1g60o30db160@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Hari Raya Puasa
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190419
|
||||
DTEND;VALUE=DATE:20190420
|
||||
UID:20190419_60o30db26so30c1g60o30dr56c@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Good Friday (regional holiday)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20180707
|
||||
DTEND;VALUE=DATE:20180708
|
||||
UID:20180707_60o30pb3cco30c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1
|
||||
SUMMARY:George Town World Heritage City Day (Penang)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20191027
|
||||
DTEND;VALUE=DATE:20191028
|
||||
UID:20191027_60o30db268o30c1g60o30dr56c@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Diwali/Deepavali (regional holiday)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190506
|
||||
DTEND;VALUE=DATE:20190507
|
||||
UID:20190506_60o30ob5c4o30c1g60o30db160@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Ramadan begins (regional holiday)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20180530
|
||||
DTEND;VALUE=DATE:20180531
|
||||
UID:20180530_60o30p9k6ko30c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1
|
||||
SUMMARY:Harvest Festival (regional holiday)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20181015
|
||||
DTEND;VALUE=DATE:20181016
|
||||
UID:20181015_60o32e1icgo30c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1
|
||||
SUMMARY:Almarhum Sultan Iskandar Hol Day (Johor)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190603
|
||||
DTEND;VALUE=DATE:20190604
|
||||
UID:20190603_60o32e1i64o30e1g60o30dr56c@google.com
|
||||
STATUS:CONFIRMED
|
||||
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
|
||||
UID:20190603_60o32e1i64o30e1g60o30dr56c@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Gawai Dayak Holiday observed (Sarawak)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20181106
|
||||
DTEND;VALUE=DATE:20181107
|
||||
UID:20181106_60o30db268o30c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Diwali/Deepavali (regional holiday)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20181112
|
||||
DTEND;VALUE=DATE:20181113
|
||||
UID:20181112_60o32e1j64o30c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1
|
||||
SUMMARY:Birthday of the Sultan of Kelantan (Day 2) (Kelantan)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20180909
|
||||
DTEND;VALUE=DATE:20180910
|
||||
UID:20180909_60o30db1cko32c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1
|
||||
SUMMARY:The Yang di-Pertuan Agong's Birthday (regional holiday)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190427
|
||||
DTEND;VALUE=DATE:20190428
|
||||
UID:20190427_60o32e1i70o30c1g60o30dr56c@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Birthday of the Sultan of Terengganu (Terengganu)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20181102
|
||||
DTEND;VALUE=DATE:20181103
|
||||
UID:20181102_60o32e1icoo30c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1
|
||||
SUMMARY:Birthday of the Sultan of Perak (Perak)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20191014
|
||||
DTEND;VALUE=DATE:20191015
|
||||
UID:20191014_60o32e1icco30e1g60o30dr56c@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Birthday of the Governor of Sarawak observed (Sarawak)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20181006
|
||||
DTEND;VALUE=DATE:20181007
|
||||
UID:20181006_60o32e1ic4o30c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1
|
||||
SUMMARY:Birthday of the Governor of Sabah (Sabah)
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20180214
|
||||
DTEND;VALUE=DATE:20180215
|
||||
UID:20180214_60o32dpo68o30c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1
|
||||
SUMMARY:Valentine's Day
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190901
|
||||
DTEND;VALUE=DATE:20190902
|
||||
UID:20190901_60o30or46oo30c1g60o30db164@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Muharram/New Year
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190206
|
||||
DTEND;VALUE=DATE:20190207
|
||||
UID:20190206_60o30db170o30c1g60o32chmcc@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Second day of Chinese Lunar New Year
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20180831
|
||||
DTEND;VALUE=DATE:20180901
|
||||
UID:20180831_60o30db1coo30c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1
|
||||
SUMMARY:Malaysia's National Day
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20180501
|
||||
DTEND;VALUE=DATE:20180502
|
||||
UID:20180501_60o30db1cco30c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1
|
||||
SUMMARY:Labour Day
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20181224
|
||||
DTEND;VALUE=DATE:20181225
|
||||
UID:20181224_60o30db26oo30c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1
|
||||
SUMMARY:Christmas Eve
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20181225
|
||||
DTEND;VALUE=DATE:20181226
|
||||
UID:20181225_60o30db26ko30c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1
|
||||
SUMMARY:Christmas Day
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190205
|
||||
DTEND;VALUE=DATE:20190206
|
||||
UID:20190205_60o30db16so30c1g60o32chmcc@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Chinese Lunar New Year's Day
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20191110
|
||||
DTEND;VALUE=DATE:20191111
|
||||
UID:20191110_60o30db1c8o30c1g60o30db164@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:The Prophet Muhammad's Birthday
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20180201
|
||||
DTEND;VALUE=DATE:20180202
|
||||
UID:20180201_60o30db174o30c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1
|
||||
SUMMARY:Federal Territory Day
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190812
|
||||
DTEND;VALUE=DATE:20190813
|
||||
UID:20190812_60o30db26co30c1g60o30db160@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Hari Raya Haji
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190606
|
||||
DTEND;VALUE=DATE:20190607
|
||||
UID:20190606_60o30db264o30c1g60o30db160@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Hari Raya Puasa Day 2
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20181231
|
||||
DTEND;VALUE=DATE:20190101
|
||||
UID:20181231_60o30db16ko30c1g60o30dr568@google.com
|
||||
STATUS:CONFIRMED
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1
|
||||
SUMMARY:New Year's Eve
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190421
|
||||
DTEND;VALUE=DATE:20190422
|
||||
UID:20190421_60o30db270o30c1g60o30dr56c@google.com
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Easter Sunday
|
||||
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
|
|
@ -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)
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
@ -89,11 +90,13 @@ class EventActivity : SimpleActivity() {
|
|||
if (intent.getBooleanExtra(IS_DUPLICATE_INTENT, false)) {
|
||||
mEvent.id = 0
|
||||
}
|
||||
|
||||
cancelNotification(mEvent.id)
|
||||
} else {
|
||||
mEvent = Event()
|
||||
mReminder1Minutes = config.defaultReminderMinutes
|
||||
mReminder2Minutes = config.defaultReminderMinutes3
|
||||
mReminder3Minutes = config.defaultReminderMinutes2
|
||||
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()
|
||||
|
@ -118,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()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -265,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
|
||||
|
@ -691,7 +706,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 }
|
||||
|
@ -700,9 +715,11 @@ class EventActivity : SimpleActivity() {
|
|||
val reminder3 = reminders.getOrElse(2) { REMINDER_OFF }
|
||||
|
||||
config.apply {
|
||||
defaultReminderMinutes = reminder1
|
||||
defaultReminderMinutes2 = reminder2
|
||||
defaultReminderMinutes3 = reminder3
|
||||
if (usePreviousEventReminders) {
|
||||
lastEventReminderMinutes = reminder1
|
||||
lastEventReminderMinutes2 = reminder2
|
||||
lastEventReminderMinutes3 = reminder3
|
||||
}
|
||||
}
|
||||
|
||||
mEvent.apply {
|
||||
|
|
|
@ -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()
|
||||
|
@ -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")
|
||||
|
@ -842,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)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
@ -63,6 +60,10 @@ class SettingsActivity : SimpleActivity() {
|
|||
setupUseSameSnooze()
|
||||
setupLoopReminders()
|
||||
setupSnoozeTime()
|
||||
setupDefaultReminder()
|
||||
setupDefaultReminder1()
|
||||
setupDefaultReminder2()
|
||||
setupDefaultReminder3()
|
||||
setupDisplayPastEvents()
|
||||
setupFontSize()
|
||||
setupCustomizeWidgetColors()
|
||||
|
@ -77,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 {
|
||||
|
@ -387,6 +396,52 @@ class SettingsActivity : SimpleActivity() {
|
|||
settings_snooze_time.text = formatMinutesToTimeString(config.snoozeTime)
|
||||
}
|
||||
|
||||
private fun setupDefaultReminder() {
|
||||
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)
|
||||
}
|
||||
}
|
||||
|
||||
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() {
|
||||
|
|
|
@ -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<Event>, 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,13 +73,23 @@ class DayEventsAdapter(activity: SimpleActivity, val events: ArrayList<Event>, 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_section_title.text = event.title
|
||||
event_item_description.text = if (replaceDescriptionWithLocation) event.location else event.description
|
||||
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)
|
||||
event_item_color.applyColorFilter(event.color)
|
||||
event_item_end?.beInvisibleIf(event.startTS == event.endTS)
|
||||
event_item_color_bar.background.applyColorFilter(event.color)
|
||||
|
||||
if (event.startTS != event.endTS) {
|
||||
val startCode = Formatter.getDayCodeFromTS(event.startTS)
|
||||
|
@ -97,9 +115,9 @@ class DayEventsAdapter(activity: SimpleActivity, val events: ArrayList<Event>, r
|
|||
}
|
||||
|
||||
event_item_start.setTextColor(newTextColor)
|
||||
event_item_end.setTextColor(newTextColor)
|
||||
event_section_title.setTextColor(newTextColor)
|
||||
event_item_description.setTextColor(newTextColor)
|
||||
event_item_end?.setTextColor(newTextColor)
|
||||
event_item_title.setTextColor(newTextColor)
|
||||
event_item_description?.setTextColor(newTextColor)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
@ -24,15 +23,12 @@ 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<ListItem>, 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
|
||||
|
@ -131,11 +127,11 @@ class EventListAdapter(activity: SimpleActivity, var listItems: ArrayList<ListIt
|
|||
|
||||
private fun setupListEvent(view: View, listEvent: ListEvent) {
|
||||
view.apply {
|
||||
event_section_title.text = listEvent.title
|
||||
event_item_title.text = listEvent.title
|
||||
event_item_description?.text = if (replaceDescription) listEvent.location else listEvent.description
|
||||
event_item_start.text = if (listEvent.isAllDay) allDayString else Formatter.getTimeFromTS(context, listEvent.startTS)
|
||||
event_item_end?.beInvisibleIf(listEvent.startTS == listEvent.endTS)
|
||||
event_item_color.applyColorFilter(listEvent.color)
|
||||
event_item_color_bar.background.applyColorFilter(listEvent.color)
|
||||
|
||||
if (listEvent.startTS != listEvent.endTS) {
|
||||
event_item_end?.apply {
|
||||
|
@ -157,11 +153,9 @@ class EventListAdapter(activity: SimpleActivity, var listItems: ArrayList<ListIt
|
|||
|
||||
var startTextColor = textColor
|
||||
var endTextColor = textColor
|
||||
if (listEvent.startTS <= now && listEvent.endTS <= now) {
|
||||
if (listEvent.isAllDay) {
|
||||
if (Formatter.getDayCodeFromTS(listEvent.startTS) == Formatter.getDayCodeFromTS(now)) {
|
||||
startTextColor = primaryColor
|
||||
}
|
||||
if (listEvent.isAllDay || listEvent.startTS <= now && listEvent.endTS <= now) {
|
||||
if (listEvent.isAllDay && Formatter.getDayCodeFromTS(listEvent.startTS) == Formatter.getDayCodeFromTS(now)) {
|
||||
startTextColor = primaryColor
|
||||
}
|
||||
|
||||
if (dimPastEvents && listEvent.isPastEvent) {
|
||||
|
@ -174,7 +168,7 @@ class EventListAdapter(activity: SimpleActivity, var listItems: ArrayList<ListIt
|
|||
|
||||
event_item_start.setTextColor(startTextColor)
|
||||
event_item_end?.setTextColor(endTextColor)
|
||||
event_section_title.setTextColor(startTextColor)
|
||||
event_item_title.setTextColor(startTextColor)
|
||||
event_item_description?.setTextColor(startTextColor)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ import com.simplemobiletools.calendar.models.ListEvent
|
|||
import com.simplemobiletools.calendar.models.ListItem
|
||||
import com.simplemobiletools.calendar.models.ListSection
|
||||
import com.simplemobiletools.commons.extensions.adjustAlpha
|
||||
import com.simplemobiletools.commons.extensions.getColoredBitmap
|
||||
import com.simplemobiletools.commons.extensions.setBackgroundColor
|
||||
import com.simplemobiletools.commons.extensions.setText
|
||||
import com.simplemobiletools.commons.extensions.setTextSize
|
||||
import org.joda.time.DateTime
|
||||
|
@ -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<ListItem>()
|
||||
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()
|
||||
|
@ -56,10 +56,10 @@ class EventListWidgetAdapter(val context: Context) : RemoteViewsService.RemoteVi
|
|||
private fun setupListEvent(remoteView: RemoteViews, item: ListEvent) {
|
||||
var curTextColor = textColor
|
||||
remoteView.apply {
|
||||
setText(R.id.event_section_title, item.title)
|
||||
setText(R.id.event_item_title, item.title)
|
||||
setText(R.id.event_item_description, if (replaceDescription) item.location else item.description)
|
||||
setText(R.id.event_item_start, if (item.isAllDay) allDayString else Formatter.getTimeFromTS(context, item.startTS))
|
||||
setImageViewBitmap(R.id.event_item_color, context.resources.getColoredBitmap(R.drawable.monthly_event_dot, item.color))
|
||||
setBackgroundColor(R.id.event_item_color_bar, item.color)
|
||||
|
||||
if (item.startTS == item.endTS) {
|
||||
setViewVisibility(R.id.event_item_end, View.INVISIBLE)
|
||||
|
@ -85,12 +85,12 @@ class EventListWidgetAdapter(val context: Context) : RemoteViewsService.RemoteVi
|
|||
curTextColor = weakTextColor
|
||||
}
|
||||
|
||||
setTextColor(R.id.event_section_title, curTextColor)
|
||||
setTextColor(R.id.event_item_title, curTextColor)
|
||||
setTextColor(R.id.event_item_description, curTextColor)
|
||||
setTextColor(R.id.event_item_start, curTextColor)
|
||||
setTextColor(R.id.event_item_end, curTextColor)
|
||||
|
||||
setTextSize(R.id.event_section_title, mediumFontSize)
|
||||
setTextSize(R.id.event_item_title, mediumFontSize)
|
||||
setTextSize(R.id.event_item_description, mediumFontSize)
|
||||
setTextSize(R.id.event_item_start, mediumFontSize)
|
||||
setTextSize(R.id.event_item_end, mediumFontSize)
|
||||
|
@ -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()
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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
|
||||
|
@ -107,20 +107,20 @@ 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) {
|
||||
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 {
|
||||
|
@ -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
|
||||
}
|
||||
}
|
||||
|
@ -286,7 +289,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)
|
||||
|
|
|
@ -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? {
|
||||
|
|
|
@ -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()
|
||||
}
|
||||
|
|
|
@ -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? {
|
||||
|
|
|
@ -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()
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
@ -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 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)
|
||||
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()
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
@ -37,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"
|
||||
|
@ -54,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_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"
|
||||
|
||||
// repeat_rule for monthly and yearly repetition
|
||||
const val REPEAT_SAME_DAY = 1 // i.e. 25th every month, or 3rd june (if yearly repetition)
|
||||
|
|
|
@ -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,11 +940,10 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
|
|||
repeatRule = REPEAT_SAME_DAY
|
||||
}
|
||||
|
||||
val isPastEvent = endTS < 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())
|
||||
|
@ -1070,5 +1070,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()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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))
|
||||
|
||||
|
@ -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))
|
||||
|
||||
|
@ -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
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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()
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 247 B |
Binary file not shown.
Before Width: | Height: | Size: 271 B |
Binary file not shown.
Before Width: | Height: | Size: 410 B |
Binary file not shown.
Before Width: | Height: | Size: 437 B |
|
@ -1,11 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="ring"
|
||||
android:thicknessRatio="1"
|
||||
android:useLevel="false">
|
||||
<solid android:color="@android:color/transparent"/>
|
||||
|
||||
<stroke
|
||||
android:width="2dp"
|
||||
android:color="@android:color/white"/>
|
||||
</shape>
|
15
app/src/main/res/drawable/event_list_color_bar.xml
Normal file
15
app/src/main/res/drawable/event_list_color_bar.xml
Normal file
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
|
||||
<size
|
||||
android:width="@dimen/event_color_bar_width"
|
||||
android:height="@dimen/event_color_bar_height"/>
|
||||
|
||||
<solid
|
||||
android:color="@color/white"/>
|
||||
|
||||
<corners android:radius="@dimen/small_margin"/>
|
||||
|
||||
</shape>
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<bitmap
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:gravity="bottom|center_horizontal"
|
||||
android:src="@drawable/monthly_event_dot"
|
||||
android:tileMode="disabled"/>
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item
|
||||
android:drawable="@drawable/monthly_event_dot"
|
||||
android:gravity="bottom|center_horizontal"/>
|
||||
</layer-list>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item
|
||||
android:drawable="@drawable/monthly_day_dot"
|
||||
android:gravity="bottom|center_horizontal"/>
|
||||
<item android:drawable="@drawable/circle_empty"/>
|
||||
</layer-list>
|
|
@ -360,6 +360,134 @@
|
|||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_use_last_event_reminders_holder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/medium_margin"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:paddingBottom="@dimen/activity_margin"
|
||||
android:paddingLeft="@dimen/normal_margin"
|
||||
android:paddingRight="@dimen/normal_margin"
|
||||
android:paddingTop="@dimen/activity_margin">
|
||||
|
||||
<com.simplemobiletools.commons.views.MySwitchCompat
|
||||
android:id="@+id/settings_use_last_event_reminders"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@null"
|
||||
android:clickable="false"
|
||||
android:paddingLeft="@dimen/medium_margin"
|
||||
android:paddingStart="@dimen/medium_margin"
|
||||
android:text="@string/use_last_event_reminders"/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_default_reminder_1_holder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/medium_margin"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:paddingBottom="@dimen/bigger_margin"
|
||||
android:paddingLeft="@dimen/normal_margin"
|
||||
android:paddingRight="@dimen/normal_margin"
|
||||
android:paddingTop="@dimen/bigger_margin">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_default_reminder_1_label"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_toLeftOf="@+id/settings_default_reminder_1"
|
||||
android:layout_toStartOf="@+id/settings_default_reminder_1"
|
||||
android:paddingLeft="@dimen/medium_margin"
|
||||
android:paddingRight="@dimen/medium_margin"
|
||||
android:text="@string/default_reminder_1"/>
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_default_reminder_1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_marginEnd="@dimen/small_margin"
|
||||
android:layout_marginRight="@dimen/small_margin"
|
||||
android:background="@null"
|
||||
android:clickable="false"/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_default_reminder_2_holder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/medium_margin"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:paddingBottom="@dimen/bigger_margin"
|
||||
android:paddingLeft="@dimen/normal_margin"
|
||||
android:paddingRight="@dimen/normal_margin"
|
||||
android:paddingTop="@dimen/bigger_margin">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_default_reminder_2_label"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_toLeftOf="@+id/settings_default_reminder_2"
|
||||
android:layout_toStartOf="@+id/settings_default_reminder_2"
|
||||
android:paddingLeft="@dimen/medium_margin"
|
||||
android:paddingRight="@dimen/medium_margin"
|
||||
android:text="@string/default_reminder_2"/>
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_default_reminder_2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_marginEnd="@dimen/small_margin"
|
||||
android:layout_marginRight="@dimen/small_margin"
|
||||
android:background="@null"
|
||||
android:clickable="false"/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_default_reminder_3_holder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/medium_margin"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:paddingBottom="@dimen/bigger_margin"
|
||||
android:paddingLeft="@dimen/normal_margin"
|
||||
android:paddingRight="@dimen/normal_margin"
|
||||
android:paddingTop="@dimen/bigger_margin">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_default_reminder_3_label"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_toLeftOf="@+id/settings_default_reminder_3"
|
||||
android:layout_toStartOf="@+id/settings_default_reminder_3"
|
||||
android:paddingLeft="@dimen/medium_margin"
|
||||
android:paddingRight="@dimen/medium_margin"
|
||||
android:text="@string/default_reminder_3"/>
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_default_reminder_3"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_marginEnd="@dimen/small_margin"
|
||||
android:layout_marginRight="@dimen/small_margin"
|
||||
android:background="@null"
|
||||
android:clickable="false"/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<View
|
||||
android:id="@+id/caldav_divider"
|
||||
android:layout_width="match_parent"
|
||||
|
|
|
@ -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"/>
|
||||
|
||||
<com.simplemobiletools.commons.views.MyEditText
|
||||
android:id="@+id/repeat_type_count"
|
||||
|
|
|
@ -18,10 +18,22 @@
|
|||
android:paddingBottom="@dimen/medium_margin"
|
||||
android:paddingTop="@dimen/medium_margin">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/event_item_color_bar"
|
||||
android:layout_width="@dimen/event_color_bar_width"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignBottom="@+id/event_item_description"
|
||||
android:layout_alignTop="@+id/event_item_title"
|
||||
android:layout_marginRight="@dimen/small_margin"
|
||||
android:background="@drawable/event_list_color_bar"
|
||||
android:paddingBottom="@dimen/tiny_margin"
|
||||
android:paddingTop="@dimen/tiny_margin"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/event_item_start"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_toRightOf="@+id/event_item_color_bar"
|
||||
android:textSize="@dimen/day_text_size"
|
||||
tools:text="13:00"/>
|
||||
|
||||
|
@ -30,15 +42,15 @@
|
|||
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"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/event_section_title"
|
||||
android:id="@+id/event_item_title"
|
||||
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"
|
||||
|
@ -50,9 +62,8 @@
|
|||
android:id="@+id/event_item_description"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/event_section_title"
|
||||
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"/>
|
||||
|
||||
<ImageView
|
||||
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_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignTop="@+id/event_section_title"
|
||||
android:paddingRight="@dimen/activity_margin"
|
||||
android:src="@drawable/monthly_event_dot"/>
|
||||
|
||||
</RelativeLayout>
|
||||
</FrameLayout>
|
||||
|
|
54
app/src/main/res/layout/event_item_day_view_simple.xml
Normal file
54
app/src/main/res/layout/event_item_day_view_simple.xml
Normal file
|
@ -0,0 +1,54 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/event_item_frame"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:foreground="@drawable/selector"
|
||||
android:paddingLeft="@dimen/activity_margin">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/event_item_holder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingBottom="@dimen/medium_margin"
|
||||
android:paddingRight="@dimen/activity_margin"
|
||||
android:paddingTop="@dimen/medium_margin">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/event_item_color_bar"
|
||||
android:layout_width="@dimen/event_color_bar_width"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignBottom="@+id/event_item_start"
|
||||
android:layout_alignTop="@+id/event_item_start"
|
||||
android:layout_marginRight="@dimen/small_margin"
|
||||
android:background="@drawable/event_list_color_bar"
|
||||
android:paddingBottom="@dimen/tiny_margin"
|
||||
android:paddingTop="@dimen/tiny_margin"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/event_item_start"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_toRightOf="@+id/event_item_color_bar"
|
||||
android:textSize="@dimen/day_text_size"
|
||||
tools:text="13:00"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/event_item_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/activity_margin"
|
||||
android:layout_toRightOf="@+id/event_item_start"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:paddingRight="@dimen/activity_margin"
|
||||
android:textSize="@dimen/day_text_size"
|
||||
tools:text="Event title"/>
|
||||
|
||||
</RelativeLayout>
|
||||
</FrameLayout>
|
|
@ -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">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/event_item_color_bar"
|
||||
android:layout_width="@dimen/event_color_bar_width"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignBottom="@+id/event_item_end"
|
||||
android:layout_alignTop="@+id/event_item_start"
|
||||
android:layout_marginRight="@dimen/small_margin"
|
||||
android:background="@drawable/event_list_color_bar"
|
||||
android:paddingBottom="@dimen/tiny_margin"
|
||||
android:paddingTop="@dimen/tiny_margin"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/event_item_start"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_toRightOf="@+id/event_item_color_bar"
|
||||
android:textSize="@dimen/day_text_size"
|
||||
tools:text="13:00"/>
|
||||
|
||||
|
@ -32,16 +43,16 @@
|
|||
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"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/event_section_title"
|
||||
android:id="@+id/event_item_title"
|
||||
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"
|
||||
|
@ -53,9 +64,8 @@
|
|||
android:id="@+id/event_item_description"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/event_section_title"
|
||||
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"/>
|
||||
|
||||
<ImageView
|
||||
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_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignTop="@+id/event_section_title"
|
||||
android:paddingRight="@dimen/medium_margin"
|
||||
android:src="@drawable/monthly_event_dot"/>
|
||||
|
||||
</RelativeLayout>
|
||||
</FrameLayout>
|
||||
|
|
|
@ -16,23 +16,33 @@
|
|||
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">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/event_item_color_bar"
|
||||
android:layout_width="@dimen/event_color_bar_width"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignBottom="@+id/event_item_start"
|
||||
android:layout_alignTop="@+id/event_item_start"
|
||||
android:layout_marginRight="@dimen/small_margin"
|
||||
android:background="@drawable/event_list_color_bar"
|
||||
android:paddingBottom="@dimen/tiny_margin"
|
||||
android:paddingTop="@dimen/tiny_margin"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/event_item_start"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_toRightOf="@+id/event_item_color_bar"
|
||||
android:textSize="@dimen/day_text_size"
|
||||
tools:text="13:00"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/event_section_title"
|
||||
android:id="@+id/event_item_title"
|
||||
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"/>
|
||||
|
||||
<ImageView
|
||||
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_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignTop="@+id/event_section_title"
|
||||
android:paddingRight="@dimen/medium_margin"
|
||||
android:src="@drawable/monthly_event_dot"/>
|
||||
|
||||
</RelativeLayout>
|
||||
</FrameLayout>
|
||||
|
|
|
@ -7,30 +7,40 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/medium_margin">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/event_item_color_bar"
|
||||
android:layout_width="@dimen/event_color_bar_width"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignBottom="@+id/event_item_end"
|
||||
android:layout_alignTop="@+id/event_item_start"
|
||||
android:layout_marginRight="@dimen/small_margin"
|
||||
android:background="@drawable/event_list_color_bar"
|
||||
android:paddingBottom="@dimen/tiny_margin"
|
||||
android:paddingTop="@dimen/tiny_margin"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/event_item_start"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/medium_margin"
|
||||
android:textSize="@dimen/day_text_size"
|
||||
tools:text="13:00"/>
|
||||
android:layout_toRightOf="@+id/event_item_color_bar"
|
||||
android:text="13:00"
|
||||
android:textSize="@dimen/day_text_size"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/event_item_end"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/event_item_start"
|
||||
android:layout_marginLeft="@dimen/medium_margin"
|
||||
android:layout_toRightOf="@+id/event_item_color_bar"
|
||||
android:includeFontPadding="false"
|
||||
android:text="15:00"
|
||||
android:textSize="@dimen/day_text_size"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/event_section_title"
|
||||
android:id="@+id/event_item_title"
|
||||
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"
|
||||
|
@ -42,9 +52,8 @@
|
|||
android:id="@+id/event_item_description"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/event_section_title"
|
||||
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"/>
|
||||
|
||||
<ImageView
|
||||
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_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignTop="@+id/event_section_title"
|
||||
android:paddingRight="@dimen/medium_margin"
|
||||
android:src="@drawable/monthly_event_dot"/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
|
|
@ -7,20 +7,30 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/medium_margin">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/event_item_color_bar"
|
||||
android:layout_width="@dimen/event_color_bar_width"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignBottom="@+id/event_item_start"
|
||||
android:layout_alignTop="@+id/event_item_start"
|
||||
android:layout_marginRight="@dimen/small_margin"
|
||||
android:background="@drawable/event_list_color_bar"
|
||||
android:paddingBottom="@dimen/tiny_margin"
|
||||
android:paddingTop="@dimen/tiny_margin"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/event_item_start"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/medium_margin"
|
||||
android:layout_toRightOf="@+id/event_item_color_bar"
|
||||
android:textSize="@dimen/day_text_size"
|
||||
tools:text="13:00"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/event_section_title"
|
||||
android:id="@+id/event_item_title"
|
||||
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"/>
|
||||
|
||||
<ImageView
|
||||
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_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignTop="@+id/event_section_title"
|
||||
android:paddingRight="@dimen/medium_margin"
|
||||
android:src="@drawable/monthly_event_dot"/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<string name="update_one_only">Yalnız seçilmiş hadisəni yenilə</string>
|
||||
<string name="update_all_occurrences">Bütün hadisələri yenilə</string>
|
||||
<string name="repeat_till_date">Bir vaxta qədər təkrarla</string>
|
||||
<string name="repeat_x_times">X dəfə təkrarla</string>
|
||||
<string name="stop_repeating_after_x">Stop repeating after x occurrences</string>
|
||||
<string name="repeat_forever">Sonsuz təkrarla</string>
|
||||
<string name="times">təkrar sayı</string>
|
||||
<string name="repeat">Təkrarla</string>
|
||||
|
@ -164,6 +164,10 @@
|
|||
<string name="alarm_stream">Zəng</string>
|
||||
<string name="notification_stream">Bildiriş</string>
|
||||
<string name="ring_stream">Zəng səsi</string>
|
||||
<string name="use_last_event_reminders">Use the last events\' reminders as the default for new event</string>
|
||||
<string name="default_reminder_1">Default reminder 1</string>
|
||||
<string name="default_reminder_2">Default reminder 2</string>
|
||||
<string name="default_reminder_3">Default reminder 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<string name="update_one_only">Hizivaat an degouezh diuzet hepken</string>
|
||||
<string name="update_all_occurrences">Hizivaat an holl zegouezhioù</string>
|
||||
<string name="repeat_till_date">Addegouezhout betek un deiziad</string>
|
||||
<string name="repeat_x_times">Addegouezhout X gwech</string>
|
||||
<string name="stop_repeating_after_x">Stop repeating after x occurrences</string>
|
||||
<string name="repeat_forever">Addegouezhout da viken</string>
|
||||
<string name="times">a wechoù</string>
|
||||
<string name="repeat">Addegouezh</string>
|
||||
|
@ -164,6 +164,10 @@
|
|||
<string name="alarm_stream">Alarm</string>
|
||||
<string name="notification_stream">Notification</string>
|
||||
<string name="ring_stream">Ring</string>
|
||||
<string name="use_last_event_reminders">Use the last events\' reminders as the default for new event</string>
|
||||
<string name="default_reminder_1">Default reminder 1</string>
|
||||
<string name="default_reminder_2">Default reminder 2</string>
|
||||
<string name="default_reminder_3">Default reminder 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<string name="app_name">Simple Calendar</string>
|
||||
<string name="app_launcher_name">Calendar</string>
|
||||
<string name="change_view">Změnit zobrazení</string>
|
||||
<string name="daily_view">Daily view</string>
|
||||
<string name="daily_view">Denní kalendář</string>
|
||||
<string name="weekly_view">Týdenní kalendář</string>
|
||||
<string name="monthly_view">Měsíční kalendář</string>
|
||||
<string name="yearly_view">Roční kalendář</string>
|
||||
|
@ -19,15 +19,15 @@
|
|||
<string name="event">Událost</string>
|
||||
<string name="edit_event">Upravit událost</string>
|
||||
<string name="new_event">Nová událost</string>
|
||||
<string name="create_new_event">Create a new event</string>
|
||||
<string name="duplicate_event">Duplicate event</string>
|
||||
<string name="create_new_event">Vytvořit novou událost</string>
|
||||
<string name="duplicate_event">Zkopírovat událost</string>
|
||||
<string name="title_empty">Doplňte název</string>
|
||||
<string name="end_before_start">Konec události nemůže být dříve než začátek</string>
|
||||
<string name="event_added">Událost úspěšně přidána</string>
|
||||
<string name="event_updated">Událost úspěšně změněna</string>
|
||||
<string name="filter_events_by_type">Filtrovat události podle typu</string>
|
||||
<string name="please_fill_location">Please fill in a location to be shown on a map</string>
|
||||
<string name="public_event_notification_text">An event is upcoming</string>
|
||||
<string name="please_fill_location">Vyplňte prosím místo, které se zobrazí na mapě</string>
|
||||
<string name="public_event_notification_text">Událost právě nastává</string>
|
||||
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Opakovaná událost</string>
|
||||
|
@ -44,12 +44,12 @@
|
|||
<string name="event_is_repeatable">Událost se opakuje</string>
|
||||
<string name="selection_contains_repetition">Výběr zahrnuje opakující se události</string>
|
||||
<string name="delete_one_only">Vymazat pouze vybrané výskyty</string>
|
||||
<string name="delete_future_occurrences">Delete this and all future occurrences</string>
|
||||
<string name="delete_future_occurrences">Smaž tento a jakékoliv budoucí výskyty</string>
|
||||
<string name="delete_all_occurrences">Vymazat všechny výskyty</string>
|
||||
<string name="update_one_only">Změnit pouze vybrané výskyty</string>
|
||||
<string name="update_all_occurrences">Změnit všechny výskyty</string>
|
||||
<string name="repeat_till_date">Opakovat až do</string>
|
||||
<string name="repeat_x_times">Opakovat x krát</string>
|
||||
<string name="stop_repeating_after_x">Zastavit opakování po x výskytech</string>
|
||||
<string name="repeat_forever">Opakovat navždy</string>
|
||||
<string name="times">krát</string>
|
||||
<string name="repeat">Opakovat</string>
|
||||
|
@ -60,7 +60,7 @@
|
|||
<string name="the_last_day">poslední den</string>
|
||||
<string name="repeat_on_the_same_day_monthly">Opakovat ve stejný den každý měsíc</string>
|
||||
<string name="repeat_on_the_last_day_monthly">Opakovat poslední den v měsíci</string>
|
||||
<string name="repeat_on_the_same_day_yearly">Repeat on the same day every year</string>
|
||||
<string name="repeat_on_the_same_day_yearly">Opakovat ve stejný den každý rok</string>
|
||||
<string name="repeat_every_m">Opakovat každý</string>
|
||||
<string name="every_m">každý</string>
|
||||
<string name="first_m">první</string>
|
||||
|
@ -80,10 +80,10 @@
|
|||
<string name="last_f">poslední</string>
|
||||
|
||||
<!-- Birthdays -->
|
||||
<string name="birthdays">Birthdays</string>
|
||||
<string name="add_birthdays">Add contact birthdays</string>
|
||||
<string name="no_birthdays">No birthdays have been found</string>
|
||||
<string name="birthdays_added">Birthdays added successfully</string>
|
||||
<string name="birthdays">Narozeniny</string>
|
||||
<string name="add_birthdays">Přidat narozeniny z kontaktů</string>
|
||||
<string name="no_birthdays">Žádné narozeniny nebyly nalezeny</string>
|
||||
<string name="birthdays_added">Narozeniny byly úspěšně přidány</string>
|
||||
|
||||
<!-- Anniversaries -->
|
||||
<string name="anniversaries">Anniversaries</string>
|
||||
|
@ -128,16 +128,16 @@
|
|||
<string name="select_event_type">Vyberte typ události</string>
|
||||
<string name="move_events_into_default">Přesunout vybrané události na výchozí typ události</string>
|
||||
<string name="remove_affected_events">Trvale odebrat vybrané události</string>
|
||||
<string name="unsync_caldav_calendar">Chcete-li odebrat kalendář CalDAV, musíte jej desynchronizovat</string>
|
||||
<string name="unsync_caldav_calendar">Chcete-li odebrat kalendář CalDAV, musíte vypnout synchronizaci</string>
|
||||
|
||||
<!-- Holidays -->
|
||||
<string name="holidays">Svátky</string>
|
||||
<string name="add_holidays">Přidat svátek</string>
|
||||
<string name="national_holidays">Státní svátky</string>
|
||||
<string name="religious_holidays">Církevní svátky</string>
|
||||
<string name="holidays_imported_successfully">Holidays have been successfully imported into the \"Holidays\" event type</string>
|
||||
<string name="holidays_imported_successfully">Svátky byly úspěšně naimportovány</string>
|
||||
<string name="importing_some_holidays_failed">Import některých událostí se nezdařil</string>
|
||||
<string name="importing_holidays_failed">Import svátků nezdařil</string>
|
||||
<string name="importing_holidays_failed">Import svátků se nezdařil</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="manage_event_types">Správa typů událostí</string>
|
||||
|
@ -149,21 +149,25 @@
|
|||
<string name="no_ringtone_picker">Nebyla nalezena žádná aplikace, která by mohla nastavit vyzvánění</string>
|
||||
<string name="no_ringtone_selected">žádný</string>
|
||||
<string name="day_end_before_start">Den nemůže skončit dřív, než začne</string>
|
||||
<string name="caldav_sync">CalDAV sync</string>
|
||||
<string name="caldav_sync">CalDAV synchronizace</string>
|
||||
<string name="event_lists">Seznamy událostí</string>
|
||||
<string name="display_past_events">Zobrazit minulé události</string>
|
||||
<string name="replace_description_with_location">Replace event description with location</string>
|
||||
<string name="delete_all_events">Delete all events</string>
|
||||
<string name="delete_all_events_confirmation">Are you sure you want to delete all events? This will leave your event types and other settings intact.</string>
|
||||
<string name="show_a_grid">Show a grid</string>
|
||||
<string name="loop_reminders">Loop reminders until dismissed</string>
|
||||
<string name="dim_past_events">Dim past events</string>
|
||||
<string name="events">Events</string>
|
||||
<string name="reminder_stream">Audio stream used by reminders</string>
|
||||
<string name="system_stream">System</string>
|
||||
<string name="alarm_stream">Alarm</string>
|
||||
<string name="notification_stream">Notification</string>
|
||||
<string name="ring_stream">Ring</string>
|
||||
<string name="replace_description_with_location">Nahradit popis udalosti lokací</string>
|
||||
<string name="delete_all_events">Smazat všechny události</string>
|
||||
<string name="delete_all_events_confirmation">Opravdu chcete smazat všechny události? Typy událostí a ostatní nastavení zůstanou neporušené.</string>
|
||||
<string name="show_a_grid">Zobrazit mřížku</string>
|
||||
<string name="loop_reminders">Připomínat až do vypnutí</string>
|
||||
<string name="dim_past_events">Smazat minulé události</string>
|
||||
<string name="events">Události</string>
|
||||
<string name="reminder_stream">Zvuk upomínky</string>
|
||||
<string name="system_stream">Systémový</string>
|
||||
<string name="alarm_stream">Budík</string>
|
||||
<string name="notification_stream">Notifikace</string>
|
||||
<string name="ring_stream">Zvonek</string>
|
||||
<string name="use_last_event_reminders">Use the last events\' reminders as the default for new event</string>
|
||||
<string name="default_reminder_1">Default reminder 1</string>
|
||||
<string name="default_reminder_2">Default reminder 2</string>
|
||||
<string name="default_reminder_3">Default reminder 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
@ -174,8 +178,8 @@
|
|||
<string name="refreshing">Obnovuji…</string>
|
||||
<string name="refreshing_complete">Obnovování dokončeno</string>
|
||||
<string name="editing_calendar_failed">Editování kalendáře se nezdařilo</string>
|
||||
<string name="syncing">Syncing…</string>
|
||||
<string name="synchronization_completed">Sync completed</string>
|
||||
<string name="syncing">Synchronizuji…</string>
|
||||
<string name="synchronization_completed">Synchronizace dokončena</string>
|
||||
|
||||
<!-- alternative versions for some languages, use the same translations if you are not sure what this means -->
|
||||
<!-- used in repetition, like "Every last Sunday" -->
|
||||
|
@ -214,13 +218,13 @@
|
|||
<string name="app_long_description">
|
||||
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
|
||||
</string>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<string name="update_one_only">Opdater kun denne forekomst</string>
|
||||
<string name="update_all_occurrences">Opdater alle forekomster</string>
|
||||
<string name="repeat_till_date">Gentag indtil</string>
|
||||
<string name="repeat_x_times">Antal gentagelser</string>
|
||||
<string name="stop_repeating_after_x">Stop repeating after x occurrences</string>
|
||||
<string name="repeat_forever">For altid</string>
|
||||
<string name="times">gange</string>
|
||||
<string name="repeat">Gentag</string>
|
||||
|
@ -164,6 +164,10 @@
|
|||
<string name="alarm_stream">Alarm</string>
|
||||
<string name="notification_stream">Notifikation</string>
|
||||
<string name="ring_stream">Ring</string>
|
||||
<string name="use_last_event_reminders">Brug den sidst opsatte påmindelse som standard for påmindelser</string>
|
||||
<string name="default_reminder_1">Påmindelse 1</string>
|
||||
<string name="default_reminder_2">Påmindelse 2</string>
|
||||
<string name="default_reminder_3">Påmindelse 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
@ -203,7 +207,7 @@
|
|||
<string name="faq_2_title">Kan jeg synkronisere mine begivenheder med Googles kalender eller en anden kalender der understøtter CalDAV?</string>
|
||||
<string name="faq_2_text">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.</string>
|
||||
<string name="faq_3_title">Jeg kan mine påmindelser, men der er ingen lyd på. Hvad kan jeg gøre ved det?</string>
|
||||
<string name="faq_3_title">Jeg kan se mine påmindelser, men der er ingen lyd på. Hvad kan jeg gøre ved det?</string>
|
||||
<string name="faq_3_text">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.</string>
|
||||
|
||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<string name="monthly_view">Monatsansicht</string>
|
||||
<string name="yearly_view">Jahresansicht</string>
|
||||
<string name="simple_event_list">Einfache Terminliste</string>
|
||||
<string name="no_upcoming_events">Keine anstehenden Termine</string>
|
||||
<string name="no_upcoming_events">Scheint so, als hättest du keine anstehenden Termine.</string>
|
||||
<string name="go_to_today">Springe zu Heute</string>
|
||||
|
||||
<!-- Widget titles -->
|
||||
|
@ -20,12 +20,12 @@
|
|||
<string name="edit_event">Termin bearbeiten</string>
|
||||
<string name="new_event">Neuer Termin</string>
|
||||
<string name="create_new_event">Neuen Termin erstellen</string>
|
||||
<string name="duplicate_event">Event duplizieren</string>
|
||||
<string name="duplicate_event">Termin duplizieren</string>
|
||||
<string name="title_empty">Titel darf nicht leer sein</string>
|
||||
<string name="end_before_start">Der Termin darf nicht früher enden als er beginnt</string>
|
||||
<string name="event_added">Termin erfolgreich hinzugefügt</string>
|
||||
<string name="event_updated">Termin erfolgreich aktualisiert</string>
|
||||
<string name="filter_events_by_type">Sortiere Termine nach Typ</string>
|
||||
<string name="filter_events_by_type">Termine nach Typ filtern</string>
|
||||
<string name="please_fill_location">Bitte trage einen Ort ein, der auf einer Karte angezeigt werden soll</string>
|
||||
<string name="public_event_notification_text">Ein Termin steht an</string>
|
||||
|
||||
|
@ -42,20 +42,20 @@
|
|||
<string name="repeat_till">Wiederholen bis</string>
|
||||
<string name="forever">unendlich</string>
|
||||
<string name="event_is_repeatable">Termin ist wiederholbar</string>
|
||||
<string name="selection_contains_repetition">Die Auswahl enthält Ereignisse mit Wiederholungen</string>
|
||||
<string name="delete_one_only">Lösche nur die ausgewählte Wiederholung</string>
|
||||
<string name="delete_future_occurrences">Lösche diese und zukünftige Wiederholungen</string>
|
||||
<string name="delete_all_occurrences">Lösche alle Wiederholungen</string>
|
||||
<string name="update_one_only">Ändere nur die ausgewählte Wiederholung</string>
|
||||
<string name="update_all_occurrences">Ändere alle Wiederholungen</string>
|
||||
<string name="repeat_till_date">Wiederhole bis zu bestimmtem Datum</string>
|
||||
<string name="repeat_x_times">Wiederhole x Mal</string>
|
||||
<string name="selection_contains_repetition">Die Auswahl enthält Termine mit Wiederholungen</string>
|
||||
<string name="delete_one_only">Nur die ausgewählte Wiederholung löschen</string>
|
||||
<string name="delete_future_occurrences">Diese und zukünftige Wiederholungen löschen</string>
|
||||
<string name="delete_all_occurrences">Alle Wiederholungen löschen</string>
|
||||
<string name="update_one_only">Nur die ausgewählte Wiederholung ändern</string>
|
||||
<string name="update_all_occurrences">Alle Wiederholungen ändern</string>
|
||||
<string name="repeat_till_date">Bis zu bestimmtem Datum wiederholen</string>
|
||||
<string name="stop_repeating_after_x">Stop repeating after x occurrences</string>
|
||||
<string name="repeat_forever">Immer wiederholen</string>
|
||||
<string name="times">Mal</string>
|
||||
<string name="repeat">Wiederholung</string>
|
||||
<string name="repeat_on">Wiederholen</string>
|
||||
<string name="every_day">Täglich</string>
|
||||
<string name="selected_days">an ausgewählten Tagen</string>
|
||||
<string name="selected_days">An ausgewählten Tagen</string>
|
||||
<string name="the_same_day">Der gleiche Tag</string>
|
||||
<string name="the_last_day">Der letzte Tag</string>
|
||||
<string name="repeat_on_the_same_day_monthly">Am gleichen Tag jeden Monats wiederholen</string>
|
||||
|
@ -81,32 +81,32 @@
|
|||
|
||||
<!-- Birthdays -->
|
||||
<string name="birthdays">Geburtstage</string>
|
||||
<string name="add_birthdays">Kontaktgeburtstage hinzufügen</string>
|
||||
<string name="add_birthdays">Geburtstage der Kontakte hinzufügen</string>
|
||||
<string name="no_birthdays">Keine Geburtstage gefunden</string>
|
||||
<string name="birthdays_added">Geburtstage erfolgreich hinzugefügt</string>
|
||||
|
||||
<!-- Anniversaries -->
|
||||
<string name="anniversaries">Jahrestage</string>
|
||||
<string name="add_anniversaries">Kontakt zu Jahrestagen hinzufügen</string>
|
||||
<string name="add_anniversaries">Jahrestage der Kontakte hinzufügen</string>
|
||||
<string name="no_anniversaries">Es wurden keine Jahrestage gefunden</string>
|
||||
<string name="anniversaries_added">Jahrestage erfolgreich hinzugefügt</string>
|
||||
|
||||
<!-- Event Reminders -->
|
||||
<string name="reminder">Erinnerung</string>
|
||||
<string name="before">vorher</string>
|
||||
<string name="add_another_reminder">Füge eine weitere Erinnerung hinzu</string>
|
||||
<string name="event_reminders">Ereignis Erinnerungen</string>
|
||||
<string name="add_another_reminder">Weitere Erinnerung hinzufügen</string>
|
||||
<string name="event_reminders">Termin-Erinnerungen</string>
|
||||
|
||||
<!-- Export / Import -->
|
||||
<string name="import_events">Importiere Termine</string>
|
||||
<string name="export_events">Exportiere Termine</string>
|
||||
<string name="import_events_from_ics">Importiere Termine aus .ics Datei</string>
|
||||
<string name="export_events_to_ics">Exportiere Termine als .ics Datei</string>
|
||||
<string name="default_event_type">Standard-Termin-Typ</string>
|
||||
<string name="import_events">Termine importieren</string>
|
||||
<string name="export_events">Termine exportieren</string>
|
||||
<string name="import_events_from_ics">Termine aus .ics-Datei importieren</string>
|
||||
<string name="export_events_to_ics">Termine als .ics-Datei exportieren</string>
|
||||
<string name="default_event_type">Standard-Termintyp</string>
|
||||
<string name="export_past_events_too">Vergangene Termine auch exportieren</string>
|
||||
<string name="include_event_types">Beziehe Termintypen mit ein</string>
|
||||
<string name="include_event_types">Termintypen miteinbeziehen</string>
|
||||
<string name="filename_without_ics">Dateiname (ohne .ics)</string>
|
||||
<string name="override_event_types">Überschreibe Termintypen in der Datei</string>
|
||||
<string name="override_event_types">Termintypen in der Datei überschreiben</string>
|
||||
|
||||
<!-- Event details -->
|
||||
<string name="title">Titel</string>
|
||||
|
@ -119,16 +119,16 @@
|
|||
|
||||
<!-- Event types -->
|
||||
<string name="event_types">Termintypen</string>
|
||||
<string name="add_new_type">Füge einen neuen Typ hinzu</string>
|
||||
<string name="add_new_type">Neuen Typ hinzufügen</string>
|
||||
<string name="edit_type">Typ bearbeiten</string>
|
||||
<string name="type_already_exists">Typ mit diesem Namen existiert bereits</string>
|
||||
<string name="color">Farbe</string>
|
||||
<string name="regular_event">Regelmässiger Termin</string>
|
||||
<string name="cannot_delete_default_type">Standard Termintyp kann nicht gelöscht werden</string>
|
||||
<string name="select_event_type">Wähle einen Termintyp</string>
|
||||
<string name="move_events_into_default">Verschiebe betroffene Termine in den Standard Termintyp</string>
|
||||
<string name="remove_affected_events">Lösche betroffene Termine permanent</string>
|
||||
<string name="unsync_caldav_calendar">Um CalDAV Kalender zu entfernen, musst du diese desynchronisieren</string>
|
||||
<string name="regular_event">Regelmäßiger Termin</string>
|
||||
<string name="cannot_delete_default_type">Standard-Termintyp kann nicht gelöscht werden</string>
|
||||
<string name="select_event_type">Wähle einen Termintyp aus</string>
|
||||
<string name="move_events_into_default">Betroffene Termine in den Standard-Termintyp verschieben</string>
|
||||
<string name="remove_affected_events">Betroffene Termine dauerhaft löschen</string>
|
||||
<string name="unsync_caldav_calendar">Um einen CalDAV-Kalender zu entfernen, musst du ihn desynchronisieren</string>
|
||||
|
||||
<!-- Holidays -->
|
||||
<string name="holidays">Feiertage</string>
|
||||
|
@ -140,41 +140,45 @@
|
|||
<string name="importing_holidays_failed">Importieren von Feiertagen fehlgeschlagen</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="manage_event_types">Verwalte Termin-Typen</string>
|
||||
<string name="manage_event_types">Termintypen verwalten</string>
|
||||
<string name="start_day_at">Wochenansicht beginnt am</string>
|
||||
<string name="end_day_at">Wochenansicht endet am</string>
|
||||
<string name="week_numbers">Zeige Kalenderwoche an</string>
|
||||
<string name="week_numbers">Kalenderwoche anzeigen</string>
|
||||
<string name="vibrate">Vibration bei Erinnerung</string>
|
||||
<string name="reminder_sound">Erinnerungston</string>
|
||||
<string name="no_ringtone_picker">Keine App zum Setzen des Klingeltons gefunden</string>
|
||||
<string name="no_ringtone_selected">Kein Klingelton gewählt</string>
|
||||
<string name="no_ringtone_picker">Keine App zum Einstellen des Klingeltons gefunden</string>
|
||||
<string name="no_ringtone_selected">Kein Klingelton ausgewählt</string>
|
||||
<string name="day_end_before_start">Terminbeginn kann nicht vor Terminende liegen</string>
|
||||
<string name="caldav_sync">CalDAV Synchronisierung</string>
|
||||
<string name="caldav_sync">CalDAV-Synchronisierung</string>
|
||||
<string name="event_lists">Terminlisten</string>
|
||||
<string name="display_past_events">Vergangene Termine anzeigen</string>
|
||||
<string name="replace_description_with_location">Ersetze Terminbeschreibung mit Ort</string>
|
||||
<string name="replace_description_with_location">Terminbeschreibung mit Ort ersetzen</string>
|
||||
<string name="delete_all_events">Alle Termine löschen</string>
|
||||
<string name="delete_all_events_confirmation">Bist du sicher, dass du alle Termine löschen willst? Deine Termintypen und Einstellungen bleiben erhalten.</string>
|
||||
<string name="show_a_grid">Raster anzeigen</string>
|
||||
<string name="loop_reminders">Erinnerungen wiederholen bis sie verworfen werden</string>
|
||||
<string name="dim_past_events">Vergangene Termine ausgrauen</string>
|
||||
<string name="events">Termine</string>
|
||||
<string name="reminder_stream">Audio Ausgabekanal für Erinnerungen</string>
|
||||
<string name="reminder_stream">Audio-Ausgabekanal für Erinnerungen</string>
|
||||
<string name="system_stream">Medien</string>
|
||||
<string name="alarm_stream">Wecker</string>
|
||||
<string name="notification_stream">Benachrichtigung</string>
|
||||
<string name="ring_stream">Klingelton</string>
|
||||
<string name="use_last_event_reminders">Erinnerungen des letzten Termins als Vorgabe für neuen Termin verwenden</string>
|
||||
<string name="default_reminder_1">Standarderinnerung 1</string>
|
||||
<string name="default_reminder_2">Standarderinnerung 2</string>
|
||||
<string name="default_reminder_3">Standarderinnerung 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
<string name="select_caldav_calendars">Wähle Kalender zur Synchronisierung</string>
|
||||
<string name="manage_synced_calendars">Verwalte synchronisierte Kalender</string>
|
||||
<string name="select_caldav_calendars">Kalender zur Synchronisierung auswählen</string>
|
||||
<string name="manage_synced_calendars">Synchronisierte Kalender verwalten</string>
|
||||
<string name="store_locally_only">Nur lokal speichern</string>
|
||||
<string name="refresh_caldav_calendars">Aktualisiere CalDAV Kalender</string>
|
||||
<string name="refreshing">Aktualisiere…</string>
|
||||
<string name="refresh_caldav_calendars">CalDAV-Kalender aktualisieren</string>
|
||||
<string name="refreshing">Wird aktualisiert…</string>
|
||||
<string name="refreshing_complete">Aktualisierung abgeschlossen</string>
|
||||
<string name="editing_calendar_failed">Ändern des Kalenders fehlgeschlagen</string>
|
||||
<string name="syncing">Synchronisiere…</string>
|
||||
<string name="syncing">Wird synchronisiert…</string>
|
||||
<string name="synchronization_completed">Synchronisation erfolgreich</string>
|
||||
|
||||
<!-- alternative versions for some languages, use the same translations if you are not sure what this means -->
|
||||
|
@ -199,23 +203,23 @@
|
|||
|
||||
<!-- FAQ -->
|
||||
<string name="faq_1_title">Wie kann ich Feiertage löschen, die über \"Feiertage hinzufügen\" importiert wurden?</string>
|
||||
<string name="faq_1_text">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.</string>
|
||||
<string name="faq_1_text">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.</string>
|
||||
<string name="faq_2_title">Kann ich meine Termine über Google Kalender oder andere CalDAV unterstützende Dienste synchronisieren?</string>
|
||||
<string name="faq_2_text">Ja, aktiviere \"CalDAV Synchronisierung\" in den Einstellungen und wähle die Kalender aus, die du synchronisieren willst.
|
||||
<string name="faq_2_text">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.</string>
|
||||
<string name="faq_3_title">Ich sehe die Erinenrungen, aber ich höre keinen Ton. Was kann ich tun?</string>
|
||||
<string name="faq_3_title">Ich sehe die Erinnerungen, aber ich höre keinen Ton. Was kann ich tun?</string>
|
||||
<string name="faq_3_text">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.</string>
|
||||
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.</string>
|
||||
|
||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||
<!-- Short description has to have less than 80 chars -->
|
||||
<string name="app_short_description">Ein einfacher Kalender mit personalisierbaren Widgets, ganz ohne Werbung.</string>
|
||||
<string name="app_short_description">Ein einfacher Kalender mit personalisierbaren Bedienelementen und ohne Werbung.</string>
|
||||
<string name="app_long_description">
|
||||
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.
|
||||
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<string name="update_one_only">Ενημέρωση μόνο του επιλεγμένου περιστατικού</string>
|
||||
<string name="update_all_occurrences">Ενημέρωση όλων των περιστατικών</string>
|
||||
<string name="repeat_till_date">Επαναλάβετε μέχρι μια ημερομηνία</string>
|
||||
<string name="repeat_x_times">Επαναλάβετε x φορές</string>
|
||||
<string name="stop_repeating_after_x">Stop repeating after x occurrences</string>
|
||||
<string name="repeat_forever">Επαναλάβετε για πάντα</string>
|
||||
<string name="times">times</string>
|
||||
<string name="repeat">Επανάληψη</string>
|
||||
|
@ -164,6 +164,10 @@
|
|||
<string name="alarm_stream">Αφύπνιση</string>
|
||||
<string name="notification_stream">Ειδοποίηση</string>
|
||||
<string name="ring_stream">Κουδούνισμα</string>
|
||||
<string name="use_last_event_reminders">Use the last events\' reminders as the default for new event</string>
|
||||
<string name="default_reminder_1">Default reminder 1</string>
|
||||
<string name="default_reminder_2">Default reminder 2</string>
|
||||
<string name="default_reminder_3">Default reminder 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<string name="update_one_only">Actualizar sólo el evento seleccionado</string>
|
||||
<string name="update_all_occurrences">Actualizar todos los eventos</string>
|
||||
<string name="repeat_till_date">Repetir hasta la fecha</string>
|
||||
<string name="repeat_x_times">Repetir x veces</string>
|
||||
<string name="stop_repeating_after_x">Stop repeating after x occurrences</string>
|
||||
<string name="repeat_forever">Repetir por siempre</string>
|
||||
<string name="times">veces</string>
|
||||
<string name="repeat">Repetir</string>
|
||||
|
@ -164,6 +164,10 @@
|
|||
<string name="alarm_stream">Alarm</string>
|
||||
<string name="notification_stream">Notification</string>
|
||||
<string name="ring_stream">Ring</string>
|
||||
<string name="use_last_event_reminders">Use the last events\' reminders as the default for new event</string>
|
||||
<string name="default_reminder_1">Default reminder 1</string>
|
||||
<string name="default_reminder_2">Default reminder 2</string>
|
||||
<string name="default_reminder_3">Default reminder 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<string name="update_one_only">Mettre à jour seulement l\'occurrence sélectionnée</string>
|
||||
<string name="update_all_occurrences">Mettre à jour toutes les occurrences</string>
|
||||
<string name="repeat_till_date">Répéter jusqu\'à une date</string>
|
||||
<string name="repeat_x_times">Répéter x fois</string>
|
||||
<string name="stop_repeating_after_x">Stop repeating after x occurrences</string>
|
||||
<string name="repeat_forever">Répéter éternellement</string>
|
||||
<string name="times">fois</string>
|
||||
<string name="repeat">Répéter</string>
|
||||
|
@ -164,6 +164,10 @@
|
|||
<string name="alarm_stream">Alarme</string>
|
||||
<string name="notification_stream">Notification</string>
|
||||
<string name="ring_stream">Ring</string>
|
||||
<string name="use_last_event_reminders">Use the last events\' reminders as the default for new event</string>
|
||||
<string name="default_reminder_1">Default reminder 1</string>
|
||||
<string name="default_reminder_2">Default reminder 2</string>
|
||||
<string name="default_reminder_3">Default reminder 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<string name="update_one_only">Actualizar só o evento selecionado</string>
|
||||
<string name="update_all_occurrences">Actualizar todos os eventos</string>
|
||||
<string name="repeat_till_date">Repetir ata a data</string>
|
||||
<string name="repeat_x_times">Repetir x veces</string>
|
||||
<string name="stop_repeating_after_x">Stop repeating after x occurrences</string>
|
||||
<string name="repeat_forever">Repetir por sempre</string>
|
||||
<string name="times">veces</string>
|
||||
<string name="repeat">Repetir</string>
|
||||
|
@ -164,6 +164,10 @@
|
|||
<string name="alarm_stream">Alarm</string>
|
||||
<string name="notification_stream">Notification</string>
|
||||
<string name="ring_stream">Ring</string>
|
||||
<string name="use_last_event_reminders">Use the last events\' reminders as the default for new event</string>
|
||||
<string name="default_reminder_1">Default reminder 1</string>
|
||||
<string name="default_reminder_2">Default reminder 2</string>
|
||||
<string name="default_reminder_3">Default reminder 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
<string name="update_one_only">Update the selected occurrence only</string>
|
||||
<string name="update_all_occurrences">Update all occurrences</string>
|
||||
<string name="repeat_till_date">Repeat till a date</string>
|
||||
<string name="repeat_x_times">Repeat x times</string>
|
||||
<string name="stop_repeating_after_x">Stop repeating after x occurrences</string>
|
||||
<string name="repeat_forever">Repeat forever</string>
|
||||
<string name="times">times</string>
|
||||
<string name="repeat">Repeat</string>
|
||||
|
@ -165,6 +165,10 @@
|
|||
<string name="alarm_stream">Alarm</string>
|
||||
<string name="notification_stream">Notification</string>
|
||||
<string name="ring_stream">Ring</string>
|
||||
<string name="use_last_event_reminders">Use the last events\' reminders as the default for new event</string>
|
||||
<string name="default_reminder_1">Default reminder 1</string>
|
||||
<string name="default_reminder_2">Default reminder 2</string>
|
||||
<string name="default_reminder_3">Default reminder 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
|
|
@ -19,15 +19,15 @@
|
|||
<string name="event">Događaj</string>
|
||||
<string name="edit_event">Uredi događaj</string>
|
||||
<string name="new_event">Novi događaj</string>
|
||||
<string name="create_new_event">Create a new event</string>
|
||||
<string name="duplicate_event">Duplicate event</string>
|
||||
<string name="create_new_event">Stvori novi događaj</string>
|
||||
<string name="duplicate_event">Dupliciraj događaj</string>
|
||||
<string name="title_empty">Naslov ne može biti prazan</string>
|
||||
<string name="end_before_start">Događaj ne može završiti prije nego što počne</string>
|
||||
<string name="event_added">Događaj je uspješno dodan</string>
|
||||
<string name="event_updated">Događaj je uspješno ažuriran</string>
|
||||
<string name="filter_events_by_type">Sortiranje prema vrsti događaja</string>
|
||||
<string name="please_fill_location">Ispunite lokaciju za prikazivanje na karti</string>
|
||||
<string name="public_event_notification_text">An event is upcoming</string>
|
||||
<string name="public_event_notification_text">Nadolazi Vam događaj</string>
|
||||
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Ponavljanje</string>
|
||||
|
@ -44,12 +44,12 @@
|
|||
<string name="event_is_repeatable">Događaj je ponovljiv</string>
|
||||
<string name="selection_contains_repetition">Odabir sadrži ponavljajuće događaje</string>
|
||||
<string name="delete_one_only">Izbriši samo odabrano ponavljanje</string>
|
||||
<string name="delete_future_occurrences">Delete this and all future occurrences</string>
|
||||
<string name="delete_future_occurrences">Izbrišite ovo i sva buduća ponavljanja</string>
|
||||
<string name="delete_all_occurrences">Izbriši sva ponavljanja</string>
|
||||
<string name="update_one_only">Ažuriraj samo odabrano ponavljanje</string>
|
||||
<string name="update_all_occurrences">Ažuriraj sva ponavljanja</string>
|
||||
<string name="repeat_till_date">Ponovi do datuma</string>
|
||||
<string name="repeat_x_times">Ponovi x puta</string>
|
||||
<string name="stop_repeating_after_x">Prestani ponavljati nakon x pojavljivanja</string>
|
||||
<string name="repeat_forever">Ponovi zauvijek</string>
|
||||
<string name="times">puta</string>
|
||||
<string name="repeat">Ponavljanje</string>
|
||||
|
@ -60,7 +60,7 @@
|
|||
<string name="the_last_day">Zadnji dan</string>
|
||||
<string name="repeat_on_the_same_day_monthly">Ponovi isti dan svaki mjesec</string>
|
||||
<string name="repeat_on_the_last_day_monthly">Ponovi zadnjeg dana u mjesecu</string>
|
||||
<string name="repeat_on_the_same_day_yearly">Repeat on the same day every year</string>
|
||||
<string name="repeat_on_the_same_day_yearly">Ponovi istog dana svake godine</string>
|
||||
<string name="repeat_every_m">Ponovi svaki</string>
|
||||
<string name="every_m">Svaki</string>
|
||||
<string name="first_m">prvi</string>
|
||||
|
@ -156,14 +156,18 @@
|
|||
<string name="delete_all_events">Izbriši sve događaje</string>
|
||||
<string name="delete_all_events_confirmation">Jeste li sigurni da želite izbrisati sve događaje? To će ostaviti Vaše vrste događaja i druge postavke netaknutima.</string>
|
||||
<string name="show_a_grid">Prikaži mrežu</string>
|
||||
<string name="loop_reminders">Loop reminders until dismissed</string>
|
||||
<string name="dim_past_events">Dim past events</string>
|
||||
<string name="events">Events</string>
|
||||
<string name="reminder_stream">Audio stream used by reminders</string>
|
||||
<string name="system_stream">System</string>
|
||||
<string name="loop_reminders">Ponavljaj podsjetnike sve dok ih ne odbacim</string>
|
||||
<string name="dim_past_events">Zatamni događaje koji su završili</string>
|
||||
<string name="events">Događaji</string>
|
||||
<string name="reminder_stream">Audio izlazni kanal za podsjetnike</string>
|
||||
<string name="system_stream">Sustav</string>
|
||||
<string name="alarm_stream">Alarm</string>
|
||||
<string name="notification_stream">Notification</string>
|
||||
<string name="notification_stream">Obavijest</string>
|
||||
<string name="ring_stream">Ring</string>
|
||||
<string name="use_last_event_reminders">Use the last events\' reminders as the default for new event</string>
|
||||
<string name="default_reminder_1">Default reminder 1</string>
|
||||
<string name="default_reminder_2">Default reminder 2</string>
|
||||
<string name="default_reminder_3">Default reminder 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
@ -204,9 +208,9 @@
|
|||
<string name="faq_2_title">Mogu li sinkronizirati događaje putem Google Kalendara ili druge usluge koje podržavaju CalDAV?</string>
|
||||
<string name="faq_2_text">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.</string>
|
||||
<string name="faq_3_title">I see the visual reminders, but hear no audio. What can I do?</string>
|
||||
<string name="faq_3_text">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.</string>
|
||||
<string name="faq_3_title">Vidim vizualne podsjetnike, ali ne čujem zvuk. Što mogu učiniti</string>
|
||||
<string name="faq_3_text">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.</string>
|
||||
|
||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||
<!-- Short description has to have less than 80 chars -->
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<string name="update_one_only">Update the selected occurrence only</string>
|
||||
<string name="update_all_occurrences">Update all occurrences</string>
|
||||
<string name="repeat_till_date">Repeat till a date</string>
|
||||
<string name="repeat_x_times">Repeat x times</string>
|
||||
<string name="stop_repeating_after_x">Stop repeating after x occurrences</string>
|
||||
<string name="repeat_forever">Repeat forever</string>
|
||||
<string name="times">times</string>
|
||||
<string name="repeat">Repeat</string>
|
||||
|
@ -164,6 +164,10 @@
|
|||
<string name="alarm_stream">Alarm</string>
|
||||
<string name="notification_stream">Notification</string>
|
||||
<string name="ring_stream">Ring</string>
|
||||
<string name="use_last_event_reminders">Use the last events\' reminders as the default for new event</string>
|
||||
<string name="default_reminder_1">Default reminder 1</string>
|
||||
<string name="default_reminder_2">Default reminder 2</string>
|
||||
<string name="default_reminder_3">Default reminder 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<string name="update_one_only">Aggiorna solamente l\'occorenza selezionata</string>
|
||||
<string name="update_all_occurrences">Aggiorna tutte le occorenze</string>
|
||||
<string name="repeat_till_date">Ripeti fino a una data</string>
|
||||
<string name="repeat_x_times">Ripeti x volte</string>
|
||||
<string name="stop_repeating_after_x">Stop repeating after x occurrences</string>
|
||||
<string name="repeat_forever">Ripeti per sempre</string>
|
||||
<string name="times">volte</string>
|
||||
<string name="repeat">Ripeti</string>
|
||||
|
@ -164,6 +164,10 @@
|
|||
<string name="alarm_stream">Alarm</string>
|
||||
<string name="notification_stream">Notification</string>
|
||||
<string name="ring_stream">Ring</string>
|
||||
<string name="use_last_event_reminders">Use the last events\' reminders as the default for new event</string>
|
||||
<string name="default_reminder_1">Default reminder 1</string>
|
||||
<string name="default_reminder_2">Default reminder 2</string>
|
||||
<string name="default_reminder_3">Default reminder 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
<string name="update_one_only">Update the selected occurrence only</string>
|
||||
<string name="update_all_occurrences">Update all occurrences</string>
|
||||
<string name="repeat_till_date">Repeat till a date</string>
|
||||
<string name="repeat_x_times">Repeat x times</string>
|
||||
<string name="stop_repeating_after_x">Stop repeating after x occurrences</string>
|
||||
<string name="repeat_forever">Repeat forever</string>
|
||||
<string name="times">times</string>
|
||||
<string name="repeat">Repeat</string>
|
||||
|
@ -165,6 +165,10 @@
|
|||
<string name="alarm_stream">Alarm</string>
|
||||
<string name="notification_stream">Notification</string>
|
||||
<string name="ring_stream">Ring</string>
|
||||
<string name="use_last_event_reminders">Use the last events\' reminders as the default for new event</string>
|
||||
<string name="default_reminder_1">Default reminder 1</string>
|
||||
<string name="default_reminder_2">Default reminder 2</string>
|
||||
<string name="default_reminder_3">Default reminder 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<string name="update_one_only">Update the selected occurrence only</string>
|
||||
<string name="update_all_occurrences">Update all occurrences</string>
|
||||
<string name="repeat_till_date">Repeat till a date</string>
|
||||
<string name="repeat_x_times">Repeat x times</string>
|
||||
<string name="stop_repeating_after_x">Stop repeating after x occurrences</string>
|
||||
<string name="repeat_forever">Repeat forever</string>
|
||||
<string name="times">times</string>
|
||||
<string name="repeat">Repeat</string>
|
||||
|
@ -164,6 +164,10 @@
|
|||
<string name="alarm_stream">Alarm</string>
|
||||
<string name="notification_stream">Notification</string>
|
||||
<string name="ring_stream">Ring</string>
|
||||
<string name="use_last_event_reminders">Use the last events\' reminders as the default for new event</string>
|
||||
<string name="default_reminder_1">Default reminder 1</string>
|
||||
<string name="default_reminder_2">Default reminder 2</string>
|
||||
<string name="default_reminder_3">Default reminder 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<string name="update_one_only">선택한 항목만 변경</string>
|
||||
<string name="update_all_occurrences">모든 항목 변경</string>
|
||||
<string name="repeat_till_date">날짜까지 반복</string>
|
||||
<string name="repeat_x_times">횟수 반복</string>
|
||||
<string name="stop_repeating_after_x">Stop repeating after x occurrences</string>
|
||||
<string name="repeat_forever">영원히 반복</string>
|
||||
<string name="times">번</string>
|
||||
<string name="repeat">반복</string>
|
||||
|
@ -164,6 +164,10 @@
|
|||
<string name="alarm_stream">Alarm</string>
|
||||
<string name="notification_stream">Notification</string>
|
||||
<string name="ring_stream">Ring</string>
|
||||
<string name="use_last_event_reminders">Use the last events\' reminders as the default for new event</string>
|
||||
<string name="default_reminder_1">Default reminder 1</string>
|
||||
<string name="default_reminder_2">Default reminder 2</string>
|
||||
<string name="default_reminder_3">Default reminder 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<string name="update_one_only">Atnaujinti tik pasirinktą įvykį</string>
|
||||
<string name="update_all_occurrences">Atnaujinti visus įvykius</string>
|
||||
<string name="repeat_till_date">Pakartoti iki datos</string>
|
||||
<string name="repeat_x_times">Pakartoti x kartus/ų</string>
|
||||
<string name="stop_repeating_after_x">Stop repeating after x occurrences</string>
|
||||
<string name="repeat_forever">Karoti amžinai</string>
|
||||
<string name="times">laikai</string>
|
||||
<string name="repeat">Kartoti</string>
|
||||
|
@ -164,6 +164,10 @@
|
|||
<string name="alarm_stream">Alarm</string>
|
||||
<string name="notification_stream">Notification</string>
|
||||
<string name="ring_stream">Ring</string>
|
||||
<string name="use_last_event_reminders">Use the last events\' reminders as the default for new event</string>
|
||||
<string name="default_reminder_1">Default reminder 1</string>
|
||||
<string name="default_reminder_2">Default reminder 2</string>
|
||||
<string name="default_reminder_3">Default reminder 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<string name="update_one_only">Oppdater bare den merkede forekomsten</string>
|
||||
<string name="update_all_occurrences">Oppdater alle forekomster</string>
|
||||
<string name="repeat_till_date">Gjenta til en dato</string>
|
||||
<string name="repeat_x_times">Gjenta x ganger</string>
|
||||
<string name="stop_repeating_after_x">Stopp å gjenta etter x forekomster</string>
|
||||
<string name="repeat_forever">Gjenta for alltid</string>
|
||||
<string name="times">ganger</string>
|
||||
<string name="repeat">Gjenta</string>
|
||||
|
@ -164,6 +164,10 @@
|
|||
<string name="alarm_stream">Alarm</string>
|
||||
<string name="notification_stream">Varsel</string>
|
||||
<string name="ring_stream">Ringetone</string>
|
||||
<string name="use_last_event_reminders">Use the last events\' reminders as the default for new event</string>
|
||||
<string name="default_reminder_1">Default reminder 1</string>
|
||||
<string name="default_reminder_2">Default reminder 2</string>
|
||||
<string name="default_reminder_3">Default reminder 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<string name="update_one_only">Alleen huidige afspraak bijwerken</string>
|
||||
<string name="update_all_occurrences">Alle afspraken bijwerken</string>
|
||||
<string name="repeat_till_date">Herhalen tot datum</string>
|
||||
<string name="repeat_x_times">Aantal keren herhalen</string>
|
||||
<string name="stop_repeating_after_x">Herhaling stoppen na x keer</string>
|
||||
<string name="repeat_forever">Voor altijd herhalen</string>
|
||||
<string name="times">keer</string>
|
||||
<string name="repeat">Herhalen</string>
|
||||
|
@ -102,7 +102,7 @@
|
|||
<string name="export_events">Afspraken exporteren</string>
|
||||
<string name="import_events_from_ics">Afspraken uit .ics-bestand importeren</string>
|
||||
<string name="export_events_to_ics">Afspraken naar .ics-bestand exporteren</string>
|
||||
<string name="default_event_type">Standaard afspraaktype</string>
|
||||
<string name="default_event_type">Standaardtype afspraken</string>
|
||||
<string name="export_past_events_too">Afspraken uit verleden ook exporteren</string>
|
||||
<string name="include_event_types">Afspraaktypes weergeven</string>
|
||||
<string name="filename_without_ics">Bestandsnaam (zonder .ics)</string>
|
||||
|
@ -164,6 +164,10 @@
|
|||
<string name="alarm_stream">Alarm</string>
|
||||
<string name="notification_stream">Notificatie</string>
|
||||
<string name="ring_stream">Beltoon</string>
|
||||
<string name="use_last_event_reminders">Ingestelde herinneringen bij laatste afspraak als standaard voor nieuwe afspraken gebruiken</string>
|
||||
<string name="default_reminder_1">Standaardherinnering 1</string>
|
||||
<string name="default_reminder_2">Standaardherinnering 2</string>
|
||||
<string name="default_reminder_3">Standaardherinnering 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<string name="update_one_only">Oppdater bare den merkede forekomsten</string>
|
||||
<string name="update_all_occurrences">Oppdater alle forekomster</string>
|
||||
<string name="repeat_till_date">Gjenta til en dato</string>
|
||||
<string name="repeat_x_times">Gjenta x ganger</string>
|
||||
<string name="stop_repeating_after_x">Stop repeating after x occurrences</string>
|
||||
<string name="repeat_forever">Gjenta for alltid</string>
|
||||
<string name="times">ganger</string>
|
||||
<string name="repeat">Gjenta</string>
|
||||
|
@ -164,6 +164,10 @@
|
|||
<string name="alarm_stream">Alarm</string>
|
||||
<string name="notification_stream">Notification</string>
|
||||
<string name="ring_stream">Ring</string>
|
||||
<string name="use_last_event_reminders">Use the last events\' reminders as the default for new event</string>
|
||||
<string name="default_reminder_1">Default reminder 1</string>
|
||||
<string name="default_reminder_2">Default reminder 2</string>
|
||||
<string name="default_reminder_3">Default reminder 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<string name="update_one_only">Zaktualizuj tylko wybrane wystąpienia</string>
|
||||
<string name="update_all_occurrences">Zaktualizuj wszystkie wystąpienia</string>
|
||||
<string name="repeat_till_date">Powtarzaj do daty</string>
|
||||
<string name="repeat_x_times">Powtórz x razy</string>
|
||||
<string name="stop_repeating_after_x">Stop repeating after x occurrences</string>
|
||||
<string name="repeat_forever">Powtarzaj do końca świata</string>
|
||||
<string name="times">razy</string>
|
||||
<string name="repeat">Powtórz</string>
|
||||
|
@ -164,6 +164,10 @@
|
|||
<string name="alarm_stream">Alarm</string>
|
||||
<string name="notification_stream">Powiadomienie</string>
|
||||
<string name="ring_stream">Dzwonek</string>
|
||||
<string name="use_last_event_reminders">Use the last events\' reminders as the default for new event</string>
|
||||
<string name="default_reminder_1">Default reminder 1</string>
|
||||
<string name="default_reminder_2">Default reminder 2</string>
|
||||
<string name="default_reminder_3">Default reminder 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<string name="monthly_view">Vista mensal</string>
|
||||
<string name="yearly_view">Vista anual</string>
|
||||
<string name="simple_event_list">Lista de eventos</string>
|
||||
<string name="no_upcoming_events">Parece que você não tem eventos próximos.</string>
|
||||
<string name="no_upcoming_events">Parece que você não tem próximos eventos.</string>
|
||||
<string name="go_to_today">Ir para hoje</string>
|
||||
|
||||
<!-- Widget titles -->
|
||||
|
@ -20,7 +20,7 @@
|
|||
<string name="edit_event">Editar evento</string>
|
||||
<string name="new_event">Novo evento</string>
|
||||
<string name="create_new_event">Crie um novo evento</string>
|
||||
<string name="duplicate_event">Duplicate event</string>
|
||||
<string name="duplicate_event">Evento duplicado</string>
|
||||
<string name="title_empty">O título não pode ficar vazio</string>
|
||||
<string name="end_before_start">O evento não pode terminar antes de iniciar</string>
|
||||
<string name="event_added">Evento adicionado com sucesso</string>
|
||||
|
@ -49,11 +49,11 @@
|
|||
<string name="update_one_only">Atualizar a ocorrência selecionada</string>
|
||||
<string name="update_all_occurrences">Atualizar todas as ocorrências</string>
|
||||
<string name="repeat_till_date">Repetir até uma data</string>
|
||||
<string name="repeat_x_times">Repetir x vezes</string>
|
||||
<string name="stop_repeating_after_x">Stop repeating after x occurrences</string>
|
||||
<string name="repeat_forever">Repetir para sempre</string>
|
||||
<string name="times">vezes</string>
|
||||
<string name="repeat">Repetir</string>
|
||||
<string name="repeat_on">Repetir</string>
|
||||
<string name="repeat_on">Repetir em</string>
|
||||
<string name="every_day">Todo dia</string>
|
||||
<string name="selected_days">Em dias selecionados</string>
|
||||
<string name="the_same_day">O mesmo dia</string>
|
||||
|
@ -128,12 +128,12 @@
|
|||
<string name="select_event_type">Selecione um tipo de evento</string>
|
||||
<string name="move_events_into_default">Mover eventos afetados para o tipo de evento padrão</string>
|
||||
<string name="remove_affected_events">Remover permanentemente eventos afetados</string>
|
||||
<string name="unsync_caldav_calendar">Para remover um calendário do CalDAV, você deve desassincroná-lo</string>
|
||||
<string name="unsync_caldav_calendar">Para remover um calendário do CalDAV você deve desativar a sincronização</string>
|
||||
|
||||
<!-- Holidays -->
|
||||
<string name="holidays">Ferias</string>
|
||||
<string name="add_holidays">Adicionar Ferias</string>
|
||||
<string name="national_holidays">feriados nacionais</string>
|
||||
<string name="holidays">Feriados</string>
|
||||
<string name="add_holidays">Adicionar feriados</string>
|
||||
<string name="national_holidays">Feriados nacionais</string>
|
||||
<string name="religious_holidays">Feriados religiosos</string>
|
||||
<string name="holidays_imported_successfully">Os feriados foram importados com sucesso para o tipo de evento \ "Feriados \"</string>
|
||||
<string name="importing_some_holidays_failed">A importação de alguns eventos falhou</string>
|
||||
|
@ -149,21 +149,25 @@
|
|||
<string name="no_ringtone_picker">Não foi encontrado nenhum aplicativo capaz de definir o som</string>
|
||||
<string name="no_ringtone_selected">Nenhum</string>
|
||||
<string name="day_end_before_start">O dia final não pode ser antes do início</string>
|
||||
<string name="caldav_sync">CalDAV sync</string>
|
||||
<string name="caldav_sync">Sincronização CalDAV</string>
|
||||
<string name="event_lists">Listas de eventos</string>
|
||||
<string name="display_past_events">Exibir eventos do passado</string>
|
||||
<string name="replace_description_with_location">Substituir descrição do evento por localização</string>
|
||||
<string name="delete_all_events">Delete todos eventos</string>
|
||||
<string name="delete_all_events">Deletar todos os eventos</string>
|
||||
<string name="delete_all_events_confirmation">Tem certeza de que deseja excluir todos os eventos? Isso deixará seus tipos de eventos e outras configurações intactas.</string>
|
||||
<string name="show_a_grid">Mostrar uma grid</string>
|
||||
<string name="loop_reminders">Lembretes de loop até que seja dispensado</string>
|
||||
<string name="dim_past_events">Escurecer passado eventos</string>
|
||||
<string name="dim_past_events">Escurecer eventos passados</string>
|
||||
<string name="events">Eventos</string>
|
||||
<string name="reminder_stream">Audio stream used by reminders</string>
|
||||
<string name="system_stream">System</string>
|
||||
<string name="alarm_stream">Alarm</string>
|
||||
<string name="notification_stream">Notification</string>
|
||||
<string name="ring_stream">Ring</string>
|
||||
<string name="reminder_stream">Fonte de áudio usada pelos lembretes</string>
|
||||
<string name="system_stream">Sistema</string>
|
||||
<string name="alarm_stream">Alarme</string>
|
||||
<string name="notification_stream">Notificação</string>
|
||||
<string name="ring_stream">Toque</string>
|
||||
<string name="use_last_event_reminders">Use the last events\' reminders as the default for new event</string>
|
||||
<string name="default_reminder_1">Default reminder 1</string>
|
||||
<string name="default_reminder_2">Default reminder 2</string>
|
||||
<string name="default_reminder_3">Default reminder 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
@ -173,7 +177,7 @@
|
|||
<string name="refresh_caldav_calendars">Recarregar Calendarios CalDAV </string>
|
||||
<string name="refreshing">Recarregando…</string>
|
||||
<string name="refreshing_complete">Carregamento completo</string>
|
||||
<string name="editing_calendar_failed">O calendário de edição falhou</string>
|
||||
<string name="editing_calendar_failed">A edição do calendário falhou</string>
|
||||
<string name="syncing">Sincronizando…</string>
|
||||
<string name="synchronization_completed">Sincronização completa</string>
|
||||
|
||||
|
@ -184,7 +188,7 @@
|
|||
<string name="wednesday_alt">Quarta</string>
|
||||
<string name="thursday_alt">Quinta</string>
|
||||
<string name="friday_alt">Sexta</string>
|
||||
<string name="saturday_alt">Sabado</string>
|
||||
<string name="saturday_alt">Sábado</string>
|
||||
<string name="sunday_alt">Domingo</string>
|
||||
|
||||
<!-- List widget config example events -->
|
||||
|
@ -204,9 +208,9 @@
|
|||
<string name="faq_2_title">Posso sincronizar meus eventos por meio do Google Agenda ou de outro serviço de suporte CalDAV?</string>
|
||||
<string name="faq_2_text">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.</string>
|
||||
<string name="faq_3_title">I see the visual reminders, but hear no audio. What can I do?</string>
|
||||
<string name="faq_3_text">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.</string>
|
||||
<string name="faq_3_title">Vejo os lembrete, mas não ouço áudio. O que posso fazer?</string>
|
||||
<string name="faq_3_text">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.</string>
|
||||
|
||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||
<!-- Short description has to have less than 80 chars -->
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<string name="event_added">Evento adicionado com sucesso</string>
|
||||
<string name="event_updated">Evento atualizado com sucesso</string>
|
||||
<string name="filter_events_by_type">Filtrar eventos por tipo</string>
|
||||
<string name="please_fill_location">Introduza a localização para a mostrar no maps</string>
|
||||
<string name="please_fill_location">Introduza a localização para a mostrar no mapa</string>
|
||||
<string name="public_event_notification_text">Está para breve um evento</string>
|
||||
|
||||
<!-- Event Repetition -->
|
||||
|
@ -44,12 +44,12 @@
|
|||
<string name="event_is_repeatable">O evento é repetível</string>
|
||||
<string name="selection_contains_repetition">A seleção contém eventos recorrentes</string>
|
||||
<string name="delete_one_only">Apagar a ocorrência selecionada</string>
|
||||
<string name="delete_future_occurrences">Delete this and all future occurrences</string>
|
||||
<string name="delete_future_occurrences">Apagar esta e todas as ocorrências futuras</string>
|
||||
<string name="delete_all_occurrences">Apagar todas as ocorrências</string>
|
||||
<string name="update_one_only">Atualizar a ocorrência selecionada</string>
|
||||
<string name="update_all_occurrences">Atualizar todas as ocorrências</string>
|
||||
<string name="repeat_till_date">Repetir até à data</string>
|
||||
<string name="repeat_x_times">Repetir x vezes</string>
|
||||
<string name="stop_repeating_after_x">Parar de repetir após x ocorrências</string>
|
||||
<string name="repeat_forever">Repetir eternamente</string>
|
||||
<string name="times">vezes</string>
|
||||
<string name="repeat">Repetição</string>
|
||||
|
@ -60,7 +60,7 @@
|
|||
<string name="the_last_day">Último dia</string>
|
||||
<string name="repeat_on_the_same_day_monthly">Repetir no mesmo dia de cada mês</string>
|
||||
<string name="repeat_on_the_last_day_monthly">Repetir no último dia de cada mês</string>
|
||||
<string name="repeat_on_the_same_day_yearly">Repeat on the same day every year</string>
|
||||
<string name="repeat_on_the_same_day_yearly">Repetir no mesmo dia de cada ano</string>
|
||||
<string name="repeat_every_m">Repetir</string>
|
||||
<string name="every_m">A cada</string>
|
||||
<string name="first_m">primeira</string>
|
||||
|
@ -106,7 +106,7 @@
|
|||
<string name="export_past_events_too">Exportar eventos antigos</string>
|
||||
<string name="include_event_types">Incluir tipos de eventos</string>
|
||||
<string name="filename_without_ics">Nome do ficheiro (sem .ics)</string>
|
||||
<string name="override_event_types">Override event types in the file</string>
|
||||
<string name="override_event_types">Substituir tipo de eventos no ficheiro</string>
|
||||
|
||||
<!-- Event details -->
|
||||
<string name="title">Título</string>
|
||||
|
@ -161,9 +161,13 @@
|
|||
<string name="events">Eventos</string>
|
||||
<string name="reminder_stream">Fluxo áudio a utilizar nos lembretes</string>
|
||||
<string name="system_stream">Sistema</string>
|
||||
<string name="alarm_stream">Alarmw</string>
|
||||
<string name="alarm_stream">Alarme</string>
|
||||
<string name="notification_stream">Notificação</string>
|
||||
<string name="ring_stream">Toque</string>
|
||||
<string name="use_last_event_reminders">Use the last events\' reminders as the default for new event</string>
|
||||
<string name="default_reminder_1">Default reminder 1</string>
|
||||
<string name="default_reminder_2">Default reminder 2</string>
|
||||
<string name="default_reminder_3">Default reminder 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<string name="update_one_only">Обновить только выбранное</string>
|
||||
<string name="update_all_occurrences">Обновить все связанные</string>
|
||||
<string name="repeat_till_date">Повторять до даты</string>
|
||||
<string name="repeat_x_times">Повторять x раз</string>
|
||||
<string name="stop_repeating_after_x">Перестать повторять после x раза</string>
|
||||
<string name="repeat_forever">Повторять бесконечно</string>
|
||||
<string name="times">раз</string>
|
||||
<string name="repeat">Повторять</string>
|
||||
|
@ -164,6 +164,10 @@
|
|||
<string name="alarm_stream">Будильник</string>
|
||||
<string name="notification_stream">Уведомление</string>
|
||||
<string name="ring_stream">Звонок</string>
|
||||
<string name="use_last_event_reminders">Use the last events\' reminders as the default for new event</string>
|
||||
<string name="default_reminder_1">Default reminder 1</string>
|
||||
<string name="default_reminder_2">Default reminder 2</string>
|
||||
<string name="default_reminder_3">Default reminder 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<string name="update_one_only">Upraviť iba označené opakovania</string>
|
||||
<string name="update_all_occurrences">Upraviť všetky opakovania</string>
|
||||
<string name="repeat_till_date">Opakovať po dátum</string>
|
||||
<string name="repeat_x_times">Opakovať x krát</string>
|
||||
<string name="stop_repeating_after_x">Ukončiť opakovanie po x opakovaniach</string>
|
||||
<string name="repeat_forever">Opakovať navždy</string>
|
||||
<string name="times">krát</string>
|
||||
<string name="repeat">Opakovať</string>
|
||||
|
@ -164,6 +164,10 @@
|
|||
<string name="alarm_stream">Výstražný</string>
|
||||
<string name="notification_stream">Pripomienkový</string>
|
||||
<string name="ring_stream">Zvoniaci</string>
|
||||
<string name="use_last_event_reminders">Použiť pripomienky poslednej udalosti ako predvolené pre novú udalosť</string>
|
||||
<string name="default_reminder_1">Predvolená pripomienka 1</string>
|
||||
<string name="default_reminder_2">Predvolená pripomienka 2</string>
|
||||
<string name="default_reminder_3">Predvolená pripomienka 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<string name="update_one_only">Uppdatera bara den markerade förekomsten</string>
|
||||
<string name="update_all_occurrences">Uppdatera alla förekomster</string>
|
||||
<string name="repeat_till_date">Upprepa till ett datum</string>
|
||||
<string name="repeat_x_times">Upprepa x gånger</string>
|
||||
<string name="stop_repeating_after_x">Stop repeating after x occurrences</string>
|
||||
<string name="repeat_forever">Upprepa alltid</string>
|
||||
<string name="times">gånger</string>
|
||||
<string name="repeat">Upprepa</string>
|
||||
|
@ -164,6 +164,10 @@
|
|||
<string name="alarm_stream">Alarm</string>
|
||||
<string name="notification_stream">Avisering</string>
|
||||
<string name="ring_stream">Ring</string>
|
||||
<string name="use_last_event_reminders">Use the last events\' reminders as the default for new event</string>
|
||||
<string name="default_reminder_1">Default reminder 1</string>
|
||||
<string name="default_reminder_2">Default reminder 2</string>
|
||||
<string name="default_reminder_3">Default reminder 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<string name="update_one_only">Yalnızca seçilen etkinlikleri güncelle</string>
|
||||
<string name="update_all_occurrences">Tüm etkinlikleri güncelle</string>
|
||||
<string name="repeat_till_date">Şu tarihe kadar tekrarla</string>
|
||||
<string name="repeat_x_times">X kere tekrarla</string>
|
||||
<string name="stop_repeating_after_x">Stop repeating after x occurrences</string>
|
||||
<string name="repeat_forever">Sonsuza kadar tekrarla</string>
|
||||
<string name="times">kere</string>
|
||||
<string name="repeat">Tekrarla</string>
|
||||
|
@ -164,6 +164,10 @@
|
|||
<string name="alarm_stream">Alarm</string>
|
||||
<string name="notification_stream">Bildirim</string>
|
||||
<string name="ring_stream">Zil sesi</string>
|
||||
<string name="use_last_event_reminders">Use the last events\' reminders as the default for new event</string>
|
||||
<string name="default_reminder_1">Default reminder 1</string>
|
||||
<string name="default_reminder_2">Default reminder 2</string>
|
||||
<string name="default_reminder_3">Default reminder 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<string name="update_one_only">只更新選擇的事件</string>
|
||||
<string name="update_all_occurrences">更新全部事件</string>
|
||||
<string name="repeat_till_date">重複直到某日</string>
|
||||
<string name="repeat_x_times">重複幾次</string>
|
||||
<string name="stop_repeating_after_x">Stop repeating after x occurrences</string>
|
||||
<string name="repeat_forever">永遠重複</string>
|
||||
<string name="times">次</string>
|
||||
<string name="repeat">重複</string>
|
||||
|
@ -164,6 +164,10 @@
|
|||
<string name="alarm_stream">鬧鐘</string>
|
||||
<string name="notification_stream">通知</string>
|
||||
<string name="ring_stream">鈴聲</string>
|
||||
<string name="use_last_event_reminders">Use the last events\' reminders as the default for new event</string>
|
||||
<string name="default_reminder_1">Default reminder 1</string>
|
||||
<string name="default_reminder_2">Default reminder 2</string>
|
||||
<string name="default_reminder_3">Default reminder 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
|
|
@ -25,4 +25,7 @@
|
|||
<dimen name="month_text_size">22sp</dimen>
|
||||
|
||||
<dimen name="year_view_day_text_size">8sp</dimen>
|
||||
|
||||
<dimen name="event_color_bar_width">4dp</dimen>
|
||||
<dimen name="event_color_bar_height">100dp</dimen>
|
||||
</resources>
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
<resources>
|
||||
|
||||
<!-- Release notes -->
|
||||
<string name="release_129">Allow setting default event reminders, not always reuse the last events\' ones</string>
|
||||
<string name="release_119">
|
||||
Allow changing the app launcher icon color\n
|
||||
Added support for more advanced yearly repetition rules\n
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<string name="update_one_only">Update the selected occurrence only</string>
|
||||
<string name="update_all_occurrences">Update all occurrences</string>
|
||||
<string name="repeat_till_date">Repeat till a date</string>
|
||||
<string name="repeat_x_times">Repeat x times</string>
|
||||
<string name="stop_repeating_after_x">Stop repeating after x occurrences</string>
|
||||
<string name="repeat_forever">Repeat forever</string>
|
||||
<string name="times">times</string>
|
||||
<string name="repeat">Repeat</string>
|
||||
|
@ -164,6 +164,10 @@
|
|||
<string name="alarm_stream">Alarm</string>
|
||||
<string name="notification_stream">Notification</string>
|
||||
<string name="ring_stream">Ring</string>
|
||||
<string name="use_last_event_reminders">Use the last events\' reminders as the default for new event</string>
|
||||
<string name="default_reminder_1">Default reminder 1</string>
|
||||
<string name="default_reminder_2">Default reminder 2</string>
|
||||
<string name="default_reminder_3">Default reminder 3</string>
|
||||
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</string>
|
||||
|
|
|
@ -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" }
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue