package com.github.andlyticsproject; import java.util.List; import android.os.AsyncTask; import com.github.andlyticsproject.model.AppInfo; public class AsyncTasks { public interface LoadAppListTaskCompleteListener { public void onLoadAppListTaskComplete(List<AppInfo> apps); } public static class LoadAppListTask extends AsyncTask<String, Void, List<AppInfo>> { private List<AppInfo> mResult = null; private LoadAppListTaskCompleteListener mCallback; public LoadAppListTask(LoadAppListTaskCompleteListener callback) { mCallback = callback; } public void attach(LoadAppListTaskCompleteListener callback) { mCallback = callback; } public void detach() { mCallback = null; } public List<AppInfo> getResult() { return mResult; } @Override protected List<AppInfo> doInBackground(String... params) { return AndlyticsApp.getInstance().getDbAdapter().getAllAppsLatestStats(params[0]); } @Override protected void onPostExecute(List<AppInfo> result) { mResult = result; if (mCallback != null) { mCallback.onLoadAppListTaskComplete(mResult); } } } }