Remove show list members menu item

pull/14/head
Alex Baker 11 years ago
parent fb8f82730e
commit 5f8c0b2d05

@ -215,11 +215,9 @@ public class TagViewFragment extends TaskListFragment {
@Override
protected void addMenuItems(Menu menu, Activity activity) {
super.addMenuItems(menu, activity);
if (!Preferences.getBoolean(R.string.p_show_list_members, true)) {
MenuItem item = menu.add(Menu.NONE, MENU_LIST_SETTINGS_ID, 0, R.string.tag_settings_title);
item.setIcon(ThemeService.getDrawable(R.drawable.list_settings));
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
}
MenuItem item = menu.add(Menu.NONE, MENU_LIST_SETTINGS_ID, 0, R.string.tag_settings_title);
item.setIcon(ThemeService.getDrawable(R.drawable.list_settings));
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
}
// --- data loading
@ -434,234 +432,7 @@ public class TagViewFragment extends TaskListFragment {
}
protected void setUpMembersGallery() {
if (!Preferences.getBoolean(R.string.p_show_list_members, true)) {
getView().findViewById(R.id.members_header).setVisibility(View.GONE);
return;
}
if (tagData == null) {
return;
}
LinearLayout membersView = (LinearLayout)getView().findViewById(R.id.shared_with);
membersView.setOnClickListener(settingsListener);
boolean addedMembers = false;
try {
String membersString = tagData.getValue(TagData.MEMBERS); // OK for legacy compatibility
if (!TextUtils.isEmpty(membersString)) {
JSONArray members = new JSONArray(membersString);
if (members.length() > 0) {
addedMembers = true;
membersView.setOnClickListener(null);
membersView.removeAllViews();
for (int i = 0; i < members.length(); i++) {
JSONObject member = members.getJSONObject(i);
addImageForMember(membersView, member);
}
}
} else {
TodorooCursor<User> users = userDao.query(Query.select(User.PROPERTIES)
.where(User.UUID.in(Query.select(TagMemberMetadata.USER_UUID)
.from(TagMetadata.TABLE)
.where(Criterion.and(TagMetadataCriteria.byTagAndWithKey(tagData.getUuid(), TagMemberMetadata.KEY), TagMetadata.DELETION_DATE.eq(0))))));
try {
addedMembers = users.getCount() > 0;
if (addedMembers) {
membersView.setOnClickListener(null);
membersView.removeAllViews();
}
User user = new User();
for (users.moveToFirst(); !users.isAfterLast(); users.moveToNext()) {
user.clear();
user.readFromCursor(users);
JSONObject member = new JSONObject();
ActFmSyncService.JsonHelper.jsonFromUser(member, user);
addImageForMember(membersView, member);
}
} finally {
users.close();
}
TodorooCursor<TagMetadata> byEmail = tagMetadataDao.query(Query.select(TagMemberMetadata.USER_UUID)
.where(Criterion.and(TagMetadataCriteria.byTagAndWithKey(tagData.getUuid(), TagMemberMetadata.KEY),
TagMemberMetadata.USER_UUID.like("%@%"), TagMetadata.DELETION_DATE.eq(0)))); //$NON-NLS-1$
try {
if (!addedMembers && byEmail.getCount() > 0) {
membersView.setOnClickListener(null);
membersView.removeAllViews();
}
addedMembers = addedMembers || byEmail.getCount() > 0;
TagMetadata tm = new TagMetadata();
for (byEmail.moveToFirst(); !byEmail.isAfterLast(); byEmail.moveToNext()) {
tm.clear();
tm.readFromCursor(byEmail);
String email = tm.getValue(TagMemberMetadata.USER_UUID);
if (!TextUtils.isEmpty(email)) {
JSONObject member = new JSONObject();
member.put("email", email); //$NON-NLS-1$
addImageForMember(membersView, member);
}
}
} finally {
byEmail.close();
}
}
} catch (JSONException e) {
e.printStackTrace();
}
if (addedMembers) {
try {
// Handle creator
JSONObject owner;
if(!Task.USER_ID_SELF.equals(tagData.getValue(TagData.USER_ID))) {
String userString = tagData.getValue(TagData.USER);
if (!TextUtils.isEmpty(userString)) {
owner = new JSONObject(tagData.getValue(TagData.USER));
} else {
User user = userDao.fetch(tagData.getValue(TagData.USER_ID), User.PROPERTIES);
if (user != null) {
owner = new JSONObject();
ActFmSyncService.JsonHelper.jsonFromUser(owner, user);
} else {
owner = null;
}
}
} else {
owner = ActFmPreferenceService.thisUser();
}
if (owner != null) {
addImageForMember(membersView, owner);
}
JSONObject unassigned = new JSONObject();
unassigned.put("id", Task.USER_ID_UNASSIGNED); //$NON-NLS-1$
unassigned.put("name", getActivity().getString(R.string.actfm_EPA_unassigned)); //$NON-NLS-1$
addImageForMember(membersView, unassigned);
} catch (JSONException e) {
e.printStackTrace();
}
} else {
membersView.removeAllViews();
membersView.setOnClickListener(settingsListener);
TextView textView = (TextView) getActivity().getLayoutInflater().inflate(R.layout.no_members_text_view, null);
membersView.addView(textView);
}
View filterAssigned = getView().findViewById(R.id.filter_assigned);
if (filterAssigned != null) {
filterAssigned.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
resetAssignedFilter();
}
});
}
}
@SuppressWarnings("nls")
private void addImageForMember(LinearLayout membersView, JSONObject member) {
DisplayMetrics displayMetrics = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
AsyncImageView image = new AsyncImageView(getActivity());
image.setLayoutParams(new LinearLayout.LayoutParams((int)(43 * displayMetrics.density),
(int)(43 * displayMetrics.density)));
image.setDefaultImageDrawable(ResourceDrawableCache.getImageDrawableFromId(resources, R.drawable.icn_default_person_image));
if (Task.USER_ID_UNASSIGNED.equals(Long.toString(member.optLong("id", 0)))) {
image.setDefaultImageDrawable(ResourceDrawableCache.getImageDrawableFromId(resources, R.drawable.icn_anyone));
}
image.setScaleType(ImageView.ScaleType.FIT_CENTER);
try {
final String id = Long.toString(member.optLong("id", -2));
if (ActFmPreferenceService.userId().equals(id)) {
member = ActFmPreferenceService.thisUser();
}
final JSONObject memberToUse = member;
final String memberName = displayName(memberToUse);
if (memberToUse.has("picture") && !TextUtils.isEmpty(memberToUse.getString("picture"))) {
image.setUrl(memberToUse.getString("picture"));
}
image.setOnClickListener(listenerForImage(memberToUse, id, memberName));
} catch (JSONException e) {
e.printStackTrace();
}
int padding = (int) (3 * displayMetrics.density);
image.setPadding(padding, padding, padding, padding);
membersView.addView(image);
}
private OnClickListener listenerForImage(final JSONObject member, final String id, final String displayName) {
return new OnClickListener() {
final String email = member.optString("email"); //$NON-NLS-1$
@SuppressWarnings("deprecation")
@Override
public void onClick(View v) {
if (currentId.equals(id)) {
// Back to all
resetAssignedFilter();
} else {
// New filter
currentId = id;
Criterion assignedCriterion;
if (ActFmPreferenceService.userId().equals(currentId)) {
assignedCriterion = Criterion.or(Task.USER_ID.eq(0), Task.USER_ID.eq(id));
} else if (Task.userIdIsEmail(currentId) && !TextUtils.isEmpty(email)) {
assignedCriterion = Criterion.or(Task.USER_ID.eq(email), Task.USER.like("%" + email + "%")); //$NON-NLS-1$ //$NON-NLS-2$ // Deprecated field OK for backwards compatibility
} else {
assignedCriterion = Task.USER_ID.eq(id);
}
Criterion assigned = Criterion.and(TaskCriteria.activeAndVisible(), assignedCriterion);
filter = TagFilterExposer.filterFromTag(getActivity(), new Tag(tagData), assigned);
TextView filterByAssigned = (TextView) getView().findViewById(R.id.filter_assigned);
if (filterByAssigned != null) {
filterByAssigned.setVisibility(View.VISIBLE);
if (id == Task.USER_ID_UNASSIGNED) {
filterByAssigned.setText(getString(R.string.actfm_TVA_filter_by_unassigned));
} else {
filterByAssigned.setText(getString(R.string.actfm_TVA_filtered_by_assign, displayName));
}
}
isBeingFiltered.set(true);
setUpTaskList();
}
}
};
}
private void resetAssignedFilter() {
currentId = Task.USER_ID_IGNORE;
isBeingFiltered.set(false);
filter = originalFilter;
View filterAssigned = getView().findViewById(R.id.filter_assigned);
if (filterAssigned != null) {
filterAssigned.setVisibility(View.GONE);
}
setUpTaskList();
}
@SuppressWarnings("nls")
private String displayName(JSONObject user) {
String name = user.optString("name");
if (!TextUtils.isEmpty(name) && !"null".equals(name)) {
name = name.trim();
int index = name.indexOf(' ');
if (index > 0) {
return name.substring(0, index);
} else {
return name;
}
} else {
String email = user.optString("email");
email = email.trim();
int index = email.indexOf('@');
if (index > 0) {
return email.substring(0, index);
} else {
return email;
}
}
getView().findViewById(R.id.members_header).setVisibility(View.GONE);
}
// --- receivers

