diff --git a/app/build.gradle b/app/build.gradle index 495f28c82..aceb326b8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -32,7 +32,7 @@ android { } dependencies { - compile 'com.simplemobiletools:commons:2.4.3' + compile 'com.simplemobiletools:commons:2.4.4' compile 'joda-time:joda-time:2.9.1' compile 'com.facebook.stetho:stetho:1.4.1' compile 'com.bignerdranch.android:recyclerview-multiselect:0.2' diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SettingsActivity.kt index 060344bed..ca84f2cfd 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SettingsActivity.kt @@ -8,6 +8,7 @@ import android.os.Bundle import android.os.Parcelable import android.view.View import android.widget.AdapterView +import android.widget.ArrayAdapter import com.simplemobiletools.calendar.R import com.simplemobiletools.calendar.extensions.config import com.simplemobiletools.calendar.helpers.* @@ -27,6 +28,8 @@ class SettingsActivity : SimpleActivity() { setupCustomizeColors() setupSundayFirst() + setupWeeklyStart() + setupWeeklyEnd() setupWeekNumbers() setupVibrate() setupReminderSound() @@ -48,6 +51,46 @@ class SettingsActivity : SimpleActivity() { } } + private fun setupWeeklyStart() { + settings_start_weekly_at.apply { + adapter = getWeeklyAdapter() + setSelection(config.startWeeklyAt) + onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) { + if (selectedItemPosition >= config.endWeeklyAt) { + toast(R.string.day_end_before_start) + setSelection(config.startWeeklyAt) + } else { + config.startWeeklyAt = selectedItemPosition + } + } + + override fun onNothingSelected(parent: AdapterView<*>?) { + } + } + } + } + + private fun setupWeeklyEnd() { + settings_end_weekly_at.apply { + adapter = getWeeklyAdapter() + setSelection(config.endWeeklyAt) + onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) { + if (selectedItemPosition <= config.startWeeklyAt) { + toast(R.string.day_end_before_start) + setSelection(config.endWeeklyAt) + } else { + config.endWeeklyAt = selectedItemPosition + } + } + + override fun onNothingSelected(parent: AdapterView<*>?) { + } + } + } + } + private fun setupWeekNumbers() { settings_week_numbers.isChecked = config.displayWeekNumbers settings_week_numbers_holder.setOnClickListener { @@ -160,6 +203,15 @@ class SettingsActivity : SimpleActivity() { custom_reminder_value.setText(value.toString()) } + private fun getWeeklyAdapter(): ArrayAdapter { + val adapter = ArrayAdapter(this, android.R.layout.simple_spinner_item) + for (i in 0..24) { + adapter.add("$i:00") + } + adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) + return adapter + } + override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?) { if (resultCode == Activity.RESULT_OK && requestCode == GET_RINGTONE_URI) { val uri = resultData?.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Config.kt index 1fea38154..b9d6b0f0a 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Config.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Config.kt @@ -21,6 +21,14 @@ class Config(context: Context) : BaseConfig(context) { get() = prefs.getBoolean(WEEK_NUMBERS, false) set(displayWeekNumbers) = prefs.edit().putBoolean(WEEK_NUMBERS, displayWeekNumbers).apply() + var startWeeklyAt: Int + get() = prefs.getInt(START_WEEKLY_AT, 7) + set(startWeeklyAt) = prefs.edit().putInt(START_WEEKLY_AT, startWeeklyAt).apply() + + var endWeeklyAt: Int + get() = prefs.getInt(END_WEEKLY_AT, 24) + set(endWeeklyAt) = prefs.edit().putInt(END_WEEKLY_AT, endWeeklyAt).apply() + var vibrateOnReminder: Boolean get() = prefs.getBoolean(VIBRATE, false) set(vibrate) = prefs.edit().putBoolean(VIBRATE, vibrate).apply() diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Constants.kt index 61078db4f..d800f5af9 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Constants.kt @@ -31,6 +31,8 @@ val DAY_MINS = 1440 // Shared Preferences val SUNDAY_FIRST = "sunday_first" val WEEK_NUMBERS = "week_numbers" +val START_WEEKLY_AT = "start_weekly_at" +val END_WEEKLY_AT = "end_weekly_at" val VIBRATE = "vibrate" val REMINDER_SOUND = "reminder_sound" val VIEW = "view" diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 53c3df571..9869e6904 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -50,6 +50,62 @@ + + + + + + + + + + + + + + + + Sonntag als erster Wochentag + Start weekly view day at + End weekly view day at Zeige Kalenderwoche an Vibration ein bei Errinerung Erinnerungs Ton @@ -62,6 +64,7 @@ Benachrichtigungs Ton No app capable of setting ringtone found None + The day cannot end earlier than it starts 1 Termin gelöscht diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 1075722cb..e7644a72e 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -54,6 +54,8 @@ Domingo como primer día + Start weekly view day at + End weekly view day at Mostrar los números de la semana Vibrate on reminder notification Reminder sound @@ -62,6 +64,7 @@ Notification sound No app capable of setting ringtone found None + The day cannot end earlier than it starts 1 evento borrado diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index d2cdfd632..d4867d42b 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -54,6 +54,8 @@ Dimanche en premier jour + Start weekly view day at + End weekly view day at Afficher les numéros de semaine Vibrer à la notification de rappel Son de rappel @@ -62,6 +64,7 @@ Son de notification Aucune application capable de configurer la sonnerie trouvée None + The day cannot end earlier than it starts 1 événement supprimé diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml index 739c21bd7..e53b7a84a 100644 --- a/app/src/main/res/values-hi-rIN/strings.xml +++ b/app/src/main/res/values-hi-rIN/strings.xml @@ -54,6 +54,8 @@ रविवार पहला दिन हैं + Start weekly view day at + End weekly view day at सफ्ताह क्रमांक दिखाए Vibrate on reminder notification Reminder sound @@ -62,6 +64,7 @@ Notification sound No app capable of setting ringtone found None + The day cannot end earlier than it starts 1 इवेंट डिलीट किया गया diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 1b0f9d929..ee01b36a1 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -54,6 +54,8 @@ Vasárnap a hét első napja + Start weekly view day at + End weekly view day at Hetek sorszámának mutatása Emlékeztetőnél rezgés Reminder sound @@ -62,6 +64,7 @@ Notification sound No app capable of setting ringtone found None + The day cannot end earlier than it starts 1 bejegyzés törölve diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index b59c81eab..69cd3e91b 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -54,6 +54,8 @@ Sunday as first day + Start weekly view day at + End weekly view day at Show week numbers in monthy view Vibrate on reminder notification Reminder sound @@ -62,6 +64,7 @@ Notification sound No app capable of setting ringtone found None + The day cannot end earlier than it starts 1 evento eliminato diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index bd557a031..f97335abe 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -54,6 +54,8 @@ 日曜日が最初 + Start weekly view day at + End weekly view day at 週番号を表示 リマインダー通知で振動 Reminder sound @@ -62,6 +64,7 @@ Notification sound No app capable of setting ringtone found None + The day cannot end earlier than it starts 1 イベントを削除しました diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index 177d2e0fc..228fe4570 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -54,6 +54,8 @@ Domingo como primeiro dia + Start weekly view day at + End weekly view day at Mostrar número das semanas Vibrar ao notificar sobre o lembrete Som do lembrete @@ -62,6 +64,7 @@ Som da notificação Não foi encontrada qualquer aplicação capaz de definir o som Nenhum + The day cannot end earlier than it starts 1 evento apagado diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 96b9b70e3..634dc932a 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -54,6 +54,8 @@ Воскресенье - начало недели + Start weekly view day at + End weekly view day at Отображать номера недель Вибрация при напоминании Звук напоминания @@ -62,6 +64,7 @@ Звук уведомления Не найдено приложение для выбора рингтона Нет + The day cannot end earlier than it starts 1 событие удалено diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 9ad979d24..e95d5caa8 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -54,6 +54,8 @@ Sunday as first day + Start weekly view day at + End weekly view day at Show week numbers in monthy view Vibrate on reminder notification Reminder sound @@ -62,6 +64,7 @@ Notification sound No app capable of setting ringtone found None + The day cannot end earlier than it starts 1 händelse borttagen diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1dd8e2732..bdcf24630 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -54,6 +54,8 @@ Sunday as first day + Start weekly view day at + End weekly view day at Show week numbers in monthy view Vibrate on reminder notification Reminder sound @@ -62,6 +64,7 @@ Notification sound No app capable of setting ringtone found None + The day cannot end earlier than it starts 1 event deleted