mirror of
https://github.com/SimpleMobileTools/Simple-Calendar.git
synced 2025-04-14 02:02:04 +02:00
adding some formatting and reordering changes, no real functionality affected
This commit is contained in:
parent
ec67fc1479
commit
ce3214ef95
@ -121,6 +121,113 @@ class EventActivity : SimpleActivity() {
|
|||||||
setupToolbar(event_toolbar, NavigationIcon.Arrow)
|
setupToolbar(event_toolbar, NavigationIcon.Arrow)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onBackPressed() {
|
||||||
|
if (System.currentTimeMillis() - mLastSavePromptTS > SAVE_DISCARD_PROMPT_INTERVAL && isEventChanged()) {
|
||||||
|
mLastSavePromptTS = System.currentTimeMillis()
|
||||||
|
ConfirmationAdvancedDialog(this, "", R.string.save_before_closing, R.string.save, R.string.discard) {
|
||||||
|
if (it) {
|
||||||
|
saveCurrentEvent()
|
||||||
|
} else {
|
||||||
|
super.onBackPressed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
super.onBackPressed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onSaveInstanceState(outState: Bundle) {
|
||||||
|
super.onSaveInstanceState(outState)
|
||||||
|
if (!::mEvent.isInitialized) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
outState.apply {
|
||||||
|
putSerializable(EVENT, mEvent)
|
||||||
|
putLong(START_TS, mEventStartDateTime.seconds())
|
||||||
|
putLong(END_TS, mEventEndDateTime.seconds())
|
||||||
|
putString(TIME_ZONE, mEvent.timeZone)
|
||||||
|
|
||||||
|
putInt(REMINDER_1_MINUTES, mReminder1Minutes)
|
||||||
|
putInt(REMINDER_2_MINUTES, mReminder2Minutes)
|
||||||
|
putInt(REMINDER_3_MINUTES, mReminder3Minutes)
|
||||||
|
|
||||||
|
putInt(REMINDER_1_TYPE, mReminder1Type)
|
||||||
|
putInt(REMINDER_2_TYPE, mReminder2Type)
|
||||||
|
putInt(REMINDER_3_TYPE, mReminder3Type)
|
||||||
|
|
||||||
|
putInt(REPEAT_INTERVAL, mRepeatInterval)
|
||||||
|
putInt(REPEAT_RULE, mRepeatRule)
|
||||||
|
putLong(REPEAT_LIMIT, mRepeatLimit)
|
||||||
|
|
||||||
|
putString(ATTENDEES, getAllAttendees(false))
|
||||||
|
|
||||||
|
putInt(AVAILABILITY, mAvailability)
|
||||||
|
|
||||||
|
putLong(EVENT_TYPE_ID, mEventTypeId)
|
||||||
|
putInt(EVENT_CALENDAR_ID, mEventCalendarId)
|
||||||
|
putBoolean(IS_NEW_EVENT, mIsNewEvent)
|
||||||
|
putLong(ORIGINAL_START_TS, mOriginalStartTS)
|
||||||
|
putLong(ORIGINAL_END_TS, mOriginalEndTS)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
|
||||||
|
super.onRestoreInstanceState(savedInstanceState)
|
||||||
|
if (!savedInstanceState.containsKey(START_TS)) {
|
||||||
|
hideKeyboard()
|
||||||
|
finish()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
savedInstanceState.apply {
|
||||||
|
mEvent = getSerializable(EVENT) as Event
|
||||||
|
mEventStartDateTime = Formatter.getDateTimeFromTS(getLong(START_TS))
|
||||||
|
mEventEndDateTime = Formatter.getDateTimeFromTS(getLong(END_TS))
|
||||||
|
mEvent.timeZone = getString(TIME_ZONE) ?: TimeZone.getDefault().id
|
||||||
|
|
||||||
|
mReminder1Minutes = getInt(REMINDER_1_MINUTES)
|
||||||
|
mReminder2Minutes = getInt(REMINDER_2_MINUTES)
|
||||||
|
mReminder3Minutes = getInt(REMINDER_3_MINUTES)
|
||||||
|
|
||||||
|
mReminder1Type = getInt(REMINDER_1_TYPE)
|
||||||
|
mReminder2Type = getInt(REMINDER_2_TYPE)
|
||||||
|
mReminder3Type = getInt(REMINDER_3_TYPE)
|
||||||
|
|
||||||
|
mAvailability = getInt(AVAILABILITY)
|
||||||
|
|
||||||
|
mRepeatInterval = getInt(REPEAT_INTERVAL)
|
||||||
|
mRepeatRule = getInt(REPEAT_RULE)
|
||||||
|
mRepeatLimit = getLong(REPEAT_LIMIT)
|
||||||
|
|
||||||
|
val token = object : TypeToken<List<Attendee>>() {}.type
|
||||||
|
mAttendees = Gson().fromJson<ArrayList<Attendee>>(getString(ATTENDEES), token) ?: ArrayList()
|
||||||
|
|
||||||
|
mEventTypeId = getLong(EVENT_TYPE_ID)
|
||||||
|
mEventCalendarId = getInt(EVENT_CALENDAR_ID)
|
||||||
|
mIsNewEvent = getBoolean(IS_NEW_EVENT)
|
||||||
|
mOriginalStartTS = getLong(ORIGINAL_START_TS)
|
||||||
|
mOriginalEndTS = getLong(ORIGINAL_END_TS)
|
||||||
|
}
|
||||||
|
|
||||||
|
checkRepeatTexts(mRepeatInterval)
|
||||||
|
checkRepeatRule()
|
||||||
|
updateTexts()
|
||||||
|
updateEventType()
|
||||||
|
updateCalDAVCalendar()
|
||||||
|
checkAttendees()
|
||||||
|
updateActionBarTitle()
|
||||||
|
}
|
||||||
|
|
||||||
|
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 gotEvent(savedInstanceState: Bundle?, localEventType: EventType?, event: Event?) {
|
private fun gotEvent(savedInstanceState: Bundle?, localEventType: EventType?, event: Event?) {
|
||||||
if (localEventType == null || localEventType.caldavCalendarId != 0) {
|
if (localEventType == null || localEventType.caldavCalendarId != 0) {
|
||||||
config.lastUsedLocalEventTypeId = REGULAR_EVENT_TYPE_ID
|
config.lastUsedLocalEventTypeId = REGULAR_EVENT_TYPE_ID
|
||||||
@ -329,113 +436,6 @@ class EventActivity : SimpleActivity() {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onBackPressed() {
|
|
||||||
if (System.currentTimeMillis() - mLastSavePromptTS > SAVE_DISCARD_PROMPT_INTERVAL && isEventChanged()) {
|
|
||||||
mLastSavePromptTS = System.currentTimeMillis()
|
|
||||||
ConfirmationAdvancedDialog(this, "", R.string.save_before_closing, R.string.save, R.string.discard) {
|
|
||||||
if (it) {
|
|
||||||
saveCurrentEvent()
|
|
||||||
} else {
|
|
||||||
super.onBackPressed()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
super.onBackPressed()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onSaveInstanceState(outState: Bundle) {
|
|
||||||
super.onSaveInstanceState(outState)
|
|
||||||
if (!::mEvent.isInitialized) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
outState.apply {
|
|
||||||
putSerializable(EVENT, mEvent)
|
|
||||||
putLong(START_TS, mEventStartDateTime.seconds())
|
|
||||||
putLong(END_TS, mEventEndDateTime.seconds())
|
|
||||||
putString(TIME_ZONE, mEvent.timeZone)
|
|
||||||
|
|
||||||
putInt(REMINDER_1_MINUTES, mReminder1Minutes)
|
|
||||||
putInt(REMINDER_2_MINUTES, mReminder2Minutes)
|
|
||||||
putInt(REMINDER_3_MINUTES, mReminder3Minutes)
|
|
||||||
|
|
||||||
putInt(REMINDER_1_TYPE, mReminder1Type)
|
|
||||||
putInt(REMINDER_2_TYPE, mReminder2Type)
|
|
||||||
putInt(REMINDER_3_TYPE, mReminder3Type)
|
|
||||||
|
|
||||||
putInt(REPEAT_INTERVAL, mRepeatInterval)
|
|
||||||
putInt(REPEAT_RULE, mRepeatRule)
|
|
||||||
putLong(REPEAT_LIMIT, mRepeatLimit)
|
|
||||||
|
|
||||||
putString(ATTENDEES, getAllAttendees(false))
|
|
||||||
|
|
||||||
putInt(AVAILABILITY, mAvailability)
|
|
||||||
|
|
||||||
putLong(EVENT_TYPE_ID, mEventTypeId)
|
|
||||||
putInt(EVENT_CALENDAR_ID, mEventCalendarId)
|
|
||||||
putBoolean(IS_NEW_EVENT, mIsNewEvent)
|
|
||||||
putLong(ORIGINAL_START_TS, mOriginalStartTS)
|
|
||||||
putLong(ORIGINAL_END_TS, mOriginalEndTS)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
|
|
||||||
super.onRestoreInstanceState(savedInstanceState)
|
|
||||||
if (!savedInstanceState.containsKey(START_TS)) {
|
|
||||||
hideKeyboard()
|
|
||||||
finish()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
savedInstanceState.apply {
|
|
||||||
mEvent = getSerializable(EVENT) as Event
|
|
||||||
mEventStartDateTime = Formatter.getDateTimeFromTS(getLong(START_TS))
|
|
||||||
mEventEndDateTime = Formatter.getDateTimeFromTS(getLong(END_TS))
|
|
||||||
mEvent.timeZone = getString(TIME_ZONE) ?: TimeZone.getDefault().id
|
|
||||||
|
|
||||||
mReminder1Minutes = getInt(REMINDER_1_MINUTES)
|
|
||||||
mReminder2Minutes = getInt(REMINDER_2_MINUTES)
|
|
||||||
mReminder3Minutes = getInt(REMINDER_3_MINUTES)
|
|
||||||
|
|
||||||
mReminder1Type = getInt(REMINDER_1_TYPE)
|
|
||||||
mReminder2Type = getInt(REMINDER_2_TYPE)
|
|
||||||
mReminder3Type = getInt(REMINDER_3_TYPE)
|
|
||||||
|
|
||||||
mAvailability = getInt(AVAILABILITY)
|
|
||||||
|
|
||||||
mRepeatInterval = getInt(REPEAT_INTERVAL)
|
|
||||||
mRepeatRule = getInt(REPEAT_RULE)
|
|
||||||
mRepeatLimit = getLong(REPEAT_LIMIT)
|
|
||||||
|
|
||||||
val token = object : TypeToken<List<Attendee>>() {}.type
|
|
||||||
mAttendees = Gson().fromJson<ArrayList<Attendee>>(getString(ATTENDEES), token) ?: ArrayList()
|
|
||||||
|
|
||||||
mEventTypeId = getLong(EVENT_TYPE_ID)
|
|
||||||
mEventCalendarId = getInt(EVENT_CALENDAR_ID)
|
|
||||||
mIsNewEvent = getBoolean(IS_NEW_EVENT)
|
|
||||||
mOriginalStartTS = getLong(ORIGINAL_START_TS)
|
|
||||||
mOriginalEndTS = getLong(ORIGINAL_END_TS)
|
|
||||||
}
|
|
||||||
|
|
||||||
checkRepeatTexts(mRepeatInterval)
|
|
||||||
checkRepeatRule()
|
|
||||||
updateTexts()
|
|
||||||
updateEventType()
|
|
||||||
updateCalDAVCalendar()
|
|
||||||
checkAttendees()
|
|
||||||
updateActionBarTitle()
|
|
||||||
}
|
|
||||||
|
|
||||||
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() {
|
private fun updateTexts() {
|
||||||
updateRepetitionText()
|
updateRepetitionText()
|
||||||
checkReminderTexts()
|
checkReminderTexts()
|
||||||
@ -1584,9 +1584,11 @@ class EventActivity : SimpleActivity() {
|
|||||||
event_attendees_holder.addView(attendeeHolder)
|
event_attendees_holder.addView(attendeeHolder)
|
||||||
|
|
||||||
val textColor = getProperTextColor()
|
val textColor = getProperTextColor()
|
||||||
autoCompleteView.setColors(textColor, getProperPrimaryColor(), getProperBackgroundColor())
|
val backgroundColor = getProperBackgroundColor()
|
||||||
selectedAttendeeHolder.event_contact_name.setColors(textColor, getProperPrimaryColor(), getProperBackgroundColor())
|
val primaryColor = getProperPrimaryColor()
|
||||||
selectedAttendeeHolder.event_contact_me_status.setColors(textColor, getProperPrimaryColor(), getProperBackgroundColor())
|
autoCompleteView.setColors(textColor, primaryColor, backgroundColor)
|
||||||
|
selectedAttendeeHolder.event_contact_name.setColors(textColor, primaryColor, backgroundColor)
|
||||||
|
selectedAttendeeHolder.event_contact_me_status.setColors(textColor, primaryColor, backgroundColor)
|
||||||
selectedAttendeeDismiss.applyColorFilter(textColor)
|
selectedAttendeeDismiss.applyColorFilter(textColor)
|
||||||
|
|
||||||
selectedAttendeeDismiss.setOnClickListener {
|
selectedAttendeeDismiss.setOnClickListener {
|
||||||
|
@ -69,6 +69,7 @@ class ManageEventTypesActivity : SimpleActivity(), DeleteEventTypesListener {
|
|||||||
ensureBackgroundThread {
|
ensureBackgroundThread {
|
||||||
eventsHelper.deleteEventTypes(eventTypes, deleteEvents)
|
eventsHelper.deleteEventTypes(eventTypes, deleteEvents)
|
||||||
}
|
}
|
||||||
|
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -78,15 +78,15 @@ class Config(context: Context) : BaseConfig(context) {
|
|||||||
set(displayPastEvents) = prefs.edit().putInt(DISPLAY_PAST_EVENTS, displayPastEvents).apply()
|
set(displayPastEvents) = prefs.edit().putInt(DISPLAY_PAST_EVENTS, displayPastEvents).apply()
|
||||||
|
|
||||||
var displayEventTypes: Set<String>
|
var displayEventTypes: Set<String>
|
||||||
get() = prefs.getStringSet(DISPLAY_EVENT_TYPES, HashSet<String>())!!
|
get() = prefs.getStringSet(DISPLAY_EVENT_TYPES, HashSet())!!
|
||||||
set(displayEventTypes) = prefs.edit().remove(DISPLAY_EVENT_TYPES).putStringSet(DISPLAY_EVENT_TYPES, displayEventTypes).apply()
|
set(displayEventTypes) = prefs.edit().remove(DISPLAY_EVENT_TYPES).putStringSet(DISPLAY_EVENT_TYPES, displayEventTypes).apply()
|
||||||
|
|
||||||
var quickFilterEventTypes: Set<String>
|
var quickFilterEventTypes: Set<String>
|
||||||
get() = prefs.getStringSet(QUICK_FILTER_EVENT_TYPES, HashSet<String>())!!
|
get() = prefs.getStringSet(QUICK_FILTER_EVENT_TYPES, HashSet())!!
|
||||||
set(quickFilterEventTypes) = prefs.edit().remove(QUICK_FILTER_EVENT_TYPES).putStringSet(QUICK_FILTER_EVENT_TYPES, quickFilterEventTypes).apply()
|
set(quickFilterEventTypes) = prefs.edit().remove(QUICK_FILTER_EVENT_TYPES).putStringSet(QUICK_FILTER_EVENT_TYPES, quickFilterEventTypes).apply()
|
||||||
|
|
||||||
fun addQuickFilterEventType(type: String) {
|
fun addQuickFilterEventType(type: String) {
|
||||||
val currQuickFilterEventTypes = HashSet<String>(quickFilterEventTypes)
|
val currQuickFilterEventTypes = HashSet(quickFilterEventTypes)
|
||||||
currQuickFilterEventTypes.add(type)
|
currQuickFilterEventTypes.add(type)
|
||||||
quickFilterEventTypes = currQuickFilterEventTypes
|
quickFilterEventTypes = currQuickFilterEventTypes
|
||||||
}
|
}
|
||||||
@ -148,17 +148,17 @@ class Config(context: Context) : BaseConfig(context) {
|
|||||||
fun getDisplayEventTypessAsList() = displayEventTypes.map { it.toLong() }.toMutableList() as ArrayList<Long>
|
fun getDisplayEventTypessAsList() = displayEventTypes.map { it.toLong() }.toMutableList() as ArrayList<Long>
|
||||||
|
|
||||||
fun addDisplayEventType(type: String) {
|
fun addDisplayEventType(type: String) {
|
||||||
addDisplayEventTypes(HashSet<String>(Arrays.asList(type)))
|
addDisplayEventTypes(HashSet(Arrays.asList(type)))
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun addDisplayEventTypes(types: Set<String>) {
|
private fun addDisplayEventTypes(types: Set<String>) {
|
||||||
val currDisplayEventTypes = HashSet<String>(displayEventTypes)
|
val currDisplayEventTypes = HashSet(displayEventTypes)
|
||||||
currDisplayEventTypes.addAll(types)
|
currDisplayEventTypes.addAll(types)
|
||||||
displayEventTypes = currDisplayEventTypes
|
displayEventTypes = currDisplayEventTypes
|
||||||
}
|
}
|
||||||
|
|
||||||
fun removeDisplayEventTypes(types: Set<String>) {
|
fun removeDisplayEventTypes(types: Set<String>) {
|
||||||
val currDisplayEventTypes = HashSet<String>(displayEventTypes)
|
val currDisplayEventTypes = HashSet(displayEventTypes)
|
||||||
currDisplayEventTypes.removeAll(types)
|
currDisplayEventTypes.removeAll(types)
|
||||||
displayEventTypes = currDisplayEventTypes
|
displayEventTypes = currDisplayEventTypes
|
||||||
}
|
}
|
||||||
|
@ -244,7 +244,6 @@ const val IS_NEW_EVENT = "IS_NEW_EVENT"
|
|||||||
|
|
||||||
// actions
|
// actions
|
||||||
const val ACTION_MARK_COMPLETED = "ACTION_MARK_COMPLETED"
|
const val ACTION_MARK_COMPLETED = "ACTION_MARK_COMPLETED"
|
||||||
const val ACTION_REFRESH_EVENTS = "ACTION_REFRESH_EVENTS"
|
|
||||||
|
|
||||||
fun getNowSeconds() = System.currentTimeMillis() / 1000L
|
fun getNowSeconds() = System.currentTimeMillis() / 1000L
|
||||||
|
|
||||||
|
@ -16,7 +16,6 @@ object Formatter {
|
|||||||
private const val MONTH_PATTERN = "MMM"
|
private const val MONTH_PATTERN = "MMM"
|
||||||
private const val DAY_PATTERN = "d"
|
private const val DAY_PATTERN = "d"
|
||||||
private const val DAY_OF_WEEK_PATTERN = "EEE"
|
private const val DAY_OF_WEEK_PATTERN = "EEE"
|
||||||
private const val LONGEST_PATTERN = "MMMM d YYYY (EEEE)"
|
|
||||||
private const val DATE_DAY_PATTERN = "d EEEE"
|
private const val DATE_DAY_PATTERN = "d EEEE"
|
||||||
private const val PATTERN_TIME_12 = "hh:mm a"
|
private const val PATTERN_TIME_12 = "hh:mm a"
|
||||||
private const val PATTERN_TIME_24 = "HH:mm"
|
private const val PATTERN_TIME_24 = "HH:mm"
|
||||||
@ -71,8 +70,6 @@ object Formatter {
|
|||||||
return date
|
return date
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getLongestDate(ts: Long) = getDateTimeFromTS(ts).toString(LONGEST_PATTERN)
|
|
||||||
|
|
||||||
fun getDate(context: Context, dateTime: DateTime, addDayOfWeek: Boolean = true) = getDayTitle(context, getDayCodeFromDateTime(dateTime), addDayOfWeek)
|
fun getDate(context: Context, dateTime: DateTime, addDayOfWeek: Boolean = true) = getDayTitle(context, getDayCodeFromDateTime(dateTime), addDayOfWeek)
|
||||||
|
|
||||||
fun getFullDate(context: Context, dateTime: DateTime): String {
|
fun getFullDate(context: Context, dateTime: DateTime): String {
|
||||||
@ -89,8 +86,6 @@ object Formatter {
|
|||||||
|
|
||||||
fun getCurrentMonthShort() = getDateTimeFromTS(getNowSeconds()).toString(MONTH_PATTERN)
|
fun getCurrentMonthShort() = getDateTimeFromTS(getNowSeconds()).toString(MONTH_PATTERN)
|
||||||
|
|
||||||
fun getHours(context: Context, dateTime: DateTime) = dateTime.toString(getHourPattern(context))
|
|
||||||
|
|
||||||
fun getTime(context: Context, dateTime: DateTime) = dateTime.toString(getTimePattern(context))
|
fun getTime(context: Context, dateTime: DateTime) = dateTime.toString(getTimePattern(context))
|
||||||
|
|
||||||
fun getDateTimeFromCode(dayCode: String) = DateTimeFormat.forPattern(DAYCODE_PATTERN).withZone(DateTimeZone.UTC).parseDateTime(dayCode)
|
fun getDateTimeFromCode(dayCode: String) = DateTimeFormat.forPattern(DAYCODE_PATTERN).withZone(DateTimeZone.UTC).parseDateTime(dayCode)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user