BackgroundTask.java 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package de.tudarmstadt.informatik.hostage.sync.wifi_direct;
  2. import android.os.AsyncTask;
  3. /**
  4. * Created by Julien on 07.01.2015.
  5. */
  6. public class BackgroundTask extends AsyncTask<Void, Void, String> {
  7. public interface BackgroundTaskCompletionListener {
  8. public void didSucceed();
  9. public void didFail();
  10. }
  11. private boolean isInterrupted;
  12. public void interrupt(boolean b){
  13. this.isInterrupted = b;
  14. }
  15. public boolean isInterrupted() {
  16. return isInterrupted;
  17. }
  18. private BackgroundTaskCompletionListener completion_listener;
  19. public BackgroundTask(BackgroundTaskCompletionListener l){
  20. super();
  21. this.completion_listener = l;
  22. }
  23. public void setInterrupted(boolean isInterrupted) {
  24. this.isInterrupted = isInterrupted;
  25. }
  26. public boolean performInBackground(){
  27. return true;
  28. }
  29. @Override
  30. protected String doInBackground(Void... params) {
  31. boolean success = this.performInBackground();
  32. if (this.completion_listener != null) {
  33. if (success){
  34. this.completion_listener.didSucceed();
  35. }else {
  36. this.completion_listener.didFail();
  37. }
  38. }
  39. return null;
  40. }
  41. /*
  42. * (non-Javadoc)
  43. * @see android.os.AsyncTask#onPostExecute(java.lang.Object)
  44. */
  45. @Override
  46. protected void onPostExecute(String result) {
  47. }
  48. /*
  49. * (non-Javadoc)
  50. * @see android.os.AsyncTask#onPreExecute()
  51. */
  52. @Override
  53. protected void onPreExecute() {
  54. }
  55. }