diff options
author | Keith Packard <keithp@keithp.com> | 2016-05-12 19:13:05 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2016-05-12 19:13:05 -0700 |
commit | b13037fad0905c5933d1ff579122ba1357b02eea (patch) | |
tree | 083d1950a161b05e29ee59da2b1a7de16f148bb5 /altoslib/AltosFrequency.java | |
parent | 2f4903f903223312d0a3a03dfd413059f24a07f5 (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.java | 13 |
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", ""); + } } |