From dcd248d16fb91d78a61809595cad5d10687b1041 Mon Sep 17 00:00:00 2001 From: Niko Diamadis Date: Fri, 16 Jul 2021 15:36:19 +0200 Subject: [PATCH] =?UTF-8?q?=C3=96ffne=20PDF-Datei=20nach=20Export=20(Close?= =?UTF-8?q?=20#2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fragments/ListingFragment.kt | 2 +- .../techniklogger/table/ExportBuilder.kt | 35 +++++++++++++++++-- app/src/main/res/layout/fragment_listing.xml | 13 ++++++- 3 files changed, 45 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/cyb3rko/techniklogger/fragments/ListingFragment.kt b/app/src/main/java/com/cyb3rko/techniklogger/fragments/ListingFragment.kt index 7ba0081..549d734 100644 --- a/app/src/main/java/com/cyb3rko/techniklogger/fragments/ListingFragment.kt +++ b/app/src/main/java/com/cyb3rko/techniklogger/fragments/ListingFragment.kt @@ -110,7 +110,7 @@ class ListingFragment : Fragment() { } binding.fab2.setOnClickListener { closeFABMenu() - ExportBuilder(myContext, data) + ExportBuilder(myContext, data, binding) } binding.fabBgLayout.setOnClickListener { diff --git a/app/src/main/java/com/cyb3rko/techniklogger/table/ExportBuilder.kt b/app/src/main/java/com/cyb3rko/techniklogger/table/ExportBuilder.kt index e0bbcc2..02f8f2e 100644 --- a/app/src/main/java/com/cyb3rko/techniklogger/table/ExportBuilder.kt +++ b/app/src/main/java/com/cyb3rko/techniklogger/table/ExportBuilder.kt @@ -1,8 +1,12 @@ package com.cyb3rko.techniklogger.table import android.content.Context +import android.content.Intent import android.os.Environment import android.util.Log +import android.view.View +import androidx.core.content.FileProvider +import com.cyb3rko.techniklogger.databinding.FragmentListingBinding import com.cyb3rko.techniklogger.recycler.ProjectViewState import com.itextpdf.text.* import com.itextpdf.text.pdf.PdfPTable @@ -14,24 +18,32 @@ import java.io.File import java.io.FileNotFoundException import java.io.FileOutputStream import java.io.IOException +import java.lang.Exception import java.text.SimpleDateFormat import java.util.* -class ExportBuilder(val myContext: Context, data: MutableList) : Document(PageSize.A4.rotate()) { +class ExportBuilder( + private val myContext: Context, + data: MutableList, + private val binding: FragmentListingBinding +) : Document(PageSize.A4.rotate()) { private val destination = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).toString() + "/" private val directory = File(destination) private val data = data.reversed() + private lateinit var file: File private val table = PdfPTable(4) private val techniker = mutableListOf>() private val time = SimpleDateFormat("dd.MM.yyyy, HH:mm", Locale.GERMANY).format(Date()) init { + binding.fabBgLayout.visibility = View.VISIBLE + binding.progressBar.visibility = View.VISIBLE if (!directory.exists()) { directory.mkdirs() } try { - val file = File(destination, "Arbeitseinsätze Technik - ${time.split(",")[0]}.pdf") + file = File(destination, "Arbeitseinsätze Technik - ${time.split(",")[0]}.pdf") file.createNewFile() val fOut = FileOutputStream(file, false) PdfWriter.getInstance(this, fOut) @@ -98,6 +110,23 @@ class ExportBuilder(val myContext: Context, data: MutableList - \ No newline at end of file + + +