diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/tasks/ImportDataTaskTest.java b/app/src/androidTest/java/org/isoron/uhabits/unit/tasks/ImportDataTaskTest.java index 43546ab6..f134f626 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/unit/tasks/ImportDataTaskTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/tasks/ImportDataTaskTest.java @@ -34,8 +34,6 @@ import org.junit.runner.RunWith; import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.equalTo; diff --git a/app/src/main/java/org/isoron/uhabits/loaders/HabitListLoader.java b/app/src/main/java/org/isoron/uhabits/loaders/HabitListLoader.java index 0f35ba44..12a8e9e9 100644 --- a/app/src/main/java/org/isoron/uhabits/loaders/HabitListLoader.java +++ b/app/src/main/java/org/isoron/uhabits/loaders/HabitListLoader.java @@ -164,6 +164,8 @@ public class HabitListLoader currentFetchTask = null; if(listener != null) listener.onLoadFinished(); + + super.onPostExecute(null); } }; @@ -194,6 +196,8 @@ public class HabitListLoader { if(listener != null) listener.onLoadFinished(); + + super.onPostExecute(null); } }.execute(); } diff --git a/app/src/main/java/org/isoron/uhabits/tasks/BaseTask.java b/app/src/main/java/org/isoron/uhabits/tasks/BaseTask.java index f22ebb43..b1cc0058 100644 --- a/app/src/main/java/org/isoron/uhabits/tasks/BaseTask.java +++ b/app/src/main/java/org/isoron/uhabits/tasks/BaseTask.java @@ -27,27 +27,29 @@ public abstract class BaseTask extends AsyncTask { private static int activeTaskCount; + @Override + protected void onPreExecute() + { + super.onPreExecute(); + activeTaskCount++; + } + + @Override + protected void onPostExecute(Void aVoid) + { + activeTaskCount--; + super.onPostExecute(null); + } + @Override protected final Void doInBackground(Void... params) { - register(); doInBackground(); - unregister(); return null; } protected abstract void doInBackground(); - protected void register() - { - activeTaskCount++; - } - - protected void unregister() - { - activeTaskCount--; - } - public static void waitForTasks(long timeout) throws TimeoutException, InterruptedException {