@ -355,9 +355,6 @@
<!-- whether custom filters are enabled -->
<string name="p_use_filters">p_use_filters</string>
<!-- whether list members header should be shown -->
<string name="p_show_list_members">p_show_list_members</string>
<string-array name="EPr_default_addtocalendar_values">
<!-- addtocalendar: labels that map EPr_default_addtocalendar items to calendar selection in settings. -->
<item>-1</item>

@ -151,11 +151,6 @@
android:title="@string/EPr_swipe_lists_performance_title"
android:defaultValue="false"/>
<com.todoroo.astrid.ui.MultilineCheckboxPreference
android:key="@string/p_show_list_members"
android:title="@string/EPr_show_list_members_title"
android:defaultValue="true"/>
<com.todoroo.astrid.ui.MultilineCheckboxPreference
android:key="@string/p_voiceInputEnabled"
android:title="@string/EPr_voiceInputEnabled_title"

@ -113,8 +113,6 @@ public class AstridDefaultPreferenceSpec extends AstridPreferenceSpec {
setPreference(prefs, editor, r, R.string.p_use_filters, false, ifUnset);
setPreference(prefs, editor, r, R.string.p_show_list_members, true, ifUnset);
setPreference(prefs, editor, r, R.string.p_theme, ThemeService.THEME_WHITE, ifUnset);
setPreference(prefs, editor, r, R.string.p_force_phone_layout, false, ifUnset);

@ -90,8 +90,6 @@ public class AstridLitePreferenceSpec extends AstridPreferenceSpec {
setPreference(prefs, editor, r, R.string.p_use_filters, false, ifUnset);
setPreference(prefs, editor, r, R.string.p_show_list_members, false, ifUnset);
setPreference(prefs, editor, r, R.string.p_theme, ThemeService.THEME_WHITE_ALT, ifUnset);
setPreference(prefs, editor, r, R.string.p_force_phone_layout, true, ifUnset);

Loading…
Cancel
Save