Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
P
PDF Viewer Scanner White ago
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
kuxulei
PDF Viewer Scanner White ago
Commits
fbda7798
Commit
fbda7798
authored
Oct 11, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
efd153f0
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
82 additions
and
28 deletions
+82
-28
AdmobHelper.kt
...in/java/com/base/pdfviewerscannerwhite/ads/AdmobHelper.kt
+23
-4
PdfLoadingActivity.kt
...fviewerscannerwhite/ui/document/pdf/PdfLoadingActivity.kt
+35
-15
PdfDialog.kt
.../java/com/base/pdfviewerscannerwhite/ui/view/PdfDialog.kt
+24
-9
No files found.
app/src/main/java/com/base/pdfviewerscannerwhite/ads/AdmobHelper.kt
View file @
fbda7798
...
@@ -24,7 +24,6 @@ object AdmobHelper {
...
@@ -24,7 +24,6 @@ object AdmobHelper {
const
val
native_limit_click
=
"native_limit_click"
const
val
native_limit_click
=
"native_limit_click"
//是否展示多语言
//是否展示多语言
val
showLanPage
=
"showLanPage"
val
showLanPage
=
"showLanPage"
...
@@ -55,9 +54,6 @@ object AdmobHelper {
...
@@ -55,9 +54,6 @@ object AdmobHelper {
//可请求时间段间隔时间
//可请求时间段间隔时间
const
val
ad_request_period_interval
=
"ad_request_period_interval"
const
val
ad_request_period_interval
=
"ad_request_period_interval"
//展示广告关闭时赋值
var
lastShowedOnHiddenTime
=
0L
var
isAdInit
=
AtomicBoolean
(
false
)
var
isAdInit
=
AtomicBoolean
(
false
)
fun
initAdmobAd
()
{
fun
initAdmobAd
()
{
...
@@ -67,6 +63,28 @@ object AdmobHelper {
...
@@ -67,6 +63,28 @@ object AdmobHelper {
}
}
}
}
//上次展示广告时间关闭赋值
var
lastShowedOnHiddenTime
=
0L
get
()
{
return
AppPreferences
.
getInstance
().
getLong
(
"lastShowedOnHiddenTime"
,
field
)
}
set
(
value
)
{
field
=
value
AppPreferences
.
getInstance
().
put
(
"lastShowedOnHiddenTime"
,
value
,
true
)
}
/**
* 通用广告条件判断
*/
fun
canCommonShowAd
():
Boolean
{
val
interval
=
AppPreferences
.
getInstance
().
getString
(
"ad_interval"
,
"10"
).
toInt
()
if
(
System
.
currentTimeMillis
()
-
lastShowedOnHiddenTime
<
interval
*
1000L
)
{
return
false
}
return
true
}
//上次scan展示ad时间
//上次scan展示ad时间
var
lastScanShowAd
=
0L
var
lastScanShowAd
=
0L
get
()
{
get
()
{
...
@@ -113,4 +131,5 @@ object AdmobHelper {
...
@@ -113,4 +131,5 @@ object AdmobHelper {
return
System
.
currentTimeMillis
()
-
lastCloseDocumentShowAd
>
interval
*
1000L
return
System
.
currentTimeMillis
()
-
lastCloseDocumentShowAd
>
interval
*
1000L
}
}
}
}
\ No newline at end of file
app/src/main/java/com/base/pdfviewerscannerwhite/ui/document/pdf/PdfLoadingActivity.kt
View file @
fbda7798
...
@@ -3,6 +3,8 @@ package com.base.pdfviewerscannerwhite.ui.document.pdf
...
@@ -3,6 +3,8 @@ 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.ads.AdmobHelper
import
com.base.pdfviewerscannerwhite.ads.admob.AdmobInterstitialUtils
import
com.base.pdfviewerscannerwhite.bean.ConstObject.DO_MERGE_PDF
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_SAVE_PDF
import
com.base.pdfviewerscannerwhite.bean.ConstObject.DO_SPLIT_PDF
import
com.base.pdfviewerscannerwhite.bean.ConstObject.DO_SPLIT_PDF
...
@@ -43,6 +45,17 @@ class PdfLoadingActivity : BaseActivity<ActivityPdfLoadingBinding>() {
...
@@ -43,6 +45,17 @@ class PdfLoadingActivity : BaseActivity<ActivityPdfLoadingBinding>() {
}
}
}
}
fun
progressFinishAd
(
next
:
()
->
Unit
)
{
if
(
AdmobHelper
.
canCommonShowAd
())
{
AdmobInterstitialUtils
.
showInterstitialAd
(
this
)
{
next
.
invoke
()
}
}
else
{
next
.
invoke
()
}
}
override
fun
initView
()
{
override
fun
initView
()
{
pdfPresenter
=
PdfPresenter
(
this
)
pdfPresenter
=
PdfPresenter
(
this
)
initSpPa
()
initSpPa
()
...
@@ -51,6 +64,7 @@ class PdfLoadingActivity : BaseActivity<ActivityPdfLoadingBinding>() {
...
@@ -51,6 +64,7 @@ class PdfLoadingActivity : BaseActivity<ActivityPdfLoadingBinding>() {
when
(
doWhat
)
{
when
(
doWhat
)
{
DO_SPLIT_PDF
->
{
DO_SPLIT_PDF
->
{
progressFinishAction
=
{
progressFinishAction
=
{
progressFinishAd
{
if
(
resultFile
!=
null
)
{
if
(
resultFile
!=
null
)
{
startActivity
(
Intent
(
this
,
PdfActivity
::
class
.
java
).
apply
{
startActivity
(
Intent
(
this
,
PdfActivity
::
class
.
java
).
apply
{
putExtra
(
"path"
,
resultFile
?.
absolutePath
?:
""
)
putExtra
(
"path"
,
resultFile
?.
absolutePath
?:
""
)
...
@@ -60,6 +74,8 @@ class PdfLoadingActivity : BaseActivity<ActivityPdfLoadingBinding>() {
...
@@ -60,6 +74,8 @@ class PdfLoadingActivity : BaseActivity<ActivityPdfLoadingBinding>() {
}
}
finish
()
finish
()
}
}
}
pdfPresenter
.
splitPdf
(
srcPath
,
newPath
,
splitIndex
,
finishAction
=
{
pdfPresenter
.
splitPdf
(
srcPath
,
newPath
,
splitIndex
,
finishAction
=
{
resultFile
=
it
resultFile
=
it
isFinishBoolean
=
true
isFinishBoolean
=
true
...
@@ -70,11 +86,13 @@ class PdfLoadingActivity : BaseActivity<ActivityPdfLoadingBinding>() {
...
@@ -70,11 +86,13 @@ class PdfLoadingActivity : BaseActivity<ActivityPdfLoadingBinding>() {
muPDFCore
?.
save
()
muPDFCore
?.
save
()
muPDFCore
=
null
muPDFCore
=
null
progressFinishAction
=
{
progressFinishAction
=
{
progressFinishAd
{
startActivity
(
Intent
(
this
,
PdfActivity
::
class
.
java
).
apply
{
startActivity
(
Intent
(
this
,
PdfActivity
::
class
.
java
).
apply
{
putExtra
(
"path"
,
srcPath
)
putExtra
(
"path"
,
srcPath
)
})
})
finish
()
finish
()
}
}
}
lifecycleScope
.
launch
{
lifecycleScope
.
launch
{
delay
(
Random
.
nextLong
(
1500
,
2500
))
delay
(
Random
.
nextLong
(
1500
,
2500
))
isFinishBoolean
=
true
isFinishBoolean
=
true
...
@@ -84,11 +102,13 @@ class PdfLoadingActivity : BaseActivity<ActivityPdfLoadingBinding>() {
...
@@ -84,11 +102,13 @@ class PdfLoadingActivity : BaseActivity<ActivityPdfLoadingBinding>() {
DO_MERGE_PDF
->
{
DO_MERGE_PDF
->
{
progressFinishAction
=
{
progressFinishAction
=
{
progressFinishAd
{
startActivity
(
Intent
(
this
,
PdfActivity
::
class
.
java
).
apply
{
startActivity
(
Intent
(
this
,
PdfActivity
::
class
.
java
).
apply
{
putExtra
(
"path"
,
newPath
)
putExtra
(
"path"
,
newPath
)
})
})
finish
()
finish
()
}
}
}
pdfPresenter
.
mergePdf
(
newPath
)
{
pdfPresenter
.
mergePdf
(
newPath
)
{
isFinishBoolean
=
true
isFinishBoolean
=
true
}
}
...
...
app/src/main/java/com/base/pdfviewerscannerwhite/ui/view/PdfDialog.kt
View file @
fbda7798
...
@@ -121,7 +121,10 @@ object PdfDialog {
...
@@ -121,7 +121,10 @@ object PdfDialog {
binding
.
tvLock
.
text
=
getString
(
R
.
string
.
lock_pdf
)
binding
.
tvLock
.
text
=
getString
(
R
.
string
.
lock_pdf
)
}
}
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
,
isCheckPwd
=
false
,
encryptionAction
=
{
dialog
.
dismiss
()
dialog
.
dismiss
()
mainActivity
.
mainPresenter
.
changePdfLock
(
item
,
documentPageFragment
)
mainActivity
.
mainPresenter
.
changePdfLock
(
item
,
documentPageFragment
)
})
})
...
@@ -237,19 +240,31 @@ object PdfDialog {
...
@@ -237,19 +240,31 @@ object PdfDialog {
val
pwd
=
binding
.
edit
.
text
.
toString
()
val
pwd
=
binding
.
edit
.
text
.
toString
()
if
(!
isCheckPwd
)
{
if
(!
isCheckPwd
)
{
dialog
.
dismiss
()
firstDialog
?.
dismiss
()
//加锁逻辑
if
(
state
==
0
)
{
if
(
state
==
0
)
{
PdfBoxUtils
.
setPassword
(
path
,
pwd
,
pwd
)
PdfBoxUtils
.
setPassword
(
path
,
pwd
,
pwd
)
toast
(
"Success Encryption"
)
toast
(
"Success Encryption"
)
encryptionAction
?.
invoke
()
encryptionAction
?.
invoke
()
dialog
.
dismiss
()
firstDialog
?.
dismiss
()
}
}
//解锁逻辑
if
(
state
==
1
)
{
if
(
state
==
1
)
{
val
result
=
PdfBoxUtils
.
checkPwd
(
path
,
pwd
,
uri
)
LogEx
.
logDebug
(
"checkPwd"
,
"result=$result"
)
if
(
result
)
{
PdfBoxUtils
.
clearPassword
(
path
,
pwd
)
PdfBoxUtils
.
clearPassword
(
path
,
pwd
)
toast
(
"clear Encryption"
)
toast
(
"clear Encryption"
)
encryptionAction
?.
invoke
()
encryptionAction
?.
invoke
()
dialog
.
dismiss
()
firstDialog
?.
dismiss
()
}
else
{
binding
.
tvErrorTip
.
visibility
=
View
.
VISIBLE
}
}
}
}
else
{
}
else
{
//验证密码逻辑
val
result
=
PdfBoxUtils
.
checkPwd
(
path
,
pwd
,
uri
)
val
result
=
PdfBoxUtils
.
checkPwd
(
path
,
pwd
,
uri
)
if
(!
result
)
{
if
(!
result
)
{
binding
.
tvErrorTip
.
visibility
=
View
.
VISIBLE
binding
.
tvErrorTip
.
visibility
=
View
.
VISIBLE
...
...
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