diff options
| author | Bananeweizen <bananeweizen@gmx.de> | 2014-07-20 07:34:33 +0200 |
|---|---|---|
| committer | Bananeweizen <bananeweizen@gmx.de> | 2014-07-20 07:34:33 +0200 |
| commit | 8801cfcf6ab3848f11bbd5f458cb252366035d8b (patch) | |
| tree | 56a8a88e9c7f0594b003d1b2905d91d81656eb31 /main/src/cgeo/geocaching/ui | |
| parent | 59201fa2f1087e76a68ade92d4f0f41a86a79e9a (diff) | |
| download | cgeo-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.java | 1 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/ui/CacheListAdapter.java | 1 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/ui/Formatter.java | 191 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/ui/logs/LogsViewCreator.java | 2 |
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; |
