From 5b16ebdcc226cde398548c6beed2cfa1eec199c6 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 27 Oct 2018 14:40:56 +0200 Subject: [PATCH] fix #289, add a toggle for using 24 hours time format --- .../contacts/activities/SettingsActivity.kt | 9 ++ .../contacts/helpers/ContactsHelper.kt | 3 +- app/src/main/res/layout/activity_settings.xml | 102 +++++++++++------- 3 files changed, 74 insertions(+), 40 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/SettingsActivity.kt index 37811085..42422c8f 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/SettingsActivity.kt @@ -36,6 +36,7 @@ class SettingsActivity : SimpleActivity() { setupShowContactThumbnails() setupShowPhoneNumbers() setupStartNameWithSurname() + setupUse24HourTimeFormat() setupFilterDuplicates() setupShowCallConfirmation() setupOnContactClick() @@ -117,6 +118,14 @@ class SettingsActivity : SimpleActivity() { } } + private fun setupUse24HourTimeFormat() { + settings_use_24_hour_time_format.isChecked = config.use24HourFormat + settings_use_24_hour_time_format_holder.setOnClickListener { + settings_use_24_hour_time_format.toggle() + config.use24HourFormat = settings_use_24_hour_time_format.isChecked + } + } + private fun setupFilterDuplicates() { settings_filter_duplicates.isChecked = config.filterDuplicates settings_filter_duplicates_holder.setOnClickListener { diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/ContactsHelper.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/ContactsHelper.kt index f9fb5337..d5fb496a 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/ContactsHelper.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/ContactsHelper.kt @@ -1537,6 +1537,7 @@ class ContactsHelper(val activity: Activity) { val todayDate = SimpleDateFormat("dd MMM yyyy", Locale.getDefault()).format(currentDate) val yesterdayDate = SimpleDateFormat("dd MMM yyyy", Locale.getDefault()).format(Date(System.currentTimeMillis() - DAY_SECONDS * 1000)) val yesterday = activity.getString(R.string.yesterday) + val timeFormat = if (activity.config.use24HourFormat) "HH:mm" else "h:mm a" var prevNumber = "" var cursor: Cursor? = null @@ -1552,7 +1553,7 @@ class ContactsHelper(val activity: Activity) { continue } - var formattedDate = SimpleDateFormat("dd MMM yyyy, HH:mm", Locale.getDefault()).format(Date(date)) + var formattedDate = SimpleDateFormat("dd MMM yyyy, $timeFormat", Locale.getDefault()).format(Date(date)) val datePart = formattedDate.substring(0, 11) when { datePart == todayDate -> formattedDate = formattedDate.substring(12) diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 8f260f80..39463477 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -18,18 +18,18 @@ android:layout_height="wrap_content" android:layout_marginTop="@dimen/medium_margin" android:background="?attr/selectableItemBackground" - android:paddingBottom="@dimen/activity_margin" android:paddingLeft="@dimen/normal_margin" + android:paddingTop="@dimen/activity_margin" android:paddingRight="@dimen/normal_margin" - android:paddingTop="@dimen/activity_margin"> + android:paddingBottom="@dimen/activity_margin"> @@ -40,18 +40,18 @@ android:layout_height="wrap_content" android:layout_marginTop="@dimen/medium_margin" android:background="?attr/selectableItemBackground" - android:paddingBottom="@dimen/activity_margin" android:paddingLeft="@dimen/normal_margin" + android:paddingTop="@dimen/activity_margin" android:paddingRight="@dimen/normal_margin" - android:paddingTop="@dimen/activity_margin"> + android:paddingBottom="@dimen/activity_margin"> @@ -62,18 +62,18 @@ android:layout_height="wrap_content" android:layout_marginTop="@dimen/medium_margin" android:background="?attr/selectableItemBackground" - android:paddingBottom="@dimen/activity_margin" android:paddingLeft="@dimen/normal_margin" + android:paddingTop="@dimen/activity_margin" android:paddingRight="@dimen/normal_margin" - android:paddingTop="@dimen/activity_margin"> + android:paddingBottom="@dimen/activity_margin"> @@ -84,18 +84,18 @@ android:layout_height="wrap_content" android:layout_marginTop="@dimen/medium_margin" android:background="?attr/selectableItemBackground" - android:paddingBottom="@dimen/activity_margin" android:paddingLeft="@dimen/normal_margin" + android:paddingTop="@dimen/activity_margin" android:paddingRight="@dimen/normal_margin" - android:paddingTop="@dimen/activity_margin"> + android:paddingBottom="@dimen/activity_margin"> @@ -106,10 +106,10 @@ android:layout_height="wrap_content" android:layout_marginTop="@dimen/medium_margin" android:background="?attr/selectableItemBackground" - android:paddingBottom="@dimen/activity_margin" android:paddingLeft="@dimen/normal_margin" + android:paddingTop="@dimen/activity_margin" android:paddingRight="@dimen/normal_margin" - android:paddingTop="@dimen/activity_margin"> + android:paddingBottom="@dimen/activity_margin"> @@ -130,10 +130,10 @@ android:layout_height="wrap_content" android:layout_marginTop="@dimen/medium_margin" android:background="?attr/selectableItemBackground" - android:paddingBottom="@dimen/activity_margin" android:paddingLeft="@dimen/normal_margin" + android:paddingTop="@dimen/activity_margin" android:paddingRight="@dimen/normal_margin" - android:paddingTop="@dimen/activity_margin"> + android:paddingBottom="@dimen/activity_margin"> @@ -154,10 +154,10 @@ android:layout_height="wrap_content" android:layout_marginTop="@dimen/medium_margin" android:background="?attr/selectableItemBackground" - android:paddingBottom="@dimen/activity_margin" android:paddingLeft="@dimen/normal_margin" + android:paddingTop="@dimen/activity_margin" android:paddingRight="@dimen/normal_margin" - android:paddingTop="@dimen/activity_margin"> + android:paddingBottom="@dimen/activity_margin"> @@ -178,10 +178,10 @@ android:layout_height="wrap_content" android:layout_marginTop="@dimen/medium_margin" android:background="?attr/selectableItemBackground" - android:paddingBottom="@dimen/activity_margin" android:paddingLeft="@dimen/normal_margin" + android:paddingTop="@dimen/activity_margin" android:paddingRight="@dimen/normal_margin" - android:paddingTop="@dimen/activity_margin"> + android:paddingBottom="@dimen/activity_margin"> @@ -202,10 +202,10 @@ android:layout_height="wrap_content" android:layout_marginTop="@dimen/medium_margin" android:background="?attr/selectableItemBackground" - android:paddingBottom="@dimen/activity_margin" android:paddingLeft="@dimen/normal_margin" + android:paddingTop="@dimen/activity_margin" android:paddingRight="@dimen/normal_margin" - android:paddingTop="@dimen/activity_margin"> + android:paddingBottom="@dimen/activity_margin"> @@ -226,10 +226,10 @@ android:layout_height="wrap_content" android:layout_marginTop="@dimen/medium_margin" android:background="?attr/selectableItemBackground" - android:paddingBottom="@dimen/activity_margin" android:paddingLeft="@dimen/normal_margin" + android:paddingTop="@dimen/activity_margin" android:paddingRight="@dimen/normal_margin" - android:paddingTop="@dimen/activity_margin"> + android:paddingBottom="@dimen/activity_margin"> + + + + + + + android:paddingBottom="@dimen/activity_margin"> @@ -274,10 +298,10 @@ android:layout_height="wrap_content" android:layout_marginTop="@dimen/medium_margin" android:background="?attr/selectableItemBackground" - android:paddingBottom="@dimen/activity_margin" android:paddingLeft="@dimen/normal_margin" + android:paddingTop="@dimen/activity_margin" android:paddingRight="@dimen/normal_margin" - android:paddingTop="@dimen/activity_margin"> + android:paddingBottom="@dimen/activity_margin"> @@ -298,18 +322,18 @@ android:layout_height="wrap_content" android:layout_marginTop="@dimen/medium_margin" android:background="?attr/selectableItemBackground" - android:paddingBottom="@dimen/bigger_margin" android:paddingLeft="@dimen/normal_margin" + android:paddingTop="@dimen/bigger_margin" android:paddingRight="@dimen/normal_margin" - android:paddingTop="@dimen/bigger_margin"> + android:paddingBottom="@dimen/bigger_margin">