-package de.cwde.shisensho;
-
-import java.io.Serializable;
-
-import de.cwde.shisensho.R;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.view.View;
-import android.view.Window;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-import android.widget.CompoundButton;
-import android.widget.Spinner;
-import android.widget.ToggleButton;
-
-public class ShisenShoOptionsActivity extends Activity {
-
- Bundle state;
- ShisenSho app;
-
- private void appToState (boolean merge) {
- String[] fields = { "size", "difficulty", "gravity", "timeCounter" };
- Bundle options = app.getOptions();
- if (state == null) state = new Bundle();
- for (int i=0; i<fields.length; i++) {
- if (!merge || !state.containsKey(fields[i])) {
- state.putSerializable(fields[i], (Serializable)(options.get(fields[i])));
- }
- }
- }
-
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- requestWindowFeature(Window.FEATURE_NO_TITLE);
- setContentView(R.layout.options);
-
- app = ShisenSho.app();
- state = savedInstanceState;
- appToState(true);
-
- Spinner s;
- ToggleButton tb;
- ArrayAdapter adapter;
-
- s = (Spinner) findViewById(R.id.size);
- adapter = ArrayAdapter.createFromResource(
- this, R.array.sizes, android.R.layout.simple_spinner_item);
- adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- s.setAdapter(adapter);
- s.setSelection(state.getInt("size")-1);
- s.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
- public void onItemSelected(AdapterView<?> arg0, View arg1,
- int pos, long arg3) {
- state.putInt("size", pos+1);
- }
-
- public void onNothingSelected(AdapterView<?> arg0) { }
- });
-
- s = (Spinner) findViewById(R.id.difficulty);
- adapter = ArrayAdapter.createFromResource(
- this, R.array.difficulties, android.R.layout.simple_spinner_item);
- adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- s.setAdapter(adapter);
- s.setSelection(2-state.getInt("difficulty"));
- s.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
- public void onItemSelected(AdapterView<?> arg0, View arg1,
- int pos, long arg3) {
- state.putInt("difficulty", 2-pos);
- }
-
- public void onNothingSelected(AdapterView<?> arg0) { }
- });
-
- tb = (ToggleButton) findViewById(R.id.gravity);
- tb.setChecked(state.getBoolean("gravity"));
- tb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
- state.putBoolean("gravity", arg1);
- }
- });
-
- tb = (ToggleButton) findViewById(R.id.timeCounter);
- tb.setChecked(state.getBoolean("timeCounter"));
- tb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
- state.putBoolean("timeCounter", arg1);
- }
- });
- }
-
- @Override
- public void onBackPressed() {
- app.setOptions(state);
- super.onBackPressed();
- }
-
-}