import java.io.PrintWriter;\r
import java.io.RandomAccessFile;\r
import java.text.SimpleDateFormat;\r
-import java.util.ArrayList;\r
import java.util.Date;\r
import java.util.List;\r
import java.util.concurrent.Executor;\r
import com.hughes.android.dictionary.engine.RowBase;\r
import com.hughes.android.dictionary.engine.TokenRow;\r
import com.hughes.android.dictionary.engine.TransliteratorManager;\r
-import com.hughes.android.util.PersistentObjectCache;\r
\r
public class DictionaryActivity extends ListActivity {\r
\r
return intent;\r
}\r
\r
- // TODO: fix these...\r
-\r
@Override\r
protected void onSaveInstanceState(final Bundle outState) {\r
super.onSaveInstanceState(outState);\r
outState.putString(C.SEARCH_TOKEN, searchText.getText().toString());\r
}\r
+\r
+ @Override\r
+ protected void onRestoreInstanceState(final Bundle outState) {\r
+ super.onRestoreInstanceState(outState);\r
+ setSearchText(outState.getString(C.SEARCH_TOKEN));\r
+ }\r
+\r
+ public DictionaryApplication getDictionaryApplication() {\r
+ return (DictionaryApplication) super.getApplication();\r
+ }\r
\r
@Override\r
public void onCreate(Bundle savedInstanceState) {\r
+ // Clear them so that if something goes wrong, we won't relaunch.\r
clearDictionaryPrefs(this);\r
\r
Log.d(LOG, "onCreate:" + this);\r
dictFile = intent.getStringExtra(C.DICT_FILE);\r
\r
try {\r
- PersistentObjectCache.init(this);\r
- QuickDicConfig quickDicConfig = PersistentObjectCache.init(\r
- this).read(C.DICTIONARY_CONFIGS, QuickDicConfig.class);\r
- final DictionaryInfo dictionaryConfig = quickDicConfig.getDictionaryInfoByFile(dictFile);\r
- this.setTitle("QuickDic: " + dictionaryConfig.name);\r
- dictRaf = new RandomAccessFile(dictionaryConfig.localFile, "r");\r
+ final String name = getDictionaryApplication().getDictionaryName(dictFile);\r
+ this.setTitle("QuickDic: " + name);\r
+ dictRaf = new RandomAccessFile(dictFile, "r");\r
dictionary = new Dictionary(dictRaf); \r
} catch (Exception e) {\r
Log.e(LOG, "Unable to load dictionary.", e);\r
dictRaf = null;\r
}\r
Toast.makeText(this, getString(R.string.invalidDictionary, "", e.getMessage()), Toast.LENGTH_LONG);\r
- startActivity(DictionaryEditActivity.getLaunchIntent(dictFile));\r
+ startActivity(DictionaryManagerActivity.getLaunchIntent());\r
finish();\r
return;\r
}\r
dialog.setTitle(R.string.selectADictionary);\r
\r
ListView listView = (ListView) dialog.findViewById(android.R.id.list);\r
+ \r
+ final List<DictionaryInfo> installedDicts = ((DictionaryApplication)getApplication()).getUsableDicts();\r
\r
- QuickDicConfig quickDicConfig = PersistentObjectCache.init(\r
- this).read(C.DICTIONARY_CONFIGS, QuickDicConfig.class);\r
- final List<DictionaryInfo> dictionaryInfos = new ArrayList<DictionaryInfo>();\r
- for (final DictionaryInfo dictionaryInfo : quickDicConfig.dictionaryInfos) {\r
- if (new File(dictionaryInfo.localFile).canRead()) {\r
- dictionaryInfos.add(dictionaryInfo);\r
- }\r
- }\r
listView.setAdapter(new BaseAdapter() {\r
\r
@Override\r
public View getView(int position, View convertView, ViewGroup parent) {\r
final LinearLayout result = new LinearLayout(parent.getContext());\r
//result.addView(new Butt)\r
+ // TODO: me\r
return result;\r
}\r
\r
}\r
\r
@Override\r
- public Object getItem(int position) {\r
- return dictionaryInfos.get(position);\r
+ public DictionaryInfo getItem(int position) {\r
+ return installedDicts.get(position);\r
}\r
\r
@Override\r
public int getCount() {\r
- return dictionaryInfos.size();\r
+ return installedDicts.size();\r
}\r
});\r
}\r