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); +		} +	}  } | 
