aboutsummaryrefslogtreecommitdiffstats
path: root/main/src
diff options
context:
space:
mode:
Diffstat (limited to 'main/src')
-rw-r--r--main/src/cgeo/geocaching/CacheListActivity.java6
-rw-r--r--main/src/cgeo/geocaching/CacheListSpinnerAdapter.java2
-rw-r--r--main/src/cgeo/geocaching/list/AbstractList.java2
-rw-r--r--main/src/cgeo/geocaching/list/PseudoList.java31
-rw-r--r--main/src/cgeo/geocaching/list/StoredList.java2
5 files changed, 29 insertions, 14 deletions
diff --git a/main/src/cgeo/geocaching/CacheListActivity.java b/main/src/cgeo/geocaching/CacheListActivity.java
index 7749201..0fd3826 100644
--- a/main/src/cgeo/geocaching/CacheListActivity.java
+++ b/main/src/cgeo/geocaching/CacheListActivity.java
@@ -1719,7 +1719,11 @@ public class CacheListActivity extends AbstractListActivity implements FilteredA
return getCurrentSubtitle();
}
// otherwise return the overall number
- return getCacheNumberString(getResources(), list.getCount());
+ final int numberOfCaches = list.getNumberOfCaches();
+ if (numberOfCaches < 0) {
+ return StringUtils.EMPTY;
+ }
+ return getCacheNumberString(getResources(), numberOfCaches);
}
/**
diff --git a/main/src/cgeo/geocaching/CacheListSpinnerAdapter.java b/main/src/cgeo/geocaching/CacheListSpinnerAdapter.java
index 172daec..6311e47 100644
--- a/main/src/cgeo/geocaching/CacheListSpinnerAdapter.java
+++ b/main/src/cgeo/geocaching/CacheListSpinnerAdapter.java
@@ -56,7 +56,7 @@ class CacheListSpinnerAdapter extends ArrayAdapter<AbstractList> {
final AbstractList list = getItem(position);
holder.title.setText(list.getTitle());
- if (list.getCount() >= 0) {
+ if (list.getNumberOfCaches() >= 0) {
holder.subtitle.setVisibility(View.VISIBLE);
holder.subtitle.setText(cacheListActivity.getCacheListSubtitle(list));
} else {
diff --git a/main/src/cgeo/geocaching/list/AbstractList.java b/main/src/cgeo/geocaching/list/AbstractList.java
index ec70deb..06f44a2 100644
--- a/main/src/cgeo/geocaching/list/AbstractList.java
+++ b/main/src/cgeo/geocaching/list/AbstractList.java
@@ -22,7 +22,7 @@ public abstract class AbstractList {
public abstract String getTitle();
- public abstract int getCount();
+ public abstract int getNumberOfCaches();
@Nullable
public static AbstractList getListById(int listId) {
diff --git a/main/src/cgeo/geocaching/list/PseudoList.java b/main/src/cgeo/geocaching/list/PseudoList.java
index 71f9123..9ee920c 100644
--- a/main/src/cgeo/geocaching/list/PseudoList.java
+++ b/main/src/cgeo/geocaching/list/PseudoList.java
@@ -1,32 +1,48 @@
package cgeo.geocaching.list;
import cgeo.geocaching.CgeoApplication;
+import cgeo.geocaching.DataStore;
import cgeo.geocaching.R;
-public class PseudoList extends AbstractList {
+public abstract class PseudoList extends AbstractList {
private static final int ALL_LIST_ID = 2;
/**
* list entry to show all caches
*/
- public static final PseudoList ALL_LIST = new PseudoList(ALL_LIST_ID, R.string.list_all_lists);
+ public static final PseudoList ALL_LIST = new PseudoList(ALL_LIST_ID, R.string.list_all_lists) {
+ @Override
+ public int getNumberOfCaches() {
+ return DataStore.getAllCachesCount();
+ }
+ };
private static final int NEW_LIST_ID = 3;
/**
* list entry to create a new list
*/
- public static final AbstractList NEW_LIST = new PseudoList(NEW_LIST_ID, R.string.list_menu_create);
+ public static final AbstractList NEW_LIST = new PseudoList(NEW_LIST_ID, R.string.list_menu_create) {
+ @Override
+ public int getNumberOfCaches() {
+ return -1;
+ }
+ };
private static final int HISTORY_LIST_ID = 4;
/**
* list entry to create a new list
*/
- public static final AbstractList HISTORY_LIST = new PseudoList(HISTORY_LIST_ID, R.string.menu_history);
+ public static final AbstractList HISTORY_LIST = new PseudoList(HISTORY_LIST_ID, R.string.menu_history) {
+ @Override
+ public int getNumberOfCaches() {
+ return DataStore.getAllHistoryCachesCount();
+ }
+ };
/**
* private constructor to have all instances as constants in the class
*/
- private PseudoList(int id, final int titleResourceId) {
+ private PseudoList(final int id, final int titleResourceId) {
super(id, CgeoApplication.getInstance().getResources().getString(titleResourceId));
}
@@ -41,11 +57,6 @@ public class PseudoList extends AbstractList {
}
@Override
- public int getCount() {
- return -1;
- }
-
- @Override
public boolean isConcrete() {
return false;
}
diff --git a/main/src/cgeo/geocaching/list/StoredList.java b/main/src/cgeo/geocaching/list/StoredList.java
index e6cad56..6dac1a7 100644
--- a/main/src/cgeo/geocaching/list/StoredList.java
+++ b/main/src/cgeo/geocaching/list/StoredList.java
@@ -218,7 +218,7 @@ public final class StoredList extends AbstractList {
}
@Override
- public int getCount() {
+ public int getNumberOfCaches() {
return count;
}