projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
AltosAscent/Descent: tidy up layout
[fw/altos]
/
ao-tools
/
altosui
/
AltosPreferences.java
diff --git
a/ao-tools/altosui/AltosPreferences.java
b/ao-tools/altosui/AltosPreferences.java
index 526275635ff07b90960aa3bd74aeaa8e402a5f13..e2a3df3b7717bb5b92f9cf150706bdc49a7ecbb3 100644
(file)
--- a/
ao-tools/altosui/AltosPreferences.java
+++ b/
ao-tools/altosui/AltosPreferences.java
@@
-32,7
+32,7
@@
class AltosPreferences {
final static String logdirPreference = "LOGDIR";
/* channel preference name */
final static String logdirPreference = "LOGDIR";
/* channel preference name */
- final static String channelPreference
= "CHANNEL
";
+ final static String channelPreference
Format = "CHANNEL-%d
";
/* voice preference name */
final static String voicePreference = "VOICE";
/* voice preference name */
final static String voicePreference = "VOICE";
@@
-52,8
+52,8
@@
class AltosPreferences {
/* Log directory */
static File logdir;
/* Log directory */
static File logdir;
- /*
Telemetry channel
*/
- static
int channel
;
+ /*
Channel (map serial to channel)
*/
+ static
Hashtable<Integer, Integer> channels
;
/* Voice preference */
static boolean voice;
/* Voice preference */
static boolean voice;
@@
-80,7
+80,7
@@
class AltosPreferences {
logdir.mkdirs();
}
logdir.mkdirs();
}
- channel
= preferences.getInt(channelPreference, 0
);
+ channel
s = new Hashtable<Integer,Integer>(
);
voice = preferences.getBoolean(voicePreference, true);
voice = preferences.getBoolean(voicePreference, true);
@@
-151,15
+151,19
@@
class AltosPreferences {
return logdir;
}
return logdir;
}
- public static void set_channel(int new_channel) {
- channel
= new_channel
;
+ public static void set_channel(int
serial, int
new_channel) {
+ channel
s.put(serial, new_channel)
;
synchronized (preferences) {
synchronized (preferences) {
- preferences.putInt(
channelPreference,
channel);
+ preferences.putInt(
String.format(channelPreferenceFormat, serial), new_
channel);
flush_preferences();
}
}
flush_preferences();
}
}
- public static int channel() {
+ public static int channel(int serial) {
+ if (channels.containsKey(serial))
+ return channels.get(serial);
+ int channel = preferences.getInt(String.format(channelPreferenceFormat, serial), 0);
+ channels.put(serial, channel);
return channel;
}
return channel;
}