altosui: Make it possible to disable APRS
authorKeith Packard <keithp@keithp.com>
Mon, 5 Aug 2019 04:12:29 +0000 (21:12 -0700)
committerKeith Packard <keithp@keithp.com>
Mon, 5 Aug 2019 04:12:29 +0000 (21:12 -0700)
The menu says "Disabled", but the device wants "0". Translate back and
forth to avoid an error.

Signed-off-by: Keith Packard <keithp@keithp.com>
altosui/AltosConfigFCUI.java

index b4c37e0bff7143f8163c3df5cc8683a6efa09600..39752b1dd771f8eaa8e67d5cb072768c28c820f8 100644 (file)
@@ -1427,20 +1427,29 @@ public class AltosConfigFCUI
                return pyro_firing_time;
        }
 
+       private String aprs_interval_string(int interval) {
+               if (interval == 0)
+                       return "Disabled";
+               return Integer.toString(interval);
+       }
+
+       private int aprs_interval_value(String interval) throws AltosConfigDataException {
+               if (interval.equalsIgnoreCase("Disabled"))
+                       return 0;
+               return parse_int("aprs interval", interval, false);
+       }
+
        public void set_aprs_interval(int new_aprs_interval) {
                if (new_aprs_interval != AltosLib.MISSING)
-                       aprs_interval_value.setSelectedItem(Integer.toString(new_aprs_interval));
+                       aprs_interval_value.setSelectedItem(aprs_interval_string(new_aprs_interval));
                aprs_interval_value.setVisible(new_aprs_interval != AltosLib.MISSING);
                aprs_interval_label.setVisible(new_aprs_interval != AltosLib.MISSING);
                set_aprs_interval_tool_tip();
        }
 
        public int aprs_interval() throws AltosConfigDataException {
-               if (aprs_interval_value.isVisible()) {
-                       String  s = aprs_interval_value.getSelectedItem().toString();
-
-                       return parse_int("aprs interval", s, false);
-               }
+               if (aprs_interval_value.isVisible())
+                       return aprs_interval_value(aprs_interval_value.getSelectedItem().toString());
                return AltosLib.MISSING;
        }