setup task editing
This commit is contained in:
parent
baeb0e2c44
commit
c3e1f4b5d8
|
@ -10,13 +10,19 @@ import com.simplemobiletools.calendar.pro.R
|
||||||
import com.simplemobiletools.calendar.pro.dialogs.SelectEventTypeDialog
|
import com.simplemobiletools.calendar.pro.dialogs.SelectEventTypeDialog
|
||||||
import com.simplemobiletools.calendar.pro.extensions.config
|
import com.simplemobiletools.calendar.pro.extensions.config
|
||||||
import com.simplemobiletools.calendar.pro.extensions.eventTypesDB
|
import com.simplemobiletools.calendar.pro.extensions.eventTypesDB
|
||||||
|
import com.simplemobiletools.calendar.pro.extensions.eventsDB
|
||||||
import com.simplemobiletools.calendar.pro.extensions.seconds
|
import com.simplemobiletools.calendar.pro.extensions.seconds
|
||||||
import com.simplemobiletools.calendar.pro.helpers.*
|
import com.simplemobiletools.calendar.pro.helpers.*
|
||||||
import com.simplemobiletools.calendar.pro.helpers.Formatter
|
import com.simplemobiletools.calendar.pro.helpers.Formatter
|
||||||
import com.simplemobiletools.calendar.pro.models.Event
|
import com.simplemobiletools.calendar.pro.models.Event
|
||||||
import com.simplemobiletools.commons.extensions.*
|
import com.simplemobiletools.commons.extensions.*
|
||||||
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
|
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
|
||||||
|
import kotlinx.android.synthetic.main.activity_event.*
|
||||||
import kotlinx.android.synthetic.main.activity_task.*
|
import kotlinx.android.synthetic.main.activity_task.*
|
||||||
|
import kotlinx.android.synthetic.main.activity_task.event_type
|
||||||
|
import kotlinx.android.synthetic.main.activity_task.event_type_color
|
||||||
|
import kotlinx.android.synthetic.main.activity_task.event_type_holder
|
||||||
|
import kotlinx.android.synthetic.main.activity_task.event_type_image
|
||||||
import org.joda.time.DateTime
|
import org.joda.time.DateTime
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
|
@ -38,7 +44,20 @@ class TaskActivity : SimpleActivity() {
|
||||||
mDialogTheme = getDialogTheme()
|
mDialogTheme = getDialogTheme()
|
||||||
updateColors()
|
updateColors()
|
||||||
val taskId = intent.getLongExtra(EVENT_ID, 0L)
|
val taskId = intent.getLongExtra(EVENT_ID, 0L)
|
||||||
gotTask(savedInstanceState, null)
|
ensureBackgroundThread {
|
||||||
|
val task = eventsDB.getTaskWithId(taskId)
|
||||||
|
if (taskId != 0L && task == null) {
|
||||||
|
hideKeyboard()
|
||||||
|
finish()
|
||||||
|
return@ensureBackgroundThread
|
||||||
|
}
|
||||||
|
|
||||||
|
runOnUiThread {
|
||||||
|
if (!isDestroyed && !isFinishing) {
|
||||||
|
gotTask(savedInstanceState, task)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
||||||
|
@ -97,8 +116,14 @@ class TaskActivity : SimpleActivity() {
|
||||||
private fun gotTask(savedInstanceState: Bundle?, task: Event?) {
|
private fun gotTask(savedInstanceState: Bundle?, task: Event?) {
|
||||||
if (task != null) {
|
if (task != null) {
|
||||||
mTask = task
|
mTask = task
|
||||||
|
if (savedInstanceState == null) {
|
||||||
|
setupEditTask()
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
mTask = Event(null)
|
mTask = Event(null)
|
||||||
|
if (savedInstanceState == null) {
|
||||||
|
setupNewTask()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mEventTypeId = if (config.defaultEventTypeId == -1L) config.lastUsedLocalEventTypeId else config.defaultEventTypeId
|
mEventTypeId = if (config.defaultEventTypeId == -1L) config.lastUsedLocalEventTypeId else config.defaultEventTypeId
|
||||||
|
@ -112,8 +137,6 @@ class TaskActivity : SimpleActivity() {
|
||||||
task_time.setOnClickListener { setupTime() }
|
task_time.setOnClickListener { setupTime() }
|
||||||
event_type_holder.setOnClickListener { showEventTypeDialog() }
|
event_type_holder.setOnClickListener { showEventTypeDialog() }
|
||||||
|
|
||||||
setupNewTask()
|
|
||||||
|
|
||||||
if (savedInstanceState == null) {
|
if (savedInstanceState == null) {
|
||||||
updateEventType()
|
updateEventType()
|
||||||
updateDateText()
|
updateDateText()
|
||||||
|
@ -121,6 +144,15 @@ class TaskActivity : SimpleActivity() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun setupEditTask() {
|
||||||
|
mTaskDateTime = Formatter.getDateTimeFromTS(mTask.startTS)
|
||||||
|
window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN)
|
||||||
|
updateActionBarTitle(getString(R.string.edit_task))
|
||||||
|
|
||||||
|
task_title.setText(mTask.title)
|
||||||
|
task_description.setText(mTask.description)
|
||||||
|
}
|
||||||
|
|
||||||
private fun setupNewTask() {
|
private fun setupNewTask() {
|
||||||
val startTS = intent.getLongExtra(NEW_EVENT_START_TS, 0L)
|
val startTS = intent.getLongExtra(NEW_EVENT_START_TS, 0L)
|
||||||
val dateTime = Formatter.getDateTimeFromTS(startTS)
|
val dateTime = Formatter.getDateTimeFromTS(startTS)
|
||||||
|
|
|
@ -18,6 +18,9 @@ interface EventsDao {
|
||||||
@Query("SELECT * FROM events WHERE id = :id AND type = $TYPE_EVENT")
|
@Query("SELECT * FROM events WHERE id = :id AND type = $TYPE_EVENT")
|
||||||
fun getEventWithId(id: Long): Event?
|
fun getEventWithId(id: Long): Event?
|
||||||
|
|
||||||
|
@Query("SELECT * FROM events WHERE id = :id AND type = $TYPE_TASK")
|
||||||
|
fun getTaskWithId(id: Long): Event?
|
||||||
|
|
||||||
@Query("SELECT * FROM events WHERE import_id = :importId AND type = $TYPE_EVENT")
|
@Query("SELECT * FROM events WHERE import_id = :importId AND type = $TYPE_EVENT")
|
||||||
fun getEventWithImportId(importId: String): Event?
|
fun getEventWithImportId(importId: String): Event?
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,6 @@
|
||||||
<item
|
<item
|
||||||
android:id="@+id/duplicate"
|
android:id="@+id/duplicate"
|
||||||
android:icon="@drawable/ic_copy_vector"
|
android:icon="@drawable/ic_copy_vector"
|
||||||
android:title="@string/duplicate_event"
|
android:title="@string/duplicate_task"
|
||||||
app:showAsAction="always" />
|
app:showAsAction="always" />
|
||||||
</menu>
|
</menu>
|
||||||
|
|
Loading…
Reference in New Issue