- if (frequencies.containsKey(serial))
- return frequencies.get(serial);
- double frequency = preferences.getDouble(String.format(frequencyPreferenceFormat, serial), 0);
- if (frequency == 0.0) {
- int channel = preferences.getInt(String.format(channelPreferenceFormat, serial), 0);
- frequency = AltosConvert.radio_channel_to_frequency(channel);
+ synchronized (backend) {
+ if (frequencies.containsKey(serial))
+ return frequencies.get(serial);
+ double frequency = backend.getDouble(String.format(frequencyPreferenceFormat, serial), 0);
+ if (frequency == 0.0) {
+ int channel = backend.getInt(String.format(channelPreferenceFormat, serial), 0);
+ frequency = AltosConvert.radio_channel_to_frequency(channel);
+ }
+ frequencies.put(serial, frequency);
+ return frequency;