ability to delete tag data and transmit that to the server

pull/14/head
Tim Su 13 years ago
parent 5b18b5cc0a
commit 7179a2fb30

@ -32,6 +32,8 @@ public class ActFmInvoker {
public static final String PROVIDER_GOOGLE= "google";
public static final String PROVIDER_PASSWORD = "password";
private static final int API_VERSION = 1;
@Autowired private RestClient restClient;
private String token = null;
@ -159,6 +161,7 @@ public class ActFmInvoker {
}
params.add(new Pair<String, Object>("app_id", APP_ID));
params.add(new Pair<String, Object>("time", System.currentTimeMillis() / 1000L));
params.add(new Pair<String, Object>("api", API_VERSION));
if(token != null)
params.add(new Pair<String, Object>("token", token));

@ -302,6 +302,10 @@ public final class ActFmSyncService {
params.add("name"); params.add(tagData.getValue(TagData.NAME));
}
if(values.containsKey(TagData.DELETION_DATE.name)) {
params.add("deleted_at"); params.add(tagData.getValue(TagData.DELETION_DATE));
}
if(values.containsKey(TagData.MEMBERS.name)) {
params.add("members");
try {

@ -65,7 +65,7 @@ public final class PluginServices {
return getInstance().taskService;
}
public static TagDataService getProjectService() {
public static TagDataService getTagDataService() {
return getInstance().tagDataService;
}

@ -17,6 +17,7 @@ import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.text.TextUtils;
import android.widget.EditText;
import android.widget.Toast;
@ -28,6 +29,7 @@ import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.sql.QueryTemplate;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.astrid.actfm.TagViewActivity;
import com.todoroo.astrid.actfm.sync.ActFmPreferenceService;
@ -38,6 +40,7 @@ import com.todoroo.astrid.api.FilterCategory;
import com.todoroo.astrid.api.FilterListHeader;
import com.todoroo.astrid.api.FilterListItem;
import com.todoroo.astrid.api.FilterWithCustomIntent;
import com.todoroo.astrid.core.PluginServices;
import com.todoroo.astrid.dao.TaskDao.TaskCriteria;
import com.todoroo.astrid.data.Metadata;
import com.todoroo.astrid.data.TagData;
@ -158,7 +161,7 @@ public class TagFilterExposer extends BroadcastReceiver {
// find all tag data not in active tag list
TodorooCursor<TagData> cursor = tagDataService.query(Query.select(
TagData.NAME, TagData.TASK_COUNT, TagData.REMOTE_ID));
TagData.NAME, TagData.TASK_COUNT, TagData.REMOTE_ID).where(TagData.DELETION_DATE.eq(0)));
ArrayList<Tag> notListed = new ArrayList<Tag>();
try {
ArrayList<Tag> sharedTags = new ArrayList<Tag>();
@ -184,7 +187,7 @@ public class TagFilterExposer extends BroadcastReceiver {
Tag[] inactiveTags = tagService.getGroupedTags(TagService.GROUPED_TAGS_BY_ALPHA,
Criterion.and(TaskCriteria.notDeleted(), Criterion.not(TaskCriteria.activeAndVisible())));
for(Tag tag : inactiveTags) {
if(!tagNames.contains(tag.tag)) {
if(!tagNames.contains(tag.tag) && !TextUtils.isEmpty(tag.tag)) {
notListed.add(tag);
tag.count = 0;
}
@ -290,6 +293,9 @@ public class TagFilterExposer extends BroadcastReceiver {
@Override
protected boolean ok() {
int deleted = tagService.delete(tag);
TagData tagData = PluginServices.getTagDataService().getTag(tag, TagData.ID, TagData.DELETION_DATE);
tagData.setValue(TagData.DELETION_DATE, DateUtilities.now());
PluginServices.getTagDataService().save(tagData);
Toast.makeText(this, getString(R.string.TEA_tags_deleted, tag, deleted),
Toast.LENGTH_SHORT).show();
return true;

@ -20,7 +20,7 @@
<string name="actfm_toast_error">Save Unsuccessful</string>
<!-- can't rename or delete shared tag message -->
<string name="actfm_tag_operation_disabled">Please view shared tags to rename or delete them.</string>
<string name="actfm_tag_operation_disabled">Sorry, this operation is not yet supported for shared tags.</string>
<!-- menu item to take a picture -->
<string name="actfm_picture_camera">Take a Picture</string>

Loading…
Cancel
Save