diff options
author | Keith Packard <keithp@keithp.com> | 2016-05-12 23:33:53 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2016-05-12 23:41:55 -0700 |
commit | b1a90adac9f6e2a609ce1ccd6749462bb5c9adbe (patch) | |
tree | 107b6491d8ffc507609f9923353d5454c0664323 /altoslib/AltosMs5607.java | |
parent | b13037fad0905c5933d1ff579122ba1357b02eea (diff) |
altoslib: Store saved state in version-independent format
Use AltosHashSet for AltosState so that AltosDroid doesn't lose
tracker information when the application is upgraded.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosMs5607.java')
-rw-r--r-- | altoslib/AltosMs5607.java | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/altoslib/AltosMs5607.java b/altoslib/AltosMs5607.java index 4f5549a7..88a97828 100644 --- a/altoslib/AltosMs5607.java +++ b/altoslib/AltosMs5607.java @@ -20,7 +20,7 @@ package org.altusmetrum.altoslib_11; import java.util.concurrent.*; import java.io.*; -public class AltosMs5607 implements Serializable { +public class AltosMs5607 implements AltosHashable { public int reserved; public int sens; public int off; @@ -166,4 +166,46 @@ public class AltosMs5607 implements Serializable { } convert(); } + + public AltosHashSet hashSet() { + AltosHashSet h = new AltosHashSet(); + + h.putInt("reserved", reserved); + h.putInt("sens", sens); + h.putInt("off", off); + h.putInt("tcs", tcs); + h.putInt("tco", tco); + h.putInt("tref", tref); + h.putInt("tempsens", tempsens); + h.putInt("crc", crc); + h.putInt("raw_pres", raw_pres); + h.putInt("raw_temp", raw_temp); + h.putInt("pa", pa); + h.putInt("cc", cc); + return h; + } + + public AltosMs5607(AltosHashSet h) { + this(); + + reserved = h.getInt("reserved", reserved); + sens = h.getInt("sens", sens); + off = h.getInt("off", off); + tcs = h.getInt("tcs", tcs); + tco = h.getInt("tco", tco); + tref = h.getInt("tref", tref); + tempsens = h.getInt("tempsens", tempsens); + crc = h.getInt("crc", crc); + raw_pres = h.getInt("raw_pres", raw_pres); + raw_temp = h.getInt("raw_temp", raw_temp); + pa = h.getInt("pa", pa); + cc = h.getInt("cc", cc); + } + + public static AltosMs5607 fromHashSet(AltosHashSet h, AltosMs5607 def) { + if (h == null) + return def; + + return new AltosMs5607(h); + } } |