add a toggle for vibrations on notifications

This commit is contained in:
tibbi
2016-11-26 11:25:20 +01:00
parent d77e55582b
commit d6f8ca66db
14 changed files with 54 additions and 5 deletions

View File

@ -15,6 +15,7 @@ import com.simplemobiletools.calendar.extensions.*
import com.simplemobiletools.calendar.fragments.DayFragment import com.simplemobiletools.calendar.fragments.DayFragment
import com.simplemobiletools.calendar.helpers.* import com.simplemobiletools.calendar.helpers.*
import com.simplemobiletools.calendar.models.Event import com.simplemobiletools.calendar.models.Event
import com.simplemobiletools.filepicker.extensions.toast
import kotlinx.android.synthetic.main.activity_event.* import kotlinx.android.synthetic.main.activity_event.*
import org.joda.time.DateTime import org.joda.time.DateTime
import org.joda.time.DateTimeZone import org.joda.time.DateTimeZone

View File

@ -5,8 +5,12 @@ import android.support.v4.app.TaskStackBuilder
import android.view.View import android.view.View
import android.widget.AdapterView import android.widget.AdapterView
import com.simplemobiletools.calendar.R import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.extensions.* import com.simplemobiletools.calendar.extensions.beVisibleIf
import com.simplemobiletools.calendar.extensions.hideKeyboard
import com.simplemobiletools.calendar.extensions.showKeyboard
import com.simplemobiletools.calendar.extensions.value
import com.simplemobiletools.calendar.helpers.* import com.simplemobiletools.calendar.helpers.*
import com.simplemobiletools.filepicker.extensions.toast
import kotlinx.android.synthetic.main.activity_settings.* import kotlinx.android.synthetic.main.activity_settings.*
class SettingsActivity : SimpleActivity() { class SettingsActivity : SimpleActivity() {
@ -17,6 +21,7 @@ class SettingsActivity : SimpleActivity() {
setupDarkTheme() setupDarkTheme()
setupSundayFirst() setupSundayFirst()
setupWeekNumbers() setupWeekNumbers()
setupVibrate()
setupEventReminder() setupEventReminder()
} }
@ -45,6 +50,14 @@ class SettingsActivity : SimpleActivity() {
} }
} }
private fun setupVibrate() {
settings_vibrate.isChecked = mConfig.vibrateOnReminder
settings_vibrate_holder.setOnClickListener {
settings_vibrate.toggle()
mConfig.vibrateOnReminder = settings_vibrate.isChecked
}
}
private fun setupEventReminder() { private fun setupEventReminder() {
val reminderType = mConfig.defaultReminderType val reminderType = mConfig.defaultReminderType
val reminderMinutes = mConfig.defaultReminderMinutes val reminderMinutes = mConfig.defaultReminderMinutes

View File

@ -7,7 +7,6 @@ import android.content.ComponentName
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.SystemClock import android.os.SystemClock
import android.widget.Toast
import com.simplemobiletools.calendar.R import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.helpers.* import com.simplemobiletools.calendar.helpers.*
import com.simplemobiletools.calendar.models.Event import com.simplemobiletools.calendar.models.Event
@ -26,8 +25,6 @@ fun Context.updateWidget() {
} }
} }
fun Context.toast(id: Int) = Toast.makeText(this, resources.getString(id), Toast.LENGTH_SHORT).show()
fun Context.scheduleNextEvent(event: Event) { fun Context.scheduleNextEvent(event: Event) {
var startTS = event.startTS - event.reminderMinutes * 60 var startTS = event.startTS - event.reminderMinutes * 60
var newTS = startTS var newTS = startTS
@ -54,7 +51,6 @@ private fun getNewTS(ts: Int, isMonthly: Boolean): Int {
return (dateTime.millis / 1000).toInt() return (dateTime.millis / 1000).toInt()
} }
fun Context.scheduleNotification(event: Event) { fun Context.scheduleNotification(event: Event) {
if (event.reminderMinutes == -1) if (event.reminderMinutes == -1)
return return

View File

@ -34,6 +34,10 @@ class Config(context: Context) {
get() = mPrefs.getBoolean(WEEK_NUMBERS, false) get() = mPrefs.getBoolean(WEEK_NUMBERS, false)
set(displayWeekNumbers) = mPrefs.edit().putBoolean(WEEK_NUMBERS, displayWeekNumbers).apply() set(displayWeekNumbers) = mPrefs.edit().putBoolean(WEEK_NUMBERS, displayWeekNumbers).apply()
var vibrateOnReminder: Boolean
get() = mPrefs.getBoolean(VIBRATE, true)
set(vibrate) = mPrefs.edit().putBoolean(VIBRATE, vibrate).apply()
var storedView: Int var storedView: Int
get() = mPrefs.getInt(VIEW, MONTHLY_VIEW) get() = mPrefs.getInt(VIEW, MONTHLY_VIEW)
set(view) = mPrefs.edit().putInt(VIEW, view).apply() set(view) = mPrefs.edit().putInt(VIEW, view).apply()

View File

@ -33,6 +33,7 @@ val IS_FIRST_RUN = "is_first_run"
val IS_DARK_THEME = "is_dark_theme" val IS_DARK_THEME = "is_dark_theme"
val SUNDAY_FIRST = "sunday_first" val SUNDAY_FIRST = "sunday_first"
val WEEK_NUMBERS = "week_numbers" val WEEK_NUMBERS = "week_numbers"
val VIBRATE = "vibrate"
val VIEW = "view" val VIEW = "view"
val REMINDER_TYPE = "reminder_type" val REMINDER_TYPE = "reminder_type"
val REMINDER_MINUTES = "reminder_minutes" val REMINDER_MINUTES = "reminder_minutes"

View File

@ -89,6 +89,32 @@
</RelativeLayout> </RelativeLayout>
<RelativeLayout
android:id="@+id/settings_vibrate_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/settings_padding"
android:background="?attr/selectableItemBackground"
android:padding="@dimen/activity_margin">
<TextView
android:id="@+id/settings_vibrate_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:paddingLeft="@dimen/settings_padding"
android:text="@string/vibrate"/>
<android.support.v7.widget.SwitchCompat
android:id="@+id/settings_vibrate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="@null"
android:clickable="false"/>
</RelativeLayout>
<RelativeLayout <RelativeLayout
android:id="@+id/settings_default_reminder_holder" android:id="@+id/settings_default_reminder_holder"
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@ -64,6 +64,7 @@
<string name="dark_theme">Dunkles Design</string> <string name="dark_theme">Dunkles Design</string>
<string name="sunday_first">Sonntag als erster Wochentag</string> <string name="sunday_first">Sonntag als erster Wochentag</string>
<string name="week_numbers">Zeige Kalenderwoche an</string> <string name="week_numbers">Zeige Kalenderwoche an</string>
<string name="vibrate">Vibrate on reminder notification</string>
<string name="default_event_reminder">Standard Termin Erinnerung</string> <string name="default_event_reminder">Standard Termin Erinnerung</string>
<string name="reminder_saved">Erinnerung gespeichert</string> <string name="reminder_saved">Erinnerung gespeichert</string>

View File

@ -64,6 +64,7 @@
<string name="dark_theme">Tema oscuro</string> <string name="dark_theme">Tema oscuro</string>
<string name="sunday_first">Domingo como primer día</string> <string name="sunday_first">Domingo como primer día</string>
<string name="week_numbers">Mostrar los números de la semana</string> <string name="week_numbers">Mostrar los números de la semana</string>
<string name="vibrate">Vibrate on reminder notification</string>
<string name="default_event_reminder">Recordatorio predeterminado de un evento</string> <string name="default_event_reminder">Recordatorio predeterminado de un evento</string>
<string name="reminder_saved">Recordatorio guardado</string> <string name="reminder_saved">Recordatorio guardado</string>

View File

@ -64,6 +64,7 @@
<string name="dark_theme">काली थीम</string> <string name="dark_theme">काली थीम</string>
<string name="sunday_first">रविवार पहला दिन हैं</string> <string name="sunday_first">रविवार पहला दिन हैं</string>
<string name="week_numbers">सफ्ताह क्रमांक दिखाए</string> <string name="week_numbers">सफ्ताह क्रमांक दिखाए</string>
<string name="vibrate">Vibrate on reminder notification</string>
<string name="default_event_reminder">Default event reminder</string> <string name="default_event_reminder">Default event reminder</string>
<string name="reminder_saved">Reminder saved</string> <string name="reminder_saved">Reminder saved</string>

View File

@ -64,6 +64,7 @@
<string name="dark_theme">Tema scuro</string> <string name="dark_theme">Tema scuro</string>
<string name="sunday_first">Sunday as first day</string> <string name="sunday_first">Sunday as first day</string>
<string name="week_numbers">Display week numbers</string> <string name="week_numbers">Display week numbers</string>
<string name="vibrate">Vibrate on reminder notification</string>
<string name="default_event_reminder">Default event reminder</string> <string name="default_event_reminder">Default event reminder</string>
<string name="reminder_saved">Reminder saved</string> <string name="reminder_saved">Reminder saved</string>

View File

@ -64,6 +64,7 @@
<string name="dark_theme">ダークテーマ</string> <string name="dark_theme">ダークテーマ</string>
<string name="sunday_first">Sunday as first day</string> <string name="sunday_first">Sunday as first day</string>
<string name="week_numbers">Display week numbers</string> <string name="week_numbers">Display week numbers</string>
<string name="vibrate">Vibrate on reminder notification</string>
<string name="default_event_reminder">Default event reminder</string> <string name="default_event_reminder">Default event reminder</string>
<string name="reminder_saved">Reminder saved</string> <string name="reminder_saved">Reminder saved</string>

View File

@ -64,6 +64,7 @@
<string name="dark_theme">Tema escuro</string> <string name="dark_theme">Tema escuro</string>
<string name="sunday_first">Domingo como primeiro dia</string> <string name="sunday_first">Domingo como primeiro dia</string>
<string name="week_numbers">Mostrar número das semanas</string> <string name="week_numbers">Mostrar número das semanas</string>
<string name="vibrate">Vibrate on reminder notification</string>
<string name="default_event_reminder">Lembrete padrão</string> <string name="default_event_reminder">Lembrete padrão</string>
<string name="reminder_saved">Lembrete guardado</string> <string name="reminder_saved">Lembrete guardado</string>

View File

@ -64,6 +64,7 @@
<string name="dark_theme">Mörkt tema</string> <string name="dark_theme">Mörkt tema</string>
<string name="sunday_first">Sunday as first day</string> <string name="sunday_first">Sunday as first day</string>
<string name="week_numbers">Display week numbers</string> <string name="week_numbers">Display week numbers</string>
<string name="vibrate">Vibrate on reminder notification</string>
<string name="default_event_reminder">Default event reminder</string> <string name="default_event_reminder">Default event reminder</string>
<string name="reminder_saved">Reminder saved</string> <string name="reminder_saved">Reminder saved</string>

View File

@ -65,6 +65,7 @@
<string name="dark_theme">Dark theme</string> <string name="dark_theme">Dark theme</string>
<string name="sunday_first">Sunday as first day</string> <string name="sunday_first">Sunday as first day</string>
<string name="week_numbers">Display week numbers</string> <string name="week_numbers">Display week numbers</string>
<string name="vibrate">Vibrate on reminder notification</string>
<string name="default_event_reminder">Default event reminder</string> <string name="default_event_reminder">Default event reminder</string>
<string name="reminder_saved">Reminder saved</string> <string name="reminder_saved">Reminder saved</string>