mirror of
https://github.com/bitfireAT/davx5-ose
synced 2024-07-22 11:11:02 +00:00
prepareForUpload: use UID from data class instead of querying it explicitly from content provider (#555)
This commit is contained in:
parent
53a446bcf9
commit
55c499fbe9
|
@ -70,21 +70,20 @@ class LocalContact: AndroidContact, LocalAddress {
|
|||
|
||||
|
||||
override fun prepareForUpload(): String {
|
||||
var uid: String? = null
|
||||
addressBook.provider!!.query(rawContactSyncURI(), arrayOf(COLUMN_UID), null, null, null)?.use { cursor ->
|
||||
if (cursor.moveToNext())
|
||||
uid = StringUtils.trimToNull(cursor.getString(0))
|
||||
}
|
||||
|
||||
if (uid == null) {
|
||||
val contact = getContact()
|
||||
val uid: String = contact.uid ?: run {
|
||||
// generate new UID
|
||||
uid = UUID.randomUUID().toString()
|
||||
val newUid = UUID.randomUUID().toString()
|
||||
|
||||
// update in contacts provider
|
||||
val values = ContentValues(1)
|
||||
values.put(COLUMN_UID, uid)
|
||||
values.put(COLUMN_UID, newUid)
|
||||
addressBook.provider!!.update(rawContactSyncURI(), values, null, null)
|
||||
|
||||
getContact().uid = uid
|
||||
// update this event
|
||||
contact.uid = newUid
|
||||
|
||||
newUid
|
||||
}
|
||||
|
||||
return "$uid.vcf"
|
||||
|
|
|
@ -20,7 +20,6 @@ import at.bitfire.ical4android.ICalendar
|
|||
import at.bitfire.ical4android.Ical4Android
|
||||
import at.bitfire.ical4android.util.MiscUtils.asSyncAdapter
|
||||
import net.fortuna.ical4j.model.property.ProdId
|
||||
import org.apache.commons.lang3.StringUtils
|
||||
import java.util.UUID
|
||||
|
||||
class LocalEvent: AndroidEvent, LocalResource<Event> {
|
||||
|
@ -203,15 +202,8 @@ class LocalEvent: AndroidEvent, LocalResource<Event> {
|
|||
* @return file name to use at upload
|
||||
*/
|
||||
override fun prepareForUpload(): String {
|
||||
// fetch UID_2445 from calendar provider
|
||||
var dbUid: String? = null
|
||||
calendar.provider.query(eventSyncURI(), arrayOf(Events.UID_2445), null, null, null)?.use { cursor ->
|
||||
if (cursor.moveToNext())
|
||||
dbUid = StringUtils.trimToNull(cursor.getString(0))
|
||||
}
|
||||
|
||||
// make sure that UID is set
|
||||
val uid: String = dbUid ?: run {
|
||||
val uid: String = event!!.uid ?: run {
|
||||
// generate new UID
|
||||
val newUid = UUID.randomUUID().toString()
|
||||
|
||||
|
@ -220,7 +212,7 @@ class LocalEvent: AndroidEvent, LocalResource<Event> {
|
|||
values.put(Events.UID_2445, newUid)
|
||||
calendar.provider.update(eventSyncURI(), values, null, null)
|
||||
|
||||
// Update this event
|
||||
// update this event
|
||||
event?.uid = newUid
|
||||
|
||||
newUid
|
||||
|
|
|
@ -59,21 +59,19 @@ class LocalTask: AndroidTask, LocalResource<Task> {
|
|||
/* custom queries */
|
||||
|
||||
override fun prepareForUpload(): String {
|
||||
var uid: String? = null
|
||||
taskList.provider.client.query(taskSyncURI(), arrayOf(Tasks._UID), null, null, null)?.use { cursor ->
|
||||
if (cursor.moveToNext())
|
||||
uid = cursor.getString(0)
|
||||
}
|
||||
|
||||
if (uid == null) {
|
||||
val uid: String = task!!.uid ?: run {
|
||||
// generate new UID
|
||||
uid = UUID.randomUUID().toString()
|
||||
val newUid = UUID.randomUUID().toString()
|
||||
|
||||
// update in tasks provider
|
||||
val values = ContentValues(1)
|
||||
values.put(Tasks._UID, uid)
|
||||
values.put(Tasks._UID, newUid)
|
||||
taskList.provider.client.update(taskSyncURI(), values, null, null)
|
||||
|
||||
task!!.uid = uid
|
||||
// update this task
|
||||
task!!.uid = newUid
|
||||
|
||||
newUid
|
||||
}
|
||||
|
||||
return "$uid.ics"
|
||||
|
|
Loading…
Reference in a new issue