summaryrefslogtreecommitdiff
path: root/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOffline.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2015-07-11 19:53:06 -0700
committerKeith Packard <keithp@keithp.com>2015-07-11 19:53:06 -0700
commit51bf46248ca7ee3c817e62274b7366258c9f87cf (patch)
treee6c8777488a780ac98a9e60730bb2d543752d579 /altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOffline.java
parentb64ab2a8a25b0c22443bc77829c7f35b4f1c2455 (diff)
altosdroid: Pop up menu of nearby trackers on map click
This lets the user select one of potentially many overlapping trackers, and also makes it clear when the current tracker is being changed. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOffline.java')
-rw-r--r--altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOffline.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOffline.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOffline.java
index 5240d61c..0bf6ab20 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOffline.java
+++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOffline.java
@@ -253,6 +253,8 @@ public class AltosMapOffline extends View implements ScaleGestureDetector.OnScal
public void select_object(AltosLatLon latlon) {
if (map.transform == null)
return;
+ ArrayList<Integer> near = new ArrayList<Integer>();
+
for (Rocket rocket : sorted_rockets()) {
if (rocket.position == null) {
debug("rocket %d has no position\n", rocket.serial);
@@ -262,10 +264,11 @@ public class AltosMapOffline extends View implements ScaleGestureDetector.OnScal
debug("check select %d distance %g width %d\n", rocket.serial, distance, rocket_bitmap.getWidth());
if (distance < rocket_bitmap.getWidth() * 2.0) {
debug("selecting %d\n", rocket.serial);
- altos_droid.select_tracker(rocket.serial);
- break;
+ near.add(rocket.serial);
}
}
+ if (near.size() != 0)
+ altos_droid.touch_trackers(near.toArray(new Integer[0]));
}
class Line {
@@ -359,7 +362,6 @@ public class AltosMapOffline extends View implements ScaleGestureDetector.OnScal
@Override
protected void onDraw(Canvas view_canvas) {
- debug("onDraw");
if (map == null) {
debug("MapView draw without map\n");
return;