Convert Task and TaskRunner

This commit is contained in:
Quentin Hibon
2021-01-21 22:47:40 +01:00
parent 8131d37d8e
commit 7d361b2203
6 changed files with 36 additions and 51 deletions

View File

@@ -40,8 +40,8 @@ class TaskProgressBar(
isIndeterminate = true
}
override fun onTaskStarted(task: Task?) = update()
override fun onTaskFinished(task: Task?) = update()
override fun onTaskStarted(task: Task) = update()
override fun onTaskFinished(task: Task) = update()
override fun onAttachedToWindow() {
super.onAttachedToWindow()

View File

@@ -23,6 +23,8 @@ import android.os.*;
import org.isoron.uhabits.core.*;
import org.isoron.uhabits.core.tasks.*;
import org.isoron.uhabits.core.tasks.Task;
import org.jetbrains.annotations.NotNull;
import java.util.*;
@@ -53,18 +55,19 @@ public class AndroidTaskRunner implements TaskRunner
}
@Override
public void addListener(Listener listener)
public void addListener(@NotNull Listener listener)
{
listeners.add(listener);
}
@Override
public void execute(Task task)
public void execute(@NotNull Task task)
{
task.onAttached(this);
new CustomAsyncTask(task).execute();
}
@Override
public int getActiveTaskCount()
{
@@ -72,7 +75,7 @@ public class AndroidTaskRunner implements TaskRunner
}
@Override
public void publishProgress(Task task, int progress)
public void publishProgress(@NotNull Task task, int progress)
{
CustomAsyncTask asyncTask = taskToAsyncTask.get(task);
if (asyncTask == null) return;
@@ -80,11 +83,12 @@ public class AndroidTaskRunner implements TaskRunner
}
@Override
public void removeListener(Listener listener)
public void removeListener(@NotNull Listener listener)
{
listeners.remove(listener);
}
private class CustomAsyncTask extends AsyncTask<Void, Integer, Void>
{
private final Task task;