From 9a1d9d6b3bd79c1b9741594b6ec1f4bd4b9a126a Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 1 Nov 2016 22:44:47 +0100 Subject: [PATCH] add some views in Settings related to setting custom event reminder --- .../calendar/activities/EventActivity.kt | 29 ++------ .../calendar/activities/SettingsActivity.kt | 21 ++++++ .../calendar/extensions/Activity.kt | 17 +++++ app/src/main/res/layout/activity_event.xml | 6 +- app/src/main/res/layout/activity_settings.xml | 69 +++++++++++++++++++ app/src/main/res/values-de/strings.xml | 1 + app/src/main/res/values-it/strings.xml | 1 + app/src/main/res/values-ja/strings.xml | 1 + app/src/main/res/values-pt-rPT/strings.xml | 1 + app/src/main/res/values-sv/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 11 files changed, 123 insertions(+), 25 deletions(-) create mode 100644 app/src/main/kotlin/com/simplemobiletools/calendar/extensions/Activity.kt 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 08a5292ad..e6919b241 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/EventActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/EventActivity.kt @@ -3,19 +3,14 @@ package com.simplemobiletools.calendar.activities import android.app.Activity import android.app.DatePickerDialog import android.app.TimePickerDialog -import android.content.Context import android.content.Intent import android.os.Bundle import android.view.Menu import android.view.MenuItem import android.view.View -import android.view.inputmethod.InputMethodManager import android.widget.AdapterView -import android.widget.EditText import com.simplemobiletools.calendar.* -import com.simplemobiletools.calendar.extensions.beVisibleIf -import com.simplemobiletools.calendar.extensions.updateWidget -import com.simplemobiletools.calendar.extensions.value +import com.simplemobiletools.calendar.extensions.* import com.simplemobiletools.calendar.fragments.DayFragment import com.simplemobiletools.calendar.models.Event import kotlinx.android.synthetic.main.activity_event.* @@ -101,16 +96,6 @@ class EventActivity : SimpleActivity(), DBHelper.EventsListener { event_reminder_other.setText(mConfig.lastOtherReminderMins.toString()) } - private fun hideKeyboard() { - val inputMethodManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager - inputMethodManager.hideSoftInputFromWindow((currentFocus ?: View(this)).windowToken, 0) - } - - private fun showKeyboard(et: EditText) { - val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager - imm.showSoftInput(et, InputMethodManager.SHOW_IMPLICIT) - } - private fun setupReminder() { when (mEvent.reminderMinutes) { -1 -> event_reminder.setSelection(0) @@ -164,19 +149,19 @@ class EventActivity : SimpleActivity(), DBHelper.EventsListener { var value = mins if (mins % DAY_MINS == 0) { value = mins / DAY_MINS - event_reminder_other_period.setSelection(2) + settings_custom_reminder_other_period.setSelection(2) } else if (mins % HOUR_MINS == 0) { value = mins / HOUR_MINS - event_reminder_other_period.setSelection(1) + settings_custom_reminder_other_period.setSelection(1) } else { - event_reminder_other_period.setSelection(0) + settings_custom_reminder_other_period.setSelection(0) } event_reminder_other.setText(value.toString()) } fun toggleCustomReminderVisibility(show: Boolean) { - event_reminder_other_period.beVisibleIf(show) - event_reminder_other_val.beVisibleIf(show) + settings_custom_reminder_other_period.beVisibleIf(show) + settings_custom_reminder_other_val.beVisibleIf(show) event_reminder_other.beVisibleIf(show) } @@ -261,7 +246,7 @@ class EventActivity : SimpleActivity(), DBHelper.EventsListener { if (value.isEmpty()) 0 - val multiplier = when (event_reminder_other_period.selectedItemPosition) { + val multiplier = when (settings_custom_reminder_other_period.selectedItemPosition) { 1 -> HOUR_MINS 2 -> DAY_MINS else -> 1 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 2d6f36f6f..b51dbabec 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SettingsActivity.kt @@ -2,7 +2,12 @@ package com.simplemobiletools.calendar.activities import android.os.Bundle import android.support.v4.app.TaskStackBuilder +import android.view.View +import android.widget.AdapterView import com.simplemobiletools.calendar.R +import com.simplemobiletools.calendar.extensions.beVisibleIf +import com.simplemobiletools.calendar.extensions.hideKeyboard +import com.simplemobiletools.calendar.extensions.showKeyboard import kotlinx.android.synthetic.main.activity_settings.* class SettingsActivity : SimpleActivity() { @@ -13,6 +18,7 @@ class SettingsActivity : SimpleActivity() { setupDarkTheme() setupSundayFirst() setupWeekNumbers() + setupEventReminder() } private fun setupDarkTheme() { @@ -40,6 +46,21 @@ class SettingsActivity : SimpleActivity() { } } + private fun setupEventReminder() { + settings_default_reminder.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + override fun onNothingSelected(p0: AdapterView<*>?) { + } + + override fun onItemSelected(p0: AdapterView<*>?, p1: View?, itemIndex: Int, p3: Long) { + settings_custom_reminder_holder.beVisibleIf(itemIndex == 2) + if (itemIndex == 2) + showKeyboard(settings_custom_reminder_other) + else + hideKeyboard() + } + } + } + private fun restartActivity() { TaskStackBuilder.create(applicationContext).addNextIntentWithParentStack(intent).startActivities() } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/extensions/Activity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/extensions/Activity.kt new file mode 100644 index 000000000..aa94fa888 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/extensions/Activity.kt @@ -0,0 +1,17 @@ +package com.simplemobiletools.calendar.extensions + +import android.app.Activity +import android.content.Context +import android.view.View +import android.view.inputmethod.InputMethodManager +import android.widget.EditText + +fun Activity.hideKeyboard() { + val inputMethodManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager + inputMethodManager.hideSoftInputFromWindow((currentFocus ?: View(this)).windowToken, 0) +} + +fun Activity.showKeyboard(et: EditText) { + val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager + imm.showSoftInput(et, InputMethodManager.SHOW_IMPLICIT) +} diff --git a/app/src/main/res/layout/activity_event.xml b/app/src/main/res/layout/activity_event.xml index 9e304812b..4dd1b3f70 100644 --- a/app/src/main/res/layout/activity_event.xml +++ b/app/src/main/res/layout/activity_event.xml @@ -140,7 +140,7 @@ android:visibility="gone"/> diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index bd1d54f7e..412c2d2e5 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -88,5 +88,74 @@ android:clickable="false"/> + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index c077baff6..ae9164466 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -64,6 +64,7 @@ Dunkles Design Sonntag als erster Wochentag Zeige Kalenderwoche an + Default event reminder Diese App nutzt die folgenden Drittanbieterbibliotheken, die mein Leben einfacher machen. Danke. diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index a6b81ac6c..0dabf9251 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -64,6 +64,7 @@ Tema scuro Sunday as first day Display week numbers + Default event reminder Questa app usa le seguenti librerie di terze parti per semplificarmi la vita. Grazie. diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index db193024f..3bee6dd72 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -64,6 +64,7 @@ ダークテーマ Sunday as first day Display week numbers + Default event reminder このアプリは、私の人生を容易にするために、次のサードパーティのライブラリーを使用しています。 ありがとうございます。 diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index 02ec22d1e..041b1a77a 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -64,6 +64,7 @@ Tema escuro Domingo como primeiro dia Display week numbers + Default event reminder Esta aplicação usa as seguintes bibliotecas de terceiros para facilitar a minha vida. Obrigado. diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index a075850c8..2a18a376a 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -64,6 +64,7 @@ Mörkt tema Sunday as first day Display week numbers + Default event reminder Denna app använder följande tredjepartsbibliotek för att göra mitt liv enklare. Tack. diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6982653e0..8ca8ca074 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -65,6 +65,7 @@ Dark theme Sunday as first day Display week numbers + Default event reminder This app uses the following third party libraries to make my life easier. Thank you.