mirror of
https://github.com/SimpleMobileTools/Simple-Calendar.git
synced 2025-06-05 21:59:17 +02:00
store the selected event type at the event
This commit is contained in:
@@ -33,7 +33,7 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compile 'com.simplemobiletools:commons:2.5.13'
|
compile 'com.simplemobiletools:commons:2.5.16'
|
||||||
compile 'joda-time:joda-time:2.9.1'
|
compile 'joda-time:joda-time:2.9.1'
|
||||||
compile 'com.facebook.stetho:stetho:1.4.1'
|
compile 'com.facebook.stetho:stetho:1.4.1'
|
||||||
compile 'com.bignerdranch.android:recyclerview-multiselect:0.2'
|
compile 'com.bignerdranch.android:recyclerview-multiselect:0.2'
|
||||||
|
@@ -10,6 +10,7 @@ import android.view.WindowManager
|
|||||||
import com.simplemobiletools.calendar.R
|
import com.simplemobiletools.calendar.R
|
||||||
import com.simplemobiletools.calendar.dialogs.EventReminderDialog
|
import com.simplemobiletools.calendar.dialogs.EventReminderDialog
|
||||||
import com.simplemobiletools.calendar.dialogs.EventRepeatIntervalDialog
|
import com.simplemobiletools.calendar.dialogs.EventRepeatIntervalDialog
|
||||||
|
import com.simplemobiletools.calendar.dialogs.SelectEventTypeDialog
|
||||||
import com.simplemobiletools.calendar.extensions.config
|
import com.simplemobiletools.calendar.extensions.config
|
||||||
import com.simplemobiletools.calendar.extensions.getAppropriateTheme
|
import com.simplemobiletools.calendar.extensions.getAppropriateTheme
|
||||||
import com.simplemobiletools.calendar.extensions.getReminderText
|
import com.simplemobiletools.calendar.extensions.getReminderText
|
||||||
@@ -66,7 +67,7 @@ class EventActivity : SimpleActivity(), DBHelper.EventUpdateListener {
|
|||||||
updateStartTime()
|
updateStartTime()
|
||||||
updateEndDate()
|
updateEndDate()
|
||||||
updateEndTime()
|
updateEndTime()
|
||||||
updateEventType()
|
updateEventTypeText()
|
||||||
|
|
||||||
mWasEndDateSet = event != null
|
mWasEndDateSet = event != null
|
||||||
mWasEndTimeSet = event != null
|
mWasEndTimeSet = event != null
|
||||||
@@ -84,7 +85,7 @@ class EventActivity : SimpleActivity(), DBHelper.EventUpdateListener {
|
|||||||
event_reminder_2.setOnClickListener { showReminder2Dialog() }
|
event_reminder_2.setOnClickListener { showReminder2Dialog() }
|
||||||
event_reminder_3.setOnClickListener { showReminder3Dialog() }
|
event_reminder_3.setOnClickListener { showReminder3Dialog() }
|
||||||
|
|
||||||
event_type.setOnClickListener { }
|
event_type.setOnClickListener { showEventTypeDialog() }
|
||||||
|
|
||||||
if (mEvent.flags and FLAG_ALL_DAY != 0)
|
if (mEvent.flags and FLAG_ALL_DAY != 0)
|
||||||
event_all_day.toggle()
|
event_all_day.toggle()
|
||||||
@@ -179,6 +180,13 @@ class EventActivity : SimpleActivity(), DBHelper.EventUpdateListener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun showEventTypeDialog() {
|
||||||
|
SelectEventTypeDialog(this, mEventType) {
|
||||||
|
mEventType = it
|
||||||
|
updateEventTypeText()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun checkReminderTexts() {
|
private fun checkReminderTexts() {
|
||||||
updateReminder1Text()
|
updateReminder1Text()
|
||||||
updateReminder2Text()
|
updateReminder2Text()
|
||||||
@@ -224,7 +232,7 @@ class EventActivity : SimpleActivity(), DBHelper.EventUpdateListener {
|
|||||||
event_repetition.text = getRepetitionToString(mRepeatInterval)
|
event_repetition.text = getRepetitionToString(mRepeatInterval)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun updateEventType() {
|
private fun updateEventTypeText() {
|
||||||
event_type.text = DBHelper.newInstance(applicationContext).getEventTypeTitle(mEventType)
|
event_type.text = DBHelper.newInstance(applicationContext).getEventTypeTitle(mEventType)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -297,6 +305,7 @@ class EventActivity : SimpleActivity(), DBHelper.EventUpdateListener {
|
|||||||
repeatInterval = mRepeatInterval
|
repeatInterval = mRepeatInterval
|
||||||
flags = if (event_all_day.isChecked) (mEvent.flags or FLAG_ALL_DAY) else (mEvent.flags.removeFlag(FLAG_ALL_DAY))
|
flags = if (event_all_day.isChecked) (mEvent.flags or FLAG_ALL_DAY) else (mEvent.flags.removeFlag(FLAG_ALL_DAY))
|
||||||
repeatLimit = if (repeatInterval == 0) 0 else mRepeatLimit
|
repeatLimit = if (repeatInterval == 0) 0 else mRepeatLimit
|
||||||
|
eventType = mEventType
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mEvent.id == 0) {
|
if (mEvent.id == 0) {
|
||||||
|
@@ -0,0 +1,53 @@
|
|||||||
|
package com.simplemobiletools.calendar.dialogs
|
||||||
|
|
||||||
|
import android.app.Activity
|
||||||
|
import android.support.v7.app.AlertDialog
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import android.widget.RadioButton
|
||||||
|
import android.widget.RadioGroup
|
||||||
|
import com.simplemobiletools.calendar.R
|
||||||
|
import com.simplemobiletools.calendar.helpers.DBHelper
|
||||||
|
import com.simplemobiletools.calendar.models.EventType
|
||||||
|
import com.simplemobiletools.commons.extensions.setupDialogStuff
|
||||||
|
import kotlinx.android.synthetic.main.dialog_radio_group.view.*
|
||||||
|
import java.util.*
|
||||||
|
|
||||||
|
class SelectEventTypeDialog(val activity: Activity, val currEventType: Int, val callback: (checkedId: Int) -> Unit) : RadioGroup.OnCheckedChangeListener {
|
||||||
|
val dialog: AlertDialog?
|
||||||
|
var wasInit = false
|
||||||
|
var eventTypes = ArrayList<EventType>()
|
||||||
|
|
||||||
|
init {
|
||||||
|
val view = activity.layoutInflater.inflate(R.layout.dialog_radio_group, null)
|
||||||
|
val radioGroup = view.dialog_radio_group
|
||||||
|
radioGroup.setOnCheckedChangeListener(this)
|
||||||
|
|
||||||
|
DBHelper.newInstance(activity).getEventTypes {
|
||||||
|
activity.runOnUiThread {
|
||||||
|
eventTypes = it
|
||||||
|
eventTypes.forEach {
|
||||||
|
val radioButton = activity.layoutInflater.inflate(R.layout.radio_button, null) as RadioButton
|
||||||
|
radioButton.apply {
|
||||||
|
text = it.title
|
||||||
|
isChecked = it.id == currEventType
|
||||||
|
id = it.id
|
||||||
|
}
|
||||||
|
radioGroup.addView(radioButton, RadioGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT))
|
||||||
|
}
|
||||||
|
wasInit = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dialog = AlertDialog.Builder(activity)
|
||||||
|
.create().apply {
|
||||||
|
activity.setupDialogStuff(view, this, R.string.select_event_type)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onCheckedChanged(group: RadioGroup, checkedId: Int) {
|
||||||
|
if (wasInit) {
|
||||||
|
callback.invoke(checkedId)
|
||||||
|
dialog?.dismiss()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -64,7 +64,7 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
|
|||||||
override fun onCreate(db: SQLiteDatabase) {
|
override fun onCreate(db: SQLiteDatabase) {
|
||||||
db.execSQL("CREATE TABLE $MAIN_TABLE_NAME ($COL_ID INTEGER PRIMARY KEY, $COL_START_TS INTEGER, $COL_END_TS INTEGER, $COL_TITLE TEXT, " +
|
db.execSQL("CREATE TABLE $MAIN_TABLE_NAME ($COL_ID INTEGER PRIMARY KEY, $COL_START_TS INTEGER, $COL_END_TS INTEGER, $COL_TITLE TEXT, " +
|
||||||
"$COL_DESCRIPTION TEXT, $COL_REMINDER_MINUTES INTEGER, $COL_REMINDER_MINUTES_2 INTEGER, $COL_REMINDER_MINUTES_3 INTEGER, " +
|
"$COL_DESCRIPTION TEXT, $COL_REMINDER_MINUTES INTEGER, $COL_REMINDER_MINUTES_2 INTEGER, $COL_REMINDER_MINUTES_3 INTEGER, " +
|
||||||
"$COL_IMPORT_ID TEXT, $COL_FLAGS INTEGER, $COL_EVENT_TYPE INTEGER)")
|
"$COL_IMPORT_ID TEXT, $COL_FLAGS INTEGER, $COL_EVENT_TYPE INTEGER NOT NULL DEFAULT $REGULAR_EVENT_ID)")
|
||||||
|
|
||||||
createMetaTable(db)
|
createMetaTable(db)
|
||||||
createTypesTable(db)
|
createTypesTable(db)
|
||||||
@@ -95,7 +95,7 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
|
|||||||
|
|
||||||
if (oldVersion < 7) {
|
if (oldVersion < 7) {
|
||||||
createTypesTable(db)
|
createTypesTable(db)
|
||||||
db.execSQL("ALTER TABLE $MAIN_TABLE_NAME ADD COLUMN $COL_EVENT_TYPE INTEGER NOT NULL DEFAULT 0")
|
db.execSQL("ALTER TABLE $MAIN_TABLE_NAME ADD COLUMN $COL_EVENT_TYPE INTEGER NOT NULL DEFAULT $REGULAR_EVENT_ID")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -164,6 +164,7 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
|
|||||||
put(COL_REMINDER_MINUTES_3, event.reminder3Minutes)
|
put(COL_REMINDER_MINUTES_3, event.reminder3Minutes)
|
||||||
put(COL_IMPORT_ID, event.importId)
|
put(COL_IMPORT_ID, event.importId)
|
||||||
put(COL_FLAGS, event.flags)
|
put(COL_FLAGS, event.flags)
|
||||||
|
put(COL_EVENT_TYPE, event.eventType)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -396,13 +397,13 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
|
|||||||
return events
|
return events
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getEventTypes(callback: (types: List<EventType>) -> Unit) {
|
fun getEventTypes(callback: (types: ArrayList<EventType>) -> Unit) {
|
||||||
Thread({
|
Thread({
|
||||||
fetchEventTypes(callback)
|
fetchEventTypes(callback)
|
||||||
}).start()
|
}).start()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun fetchEventTypes(callback: (types: List<EventType>) -> Unit) {
|
fun fetchEventTypes(callback: (types: ArrayList<EventType>) -> Unit) {
|
||||||
val eventTypes = ArrayList<EventType>(3)
|
val eventTypes = ArrayList<EventType>(3)
|
||||||
val cols = arrayOf(COL_TYPE_ID, COL_TYPE_TITLE, COL_TYPE_COLOR)
|
val cols = arrayOf(COL_TYPE_ID, COL_TYPE_TITLE, COL_TYPE_COLOR)
|
||||||
var cursor: Cursor? = null
|
var cursor: Cursor? = null
|
||||||
|
@@ -88,6 +88,7 @@
|
|||||||
<string name="color">Color</string>
|
<string name="color">Color</string>
|
||||||
<string name="regular_event">Regular event</string>
|
<string name="regular_event">Regular event</string>
|
||||||
<string name="cannot_delete_default_type">Default event type cannot be deleted</string>
|
<string name="cannot_delete_default_type">Default event type cannot be deleted</string>
|
||||||
|
<string name="select_event_type">Select an event type</string>
|
||||||
|
|
||||||
<!-- Settings -->
|
<!-- Settings -->
|
||||||
<string name="manage_event_types">Manage event types</string>
|
<string name="manage_event_types">Manage event types</string>
|
||||||
|
@@ -88,6 +88,7 @@
|
|||||||
<string name="color">Color</string>
|
<string name="color">Color</string>
|
||||||
<string name="regular_event">Regular event</string>
|
<string name="regular_event">Regular event</string>
|
||||||
<string name="cannot_delete_default_type">Default event type cannot be deleted</string>
|
<string name="cannot_delete_default_type">Default event type cannot be deleted</string>
|
||||||
|
<string name="select_event_type">Select an event type</string>
|
||||||
|
|
||||||
<!-- Settings -->
|
<!-- Settings -->
|
||||||
<string name="manage_event_types">Manage event types</string>
|
<string name="manage_event_types">Manage event types</string>
|
||||||
|
@@ -88,6 +88,7 @@
|
|||||||
<string name="color">Color</string>
|
<string name="color">Color</string>
|
||||||
<string name="regular_event">Regular event</string>
|
<string name="regular_event">Regular event</string>
|
||||||
<string name="cannot_delete_default_type">Default event type cannot be deleted</string>
|
<string name="cannot_delete_default_type">Default event type cannot be deleted</string>
|
||||||
|
<string name="select_event_type">Select an event type</string>
|
||||||
|
|
||||||
<!-- Settings -->
|
<!-- Settings -->
|
||||||
<string name="manage_event_types">Manage event types</string>
|
<string name="manage_event_types">Manage event types</string>
|
||||||
|
@@ -88,6 +88,7 @@
|
|||||||
<string name="color">Color</string>
|
<string name="color">Color</string>
|
||||||
<string name="regular_event">Regular event</string>
|
<string name="regular_event">Regular event</string>
|
||||||
<string name="cannot_delete_default_type">Default event type cannot be deleted</string>
|
<string name="cannot_delete_default_type">Default event type cannot be deleted</string>
|
||||||
|
<string name="select_event_type">Select an event type</string>
|
||||||
|
|
||||||
<!-- Settings -->
|
<!-- Settings -->
|
||||||
<string name="manage_event_types">Manage event types</string>
|
<string name="manage_event_types">Manage event types</string>
|
||||||
|
@@ -88,6 +88,7 @@
|
|||||||
<string name="color">Color</string>
|
<string name="color">Color</string>
|
||||||
<string name="regular_event">Regular event</string>
|
<string name="regular_event">Regular event</string>
|
||||||
<string name="cannot_delete_default_type">Default event type cannot be deleted</string>
|
<string name="cannot_delete_default_type">Default event type cannot be deleted</string>
|
||||||
|
<string name="select_event_type">Select an event type</string>
|
||||||
|
|
||||||
<!-- Settings -->
|
<!-- Settings -->
|
||||||
<string name="manage_event_types">Manage event types</string>
|
<string name="manage_event_types">Manage event types</string>
|
||||||
|
@@ -88,6 +88,7 @@
|
|||||||
<string name="color">Color</string>
|
<string name="color">Color</string>
|
||||||
<string name="regular_event">Regular event</string>
|
<string name="regular_event">Regular event</string>
|
||||||
<string name="cannot_delete_default_type">Default event type cannot be deleted</string>
|
<string name="cannot_delete_default_type">Default event type cannot be deleted</string>
|
||||||
|
<string name="select_event_type">Select an event type</string>
|
||||||
|
|
||||||
<!-- Settings -->
|
<!-- Settings -->
|
||||||
<string name="manage_event_types">Manage event types</string>
|
<string name="manage_event_types">Manage event types</string>
|
||||||
|
@@ -88,6 +88,7 @@
|
|||||||
<string name="color">Color</string>
|
<string name="color">Color</string>
|
||||||
<string name="regular_event">Regular event</string>
|
<string name="regular_event">Regular event</string>
|
||||||
<string name="cannot_delete_default_type">Default event type cannot be deleted</string>
|
<string name="cannot_delete_default_type">Default event type cannot be deleted</string>
|
||||||
|
<string name="select_event_type">Select an event type</string>
|
||||||
|
|
||||||
<!-- Settings -->
|
<!-- Settings -->
|
||||||
<string name="manage_event_types">Manage event types</string>
|
<string name="manage_event_types">Manage event types</string>
|
||||||
|
@@ -88,6 +88,7 @@
|
|||||||
<string name="color">Color</string>
|
<string name="color">Color</string>
|
||||||
<string name="regular_event">Regular event</string>
|
<string name="regular_event">Regular event</string>
|
||||||
<string name="cannot_delete_default_type">Default event type cannot be deleted</string>
|
<string name="cannot_delete_default_type">Default event type cannot be deleted</string>
|
||||||
|
<string name="select_event_type">Select an event type</string>
|
||||||
|
|
||||||
<!-- Settings -->
|
<!-- Settings -->
|
||||||
<string name="manage_event_types">Manage event types</string>
|
<string name="manage_event_types">Manage event types</string>
|
||||||
|
@@ -88,6 +88,7 @@
|
|||||||
<string name="color">Color</string>
|
<string name="color">Color</string>
|
||||||
<string name="regular_event">Regular event</string>
|
<string name="regular_event">Regular event</string>
|
||||||
<string name="cannot_delete_default_type">Default event type cannot be deleted</string>
|
<string name="cannot_delete_default_type">Default event type cannot be deleted</string>
|
||||||
|
<string name="select_event_type">Select an event type</string>
|
||||||
|
|
||||||
<!-- Settings -->
|
<!-- Settings -->
|
||||||
<string name="manage_event_types">Manage event types</string>
|
<string name="manage_event_types">Manage event types</string>
|
||||||
|
@@ -88,6 +88,7 @@
|
|||||||
<string name="color">Color</string>
|
<string name="color">Color</string>
|
||||||
<string name="regular_event">Regular event</string>
|
<string name="regular_event">Regular event</string>
|
||||||
<string name="cannot_delete_default_type">Default event type cannot be deleted</string>
|
<string name="cannot_delete_default_type">Default event type cannot be deleted</string>
|
||||||
|
<string name="select_event_type">Select an event type</string>
|
||||||
|
|
||||||
<!-- Settings -->
|
<!-- Settings -->
|
||||||
<string name="manage_event_types">Manage event types</string>
|
<string name="manage_event_types">Manage event types</string>
|
||||||
|
@@ -88,6 +88,7 @@
|
|||||||
<string name="color">Farba</string>
|
<string name="color">Farba</string>
|
||||||
<string name="regular_event">Bežná udalosť</string>
|
<string name="regular_event">Bežná udalosť</string>
|
||||||
<string name="cannot_delete_default_type">Predvolený typ nie je možné vymazať</string>
|
<string name="cannot_delete_default_type">Predvolený typ nie je možné vymazať</string>
|
||||||
|
<string name="select_event_type">Zvoľte typ udalosti</string>
|
||||||
|
|
||||||
<!-- Settings -->
|
<!-- Settings -->
|
||||||
<string name="manage_event_types">Manage event types</string>
|
<string name="manage_event_types">Manage event types</string>
|
||||||
|
@@ -88,6 +88,7 @@
|
|||||||
<string name="color">Color</string>
|
<string name="color">Color</string>
|
||||||
<string name="regular_event">Regular event</string>
|
<string name="regular_event">Regular event</string>
|
||||||
<string name="cannot_delete_default_type">Default event type cannot be deleted</string>
|
<string name="cannot_delete_default_type">Default event type cannot be deleted</string>
|
||||||
|
<string name="select_event_type">Select an event type</string>
|
||||||
|
|
||||||
<!-- Settings -->
|
<!-- Settings -->
|
||||||
<string name="manage_event_types">Manage event types</string>
|
<string name="manage_event_types">Manage event types</string>
|
||||||
|
@@ -88,6 +88,7 @@
|
|||||||
<string name="color">Color</string>
|
<string name="color">Color</string>
|
||||||
<string name="regular_event">Regular event</string>
|
<string name="regular_event">Regular event</string>
|
||||||
<string name="cannot_delete_default_type">Default event type cannot be deleted</string>
|
<string name="cannot_delete_default_type">Default event type cannot be deleted</string>
|
||||||
|
<string name="select_event_type">Select an event type</string>
|
||||||
|
|
||||||
<!-- Settings -->
|
<!-- Settings -->
|
||||||
<string name="manage_event_types">Manage event types</string>
|
<string name="manage_event_types">Manage event types</string>
|
||||||
|
Reference in New Issue
Block a user