Commit e935f3b4 authored by wanglei's avatar wanglei

...

parent ab637fc8
......@@ -19,6 +19,11 @@ object ConstObject {
const val MIME_TYPE_APK = "application/vnd.android.package-archive"
const val MIME_TYPE_ZIP = "application/zip"
const val DO_SPLIT_PDF = "do_split_pdf"
const val DO_SAVE_PDF = "do_save_pdf"
const val DO_MERGE_PDF = "do_merge_pdf"
var ifAgreePrivacy = false
get() {
return AppPreferences.getInstance().getBoolean("ifAgreePrivacy", field)
......
......@@ -22,10 +22,10 @@ import com.artifex.mupdfdemo.MuPDFReaderViewListener
import com.artifex.mupdfdemo.MuPDFView
import com.artifex.mupdfdemo.SearchTask
import com.artifex.mupdfdemo.SearchTaskResult
import com.base.pdfviewerscannerwhite.bean.ConstObject.DO_SAVE_PDF
import com.base.pdfviewerscannerwhite.bean.PdfPageBean
import com.base.pdfviewerscannerwhite.databinding.ActivityPdfBinding
import com.base.pdfviewerscannerwhite.helper.BaseActivity
import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfLoadingActivity.Companion.DO_SAVE_PDF
import com.base.pdfviewerscannerwhite.utils.KeyBoardUtils.hideKeyboard
import com.base.pdfviewerscannerwhite.utils.KeyBoardUtils.showKeyBoard
import com.base.pdfviewerscannerwhite.utils.ToastUtils.toast
......@@ -187,9 +187,10 @@ class PdfActivity : BaseActivity<ActivityPdfBinding>(), PdfView {
}
}
/**
*
*/
private fun resetPdfView() {
val pageView = binding.mupdfReaderView.displayedView as MuPDFView?
binding.mupdfReaderView.refresh(true)
}
private fun cancelOperation() {
......
......@@ -3,6 +3,9 @@ package com.base.pdfviewerscannerwhite.ui.document.pdf
import android.content.Intent
import androidx.lifecycle.lifecycleScope
import com.artifex.mupdfdemo.MuPDFCore
import com.base.pdfviewerscannerwhite.bean.ConstObject.DO_MERGE_PDF
import com.base.pdfviewerscannerwhite.bean.ConstObject.DO_SAVE_PDF
import com.base.pdfviewerscannerwhite.bean.ConstObject.DO_SPLIT_PDF
import com.base.pdfviewerscannerwhite.databinding.ActivityPdfLoadingBinding
import com.base.pdfviewerscannerwhite.helper.BaseActivity
import kotlinx.coroutines.Dispatchers
......@@ -94,9 +97,6 @@ class PdfLoadingActivity : BaseActivity<ActivityPdfLoadingBinding>() {
companion object {
var muPDFCore: MuPDFCore? = null
const val DO_SPLIT_PDF = "do_split_pdf"
const val DO_SAVE_PDF = "do_save_pdf"
const val DO_MERGE_PDF = "do_merge_pdf"
}
......
......@@ -3,10 +3,10 @@ package com.base.pdfviewerscannerwhite.ui.document.pdf
import android.content.Intent
import androidx.activity.addCallback
import androidx.recyclerview.widget.ItemTouchHelper
import com.base.pdfviewerscannerwhite.bean.ConstObject.DO_MERGE_PDF
import com.base.pdfviewerscannerwhite.bean.DocumentBean
import com.base.pdfviewerscannerwhite.databinding.ActivityPdfMergeBinding
import com.base.pdfviewerscannerwhite.helper.BaseActivity
import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfLoadingActivity.Companion.DO_MERGE_PDF
import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDocumentRenameDialog
import com.base.pdfviewerscannerwhite.utils.KotlinExt.toFormatTime2
import com.base.pdfviewerscannerwhite.utils.LogEx
......@@ -42,7 +42,7 @@ class PdfMergeActivity : BaseActivity<ActivityPdfMergeBinding>() {
showDocumentRenameDialog(name = "Merge_${System.currentTimeMillis().toFormatTime2()}", okAction = { name ->
startActivity(Intent(this, PdfLoadingActivity::class.java).apply {
putExtra("doWhat", DO_MERGE_PDF)
putExtra("newPath", pdfPresenter.createMergePdf(name))
putExtra("newPath", pdfPresenter.createNewPdfPath(name))
})
})
......
......@@ -5,12 +5,10 @@ import android.os.Environment
import com.artifex.mupdfdemo.MuPDFCore
import com.artifex.mupdfdemo.OutlineActivityData
import com.base.pdfviewerscannerwhite.R
import com.base.pdfviewerscannerwhite.bean.DocumentBean
import com.base.pdfviewerscannerwhite.bean.PdfPageBean
import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfMergeActivity.Companion.mergePdfList
import com.base.pdfviewerscannerwhite.utils.LogEx
import com.base.pdfviewerscannerwhite.utils.PdfBoxUtils
import com.tom_roush.pdfbox.io.MemoryUsageSetting
import com.tom_roush.pdfbox.multipdf.PDFMergerUtility
import com.tom_roush.pdfbox.pdmodel.PDDocument
import java.io.File
......@@ -75,7 +73,7 @@ class PdfPresenter(
finishAction.invoke(File(newPath))
}.start()
fun createNewPath(path: String): String {
fun createAvoidDupNamePath(path: String): String {
val file = File(path)
var newName = file.name.split(".")[0]
//aaaa_1.pdf
......@@ -99,19 +97,6 @@ class PdfPresenter(
return pattern.matches(input)
}
fun savePdf(context: Context, muPDFCore: MuPDFCore?, srcPath: String, newPath: String) {
val tempFile = File(context.filesDir, "temp.pdf")
if (!tempFile.exists()) {
tempFile.createNewFile()
}
File(srcPath).compareTo(tempFile)
muPDFCore?.save()
val newFile = File(newPath)
}
private fun createAppDocumentDir(): File {
val appName = context.resources.getString(R.string.app_name)
val appDir = File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS), appName)
......@@ -121,7 +106,7 @@ class PdfPresenter(
return appDir
}
fun createMergePdf(name: String): String {
fun createNewPdfPath(name: String): String {
val appDir = createAppDocumentDir()
val mergeFile = File(appDir, "$name.pdf")
mergeFile.createNewFile()
......
......@@ -4,6 +4,7 @@ import android.annotation.SuppressLint
import android.content.Intent
import android.view.View
import androidx.lifecycle.lifecycleScope
import com.base.pdfviewerscannerwhite.bean.ConstObject.DO_MERGE_PDF
import com.base.pdfviewerscannerwhite.bean.DocumentBean
import com.base.pdfviewerscannerwhite.databinding.ActivityPdfSelectBinding
import com.base.pdfviewerscannerwhite.helper.BaseActivity
......@@ -17,11 +18,14 @@ class PdfSelectActivity : BaseActivity<ActivityPdfSelectBinding>(), DocumentView
private lateinit var adapter: DocumentAdapter
private var doWhat: String = ""
override val binding: ActivityPdfSelectBinding by lazy {
ActivityPdfSelectBinding.inflate(layoutInflater)
}
override fun initView() {
doWhat = intent.extras?.getString("doWhat", "") ?: ""
documentPresenter = DocumentPresenter(this, this, DocumentBean.TYPE_PDF, lifecycleScope)
initAdapter()
......@@ -59,7 +63,11 @@ class PdfSelectActivity : BaseActivity<ActivityPdfSelectBinding>(), DocumentView
override fun refreshDocumentRv(documentList: List<DocumentBean>) {
super.refreshDocumentRv(documentList)
if (doWhat == DO_MERGE_PDF) {
documentList.map { it.showSelect = true }
}
adapter.submitList(documentList)
}
}
\ No newline at end of file
......@@ -44,7 +44,7 @@ class PdfSplitActivity : BaseActivity<ActivityPdfSplitBinding>(), PdfView {
showDocumentRenameDialog { newName ->
startActivity(Intent(this, PdfLoadingActivity::class.java).apply {
putExtra("srcPath", path)
putExtra("newName", newName)
putExtra("newPath", pdfPresenter.createNewPdfPath(newName))
putExtra("splitIndex", splitIndex.joinToString(separator = ","))
})
finish()
......
package com.base.pdfviewerscannerwhite.ui.main
import android.content.Intent
import com.base.pdfviewerscannerwhite.bean.ConstObject.DO_MERGE_PDF
import com.base.pdfviewerscannerwhite.bean.ConstObject.DO_SPLIT_PDF
import com.base.pdfviewerscannerwhite.databinding.FragmentToolBinding
import com.base.pdfviewerscannerwhite.helper.BaseFragment
import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfSelectActivity
import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfSplitActivity
class ToolFragment : BaseFragment<FragmentToolBinding>() {
......@@ -18,7 +21,14 @@ class ToolFragment : BaseFragment<FragmentToolBinding>() {
override fun setListener() {
super.setListener()
binding.llMerge.setOnClickListener {
startActivity(Intent(requireContext(), PdfSelectActivity::class.java))
startActivity(Intent(requireContext(), PdfSelectActivity::class.java).apply {
putExtra("doWhat", DO_MERGE_PDF)
})
}
binding.llSplit.setOnClickListener {
startActivity(Intent(requireContext(), PdfSelectActivity::class.java).apply {
putExtra("doWhat", DO_SPLIT_PDF)
})
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment