Add any pending changes in the edit entries to the frequency set when
the user selects 'ok'.
Signed-off-by: Keith Packard <keithp@keithp.com>
if (changed) {
AltosFrequency[] frequencies = new AltosFrequency[frequencies_adapter.count()];
for (int i = 0; i < frequencies.length; i++)
if (changed) {
AltosFrequency[] frequencies = new AltosFrequency[frequencies_adapter.count()];
for (int i = 0; i < frequencies.length; i++)
+ private int find(AltosFrequency frequency) {
+ for (int pos = 0; pos < frequencies_adapter.getCount(); pos++) {
+ FrequencyItem item = frequencies_adapter.getItem(pos);
+ if (item.frequency.frequency == frequency.frequency &&
+ item.frequency.description.equals(frequency.description))
+ return pos;
+ }
+ return -1;
+ }
+
private int insert_item(AltosFrequency frequency) {
FrequencyItem new_item = new FrequencyItem(frequency);
int pos;
private int insert_item(AltosFrequency frequency) {
FrequencyItem new_item = new FrequencyItem(frequency);
int pos;
try {
double f = AltosParse.parse_double_locale(frequency_text);
try {
double f = AltosParse.parse_double_locale(frequency_text);
+ AltosFrequency frequency = new AltosFrequency(f, description_text);
+ int pos;
- int pos = insert_item(new AltosFrequency(f, description_text));
+ pos = find(frequency);
+ if (pos < 0) {
+ pos = insert_item(frequency);
+ changed = true;
+ }
frequencies_adapter.selected_item = -1;
select_item(pos);
frequencies_adapter.selected_item = -1;
select_item(pos);
} catch (ParseException pe) {
}
hide_keyboard();
} catch (ParseException pe) {
}
hide_keyboard();