diff options
| author | blafoo <github@blafoo.de> | 2011-08-31 23:16:30 +0200 |
|---|---|---|
| committer | blafoo <github@blafoo.de> | 2011-08-31 23:16:30 +0200 |
| commit | 6dd358bd3d9d526b44fd2d9552ded0a3d4bc510c (patch) | |
| tree | 78350ad763f9e1fdae020732ab0be115f3b8269c /src/cgeo/geocaching/sorting/StateComparator.java | |
| parent | 971bb0dc1d2db6d8c4ba974b68100a8c3d90f9ab (diff) | |
| parent | 18ff53c1cd02c2b9c477a299b632465cd78241ff (diff) | |
| download | cgeo-6dd358bd3d9d526b44fd2d9552ded0a3d4bc510c.zip cgeo-6dd358bd3d9d526b44fd2d9552ded0a3d4bc510c.tar.gz cgeo-6dd358bd3d9d526b44fd2d9552ded0a3d4bc510c.tar.bz2 | |
Merge remote-tracking branch 'upstream/master' into unittest
Conflicts:
res/values/strings.xml
src/cgeo/geocaching/cgCache.java
Diffstat (limited to 'src/cgeo/geocaching/sorting/StateComparator.java')
| -rw-r--r-- | src/cgeo/geocaching/sorting/StateComparator.java | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/cgeo/geocaching/sorting/StateComparator.java b/src/cgeo/geocaching/sorting/StateComparator.java new file mode 100644 index 0000000..787af5a --- /dev/null +++ b/src/cgeo/geocaching/sorting/StateComparator.java @@ -0,0 +1,32 @@ +package cgeo.geocaching.sorting; + +import cgeo.geocaching.cgCache; + +/** + * sort caches by state (normal, disabled, archived) + * + */ +public class StateComparator extends AbstractCacheComparator implements + CacheComparator { + + @Override + protected boolean canCompare(final cgCache cache1, final cgCache cache2) { + return true; + } + + @Override + protected int compareCaches(final cgCache cache1, final cgCache cache2) { + return getState(cache1) - getState(cache2); + } + + private static int getState(final cgCache cache) { + if (cache.disabled) { + return 1; + } + if (cache.archived) { + return 2; + } + return 0; + } + +} |
