Commit 3ded0f78 authored by wanglei's avatar wanglei

...

parent 0a1f8906
...@@ -2,6 +2,7 @@ package com.base.pdfviewerscannerwhite.ads ...@@ -2,6 +2,7 @@ package com.base.pdfviewerscannerwhite.ads
import com.base.pdfviewerscannerwhite.helper.EventUtils import com.base.pdfviewerscannerwhite.helper.EventUtils
import com.base.pdfviewerscannerwhite.helper.MyApplication import com.base.pdfviewerscannerwhite.helper.MyApplication
import com.base.pdfviewerscannerwhite.utils.AppPreferences
import com.google.android.gms.ads.MobileAds import com.google.android.gms.ads.MobileAds
import java.util.concurrent.atomic.AtomicBoolean import java.util.concurrent.atomic.AtomicBoolean
...@@ -91,4 +92,20 @@ object AdmobHelper { ...@@ -91,4 +92,20 @@ object AdmobHelper {
EventUtils.event("AdmobInit", "AdmobInit") EventUtils.event("AdmobInit", "AdmobInit")
} }
} }
//主页启动次数
var lastScanShowAd = 0L
get() {
return AppPreferences.getInstance().getLong("lastScanShowAd", field)
}
set(value) {
field = value
AppPreferences.getInstance().put("lastScanShowAd", value, true)
}
//是否显示扫描功能ad
fun isShowScanInter(): Boolean {
val interval = AppPreferences.getInstance().getString("scan_ad_interval", "10").toInt()
return System.currentTimeMillis() - lastScanShowAd > interval * 1000L
}
} }
\ No newline at end of file
...@@ -7,7 +7,6 @@ import android.net.Uri ...@@ -7,7 +7,6 @@ import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import androidx.activity.OnBackPressedCallback import androidx.activity.OnBackPressedCallback
import androidx.core.view.isVisible
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.base.pdfviewerscannerwhite.R import com.base.pdfviewerscannerwhite.R
...@@ -245,25 +244,25 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView { ...@@ -245,25 +244,25 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
shareDocument() shareDocument()
} }
binding.ivScan.setOnClickListener { binding.ivScan.setOnClickListener {
mainPresenter.starGmsScan(this) mainPresenter.starAdGmsScan(this)
} }
binding.flScanGuide.setOnClickListener { binding.flScanGuide.setOnClickListener {
binding.flScanGuide.visibility = View.GONE binding.flScanGuide.visibility = View.GONE
} }
binding.tvTryScan.setOnClickListener { binding.tvTryScan.setOnClickListener {
binding.flScanGuide.visibility = View.GONE binding.flScanGuide.visibility = View.GONE
mainPresenter.starGmsScan(this) mainPresenter.starAdGmsScan(this)
} }
binding.ivScanGuide.setOnClickListener { binding.ivScanGuide.setOnClickListener {
binding.flScanGuide.visibility = View.GONE binding.flScanGuide.visibility = View.GONE
mainPresenter.starGmsScan(this) mainPresenter.starAdGmsScan(this)
} }
actionIdOperation() actionIdOperation()
} }
private fun actionIdOperation() { private fun actionIdOperation() {
if (actionId == SHORTCUT_SCAN_PDF) { if (actionId == SHORTCUT_SCAN_PDF) {
mainPresenter.starGmsScan(this) mainPresenter.starAdGmsScan(this)
} }
if (actionId == SHORTCUT_SPLIT_PDF) { if (actionId == SHORTCUT_SPLIT_PDF) {
startActivity(Intent(this, PdfSelectActivity::class.java).apply { startActivity(Intent(this, PdfSelectActivity::class.java).apply {
......
...@@ -11,6 +11,8 @@ import androidx.activity.result.IntentSenderRequest ...@@ -11,6 +11,8 @@ 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 androidx.lifecycle.LifecycleCoroutineScope
import com.base.pdfviewerscannerwhite.ads.AdmobHelper
import com.base.pdfviewerscannerwhite.ads.AdmobHelper.lastScanShowAd
import com.base.pdfviewerscannerwhite.ads.admob.AdmobInterstitialUtils import com.base.pdfviewerscannerwhite.ads.admob.AdmobInterstitialUtils
import com.base.pdfviewerscannerwhite.bean.ConstObject import com.base.pdfviewerscannerwhite.bean.ConstObject
import com.base.pdfviewerscannerwhite.bean.ConstObject.BOOKMARK_DATA_TYPE import com.base.pdfviewerscannerwhite.bean.ConstObject.BOOKMARK_DATA_TYPE
...@@ -298,30 +300,45 @@ class MainPresenter( ...@@ -298,30 +300,45 @@ class MainPresenter(
} }
} }
fun starAdGmsScan(activity: Activity) {
if (AdmobHelper.isShowScanInter()) {
AdmobInterstitialUtils.showInterstitialAd(activity) {
if (it) {
lastScanShowAd = System.currentTimeMillis()
}
starGmsScan(activity)
}
} else {
starGmsScan(activity)
}
}
fun starGmsScan(activity: Activity) { fun starGmsScan(activity: Activity) {
AdmobInterstitialUtils.showInterstitialAd(activity) { val options =
val options = GmsDocumentScannerOptions.Builder()
GmsDocumentScannerOptions.Builder() .setScannerMode(GmsDocumentScannerOptions.SCANNER_MODE_BASE)
.setScannerMode(GmsDocumentScannerOptions.SCANNER_MODE_BASE) .setResultFormats(GmsDocumentScannerOptions.RESULT_FORMAT_PDF)
.setResultFormats(GmsDocumentScannerOptions.RESULT_FORMAT_PDF) .setGalleryImportAllowed(true)
.setGalleryImportAllowed(true)
options.setScannerMode(GmsDocumentScannerOptions.SCANNER_MODE_FULL) options.setScannerMode(GmsDocumentScannerOptions.SCANNER_MODE_FULL)
val pageLimit = 1 val pageLimit = 1
options.setPageLimit(pageLimit) options.setPageLimit(pageLimit)
GmsDocumentScanning.getClient(options.build()) GmsDocumentScanning.getClient(options.build())
.getStartScanIntent(activity) .getStartScanIntent(activity)
.addOnSuccessListener { intentSender: IntentSender -> .addOnSuccessListener { intentSender: IntentSender ->
scannerLauncher.launch(IntentSenderRequest.Builder(intentSender).build()) scannerLauncher.launch(IntentSenderRequest.Builder(intentSender).build())
} }
.addOnFailureListener { e: Exception -> .addOnFailureListener { e: Exception ->
} }
}
} }
fun deleteList(list: List<DocumentBean>) { fun deleteList(list: List<DocumentBean>) {
MainScope().launch(Dispatchers.IO) { MainScope().launch(Dispatchers.IO) {
list.forEach { list.forEach {
......
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