public class SetupActivity extends Activity {
private Spinner select_rate;
private Spinner set_units;
+ private Spinner font_size;
private Spinner map_type;
private Spinner map_source;
private Button manage_frequencies;
"2400",
};
+ static final String[] sizes = {
+ "Small",
+ "Medium",
+ "Large",
+ "Extra"
+ };
+
static final String[] map_types = {
"Hybrid",
"Satellite",
private int set_map_source;
private int set_map_type;
private boolean set_imperial_units;
-
- private int changes = 0;
-
- private void add_change(int change) {
- changes |= change;
- }
+ private int set_font_size;
private void done() {
+ int changes = 0;
Intent intent = new Intent();
- if ((changes & AltosDroid.SETUP_BAUD) != 0)
+
+ if (set_telemetry_rate != AltosPreferences.telemetry_rate(1)) {
+ changes |= AltosDroid.SETUP_BAUD;
AltosPreferences.set_telemetry_rate(1, set_telemetry_rate);
- if ((changes & AltosDroid.SETUP_UNITS) != 0)
+ }
+ if (set_imperial_units != AltosPreferences.imperial_units()) {
+ changes |= AltosDroid.SETUP_UNITS;
AltosPreferences.set_imperial_units(set_imperial_units);
- if ((changes & AltosDroid.SETUP_MAP_SOURCE) != 0)
+ }
+ if (set_map_source != AltosDroidPreferences.map_source()) {
+ changes |= AltosDroid.SETUP_MAP_SOURCE;
AltosDroidPreferences.set_map_source(set_map_source);
- if ((changes & AltosDroid.SETUP_MAP_TYPE) != 0)
+ }
+ if (set_map_type != AltosPreferences.map_type()) {
+ changes |= AltosDroid.SETUP_MAP_TYPE;
AltosPreferences.set_map_type(set_map_type);
+ }
+ if (set_font_size != AltosDroidPreferences.font_size()) {
+ changes |= AltosDroid.SETUP_FONT_SIZE;
+ AltosDroidPreferences.set_font_size(set_font_size);
+ }
intent.putExtra(EXTRA_SETUP_CHANGES, changes);
setResult(Activity.RESULT_OK, intent);
finish();
}
private void add_strings(Spinner spinner, String[] strings, int def) {
- ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item);
+ ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item);
for (int i = 0; i < strings.length; i++)
adapter.add(strings[i]);
}
private void setBaud(int baud) {
- try {
- service.send(Message.obtain(null, TelemetryService.MSG_SETBAUD, baud));
- set_telemetry_rate = baud;
- add_change(AltosDroid.SETUP_BAUD);
- } catch (RemoteException e) {
- }
+ set_telemetry_rate = baud;
}
private int string_to_rate(String baud) {
set_imperial_units = true;
break;
}
- add_change(AltosDroid.SETUP_UNITS);
+ }
+
+ private void set_font_size(int pos) {
+ set_font_size = pos;
}
private int default_map_type_pos() {
private void select_map_type(int pos) {
set_map_type = map_type_values[pos];
- add_change(AltosDroid.SETUP_MAP_TYPE);
}
private int default_map_source_pos() {
set_map_source = AltosDroidPreferences.MAP_SOURCE_OFFLINE;
break;
}
- add_change(AltosDroid.SETUP_MAP_SOURCE);
}
private void manage_frequencies(){
@Override
protected void onCreate(Bundle savedInstanceState) {
+ setTheme(AltosDroid.dialog_themes[AltosDroidPreferences.font_size()]);
super.onCreate(savedInstanceState);
AltosDebug.init(this);
add_strings(select_rate, rates, default_rate_pos());
select_rate.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
+ AltosDebug.debug("rate selected pos %d id %d", pos, id);
select_rate(pos);
}
public void onNothingSelected(AdapterView<?> parent) {
}
});
+ font_size = (Spinner) findViewById(R.id.font_size);
+ add_strings(font_size, sizes, AltosDroidPreferences.font_size());
+ font_size.setOnItemSelectedListener(new OnItemSelectedListener() {
+ public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
+ set_font_size(pos);
+ }
+ public void onNothingSelected(AdapterView<?> parent) {
+ }
+ });
+
map_type = (Spinner) findViewById(R.id.map_type);
add_strings(map_type, map_types, default_map_type_pos());
map_type.setOnItemSelectedListener(new OnItemSelectedListener() {