From 32dc35b6c7acf9781ed931bcd2c1557a07f81aab Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 18 Dec 2016 17:13:30 +0100 Subject: [PATCH] use 12 or 24 hours format as appropriate --- .../calendar/activities/EventActivity.kt | 8 ++++---- .../calendar/adapters/EventListAdapter.kt | 8 ++++---- .../calendar/adapters/EventListWidgetAdapter.kt | 4 ++-- .../adapters/EventListWidgetAdapterOld.kt | 6 +++--- .../calendar/adapters/EventsAdapter.kt | 4 ++-- .../calendar/helpers/Formatter.kt | 16 ++++++++++------ .../calendar/receivers/NotificationReceiver.kt | 4 ++-- 7 files changed, 27 insertions(+), 23 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/EventActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/EventActivity.kt index 4a5c8af2a..115d81bf5 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/EventActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/EventActivity.kt @@ -290,19 +290,19 @@ class EventActivity : SimpleActivity(), DBHelper.EventUpdateListener { } private fun updateStartDate() { - event_start_date.text = Formatter.getEventDate(applicationContext, mEventStartDateTime) + event_start_date.text = Formatter.getDate(applicationContext, mEventStartDateTime) } private fun updateStartTime() { - event_start_time.text = Formatter.getEventTime(mEventStartDateTime) + event_start_time.text = Formatter.getTime(this, mEventStartDateTime) } private fun updateEndDate() { - event_end_date.text = Formatter.getEventDate(applicationContext, mEventEndDateTime) + event_end_date.text = Formatter.getDate(applicationContext, mEventEndDateTime) } private fun updateEndTime() { - event_end_time.text = Formatter.getEventTime(mEventEndDateTime) + event_end_time.text = Formatter.getTime(this, mEventEndDateTime) } fun setupStartDate() { diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListAdapter.kt index 9ebbccaaa..2047d7ce5 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListAdapter.kt @@ -51,7 +51,7 @@ class EventListAdapter(val activity: SimpleActivity, val mItems: List, mTopDivider = activity.resources.getDrawable(R.drawable.divider) mOrangeColor = activity.resources.getColor(R.color.colorPrimary) val mTodayCode = Formatter.getDayCodeFromTS(mNow) - mTodayDate = Formatter.getEventDate(activity, mTodayCode) + mTodayDate = Formatter.getDate(activity, mTodayCode) } val multiSelectorMode = object : ModalMultiSelectorCallback(multiSelector) { @@ -121,19 +121,19 @@ class EventListAdapter(val activity: SimpleActivity, val mItems: List, itemView.apply { event_item_title.text = item.title event_item_description.text = item.description - event_item_start.text = Formatter.getTime(item.startTS) + event_item_start.text = Formatter.getTimeFromTS(context, item.startTS) toggleItemSelection(this, markedItems.contains(pos), pos) if (item.startTS == item.endTS) { event_item_end.visibility = View.INVISIBLE } else { - event_item_end.text = Formatter.getTime(item.endTS) + event_item_end.text = Formatter.getTimeFromTS(context, item.endTS) event_item_end.visibility = View.VISIBLE val startCode = Formatter.getDayCodeFromTS(item.startTS) val endCode = Formatter.getDayCodeFromTS(item.endTS) if (startCode != endCode) { - event_item_end.append(" (${Formatter.getEventDate(context, endCode)})") + event_item_end.append(" (${Formatter.getDate(context, endCode)})") } } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListWidgetAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListWidgetAdapter.kt index f275a314c..ee29b9afe 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListWidgetAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListWidgetAdapter.kt @@ -46,8 +46,8 @@ class EventListWidgetAdapter(val context: Context, val intent: Intent) : RemoteV remoteView.apply { setTextViewText(R.id.event_item_title, item.title) setTextViewText(R.id.event_item_description, item.description) - setTextViewText(R.id.event_item_start, Formatter.getTime(item.startTS)) - setTextViewText(R.id.event_item_end, Formatter.getTime(item.endTS)) + setTextViewText(R.id.event_item_start, Formatter.getTimeFromTS(context, item.startTS)) + setTextViewText(R.id.event_item_end, Formatter.getTimeFromTS(context, item.endTS)) setInt(R.id.event_item_title, "setTextColor", textColor) setInt(R.id.event_item_description, "setTextColor", textColor) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListWidgetAdapterOld.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListWidgetAdapterOld.kt index 9b6ebe32f..317f0c67a 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListWidgetAdapterOld.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/adapters/EventListWidgetAdapterOld.kt @@ -50,18 +50,18 @@ class EventListWidgetAdapterOld(val context: Context, val mEvents: List, val l itemView.apply { event_item_title.text = event.title event_item_description.text = event.description - event_item_start.text = Formatter.getTime(event.startTS) + event_item_start.text = Formatter.getTimeFromTS(context, event.startTS) toggleItemSelection(this, markedItems.contains(pos), pos) if (event.startTS == event.endTS) { event_item_end.visibility = View.INVISIBLE } else { - event_item_end.text = Formatter.getTime(event.endTS) + event_item_end.text = Formatter.getTimeFromTS(context, event.endTS) event_item_end.visibility = View.VISIBLE } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Formatter.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Formatter.kt index ac56d8416..7f974758b 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Formatter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Formatter.kt @@ -1,6 +1,7 @@ package com.simplemobiletools.calendar.helpers import android.content.Context +import android.text.format.DateFormat import com.simplemobiletools.calendar.R import org.joda.time.DateTime import org.joda.time.DateTimeZone @@ -11,9 +12,10 @@ object Formatter { val YEAR_PATTERN = "YYYY" private val DAY_PATTERN = "d" private val DAY_OF_WEEK_PATTERN = "EEE" - private val EVENT_TIME_PATTERN = "HH:mm" + private val PATTERN_TIME_12 = "h:mm a" + private val PATTERN_TIME_24 = "k:mm" - fun getEventDate(context: Context, dayCode: String): String { + fun getDate(context: Context, dayCode: String): String { val dateTime = getDateTimeFromCode(dayCode) val day = dateTime.toString(DAY_PATTERN) val year = dateTime.toString(YEAR_PATTERN) @@ -26,21 +28,21 @@ object Formatter { } fun getDayTitle(context: Context, dayCode: String): String { - val date = getEventDate(context, dayCode) + val date = getDate(context, dayCode) val dateTime = getDateTimeFromCode(dayCode) val day = dateTime.toString(DAY_OF_WEEK_PATTERN) return "$date ($day)" } - fun getEventDate(context: Context, dateTime: DateTime) = getDayTitle(context, getDayCodeFromDateTime(dateTime)) + fun getDate(context: Context, dateTime: DateTime) = getDayTitle(context, getDayCodeFromDateTime(dateTime)) - fun getEventTime(dateTime: DateTime) = dateTime.toString(EVENT_TIME_PATTERN) + fun getTime(context: Context, dateTime: DateTime) = dateTime.toString(getTimePattern(context)) fun getDateTimeFromCode(dayCode: String) = DateTimeFormat.forPattern(DAYCODE_PATTERN).withZone(DateTimeZone.UTC).parseDateTime(dayCode) fun getLocalDateTimeFromCode(dayCode: String) = DateTimeFormat.forPattern(DAYCODE_PATTERN).withZone(DateTimeZone.getDefault()).parseDateTime(dayCode) - fun getTime(ts: Int) = getEventTime(getDateTimeFromTS(ts)) + fun getTimeFromTS(context: Context, ts: Int) = getTime(context, getDateTimeFromTS(ts)) fun getDayStartTS(dayCode: String) = (getLocalDateTimeFromCode(dayCode).millis / 1000).toInt() @@ -54,4 +56,6 @@ object Formatter { // use manually translated month names, as DateFormat and Joda have issues with a lot of languages fun getMonthName(context: Context, id: Int) = context.resources.getStringArray(R.array.months)[id] + + fun getTimePattern(context: Context) = if (DateFormat.is24HourFormat(context)) PATTERN_TIME_24 else PATTERN_TIME_12 } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/receivers/NotificationReceiver.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/receivers/NotificationReceiver.kt index 8bb4fb2c5..9a441410c 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/receivers/NotificationReceiver.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/receivers/NotificationReceiver.kt @@ -30,8 +30,8 @@ class NotificationReceiver : BroadcastReceiver() { return val pendingIntent = getPendingIntent(context, event) - val startTime = Formatter.getTime(event.startTS) - val endTime = Formatter.getTime(event.endTS) + val startTime = Formatter.getTimeFromTS(context, event.startTS) + val endTime = Formatter.getTimeFromTS(context, event.endTS) val title = event.title val notification = getNotification(context, pendingIntent, "${getEventTime(startTime, endTime)} $title") notificationManager.notify(id, notification)