mirror of
https://github.com/etesync/android
synced 2025-07-18 20:48:10 +00:00
Start bringing the task list up to date.
This commit is contained in:
parent
90bd1c8b7a
commit
e9b09453f8
@ -47,8 +47,6 @@ public class LocalCalendar extends AndroidCalendar implements LocalCollection {
|
|||||||
|
|
||||||
public static final int defaultColor = 0xFF8bc34a; // light green 500
|
public static final int defaultColor = 0xFF8bc34a; // light green 500
|
||||||
|
|
||||||
public static final String COLUMN_CTAG = Calendars.CAL_SYNC1;
|
|
||||||
|
|
||||||
static String[] BASE_INFO_COLUMNS = new String[] {
|
static String[] BASE_INFO_COLUMNS = new String[] {
|
||||||
Events._ID,
|
Events._ID,
|
||||||
Events._SYNC_ID,
|
Events._SYNC_ID,
|
||||||
|
@ -13,6 +13,7 @@ import android.content.ContentValues;
|
|||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
import android.provider.CalendarContract.Events;
|
import android.provider.CalendarContract.Events;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import com.etesync.syncadapter.App;
|
import com.etesync.syncadapter.App;
|
||||||
import com.etesync.syncadapter.Constants;
|
import com.etesync.syncadapter.Constants;
|
||||||
@ -21,10 +22,12 @@ import net.fortuna.ical4j.model.property.ProdId;
|
|||||||
|
|
||||||
import org.dmfs.provider.tasks.TaskContract.Tasks;
|
import org.dmfs.provider.tasks.TaskContract.Tasks;
|
||||||
|
|
||||||
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
import at.bitfire.ical4android.AndroidTask;
|
import at.bitfire.ical4android.AndroidTask;
|
||||||
import at.bitfire.ical4android.AndroidTaskFactory;
|
import at.bitfire.ical4android.AndroidTaskFactory;
|
||||||
@ -65,13 +68,17 @@ public class LocalTask extends AndroidTask implements LocalResource {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getContent() throws IOException, ContactsStorageException {
|
public String getContent() throws IOException, CalendarStorageException {
|
||||||
return null;
|
App.log.log(Level.FINE, "Preparing upload of task " + getFileName(), getTask());
|
||||||
}
|
|
||||||
|
ByteArrayOutputStream os = new ByteArrayOutputStream();
|
||||||
|
getTask().write(os);
|
||||||
|
|
||||||
|
return os.toString(); }
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isLocalOnly() {
|
public boolean isLocalOnly() {
|
||||||
return false;
|
return TextUtils.isEmpty(getETag());
|
||||||
}
|
}
|
||||||
|
|
||||||
/* process LocalTask-specific fields */
|
/* process LocalTask-specific fields */
|
||||||
@ -102,7 +109,7 @@ public class LocalTask extends AndroidTask implements LocalResource {
|
|||||||
public void prepareForUpload() throws CalendarStorageException {
|
public void prepareForUpload() throws CalendarStorageException {
|
||||||
try {
|
try {
|
||||||
final String uid = UUID.randomUUID().toString();
|
final String uid = UUID.randomUUID().toString();
|
||||||
final String newFileName = uid + ".ics";
|
final String newFileName = uid;
|
||||||
|
|
||||||
ContentValues values = new ContentValues(2);
|
ContentValues values = new ContentValues(2);
|
||||||
values.put(Tasks._SYNC_ID, newFileName);
|
values.put(Tasks._SYNC_ID, newFileName);
|
||||||
|
@ -20,6 +20,8 @@ import android.os.RemoteException;
|
|||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
|
|
||||||
import com.etesync.syncadapter.model.CollectionInfo;
|
import com.etesync.syncadapter.model.CollectionInfo;
|
||||||
|
import com.etesync.syncadapter.model.JournalEntity;
|
||||||
|
import com.etesync.syncadapter.model.JournalModel;
|
||||||
|
|
||||||
import org.dmfs.provider.tasks.TaskContract.TaskLists;
|
import org.dmfs.provider.tasks.TaskContract.TaskLists;
|
||||||
import org.dmfs.provider.tasks.TaskContract.Tasks;
|
import org.dmfs.provider.tasks.TaskContract.Tasks;
|
||||||
@ -36,8 +38,6 @@ public class LocalTaskList extends AndroidTaskList implements LocalCollection {
|
|||||||
|
|
||||||
public static final int defaultColor = 0xFFC3EA6E; // "DAVdroid green"
|
public static final int defaultColor = 0xFFC3EA6E; // "DAVdroid green"
|
||||||
|
|
||||||
public static final String COLUMN_CTAG = TaskLists.SYNC_VERSION;
|
|
||||||
|
|
||||||
static String[] BASE_INFO_COLUMNS = new String[] {
|
static String[] BASE_INFO_COLUMNS = new String[] {
|
||||||
Tasks._ID,
|
Tasks._ID,
|
||||||
Tasks._SYNC_ID,
|
Tasks._SYNC_ID,
|
||||||
@ -55,19 +55,20 @@ public class LocalTaskList extends AndroidTaskList implements LocalCollection {
|
|||||||
super(account, provider, LocalTask.Factory.INSTANCE, id);
|
super(account, provider, LocalTask.Factory.INSTANCE, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Uri create(Account account, TaskProvider provider, CollectionInfo info) throws CalendarStorageException {
|
public static Uri create(Account account, TaskProvider provider, JournalEntity journalEntity) throws CalendarStorageException {
|
||||||
ContentValues values = valuesFromCollectionInfo(info, true);
|
ContentValues values = valuesFromCollectionInfo(journalEntity, true);
|
||||||
values.put(TaskLists.OWNER, account.name);
|
values.put(TaskLists.OWNER, account.name);
|
||||||
values.put(TaskLists.SYNC_ENABLED, 1);
|
values.put(TaskLists.SYNC_ENABLED, 1);
|
||||||
values.put(TaskLists.VISIBLE, 1);
|
values.put(TaskLists.VISIBLE, 1);
|
||||||
return create(account, provider, values);
|
return create(account, provider, values);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void update(CollectionInfo info, boolean updateColor) throws CalendarStorageException {
|
public void update(JournalEntity journalEntity, boolean updateColor) throws CalendarStorageException {
|
||||||
update(valuesFromCollectionInfo(info, updateColor));
|
update(valuesFromCollectionInfo(journalEntity, updateColor));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static ContentValues valuesFromCollectionInfo(CollectionInfo info, boolean withColor) {
|
private static ContentValues valuesFromCollectionInfo(JournalEntity journalEntity, boolean withColor) {
|
||||||
|
CollectionInfo info = journalEntity.getInfo();
|
||||||
ContentValues values = new ContentValues();
|
ContentValues values = new ContentValues();
|
||||||
values.put(TaskLists._SYNC_ID, info.uid);
|
values.put(TaskLists._SYNC_ID, info.uid);
|
||||||
values.put(TaskLists.LIST_NAME, info.displayName);
|
values.put(TaskLists.LIST_NAME, info.displayName);
|
||||||
@ -151,17 +152,4 @@ public class LocalTaskList extends AndroidTaskList implements LocalCollection {
|
|||||||
return new LocalTaskList[size];
|
return new LocalTaskList[size];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// HELPERS
|
|
||||||
|
|
||||||
public static void onRenameAccount(@NonNull ContentResolver resolver, @NonNull String oldName, @NonNull String newName) throws RemoteException {
|
|
||||||
@Cleanup("release") ContentProviderClient client = resolver.acquireContentProviderClient(TaskProvider.ProviderName.OpenTasks.authority);
|
|
||||||
if (client != null) {
|
|
||||||
ContentValues values = new ContentValues(1);
|
|
||||||
values.put(Tasks.ACCOUNT_NAME, newName);
|
|
||||||
client.update(Tasks.getContentUri(TaskProvider.ProviderName.OpenTasks.authority), values, Tasks.ACCOUNT_NAME + "=?", new String[]{oldName});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user