aboutsummaryrefslogtreecommitdiffstats
path: root/main/src
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2013-04-07 14:45:42 +0200
committerBananeweizen <bananeweizen@gmx.de>2013-04-07 14:45:42 +0200
commit97b10e667d2fdfd9abb56be8e5bfaee259e27f65 (patch)
treed204a06ed665b2cd9ddba70db2995d0fd16a7444 /main/src
parent154d9869c3972939cff5d95cb2b2343dc5e76309 (diff)
downloadcgeo-97b10e667d2fdfd9abb56be8e5bfaee259e27f65.zip
cgeo-97b10e667d2fdfd9abb56be8e5bfaee259e27f65.tar.gz
cgeo-97b10e667d2fdfd9abb56be8e5bfaee259e27f65.tar.bz2
fix #2640: Filter out stored caches
Diffstat (limited to 'main/src')
-rw-r--r--main/src/cgeo/geocaching/filter/StateFilter.java24
1 files changed, 24 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/filter/StateFilter.java b/main/src/cgeo/geocaching/filter/StateFilter.java
index ae3fac2..e18128d 100644
--- a/main/src/cgeo/geocaching/filter/StateFilter.java
+++ b/main/src/cgeo/geocaching/filter/StateFilter.java
@@ -87,6 +87,28 @@ abstract class StateFilter extends AbstractFilter {
}
}
+ static class StateStoredFilter extends StateFilter {
+ public StateStoredFilter() {
+ super(res.getString(R.string.cache_status_stored));
+ }
+
+ @Override
+ public boolean accepts(Geocache cache) {
+ return cache.isOffline();
+ }
+ }
+
+ static class StateNotStoredFilter extends StateFilter {
+ public StateNotStoredFilter() {
+ super(res.getString(R.string.cache_status_not_stored));
+ }
+
+ @Override
+ public boolean accepts(Geocache cache) {
+ return !cache.isOffline();
+ }
+ }
+
public static class Factory implements IFilterFactory {
@Override
@@ -98,6 +120,8 @@ abstract class StateFilter extends AbstractFilter {
filters.add(new StatePremiumFilter());
filters.add(new StateNonPremiumFilter());
filters.add(new StateOfflineLogFilter());
+ filters.add(new StateStoredFilter());
+ filters.add(new StateNotStoredFilter());
Collections.sort(filters, new Comparator<StateFilter>() {