1 package com.hughes.android.dictionary;
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;
14 import com.hughes.android.util.PersistentObjectCache;
16 public class DictionaryEditActivity extends Activity {
18 List<DictionaryConfig> dictionaryConfigs;
19 private DictionaryConfig dictionaryConfig;
21 public static final String DICT_INDEX = "dictIndex";
23 /** Called when the activity is first created. */
24 @SuppressWarnings("unchecked")
26 public void onCreate(final Bundle savedInstanceState) {
27 super.onCreate(savedInstanceState);
28 setContentView(R.layout.edit_activity);
30 PersistentObjectCache.init(this);
31 dictionaryConfigs = (List<DictionaryConfig>) PersistentObjectCache.init(
32 this).read(DictionaryListActivity.DICTIONARY_CONFIGS);
34 final Intent intent = getIntent();
35 dictionaryConfig = dictionaryConfigs.get(intent.getIntExtra(DICT_INDEX, 0));
37 // Write stuff from object into fields.
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);
46 protected void onPause() {
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();
55 PersistentObjectCache.getInstance().write(
56 DictionaryListActivity.DICTIONARY_CONFIGS, dictionaryConfigs);
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);
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);