package com.zhan_dui.dictionary.asynctasks;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.AsyncTask;
import android.support.v4.widget.CursorAdapter;
import android.view.View;
import com.mobeta.android.dslv.DragSortListView;
import com.zhan_dui.dictionary.cursoradapters.OfflineListCursorAdapter;
import com.zhan_dui.dictionary.db.DictionaryDB;
/**
* 离线字典的管理功能
*
* @author xuanqinanhai
*
*/
public class GetOfflineAsyncTask extends AsyncTask<Void, Void, Cursor> {
private DragSortListView mOfflineDragSortListView;
private View mWaittingView;
private View mContainerView;
private SQLiteDatabase mSqLiteDatabase;
private Context mContext;
private Cursor mCursor;
private CursorAdapter mCursorAdapter;
public GetOfflineAsyncTask(View container) {
mContainerView = container;
mContext = container.getContext();
}
@Override
protected void onPreExecute() {
super.onPreExecute();
mWaittingView = mContainerView.findViewById(android.R.id.empty);
mWaittingView.setVisibility(View.VISIBLE);
}
@Override
protected Cursor doInBackground(Void... params) {
mOfflineDragSortListView = (DragSortListView) mContainerView
.findViewById(android.R.id.list);
mSqLiteDatabase = new DictionaryDB(mContext, DictionaryDB.DB_NAME,
null, DictionaryDB.DB_VERSION).getReadableDatabase();
mCursor = mSqLiteDatabase
.rawQuery(
"select * from dictionary_list where dictionary_downloaded = '1' order by `dictionary_order` asc",
null);
return mCursor;
}
@Override
protected void onPostExecute(Cursor result) {
super.onPostExecute(result);
mWaittingView.setVisibility(View.GONE);
mCursorAdapter = new OfflineListCursorAdapter(mContext, result, true);
mOfflineDragSortListView.setAdapter(mCursorAdapter);
mSqLiteDatabase.close();
}
}