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.MenuItem
|
||||
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.dialogs.*
|
||||
import com.simplemobiletools.calendar.extensions.*
|
||||
@@ -473,14 +471,7 @@ class EventActivity : SimpleActivity(), DBHelper.EventUpdateListener {
|
||||
toast(R.string.event_added)
|
||||
}
|
||||
|
||||
if (isGoogleSyncActive()) {
|
||||
if (isOnline()) {
|
||||
Thread({
|
||||
createRemoteGoogleEvent()
|
||||
}).start()
|
||||
}
|
||||
}
|
||||
|
||||
GoogleSyncHandler().uploadToGoogle(this, mEvent)
|
||||
finish()
|
||||
}
|
||||
} 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() {
|
||||
updateStartDateText()
|
||||
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