summaryrefslogtreecommitdiff
path: root/altoslib/AltosFrequency.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2016-05-12 19:13:05 -0700
committerKeith Packard <keithp@keithp.com>2016-05-12 19:13:05 -0700
commitb13037fad0905c5933d1ff579122ba1357b02eea (patch)
tree083d1950a161b05e29ee59da2b1a7de16f148bb5 /altoslib/AltosFrequency.java
parent2f4903f903223312d0a3a03dfd413059f24a07f5 (diff)
altoslib: Store common frequencies in library version-independent form
Serializable Objects in java are very specific to the class being serialized. As we bump the name of the library on a regular basis to note API/ABI issues, this mean a saved a Serializable object in the preferences database will fail to load across library version upgrades. The saved tracker state and saved common frequencies were the only objects saved in this form; this patch adds infrastructure for writing objects in a version-independent form, and then adds support for saving frequencies in that form. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosFrequency.java')
-rw-r--r--altoslib/AltosFrequency.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/altoslib/AltosFrequency.java b/altoslib/AltosFrequency.java
index ef46bd67..88997152 100644
--- a/altoslib/AltosFrequency.java
+++ b/altoslib/AltosFrequency.java
@@ -58,8 +58,21 @@ public class AltosFrequency implements Serializable {
return diff < 0.010;
}
+ public AltosHashSet hashSet() {
+ AltosHashSet h = new AltosHashSet();
+
+ h.putDouble("frequency", frequency);
+ h.putString("description", description);
+ return h;
+ }
+
public AltosFrequency(double f, String d) {
frequency = f;
description = d;
}
+
+ public AltosFrequency(AltosHashSet h) {
+ frequency = h.getDouble("frequency", 0.0);
+ description = h.getString("description", "");
+ }
}