aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/ui
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2014-07-20 07:34:33 +0200
committerBananeweizen <bananeweizen@gmx.de>2014-07-20 07:34:33 +0200
commit8801cfcf6ab3848f11bbd5f458cb252366035d8b (patch)
tree56a8a88e9c7f0594b003d1b2905d91d81656eb31 /main/src/cgeo/geocaching/ui
parent59201fa2f1087e76a68ade92d4f0f41a86a79e9a (diff)
downloadcgeo-8801cfcf6ab3848f11bbd5f458cb252366035d8b.zip
cgeo-8801cfcf6ab3848f11bbd5f458cb252366035d8b.tar.gz
cgeo-8801cfcf6ab3848f11bbd5f458cb252366035d8b.tar.bz2
refactoring: reduce package cycles
Diffstat (limited to 'main/src/cgeo/geocaching/ui')
-rw-r--r--main/src/cgeo/geocaching/ui/CacheDetailsCreator.java1
-rw-r--r--main/src/cgeo/geocaching/ui/CacheListAdapter.java1
-rw-r--r--main/src/cgeo/geocaching/ui/Formatter.java191
-rw-r--r--main/src/cgeo/geocaching/ui/logs/LogsViewCreator.java2
4 files changed, 3 insertions, 192 deletions
diff --git a/main/src/cgeo/geocaching/ui/CacheDetailsCreator.java b/main/src/cgeo/geocaching/ui/CacheDetailsCreator.java
index 8a7f167..78e1dec 100644
--- a/main/src/cgeo/geocaching/ui/CacheDetailsCreator.java
+++ b/main/src/cgeo/geocaching/ui/CacheDetailsCreator.java
@@ -9,6 +9,7 @@ import cgeo.geocaching.Waypoint;
import cgeo.geocaching.connector.ConnectorFactory;
import cgeo.geocaching.geopoint.Geopoint;
import cgeo.geocaching.geopoint.Units;
+import cgeo.geocaching.utils.Formatter;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.jdt.annotation.NonNull;
diff --git a/main/src/cgeo/geocaching/ui/CacheListAdapter.java b/main/src/cgeo/geocaching/ui/CacheListAdapter.java
index 5b1bd61..6cd9e29 100644
--- a/main/src/cgeo/geocaching/ui/CacheListAdapter.java
+++ b/main/src/cgeo/geocaching/ui/CacheListAdapter.java
@@ -19,6 +19,7 @@ import cgeo.geocaching.sorting.InverseComparator;
import cgeo.geocaching.sorting.VisitComparator;
import cgeo.geocaching.utils.AngleUtils;
import cgeo.geocaching.utils.DateUtils;
+import cgeo.geocaching.utils.Formatter;
import cgeo.geocaching.utils.Log;
import org.apache.commons.collections4.CollectionUtils;
diff --git a/main/src/cgeo/geocaching/ui/Formatter.java b/main/src/cgeo/geocaching/ui/Formatter.java
deleted file mode 100644
index 4720e31..0000000
--- a/main/src/cgeo/geocaching/ui/Formatter.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package cgeo.geocaching.ui;
-
-import cgeo.geocaching.CgeoApplication;
-import cgeo.geocaching.Geocache;
-import cgeo.geocaching.R;
-import cgeo.geocaching.Waypoint;
-import cgeo.geocaching.enumerations.CacheListType;
-import cgeo.geocaching.enumerations.CacheSize;
-import cgeo.geocaching.enumerations.WaypointType;
-
-import org.apache.commons.lang3.StringUtils;
-
-import android.content.Context;
-import android.text.format.DateUtils;
-
-import java.text.DateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-public abstract class Formatter {
-
- /** Text separator used for formatting texts */
- public static final String SEPARATOR = " ยท ";
-
- private static final Context context = CgeoApplication.getInstance().getBaseContext();
-
- /**
- * Generate a time string according to system-wide settings (locale, 12/24 hour)
- * such as "13:24".
- *
- * @param date
- * milliseconds since the epoch
- * @return the formatted string
- */
- public static String formatTime(long date) {
- return DateUtils.formatDateTime(context, date, DateUtils.FORMAT_SHOW_TIME);
- }
-
- /**
- * Generate a date string according to system-wide settings (locale, date format)
- * such as "20 December" or "20 December 2010". The year will only be included when necessary.
- *
- * @param date
- * milliseconds since the epoch
- * @return the formatted string
- */
- public static String formatDate(long date) {
- return DateUtils.formatDateTime(context, date, DateUtils.FORMAT_SHOW_DATE);
- }
-
- /**
- * Generate a date string according to system-wide settings (locale, date format)
- * such as "20 December 2010". The year will always be included, making it suitable
- * to generate long-lived log entries.
- *
- * @param date
- * milliseconds since the epoch
- * @return the formatted string
- */
- public static String formatFullDate(long date) {
- return DateUtils.formatDateTime(context, date, DateUtils.FORMAT_SHOW_DATE
- | DateUtils.FORMAT_SHOW_YEAR);
- }
-
- /**
- * Generate a numeric date string according to system-wide settings (locale, date format)
- * such as "10/20/2010".
- *
- * @param date
- * milliseconds since the epoch
- * @return the formatted string
- */
- public static String formatShortDate(long date) {
- DateFormat dateFormat = android.text.format.DateFormat.getDateFormat(context);
- return dateFormat.format(date);
- }
-
- /**
- * Generate a numeric date string according to system-wide settings (locale, date format)
- * such as "10/20/2010". Today and yesterday will be presented as strings "today" and "yesterday".
- *
- * @param date
- * milliseconds since the epoch
- * @return the formatted string
- */
- public static String formatShortDateVerbally(long date) {
- int diff = cgeo.geocaching.utils.DateUtils.daysSince(date);
- switch (diff) {
- case 0:
- return CgeoApplication.getInstance().getString(R.string.log_today);
- case 1:
- return CgeoApplication.getInstance().getString(R.string.log_yesterday);
- default:
- return formatShortDate(date);
- }
- }
-
- /**
- * Generate a numeric date and time string according to system-wide settings (locale,
- * date format) such as "7 sept. at 12:35".
- *
- * @param date
- * milliseconds since the epoch
- * @return the formatted string
- */
- public static String formatShortDateTime(long date) {
- return DateUtils.formatDateTime(context, date, DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_ABBREV_ALL);
- }
-
- /**
- * Generate a numeric date and time string according to system-wide settings (locale,
- * date format) such as "7 september at 12:35".
- *
- * @param date
- * milliseconds since the epoch
- * @return the formatted string
- */
- public static String formatDateTime(long date) {
- return DateUtils.formatDateTime(context, date, DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_TIME);
- }
-
- public static String formatCacheInfoLong(Geocache cache, CacheListType cacheListType) {
- final ArrayList<String> infos = new ArrayList<>();
- if (StringUtils.isNotBlank(cache.getGeocode())) {
- infos.add(cache.getGeocode());
- }
-
- addShortInfos(cache, infos);
-
- if (cache.isPremiumMembersOnly()) {
- infos.add(CgeoApplication.getInstance().getString(R.string.cache_premium));
- }
- if (cacheListType != CacheListType.OFFLINE && cacheListType != CacheListType.HISTORY && cache.getListId() > 0) {
- infos.add(CgeoApplication.getInstance().getString(R.string.cache_offline));
- }
- return StringUtils.join(infos, Formatter.SEPARATOR);
- }
-
- public static String formatCacheInfoShort(Geocache cache) {
- final ArrayList<String> infos = new ArrayList<>();
- addShortInfos(cache, infos);
- return StringUtils.join(infos, Formatter.SEPARATOR);
- }
-
- private static void addShortInfos(Geocache cache, final ArrayList<String> infos) {
- if (cache.hasDifficulty()) {
- infos.add("D " + String.format("%.1f", cache.getDifficulty()));
- }
- if (cache.hasTerrain()) {
- infos.add("T " + String.format("%.1f", cache.getTerrain()));
- }
-
- // don't show "not chosen" for events and virtuals, that should be the normal case
- if (cache.getSize() != CacheSize.UNKNOWN && cache.showSize()) {
- infos.add(cache.getSize().getL10n());
- } else if (cache.isEventCache()) {
- final Date hiddenDate = cache.getHiddenDate();
- if (hiddenDate != null) {
- infos.add(Formatter.formatShortDate(hiddenDate.getTime()));
- }
- }
- }
-
- public static String formatCacheInfoHistory(Geocache cache) {
- final ArrayList<String> infos = new ArrayList<>(3);
- infos.add(StringUtils.upperCase(cache.getGeocode()));
- infos.add(Formatter.formatDate(cache.getVisitedDate()));
- infos.add(Formatter.formatTime(cache.getVisitedDate()));
- return StringUtils.join(infos, Formatter.SEPARATOR);
- }
-
- public static String formatWaypointInfo(Waypoint waypoint) {
- final List<String> infos = new ArrayList<>(3);
- WaypointType waypointType = waypoint.getWaypointType();
- if (waypointType != WaypointType.OWN && waypointType != null) {
- infos.add(waypointType.getL10n());
- }
- if (Waypoint.PREFIX_OWN.equalsIgnoreCase(waypoint.getPrefix())) {
- infos.add(CgeoApplication.getInstance().getString(R.string.waypoint_custom));
- } else {
- if (StringUtils.isNotBlank(waypoint.getPrefix())) {
- infos.add(waypoint.getPrefix());
- }
- if (StringUtils.isNotBlank(waypoint.getLookup())) {
- infos.add(waypoint.getLookup());
- }
- }
- return StringUtils.join(infos, Formatter.SEPARATOR);
- }
-}
diff --git a/main/src/cgeo/geocaching/ui/logs/LogsViewCreator.java b/main/src/cgeo/geocaching/ui/logs/LogsViewCreator.java
index 020b895..e951394 100644
--- a/main/src/cgeo/geocaching/ui/logs/LogsViewCreator.java
+++ b/main/src/cgeo/geocaching/ui/logs/LogsViewCreator.java
@@ -10,9 +10,9 @@ import cgeo.geocaching.network.HtmlImage;
import cgeo.geocaching.ui.AbstractCachingListViewPageViewCreator;
import cgeo.geocaching.ui.AnchorAwareLinkMovementMethod;
import cgeo.geocaching.ui.DecryptTextClickListener;
-import cgeo.geocaching.ui.Formatter;
import cgeo.geocaching.ui.HtmlImageCounter;
import cgeo.geocaching.ui.UserActionsClickListener;
+import cgeo.geocaching.utils.Formatter;
import cgeo.geocaching.utils.TextUtils;
import cgeo.geocaching.utils.UnknownTagsHandler;