3 import android.app.AlertDialog;
\r
4 import android.content.DialogInterface;
\r
5 import android.os.Bundle;
\r
6 import android.view.KeyEvent;
\r
7 import android.view.View;
\r
8 import android.view.View.OnClickListener;
\r
9 import android.widget.Button;
\r
10 import android.widget.EditText;
\r
11 import android.widget.SeekBar;
\r
12 import android.widget.SeekBar.OnSeekBarChangeListener;
\r
13 import android.widget.TextView;
\r
14 import android.widget.TextView.OnEditorActionListener;
\r
16 import com.jm.db.Dao;
\r
17 import com.jm.utility.BaseActivity;
\r
18 import com.jm.utility.JmException;
\r
19 import com.jm.utility.Resource;
\r
21 public class Edit extends BaseActivity {
\r
22 public final static int NEW = 1;
\r
23 public final static int EDIT = 2;
\r
25 private EditText patternEdit = null;
\r
26 private EditText siteswapEdit = null;
\r
27 private EditText motionEdit = null;
\r
28 private TextView heightTextView = null;
\r
29 private SeekBar heightSeekBar = null;
\r
30 private TextView dwellTextView = null;
\r
31 private SeekBar dwellSeekBar = null;
\r
32 private TextView speedTextView = null;
\r
33 private SeekBar speedSeekBar = null;
\r
34 private Button okButton = null;
\r
35 private Button deleteButton = null;
\r
36 private Button cancelButton = null;
\r
41 private int type = -1;
\r
43 public void onCreate(Bundle savedInstanceState) {
\r
44 super.onCreate(savedInstanceState);
\r
45 setContentView(R.layout.edit);
\r
47 patternEdit = (EditText)findViewById(R.id.PatternEdit);
\r
48 siteswapEdit = (EditText)findViewById(R.id.SiteswapEdit);
\r
49 motionEdit = (EditText)findViewById(R.id.MotionEdit);
\r
50 heightTextView = (TextView)findViewById(R.id.HeightLabel);
\r
51 heightSeekBar = (SeekBar)findViewById(R.id.HeightValue);
\r
52 dwellTextView = (TextView)findViewById(R.id.DwellLabel);
\r
53 dwellSeekBar = (SeekBar)findViewById(R.id.DwellValue);
\r
54 speedTextView = (TextView)findViewById(R.id.SpeedLabel);
\r
55 speedSeekBar = (SeekBar)findViewById(R.id.SpeedValue);
\r
56 okButton = (Button)findViewById(R.id.OkButton);
\r
57 deleteButton = (Button)findViewById(R.id.DeleteButton);
\r
58 cancelButton = (Button)findViewById(R.id.CancelButton);
\r
60 Bundle extras = getIntent().getExtras();
\r
61 mode = extras.getInt("MODE");
\r
64 patternEdit.setText("");
\r
65 siteswapEdit.setText("");
\r
66 motionEdit.setText("");
\r
67 heightSeekBar.setProgress(getProgressValue(50));
\r
68 dwellSeekBar.setProgress(getProgressValue(50));
\r
70 deleteButton.setEnabled(false);
\r
74 id = extras.getInt("ID");
\r
75 JmPattern[] list = Dao.getInstance().getFromId(id);
\r
76 if (list.length <= 0){
\r
79 JmPattern jp = list[0];
\r
80 patternEdit.setText(jp.getName());
\r
81 siteswapEdit.setText(jp.getSiteSwap().toString());
\r
82 motionEdit.setText(jp.motionToString());
\r
83 heightSeekBar.setProgress(getProgressValue(jp.getHeight()));
\r
84 dwellSeekBar.setProgress(getProgressValue(jp.getDwell()));
\r
86 index = extras.getInt("INDEX1");
\r
87 if (index != Menu1.INDEX6){
\r
88 deleteButton.setEnabled(false);
\r
91 catch (JmException e){
\r
92 showDialog(this, e);
\r
97 heightTextView.setText(String.valueOf(getTextValue(heightSeekBar.getProgress())));
\r
98 dwellTextView.setText(String.valueOf(getTextValue(dwellSeekBar.getProgress())));
\r
99 speedSeekBar.setProgress(getProgressValue(Resource.speed));
\r
100 speedTextView.setText(String.valueOf(getTextValue(speedSeekBar.getProgress())));
\r
105 private void setListener(){
\r
106 patternEdit.setOnEditorActionListener(new OnEditorActionListener(){
\r
108 public boolean onEditorAction(TextView arg0, int arg1, KeyEvent arg2) {
\r
112 heightSeekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){
\r
114 public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {
\r
115 heightTextView.setText(String.valueOf(getTextValue(arg1)));
\r
118 public void onStartTrackingTouch(SeekBar seekBar) {
\r
123 public void onStopTrackingTouch(SeekBar seekBar) {
\r
128 dwellSeekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){
\r
130 public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {
\r
131 dwellTextView.setText(String.valueOf(getTextValue(arg1)));
\r
135 public void onStartTrackingTouch(SeekBar seekBar) {
\r
140 public void onStopTrackingTouch(SeekBar seekBar) {
\r
145 speedSeekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){
\r
147 public void onProgressChanged(SeekBar seekBar, int progress,
\r
148 boolean fromUser) {
\r
149 speedTextView.setText(String.valueOf(getTextValue(progress)));
\r
154 public void onStartTrackingTouch(SeekBar seekBar) {
\r
159 public void onStopTrackingTouch(SeekBar seekBar) {
\r
164 okButton.setOnClickListener(new OnClickListener(){
\r
166 public void onClick(View arg0) {
\r
167 String siteswapString = siteswapEdit.getText().toString();
\r
168 if (siteswapString == null || siteswapString.length() <= 0){
\r
169 showDialog(Resource.ERROR_TITLE, "[" + siteswapString + "]" + Resource.ERRMSG_SITESWAP);
\r
172 if (!JmPattern.setSiteSwap(siteswapString)){
\r
173 showDialog(Resource.ERROR_TITLE, "[" + siteswapString + "]" + Resource.ERRMSG_SITESWAP);
\r
177 String patternString = patternEdit.getText().toString();
\r
178 if (patternString == null || patternString.length() <= 0){
\r
179 patternString = siteswapString;
\r
182 String motionString = motionEdit.getText().toString();
\r
183 if (motionString == null || motionString.length() <= 0){
\r
184 motionString = "{13,0}{4,0}";
\r
186 byte[][] motion = JmPattern.getMotion(motionString);
\r
187 if (motion == null){
\r
188 showDialog(Resource.ERROR_TITLE, "[" + motionString + "]" + Resource.ERRMSG_MOTION);
\r
192 JmPattern jp = new JmPattern(
\r
197 getTextValue(heightSeekBar.getProgress()),
\r
198 getTextValue(dwellSeekBar.getProgress()),
\r
202 Dao.getInstance().add(jp);
\r
205 Dao.getInstance().set(jp);
\r
207 Resource.speed = getTextValue(speedSeekBar.getProgress());
\r
209 catch (JmException e){
\r
210 showDialog(this, e);
\r
216 deleteButton.setOnClickListener(new OnClickListener(){
\r
218 public void onClick(View arg0) {
\r
219 AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(Edit.this);
\r
220 alertDialogBuilder.setTitle(getString(R.string.title_delete));
\r
221 alertDialogBuilder.setMessage(getString(R.string.message_delete_pattern));
\r
222 alertDialogBuilder.setPositiveButton(android.R.string.ok,
\r
223 new DialogInterface.OnClickListener() {
\r
225 public void onClick(DialogInterface dialog, int which) {
\r
227 Dao.getInstance().delete(id);
\r
230 catch (JmException e){
\r
231 showDialog(this, e);
\r
236 alertDialogBuilder.setNeutralButton(android.R.string.no,
\r
237 new DialogInterface.OnClickListener() {
\r
239 public void onClick(DialogInterface dialog, int which) {
\r
242 alertDialogBuilder.setCancelable(true);
\r
243 AlertDialog alertDialog = alertDialogBuilder.create();
\r
244 alertDialog.show();
\r
247 cancelButton.setOnClickListener(new OnClickListener(){
\r
249 public void onClick(View arg0) {
\r
254 private int getTextValue(int val){
\r
258 private int getProgressValue(int val){
\r