Commit cd845150 authored by wanglei's avatar wanglei

...

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