mirror of
https://github.com/samuelclay/NewsBlur.git
synced 2025-08-31 21:41:33 +00:00
Fix folder unread count bindings.
This commit is contained in:
parent
2a6a45c608
commit
ddea4cc880
1 changed files with 28 additions and 22 deletions
|
@ -109,27 +109,9 @@ public class FolderListAdapter extends BaseExpandableListAdapter {
|
||||||
v = inflater.inflate(R.layout.row_all_stories, null, false);
|
v = inflater.inflate(R.layout.row_all_stories, null, false);
|
||||||
int posCount = 0;
|
int posCount = 0;
|
||||||
for (int i : posCounts) posCount += i;
|
for (int i : posCounts) posCount += i;
|
||||||
posCount = checkNegativeUnreads(posCount);
|
|
||||||
int neutCount = 0;
|
int neutCount = 0;
|
||||||
for (int i : neutCounts) neutCount += i;
|
for (int i : neutCounts) neutCount += i;
|
||||||
neutCount = checkNegativeUnreads(neutCount);
|
bindCountViews(v, neutCount, posCount, true);
|
||||||
switch (currentState) {
|
|
||||||
case BEST:
|
|
||||||
v.findViewById(R.id.row_foldersumneu).setVisibility(View.GONE);
|
|
||||||
v.findViewById(R.id.row_foldersumpos).setVisibility(View.VISIBLE);
|
|
||||||
((TextView) v.findViewById(R.id.row_foldersumpos)).setText(Integer.toString(posCount));
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
v.findViewById(R.id.row_foldersumneu).setVisibility(View.VISIBLE);
|
|
||||||
if (posCount == 0) {
|
|
||||||
v.findViewById(R.id.row_foldersumpos).setVisibility(View.GONE);
|
|
||||||
} else {
|
|
||||||
v.findViewById(R.id.row_foldersumpos).setVisibility(View.VISIBLE);
|
|
||||||
}
|
|
||||||
((TextView) v.findViewById(R.id.row_foldersumneu)).setText(Integer.toString(neutCount));
|
|
||||||
((TextView) v.findViewById(R.id.row_foldersumpos)).setText(Integer.toString(posCount));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
} else if (isRowSavedStories(groupPosition)) {
|
} else if (isRowSavedStories(groupPosition)) {
|
||||||
if (convertView == null) {
|
if (convertView == null) {
|
||||||
v = inflater.inflate(R.layout.row_saved_stories, null, false);
|
v = inflater.inflate(R.layout.row_saved_stories, null, false);
|
||||||
|
@ -151,7 +133,7 @@ public class FolderListAdapter extends BaseExpandableListAdapter {
|
||||||
((Activity) context).startActivity(i);
|
((Activity) context).startActivity(i);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// TODO: bind counts
|
bindCountViews(v, neutCounts.get(groupPosition-1), posCounts.get(groupPosition-1), false);
|
||||||
v.findViewById(R.id.row_foldersums).setVisibility(isExpanded ? View.INVISIBLE : View.VISIBLE);
|
v.findViewById(R.id.row_foldersums).setVisibility(isExpanded ? View.INVISIBLE : View.VISIBLE);
|
||||||
ImageView folderIconView = ((ImageView) v.findViewById(R.id.row_folder_icon));
|
ImageView folderIconView = ((ImageView) v.findViewById(R.id.row_folder_icon));
|
||||||
if ( folderIconView != null ) {
|
if ( folderIconView != null ) {
|
||||||
|
@ -358,8 +340,8 @@ public class FolderListAdapter extends BaseExpandableListAdapter {
|
||||||
(currentState == StateFilter.ALL)) {
|
(currentState == StateFilter.ALL)) {
|
||||||
activeFeeds.add(f);
|
activeFeeds.add(f);
|
||||||
}
|
}
|
||||||
neutCount += f.neutralCount;
|
neutCount += checkNegativeUnreads(f.neutralCount);
|
||||||
posCount += f.positiveCount;
|
posCount += checkNegativeUnreads(f.positiveCount);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ((activeFeeds.size() > 0) || (folderName.equals(AppConstants.ROOT_FOLDER))) {
|
if ((activeFeeds.size() > 0) || (folderName.equals(AppConstants.ROOT_FOLDER))) {
|
||||||
|
@ -435,6 +417,30 @@ public class FolderListAdapter extends BaseExpandableListAdapter {
|
||||||
return ChildType.values().length;
|
return ChildType.values().length;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void bindCountViews(View v, int neutCount, int posCount, boolean showNeutZero) {
|
||||||
|
switch (currentState) {
|
||||||
|
case BEST:
|
||||||
|
v.findViewById(R.id.row_foldersumneu).setVisibility(View.GONE);
|
||||||
|
v.findViewById(R.id.row_foldersumpos).setVisibility(View.VISIBLE);
|
||||||
|
((TextView) v.findViewById(R.id.row_foldersumpos)).setText(Integer.toString(posCount));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if ((neutCount > 0) || showNeutZero) {
|
||||||
|
v.findViewById(R.id.row_foldersumneu).setVisibility(View.VISIBLE);
|
||||||
|
} else {
|
||||||
|
v.findViewById(R.id.row_foldersumneu).setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
if (posCount == 0) {
|
||||||
|
v.findViewById(R.id.row_foldersumpos).setVisibility(View.GONE);
|
||||||
|
} else {
|
||||||
|
v.findViewById(R.id.row_foldersumpos).setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
((TextView) v.findViewById(R.id.row_foldersumneu)).setText(Integer.toString(neutCount));
|
||||||
|
((TextView) v.findViewById(R.id.row_foldersumpos)).setText(Integer.toString(posCount));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private int sumIntRows(Cursor c, int columnIndex) {
|
private int sumIntRows(Cursor c, int columnIndex) {
|
||||||
if (c == null) return 0;
|
if (c == null) return 0;
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
Loading…
Add table
Reference in a new issue