adding some initial timezone handling

This commit is contained in:
tibbi 2019-12-09 17:37:37 +01:00
parent 40fb2e318c
commit fb828812ba
4 changed files with 26 additions and 0 deletions

View File

@ -313,6 +313,7 @@ class EventActivity : SimpleActivity() {
checkReminderTexts() checkReminderTexts()
updateStartTexts() updateStartTexts()
updateEndTexts() updateEndTexts()
updateTimeZoneText()
updateAttendeesVisibility() updateAttendeesVisibility()
} }
@ -1054,6 +1055,10 @@ class EventActivity : SimpleActivity() {
checkStartEndValidity() checkStartEndValidity()
} }
private fun updateTimeZoneText() {
event_timezone.text = mEvent.getTimeZoneString()
}
private fun checkStartEndValidity() { private fun checkStartEndValidity() {
val textColor = if (mEventStartDateTime.isAfter(mEventEndDateTime)) resources.getColor(R.color.red_text) else config.textColor val textColor = if (mEventStartDateTime.isAfter(mEventEndDateTime)) resources.getColor(R.color.red_text) else config.textColor
event_end_date.setTextColor(textColor) event_end_date.setTextColor(textColor)

View File

@ -1,5 +1,7 @@
package com.simplemobiletools.calendar.pro.helpers package com.simplemobiletools.calendar.pro.helpers
import com.simplemobiletools.calendar.pro.models.MyTimeZone
const val LOW_ALPHA = .3f const val LOW_ALPHA = .3f
const val MEDIUM_ALPHA = .6f const val MEDIUM_ALPHA = .6f
const val STORED_LOCALLY_ONLY = 0 const val STORED_LOCALLY_ONLY = 0
@ -157,3 +159,10 @@ const val REMINDER_NOTIFICATION = 0
const val REMINDER_EMAIL = 1 const val REMINDER_EMAIL = 1
fun getNowSeconds() = System.currentTimeMillis() / 1000L fun getNowSeconds() = System.currentTimeMillis() / 1000L
// timezones fetched from https://www.joda.org/joda-time/timezones.html
fun getAllTimeZones() = arrayListOf(
MyTimeZone(1, "GMT-11:00", "Pacific/Midway"),
MyTimeZone(2, "GMT-11:00", "Pacific/Niue"),
MyTimeZone(3, "GMT-11:00", "Pacific/Pago_Pago")
)

View File

@ -9,6 +9,7 @@ import com.simplemobiletools.calendar.pro.extensions.seconds
import com.simplemobiletools.calendar.pro.helpers.* import com.simplemobiletools.calendar.pro.helpers.*
import com.simplemobiletools.commons.extensions.addBitIf import com.simplemobiletools.commons.extensions.addBitIf
import org.joda.time.DateTime import org.joda.time.DateTime
import org.joda.time.DateTimeZone
import java.io.Serializable import java.io.Serializable
@Entity(tableName = "events", indices = [(Index(value = ["id"], unique = true))]) @Entity(tableName = "events", indices = [(Index(value = ["id"], unique = true))])
@ -177,4 +178,12 @@ data class Event(
} }
var color: Int = 0 var color: Int = 0
fun getTimeZoneString(): String {
return if (timeZone.isNotEmpty() && getAllTimeZones().map { it.zoneName }.contains(timeZone)) {
timeZone
} else {
DateTimeZone.getDefault().id
}
}
} }

View File

@ -0,0 +1,3 @@
package com.simplemobiletools.calendar.pro.models
data class MyTimeZone(val id: Int, var title: String, val zoneName: String)