From: Keith Packard Date: Tue, 23 Jun 2015 06:21:05 +0000 (-0700) Subject: altosdroid: Fix line drawing to old tracker location X-Git-Tag: 1.6.0.3~10 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=1513693602c2a4cab0783833d1844c066edabb71 altosdroid: Fix line drawing to old tracker location Selecting an old tracker would often fail to switch the bearing line as it was using the map data instead of just using the local data for the relavant tracker. Signed-off-by: Keith Packard --- diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOffline.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOffline.java index 12dd2f25..339b7894 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOffline.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOffline.java @@ -86,6 +86,7 @@ public class AltosMapOffline extends View implements ScaleGestureDetector.OnScal AltosDroid altos_droid; AltosLatLon here; + AltosLatLon there; AltosLatLon pad; Canvas canvas; @@ -334,7 +335,7 @@ public class AltosMapOffline extends View implements ScaleGestureDetector.OnScal } private void draw_positions() { - line.set_a(map.last_position); + line.set_a(there); line.set_b(here); line.paint(); draw_bitmap(pad, pad_bitmap, pad_off_x, pad_off_y); @@ -465,8 +466,12 @@ public class AltosMapOffline extends View implements ScaleGestureDetector.OnScal rocket = new Rocket(serial, this); rockets.put(serial, rocket); } - if (t_state.gps != null) - rocket.set_position(new AltosLatLon(t_state.gps.lat, t_state.gps.lon), t_state.received_time); + if (t_state.gps != null) { + AltosLatLon latlon = new AltosLatLon(t_state.gps.lat, t_state.gps.lon); + rocket.set_position(latlon, t_state.received_time); + if (state.serial == serial) + there = latlon; + } if (state != null) rocket.set_active(state.serial == serial); }