summaryrefslogtreecommitdiff
path: root/app/src
diff options
context:
space:
mode:
authorMartin Fietz <Martin.Fietz@gmail.com>2016-06-05 12:01:49 +0200
committerMartin Fietz <Martin.Fietz@gmail.com>2016-06-05 12:01:49 +0200
commit9811261922a35f13b80d9439429627576f1bf68a (patch)
tree768538c64c2b50993668025f9cde295097c4dd9e /app/src
parent6cebc0c2769f54be68a3bbd0aa1928695bf1ae62 (diff)
downloadAntennaPod-9811261922a35f13b80d9439429627576f1bf68a.zip
Subscriptions: Move add tile to end
Diffstat (limited to 'app/src')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/adapter/SubscriptionsAdapter.java20
1 files changed, 14 insertions, 6 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/SubscriptionsAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/SubscriptionsAdapter.java
index 736988802..1146077c8 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/SubscriptionsAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/SubscriptionsAdapter.java
@@ -30,8 +30,8 @@ public class SubscriptionsAdapter extends BaseAdapter implements AdapterView.OnI
/** placeholder object that indicates item should be added */
public static final Object ADD_ITEM_OBJ = new Object();
- /** the position in the view that holds the add item */
- private static final int ADD_POSITION = 0;
+ /** the position in the view that holds the add item; 0 is the first, -1 is the last position */
+ private static final int ADD_POSITION = -1;
private static final String TAG = "SubscriptionsAdapter";
private final WeakReference<MainActivity> mainActivityRef;
@@ -42,8 +42,16 @@ public class SubscriptionsAdapter extends BaseAdapter implements AdapterView.OnI
this.itemAccess = itemAccess;
}
+ private int getAddTilePosition() {
+ if(ADD_POSITION < 0) {
+ return ADD_POSITION + getCount();
+ }
+ return ADD_POSITION;
+ }
+
private int getAdjustedPosition(int origPosition) {
- return origPosition - 1;
+ assert(origPosition != getAddTilePosition());
+ return origPosition < getAddTilePosition() ? origPosition : origPosition - 1;
}
@Override
@@ -53,7 +61,7 @@ public class SubscriptionsAdapter extends BaseAdapter implements AdapterView.OnI
@Override
public Object getItem(int position) {
- if (position == ADD_POSITION) {
+ if (position == getAddTilePosition()) {
return ADD_ITEM_OBJ;
}
return itemAccess.getItem(getAdjustedPosition(position));
@@ -61,7 +69,7 @@ public class SubscriptionsAdapter extends BaseAdapter implements AdapterView.OnI
@Override
public long getItemId(int position) {
- if (position == ADD_POSITION) {
+ if (position == getAddTilePosition()) {
return 0;
}
return itemAccess.getItem(getAdjustedPosition(position)).getId();
@@ -87,7 +95,7 @@ public class SubscriptionsAdapter extends BaseAdapter implements AdapterView.OnI
holder = (Holder) convertView.getTag();
}
- if (position == ADD_POSITION) {
+ if (position == getAddTilePosition()) {
holder.feedTitle.setText("{md-add 500%}\n\n" + mainActivityRef.get().getString(R.string.add_feed_label));
holder.feedTitle.setVisibility(View.VISIBLE);
// prevent any accidental re-use of old values (not sure how that would happen...)