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