diff options
author | Keith Packard <keithp@keithp.com> | 2016-04-26 21:01:44 -0400 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2016-04-26 21:02:40 -0400 |
commit | d81f94fd5339d513de9bde5a2e19f8eca526344f (patch) | |
tree | 25d8261d6ddb6b8217b4e92690997d59a0a06285 /altoslib/AltosPreferences.java | |
parent | 204ae5142702044eb8ad2697a55028e904067958 (diff) |
altosdroid: Split setup functions to separate dialog
Remove them from the options menu, handle all preferences through
listeners.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosPreferences.java')
-rw-r--r-- | altoslib/AltosPreferences.java | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/altoslib/AltosPreferences.java b/altoslib/AltosPreferences.java index 43fc9f22..4bf48f6d 100644 --- a/altoslib/AltosPreferences.java +++ b/altoslib/AltosPreferences.java @@ -128,6 +128,9 @@ public class AltosPreferences { public static int map_cache = 9; + final static String mapTypePreference = "MAP-TYPE"; + static int map_type; + public static AltosFrequency[] load_common_frequencies() { AltosFrequency[] frequencies = null; boolean existing = false; @@ -221,6 +224,7 @@ public class AltosPreferences { map_cache = backend.getInt(mapCachePreference, 9); map_cache_listeners = new LinkedList<AltosMapCacheListener>(); + map_type = backend.getInt(mapTypePreference, AltosMap.maptype_hybrid); } public static void flush_preferences() { @@ -638,4 +642,39 @@ public class AltosPreferences { return map_cache; } } + + static LinkedList<AltosMapTypeListener> map_type_listeners; + + public static void set_map_type(int map_type) { + synchronized(backend) { + AltosPreferences.map_type = map_type; + backend.putInt(mapTypePreference, map_type); + flush_preferences(); + } + if (map_type_listeners != null) { + for (AltosMapTypeListener l : map_type_listeners) { + l.map_type_changed(map_type); + } + } + } + + public static int map_type() { + synchronized(backend) { + return map_type; + } + } + + public static void register_map_type_listener(AltosMapTypeListener l) { + synchronized(backend) { + if (map_type_listeners == null) + map_type_listeners = new LinkedList<AltosMapTypeListener>(); + map_type_listeners.add(l); + } + } + + public static void unregister_map_type_listener(AltosMapTypeListener l) { + synchronized(backend) { + map_type_listeners.remove(l); + } + } } |