From d12bf3d30a14dcabbf0292659c46e85aa5418100 Mon Sep 17 00:00:00 2001 From: Bananeweizen Date: Tue, 17 Sep 2013 19:08:39 +0200 Subject: refactoring: create named classes for different locus functionality --- .../apps/cachelist/AbstractLocusCacheListApp.java | 40 ++++++++++++++++++++++ .../apps/cachelist/CacheListAppFactory.java | 4 +-- .../apps/cachelist/LocusCacheListApp.java | 40 ---------------------- .../apps/cachelist/LocusExportCacheListApp.java | 9 +++++ .../apps/cachelist/LocusShowCacheListApp.java | 9 +++++ 5 files changed, 60 insertions(+), 42 deletions(-) create mode 100644 main/src/cgeo/geocaching/apps/cachelist/AbstractLocusCacheListApp.java delete mode 100644 main/src/cgeo/geocaching/apps/cachelist/LocusCacheListApp.java create mode 100644 main/src/cgeo/geocaching/apps/cachelist/LocusExportCacheListApp.java create mode 100644 main/src/cgeo/geocaching/apps/cachelist/LocusShowCacheListApp.java (limited to 'main') diff --git a/main/src/cgeo/geocaching/apps/cachelist/AbstractLocusCacheListApp.java b/main/src/cgeo/geocaching/apps/cachelist/AbstractLocusCacheListApp.java new file mode 100644 index 0000000..49d75d7 --- /dev/null +++ b/main/src/cgeo/geocaching/apps/cachelist/AbstractLocusCacheListApp.java @@ -0,0 +1,40 @@ +package cgeo.geocaching.apps.cachelist; + +import cgeo.geocaching.Geocache; +import cgeo.geocaching.R; +import cgeo.geocaching.SearchResult; +import cgeo.geocaching.apps.AbstractLocusApp; + +import org.apache.commons.collections4.CollectionUtils; + +import android.app.Activity; +import android.content.Intent; + +import java.util.List; + +abstract class AbstractLocusCacheListApp extends AbstractLocusApp implements CacheListApp { + + private boolean export; + + public AbstractLocusCacheListApp(boolean export) { + super(getString(export ? R.string.caches_map_locus_export : R.string.caches_map_locus), Intent.ACTION_VIEW); + this.export = export; + } + + /** + * show caches in Locus + * + * @see AbstractLocusApp#showInLocus + */ + @Override + public boolean invoke(List cacheList, Activity activity, final SearchResult search) { + if (CollectionUtils.isEmpty(cacheList)) { + return false; + } + + showInLocus(cacheList, false, export, activity); + + return true; + } + +} diff --git a/main/src/cgeo/geocaching/apps/cachelist/CacheListAppFactory.java b/main/src/cgeo/geocaching/apps/cachelist/CacheListAppFactory.java index ca06c52..551bc9d 100644 --- a/main/src/cgeo/geocaching/apps/cachelist/CacheListAppFactory.java +++ b/main/src/cgeo/geocaching/apps/cachelist/CacheListAppFactory.java @@ -20,8 +20,8 @@ public final class CacheListAppFactory extends AbstractAppFactory { private static class LazyHolder { public static final CacheListApp[] apps = { new InternalCacheListMap(), - new LocusCacheListApp(false), - new LocusCacheListApp(true) + new LocusShowCacheListApp(), + new LocusExportCacheListApp() }; } diff --git a/main/src/cgeo/geocaching/apps/cachelist/LocusCacheListApp.java b/main/src/cgeo/geocaching/apps/cachelist/LocusCacheListApp.java deleted file mode 100644 index 674f466..0000000 --- a/main/src/cgeo/geocaching/apps/cachelist/LocusCacheListApp.java +++ /dev/null @@ -1,40 +0,0 @@ -package cgeo.geocaching.apps.cachelist; - -import cgeo.geocaching.R; -import cgeo.geocaching.SearchResult; -import cgeo.geocaching.Geocache; -import cgeo.geocaching.apps.AbstractLocusApp; - -import org.apache.commons.collections4.CollectionUtils; - -import android.app.Activity; -import android.content.Intent; - -import java.util.List; - -class LocusCacheListApp extends AbstractLocusApp implements CacheListApp { - - private boolean export; - - public LocusCacheListApp(boolean export) { - super(getString(export ? R.string.caches_map_locus_export : R.string.caches_map_locus), Intent.ACTION_VIEW); - this.export = export; - } - - /** - * show caches in Locus - * - * @see AbstractLocusApp#showInLocus - */ - @Override - public boolean invoke(List cacheList, Activity activity, final SearchResult search) { - if (CollectionUtils.isEmpty(cacheList)) { - return false; - } - - showInLocus(cacheList, false, export, activity); - - return true; - } - -} diff --git a/main/src/cgeo/geocaching/apps/cachelist/LocusExportCacheListApp.java b/main/src/cgeo/geocaching/apps/cachelist/LocusExportCacheListApp.java new file mode 100644 index 0000000..ef97be0 --- /dev/null +++ b/main/src/cgeo/geocaching/apps/cachelist/LocusExportCacheListApp.java @@ -0,0 +1,9 @@ +package cgeo.geocaching.apps.cachelist; + +final class LocusExportCacheListApp extends AbstractLocusCacheListApp { + + public LocusExportCacheListApp() { + super(true); + } + +} diff --git a/main/src/cgeo/geocaching/apps/cachelist/LocusShowCacheListApp.java b/main/src/cgeo/geocaching/apps/cachelist/LocusShowCacheListApp.java new file mode 100644 index 0000000..4b018f9 --- /dev/null +++ b/main/src/cgeo/geocaching/apps/cachelist/LocusShowCacheListApp.java @@ -0,0 +1,9 @@ +package cgeo.geocaching.apps.cachelist; + +final class LocusShowCacheListApp extends AbstractLocusCacheListApp { + + public LocusShowCacheListApp() { + super(false); + } + +} -- cgit v1.1