Commit cd845150 authored by wanglei's avatar wanglei

...

parent a3547387
...@@ -74,11 +74,13 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView { ...@@ -74,11 +74,13 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
override fun initView() { override fun initView() {
actionId = intent.extras?.getString("actionId") ?: ""
LogEx.logDebug(TAG, "initView actionId=$actionId", true)
mainPresenter = MainPresenter(this, this, lifecycleScope) mainPresenter = MainPresenter(this, this, lifecycleScope)
mainPresenter.initScannerLauncher(this) mainPresenter.initScannerLauncher(this)
actionId = intent.extras?.getString("actionId") ?: ""
LogEx.logDebug(TAG, "initView actionId=$actionId", true)
addDeskShortCut() addDeskShortCut()
...@@ -257,6 +259,7 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView { ...@@ -257,6 +259,7 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
override fun onDestroy() { override fun onDestroy() {
super.onDestroy() super.onDestroy()
LogEx.logDebug(TAG, "onDestroy") LogEx.logDebug(TAG, "onDestroy")
mainPresenter.scannerLauncher = null
} }
override fun onSaveInstanceState(outState: Bundle) { override fun onSaveInstanceState(outState: Bundle) {
......
...@@ -62,7 +62,7 @@ class MainPresenter( ...@@ -62,7 +62,7 @@ class MainPresenter(
val excelDocuments = arrayListOf<DocumentBean>() val excelDocuments = arrayListOf<DocumentBean>()
val pptDocuments = arrayListOf<DocumentBean>() val pptDocuments = arrayListOf<DocumentBean>()
private lateinit var scannerLauncher: ActivityResultLauncher<IntentSenderRequest> var scannerLauncher: ActivityResultLauncher<IntentSenderRequest>? = null
companion object { companion object {
var mainRefreshData: Boolean = false var mainRefreshData: Boolean = false
...@@ -300,6 +300,7 @@ class MainPresenter( ...@@ -300,6 +300,7 @@ class MainPresenter(
return new return new
} }
var scannerLauncherRegister: Boolean = false
fun initScannerLauncher(appCompatActivity: AppCompatActivity) { fun initScannerLauncher(appCompatActivity: AppCompatActivity) {
scannerLauncher = scannerLauncher =
appCompatActivity.registerForActivityResult(ActivityResultContracts.StartIntentSenderForResult()) { activityResult -> appCompatActivity.registerForActivityResult(ActivityResultContracts.StartIntentSenderForResult()) { activityResult ->
...@@ -321,6 +322,8 @@ class MainPresenter( ...@@ -321,6 +322,8 @@ class MainPresenter(
mainView.handleActivityGmsScanResult(null, null) mainView.handleActivityGmsScanResult(null, null)
} }
} }
scannerLauncherRegister = true
} }
...@@ -341,6 +344,7 @@ class MainPresenter( ...@@ -341,6 +344,7 @@ class MainPresenter(
fun starGmsScan(activity: Activity) { fun starGmsScan(activity: Activity) {
runCatching { runCatching {
if (scannerLauncher == null && !scannerLauncherRegister) return
val options = val options =
GmsDocumentScannerOptions.Builder() GmsDocumentScannerOptions.Builder()
.setScannerMode(GmsDocumentScannerOptions.SCANNER_MODE_BASE) .setScannerMode(GmsDocumentScannerOptions.SCANNER_MODE_BASE)
...@@ -356,7 +360,7 @@ class MainPresenter( ...@@ -356,7 +360,7 @@ class MainPresenter(
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 ->
} }
......
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