store default calendar reminders

This commit is contained in:
tibbi 2017-07-28 22:23:14 +02:00
parent 77eeb1aba7
commit 2da1739431
4 changed files with 21 additions and 5 deletions

View File

@ -18,15 +18,13 @@ import com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccoun
import com.google.api.client.googleapis.extensions.android.gms.auth.UserRecoverableAuthIOException import com.google.api.client.googleapis.extensions.android.gms.auth.UserRecoverableAuthIOException
import com.google.api.client.util.ExponentialBackOff import com.google.api.client.util.ExponentialBackOff
import com.google.api.services.calendar.CalendarScopes import com.google.api.services.calendar.CalendarScopes
import com.google.api.services.calendar.model.CalendarListEntry
import com.simplemobiletools.calendar.R import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.asynctasks.FetchGoogleEventsTask import com.simplemobiletools.calendar.asynctasks.FetchGoogleEventsTask
import com.simplemobiletools.calendar.dialogs.CustomEventReminderDialog import com.simplemobiletools.calendar.dialogs.CustomEventReminderDialog
import com.simplemobiletools.calendar.dialogs.SnoozePickerDialog import com.simplemobiletools.calendar.dialogs.SnoozePickerDialog
import com.simplemobiletools.calendar.extensions.* import com.simplemobiletools.calendar.extensions.*
import com.simplemobiletools.calendar.helpers.FONT_SIZE_LARGE import com.simplemobiletools.calendar.helpers.*
import com.simplemobiletools.calendar.helpers.FONT_SIZE_MEDIUM
import com.simplemobiletools.calendar.helpers.FONT_SIZE_SMALL
import com.simplemobiletools.calendar.helpers.PRIMARY
import com.simplemobiletools.commons.dialogs.ConfirmationDialog import com.simplemobiletools.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.dialogs.RadioGroupDialog import com.simplemobiletools.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.toast import com.simplemobiletools.commons.extensions.toast
@ -382,9 +380,21 @@ class SettingsActivity : SimpleActivity() {
Thread({ Thread({
val calendar = getGoogleSyncService().calendarList().get(PRIMARY).execute() val calendar = getGoogleSyncService().calendarList().get(PRIMARY).execute()
config.googleDefaultEventColor = Color.parseColor(calendar.backgroundColor) config.googleDefaultEventColor = Color.parseColor(calendar.backgroundColor)
storeDefaultReminders(calendar)
}).start() }).start()
} }
private fun storeDefaultReminders(calendar: CalendarListEntry) {
val reminderMinutes = ArrayList<Int>()
val reminders = calendar.defaultReminders
reminders.forEach {
if (it.method == POPUP) {
reminderMinutes.add(it.minutes)
}
}
config.googleDefaultReminders = reminderMinutes.joinToString()
}
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<String>, grantResults: IntArray) { override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<String>, grantResults: IntArray) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults) super.onRequestPermissionsResult(requestCode, permissions, grantResults)

View File

@ -22,7 +22,6 @@ import java.util.*
// more info about event fields at https://developers.google.com/google-apps/calendar/v3/reference/events/insert // more info about event fields at https://developers.google.com/google-apps/calendar/v3/reference/events/insert
class FetchGoogleEventsTask(val context: Context, val googleSyncListener: GoogleSyncListener? = null) : AsyncTask<Void, Void, String>() { class FetchGoogleEventsTask(val context: Context, val googleSyncListener: GoogleSyncListener? = null) : AsyncTask<Void, Void, String>() {
private val ITEMS = "items" private val ITEMS = "items"
private val OVERRIDES = "overrides"
private val NEXT_PAGE_TOKEN = "nextPageToken" private val NEXT_PAGE_TOKEN = "nextPageToken"
private var dbHelper = context.dbHelper private var dbHelper = context.dbHelper

View File

@ -90,6 +90,10 @@ class Config(context: Context) : BaseConfig(context) {
get() = prefs.getInt(GOOGLE_DEFAULT_EVENT_COLOR, primaryColor) get() = prefs.getInt(GOOGLE_DEFAULT_EVENT_COLOR, primaryColor)
set(color) = prefs.edit().putInt(GOOGLE_DEFAULT_EVENT_COLOR, color).apply() set(color) = prefs.edit().putInt(GOOGLE_DEFAULT_EVENT_COLOR, color).apply()
var googleDefaultReminders: String
get() = prefs.getString(GOOGLE_DEFAULT_REMINDERS, "")
set(reminders) = prefs.edit().putString(GOOGLE_DEFAULT_REMINDERS, reminders).apply()
fun addDisplayEventType(type: String) { fun addDisplayEventType(type: String) {
addDisplayEventTypes(HashSet<String>(Arrays.asList(type))) addDisplayEventTypes(HashSet<String>(Arrays.asList(type)))
} }

View File

@ -46,6 +46,7 @@ val SYNC_ACCOUNT_NAME = "sync_account_name"
val SNOOZE_DELAY = "snooze_delay" val SNOOZE_DELAY = "snooze_delay"
val DISPLAY_PAST_EVENTS = "display_past_events" val DISPLAY_PAST_EVENTS = "display_past_events"
val GOOGLE_DEFAULT_EVENT_COLOR = "google_default_event_color" val GOOGLE_DEFAULT_EVENT_COLOR = "google_default_event_color"
val GOOGLE_DEFAULT_REMINDERS = "google_default_reminders"
val letterIDs = intArrayOf(R.string.sunday_letter, R.string.monday_letter, R.string.tuesday_letter, R.string.wednesday_letter, val letterIDs = intArrayOf(R.string.sunday_letter, R.string.monday_letter, R.string.tuesday_letter, R.string.wednesday_letter,
R.string.thursday_letter, R.string.friday_letter, R.string.saturday_letter) R.string.thursday_letter, R.string.friday_letter, R.string.saturday_letter)
@ -128,3 +129,5 @@ val POPUP = "popup"
val OPERATION_INSERT = 1 val OPERATION_INSERT = 1
val OPERATION_UPDATE = 2 val OPERATION_UPDATE = 2
val OPERATION_DELETE = 3 val OPERATION_DELETE = 3
val OVERRIDES = "overrides"
val DEFAULT_REMINDERS = "defaultReminders"