Commit fb4966ef authored by wanglei's avatar wanglei

...

parent a4d8ecd3
...@@ -26,9 +26,9 @@ object ConstObject { ...@@ -26,9 +26,9 @@ object ConstObject {
const val DO_LOCK_PDF = "do_lock_pdf" const val DO_LOCK_PDF = "do_lock_pdf"
const val DO_UNLOCK_PDF = "do_unlock_pdf" const val DO_UNLOCK_PDF = "do_unlock_pdf"
const val DOCUMENT_UI_TYPE = "document" const val DOCUMENT_DATA_TYPE = "document"
const val RECENT_UI_TYPE = "recent" const val RECENT_DATA_TYPE = "recent"
const val BOOKMARK_UI_TYPE = "bookmark" const val BOOKMARK_DATA_TYPE = "bookmark"
const val UI_MODE_NORMAL = "ui_mode_normal" const val UI_MODE_NORMAL = "ui_mode_normal"
const val UI_MODE_SELECT = "ui_mode_select" const val UI_MODE_SELECT = "ui_mode_select"
......
...@@ -12,7 +12,7 @@ import com.base.pdfviewerscannerwhite.bean.ConstObject.DO_UNLOCK_PDF ...@@ -12,7 +12,7 @@ import com.base.pdfviewerscannerwhite.bean.ConstObject.DO_UNLOCK_PDF
import com.base.pdfviewerscannerwhite.bean.DocumentBean import com.base.pdfviewerscannerwhite.bean.DocumentBean
import com.base.pdfviewerscannerwhite.databinding.ActivityPdfSelectBinding import com.base.pdfviewerscannerwhite.databinding.ActivityPdfSelectBinding
import com.base.pdfviewerscannerwhite.helper.BaseActivity import com.base.pdfviewerscannerwhite.helper.BaseActivity
import com.base.pdfviewerscannerwhite.ui.adapter.DocumentAdapter import com.base.pdfviewerscannerwhite.ui.main.DocumentAdapter
import com.base.pdfviewerscannerwhite.ui.main.DocumentPresenter import com.base.pdfviewerscannerwhite.ui.main.DocumentPresenter
import com.base.pdfviewerscannerwhite.ui.main.DocumentView import com.base.pdfviewerscannerwhite.ui.main.DocumentView
import com.base.pdfviewerscannerwhite.ui.view.PdfDialog.showPdfPwdDialog import com.base.pdfviewerscannerwhite.ui.view.PdfDialog.showPdfPwdDialog
......
package com.base.pdfviewerscannerwhite.ui.adapter package com.base.pdfviewerscannerwhite.ui.main
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context import android.content.Context
......
...@@ -10,64 +10,63 @@ import androidx.viewpager2.widget.ViewPager2 ...@@ -10,64 +10,63 @@ import androidx.viewpager2.widget.ViewPager2
import com.angcyo.tablayout.DslTabIndicator import com.angcyo.tablayout.DslTabIndicator
import com.angcyo.tablayout.delegate2.ViewPager2Delegate import com.angcyo.tablayout.delegate2.ViewPager2Delegate
import com.base.pdfviewerscannerwhite.R import com.base.pdfviewerscannerwhite.R
import com.base.pdfviewerscannerwhite.bean.ConstObject.BOOKMARK_UI_TYPE import com.base.pdfviewerscannerwhite.bean.ConstObject.BOOKMARK_DATA_TYPE
import com.base.pdfviewerscannerwhite.bean.ConstObject.DOCUMENT_UI_TYPE import com.base.pdfviewerscannerwhite.bean.ConstObject.DOCUMENT_DATA_TYPE
import com.base.pdfviewerscannerwhite.bean.ConstObject.RECENT_UI_TYPE import com.base.pdfviewerscannerwhite.bean.ConstObject.RECENT_DATA_TYPE
import com.base.pdfviewerscannerwhite.bean.ConstObject.UI_MODE_NORMAL import com.base.pdfviewerscannerwhite.bean.ConstObject.UI_MODE_NORMAL
import com.base.pdfviewerscannerwhite.bean.ConstObject.UI_MODE_SEARCH import com.base.pdfviewerscannerwhite.bean.ConstObject.UI_MODE_SEARCH
import com.base.pdfviewerscannerwhite.bean.ConstObject.UI_MODE_SELECT import com.base.pdfviewerscannerwhite.bean.ConstObject.UI_MODE_SELECT
import com.base.pdfviewerscannerwhite.bean.DocumentBean import com.base.pdfviewerscannerwhite.bean.DocumentBean
import com.base.pdfviewerscannerwhite.databinding.FragmentDocumentBinding import com.base.pdfviewerscannerwhite.databinding.FragmentDocumentBinding
import com.base.pdfviewerscannerwhite.helper.BaseFragment import com.base.pdfviewerscannerwhite.helper.BaseFragment
import com.base.pdfviewerscannerwhite.ui.adapter.DocumentAdapter
import com.base.pdfviewerscannerwhite.ui.main.MainActivity.Companion.jumpDocument import com.base.pdfviewerscannerwhite.ui.main.MainActivity.Companion.jumpDocument
import com.base.pdfviewerscannerwhite.utils.KeyBoardUtils.hideKeyboard import com.base.pdfviewerscannerwhite.utils.KeyBoardUtils.hideKeyboard
import com.base.pdfviewerscannerwhite.utils.KeyBoardUtils.showKeyBoard import com.base.pdfviewerscannerwhite.utils.KeyBoardUtils.showKeyBoard
import com.base.pdfviewerscannerwhite.utils.LogEx import com.base.pdfviewerscannerwhite.utils.LogEx
class DocumentFragment( class DocumentFragment(
val type: String = "" val dataType: String = ""
) : BaseFragment<FragmentDocumentBinding>() { ) : BaseFragment<FragmentDocumentBinding>() {
private val TAG = "DocumentFragment" private val TAG = "DocumentFragment"
private val pdfPage: DocumentPageFragment by lazy { private val pdfPage: DocumentPageFragment by lazy {
DocumentPageFragment(DocumentBean.TYPE_PDF) DocumentPageFragment(DocumentBean.TYPE_PDF, dataType)
} }
private val wordPage: DocumentPageFragment by lazy { private val wordPage: DocumentPageFragment by lazy {
DocumentPageFragment(DocumentBean.TYPE_WORD) DocumentPageFragment(DocumentBean.TYPE_WORD, dataType)
} }
private val excelPage: DocumentPageFragment by lazy { private val excelPage: DocumentPageFragment by lazy {
DocumentPageFragment(DocumentBean.TYPE_EXCEL) DocumentPageFragment(DocumentBean.TYPE_EXCEL, dataType)
} }
private val pptPage: DocumentPageFragment by lazy { private val pptPage: DocumentPageFragment by lazy {
DocumentPageFragment(DocumentBean.TYPE_PPT) DocumentPageFragment(DocumentBean.TYPE_PPT, dataType)
} }
private val fragments by lazy { private val fragments by lazy {
mutableListOf(pdfPage, wordPage, excelPage, pptPage) mutableListOf(pdfPage, wordPage, excelPage, pptPage)
} }
private var currentFragment: Fragment = pdfPage var currentPage: DocumentPageFragment = pdfPage
override val binding: FragmentDocumentBinding by lazy { override val binding: FragmentDocumentBinding by lazy {
FragmentDocumentBinding.inflate(layoutInflater) FragmentDocumentBinding.inflate(layoutInflater)
} }
private lateinit var searchAdapter: DocumentAdapter lateinit var searchAdapter: DocumentAdapter
var uiMode = UI_MODE_NORMAL var uiMode = UI_MODE_NORMAL
@SuppressLint("SetTextI18n") @SuppressLint("SetTextI18n")
override fun setView() { override fun setView() {
when (type) { when (dataType) {
DOCUMENT_UI_TYPE -> { DOCUMENT_DATA_TYPE -> {
binding.tvTittle.text = "Document" binding.tvTittle.text = "Document"
} }
RECENT_UI_TYPE -> { RECENT_DATA_TYPE -> {
binding.tvTittle.text = "Recent" binding.tvTittle.text = "Recent"
binding.ivPaixu.visibility = View.INVISIBLE binding.ivPaixu.visibility = View.INVISIBLE
} }
BOOKMARK_UI_TYPE -> { BOOKMARK_DATA_TYPE -> {
binding.tvTittle.text = "Bookmark" binding.tvTittle.text = "Bookmark"
} }
...@@ -81,9 +80,7 @@ class DocumentFragment( ...@@ -81,9 +80,7 @@ class DocumentFragment(
searchAdapter = DocumentAdapter() searchAdapter = DocumentAdapter()
binding.rvSearch.adapter = searchAdapter binding.rvSearch.adapter = searchAdapter
searchAdapter.moreAction = { item -> searchAdapter.moreAction = { item ->
if (currentFragment is DocumentPageFragment) { currentPage.documentMoreAction.invoke(item)
(currentFragment as DocumentPageFragment).documentMoreAction.invoke(item)
}
} }
searchAdapter.itemClick = { searchAdapter.itemClick = {
requireActivity().jumpDocument(it) requireActivity().jumpDocument(it)
...@@ -117,7 +114,6 @@ class DocumentFragment( ...@@ -117,7 +114,6 @@ class DocumentFragment(
} }
} }
private fun initPageViewer() { private fun initPageViewer() {
binding.viewPager2.run { binding.viewPager2.run {
isUserInputEnabled = true isUserInputEnabled = true
...@@ -144,7 +140,7 @@ class DocumentFragment( ...@@ -144,7 +140,7 @@ class DocumentFragment(
} }
override fun onPageSelected(position: Int) { override fun onPageSelected(position: Int) {
currentFragment = fragments[position] currentPage = fragments[position]
} }
}) })
} }
...@@ -213,8 +209,8 @@ class DocumentFragment( ...@@ -213,8 +209,8 @@ class DocumentFragment(
(requireActivity() as MainActivity).changeSelectUI(true) (requireActivity() as MainActivity).changeSelectUI(true)
if (currentFragment is DocumentPageFragment) { if (currentPage is DocumentPageFragment) {
(currentFragment as DocumentPageFragment).changeSelectUi(true) (currentPage as DocumentPageFragment).changeSelectUi(true)
} }
} else { } else {
binding.viewPager2.isUserInputEnabled = true binding.viewPager2.isUserInputEnabled = true
...@@ -223,7 +219,7 @@ class DocumentFragment( ...@@ -223,7 +219,7 @@ class DocumentFragment(
binding.flFanhui.visibility = View.INVISIBLE binding.flFanhui.visibility = View.INVISIBLE
binding.ivAllSelector.visibility = View.INVISIBLE binding.ivAllSelector.visibility = View.INVISIBLE
if (type != RECENT_UI_TYPE) { if (dataType != RECENT_DATA_TYPE) {
binding.ivPaixu.visibility = View.VISIBLE binding.ivPaixu.visibility = View.VISIBLE
} }
binding.ivXuanze.visibility = View.VISIBLE binding.ivXuanze.visibility = View.VISIBLE
...@@ -237,8 +233,8 @@ class DocumentFragment( ...@@ -237,8 +233,8 @@ class DocumentFragment(
} }
private fun changePageSelect(select: Boolean) { private fun changePageSelect(select: Boolean) {
if (currentFragment is DocumentPageFragment) { if (currentPage is DocumentPageFragment) {
(currentFragment as DocumentPageFragment).changItemSelect(select) (currentPage as DocumentPageFragment).changItemSelect(select)
} }
} }
...@@ -255,6 +251,7 @@ class DocumentFragment( ...@@ -255,6 +251,7 @@ class DocumentFragment(
binding.flFanhui.visibility = View.VISIBLE binding.flFanhui.visibility = View.VISIBLE
binding.editSearch.visibility = View.VISIBLE binding.editSearch.visibility = View.VISIBLE
binding.flSearch.visibility = View.VISIBLE
(requireActivity() as MainActivity).changeSearchUI(true) (requireActivity() as MainActivity).changeSearchUI(true)
...@@ -266,15 +263,19 @@ class DocumentFragment( ...@@ -266,15 +263,19 @@ class DocumentFragment(
binding.editSearch.visibility = View.INVISIBLE binding.editSearch.visibility = View.INVISIBLE
binding.flFanhui.visibility = View.INVISIBLE binding.flFanhui.visibility = View.INVISIBLE
binding.flSearch.visibility = View.INVISIBLE
binding.tvTittle.visibility = View.VISIBLE binding.tvTittle.visibility = View.VISIBLE
if (dataType != RECENT_DATA_TYPE) {
binding.ivPaixu.visibility = View.VISIBLE binding.ivPaixu.visibility = View.VISIBLE
}
binding.ivXuanze.visibility = View.VISIBLE binding.ivXuanze.visibility = View.VISIBLE
binding.llMainContent.visibility = View.VISIBLE binding.llMainContent.visibility = View.VISIBLE
(requireActivity() as MainActivity).changeSearchUI(false) (requireActivity() as MainActivity).changeSearchUI(false)
requireContext().hideKeyboard(binding.editSearch) requireContext().hideKeyboard(binding.editSearch)
searchAdapter.submitList(listOf())
} }
} }
...@@ -283,8 +284,8 @@ class DocumentFragment( ...@@ -283,8 +284,8 @@ class DocumentFragment(
private fun searchDocument() { private fun searchDocument() {
if (binding.editSearch.text.isNotEmpty()) { if (binding.editSearch.text.isNotEmpty()) {
val search = binding.editSearch.text.toString() val search = binding.editSearch.text.toString()
if (currentFragment is DocumentPageFragment) { if (currentPage is DocumentPageFragment) {
val item = (currentFragment as DocumentPageFragment).getSearchItems(search) val item = (currentPage as DocumentPageFragment).getSearchItems(search)
if (item.isNotEmpty()) { if (item.isNotEmpty()) {
item.map { it.uiType = 4 } item.map { it.uiType = 4 }
searchAdapter.submitList(item) searchAdapter.submitList(item)
...@@ -295,4 +296,8 @@ class DocumentFragment( ...@@ -295,4 +296,8 @@ class DocumentFragment(
} }
} }
fun searchDeleteDocument(item: DocumentBean) {
searchAdapter.remove(item)
}
} }
\ No newline at end of file
package com.base.pdfviewerscannerwhite.ui.main package com.base.pdfviewerscannerwhite.ui.main
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.Activity
import android.content.Intent import android.content.Intent
import androidx.core.view.isVisible import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
...@@ -13,19 +12,11 @@ import com.base.pdfviewerscannerwhite.bean.DocumentBean.Companion.TYPE_PPT ...@@ -13,19 +12,11 @@ import com.base.pdfviewerscannerwhite.bean.DocumentBean.Companion.TYPE_PPT
import com.base.pdfviewerscannerwhite.bean.DocumentBean.Companion.TYPE_WORD import com.base.pdfviewerscannerwhite.bean.DocumentBean.Companion.TYPE_WORD
import com.base.pdfviewerscannerwhite.databinding.FragmentDocumentPageBinding import com.base.pdfviewerscannerwhite.databinding.FragmentDocumentPageBinding
import com.base.pdfviewerscannerwhite.helper.BaseFragment import com.base.pdfviewerscannerwhite.helper.BaseFragment
import com.base.pdfviewerscannerwhite.ui.adapter.DocumentAdapter
import com.base.pdfviewerscannerwhite.ui.document.excel.ExcelActivity
import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfActivity
import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfSelectActivity import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfSelectActivity
import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfSplitActivity import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfSplitActivity
import com.base.pdfviewerscannerwhite.ui.document.ppt.PptActivity
import com.base.pdfviewerscannerwhite.ui.document.word.WordActivity
import com.base.pdfviewerscannerwhite.ui.main.MainActivity.Companion.jumpDocument import com.base.pdfviewerscannerwhite.ui.main.MainActivity.Companion.jumpDocument
import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDocumentHomeMoreDialog
import com.base.pdfviewerscannerwhite.ui.view.PdfDialog.showPdfHomeMoreDialog import com.base.pdfviewerscannerwhite.ui.view.PdfDialog.showPdfHomeMoreDialog
import com.base.pdfviewerscannerwhite.ui.view.PdfDialog.showPdfPwdDialog
import com.base.pdfviewerscannerwhite.utils.LogEx import com.base.pdfviewerscannerwhite.utils.LogEx
import com.base.pdfviewerscannerwhite.utils.PermissionUtils.checkStorePermission
import java.io.File import java.io.File
import java.util.Locale import java.util.Locale
...@@ -33,12 +24,14 @@ class DocumentPageFragment() : BaseFragment<FragmentDocumentPageBinding>(), Docu ...@@ -33,12 +24,14 @@ class DocumentPageFragment() : BaseFragment<FragmentDocumentPageBinding>(), Docu
private val TAG = "DocumentFragment" private val TAG = "DocumentFragment"
var type = TYPE_PDF var type = TYPE_PDF
var dataType: String = ""
private var documentList: ArrayList<DocumentBean> = arrayListOf() private var documentList: ArrayList<DocumentBean> = arrayListOf()
lateinit var adapter: DocumentAdapter lateinit var adapter: DocumentAdapter
lateinit var documentPresenter: DocumentPresenter lateinit var documentPresenter: DocumentPresenter
constructor(type: String) : this() { constructor(type: String, dataType: String) : this() {
this.type = type this.type = type
this.dataType = dataType
} }
override val binding: FragmentDocumentPageBinding by lazy { override val binding: FragmentDocumentPageBinding by lazy {
...@@ -53,15 +46,18 @@ class DocumentPageFragment() : BaseFragment<FragmentDocumentPageBinding>(), Docu ...@@ -53,15 +46,18 @@ class DocumentPageFragment() : BaseFragment<FragmentDocumentPageBinding>(), Docu
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
initData() refreshData()
} }
fun initData() { fun refreshData() {
if (requireContext().checkStorePermission()) { if (isVisible) {
documentPresenter.initData() val list = (requireActivity() as MainActivity).mainPresenter.getDataByType(type, dataType)
adapter.submitList(list)
binding.llEmpty.isVisible = list.isEmpty()
} }
} }
override fun refreshDocumentRv(documentList: List<DocumentBean>) { override fun refreshDocumentRv(documentList: List<DocumentBean>) {
binding.llEmpty.isVisible = documentList.isEmpty() binding.llEmpty.isVisible = documentList.isEmpty()
this.documentList.clear() this.documentList.clear()
...@@ -84,15 +80,15 @@ class DocumentPageFragment() : BaseFragment<FragmentDocumentPageBinding>(), Docu ...@@ -84,15 +80,15 @@ class DocumentPageFragment() : BaseFragment<FragmentDocumentPageBinding>(), Docu
} }
var documentMoreAction: (item: DocumentBean) -> Unit = { item -> var documentMoreAction: (item: DocumentBean) -> Unit = { item ->
val mainActivity = (requireActivity() as MainActivity) val documentFragment = parentFragment as DocumentFragment
if (item.type == TYPE_PDF) { if (item.type == TYPE_PDF) {
requireContext().showPdfHomeMoreDialog( requireContext().showPdfHomeMoreDialog(
item, adapter, this, mainActivity item, adapter, this, documentFragment
) )
} }
if (item.type == TYPE_WORD || item.type == TYPE_EXCEL || item.type == TYPE_PPT) { if (item.type == TYPE_WORD || item.type == TYPE_EXCEL || item.type == TYPE_PPT) {
requireContext().showDocumentHomeMoreDialog(item, this, mainActivity) // requireContext().showDocumentHomeMoreDialog(item, this, documentFragment)
} }
} }
...@@ -117,34 +113,6 @@ class DocumentPageFragment() : BaseFragment<FragmentDocumentPageBinding>(), Docu ...@@ -117,34 +113,6 @@ class DocumentPageFragment() : BaseFragment<FragmentDocumentPageBinding>(), Docu
binding.llEmpty.isVisible = adapter.items.isEmpty() binding.llEmpty.isVisible = adapter.items.isEmpty()
} }
fun setRecentList() {
if (isVisible) {
val recentList = documentList.filter {
(System.currentTimeMillis() - File(it.path).lastModified()) < 300L * 24 * 60 * 60 * 1000
}
binding.llEmpty.isVisible = recentList.isEmpty()
adapter.submitList(recentList)
}
}
fun setAllList() {
if (isVisible) {
adapter.submitList(documentList)
binding.llEmpty.isVisible = documentList.isEmpty()
}
}
fun setBookmarkList() {
if (isVisible) {
val bookmarkList = documentList.filter { it.isBookmarked }
binding.llEmpty.isVisible = bookmarkList.isEmpty()
adapter.submitList(bookmarkList)
}
}
@SuppressLint("NotifyDataSetChanged") @SuppressLint("NotifyDataSetChanged")
fun changeSelectUi(select: Boolean) { fun changeSelectUi(select: Boolean) {
if (isVisible) { if (isVisible) {
...@@ -185,14 +153,4 @@ class DocumentPageFragment() : BaseFragment<FragmentDocumentPageBinding>(), Docu ...@@ -185,14 +153,4 @@ class DocumentPageFragment() : BaseFragment<FragmentDocumentPageBinding>(), Docu
return listOf() return listOf()
} }
@SuppressLint("NotifyDataSetChanged")
fun changeHomeUI() {
if (isVisible) {
adapter.items.map { it.uiType == 0 }
adapter.notifyDataSetChanged()
}
}
} }
\ No newline at end of file
...@@ -6,10 +6,6 @@ import com.base.pdfviewerscannerwhite.bean.ConstObject ...@@ -6,10 +6,6 @@ import com.base.pdfviewerscannerwhite.bean.ConstObject
import com.base.pdfviewerscannerwhite.bean.ConstObject.haveSaveDemo import com.base.pdfviewerscannerwhite.bean.ConstObject.haveSaveDemo
import com.base.pdfviewerscannerwhite.bean.DocumentBean import com.base.pdfviewerscannerwhite.bean.DocumentBean
import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfBoxUtils import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfBoxUtils
import com.base.pdfviewerscannerwhite.utils.AssetUtils.getDemoDocx
import com.base.pdfviewerscannerwhite.utils.AssetUtils.getDemoPdf
import com.base.pdfviewerscannerwhite.utils.AssetUtils.getDemoPptx
import com.base.pdfviewerscannerwhite.utils.AssetUtils.getDemoXlsx
import com.base.pdfviewerscannerwhite.utils.AssetUtils.saveAssetsFile import com.base.pdfviewerscannerwhite.utils.AssetUtils.saveAssetsFile
import com.base.pdfviewerscannerwhite.utils.LogEx import com.base.pdfviewerscannerwhite.utils.LogEx
import com.base.pdfviewerscannerwhite.utils.SpStringUtils import com.base.pdfviewerscannerwhite.utils.SpStringUtils
......
...@@ -6,11 +6,12 @@ import android.net.Uri ...@@ -6,11 +6,12 @@ import android.net.Uri
import android.view.View import android.view.View
import androidx.activity.OnBackPressedCallback import androidx.activity.OnBackPressedCallback
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.lifecycle.lifecycleScope
import com.base.pdfviewerscannerwhite.R import com.base.pdfviewerscannerwhite.R
import com.base.pdfviewerscannerwhite.bean.ConstObject import com.base.pdfviewerscannerwhite.bean.ConstObject
import com.base.pdfviewerscannerwhite.bean.ConstObject.BOOKMARK_UI_TYPE import com.base.pdfviewerscannerwhite.bean.ConstObject.BOOKMARK_DATA_TYPE
import com.base.pdfviewerscannerwhite.bean.ConstObject.DOCUMENT_UI_TYPE import com.base.pdfviewerscannerwhite.bean.ConstObject.DOCUMENT_DATA_TYPE
import com.base.pdfviewerscannerwhite.bean.ConstObject.RECENT_UI_TYPE import com.base.pdfviewerscannerwhite.bean.ConstObject.RECENT_DATA_TYPE
import com.base.pdfviewerscannerwhite.bean.DocumentBean import com.base.pdfviewerscannerwhite.bean.DocumentBean
import com.base.pdfviewerscannerwhite.databinding.ActivityMain2Binding import com.base.pdfviewerscannerwhite.databinding.ActivityMain2Binding
import com.base.pdfviewerscannerwhite.helper.BaseActivity import com.base.pdfviewerscannerwhite.helper.BaseActivity
...@@ -19,23 +20,25 @@ import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfActivity ...@@ -19,23 +20,25 @@ import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfActivity
import com.base.pdfviewerscannerwhite.ui.document.ppt.PptActivity import com.base.pdfviewerscannerwhite.ui.document.ppt.PptActivity
import com.base.pdfviewerscannerwhite.ui.document.word.WordActivity import com.base.pdfviewerscannerwhite.ui.document.word.WordActivity
import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDeleteDialog import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDeleteDialog
import com.base.pdfviewerscannerwhite.ui.view.DialogView.showStoragePermission
import com.base.pdfviewerscannerwhite.ui.view.PdfDialog.showPdfPwdDialog import com.base.pdfviewerscannerwhite.ui.view.PdfDialog.showPdfPwdDialog
import com.base.pdfviewerscannerwhite.utils.IntentShareUtils.shareMutDocuments import com.base.pdfviewerscannerwhite.utils.IntentShareUtils.shareMutDocuments
import com.base.pdfviewerscannerwhite.utils.PermissionUtils.checkStorePermission
class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView { class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
private lateinit var mainPresenter: MainPresenter lateinit var mainPresenter: MainPresenter
override val binding: ActivityMain2Binding by lazy { override val binding: ActivityMain2Binding by lazy {
ActivityMain2Binding.inflate(layoutInflater) ActivityMain2Binding.inflate(layoutInflater)
} }
private val documentFragment: DocumentFragment by lazy { private val documentFragment: DocumentFragment by lazy {
DocumentFragment(DOCUMENT_UI_TYPE) DocumentFragment(DOCUMENT_DATA_TYPE)
} }
private val recentFragment: DocumentFragment by lazy { private val recentFragment: DocumentFragment by lazy {
DocumentFragment(RECENT_UI_TYPE) DocumentFragment(RECENT_DATA_TYPE)
} }
private val bookmarkFragment: DocumentFragment by lazy { private val bookmarkFragment: DocumentFragment by lazy {
DocumentFragment(BOOKMARK_UI_TYPE) DocumentFragment(BOOKMARK_DATA_TYPE)
} }
private val toolFragment: Fragment by lazy { private val toolFragment: Fragment by lazy {
ToolFragment() ToolFragment()
...@@ -43,7 +46,19 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView { ...@@ -43,7 +46,19 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
private var currentFragment: Fragment = documentFragment private var currentFragment: Fragment = documentFragment
override fun initView() { override fun initView() {
mainPresenter = MainPresenter(this, this) mainPresenter = MainPresenter(this, this, lifecycleScope)
}
override fun onResume() {
super.onResume()
if (checkStorePermission() && needRefresh) {
mainPresenter.initAllDocumentData()
} else {
showStoragePermission(launcher, allowAction = {
mainPresenter.initAllDocumentData()
})
}
} }
var isDocumentAdd: Boolean = false var isDocumentAdd: Boolean = false
...@@ -200,13 +215,13 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView { ...@@ -200,13 +215,13 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
} }
override fun refreshSearchRv() { override fun refreshPageList() {
if (currentFragment is DocumentFragment) {
(currentFragment as DocumentFragment).currentPage.refreshData()
} }
override fun deleteDocument(item: DocumentBean) {
} }
fun changeSearchUI(show: Boolean) { fun changeSearchUI(show: Boolean) {
if (show) { if (show) {
binding.ivScan.visibility = View.INVISIBLE binding.ivScan.visibility = View.INVISIBLE
...@@ -219,6 +234,7 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView { ...@@ -219,6 +234,7 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
} }
companion object { companion object {
var needRefresh: Boolean = true
fun Activity.jumpDocument(item: DocumentBean) { fun Activity.jumpDocument(item: DocumentBean) {
if (item.type == DocumentBean.TYPE_PDF) { if (item.type == DocumentBean.TYPE_PDF) {
if (item.state == 0) { if (item.state == 0) {
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
//import com.base.pdfviewerscannerwhite.bean.DocumentBean //import com.base.pdfviewerscannerwhite.bean.DocumentBean
//import com.base.pdfviewerscannerwhite.databinding.ActivityMainBinding //import com.base.pdfviewerscannerwhite.databinding.ActivityMainBinding
//import com.base.pdfviewerscannerwhite.helper.BaseActivity //import com.base.pdfviewerscannerwhite.helper.BaseActivity
//import com.base.pdfviewerscannerwhite.ui.adapter.DocumentAdapter //import com.base.pdfviewerscannerwhite.ui.main.DocumentAdapter
//import com.base.pdfviewerscannerwhite.ui.main.DocumentPageFragment.Companion.jumpDocument //import com.base.pdfviewerscannerwhite.ui.main.DocumentPageFragment.Companion.jumpDocument
//import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDeleteDialog //import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDeleteDialog
//import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDocumentRenameDialog //import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDocumentRenameDialog
......
...@@ -8,8 +8,25 @@ import androidx.activity.result.ActivityResultLauncher ...@@ -8,8 +8,25 @@ import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.IntentSenderRequest import androidx.activity.result.IntentSenderRequest
import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.LifecycleCoroutineScope
import com.base.pdfviewerscannerwhite.bean.ConstObject
import com.base.pdfviewerscannerwhite.bean.ConstObject.BOOKMARK_DATA_TYPE
import com.base.pdfviewerscannerwhite.bean.ConstObject.DOCUMENT_DATA_TYPE
import com.base.pdfviewerscannerwhite.bean.ConstObject.MIME_TYPE_DOC
import com.base.pdfviewerscannerwhite.bean.ConstObject.MIME_TYPE_PDF
import com.base.pdfviewerscannerwhite.bean.ConstObject.MIME_TYPE_PPT
import com.base.pdfviewerscannerwhite.bean.ConstObject.MIME_TYPE_XLS
import com.base.pdfviewerscannerwhite.bean.ConstObject.RECENT_DATA_TYPE
import com.base.pdfviewerscannerwhite.bean.DocumentBean import com.base.pdfviewerscannerwhite.bean.DocumentBean
import com.base.pdfviewerscannerwhite.bean.DocumentBean.Companion.TYPE_EXCEL
import com.base.pdfviewerscannerwhite.bean.DocumentBean.Companion.TYPE_PDF
import com.base.pdfviewerscannerwhite.bean.DocumentBean.Companion.TYPE_PPT
import com.base.pdfviewerscannerwhite.bean.DocumentBean.Companion.TYPE_WORD
import com.base.pdfviewerscannerwhite.utils.AssetUtils.saveAssetsFile
import com.base.pdfviewerscannerwhite.utils.SpStringUtils
import com.base.pdfviewerscannerwhite.utils.ToastUtils.toast import com.base.pdfviewerscannerwhite.utils.ToastUtils.toast
import com.base.pdfviewerscannerwhite.utils.getMediaFile
import com.base.pdfviewerscannerwhite.utils.upDateDemoStore
import com.base.pdfviewerscannerwhite.utils.updateMediaStore import com.base.pdfviewerscannerwhite.utils.updateMediaStore
import com.google.mlkit.vision.documentscanner.GmsDocumentScannerOptions import com.google.mlkit.vision.documentscanner.GmsDocumentScannerOptions
import com.google.mlkit.vision.documentscanner.GmsDocumentScanning import com.google.mlkit.vision.documentscanner.GmsDocumentScanning
...@@ -21,11 +38,219 @@ import java.io.File ...@@ -21,11 +38,219 @@ import java.io.File
class MainPresenter( class MainPresenter(
val context: Context, val context: Context,
val mainView: MainView val mainView: MainView,
val lifecycleScope: LifecycleCoroutineScope
) { ) {
//所有fragment的数据,都从这里取
val pdfDocuments = arrayListOf<DocumentBean>()
val wordDocuments = arrayListOf<DocumentBean>()
val excelDocuments = arrayListOf<DocumentBean>()
val pptDocuments = arrayListOf<DocumentBean>()
private lateinit var scannerLauncher: ActivityResultLauncher<IntentSenderRequest> private lateinit var scannerLauncher: ActivityResultLauncher<IntentSenderRequest>
fun initAllDocumentData() = lifecycleScope.launch(Dispatchers.IO) {
context.upDateDemoStore()
if (!ConstObject.haveSaveDemo) {
context.saveAssetsFile()
ConstObject.haveSaveDemo = true
}
pdfDocuments.addAll(initAllPdfData())
lifecycleScope.launch(Dispatchers.Main) {
mainView.refreshPageList()
}
wordDocuments.addAll(initAllWordData())
lifecycleScope.launch(Dispatchers.Main) {
mainView.refreshPageList()
}
excelDocuments.addAll(initAllExcelData())
lifecycleScope.launch(Dispatchers.Main) {
mainView.refreshPageList()
}
pptDocuments.addAll(initAllPptData())
lifecycleScope.launch(Dispatchers.Main) {
mainView.refreshPageList()
}
}
fun getDataByType(documentType: String, dataType: String): List<DocumentBean> {
val bookmarkList = SpStringUtils.getSpStringList(SpStringUtils.BOOKMARK_KEY)
when (documentType) {
TYPE_PDF -> {
when (dataType) {
DOCUMENT_DATA_TYPE -> {
return pdfDocuments
}
RECENT_DATA_TYPE -> {
return pdfDocuments.filter { recentFilter(it) }
}
BOOKMARK_DATA_TYPE -> {
pdfDocuments.forEach {
it.isBookmarked = bookmarkList.contains(it.path)
}
return pdfDocuments.filter { it.isBookmarked }
}
}
}
TYPE_WORD -> {
when (dataType) {
DOCUMENT_DATA_TYPE -> {
return wordDocuments
}
RECENT_DATA_TYPE -> {
return wordDocuments.filter { recentFilter(it) }
}
BOOKMARK_DATA_TYPE -> {
wordDocuments.forEach {
it.isBookmarked = bookmarkList.contains(it.path)
}
return wordDocuments.filter { it.isBookmarked }
}
}
}
TYPE_EXCEL -> {
when (dataType) {
DOCUMENT_DATA_TYPE -> {
return excelDocuments
}
RECENT_DATA_TYPE -> {
return excelDocuments.filter { recentFilter(it) }
}
BOOKMARK_DATA_TYPE -> {
excelDocuments.forEach {
it.isBookmarked = bookmarkList.contains(it.path)
}
return excelDocuments.filter { it.isBookmarked }
}
}
}
TYPE_PPT -> {
when (dataType) {
DOCUMENT_DATA_TYPE -> {
return pptDocuments
}
RECENT_DATA_TYPE -> {
return pptDocuments.filter { recentFilter(it) }
}
BOOKMARK_DATA_TYPE -> {
pptDocuments.forEach {
it.isBookmarked = bookmarkList.contains(it.path)
}
return pptDocuments.filter { it.isBookmarked }
}
}
}
}
return listOf()
}
fun recentFilter(documentBean: DocumentBean): Boolean {
return (System.currentTimeMillis() - File(documentBean.path).lastModified()) < 300L * 24 * 60 * 60 * 1000
}
private fun initAllPdfData(): MutableList<DocumentBean> {
val demoDocumentBean = DocumentBean()
demoDocumentBean.type = TYPE_PDF
val demoFile = File(context.filesDir, "demo")
val selectionArgs = arrayOf(ConstObject.MIME_TYPE_PDF)
demoDocumentBean.path = demoFile.listFiles()?.find { it.name.contains(".pdf") }?.absolutePath ?: ""
val list = context.getMediaFile(selectionArgs = selectionArgs)
val documentList = list.map {
DocumentBean(it.path, uri = it.uri, type = TYPE_PDF)
}
val new = documentList.toMutableList()
if (File(demoDocumentBean.path).exists()) {
new.add(0, demoDocumentBean)
}
return new
}
private fun initAllWordData(): MutableList<DocumentBean> {
val demoDocumentBean = DocumentBean()
demoDocumentBean.type = TYPE_WORD
val demoFile = File(context.filesDir, "demo")
val selectionArgs = arrayOf(ConstObject.MIME_TYPE_DOC, ConstObject.MIME_TYPE_DOCX)
demoDocumentBean.path = demoFile.listFiles()?.find { it.name.contains(".docx") }?.absolutePath ?: ""
val list = context.getMediaFile(selectionArgs = selectionArgs)
val documentList = list.map {
DocumentBean(it.path, uri = it.uri, type = TYPE_WORD)
}
val new = documentList.toMutableList()
if (File(demoDocumentBean.path).exists()) {
new.add(0, demoDocumentBean)
}
return new
}
private fun initAllExcelData(): MutableList<DocumentBean> {
val demoDocumentBean = DocumentBean()
demoDocumentBean.type = TYPE_EXCEL
val demoFile = File(context.filesDir, "demo")
val selectionArgs = arrayOf(ConstObject.MIME_TYPE_XLS, ConstObject.MIME_TYPE_XLSX)
demoDocumentBean.path = demoFile.listFiles()?.find { it.name.contains(".xlsx") }?.absolutePath ?: ""
val list = context.getMediaFile(selectionArgs = selectionArgs)
val documentList = list.map {
DocumentBean(it.path, uri = it.uri, type = TYPE_EXCEL)
}
val new = documentList.toMutableList()
if (File(demoDocumentBean.path).exists()) {
new.add(0, demoDocumentBean)
}
return new
}
private fun initAllPptData(): MutableList<DocumentBean> {
val demoDocumentBean = DocumentBean()
demoDocumentBean.type = TYPE_PPT
val demoFile = File(context.filesDir, "demo")
val selectionArgs = arrayOf(ConstObject.MIME_TYPE_PPT, ConstObject.MIME_TYPE_PPTX)
demoDocumentBean.path = demoFile.listFiles()?.find { it.name.contains(".pptx") }?.absolutePath ?: ""
val list = context.getMediaFile(selectionArgs = selectionArgs)
val documentList = list.map {
DocumentBean(it.path, uri = it.uri, type = TYPE_PPT)
}
val new = documentList.toMutableList()
if (File(demoDocumentBean.path).exists()) {
new.add(0, demoDocumentBean)
}
return new
}
fun initScannerLauncher(appCompatActivity: AppCompatActivity) { fun initScannerLauncher(appCompatActivity: AppCompatActivity) {
scannerLauncher = scannerLauncher =
appCompatActivity.registerForActivityResult(ActivityResultContracts.StartIntentSenderForResult()) { activityResult -> appCompatActivity.registerForActivityResult(ActivityResultContracts.StartIntentSenderForResult()) { activityResult ->
......
package com.base.pdfviewerscannerwhite.ui.main package com.base.pdfviewerscannerwhite.ui.main
import android.net.Uri import android.net.Uri
import com.base.pdfviewerscannerwhite.bean.DocumentBean
interface MainView { interface MainView {
fun handleActivityGmsScanResult(imageUri: Uri, pdfUri: Uri) fun handleActivityGmsScanResult(imageUri: Uri, pdfUri: Uri)
fun refreshSearchRv() fun refreshPageList()
fun deleteDocument(item: DocumentBean)
} }
\ No newline at end of file
...@@ -20,8 +20,8 @@ import com.base.pdfviewerscannerwhite.databinding.DialogDocumentMoreBinding ...@@ -20,8 +20,8 @@ import com.base.pdfviewerscannerwhite.databinding.DialogDocumentMoreBinding
import com.base.pdfviewerscannerwhite.databinding.DialogDocumentRenameBinding import com.base.pdfviewerscannerwhite.databinding.DialogDocumentRenameBinding
import com.base.pdfviewerscannerwhite.databinding.DialogPageNumberBinding import com.base.pdfviewerscannerwhite.databinding.DialogPageNumberBinding
import com.base.pdfviewerscannerwhite.databinding.DialogStoragePermissionBinding import com.base.pdfviewerscannerwhite.databinding.DialogStoragePermissionBinding
import com.base.pdfviewerscannerwhite.ui.main.DocumentFragment
import com.base.pdfviewerscannerwhite.ui.main.DocumentPageFragment import com.base.pdfviewerscannerwhite.ui.main.DocumentPageFragment
import com.base.pdfviewerscannerwhite.ui.main.MainActivity
import com.base.pdfviewerscannerwhite.utils.ActivityLauncher import com.base.pdfviewerscannerwhite.utils.ActivityLauncher
import com.base.pdfviewerscannerwhite.utils.IntentShareUtils.documentShare import com.base.pdfviewerscannerwhite.utils.IntentShareUtils.documentShare
import com.base.pdfviewerscannerwhite.utils.KotlinExt.toFormatSize import com.base.pdfviewerscannerwhite.utils.KotlinExt.toFormatSize
...@@ -101,8 +101,8 @@ object DialogView { ...@@ -101,8 +101,8 @@ object DialogView {
@SuppressLint("SetTextI18n", "NotifyDataSetChanged") @SuppressLint("SetTextI18n", "NotifyDataSetChanged")
fun Context.showDocumentHomeMoreDialog( fun Context.showDocumentHomeMoreDialog(
item: DocumentBean, item: DocumentBean,
documentFragment: DocumentPageFragment, documentPageFragment: DocumentPageFragment,
mainActivity: MainActivity, documentFragment: DocumentFragment,
): BottomSheetDialog { ): BottomSheetDialog {
val dialog = BottomSheetDialog(this, R.style.BottomSheetDialog) val dialog = BottomSheetDialog(this, R.style.BottomSheetDialog)
val binding = DialogDocumentHomeMoreBinding.inflate(LayoutInflater.from(this)) val binding = DialogDocumentHomeMoreBinding.inflate(LayoutInflater.from(this))
...@@ -140,11 +140,11 @@ object DialogView { ...@@ -140,11 +140,11 @@ object DialogView {
binding.llRename.setOnClickListener { binding.llRename.setOnClickListener {
showDocumentRenameDialog(file.name) { newName -> showDocumentRenameDialog(file.name) { newName ->
dialog.dismiss() dialog.dismiss()
documentFragment.documentPresenter.renameDocumentBean(file, newName) { newPath -> documentPageFragment.documentPresenter.renameDocumentBean(file, newName) { newPath ->
if (newPath.isNotEmpty()) { if (newPath.isNotEmpty()) {
item.path = newPath item.path = newPath
documentFragment.adapter.notifyDataSetChanged() documentPageFragment.adapter.notifyDataSetChanged()
mainActivity.refreshSearchRv() documentFragment.searchAdapter.notifyDataSetChanged()
} }
} }
} }
...@@ -160,9 +160,9 @@ object DialogView { ...@@ -160,9 +160,9 @@ object DialogView {
showDeleteDialog { showDeleteDialog {
runCatching { runCatching {
val flag = File(item.path).delete() val flag = File(item.path).delete()
if (flag){ if (flag) {
documentFragment.deleteDocument(item) documentPageFragment.deleteDocument(item)
mainActivity.deleteDocument(item) documentFragment.searchDeleteDocument(item)
} }
} }
......
...@@ -15,11 +15,11 @@ import com.base.pdfviewerscannerwhite.bean.DocumentBean ...@@ -15,11 +15,11 @@ import com.base.pdfviewerscannerwhite.bean.DocumentBean
import com.base.pdfviewerscannerwhite.databinding.DialogPdfHomeMoreBinding import com.base.pdfviewerscannerwhite.databinding.DialogPdfHomeMoreBinding
import com.base.pdfviewerscannerwhite.databinding.DialogPdfMoreBinding import com.base.pdfviewerscannerwhite.databinding.DialogPdfMoreBinding
import com.base.pdfviewerscannerwhite.databinding.DialogPdfPasswordBinding import com.base.pdfviewerscannerwhite.databinding.DialogPdfPasswordBinding
import com.base.pdfviewerscannerwhite.ui.adapter.DocumentAdapter import com.base.pdfviewerscannerwhite.ui.main.DocumentAdapter
import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfBoxUtils import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfBoxUtils
import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfView import com.base.pdfviewerscannerwhite.ui.document.pdf.PdfView
import com.base.pdfviewerscannerwhite.ui.main.DocumentFragment
import com.base.pdfviewerscannerwhite.ui.main.DocumentPageFragment import com.base.pdfviewerscannerwhite.ui.main.DocumentPageFragment
import com.base.pdfviewerscannerwhite.ui.main.MainActivity
import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDeleteDialog import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDeleteDialog
import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDocumentDetail import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDocumentDetail
import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDocumentRenameDialog import com.base.pdfviewerscannerwhite.ui.view.DialogView.showDocumentRenameDialog
...@@ -40,8 +40,8 @@ object PdfDialog { ...@@ -40,8 +40,8 @@ object PdfDialog {
fun Context.showPdfHomeMoreDialog( fun Context.showPdfHomeMoreDialog(
item: DocumentBean, item: DocumentBean,
adapter: DocumentAdapter, adapter: DocumentAdapter,
documentFragment: DocumentPageFragment, documentPageFragment: DocumentPageFragment,
mainActivity: MainActivity documentFragment: DocumentFragment,
): BottomSheetDialog { ): BottomSheetDialog {
val dialog = BottomSheetDialog(this, R.style.BottomSheetDialog) val dialog = BottomSheetDialog(this, R.style.BottomSheetDialog)
val binding = DialogPdfHomeMoreBinding.inflate(LayoutInflater.from(this)) val binding = DialogPdfHomeMoreBinding.inflate(LayoutInflater.from(this))
...@@ -75,11 +75,11 @@ object PdfDialog { ...@@ -75,11 +75,11 @@ object PdfDialog {
binding.llRename.setOnClickListener { binding.llRename.setOnClickListener {
showDocumentRenameDialog(file.name) { newName -> showDocumentRenameDialog(file.name) { newName ->
dialog.dismiss() dialog.dismiss()
documentFragment.documentPresenter.renameDocumentBean(file, newName) { newPath -> documentPageFragment.documentPresenter.renameDocumentBean(file, newName) { newPath ->
if (newPath.isNotEmpty()) { if (newPath.isNotEmpty()) {
item.path = newPath item.path = newPath
documentFragment.adapter.notifyDataSetChanged() documentPageFragment.adapter.notifyDataSetChanged()
mainActivity.refreshSearchRv() documentFragment.searchAdapter.notifyDataSetChanged()
} }
} }
} }
...@@ -89,15 +89,15 @@ object PdfDialog { ...@@ -89,15 +89,15 @@ object PdfDialog {
if (item.state == 1) { if (item.state == 1) {
showPdfPwdDialog( showPdfPwdDialog(
state = item.state, path = item.path, firstDialog = dialog, isCheckPwd = true, verificationAction = { state = item.state, path = item.path, firstDialog = dialog, isCheckPwd = true, verificationAction = {
documentFragment.splitPdf(item.path, it) documentPageFragment.splitPdf(item.path, it)
}) })
} else { } else {
documentFragment.splitPdf(item.path) documentPageFragment.splitPdf(item.path)
} }
} }
binding.llMerge.setOnClickListener { binding.llMerge.setOnClickListener {
dialog.dismiss() dialog.dismiss()
documentFragment.mergePdf(item.path) documentPageFragment.mergePdf(item.path)
} }
binding.llDelete.setOnClickListener { binding.llDelete.setOnClickListener {
dialog.dismiss() dialog.dismiss()
...@@ -105,8 +105,8 @@ object PdfDialog { ...@@ -105,8 +105,8 @@ object PdfDialog {
runCatching { runCatching {
val flag = File(item.path).delete() val flag = File(item.path).delete()
if (flag) { if (flag) {
documentFragment.deleteDocument(item) documentPageFragment.deleteDocument(item)
mainActivity.deleteDocument(item) documentFragment.searchDeleteDocument(item)
} }
} }
...@@ -130,8 +130,7 @@ object PdfDialog { ...@@ -130,8 +130,7 @@ object PdfDialog {
binding.llLock.setOnClickListener { binding.llLock.setOnClickListener {
showPdfPwdDialog(state = item.state, path = item.path, firstDialog = dialog, encryptionAction = { showPdfPwdDialog(state = item.state, path = item.path, firstDialog = dialog, encryptionAction = {
dialog.dismiss() dialog.dismiss()
documentFragment.adapter.notifyDataSetChanged() documentPageFragment.adapter.notifyDataSetChanged()
mainActivity.refreshSearchRv()
}) })
} }
dialog.setOnDismissListener { dialog.setOnDismissListener {
......
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