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

@ -30,18 +30,25 @@ import com.timsu.astrid.R;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.service.Autowired;
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.Preferences;
import com.todoroo.astrid.actfm.sync.ActFmPreferenceService;
import com.todoroo.astrid.actfm.sync.ActFmSyncService;
import com.todoroo.astrid.activity.AstridActivity;
import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.core.PluginServices;
import com.todoroo.astrid.dao.UserDao;
import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.data.TagMetadata;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.data.User;
import com.todoroo.astrid.helper.AsyncImageView;
import com.todoroo.astrid.service.StatisticsConstants;
import com.todoroo.astrid.service.StatisticsService;
import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.tags.TagMemberMetadata;
import com.todoroo.astrid.tags.TagService;
/**
@ -60,6 +67,9 @@ public class ReminderDialog extends Dialog {
@Autowired
private TagService tagService;
@Autowired
private UserDao userDao;
public ReminderDialog(final AstridActivity activity, final long taskId,
String title) {
super(activity, R.style.ReminderDialog);
@ -221,7 +231,7 @@ public class ReminderDialog extends Dialog {
}
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 {
TagData td = new TagData();
for (tags.moveToFirst(); !tags.isAfterLast() && pictureUrls.size() < MAX_FACES; tags.moveToNext()) {
@ -230,7 +240,33 @@ public class ReminderDialog extends Dialog {
JSONArray people = new JSONArray(td.getValue(TagData.MEMBERS));
addPicturesFromJSONArray(people, pictureUrls, isSharedTask);
} 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 {

Loading…
Cancel
Save