package com.evancharlton.mileage; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.ImageButton; import android.widget.Spinner; import com.evancharlton.mileage.calculators.CalculationEngine; public class SettingsView extends Activity { public static final String DATE = "date_pref"; public static final String NUMBER = "number_pref"; public static final String CURRENCY = "currency_pref"; public static final String CALCULATIONS = "calculations_pref"; private Button m_saveBtn; private Spinner m_dateSpinner; private Spinner m_systemSpinner; private Spinner m_currencySpinner; private ImageButton m_helpBtn; // private Spinner m_numberSpinner; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.settings); initUI(); } private void initUI() { m_saveBtn = (Button) findViewById(R.id.settings_save_changes); m_dateSpinner = (Spinner) findViewById(R.id.settings_date_format); m_currencySpinner = (Spinner) findViewById(R.id.settings_currency); // m_numberSpinner = (Spinner) // findViewById(R.id.settings_number_format); m_systemSpinner = (Spinner) findViewById(R.id.settings_system); m_helpBtn = (ImageButton) findViewById(R.id.settings_help); m_saveBtn.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { PreferencesProvider prefs = PreferencesProvider.getInstance(SettingsView.this); prefs.write(SettingsView.DATE, m_dateSpinner.getSelectedItemPosition()); prefs.write(SettingsView.CALCULATIONS, m_systemSpinner.getSelectedItemPosition()); prefs.write(SettingsView.CURRENCY, m_currencySpinner.getSelectedItemPosition()); // prefs.write(SettingsView.NUMBER, // m_numberSpinner.getSelectedItemPosition()); finish(); } }); m_helpBtn.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { int calc = m_systemSpinner.getSelectedItemPosition(); CalculationEngine engine = PreferencesProvider.getInstance(SettingsView.this).getCalculator(calc); HelpDialog.create(SettingsView.this, R.string.system_help, engine.help()); } }); PreferencesProvider prefs = PreferencesProvider.getInstance(SettingsView.this); m_dateSpinner.setSelection(prefs.getInt(DATE, 0)); m_systemSpinner.setSelection(prefs.getInt(CALCULATIONS, 0)); m_currencySpinner.setSelection(prefs.getInt(CURRENCY, 0)); // m_numberSpinner.setSelection(prefs.getInt(NUMBER, 0)); } public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); HelpDialog.injectHelp(menu, 'h'); return true; } public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case HelpDialog.MENU_HELP: HelpDialog.create(this, R.string.help_title_settings, R.string.help_settings); break; } return super.onOptionsItemSelected(item); } }