From 6485c3efee4547395f1072608e04951efc8729f1 Mon Sep 17 00:00:00 2001 From: Quentin Hibon Date: Thu, 21 Jan 2021 22:37:25 +0100 Subject: [PATCH] Convert ExportCSVTask --- .../uhabits/core/tasks/ExportCSVTask.java | 81 ------------------- .../uhabits/core/tasks/ExportCSVTask.kt | 49 +++++++++++ 2 files changed, 49 insertions(+), 81 deletions(-) delete mode 100644 uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/tasks/ExportCSVTask.java create mode 100644 uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/tasks/ExportCSVTask.kt diff --git a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/tasks/ExportCSVTask.java b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/tasks/ExportCSVTask.java deleted file mode 100644 index e1120a87c..000000000 --- a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/tasks/ExportCSVTask.java +++ /dev/null @@ -1,81 +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 androidx.annotation.*; - -import org.isoron.uhabits.core.io.*; -import org.isoron.uhabits.core.models.*; - -import java.io.*; -import java.util.*; - -public class ExportCSVTask implements Task -{ - private String archiveFilename; - - @NonNull - private final List selectedHabits; - - private File outputDir; - - @NonNull - private final ExportCSVTask.Listener listener; - - @NonNull - private final HabitList habitList; - - public ExportCSVTask(@NonNull HabitList habitList, - @NonNull List selectedHabits, - @NonNull File outputDir, - @NonNull Listener listener) - { - this.listener = listener; - this.habitList = habitList; - this.selectedHabits = selectedHabits; - this.outputDir = outputDir; - } - - @Override - public void doInBackground() - { - try - { - HabitsCSVExporter exporter; - exporter = new HabitsCSVExporter(habitList, selectedHabits, outputDir); - archiveFilename = exporter.writeArchive(); - } - catch (Exception e) - { - e.printStackTrace(); - } - } - - @Override - public void onPostExecute() - { - listener.onExportCSVFinished(archiveFilename); - } - - public interface Listener - { - void onExportCSVFinished(@Nullable String archiveFilename); - } -} diff --git a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/tasks/ExportCSVTask.kt b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/tasks/ExportCSVTask.kt new file mode 100644 index 000000000..b3cbdb2e7 --- /dev/null +++ b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/tasks/ExportCSVTask.kt @@ -0,0 +1,49 @@ +/* + * 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 org.isoron.uhabits.core.io.HabitsCSVExporter +import org.isoron.uhabits.core.models.Habit +import org.isoron.uhabits.core.models.HabitList +import java.io.File + +class ExportCSVTask( + private val habitList: HabitList, + private val selectedHabits: List, + private val outputDir: File, + private val listener: Listener +) : Task { + private var archiveFilename: String? = null + override fun doInBackground() { + try { + val exporter = HabitsCSVExporter(habitList, selectedHabits, outputDir) + archiveFilename = exporter.writeArchive() + } catch (e: Exception) { + e.printStackTrace() + } + } + + override fun onPostExecute() { + listener.onExportCSVFinished(archiveFilename) + } + + fun interface Listener { + fun onExportCSVFinished(archiveFilename: String?) + } +}