From 2dd3709e78d241eca24d0283b8ad0e3d65f3332d Mon Sep 17 00:00:00 2001 From: Finn M Glas Date: Mon, 17 Aug 2020 12:46:21 +0200 Subject: [PATCH 1/4] Create date-formats-spinner --- .../launcher/SettingsFragmentLauncher.kt | 25 ++++++++++++++++--- ...ttings_theme.xml => settings_launcher.xml} | 23 +++++++++++++++-- app/src/main/res/values/strings.xml | 9 +++++++ 3 files changed, 52 insertions(+), 5 deletions(-) rename app/src/main/res/layout/{settings_theme.xml => settings_launcher.xml} (88%) diff --git a/app/src/main/java/com/finnmglas/launcher/settings/launcher/SettingsFragmentLauncher.kt b/app/src/main/java/com/finnmglas/launcher/settings/launcher/SettingsFragmentLauncher.kt index 8d06b45..432d59c 100644 --- a/app/src/main/java/com/finnmglas/launcher/settings/launcher/SettingsFragmentLauncher.kt +++ b/app/src/main/java/com/finnmglas/launcher/settings/launcher/SettingsFragmentLauncher.kt @@ -7,16 +7,19 @@ import android.os.Build import android.os.Bundle import android.provider.MediaStore import android.util.DisplayMetrics -import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.ArrayAdapter +import android.widget.Spinner import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat +import androidx.fragment.app.Fragment import androidx.palette.graphics.Palette import com.finnmglas.launcher.* import com.finnmglas.launcher.settings.intendedSettingsPause -import kotlinx.android.synthetic.main.settings_theme.* +import kotlinx.android.synthetic.main.settings_launcher.* + /** * The [SettingsFragmentLauncher] is a used as a tab in the SettingsActivity. @@ -29,12 +32,28 @@ class SettingsFragmentLauncher : Fragment(), UIObject { inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { - return inflater.inflate(R.layout.settings_theme, container, false) + return inflater.inflate(R.layout.settings_launcher, container, false) } override fun onStart(){ super.onStart() super.onStart() + + val staticSpinner = activity!!.findViewById(R.id.settings_launcher_format_spinner) as Spinner + + // Create an ArrayAdapter using the string array and a default spinner + val staticAdapter = ArrayAdapter + .createFromResource( + activity!!, R.array.settings_launcher_time_formats, + android.R.layout.simple_spinner_item + ) + + // Specify the layout to use when the list of choices appears + staticAdapter + .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) + + // Apply the adapter to the spinner + staticSpinner.adapter = staticAdapter } override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { diff --git a/app/src/main/res/layout/settings_theme.xml b/app/src/main/res/layout/settings_launcher.xml similarity index 88% rename from app/src/main/res/layout/settings_theme.xml rename to app/src/main/res/layout/settings_launcher.xml index 5ee0463..b673dd5 100644 --- a/app/src/main/res/layout/settings_theme.xml +++ b/app/src/main/res/layout/settings_launcher.xml @@ -18,8 +18,8 @@ android:id="@+id/settings_theme_scroller" android:layout_width="match_parent" android:layout_height="0dp" - android:layout_marginBottom="32dp" - app:layout_constraintBottom_toTopOf="@id/settings_launcher_text_screen_timeout" + android:layout_marginBottom="16dp" + app:layout_constraintBottom_toTopOf="@id/settings_launcher_text_time_format" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> @@ -139,6 +139,25 @@ + + + + Change Image Examples Keep screen on + Date format + + + default + inverse + time only + german + german inv + https://github.com/finnmglas/Launcher#en https://www.finnmglas.com From 86e9f9c59792cab63e102a1d799b6e124d4adb64 Mon Sep 17 00:00:00 2001 From: Finn M Glas Date: Mon, 17 Aug 2020 13:14:53 +0200 Subject: [PATCH 2/4] Save date-format in launcherPreferences --- .../java/com/finnmglas/launcher/Functions.kt | 1 + .../launcher/SettingsFragmentLauncher.kt | 42 +++++++++++-------- app/src/main/res/values/strings.xml | 1 - 3 files changed, 26 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/com/finnmglas/launcher/Functions.kt b/app/src/main/java/com/finnmglas/launcher/Functions.kt index 266e9ea..7956fba 100644 --- a/app/src/main/java/com/finnmglas/launcher/Functions.kt +++ b/app/src/main/java/com/finnmglas/launcher/Functions.kt @@ -56,6 +56,7 @@ const val PREF_WALLPAPER = "background_uri" const val PREF_THEME = "theme" const val PREF_SCREEN_TIMEOUT_DISABLED = "disableTimeout" +const val PREF_DATE_FORMAT = "dateFormat" const val PREF_SEARCH_AUTO_LAUNCH = "searchAutoLaunch" const val PREF_STARTED = "startedBefore" diff --git a/app/src/main/java/com/finnmglas/launcher/settings/launcher/SettingsFragmentLauncher.kt b/app/src/main/java/com/finnmglas/launcher/settings/launcher/SettingsFragmentLauncher.kt index 432d59c..9468361 100644 --- a/app/src/main/java/com/finnmglas/launcher/settings/launcher/SettingsFragmentLauncher.kt +++ b/app/src/main/java/com/finnmglas/launcher/settings/launcher/SettingsFragmentLauncher.kt @@ -10,8 +10,9 @@ import android.util.DisplayMetrics import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.AdapterView +import android.widget.AdapterView.OnItemSelectedListener import android.widget.ArrayAdapter -import android.widget.Spinner import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat import androidx.fragment.app.Fragment @@ -38,22 +39,6 @@ class SettingsFragmentLauncher : Fragment(), UIObject { override fun onStart(){ super.onStart() super.onStart() - - val staticSpinner = activity!!.findViewById(R.id.settings_launcher_format_spinner) as Spinner - - // Create an ArrayAdapter using the string array and a default spinner - val staticAdapter = ArrayAdapter - .createFromResource( - activity!!, R.array.settings_launcher_time_formats, - android.R.layout.simple_spinner_item - ) - - // Specify the layout to use when the list of choices appears - staticAdapter - .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) - - // Apply the adapter to the spinner - staticSpinner.adapter = staticAdapter } override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { @@ -189,5 +174,28 @@ class SettingsFragmentLauncher : Fragment(), UIObject { // visually load settings settings_launcher_switch_screen_timeout.isChecked = launcherPreferences.getBoolean(PREF_SCREEN_TIMEOUT_DISABLED, false) + + // Load values into the date-format spinner + val staticAdapter = ArrayAdapter.createFromResource( + activity!!, R.array.settings_launcher_time_formats, + android.R.layout.simple_spinner_item ) + + staticAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) + settings_launcher_format_spinner.adapter = staticAdapter + + settings_launcher_format_spinner.setSelection(launcherPreferences.getInt(PREF_DATE_FORMAT, 0)) + + + settings_launcher_format_spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + override fun onItemSelected(parent: AdapterView<*>, view: View, position: Int, id: Long) { + launcherPreferences.edit() + .putInt(PREF_DATE_FORMAT, position) + .apply() + } + + override fun onNothingSelected(parent: AdapterView<*>?) { + + } + } } } \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 26a8afa..194b7df 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -56,7 +56,6 @@ inverse time only german - german inv https://github.com/finnmglas/Launcher#en From 32ca93fce1164bca381d8ea1da75c27ffd4abe5a Mon Sep 17 00:00:00 2001 From: Finn M Glas Date: Mon, 17 Aug 2020 13:41:35 +0200 Subject: [PATCH 3/4] Apply it to the Launcher clock / date display --- .../java/com/finnmglas/launcher/HomeActivity.kt | 9 +++++++-- .../settings/launcher/SettingsFragmentLauncher.kt | 1 - app/src/main/res/layout/settings_launcher.xml | 1 + app/src/main/res/values/strings.xml | 14 ++++++++++++++ 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/finnmglas/launcher/HomeActivity.kt b/app/src/main/java/com/finnmglas/launcher/HomeActivity.kt index 7f144d6..09964de 100644 --- a/app/src/main/java/com/finnmglas/launcher/HomeActivity.kt +++ b/app/src/main/java/com/finnmglas/launcher/HomeActivity.kt @@ -105,8 +105,13 @@ class HomeActivity: UIObject, AppCompatActivity(), if (home_background_image != null && getSavedTheme(this) == "custom") home_background_image.setImageBitmap(background) - val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()) - val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.getDefault()) + // Applying the date / time format (changeable in settings) + val dFormat = launcherPreferences.getInt(PREF_DATE_FORMAT, 0) + val upperFMT = resources.getStringArray(R.array.settings_time_formats_upper) + val lowerFMT = resources.getStringArray(R.array.settings_time_formats_lower) + + val dateFormat = SimpleDateFormat(upperFMT[dFormat], Locale.getDefault()) + val timeFormat = SimpleDateFormat(lowerFMT[dFormat], Locale.getDefault()) clockTimer = fixedRateTimer("clockTimer", true, 0L, 100) { this@HomeActivity.runOnUiThread { diff --git a/app/src/main/java/com/finnmglas/launcher/settings/launcher/SettingsFragmentLauncher.kt b/app/src/main/java/com/finnmglas/launcher/settings/launcher/SettingsFragmentLauncher.kt index 9468361..ee5692e 100644 --- a/app/src/main/java/com/finnmglas/launcher/settings/launcher/SettingsFragmentLauncher.kt +++ b/app/src/main/java/com/finnmglas/launcher/settings/launcher/SettingsFragmentLauncher.kt @@ -185,7 +185,6 @@ class SettingsFragmentLauncher : Fragment(), UIObject { settings_launcher_format_spinner.setSelection(launcherPreferences.getInt(PREF_DATE_FORMAT, 0)) - settings_launcher_format_spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected(parent: AdapterView<*>, view: View, position: Int, id: Long) { launcherPreferences.edit() diff --git a/app/src/main/res/layout/settings_launcher.xml b/app/src/main/res/layout/settings_launcher.xml index b673dd5..4e9b595 100644 --- a/app/src/main/res/layout/settings_launcher.xml +++ b/app/src/main/res/layout/settings_launcher.xml @@ -153,6 +153,7 @@ android:id="@+id/settings_launcher_format_spinner" android:layout_width="0dp" android:layout_height="wrap_content" + android:entries="@array/settings_launcher_time_formats" android:spinnerMode="dropdown" app:layout_constraintBottom_toBottomOf="@id/settings_launcher_text_time_format" app:layout_constraintEnd_toEndOf="parent" diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 194b7df..f5a3793 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -58,6 +58,20 @@ german + + yyyy-MM-dd + HH:mm:ss + HH:mm:ss + HH:mm:ss + + + + HH:mm:ss + yyyy-MM-dd + + dd.MM.yyyy + + https://github.com/finnmglas/Launcher#en https://www.finnmglas.com From 855ba1a1f4187f8b559a37f188b5691a70bf36c3 Mon Sep 17 00:00:00 2001 From: Finn M Glas Date: Mon, 17 Aug 2020 13:56:43 +0200 Subject: [PATCH 4/4] Add date-format translations Closes #63 --- app/src/main/res/values-de/strings.xml | 8 ++++++++ app/src/main/res/values-fr/strings.xml | 8 ++++++++ app/src/main/res/values/strings.xml | 8 ++++---- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 7fcd5b5..625d426 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -42,6 +42,14 @@ Bild ändern Bildschirm wach halten + Datumsformat + + + Standard + Invertiert + Uhrzeit + Deutsch + https://github.com/finnmglas/Launcher#de https://www.finnmglas.com/de/ diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 0419b59..aa7f776 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -41,6 +41,14 @@ Changer Image Examples Gardez l\'écran allumé + Format de date + + + Défaut + Inversé + Temps + Allemand + https://www.finnmglas.com/fr/ https://github.com/finnmglas/Launcher diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f5a3793..3f27820 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -52,10 +52,10 @@ Date format - default - inverse - time only - german + Default + Inverse + Time only + German