1 package org
.proofofconcept
.shisensho
;
3 import java
.io
.Serializable
;
5 import android
.app
.Activity
;
6 import android
.os
.Bundle
;
7 import android
.view
.View
;
8 import android
.view
.Window
;
9 import android
.widget
.AdapterView
;
10 import android
.widget
.ArrayAdapter
;
11 import android
.widget
.CompoundButton
;
12 import android
.widget
.Spinner
;
13 import android
.widget
.ToggleButton
;
15 public class ShisenShoOptionsActivity
extends Activity
{
20 private void appToState (boolean merge
) {
21 String
[] fields
= { "size", "difficulty", "gravity", "timeCounter" };
22 Bundle options
= app
.getOptions();
23 if (state
== null) state
= new Bundle();
24 for (int i
=0; i
<fields
.length
; i
++) {
25 if (!merge
|| !state
.containsKey(fields
[i
])) {
26 state
.putSerializable(fields
[i
], (Serializable
)(options
.get(fields
[i
])));
31 /** Called when the activity is first created. */
33 public void onCreate(Bundle savedInstanceState
) {
34 super.onCreate(savedInstanceState
);
35 requestWindowFeature(Window
.FEATURE_NO_TITLE
);
36 setContentView(R
.layout
.options
);
38 app
= ShisenSho
.app();
39 state
= savedInstanceState
;
46 s
= (Spinner
) findViewById(R
.id
.size
);
47 adapter
= ArrayAdapter
.createFromResource(
48 this, R
.array
.sizes
, android
.R
.layout
.simple_spinner_item
);
49 adapter
.setDropDownViewResource(android
.R
.layout
.simple_spinner_dropdown_item
);
50 s
.setAdapter(adapter
);
51 s
.setSelection(state
.getInt("size")-1);
52 s
.setOnItemSelectedListener(new AdapterView
.OnItemSelectedListener() {
53 public void onItemSelected(AdapterView
<?
> arg0
, View arg1
,
55 state
.putInt("size", pos
+1);
58 public void onNothingSelected(AdapterView
<?
> arg0
) { }
61 s
= (Spinner
) findViewById(R
.id
.difficulty
);
62 adapter
= ArrayAdapter
.createFromResource(
63 this, R
.array
.difficulties
, android
.R
.layout
.simple_spinner_item
);
64 adapter
.setDropDownViewResource(android
.R
.layout
.simple_spinner_dropdown_item
);
65 s
.setAdapter(adapter
);
66 s
.setSelection(2-state
.getInt("difficulty"));
67 s
.setOnItemSelectedListener(new AdapterView
.OnItemSelectedListener() {
68 public void onItemSelected(AdapterView
<?
> arg0
, View arg1
,
70 state
.putInt("difficulty", 2-pos
);
73 public void onNothingSelected(AdapterView
<?
> arg0
) { }
76 tb
= (ToggleButton
) findViewById(R
.id
.gravity
);
77 tb
.setChecked(state
.getBoolean("gravity"));
78 tb
.setOnCheckedChangeListener(new CompoundButton
.OnCheckedChangeListener() {
79 public void onCheckedChanged(CompoundButton arg0
, boolean arg1
) {
80 state
.putBoolean("gravity", arg1
);
84 tb
= (ToggleButton
) findViewById(R
.id
.timeCounter
);
85 tb
.setChecked(state
.getBoolean("timeCounter"));
86 tb
.setOnCheckedChangeListener(new CompoundButton
.OnCheckedChangeListener() {
87 public void onCheckedChanged(CompoundButton arg0
, boolean arg1
) {
88 state
.putBoolean("timeCounter", arg1
);
94 public void onBackPressed() {
95 app
.setOptions(state
);
96 super.onBackPressed();