Remove reference to TagData.MEMBERS in CalendarAlarmListCreator and ReminderDialog

pull/14/head
Sam Bosley 12 years ago
parent b4977f5064
commit db1610970e

@ -183,6 +183,10 @@ public class NameMaps {
} }
// ----------
// Mapping helpers
// ----------
private static <A, B> B mapColumnName(String table, String col, Map<A, B> taskMap, Map<A, B> tagMap, Map<A, B> userMap) { private static <A, B> B mapColumnName(String table, String col, Map<A, B> taskMap, Map<A, B> tagMap, Map<A, B> userMap) {
Map<A, B> map = null; Map<A, B> map = null;
if (TABLE_ID_TASKS.equals(table)) if (TABLE_ID_TASKS.equals(table))

@ -25,6 +25,7 @@ import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.astrid.actfm.sync.ActFmPreferenceService; import com.todoroo.astrid.actfm.sync.ActFmPreferenceService;
import com.todoroo.astrid.activity.EditPreferences; import com.todoroo.astrid.activity.EditPreferences;
import com.todoroo.astrid.activity.TaskListActivity; import com.todoroo.astrid.activity.TaskListActivity;
import com.todoroo.astrid.dao.TagMetadataDao;
import com.todoroo.astrid.dao.UserDao; import com.todoroo.astrid.dao.UserDao;
import com.todoroo.astrid.data.TagData; import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.data.User; import com.todoroo.astrid.data.User;
@ -44,6 +45,9 @@ public class CalendarAlarmListCreator extends Activity {
@Autowired @Autowired
private ActFmPreferenceService actFmPreferenceService; private ActFmPreferenceService actFmPreferenceService;
@Autowired
private TagMetadataDao tagMetadataDao;
private ArrayList<String> names; private ArrayList<String> names;
private ArrayList<String> emails; private ArrayList<String> emails;
private HashMap<String, User> emailsToUsers; private HashMap<String, User> emailsToUsers;
@ -156,12 +160,13 @@ public class CalendarAlarmListCreator extends Activity {
moreOptions.performClick(); moreOptions.performClick();
return; return;
} else { } else {
JSONArray membersArray = buildMembersArray();
TagData tagData = new TagData(); TagData tagData = new TagData();
tagData.setValue(TagData.NAME, tagName); tagData.setValue(TagData.NAME, tagName);
tagData.setValue(TagData.MEMBERS, membersArray.toString()); tagData.setValue(TagData.MEMBER_COUNT, emails.size());
tagData.setValue(TagData.MEMBER_COUNT, membersArray.length());
tagDataService.save(tagData); tagDataService.save(tagData);
for (String email : emails) {
tagMetadataDao.createMemberLink(tagData.getId(), tagData.getUuid(), email, false);
}
dismissWithAnimation(); dismissWithAnimation();
} }
} }

@ -30,18 +30,25 @@ import com.timsu.astrid.R;
import com.todoroo.andlib.data.TodorooCursor; import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.Preferences; import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.actfm.sync.ActFmPreferenceService; import com.todoroo.astrid.actfm.sync.ActFmPreferenceService;
import com.todoroo.astrid.actfm.sync.ActFmSyncService;
import com.todoroo.astrid.activity.AstridActivity; import com.todoroo.astrid.activity.AstridActivity;
import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.core.PluginServices; import com.todoroo.astrid.core.PluginServices;
import com.todoroo.astrid.dao.UserDao;
import com.todoroo.astrid.data.TagData; import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.data.TagMetadata;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.data.User;
import com.todoroo.astrid.helper.AsyncImageView; import com.todoroo.astrid.helper.AsyncImageView;
import com.todoroo.astrid.service.StatisticsConstants; import com.todoroo.astrid.service.StatisticsConstants;
import com.todoroo.astrid.service.StatisticsService; import com.todoroo.astrid.service.StatisticsService;
import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.tags.TagMemberMetadata;
import com.todoroo.astrid.tags.TagService; import com.todoroo.astrid.tags.TagService;
/** /**
@ -60,6 +67,9 @@ public class ReminderDialog extends Dialog {
@Autowired @Autowired
private TagService tagService; private TagService tagService;
@Autowired
private UserDao userDao;
public ReminderDialog(final AstridActivity activity, final long taskId, public ReminderDialog(final AstridActivity activity, final long taskId,
String title) { String title) {
super(activity, R.style.ReminderDialog); super(activity, R.style.ReminderDialog);
@ -221,7 +231,7 @@ public class ReminderDialog extends Dialog {
} }
private void addTagFaces(long taskId, LinkedHashSet<String> pictureUrls, AtomicBoolean isSharedTask) { private void addTagFaces(long taskId, LinkedHashSet<String> pictureUrls, AtomicBoolean isSharedTask) {
TodorooCursor<TagData> tags = tagService.getTagDataForTask(taskId, TagData.MEMBER_COUNT.gt(0), TagData.MEMBERS); TodorooCursor<TagData> tags = tagService.getTagDataForTask(taskId, Criterion.all, TagData.UUID, TagData.MEMBERS);
try { try {
TagData td = new TagData(); TagData td = new TagData();
for (tags.moveToFirst(); !tags.isAfterLast() && pictureUrls.size() < MAX_FACES; tags.moveToNext()) { for (tags.moveToFirst(); !tags.isAfterLast() && pictureUrls.size() < MAX_FACES; tags.moveToNext()) {
@ -230,8 +240,34 @@ public class ReminderDialog extends Dialog {
JSONArray people = new JSONArray(td.getValue(TagData.MEMBERS)); JSONArray people = new JSONArray(td.getValue(TagData.MEMBERS));
addPicturesFromJSONArray(people, pictureUrls, isSharedTask); addPicturesFromJSONArray(people, pictureUrls, isSharedTask);
} catch (JSONException e) { } catch (JSONException e) {
JSONArray people = new JSONArray();
TodorooCursor<User> users = userDao.query(Query.select(User.PROPERTIES)
.where(User.UUID.in(
Query.select(TagMemberMetadata.USER_UUID)
.from(TagMetadata.TABLE)
.where(TagMetadata.TAG_UUID.eq(td.getUuid())))));
try {
User user = new User();
for (users.moveToFirst(); !users.isAfterLast(); users.moveToNext()) {
user.clear();
user.readFromCursor(users);
try {
JSONObject userJson = new JSONObject();
ActFmSyncService.JsonHelper.jsonFromUser(userJson, user);
people.put(userJson);
} catch (JSONException e2) {
//
}
}
try {
addPicturesFromJSONArray(people, pictureUrls, isSharedTask);
} catch (JSONException e2) {
// //
} }
} finally {
users.close();
}
}
} }
} finally { } finally {
tags.close(); tags.close();

Loading…
Cancel
Save