use of io.plaidapp.data.PlaidItem in project plaid by nickbutcher.
the class FeedAdapter method removeDataSource.
public void removeDataSource(String dataSource) {
for (int i = items.size() - 1; i >= 0; i--) {
PlaidItem item = items.get(i);
if (dataSource.equals(item.dataSource)) {
items.remove(i);
}
}
sort();
expandPopularItems();
notifyDataSetChanged();
}
use of io.plaidapp.data.PlaidItem in project plaid by nickbutcher.
the class FeedAdapter method expandPopularItems.
private void expandPopularItems() {
// for now just expand the first dribbble image per page which should be
// the most popular according to our weighing & sorting
List<Integer> expandedPositions = new ArrayList<>();
int page = -1;
final int count = items.size();
for (int i = 0; i < count; i++) {
PlaidItem item = getItem(i);
if (item instanceof Shot && item.page > page) {
item.colspan = columns;
page = item.page;
expandedPositions.add(i);
} else {
item.colspan = 1;
}
}
// so that we don't leave any gaps in the grid
for (int expandedPos = 0; expandedPos < expandedPositions.size(); expandedPos++) {
int pos = expandedPositions.get(expandedPos);
int extraSpannedSpaces = expandedPos * (columns - 1);
int rowPosition = (pos + extraSpannedSpaces) % columns;
if (rowPosition != 0) {
int swapWith = pos + (columns - rowPosition);
if (swapWith < items.size()) {
Collections.swap(items, pos, swapWith);
}
}
}
}