From 38057d321a0c0d2240bc8aa4ca73bad67ca39abb Mon Sep 17 00:00:00 2001 From: Tim Su Date: Fri, 16 Jul 2010 02:15:46 -0700 Subject: [PATCH] Fix for situation where tags would get wiped on first sync --- astrid/astrid.launch | 2 +- .../plugin-src/com/todoroo/astrid/rmilk/MilkPreferences.java | 5 +++-- .../com/todoroo/astrid/rmilk/data/MilkDataService.java | 5 ++++- astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java | 2 ++ astrid/src/com/todoroo/astrid/utility/Constants.java | 2 +- 5 files changed, 11 insertions(+), 5 deletions(-) diff --git a/astrid/astrid.launch b/astrid/astrid.launch index 6b1f50845..72aa24a68 100644 --- a/astrid/astrid.launch +++ b/astrid/astrid.launch @@ -4,7 +4,7 @@ - + diff --git a/astrid/plugin-src/com/todoroo/astrid/rmilk/MilkPreferences.java b/astrid/plugin-src/com/todoroo/astrid/rmilk/MilkPreferences.java index de330ce2c..2a1f5eb3c 100644 --- a/astrid/plugin-src/com/todoroo/astrid/rmilk/MilkPreferences.java +++ b/astrid/plugin-src/com/todoroo/astrid/rmilk/MilkPreferences.java @@ -38,11 +38,12 @@ public class MilkPreferences extends TodorooPreferences { @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); - if(hasFocus) + if(hasFocus) { AndroidUtilities.setCurrentlyActive(this); + initializePreference(getPreferenceScreen()); + } } - /** * * @param resource diff --git a/astrid/plugin-src/com/todoroo/astrid/rmilk/data/MilkDataService.java b/astrid/plugin-src/com/todoroo/astrid/rmilk/data/MilkDataService.java index 3d01006a8..6b7a71f34 100644 --- a/astrid/plugin-src/com/todoroo/astrid/rmilk/data/MilkDataService.java +++ b/astrid/plugin-src/com/todoroo/astrid/rmilk/data/MilkDataService.java @@ -147,8 +147,11 @@ public final class MilkDataService { MetadataCriteria.withKey(TagService.KEY)))); task.metadata.add(MilkTask.create(task)); for(Metadata metadata : task.metadata) { + // we need to merge because we've deleted the underlying objects, + // meaning we need to treat these as fresh objects to be saved + metadata.mergeWith(metadata.getMergedValues()); metadata.setValue(Metadata.TASK, task.task.getId()); - metadataDao.persist(metadata); + metadataDao.createNew(metadata); } } diff --git a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java index 1d1d6e5ff..d6c46a59a 100644 --- a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java +++ b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java @@ -298,6 +298,8 @@ public class TaskAdapter extends CursorAdapter { return; } + viewHolder.details.setText(""); //$NON-NLS-1$ + // request details Intent broadcastIntent = new Intent(AstridApiConstants.BROADCAST_REQUEST_DETAILS); broadcastIntent.putExtra(AstridApiConstants.EXTRAS_TASK_ID, taskId); diff --git a/astrid/src/com/todoroo/astrid/utility/Constants.java b/astrid/src/com/todoroo/astrid/utility/Constants.java index b76187437..3f4035cde 100644 --- a/astrid/src/com/todoroo/astrid/utility/Constants.java +++ b/astrid/src/com/todoroo/astrid/utility/Constants.java @@ -28,7 +28,7 @@ public final class Constants { /** * Whether to turn on debugging logging and UI */ - public static final boolean DEBUG = false; + public static final boolean DEBUG = true; // --- notification id's