diff options
Diffstat (limited to 'main')
| -rw-r--r-- | main/res/values/strings.xml | 1 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/filter/FilterUserInterface.java | 1 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/filter/PersonalNoteFilter.java | 28 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/filter/StateFilter.java | 2 |
4 files changed, 31 insertions, 1 deletions
diff --git a/main/res/values/strings.xml b/main/res/values/strings.xml index 280bc44..1adabc4 100644 --- a/main/res/values/strings.xml +++ b/main/res/values/strings.xml @@ -329,6 +329,7 @@ <string name="caches_filter_modified">With modified coordinates</string> <string name="caches_filter_origin">Origin</string> <string name="caches_filter_distance">Distance</string> + <string name="caches_filter_personal_note">With personal note</string> <string name="caches_removing_from_history">Removing from History…</string> <string name="caches_clear_offlinelogs">Clear offline logs</string> <string name="caches_clear_offlinelogs_progress">Clearing offline logs</string> diff --git a/main/src/cgeo/geocaching/filter/FilterUserInterface.java b/main/src/cgeo/geocaching/filter/FilterUserInterface.java index 8ff700a..88bf8c3 100644 --- a/main/src/cgeo/geocaching/filter/FilterUserInterface.java +++ b/main/src/cgeo/geocaching/filter/FilterUserInterface.java @@ -56,6 +56,7 @@ public final class FilterUserInterface { register(R.string.caches_filter_modified, ModifiedFilter.class); register(R.string.caches_filter_origin, OriginFilter.Factory.class); register(R.string.caches_filter_distance, DistanceFilter.Factory.class); + register(R.string.caches_filter_personal_note, PersonalNoteFilter.class); // sort by localized names Collections.sort(registry, new Comparator<FactoryEntry>() { diff --git a/main/src/cgeo/geocaching/filter/PersonalNoteFilter.java b/main/src/cgeo/geocaching/filter/PersonalNoteFilter.java new file mode 100644 index 0000000..15d262f --- /dev/null +++ b/main/src/cgeo/geocaching/filter/PersonalNoteFilter.java @@ -0,0 +1,28 @@ +package cgeo.geocaching.filter; + +import cgeo.geocaching.CgeoApplication; +import cgeo.geocaching.Geocache; +import cgeo.geocaching.R; + +import org.apache.commons.lang3.StringUtils; + +import java.util.Collections; +import java.util.List; + +public class PersonalNoteFilter extends AbstractFilter implements IFilterFactory { + + protected PersonalNoteFilter() { + super(CgeoApplication.getInstance().getString(R.string.caches_filter_personal_note)); + } + + @Override + public boolean accepts(Geocache cache) { + return StringUtils.isNotBlank(cache.getPersonalNote()); + } + + @Override + public List<PersonalNoteFilter> getFilters() { + return Collections.singletonList(this); + } + +} diff --git a/main/src/cgeo/geocaching/filter/StateFilter.java b/main/src/cgeo/geocaching/filter/StateFilter.java index d5b3027..f452259 100644 --- a/main/src/cgeo/geocaching/filter/StateFilter.java +++ b/main/src/cgeo/geocaching/filter/StateFilter.java @@ -127,7 +127,7 @@ abstract class StateFilter extends AbstractFilter { @Override public int compare(final StateFilter filter1, final StateFilter filter2) { - return filter1.getName().compareToIgnoreCase(filter2.getName()); + return String.CASE_INSENSITIVE_ORDER.compare(filter1.getName(), filter2.getName()); } }); |
