Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package d_logic.ticketsale;
- import android.content.BroadcastReceiver;
- import android.content.Context;
- import android.content.Intent;
- import android.os.AsyncTask;
- import android.widget.Toast;
- import java.util.HashMap;
- import java.util.Map;
- import d_logic.translator.Translator;
- /**
- * Author: Aleksandar Arsic
- * Description:
- * Date created: 9/26/17 (mm/dd/yy)
- */
- public class AsyncTaskManager extends BroadcastReceiver {
- /**
- * Fields
- */
- private static HashMap<String,AsyncTask> hashMap;
- /**
- * Singleton pattern
- */
- private static AsyncTaskManager instance = null;
- private AsyncTaskManager() {
- hashMap = new HashMap<String, AsyncTask>();
- }
- public AsyncTaskManager getInstance() {
- if(instance == null) {
- instance = new AsyncTaskManager();
- }
- return instance;
- }
- /**
- * Add new AsyncTask in HashMap so that application can keep track of active async tasks
- * @param asyncTaskName
- * @param asyncTask
- */
- public static void addAsyncTask(String asyncTaskName,AsyncTask asyncTask) {
- hashMap.put(asyncTaskName,asyncTask);
- }
- /**
- * Remove specific async task from HashMap
- * @param asyncTaskName
- */
- public static void removeAsyncTask(String asyncTaskName) {
- hashMap.get(asyncTaskName).cancel(true);
- hashMap.remove(asyncTaskName);
- }
- /**
- * Remove all asynctasks
- */
- public static void clearAll() {
- for(Map.Entry m:hashMap.entrySet()){
- removeAsyncTask(m.getKey().toString());
- }
- }
- @Override
- public void onReceive(Context context, Intent intent) {
- if(Util.isNetworkAvailable(context)) {
- } else {
- clearAll();
- Intent noConnection = new Intent(context, NoConnection.class);
- noConnection.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- context.startActivity(noConnection);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement