OSDN Git Service

A28079
[everclip/source.git] / workspace / EverClip / src / com / yuji / ec / SettingActivity.java
1 package com.yuji.ec;
2
3 import java.util.Calendar;
4
5 import android.app.TimePickerDialog;
6 import android.content.Intent;
7 import android.os.Bundle;
8 import android.view.KeyEvent;
9 import android.view.View;
10 import android.view.View.OnClickListener;
11 import android.widget.AdapterView;
12 import android.widget.AdapterView.OnItemSelectedListener;
13 import android.widget.ArrayAdapter;
14 import android.widget.Button;
15 import android.widget.CheckBox;
16 import android.widget.CompoundButton;
17 import android.widget.CompoundButton.OnCheckedChangeListener;
18 import android.widget.LinearLayout;
19 import android.widget.RadioButton;
20 import android.widget.RadioGroup;
21 import android.widget.Spinner;
22 import android.widget.TextView;
23 import android.widget.TimePicker;
24
25 import com.yuji.ec.common.Constant;
26 import com.yuji.ec.utility.BaseActivity;
27 import com.yuji.ec.utility.DateUtil;
28 import com.yuji.ec.utility.EditPrefUtil;
29
30 public class SettingActivity extends BaseActivity {
31         private EditPrefUtil pref = new EditPrefUtil(this);
32
33         private LinearLayout messageLayout = null;
34         private TextView messageView = null;
35         private Button userButton = null;
36 //      private LinearLayout noteTypeLayout = null;
37 //      private Spinner noteTypeSpinner = null;
38 //      private TextView noteTypeView = null;
39 //      private Button noteTypeButton = null;
40 //      private Button updateButton = null;
41         private Button noteButton = null;
42         private Spinner sortSpinner = null;
43         private RadioGroup sortRadioGroup = null;
44         private RadioButton sortRadio1 = null;
45         private RadioButton sortRadio2 = null;
46         private CheckBox timeCheckBox = null;
47         private LinearLayout timeLayout = null;
48         private TextView timeView = null;
49         private Button timeButton = null;
50         private Button closeButton = null;
51
52         private String guid;
53
54         private long updateTime;
55
56         @Override
57         public void onCreate(Bundle savedInstanceState) {
58                 super.onCreate(savedInstanceState);
59                 setContentView(R.layout.setting);
60
61                 messageLayout = (LinearLayout) this.findViewById(R.id.settingLayout);
62                 messageView = (TextView) this.findViewById(R.id.settingMessage);
63                 userButton = (Button) this.findViewById(R.id.settingUserButton);
64 //              noteTypeSpinner = (Spinner) this.findViewById(R.id.settingNoteSpinner);
65 //              noteTypeLayout = (LinearLayout) this
66 //                              .findViewById(R.id.settingNoteLayout);
67 //              noteTypeView = (TextView) this.findViewById(R.id.settingNoteText);
68 //              noteTypeButton = (Button) this.findViewById(R.id.settingNoteButton);
69 //              updateButton = (Button) this.findViewById(R.id.settingUpdateButton);
70                 noteButton = (Button) this.findViewById(R.id.settingNoteButton);
71                 sortSpinner = (Spinner) this.findViewById(R.id.settingSortSpinner);
72                 sortRadioGroup = (RadioGroup) this
73                                 .findViewById(R.id.settingSortRadioGroup);
74                 sortRadio1 = (RadioButton) this.findViewById(R.id.settingSortRadio1);
75                 sortRadio2 = (RadioButton) this.findViewById(R.id.settingSortRadio2);
76                 timeCheckBox = (CheckBox) this.findViewById(R.id.settingTimeCheckBox);
77                 timeLayout = (LinearLayout) this.findViewById(R.id.settingTimeLayout);
78                 timeView = (TextView) this.findViewById(R.id.settingTimeText);
79                 timeButton = (Button) this.findViewById(R.id.settingTimeButton);
80
81                 closeButton = (Button) this.findViewById(R.id.settingCloseButton);
82
83                 userButton.setOnClickListener(new OnClickListener() {
84                         public void onClick(View view) {
85                                 userButtonOnClick();
86                         }
87                 });
88 //              noteTypeSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
89 //                      public void onItemSelected(AdapterView<?> parent, View view,
90 //                                      int position, long id) {
91 //                              noteTypeSpinnerItemSelected(parent, view, position, id);
92 //                      }
93 //
94 //                      public void onNothingSelected(AdapterView<?> view) {
95 //                              ;
96 //                      }
97 //              });
98 //              noteTypeButton.setOnClickListener(new OnClickListener() {
99 //                      public void onClick(View view) {
100 //                              noteTypeButtonOnClick();
101 //                      }
102 //              });
103 //              updateButton.setOnClickListener(new OnClickListener() {
104 //                      public void onClick(View view) {
105 //                              updateButtonOnClick();
106 //                      }
107 //              });
108
109                 noteButton.setOnClickListener(new OnClickListener() {
110                 public void onClick(View view) {
111                         noteButtonOnClick();
112                 }
113         });
114
115                 sortSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
116                         public void onItemSelected(AdapterView<?> parent, View view,
117                                         int position, long id) {
118                                 sortSpinnerItemSelected(parent, view, position, id);
119                         }
120
121                         public void onNothingSelected(AdapterView<?> view) {
122                                 ;
123                         }
124                 });
125                 sortRadio1.setOnCheckedChangeListener(new OnCheckedChangeListener() {
126                         public void onCheckedChanged(CompoundButton buttonView,
127                                         boolean isChecked) {
128                                 sortCheckedChanged(buttonView, isChecked, 1);
129                         }
130                 });
131                 sortRadio2.setOnCheckedChangeListener(new OnCheckedChangeListener() {
132                         public void onCheckedChanged(CompoundButton buttonView,
133                                         boolean isChecked) {
134                                 sortCheckedChanged(buttonView, isChecked, 2);
135                         }
136                 });
137                 timeCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
138                         public void onCheckedChanged(CompoundButton buttonView,
139                                         boolean isChecked) {
140                                 timeCheckBoxOnClick(buttonView, isChecked);
141                         }
142                 });
143                 timeButton.setOnClickListener(new OnClickListener() {
144                         public void onClick(View view) {
145                                 timeButtonOnClick();
146                         }
147                 });
148                 closeButton.setOnClickListener(new OnClickListener() {
149                         public void onClick(View view) {
150                                 closeButtonOnClick();
151                         }
152                 });
153
154 //              ArrayAdapter<CharSequence> noteTypeAdapter = ArrayAdapter
155 //                              .createFromResource(this, R.array.note_item_array,
156 //                                              android.R.layout.simple_spinner_item);
157 //              noteTypeAdapter
158 //                              .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
159 //              noteTypeSpinner.setAdapter(noteTypeAdapter);
160
161                 ArrayAdapter<CharSequence> noteOrderAdapter = ArrayAdapter
162                                 .createFromResource(this, R.array.note_order_array,
163                                                 android.R.layout.simple_spinner_item);
164                 noteOrderAdapter
165                                 .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
166                 sortSpinner.setAdapter(noteOrderAdapter);
167
168                 setStatus();
169         }
170
171         @Override
172         public void onStart() {
173                 super.onStart();
174
175 //              int noteItemType = pref.getInt(Constant.PREF_NOTE_ITEM_TYPE,
176 //                              Constant.NOTE_ITEM_TYPE_ALL);
177 //              noteTypeSpinner.setSelection(noteItemType);
178 //
179 //              guid = pref.get(Constant.PREF_NOTE_ITEM_GUID);
180 //              String title = pref.get(Constant.PREF_NOTE_ITEM_TEXT);
181 //              noteTypeView.setText(title);
182
183                 int noteOrder = pref.getInt(Constant.PREF_NOTE_ORDER,
184                                 Constant.NOTE_ORDER_CREATE);
185                 sortSpinner.setSelection(noteOrder);
186
187                 int orderBy = pref.getInt(Constant.PREF_NOTE_ORDER_BY,
188                                 Constant.NOTE_ORDER_BY_ASC);
189                 switch (orderBy) {
190                 case Constant.NOTE_ORDER_BY_ASC:
191                         sortRadioGroup.check(sortRadio1.getId());
192                         break;
193                 case Constant.NOTE_ORDER_BY_DES:
194                         sortRadioGroup.check(sortRadio2.getId());
195                         break;
196                 }
197
198                 int autoUpdate = pref.getInt(Constant.PREF_AUTO_UPDATE, Constant.OFF);
199                 timeCheckBox.setChecked(autoUpdate == Constant.ON);
200
201                 updateTime = pref.getLong(Constant.PREF_UPDATE_TIME, DateUtil.getTime(0, 0, 0));
202                 String str = DateUtil.toDateString(SettingActivity.this, updateTime);
203                 timeView.setText(str);
204 }
205
206         @Override
207         public void onPause() {
208 //              int noteItemType = noteTypeSpinner.getSelectedItemPosition();
209 //              pref.put(Constant.PREF_NOTE_ITEM_TYPE, noteItemType);
210
211                 int noteOrder = sortSpinner.getSelectedItemPosition();
212                 pref.put(Constant.PREF_NOTE_ORDER, noteOrder);
213
214                 int orderById = sortRadioGroup.getCheckedRadioButtonId();
215                 int orderBy = Constant.NOTE_ORDER_BY_ASC;
216                 if (orderById == sortRadio1.getId()) {
217                         orderBy = Constant.NOTE_ORDER_BY_ASC;
218                 } else if (orderById == sortRadio2.getId()) {
219                         orderBy = Constant.NOTE_ORDER_BY_DES;
220                 }
221                 pref.put(Constant.PREF_NOTE_ORDER_BY, orderBy);
222
223                 int autoUpdate = timeCheckBox.isChecked() ? Constant.ON : Constant.OFF;
224                 pref.put(Constant.PREF_AUTO_UPDATE, autoUpdate);
225
226                 pref.put(Constant.PREF_UPDATE_TIME, updateTime);
227                 
228                 pref.update();
229
230                 super.onPause();
231         }
232
233         @Override
234         public boolean onKeyDown(int keyCode, KeyEvent event) {
235                 if (keyCode != KeyEvent.KEYCODE_BACK) {
236                         return super.onKeyDown(keyCode, event);
237                 } else {
238                         closeButtonOnClick();
239                         return false;
240                 }
241         }
242
243         @Override
244         protected void onActivityResult(int requestCode, int resultCode, Intent data) {
245 //              if (resultCode == RESULT_OK) {
246 //                      Bundle ex = data.getExtras();
247 //                      String guid = ex.getString(Constant.EXTRA_GUID);
248 //                      String title = ex.getString(Constant.EXTRA_TITLE);
249 //
250 //                      pref.put(Constant.PREF_NOTE_ITEM_GUID, guid);
251 //                      pref.put(Constant.PREF_NOTE_ITEM_TEXT, title);
252 //                      pref.update();
253 //
254 //                      noteTypeView.setText(title);
255 //              }
256
257                 setStatus();
258         }
259
260         private void userButtonOnClick() {
261                 Intent intent = new Intent(this, (Class<?>) UserPasswordActivity.class);
262                 startActivityForResult(intent, 0);
263         }
264
265 //      private void noteTypeSpinnerItemSelected(AdapterView<?> parent, View view,
266 //                      int position, long id) {
267 //              setStatus();
268 //      }
269 //
270 //      private void noteTypeButtonOnClick() {
271 //              Intent intent = new Intent(this, (Class<?>) NoteTypeListActivity.class);
272 //              startActivityForResult(intent, 1); // TODO
273 //      }
274 //
275 //      private void updateButtonOnClick() {
276 //              NoteUpdateTask task = new NoteUpdateTask(this);
277 //              AsyncTaskCommand command = new AsyncTaskCommand(this, task);
278 //              // command.setTitle(getString(R.string.noteListGetting)); // TODO
279 //              command.setTitle("Title");
280 //              command.setButtonTitle(getString(R.string.cancelButton));
281 //              command.execute("");
282 //      }
283
284         private void noteButtonOnClick(){
285                 pref.copy(Constant.PREF_NOTE_ITEM_TYPE, Constant.PREF_NOTE_ITEM_TYPE_TMP);
286                 pref.copy(Constant.PREF_NOTE_ITEM_GUID, Constant.PREF_NOTE_ITEM_GUID_TMP);
287                 
288                 Intent intent = new Intent(this, (Class<?>) NoteUpdatorActivity.class);
289                 startActivityForResult(intent, 1); // TODO              
290         }
291         
292         private void sortSpinnerItemSelected(AdapterView<?> parent, View view,
293                         int position, long id) {
294
295         }
296
297         private void sortCheckedChanged(CompoundButton buttonView,
298                         boolean isChecked, int i) {
299
300         }
301
302         // private void noteButtonOnClick() {
303         // NoteListActivity.init();
304         // SelectNoteListActivity.init(this);
305         //
306         // Intent intent = new Intent(this,
307         // (Class<?>) SelectNoteListActivity.class);
308         // startActivityForResult(intent, 0);
309         // }
310         //
311         // private void headerButtonOnClick() {
312         // Intent intent = new Intent(this, (Class<?>) HeaderActivity.class);
313         // startActivityForResult(intent, 0);
314         // }
315
316 //      public void done(EvernoteUtil.Error errorCode) {
317 //              // if (errorCode != null && !errorCode.equals(Error.NONE)) {
318 //              // EvernoteUtil util = EvernoteUtil.getInstance();
319 //              // Toast.makeText(this, util.getErrorMessage(this, errorCode),
320 //              // Toast.LENGTH_LONG).show();
321 //              // }
322 //              //
323 //              // if (nList == null) {
324 //              // // \83L\83\83\83\93\83Z\83\8b\83{\83^\83\93\89\9f\89ยบ\8e\9e
325 //              // closeButtonOnClick();
326 //              // return;
327 //              // }
328 //              //
329 //              // List<NoteListItem> list = getNoteList(nList);
330 //              // if (list == null) {
331 //              // closeButtonOnClick();
332 //              // return;
333 //              // }
334 //              // setNoteList(list);
335 //              // noteList = list;
336 //      }
337
338         protected void timeCheckBoxOnClick(CompoundButton buttonView,
339                         boolean isChecked) {
340                 setStatus();
341         }
342
343         private void timeButtonOnClick() {
344         Calendar calendar = Calendar.getInstance();
345         int hour = calendar.get(Calendar.HOUR_OF_DAY);
346         int minute = calendar.get(Calendar.MINUTE);
347
348         TimePickerDialog timePickerDialog = new TimePickerDialog(this,
349             new TimePickerDialog.OnTimeSetListener() {
350                                 public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
351                                         int second = 0;
352                                         
353                                         long t = DateUtil.getTime(hourOfDay, minute, second);
354                                         String str = DateUtil.toDateString(SettingActivity.this, t);
355                                         
356                                         updateTime = t;
357                                         timeView.setText(str);
358                                 }
359             }, hour, minute, true);
360         timePickerDialog.show();
361         }
362
363         private void closeButtonOnClick() {
364                 Intent intent = new Intent();
365                 setResult(RESULT_OK, intent);
366                 finish();
367
368                 // TODO
369                 // EverMemoActivity.init(false);
370         }
371
372         private void setStatus() {
373                 timeLayout.setVisibility(timeCheckBox.isChecked() ? View.VISIBLE
374                                 : View.GONE);
375
376                 // TODO
377                 // String passwd = PasswordUtil.getPassword(this);
378                 // if (CommonUtil.isNull(passwd)) {
379                 // messageLayout.setVisibility(View.VISIBLE);
380                 // messageView.setText(getString(R.string.settingConfirmUserMsg));
381                 // noteButton.setEnabled(false);
382                 // headerButton.setEnabled(false);
383                 // return;
384                 // }
385                 //
386                 // NoteDao dao = NoteDao.getInstance();
387                 // if (dao.isEmpty(this)) {
388                 // messageLayout.setVisibility(View.VISIBLE);
389                 // messageView.setText(getString(R.string.settingConfirmNoteMsg));
390                 // noteButton.setEnabled(true);
391                 // headerButton.setEnabled(false);
392                 // return;
393                 // }
394
395 //              int noteType = noteTypeSpinner.getSelectedItemPosition();
396 //              noteTypeLayout
397 //                              .setVisibility((noteType == Constant.NOTE_ITEM_TYPE_ALL) ? View.GONE
398 //                                              : View.VISIBLE);
399
400                 messageLayout.setVisibility(View.GONE);
401                 // noteButton.setEnabled(true);
402                 // headerButton.setEnabled(true);
403         }
404 }