diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt index 639a1d211..f211aadd2 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt @@ -1,5 +1,6 @@ package com.simplemobiletools.calendar.pro.activities +import android.app.Activity import android.app.DatePickerDialog import android.app.TimePickerDialog import android.content.Intent @@ -61,6 +62,7 @@ class EventActivity : SimpleActivity() { private val ATTENDEES = "ATTENDEES" private val EVENT_TYPE_ID = "EVENT_TYPE_ID" private val EVENT_CALENDAR_ID = "EVENT_CALENDAR_ID" + private val SELECT_TIME_ZONE_INTENT = 1 private var mReminder1Minutes = REMINDER_OFF private var mReminder2Minutes = REMINDER_OFF @@ -310,6 +312,15 @@ class EventActivity : SimpleActivity() { checkAttendees() } + override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?) { + if (requestCode == SELECT_TIME_ZONE_INTENT && resultCode == Activity.RESULT_OK && resultData?.hasExtra(TIME_ZONE) == true) { + val timeZone = resultData.getSerializableExtra(TIME_ZONE) as MyTimeZone + mEvent.timeZone = timeZone.zoneName + updateTimeZoneText() + } + super.onActivityResult(requestCode, resultCode, resultData) + } + private fun updateTexts() { updateRepetitionText() checkReminderTexts() @@ -1172,7 +1183,9 @@ class EventActivity : SimpleActivity() { } private fun setupTimeZone() { - + Intent(this, SelectTimeZoneActivity::class.java).apply { + startActivityForResult(this, SELECT_TIME_ZONE_INTENT) + } } private fun checkRepeatRule() { diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SelectTimeZoneActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SelectTimeZoneActivity.kt index f80fdc35f..f71fc523a 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SelectTimeZoneActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SelectTimeZoneActivity.kt @@ -2,6 +2,7 @@ package com.simplemobiletools.calendar.pro.activities import android.app.SearchManager import android.content.Context +import android.content.Intent import android.os.Bundle import android.view.Menu import android.view.MenuItem @@ -9,7 +10,9 @@ import androidx.appcompat.widget.SearchView import androidx.core.view.MenuItemCompat import com.simplemobiletools.calendar.pro.R import com.simplemobiletools.calendar.pro.adapters.SelectTimeZoneAdapter +import com.simplemobiletools.calendar.pro.helpers.TIME_ZONE import com.simplemobiletools.calendar.pro.helpers.getAllTimeZones +import com.simplemobiletools.calendar.pro.models.MyTimeZone import kotlinx.android.synthetic.main.activity_select_time_zone.* class SelectTimeZoneActivity : SimpleActivity() { @@ -22,7 +25,10 @@ class SelectTimeZoneActivity : SimpleActivity() { title = "" SelectTimeZoneAdapter(this, getAllTimeZones()) { - + val data = Intent() + data.putExtra(TIME_ZONE, it as MyTimeZone) + setResult(RESULT_OK, data) + finish() }.apply { select_time_zone_list.adapter = this } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/Constants.kt index d050855fd..f0e969caa 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/Constants.kt @@ -19,6 +19,7 @@ const val CALDAV = "Caldav" const val VIEW_TO_OPEN = "view_to_open" const val SHORTCUT_NEW_EVENT = "shortcut_new_event" const val REGULAR_EVENT_TYPE_ID = 1L +const val TIME_ZONE = "time_zone" const val MONTHLY_VIEW = 1 const val YEARLY_VIEW = 2 diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/models/MyTimeZone.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/models/MyTimeZone.kt index ee842162f..88ad39ec9 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/models/MyTimeZone.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/models/MyTimeZone.kt @@ -1,3 +1,11 @@ package com.simplemobiletools.calendar.pro.models -data class MyTimeZone(val id: Int, var title: String, val zoneName: String) +import java.io.Serializable + +// sample MyTimeZone(id=1, title="GMT+1", zoneName="Europe/Bratislava") +data class MyTimeZone(val id: Int, var title: String, val zoneName: String) : Serializable { + + companion object { + private const val serialVersionUID = -32456354132688616L + } +}