]> gitweb.fperrin.net Git - Dictionary.git/blob - src/com/hughes/android/dictionary/DictionaryEditActivity.java
go
[Dictionary.git] / src / com / hughes / android / dictionary / DictionaryEditActivity.java
1 package com.hughes.android.dictionary;
2
3 import java.util.List;
4
5 import android.app.Activity;
6 import android.content.Context;
7 import android.content.Intent;
8 import android.os.Bundle;
9 import android.view.Menu;
10 import android.view.MenuItem;
11 import android.view.MenuItem.OnMenuItemClickListener;
12 import android.widget.EditText;
13
14 import com.hughes.android.util.PersistentObjectCache;
15
16 public class DictionaryEditActivity extends Activity {
17
18   List<DictionaryConfig> dictionaryConfigs;
19   private DictionaryConfig dictionaryConfig;
20
21   public static final String DICT_INDEX = "dictIndex";
22
23   /** Called when the activity is first created. */
24   @SuppressWarnings("unchecked")
25   @Override
26   public void onCreate(final Bundle savedInstanceState) {
27     super.onCreate(savedInstanceState);
28     setContentView(R.layout.edit_activity);
29
30     PersistentObjectCache.init(this);
31     dictionaryConfigs = (List<DictionaryConfig>) PersistentObjectCache.init(
32         this).read(DictionaryListActivity.DICTIONARY_CONFIGS);
33
34     final Intent intent = getIntent();
35     dictionaryConfig = dictionaryConfigs.get(intent.getIntExtra(DICT_INDEX, 0));
36
37     // Write stuff from object into fields.
38     
39     ((EditText) findViewById(R.id.dictionaryName)).setText(dictionaryConfig.name);
40     ((EditText) findViewById(R.id.localFile)).setText(dictionaryConfig.localFile);
41     ((EditText) findViewById(R.id.wordListFile)).setText(dictionaryConfig.wordList);
42     ((EditText) findViewById(R.id.downloadUrl)).setText(dictionaryConfig.downloadUrl);
43   }
44
45   @Override
46   protected void onPause() {
47     super.onPause();
48     
49     // Read stuff from fields into object.
50     dictionaryConfig.name = ((EditText) findViewById(R.id.dictionaryName)).getText().toString();
51     dictionaryConfig.localFile = ((EditText) findViewById(R.id.localFile)).getText().toString();
52     dictionaryConfig.wordList = ((EditText) findViewById(R.id.wordListFile)).getText().toString();
53     dictionaryConfig.downloadUrl = ((EditText) findViewById(R.id.downloadUrl)).getText().toString();
54     
55     PersistentObjectCache.getInstance().write(
56         DictionaryListActivity.DICTIONARY_CONFIGS, dictionaryConfigs);
57   }
58   
59   public boolean onCreateOptionsMenu(final Menu menu) {
60     final MenuItem newDictionaryMenuItem = menu.add(R.string.downloadDictionary);
61     newDictionaryMenuItem.setOnMenuItemClickListener(new OnMenuItemClickListener() {
62           public boolean onMenuItemClick(final MenuItem menuItem) {
63             startDownloadDictActivity(DictionaryEditActivity.this, dictionaryConfig);
64             return false;
65           }
66         });
67     
68     return true;
69   }
70
71   static void startDownloadDictActivity(final Context context, final DictionaryConfig dictionaryConfig) {
72     final Intent intent = new Intent(context, DownloadActivity.class);
73     intent.putExtra(DownloadActivity.SOURCE, dictionaryConfig.downloadUrl);
74     intent.putExtra(DownloadActivity.DEST, dictionaryConfig.localFile);
75     context.startActivity(intent);
76   }
77
78
79 }