Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
P
PDF Viewer Scanner White
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wanglei
PDF Viewer Scanner White
Commits
1a9a4872
Commit
1a9a4872
authored
Sep 29, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
fb4966ef
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
87 additions
and
61 deletions
+87
-61
DocumentFragment.kt
...om/base/pdfviewerscannerwhite/ui/main/DocumentFragment.kt
+6
-9
DocumentPageFragment.kt
...ase/pdfviewerscannerwhite/ui/main/DocumentPageFragment.kt
+5
-10
DocumentView.kt
...va/com/base/pdfviewerscannerwhite/ui/main/DocumentView.kt
+0
-2
MainPresenter.kt
...a/com/base/pdfviewerscannerwhite/ui/main/MainPresenter.kt
+62
-5
DialogView.kt
...java/com/base/pdfviewerscannerwhite/ui/view/DialogView.kt
+6
-16
PdfDialog.kt
.../java/com/base/pdfviewerscannerwhite/ui/view/PdfDialog.kt
+8
-19
No files found.
app/src/main/java/com/base/pdfviewerscannerwhite/ui/main/DocumentFragment.kt
View file @
1a9a4872
...
...
@@ -105,7 +105,6 @@ class DocumentFragment(
changePageSelect
(
binding
.
ivAllSelector
.
isSelected
)
}
binding
.
editSearch
.
setOnEditorActionListener
{
v
,
actionId
,
event
->
if
(
actionId
==
EditorInfo
.
IME_ACTION_DONE
)
{
LogEx
.
logDebug
(
TAG
,
"IME_ACTION_DONE"
)
searchDocument
()
...
...
@@ -284,8 +283,7 @@ class DocumentFragment(
private
fun
searchDocument
()
{
if
(
binding
.
editSearch
.
text
.
isNotEmpty
())
{
val
search
=
binding
.
editSearch
.
text
.
toString
()
if
(
currentPage
is
DocumentPageFragment
)
{
val
item
=
(
currentPage
as
DocumentPageFragment
).
getSearchItems
(
search
)
val
item
=
currentPage
.
getSearchItems
(
search
)
if
(
item
.
isNotEmpty
())
{
item
.
map
{
it
.
uiType
=
4
}
searchAdapter
.
submitList
(
item
)
...
...
@@ -294,7 +292,6 @@ class DocumentFragment(
}
}
}
}
fun
searchDeleteDocument
(
item
:
DocumentBean
)
{
searchAdapter
.
remove
(
item
)
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/ui/main/DocumentPageFragment.kt
View file @
1a9a4872
...
...
@@ -15,8 +15,8 @@ import com.base.pdfviewerscannerwhite.helper.BaseFragment
import
com.base.pdfviewerscannerwhite.ui.document.pdf.PdfSelectActivity
import
com.base.pdfviewerscannerwhite.ui.document.pdf.PdfSplitActivity
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.utils.LogEx
import
java.io.File
import
java.util.Locale
...
...
@@ -80,15 +80,16 @@ class DocumentPageFragment() : BaseFragment<FragmentDocumentPageBinding>(), Docu
}
var
documentMoreAction
:
(
item
:
DocumentBean
)
->
Unit
=
{
item
->
val
documentFragment
=
parentFragment
as
DocumentFragment
val
mainActivity
=
(
requireActivity
()
as
MainActivity
)
val
documentFragment
=
(
parentFragment
as
DocumentFragment
)
if
(
item
.
type
==
TYPE_PDF
)
{
requireContext
().
showPdfHomeMoreDialog
(
item
,
adapter
,
this
,
documentFragment
item
,
mainActivity
,
documentFragment
,
this
)
}
if
(
item
.
type
==
TYPE_WORD
||
item
.
type
==
TYPE_EXCEL
||
item
.
type
==
TYPE_PPT
)
{
// requireContext().showDocumentHomeMoreDialog(item, this, documentFragment
)
requireContext
().
showDocumentHomeMoreDialog
(
item
,
mainActivity
,
documentFragment
,
this
)
}
}
...
...
@@ -106,12 +107,6 @@ class DocumentPageFragment() : BaseFragment<FragmentDocumentPageBinding>(), Docu
})
}
override
fun
deleteDocument
(
item
:
DocumentBean
)
{
val
flag
=
documentList
.
removeIf
{
it
.
path
==
item
.
path
}
LogEx
.
logDebug
(
TAG
,
"deleteDocument $item.path flag=$flag"
)
adapter
.
submitList
(
documentList
)
binding
.
llEmpty
.
isVisible
=
adapter
.
items
.
isEmpty
()
}
@SuppressLint
(
"NotifyDataSetChanged"
)
fun
changeSelectUi
(
select
:
Boolean
)
{
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/ui/main/DocumentView.kt
View file @
1a9a4872
...
...
@@ -8,8 +8,6 @@ interface DocumentView {
fun
refreshDocumentRv
(
documentList
:
List
<
DocumentBean
>)
=
Unit
fun
splitPdf
(
path
:
String
,
pwd
:
String
?
=
null
)
=
Unit
fun
deleteDocument
(
item
:
DocumentBean
)
=
Unit
fun
mergePdf
(
path
:
String
)
=
Unit
}
\ No newline at end of file
app/src/main/java/com/base/pdfviewerscannerwhite/ui/main/MainPresenter.kt
View file @
1a9a4872
...
...
@@ -12,10 +12,6 @@ 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.Companion.TYPE_EXCEL
...
...
@@ -24,6 +20,7 @@ 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.SpStringUtils.BOOKMARK_KEY
import
com.base.pdfviewerscannerwhite.utils.ToastUtils.toast
import
com.base.pdfviewerscannerwhite.utils.getMediaFile
import
com.base.pdfviewerscannerwhite.utils.upDateDemoStore
...
...
@@ -306,4 +303,64 @@ class MainPresenter(
context
.
updateMediaStore
()
}
}
fun
renameDocumentBean
(
file
:
File
,
newName
:
String
,
documentPageFragment
:
DocumentPageFragment
,
)
=
lifecycleScope
.
launch
(
Dispatchers
.
IO
)
{
try
{
val
newFile
=
File
(
file
.
parentFile
,
newName
)
val
result
=
file
.
renameTo
(
newFile
)
if
(
result
)
{
when
(
documentPageFragment
.
type
)
{
TYPE_PDF
->
pdfDocuments
.
find
{
it
.
path
==
file
.
absolutePath
}
?.
path
=
newFile
.
absolutePath
TYPE_WORD
->
wordDocuments
.
find
{
it
.
path
==
file
.
absolutePath
}
?.
path
=
newFile
.
absolutePath
TYPE_EXCEL
->
excelDocuments
.
find
{
it
.
path
==
file
.
absolutePath
}
?.
path
=
newFile
.
absolutePath
TYPE_PPT
->
pptDocuments
.
find
{
it
.
path
==
file
.
absolutePath
}
?.
path
=
newFile
.
absolutePath
}
}
}
catch
(
e
:
Exception
)
{
}
launch
(
Dispatchers
.
Main
)
{
documentPageFragment
.
refreshData
()
}
}
fun
deleteDocument
(
path
:
String
,
documentPageFragment
:
DocumentPageFragment
)
=
lifecycleScope
.
launch
(
Dispatchers
.
IO
)
{
val
flag
=
File
(
path
).
delete
()
if
(
flag
)
{
when
(
documentPageFragment
.
type
)
{
TYPE_PDF
->
pdfDocuments
.
removeIf
{
it
.
path
==
path
}
TYPE_WORD
->
wordDocuments
.
removeIf
{
it
.
path
==
path
}
TYPE_EXCEL
->
excelDocuments
.
removeIf
{
it
.
path
==
path
}
TYPE_PPT
->
pptDocuments
.
removeIf
{
it
.
path
==
path
}
}
launch
(
Dispatchers
.
Main
)
{
documentPageFragment
.
refreshData
()
}
}
}
fun
changeBookmark
(
path
:
String
,
isBookmarked
:
Boolean
,
documentPageFragment
:
DocumentPageFragment
)
=
lifecycleScope
.
launch
(
Dispatchers
.
IO
)
{
when
(
documentPageFragment
.
type
)
{
TYPE_PDF
->
pdfDocuments
.
find
{
it
.
path
==
path
}
?.
isBookmarked
=
isBookmarked
TYPE_WORD
->
wordDocuments
.
find
{
it
.
path
==
path
}
?.
isBookmarked
=
isBookmarked
TYPE_EXCEL
->
excelDocuments
.
find
{
it
.
path
==
path
}
?.
isBookmarked
=
isBookmarked
TYPE_PPT
->
pptDocuments
.
find
{
it
.
path
==
path
}
?.
isBookmarked
=
isBookmarked
}
if
(
isBookmarked
)
{
SpStringUtils
.
addSpString
(
BOOKMARK_KEY
,
path
)
}
else
{
SpStringUtils
.
deleteSpString
(
BOOKMARK_KEY
,
path
)
}
launch
(
Dispatchers
.
Main
)
{
documentPageFragment
.
refreshData
()
}
}
}
\ No newline at end of file
app/src/main/java/com/base/pdfviewerscannerwhite/ui/view/DialogView.kt
View file @
1a9a4872
...
...
@@ -22,6 +22,7 @@ import com.base.pdfviewerscannerwhite.databinding.DialogPageNumberBinding
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.MainActivity
import
com.base.pdfviewerscannerwhite.utils.ActivityLauncher
import
com.base.pdfviewerscannerwhite.utils.IntentShareUtils.documentShare
import
com.base.pdfviewerscannerwhite.utils.KotlinExt.toFormatSize
...
...
@@ -101,8 +102,9 @@ object DialogView {
@SuppressLint
(
"SetTextI18n"
,
"NotifyDataSetChanged"
)
fun
Context
.
showDocumentHomeMoreDialog
(
item
:
DocumentBean
,
documentPageFragment
:
DocumentPageFragment
,
mainActivity
:
MainActivity
,
documentFragment
:
DocumentFragment
,
documentPageFragment
:
DocumentPageFragment
,
):
BottomSheetDialog
{
val
dialog
=
BottomSheetDialog
(
this
,
R
.
style
.
BottomSheetDialog
)
val
binding
=
DialogDocumentHomeMoreBinding
.
inflate
(
LayoutInflater
.
from
(
this
))
...
...
@@ -140,13 +142,7 @@ object DialogView {
binding
.
llRename
.
setOnClickListener
{
showDocumentRenameDialog
(
file
.
name
)
{
newName
->
dialog
.
dismiss
()
documentPageFragment
.
documentPresenter
.
renameDocumentBean
(
file
,
newName
)
{
newPath
->
if
(
newPath
.
isNotEmpty
())
{
item
.
path
=
newPath
documentPageFragment
.
adapter
.
notifyDataSetChanged
()
documentFragment
.
searchAdapter
.
notifyDataSetChanged
()
}
}
mainActivity
.
mainPresenter
.
renameDocumentBean
(
file
,
newName
,
documentPageFragment
)
}
}
binding
.
llDetail
.
setOnClickListener
{
...
...
@@ -158,16 +154,10 @@ object DialogView {
binding
.
llDelete
.
setOnClickListener
{
dialog
.
dismiss
()
showDeleteDialog
{
runCatching
{
val
flag
=
File
(
item
.
path
).
delete
()
if
(
flag
)
{
documentPageFragment
.
deleteDocument
(
item
)
mainActivity
.
mainPresenter
.
deleteDocument
(
item
.
path
,
documentPageFragment
)
documentFragment
.
searchDeleteDocument
(
item
)
}
}
}
}
return
dialog
}
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/ui/view/PdfDialog.kt
View file @
1a9a4872
...
...
@@ -15,11 +15,11 @@ import com.base.pdfviewerscannerwhite.bean.DocumentBean
import
com.base.pdfviewerscannerwhite.databinding.DialogPdfHomeMoreBinding
import
com.base.pdfviewerscannerwhite.databinding.DialogPdfMoreBinding
import
com.base.pdfviewerscannerwhite.databinding.DialogPdfPasswordBinding
import
com.base.pdfviewerscannerwhite.ui.main.DocumentAdapter
import
com.base.pdfviewerscannerwhite.ui.document.pdf.PdfBoxUtils
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.MainActivity
import
com.base.pdfviewerscannerwhite.ui.view.DialogView.showDeleteDialog
import
com.base.pdfviewerscannerwhite.ui.view.DialogView.showDocumentDetail
import
com.base.pdfviewerscannerwhite.ui.view.DialogView.showDocumentRenameDialog
...
...
@@ -39,9 +39,9 @@ object PdfDialog {
@SuppressLint
(
"SetTextI18n"
,
"NotifyDataSetChanged"
)
fun
Context
.
showPdfHomeMoreDialog
(
item
:
DocumentBean
,
adapter
:
DocumentAdapter
,
documentPageFragment
:
DocumentPageFragment
,
mainActivity
:
MainActivity
,
documentFragment
:
DocumentFragment
,
documentPageFragment
:
DocumentPageFragment
,
):
BottomSheetDialog
{
val
dialog
=
BottomSheetDialog
(
this
,
R
.
style
.
BottomSheetDialog
)
val
binding
=
DialogPdfHomeMoreBinding
.
inflate
(
LayoutInflater
.
from
(
this
))
...
...
@@ -65,23 +65,18 @@ object PdfDialog {
}
binding
.
ivBookmark
.
setOnClickListener
{
item
.
isBookmarked
=
!
item
.
isBookmarked
adapter
.
notifyDataSetChanged
()
if
(
item
.
isBookmarked
)
{
binding
.
ivBookmark
.
setImageResource
(
R
.
mipmap
.
h_soucang_s
)
}
else
{
binding
.
ivBookmark
.
setImageResource
(
R
.
mipmap
.
h_soucang_n
)
}
mainActivity
.
mainPresenter
.
changeBookmark
(
item
.
path
,
item
.
isBookmarked
,
documentPageFragment
)
}
binding
.
llRename
.
setOnClickListener
{
showDocumentRenameDialog
(
file
.
name
)
{
newName
->
dialog
.
dismiss
()
documentPageFragment
.
documentPresenter
.
renameDocumentBean
(
file
,
newName
)
{
newPath
->
if
(
newPath
.
isNotEmpty
())
{
item
.
path
=
newPath
documentPageFragment
.
adapter
.
notifyDataSetChanged
()
documentFragment
.
searchAdapter
.
notifyDataSetChanged
()
}
}
mainActivity
.
mainPresenter
.
renameDocumentBean
(
file
,
newName
,
documentPageFragment
)
}
}
binding
.
llSplit
.
setOnClickListener
{
...
...
@@ -102,16 +97,10 @@ object PdfDialog {
binding
.
llDelete
.
setOnClickListener
{
dialog
.
dismiss
()
showDeleteDialog
{
runCatching
{
val
flag
=
File
(
item
.
path
).
delete
()
if
(
flag
)
{
documentPageFragment
.
deleteDocument
(
item
)
mainActivity
.
mainPresenter
.
deleteDocument
(
item
.
path
,
documentPageFragment
)
documentFragment
.
searchDeleteDocument
(
item
)
}
}
}
}
binding
.
llDetail
.
setOnClickListener
{
showDocumentDetail
(
item
.
path
)
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment