mirror of
https://github.com/SimpleMobileTools/Simple-Calendar.git
synced 2025-06-05 21:59:17 +02:00
move the functions handling uploading to Google in a separate file
This commit is contained in:
@@ -9,8 +9,6 @@ import android.text.method.LinkMovementMethod
|
|||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
import android.view.WindowManager
|
import android.view.WindowManager
|
||||||
import com.google.api.services.calendar.model.EventDateTime
|
|
||||||
import com.google.api.services.calendar.model.EventReminder
|
|
||||||
import com.simplemobiletools.calendar.R
|
import com.simplemobiletools.calendar.R
|
||||||
import com.simplemobiletools.calendar.dialogs.*
|
import com.simplemobiletools.calendar.dialogs.*
|
||||||
import com.simplemobiletools.calendar.extensions.*
|
import com.simplemobiletools.calendar.extensions.*
|
||||||
@@ -473,14 +471,7 @@ class EventActivity : SimpleActivity(), DBHelper.EventUpdateListener {
|
|||||||
toast(R.string.event_added)
|
toast(R.string.event_added)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isGoogleSyncActive()) {
|
GoogleSyncHandler().uploadToGoogle(this, mEvent)
|
||||||
if (isOnline()) {
|
|
||||||
Thread({
|
|
||||||
createRemoteGoogleEvent()
|
|
||||||
}).start()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
finish()
|
finish()
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -504,39 +495,6 @@ class EventActivity : SimpleActivity(), DBHelper.EventUpdateListener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun createRemoteGoogleEvent() {
|
|
||||||
try {
|
|
||||||
com.google.api.services.calendar.model.Event().apply {
|
|
||||||
summary = mEvent.title
|
|
||||||
description = mEvent.description
|
|
||||||
|
|
||||||
if (mEvent.getIsAllDay()) {
|
|
||||||
start = EventDateTime().setDate(com.google.api.client.util.DateTime(true, mEvent.startTS * 1000L, null))
|
|
||||||
end = EventDateTime().setDate(com.google.api.client.util.DateTime(true, (mEvent.endTS + DAY) * 1000L, null))
|
|
||||||
} else {
|
|
||||||
start = EventDateTime().setDateTime(com.google.api.client.util.DateTime(mEvent.startTS * 1000L))
|
|
||||||
end = EventDateTime().setDateTime(com.google.api.client.util.DateTime(mEvent.endTS * 1000L))
|
|
||||||
}
|
|
||||||
|
|
||||||
status = CONFIRMED.toLowerCase()
|
|
||||||
recurrence = listOf(Parser().getShortRepeatInterval(mEvent))
|
|
||||||
reminders = getEventReminders()
|
|
||||||
getGoogleSyncService().events().insert(PRIMARY, this).execute()
|
|
||||||
}
|
|
||||||
} catch (ignored: Exception) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun getEventReminders(): com.google.api.services.calendar.model.Event.Reminders {
|
|
||||||
val reminders = ArrayList<EventReminder>()
|
|
||||||
mEvent.getReminders().forEach {
|
|
||||||
val reminder = EventReminder().setMinutes(it).setMethod(POPUP)
|
|
||||||
reminders.add(reminder)
|
|
||||||
}
|
|
||||||
return com.google.api.services.calendar.model.Event.Reminders().setOverrides(reminders)
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun updateStartTexts() {
|
private fun updateStartTexts() {
|
||||||
updateStartDateText()
|
updateStartDateText()
|
||||||
updateStartTimeText()
|
updateStartTimeText()
|
||||||
|
@@ -0,0 +1,55 @@
|
|||||||
|
package com.simplemobiletools.calendar.helpers
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import com.google.api.services.calendar.model.EventDateTime
|
||||||
|
import com.google.api.services.calendar.model.EventReminder
|
||||||
|
import com.simplemobiletools.calendar.extensions.getGoogleSyncService
|
||||||
|
import com.simplemobiletools.calendar.extensions.isGoogleSyncActive
|
||||||
|
import com.simplemobiletools.calendar.extensions.isOnline
|
||||||
|
import com.simplemobiletools.calendar.models.Event
|
||||||
|
import java.util.*
|
||||||
|
|
||||||
|
class GoogleSyncHandler {
|
||||||
|
fun uploadToGoogle(context: Context, event: Event) {
|
||||||
|
if (context.isGoogleSyncActive()) {
|
||||||
|
if (context.isOnline()) {
|
||||||
|
Thread({
|
||||||
|
createRemoteGoogleEvent(context, event)
|
||||||
|
}).start()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun createRemoteGoogleEvent(context: Context, event: Event) {
|
||||||
|
try {
|
||||||
|
com.google.api.services.calendar.model.Event().apply {
|
||||||
|
summary = event.title
|
||||||
|
description = event.description
|
||||||
|
|
||||||
|
if (event.getIsAllDay()) {
|
||||||
|
start = EventDateTime().setDate(com.google.api.client.util.DateTime(true, event.startTS * 1000L, null))
|
||||||
|
end = EventDateTime().setDate(com.google.api.client.util.DateTime(true, (event.endTS + DAY) * 1000L, null))
|
||||||
|
} else {
|
||||||
|
start = EventDateTime().setDateTime(com.google.api.client.util.DateTime(event.startTS * 1000L))
|
||||||
|
end = EventDateTime().setDateTime(com.google.api.client.util.DateTime(event.endTS * 1000L))
|
||||||
|
}
|
||||||
|
|
||||||
|
status = CONFIRMED.toLowerCase()
|
||||||
|
recurrence = listOf(Parser().getShortRepeatInterval(event))
|
||||||
|
reminders = getEventReminders(event)
|
||||||
|
context.getGoogleSyncService().events().insert(PRIMARY, this).execute()
|
||||||
|
}
|
||||||
|
} catch (ignored: Exception) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun getEventReminders(event: Event): com.google.api.services.calendar.model.Event.Reminders {
|
||||||
|
val reminders = ArrayList<EventReminder>()
|
||||||
|
event.getReminders().forEach {
|
||||||
|
val reminder = EventReminder().setMinutes(it).setMethod(POPUP)
|
||||||
|
reminders.add(reminder)
|
||||||
|
}
|
||||||
|
return com.google.api.services.calendar.model.Event.Reminders().setOverrides(reminders)
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user