summaryrefslogtreecommitdiff
path: root/altoslib/AltosPreferences.java
diff options
context:
space:
mode:
authorBdale Garbee <bdale@gag.com>2013-01-12 10:57:22 -0700
committerBdale Garbee <bdale@gag.com>2013-01-12 10:57:22 -0700
commit670034eef48d63cdaec8d271fa93da984ffe2ea9 (patch)
tree422713fba95404876049f785255942ce6d9c4afd /altoslib/AltosPreferences.java
parent8c5ebaf88b459b09924753a8077393a7b0639133 (diff)
parentd374d6be7eb040457f4df6c38b5d057f26ee741c (diff)
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Diffstat (limited to 'altoslib/AltosPreferences.java')
-rw-r--r--altoslib/AltosPreferences.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/altoslib/AltosPreferences.java b/altoslib/AltosPreferences.java
index 47196d6e..e50b9b5c 100644
--- a/altoslib/AltosPreferences.java
+++ b/altoslib/AltosPreferences.java
@@ -367,6 +367,8 @@ public class AltosPreferences {
set_common_frequencies(new_frequencies);
}
+ static LinkedList<AltosUnitsListener> units_listeners;
+
public static boolean imperial_units() {
synchronized(backend) {
return AltosConvert.imperial_units;
@@ -379,5 +381,24 @@ public class AltosPreferences {
backend.putBoolean(unitsPreference, imperial_units);
flush_preferences();
}
+ if (units_listeners != null) {
+ for (AltosUnitsListener l : units_listeners) {
+ l.units_changed(imperial_units);
+ }
+ }
+ }
+
+ public static void register_units_listener(AltosUnitsListener l) {
+ synchronized(backend) {
+ if (units_listeners == null)
+ units_listeners = new LinkedList<AltosUnitsListener>();
+ units_listeners.add(l);
+ }
+ }
+
+ public static void unregister_units_listener(AltosUnitsListener l) {
+ synchronized(backend) {
+ units_listeners.remove(l);
+ }
}
}