From 09acb6821ab490d69f679a195e70acb4a71ba342 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Tue, 19 Apr 2016 23:18:46 -0400 Subject: [PATCH] altoslib: switch from keySet() to keys() in altos map tiles Android appears to not have the keySet() API in the same way that regular java does, so use the alternate older keys() api instead. Signed-off-by: Keith Packard --- altoslib/AltosMap.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/altoslib/AltosMap.java b/altoslib/AltosMap.java index 6c08f2d7..c79e5229 100644 --- a/altoslib/AltosMap.java +++ b/altoslib/AltosMap.java @@ -308,7 +308,11 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener { upper_left = floor(transform.screen_point(new AltosPointInt(0, 0))); lower_right = floor(transform.screen_point(new AltosPointInt(width(), height()))); } - for (AltosPointInt point : tiles.keySet()) { + + Enumeration keyEnumeration = tiles.keys(); + + while (keyEnumeration.hasMoreElements()) { + AltosPointInt point = keyEnumeration.nextElement(); if (point.x < upper_left.x || lower_right.x < point.x || point.y < upper_left.y || lower_right.y < point.y) { tiles.remove(point); @@ -377,7 +381,10 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener { /* AltosMapTileListener methods */ public synchronized void notify_tile(AltosMapTile tile, int status) { - for (AltosPointInt point : tiles.keySet()) { + Enumeration keyEnumeration = tiles.keys(); + + while (keyEnumeration.hasMoreElements()) { + AltosPointInt point = keyEnumeration.nextElement(); if (tile == tiles.get(point)) { AltosPointInt screen = transform.screen(point); repaint(screen.x, screen.y, AltosMap.px_size, AltosMap.px_size); -- 2.30.2