diff --git a/astrid/plugin-src/com/todoroo/astrid/producteev/sync/ProducteevDataService.java b/astrid/plugin-src/com/todoroo/astrid/producteev/sync/ProducteevDataService.java index cc2573362..5cfccb6a5 100644 --- a/astrid/plugin-src/com/todoroo/astrid/producteev/sync/ProducteevDataService.java +++ b/astrid/plugin-src/com/todoroo/astrid/producteev/sync/ProducteevDataService.java @@ -84,7 +84,8 @@ public final class ProducteevDataService { metadataService.deleteWhere(Metadata.KEY.eq(ProducteevTask.METADATA_KEY)); metadataService.deleteWhere(Metadata.KEY.eq(ProducteevNote.METADATA_KEY)); storeObjectDao.deleteWhere(StoreObject.TYPE.eq(ProducteevDashboard.TYPE)); - PluginServices.getTaskService().clearDetails(); + PluginServices.getTaskService().clearDetails(Task.ID.in(Query.select(Metadata.TASK).from(Metadata.TABLE). + where(MetadataCriteria.withKey(ProducteevTask.METADATA_KEY)))); } /** diff --git a/astrid/src/com/todoroo/astrid/activity/EditPreferences.java b/astrid/src/com/todoroo/astrid/activity/EditPreferences.java index 25eb03bd6..d8f55fdf5 100644 --- a/astrid/src/com/todoroo/astrid/activity/EditPreferences.java +++ b/astrid/src/com/todoroo/astrid/activity/EditPreferences.java @@ -14,9 +14,9 @@ import android.content.pm.ResolveInfo; import android.content.res.Resources; import android.os.Bundle; import android.preference.Preference; -import android.preference.Preference.OnPreferenceClickListener; import android.preference.PreferenceCategory; import android.preference.PreferenceScreen; +import android.preference.Preference.OnPreferenceClickListener; import android.widget.Toast; import com.timsu.astrid.R; @@ -140,7 +140,7 @@ public class EditPreferences extends TodorooPreferences { preference.setOnPreferenceClickListener(new OnPreferenceClickListener() { public boolean onPreferenceClick(Preference p) { database.openForWriting(); - Toast.makeText(EditPreferences.this, "" + taskService.clearDetails(), + Toast.makeText(EditPreferences.this, "" + taskService.clearDetails(Criterion.all), Toast.LENGTH_LONG).show(); return false; } @@ -186,8 +186,10 @@ public class EditPreferences extends TodorooPreferences { preference.setSummary(R.string.EPr_showNotes_desc_disabled); else preference.setSummary(R.string.EPr_showNotes_desc_enabled); - if((Boolean)value != Preferences.getBoolean(preference.getKey(), false)) + if((Boolean)value != Preferences.getBoolean(preference.getKey(), false)) { + taskService.clearDetails(Task.NOTES.neq("")); Flags.set(Flags.REFRESH); + } } } diff --git a/astrid/src/com/todoroo/astrid/service/GlobalEventReceiver.java b/astrid/src/com/todoroo/astrid/service/GlobalEventReceiver.java index 85ae949a8..88d3fa9db 100644 --- a/astrid/src/com/todoroo/astrid/service/GlobalEventReceiver.java +++ b/astrid/src/com/todoroo/astrid/service/GlobalEventReceiver.java @@ -6,6 +6,7 @@ import android.content.Intent; import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.DependencyInjectionService; +import com.todoroo.andlib.sql.Criterion; import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.utility.Flags; @@ -33,7 +34,7 @@ public final class GlobalEventReceiver extends BroadcastReceiver { DependencyInjectionService.getInstance().inject(this); if(AstridApiConstants.BROADCAST_EVENT_FLUSH_DETAILS.equals(intent.getAction())) { - taskService.clearDetails(); + taskService.clearDetails(Criterion.all); Flags.set(Flags.REFRESH); } } diff --git a/astrid/src/com/todoroo/astrid/service/TaskService.java b/astrid/src/com/todoroo/astrid/service/TaskService.java index 7c2c5b531..ee0030c79 100644 --- a/astrid/src/com/todoroo/astrid/service/TaskService.java +++ b/astrid/src/com/todoroo/astrid/service/TaskService.java @@ -14,8 +14,8 @@ import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.PermaSql; import com.todoroo.astrid.dao.MetadataDao; -import com.todoroo.astrid.dao.MetadataDao.MetadataCriteria; import com.todoroo.astrid.dao.TaskDao; +import com.todoroo.astrid.dao.MetadataDao.MetadataCriteria; import com.todoroo.astrid.dao.TaskDao.TaskCriteria; import com.todoroo.astrid.data.Metadata; import com.todoroo.astrid.data.Task; @@ -226,13 +226,14 @@ public class TaskService { /** * Clear details cache. Useful if user performs some operation that * affects details + * @param criterion * * @return # of affected rows */ - public int clearDetails() { + public int clearDetails(Criterion criterion) { ContentValues values = new ContentValues(); values.put(Task.DETAILS.name, (String) null); - return taskDao.updateMultiple(values, Criterion.all); + return taskDao.updateMultiple(values, criterion); } /**