/* WordListAsyncUpdaterForeign.java - updates list of words in a background, asynchronously,
* words in foreign languages by IndexForeign->getByPrefixForeign().
*
* Copyright (c) 2012 Andrew Krizhanovsky <andrew.krizhanovsky at gmail.com>
* Distributed under EPL/LGPL/GPL/AL/BSD multi-license.
*/
package wikokit.kiwidict.wordlist;
import android.database.sqlite.SQLiteDatabase;
import android.os.AsyncTask;
import wikokit.base.wikipedia.language.LanguageType;
import wikokit.base.wikt.sql.TLang;
import wikokit.base.wikt.sql.TPage;
import wikokit.base.wikt.sql.index.IndexForeign;
public class WordListAsyncUpdaterForeign extends AsyncTask<Void, Void, IndexForeign[]> {
private boolean is_cancel = false;
SQLiteDatabase db;
String prefix_foreign_word;
int limit;
LanguageType native_lang, foreign_lang;
boolean b_meaning;
boolean b_sem_rel;
WordList wordlist;
WordListArrayAdapter word_list_adapter;
public WordListAsyncUpdaterForeign(
SQLiteDatabase _db,String _prefix_foreign_word,
int _limit,
LanguageType _native_lang,
LanguageType _foreign_lang,
boolean _b_meaning,
boolean _b_sem_rel,
WordList _wordlist,
WordListArrayAdapter _word_list_adapter
)
{
super();
db = _db;
prefix_foreign_word = _prefix_foreign_word;
limit = _limit;
native_lang = _native_lang;
foreign_lang = _foreign_lang;
b_meaning = _b_meaning;
b_sem_rel = _b_sem_rel;
wordlist = _wordlist;
word_list_adapter = _word_list_adapter;
}
@Override
protected void onPreExecute() {
}
@Override
protected void onCancelled() {
is_cancel = true;
}
@Override
protected IndexForeign[] doInBackground(Void... params) {
/** Foreign words extracted by several letters (prefix). */
IndexForeign[] index_foreign;
index_foreign = IndexForeign.getByPrefixForeign( db, prefix_foreign_word,
limit,
native_lang,
foreign_lang,
b_meaning,
b_sem_rel);
return index_foreign;
}
protected void onPostExecute(IndexForeign[] index_foreign) {
if(is_cancel)
return;
wordlist.index_foreign = index_foreign;
wordlist.foreign_array_string = wordlist.copyForeignWordsToStringArray(index_foreign);
word_list_adapter.updateData(wordlist.foreign_array_string, index_foreign);
}
}