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
e935f3b4
Commit
e935f3b4
authored
Sep 20, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
ab637fc8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
37 additions
and
28 deletions
+37
-28
ConstObject.kt
...n/java/com/base/pdfviewerscannerwhite/bean/ConstObject.kt
+5
-0
PdfActivity.kt
...base/pdfviewerscannerwhite/ui/document/pdf/PdfActivity.kt
+4
-3
PdfLoadingActivity.kt
...fviewerscannerwhite/ui/document/pdf/PdfLoadingActivity.kt
+3
-3
PdfMergeActivity.kt
...pdfviewerscannerwhite/ui/document/pdf/PdfMergeActivity.kt
+2
-2
PdfPresenter.kt
...ase/pdfviewerscannerwhite/ui/document/pdf/PdfPresenter.kt
+2
-17
PdfSelectActivity.kt
...dfviewerscannerwhite/ui/document/pdf/PdfSelectActivity.kt
+9
-1
PdfSplitActivity.kt
...pdfviewerscannerwhite/ui/document/pdf/PdfSplitActivity.kt
+1
-1
ToolFragment.kt
...va/com/base/pdfviewerscannerwhite/ui/main/ToolFragment.kt
+11
-1
No files found.
app/src/main/java/com/base/pdfviewerscannerwhite/bean/ConstObject.kt
View file @
e935f3b4
...
@@ -19,6 +19,11 @@ object ConstObject {
...
@@ -19,6 +19,11 @@ object ConstObject {
const
val
MIME_TYPE_APK
=
"application/vnd.android.package-archive"
const
val
MIME_TYPE_APK
=
"application/vnd.android.package-archive"
const
val
MIME_TYPE_ZIP
=
"application/zip"
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
var
ifAgreePrivacy
=
false
get
()
{
get
()
{
return
AppPreferences
.
getInstance
().
getBoolean
(
"ifAgreePrivacy"
,
field
)
return
AppPreferences
.
getInstance
().
getBoolean
(
"ifAgreePrivacy"
,
field
)
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/ui/document/pdf/PdfActivity.kt
View file @
e935f3b4
...
@@ -22,10 +22,10 @@ import com.artifex.mupdfdemo.MuPDFReaderViewListener
...
@@ -22,10 +22,10 @@ import com.artifex.mupdfdemo.MuPDFReaderViewListener
import
com.artifex.mupdfdemo.MuPDFView
import
com.artifex.mupdfdemo.MuPDFView
import
com.artifex.mupdfdemo.SearchTask
import
com.artifex.mupdfdemo.SearchTask
import
com.artifex.mupdfdemo.SearchTaskResult
import
com.artifex.mupdfdemo.SearchTaskResult
import
com.base.pdfviewerscannerwhite.bean.ConstObject.DO_SAVE_PDF
import
com.base.pdfviewerscannerwhite.bean.PdfPageBean
import
com.base.pdfviewerscannerwhite.bean.PdfPageBean
import
com.base.pdfviewerscannerwhite.databinding.ActivityPdfBinding
import
com.base.pdfviewerscannerwhite.databinding.ActivityPdfBinding
import
com.base.pdfviewerscannerwhite.helper.BaseActivity
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.hideKeyboard
import
com.base.pdfviewerscannerwhite.utils.KeyBoardUtils.showKeyBoard
import
com.base.pdfviewerscannerwhite.utils.KeyBoardUtils.showKeyBoard
import
com.base.pdfviewerscannerwhite.utils.ToastUtils.toast
import
com.base.pdfviewerscannerwhite.utils.ToastUtils.toast
...
@@ -187,9 +187,10 @@ class PdfActivity : BaseActivity<ActivityPdfBinding>(), PdfView {
...
@@ -187,9 +187,10 @@ class PdfActivity : BaseActivity<ActivityPdfBinding>(), PdfView {
}
}
}
}
/**
*
*/
private
fun
resetPdfView
()
{
private
fun
resetPdfView
()
{
val
pageView
=
binding
.
mupdfReaderView
.
displayedView
as
MuPDFView
?
binding
.
mupdfReaderView
.
refresh
(
true
)
}
}
private
fun
cancelOperation
()
{
private
fun
cancelOperation
()
{
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/ui/document/pdf/PdfLoadingActivity.kt
View file @
e935f3b4
...
@@ -3,6 +3,9 @@ package com.base.pdfviewerscannerwhite.ui.document.pdf
...
@@ -3,6 +3,9 @@ package com.base.pdfviewerscannerwhite.ui.document.pdf
import
android.content.Intent
import
android.content.Intent
import
androidx.lifecycle.lifecycleScope
import
androidx.lifecycle.lifecycleScope
import
com.artifex.mupdfdemo.MuPDFCore
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.databinding.ActivityPdfLoadingBinding
import
com.base.pdfviewerscannerwhite.helper.BaseActivity
import
com.base.pdfviewerscannerwhite.helper.BaseActivity
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.Dispatchers
...
@@ -94,9 +97,6 @@ class PdfLoadingActivity : BaseActivity<ActivityPdfLoadingBinding>() {
...
@@ -94,9 +97,6 @@ class PdfLoadingActivity : BaseActivity<ActivityPdfLoadingBinding>() {
companion
object
{
companion
object
{
var
muPDFCore
:
MuPDFCore
?
=
null
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"
}
}
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/ui/document/pdf/PdfMergeActivity.kt
View file @
e935f3b4
...
@@ -3,10 +3,10 @@ package com.base.pdfviewerscannerwhite.ui.document.pdf
...
@@ -3,10 +3,10 @@ package com.base.pdfviewerscannerwhite.ui.document.pdf
import
android.content.Intent
import
android.content.Intent
import
androidx.activity.addCallback
import
androidx.activity.addCallback
import
androidx.recyclerview.widget.ItemTouchHelper
import
androidx.recyclerview.widget.ItemTouchHelper
import
com.base.pdfviewerscannerwhite.bean.ConstObject.DO_MERGE_PDF
import
com.base.pdfviewerscannerwhite.bean.DocumentBean
import
com.base.pdfviewerscannerwhite.bean.DocumentBean
import
com.base.pdfviewerscannerwhite.databinding.ActivityPdfMergeBinding
import
com.base.pdfviewerscannerwhite.databinding.ActivityPdfMergeBinding
import
com.base.pdfviewerscannerwhite.helper.BaseActivity
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.ui.view.DialogView.showDocumentRenameDialog
import
com.base.pdfviewerscannerwhite.utils.KotlinExt.toFormatTime2
import
com.base.pdfviewerscannerwhite.utils.KotlinExt.toFormatTime2
import
com.base.pdfviewerscannerwhite.utils.LogEx
import
com.base.pdfviewerscannerwhite.utils.LogEx
...
@@ -42,7 +42,7 @@ class PdfMergeActivity : BaseActivity<ActivityPdfMergeBinding>() {
...
@@ -42,7 +42,7 @@ class PdfMergeActivity : BaseActivity<ActivityPdfMergeBinding>() {
showDocumentRenameDialog
(
name
=
"Merge_${System.currentTimeMillis().toFormatTime2()}"
,
okAction
=
{
name
->
showDocumentRenameDialog
(
name
=
"Merge_${System.currentTimeMillis().toFormatTime2()}"
,
okAction
=
{
name
->
startActivity
(
Intent
(
this
,
PdfLoadingActivity
::
class
.
java
).
apply
{
startActivity
(
Intent
(
this
,
PdfLoadingActivity
::
class
.
java
).
apply
{
putExtra
(
"doWhat"
,
DO_MERGE_PDF
)
putExtra
(
"doWhat"
,
DO_MERGE_PDF
)
putExtra
(
"newPath"
,
pdfPresenter
.
create
MergePdf
(
name
))
putExtra
(
"newPath"
,
pdfPresenter
.
create
NewPdfPath
(
name
))
})
})
})
})
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/ui/document/pdf/PdfPresenter.kt
View file @
e935f3b4
...
@@ -5,12 +5,10 @@ import android.os.Environment
...
@@ -5,12 +5,10 @@ import android.os.Environment
import
com.artifex.mupdfdemo.MuPDFCore
import
com.artifex.mupdfdemo.MuPDFCore
import
com.artifex.mupdfdemo.OutlineActivityData
import
com.artifex.mupdfdemo.OutlineActivityData
import
com.base.pdfviewerscannerwhite.R
import
com.base.pdfviewerscannerwhite.R
import
com.base.pdfviewerscannerwhite.bean.DocumentBean
import
com.base.pdfviewerscannerwhite.bean.PdfPageBean
import
com.base.pdfviewerscannerwhite.bean.PdfPageBean
import
com.base.pdfviewerscannerwhite.ui.document.pdf.PdfMergeActivity.Companion.mergePdfList
import
com.base.pdfviewerscannerwhite.ui.document.pdf.PdfMergeActivity.Companion.mergePdfList
import
com.base.pdfviewerscannerwhite.utils.LogEx
import
com.base.pdfviewerscannerwhite.utils.LogEx
import
com.base.pdfviewerscannerwhite.utils.PdfBoxUtils
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.multipdf.PDFMergerUtility
import
com.tom_roush.pdfbox.pdmodel.PDDocument
import
com.tom_roush.pdfbox.pdmodel.PDDocument
import
java.io.File
import
java.io.File
...
@@ -75,7 +73,7 @@ class PdfPresenter(
...
@@ -75,7 +73,7 @@ class PdfPresenter(
finishAction
.
invoke
(
File
(
newPath
))
finishAction
.
invoke
(
File
(
newPath
))
}.
start
()
}.
start
()
fun
create
New
Path
(
path
:
String
):
String
{
fun
create
AvoidDupName
Path
(
path
:
String
):
String
{
val
file
=
File
(
path
)
val
file
=
File
(
path
)
var
newName
=
file
.
name
.
split
(
"."
)[
0
]
var
newName
=
file
.
name
.
split
(
"."
)[
0
]
//aaaa_1.pdf
//aaaa_1.pdf
...
@@ -99,19 +97,6 @@ class PdfPresenter(
...
@@ -99,19 +97,6 @@ class PdfPresenter(
return
pattern
.
matches
(
input
)
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
{
private
fun
createAppDocumentDir
():
File
{
val
appName
=
context
.
resources
.
getString
(
R
.
string
.
app_name
)
val
appName
=
context
.
resources
.
getString
(
R
.
string
.
app_name
)
val
appDir
=
File
(
Environment
.
getExternalStoragePublicDirectory
(
Environment
.
DIRECTORY_DOCUMENTS
),
appName
)
val
appDir
=
File
(
Environment
.
getExternalStoragePublicDirectory
(
Environment
.
DIRECTORY_DOCUMENTS
),
appName
)
...
@@ -121,7 +106,7 @@ class PdfPresenter(
...
@@ -121,7 +106,7 @@ class PdfPresenter(
return
appDir
return
appDir
}
}
fun
create
MergePdf
(
name
:
String
):
String
{
fun
create
NewPdfPath
(
name
:
String
):
String
{
val
appDir
=
createAppDocumentDir
()
val
appDir
=
createAppDocumentDir
()
val
mergeFile
=
File
(
appDir
,
"$name.pdf"
)
val
mergeFile
=
File
(
appDir
,
"$name.pdf"
)
mergeFile
.
createNewFile
()
mergeFile
.
createNewFile
()
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/ui/document/pdf/PdfSelectActivity.kt
View file @
e935f3b4
...
@@ -4,6 +4,7 @@ import android.annotation.SuppressLint
...
@@ -4,6 +4,7 @@ import android.annotation.SuppressLint
import
android.content.Intent
import
android.content.Intent
import
android.view.View
import
android.view.View
import
androidx.lifecycle.lifecycleScope
import
androidx.lifecycle.lifecycleScope
import
com.base.pdfviewerscannerwhite.bean.ConstObject.DO_MERGE_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
...
@@ -17,11 +18,14 @@ class PdfSelectActivity : BaseActivity<ActivityPdfSelectBinding>(), DocumentView
...
@@ -17,11 +18,14 @@ class PdfSelectActivity : BaseActivity<ActivityPdfSelectBinding>(), DocumentView
private
lateinit
var
adapter
:
DocumentAdapter
private
lateinit
var
adapter
:
DocumentAdapter
private
var
doWhat
:
String
=
""
override
val
binding
:
ActivityPdfSelectBinding
by
lazy
{
override
val
binding
:
ActivityPdfSelectBinding
by
lazy
{
ActivityPdfSelectBinding
.
inflate
(
layoutInflater
)
ActivityPdfSelectBinding
.
inflate
(
layoutInflater
)
}
}
override
fun
initView
()
{
override
fun
initView
()
{
doWhat
=
intent
.
extras
?.
getString
(
"doWhat"
,
""
)
?:
""
documentPresenter
=
DocumentPresenter
(
this
,
this
,
DocumentBean
.
TYPE_PDF
,
lifecycleScope
)
documentPresenter
=
DocumentPresenter
(
this
,
this
,
DocumentBean
.
TYPE_PDF
,
lifecycleScope
)
initAdapter
()
initAdapter
()
...
@@ -59,7 +63,11 @@ class PdfSelectActivity : BaseActivity<ActivityPdfSelectBinding>(), DocumentView
...
@@ -59,7 +63,11 @@ class PdfSelectActivity : BaseActivity<ActivityPdfSelectBinding>(), DocumentView
override
fun
refreshDocumentRv
(
documentList
:
List
<
DocumentBean
>)
{
override
fun
refreshDocumentRv
(
documentList
:
List
<
DocumentBean
>)
{
super
.
refreshDocumentRv
(
documentList
)
super
.
refreshDocumentRv
(
documentList
)
documentList
.
map
{
it
.
showSelect
=
true
}
if
(
doWhat
==
DO_MERGE_PDF
)
{
documentList
.
map
{
it
.
showSelect
=
true
}
}
adapter
.
submitList
(
documentList
)
adapter
.
submitList
(
documentList
)
}
}
}
}
\ No newline at end of file
app/src/main/java/com/base/pdfviewerscannerwhite/ui/document/pdf/PdfSplitActivity.kt
View file @
e935f3b4
...
@@ -44,7 +44,7 @@ class PdfSplitActivity : BaseActivity<ActivityPdfSplitBinding>(), PdfView {
...
@@ -44,7 +44,7 @@ class PdfSplitActivity : BaseActivity<ActivityPdfSplitBinding>(), PdfView {
showDocumentRenameDialog
{
newName
->
showDocumentRenameDialog
{
newName
->
startActivity
(
Intent
(
this
,
PdfLoadingActivity
::
class
.
java
).
apply
{
startActivity
(
Intent
(
this
,
PdfLoadingActivity
::
class
.
java
).
apply
{
putExtra
(
"srcPath"
,
path
)
putExtra
(
"srcPath"
,
path
)
putExtra
(
"new
Name"
,
newName
)
putExtra
(
"new
Path"
,
pdfPresenter
.
createNewPdfPath
(
newName
)
)
putExtra
(
"splitIndex"
,
splitIndex
.
joinToString
(
separator
=
","
))
putExtra
(
"splitIndex"
,
splitIndex
.
joinToString
(
separator
=
","
))
})
})
finish
()
finish
()
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/ui/main/ToolFragment.kt
View file @
e935f3b4
package
com.base.pdfviewerscannerwhite.ui.main
package
com.base.pdfviewerscannerwhite.ui.main
import
android.content.Intent
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.databinding.FragmentToolBinding
import
com.base.pdfviewerscannerwhite.helper.BaseFragment
import
com.base.pdfviewerscannerwhite.helper.BaseFragment
import
com.base.pdfviewerscannerwhite.ui.document.pdf.PdfSelectActivity
import
com.base.pdfviewerscannerwhite.ui.document.pdf.PdfSelectActivity
import
com.base.pdfviewerscannerwhite.ui.document.pdf.PdfSplitActivity
class
ToolFragment
:
BaseFragment
<
FragmentToolBinding
>()
{
class
ToolFragment
:
BaseFragment
<
FragmentToolBinding
>()
{
...
@@ -18,7 +21,14 @@ class ToolFragment : BaseFragment<FragmentToolBinding>() {
...
@@ -18,7 +21,14 @@ class ToolFragment : BaseFragment<FragmentToolBinding>() {
override
fun
setListener
()
{
override
fun
setListener
()
{
super
.
setListener
()
super
.
setListener
()
binding
.
llMerge
.
setOnClickListener
{
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
)
})
}
}
}
}
...
...
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