diff --git a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/tasks/SingleThreadTaskRunner.java b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/tasks/SingleThreadTaskRunner.java deleted file mode 100644 index df952496c..000000000 --- a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/tasks/SingleThreadTaskRunner.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2016-2021 Álinson Santos Xavier - * - * This file is part of Loop Habit Tracker. - * - * Loop Habit Tracker is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by the - * Free Software Foundation, either version 3 of the License, or (at your - * option) any later version. - * - * Loop Habit Tracker is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -package org.isoron.uhabits.core.tasks; - -import java.util.*; - -public class SingleThreadTaskRunner implements TaskRunner -{ - private List listeners = new LinkedList<>(); - - @Override - public void addListener(Listener listener) - { - listeners.add(listener); - } - - @Override - public void execute(Task task) - { - for(Listener l : listeners) l.onTaskStarted(task); - if(!task.isCanceled()) - { - task.onAttached(this); - task.onPreExecute(); - task.doInBackground(); - task.onPostExecute(); - } - for(Listener l : listeners) l.onTaskFinished(task); - } - - @Override - public int getActiveTaskCount() - { - return 0; - } - - @Override - public void publishProgress(Task task, int progress) - { - task.onProgressUpdate(progress); - } - - @Override - public void removeListener(Listener listener) - { - listeners.remove(listener); - } -} diff --git a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/tasks/SingleThreadTaskRunner.kt b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/tasks/SingleThreadTaskRunner.kt new file mode 100644 index 000000000..c2a151a7b --- /dev/null +++ b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/tasks/SingleThreadTaskRunner.kt @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2016-2021 Álinson Santos Xavier + * + * This file is part of Loop Habit Tracker. + * + * Loop Habit Tracker is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * Loop Habit Tracker is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ +package org.isoron.uhabits.core.tasks + +import java.util.LinkedList + +class SingleThreadTaskRunner : TaskRunner { + private val listeners: MutableList = LinkedList() + override fun addListener(listener: TaskRunner.Listener) { + listeners.add(listener) + } + + override fun execute(task: Task) { + for (l in listeners) l.onTaskStarted(task) + if (!task.isCanceled) { + task.onAttached(this) + task.onPreExecute() + task.doInBackground() + task.onPostExecute() + } + for (l in listeners) l.onTaskFinished(task) + } + + override fun getActiveTaskCount(): Int { + return 0 + } + + override fun publishProgress(task: Task, progress: Int) { + task.onProgressUpdate(progress) + } + + override fun removeListener(listener: TaskRunner.Listener) { + listeners.remove(listener) + } +}