Fixed bug/ANR when adding tags

pull/14/head
Sam Bosley 12 years ago
parent 3b39ae6238
commit fa87caffc8

@ -66,7 +66,7 @@ public class ChangesHappened<TYPE extends RemoteModel, OE extends OutstandingEnt
protected boolean serializeExtrasToJSON(JSONObject serializeTo) throws JSONException {
// Process changes list and serialize to JSON
JSONArray changesJson = changesToJSON();
if (changesJson == null)
if (changesJson == null || changesJson.length() == 0)
return false;
serializeTo.put(CHANGES_KEY, changesJson);
return true;

@ -248,6 +248,7 @@ public final class TagService {
tagData.setValue(TagData.NAME, tagName);
tagDataService.save(tagData);
} else {
existingTag.moveToFirst();
tagData = new TagData(existingTag);
}
createLink(task, tagData.getValue(TagData.NAME), tagData.getValue(TagData.UUID));

@ -102,6 +102,7 @@ public class MetadataDao extends DatabaseDao<Metadata> {
m.setValue(OutstandingEntry.COLUMN_STRING_PROPERTY, addedOrRemoved);
m.setValue(OutstandingEntry.VALUE_STRING_PROPERTY, tagUuid);
database.insert(outstandingTable.name, null, m.getSetValues());
database.getDatabase().setTransactionSuccessful();
return true;
}

@ -25,6 +25,7 @@ public class SyncMessageTest extends NewSyncTestCase {
try {
ChangesHappened<?, ?> changes = ChangesHappened.instantiateChangesHappened(t.getId(), ModelType.TYPE_TASK);
assertNotNull(changes.serializeToJSON());
assertTrue(changes.getChanges().size() > 0);
assertFalse(RemoteModel.NO_UUID.equals(changes.getUUID()));
assertEquals(t.getValue(Task.UUID), changes.getUUID());
} catch (Exception e) {

Loading…
Cancel
Save