altoslib: create eeprom download thread before telling monitor about it
[fw/altos] / altosui / AltosBTKnown.java
index 95830637407fa5d5aedc83af5422f36eb9166242..a1652ec4e0a6a893d53b96a4009fc20ea5f5c04b 100644 (file)
  */
 
 package altosui;
-import java.lang.*;
 import java.util.*;
-import libaltosJNI.*;
-import java.util.prefs.*;
+import org.altusmetrum.altoslib_2.*;
+import org.altusmetrum.altosuilib_1.*;
 
 public class AltosBTKnown implements Iterable<AltosBTDevice> {
        LinkedList<AltosBTDevice>       devices = new LinkedList<AltosBTDevice>();
-       Preferences                     bt_pref = AltosPreferences.bt_devices();
+       AltosPreferencesBackend         bt_pref = AltosUIPreferences.bt_devices();
 
        private String get_address(String name) {
-               return bt_pref.get(name, "");
+               return bt_pref.getString(name, "");
        }
 
        private void set_address(String name, String addr) {
-               bt_pref.put(name, addr);
-               System.out.printf("saving known %s %s\n", name, addr);
+               bt_pref.putString(name, addr);
        }
 
        private void remove(String name) {
@@ -44,10 +42,8 @@ public class AltosBTKnown implements Iterable<AltosBTDevice> {
                        for (int i = 0; i < names.length; i++) {
                                String  name = names[i];
                                String  addr = get_address(name);
-                               System.out.printf("Known device %s %s\n", name, addr);
                                devices.add(new AltosBTDevice(name, addr));
                        }
-               } catch (BackingStoreException be) {
                } catch (IllegalStateException ie) {
                }
        }
@@ -57,7 +53,7 @@ public class AltosBTKnown implements Iterable<AltosBTDevice> {
        }
 
        private void flush() {
-               AltosPreferences.flush_preferences();
+               AltosUIPreferences.flush_preferences();
        }
 
        public void set(Iterable<AltosBTDevice> new_devices) {
@@ -91,7 +87,15 @@ public class AltosBTKnown implements Iterable<AltosBTDevice> {
 
        public AltosBTKnown() {
                devices = new LinkedList<AltosBTDevice>();
-               bt_pref = AltosPreferences.bt_devices();
+               bt_pref = AltosUIPreferences.bt_devices();
                load();
        }
-}
\ No newline at end of file
+
+       static AltosBTKnown     known;
+
+       static public AltosBTKnown bt_known() {
+               if (known == null)
+                       known = new AltosBTKnown();
+               return known;
+       }
+}