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 63aca978a..eaa7e7ee8 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
@@ -32,6 +32,7 @@ import com.simplemobiletools.calendar.pro.extensions.*
import com.simplemobiletools.calendar.pro.helpers.*
import com.simplemobiletools.calendar.pro.helpers.Formatter
import com.simplemobiletools.calendar.pro.models.*
+import com.simplemobiletools.commons.dialogs.ConfirmationAdvancedDialog
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.*
@@ -123,6 +124,9 @@ class EventActivity : SimpleActivity() {
}
}
+
+
+
private fun gotEvent(savedInstanceState: Bundle?, localEventType: EventType?, event: Event?) {
if (localEventType == null || localEventType.caldavCalendarId != 0) {
config.lastUsedLocalEventTypeId = REGULAR_EVENT_TYPE_ID
@@ -270,8 +274,8 @@ class EventActivity : SimpleActivity() {
}
private fun isEventChanged(): Boolean {
- var newStartTS = 0L
- var newEndTS = 0L
+ var newStartTS: Long
+ var newEndTS: Long
getStartEndTimes().apply {
newStartTS = first
newEndTS = second
@@ -295,12 +299,11 @@ class EventActivity : SimpleActivity() {
override fun onBackPressed() {
if (isEventChanged()) {
- CloseEditingDialog(this) {
- when (it) {
- CLOSE_WITHOUT_SAVING -> {
- finish()
- }
- SAVE_AND_CLOSE -> saveCurrentEvent()
+ ConfirmationAdvancedDialog(this, "", R.string.save_before_closing, R.string.save, R.string.discard) {
+ if (it) {
+ saveCurrentEvent()
+ } else {
+ super.onBackPressed()
}
}
} else {
@@ -439,6 +442,27 @@ class EventActivity : SimpleActivity() {
checkAttendees()
}
+ private fun addDefValuesToNewEvent() {
+ var newStartTS: Long
+ var newEndTS: Long
+ getStartEndTimes().apply {
+ newStartTS = first
+ newEndTS = second
+ }
+
+ mEvent.apply {
+ startTS = newStartTS
+ endTS = newEndTS
+ reminder1Minutes = mReminder1Minutes
+ reminder1Type = mReminder1Type
+ reminder2Minutes = mReminder2Minutes
+ reminder2Type = mReminder2Type
+ reminder3Minutes = mReminder3Minutes
+ reminder3Type = mReminder3Type
+ eventType = mEventTypeId
+ }
+ }
+
private fun setupNewEvent() {
window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE)
event_title.requestFocus()
@@ -487,7 +511,7 @@ class EventActivity : SimpleActivity() {
}
mEventEndDateTime = mEventStartDateTime.plusMinutes(addMinutes)
}
-
+ addDefValuesToNewEvent()
checkAttendees()
}
diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/dialogs/CloseEditingDialog.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/dialogs/CloseEditingDialog.kt
deleted file mode 100644
index 00f710a75..000000000
--- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/dialogs/CloseEditingDialog.kt
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.simplemobiletools.calendar.pro.dialogs
-
-import android.app.Activity
-import android.view.ViewGroup
-import androidx.appcompat.app.AlertDialog
-import com.simplemobiletools.calendar.pro.R
-import com.simplemobiletools.calendar.pro.helpers.*
-import com.simplemobiletools.commons.extensions.setupDialogStuff
-import kotlinx.android.synthetic.main.dialog_return_without_saving.view.*
-
-class CloseEditingDialog(val activity: Activity, val callback: (closeRule: Int) -> Unit) {
- val dialog: AlertDialog?
-
- init {
- val view = activity.layoutInflater.inflate(R.layout.dialog_return_without_saving, null)
-
- dialog = AlertDialog.Builder(activity)
- .setPositiveButton(R.string.yes) { _, _ -> dialogConfirmed(view as ViewGroup) }
- .setNegativeButton(R.string.no, null)
- .create().apply {
- activity.setupDialogStuff(view, this)
- }
- }
-
- private fun dialogConfirmed(view: ViewGroup) {
- val closeRule = when (view.close_event_radio_view.checkedRadioButtonId) {
- R.id.close_event_without_saving -> CLOSE_WITHOUT_SAVING
- else -> SAVE_AND_CLOSE
- }
- dialog?.dismiss()
- callback(closeRule)
- }
-}
diff --git a/app/src/main/res/layout/dialog_return_without_saving.xml b/app/src/main/res/layout/dialog_return_without_saving.xml
deleted file mode 100644
index c32c06cde..000000000
--- a/app/src/main/res/layout/dialog_return_without_saving.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 5ce6350cf..3699b4f9a 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -293,9 +293,6 @@
Reddit:
https://www.reddit.com/r/SimpleMobileTools
- Are you sure you want to close?
- Close without saving
- Save and close