From 4961c91fd36c9d255633c21e7dcbe0487f7a3ad0 Mon Sep 17 00:00:00 2001 From: Bananeweizen Date: Mon, 19 Aug 2013 22:51:36 +0200 Subject: #3122: always have connection to current position --- main/src/cgeo/geocaching/maps/PositionOverlay.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'main') diff --git a/main/src/cgeo/geocaching/maps/PositionOverlay.java b/main/src/cgeo/geocaching/maps/PositionOverlay.java index 39f4987..b371eae 100644 --- a/main/src/cgeo/geocaching/maps/PositionOverlay.java +++ b/main/src/cgeo/geocaching/maps/PositionOverlay.java @@ -139,7 +139,11 @@ public class PositionOverlay implements GeneralOverlay { positionHistory.rememberTrailPosition(coordinates); if (Settings.isMapTrail()) { - int size = positionHistory.getHistory().size(); + // always add current position to drawn history to have a closed connection + final ArrayList paintHistory = new ArrayList(positionHistory.getHistory()); + paintHistory.add(coordinates); + + int size = paintHistory.size(); if (size > 1) { int alphaCnt = size - 201; if (alphaCnt < 1) { @@ -148,11 +152,11 @@ public class PositionOverlay implements GeneralOverlay { Point pointNow = new Point(); Point pointPrevious = new Point(); - Location prev = positionHistory.getHistory().get(0); + Location prev = paintHistory.get(0); projection.toPixels(mapItemFactory.getGeoPointBase(new Geopoint(prev)), pointPrevious); for (int cnt = 1; cnt < size; cnt++) { - Location now = positionHistory.getHistory().get(cnt); + Location now = paintHistory.get(cnt); projection.toPixels(mapItemFactory.getGeoPointBase(new Geopoint(now)), pointNow); int alpha; -- cgit v1.1