Commit fbda7798 authored by wanglei's avatar wanglei

...

parent efd153f0
......@@ -24,7 +24,6 @@ object AdmobHelper {
const val native_limit_click = "native_limit_click"
//是否展示多语言
val showLanPage = "showLanPage"
......@@ -55,9 +54,6 @@ object AdmobHelper {
//可请求时间段间隔时间
const val ad_request_period_interval = "ad_request_period_interval"
//展示广告关闭时赋值
var lastShowedOnHiddenTime = 0L
var isAdInit = AtomicBoolean(false)
fun initAdmobAd() {
......@@ -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时间
var lastScanShowAd = 0L
get() {
......@@ -113,4 +131,5 @@ object AdmobHelper {
return System.currentTimeMillis() - lastCloseDocumentShowAd > interval * 1000L
}
}
\ No newline at end of file
......@@ -3,6 +3,8 @@ package com.base.pdfviewerscannerwhite.ui.document.pdf
import android.content.Intent
import androidx.lifecycle.lifecycleScope
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_SAVE_PDF
import com.base.pdfviewerscannerwhite.bean.ConstObject.DO_SPLIT_PDF
......@@ -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() {
pdfPresenter = PdfPresenter(this)
initSpPa()
......@@ -51,14 +64,17 @@ class PdfLoadingActivity : BaseActivity<ActivityPdfLoadingBinding>() {
when (doWhat) {
DO_SPLIT_PDF -> {
progressFinishAction = {
if (resultFile != null) {
startActivity(Intent(this, PdfActivity::class.java).apply {
putExtra("path", resultFile?.absolutePath ?: "")
})
} else {
toast("split pdf failed")
progressFinishAd {
if (resultFile != null) {
startActivity(Intent(this, PdfActivity::class.java).apply {
putExtra("path", resultFile?.absolutePath ?: "")
})
} else {
toast("split pdf failed")
}
finish()
}
finish()
}
pdfPresenter.splitPdf(srcPath, newPath, splitIndex, finishAction = {
resultFile = it
......@@ -70,10 +86,12 @@ class PdfLoadingActivity : BaseActivity<ActivityPdfLoadingBinding>() {
muPDFCore?.save()
muPDFCore = null
progressFinishAction = {
startActivity(Intent(this, PdfActivity::class.java).apply {
putExtra("path", srcPath)
})
finish()
progressFinishAd {
startActivity(Intent(this, PdfActivity::class.java).apply {
putExtra("path", srcPath)
})
finish()
}
}
lifecycleScope.launch {
delay(Random.nextLong(1500, 2500))
......@@ -84,10 +102,12 @@ class PdfLoadingActivity : BaseActivity<ActivityPdfLoadingBinding>() {
DO_MERGE_PDF -> {
progressFinishAction = {
startActivity(Intent(this, PdfActivity::class.java).apply {
putExtra("path", newPath)
})
finish()
progressFinishAd {
startActivity(Intent(this, PdfActivity::class.java).apply {
putExtra("path", newPath)
})
finish()
}
}
pdfPresenter.mergePdf(newPath) {
isFinishBoolean = true
......
......@@ -121,10 +121,13 @@ object PdfDialog {
binding.tvLock.text = getString(R.string.lock_pdf)
}
binding.llLock.setOnClickListener {
showPdfPwdDialog(state = item.state, path = item.path, firstDialog = dialog, encryptionAction = {
dialog.dismiss()
mainActivity.mainPresenter.changePdfLock(item, documentPageFragment)
})
showPdfPwdDialog(state = item.state, path = item.path,
firstDialog = dialog,
isCheckPwd = false,
encryptionAction = {
dialog.dismiss()
mainActivity.mainPresenter.changePdfLock(item, documentPageFragment)
})
}
dialog.setOnDismissListener {
}
......@@ -237,19 +240,31 @@ object PdfDialog {
val pwd = binding.edit.text.toString()
if (!isCheckPwd) {
dialog.dismiss()
firstDialog?.dismiss()
//加锁逻辑
if (state == 0) {
PdfBoxUtils.setPassword(path, pwd, pwd)
toast("Success Encryption")
encryptionAction?.invoke()
dialog.dismiss()
firstDialog?.dismiss()
}
//解锁逻辑
if (state == 1) {
PdfBoxUtils.clearPassword(path, pwd)
toast("clear Encryption")
encryptionAction?.invoke()
val result = PdfBoxUtils.checkPwd(path, pwd, uri)
LogEx.logDebug("checkPwd", "result=$result")
if (result) {
PdfBoxUtils.clearPassword(path, pwd)
toast("clear Encryption")
encryptionAction?.invoke()
dialog.dismiss()
firstDialog?.dismiss()
} else {
binding.tvErrorTip.visibility = View.VISIBLE
}
}
} else {
//验证密码逻辑
val result = PdfBoxUtils.checkPwd(path, pwd, uri)
if (!result) {
binding.tvErrorTip.visibility = View.VISIBLE
......
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