diff --git a/app/src/main/java/com/nova/brain/glass/model/data/SprayingSubmitData.kt b/app/src/main/java/com/nova/brain/glass/model/data/SprayingSubmitData.kt index 1f6db79..2ec4508 100644 --- a/app/src/main/java/com/nova/brain/glass/model/data/SprayingSubmitData.kt +++ b/app/src/main/java/com/nova/brain/glass/model/data/SprayingSubmitData.kt @@ -34,6 +34,7 @@ data class RecognizeByPathResponse( data class OcrNavigationData( val filePath: String, + val localPhotoPath: String, val ocrResultJson: String, val judgment: String, val one: String, diff --git a/app/src/main/java/com/nova/brain/glass/ui/SprayingOCRActivity.kt b/app/src/main/java/com/nova/brain/glass/ui/SprayingOCRActivity.kt index e632a31..b154b98 100644 --- a/app/src/main/java/com/nova/brain/glass/ui/SprayingOCRActivity.kt +++ b/app/src/main/java/com/nova/brain/glass/ui/SprayingOCRActivity.kt @@ -123,6 +123,7 @@ class SprayingOCRActivity : putExtra("taskId", taskId) putExtra("productionInfoId", productionInfoId) putExtra("filePath", result.filePath) + putExtra("localPhotoPath", result.localPhotoPath) putExtra("ocrResultJson", result.ocrResultJson) putExtra("judgment", result.judgment) putExtra("one", result.one) diff --git a/app/src/main/java/com/nova/brain/glass/ui/SprayingResultActivity.kt b/app/src/main/java/com/nova/brain/glass/ui/SprayingResultActivity.kt index bd6599a..8f6a254 100644 --- a/app/src/main/java/com/nova/brain/glass/ui/SprayingResultActivity.kt +++ b/app/src/main/java/com/nova/brain/glass/ui/SprayingResultActivity.kt @@ -10,9 +10,11 @@ import android.os.Looper import android.view.LayoutInflater import android.view.WindowManager import androidx.activity.result.contract.ActivityResultContracts +import androidx.core.view.doOnLayout import androidx.recyclerview.widget.RecyclerView import com.nova.brain.glass.R import com.nova.brain.glass.databinding.ActivitySprayingResultBinding +import com.nova.brain.glass.helper.BitmapDecodeHelper import com.nova.brain.glass.helper.GlassMediaServiceHelper import com.nova.brain.glass.helper.OfflineCmdListener import com.nova.brain.glass.helper.OfflineCmdServiceHelper @@ -31,6 +33,7 @@ import com.xuqm.base.extensions.showMessage import com.xuqm.base.ui.BaseListFormLayoutNormalActivity import java.io.File import java.util.UUID +import java.util.concurrent.Executors class SprayingResultActivity : BaseListFormLayoutNormalActivity() { @@ -48,10 +51,14 @@ class SprayingResultActivity : private val filePath: String by lazy { intent.getStringExtra("filePath").orEmpty() } + private val localPhotoPath: String by lazy { + intent.getStringExtra("localPhotoPath").orEmpty() + } private val ocrResultJson: String by lazy { intent.getStringExtra("ocrResultJson").orEmpty() } + private val imageDecodeExecutor = Executors.newSingleThreadExecutor() private var ocrOne: String = "" private var ocrTwo: String = "" private var status = true @@ -220,6 +227,18 @@ class SprayingResultActivity : binding.value2.paintFlags = binding.value2.paintFlags or strikeFlag binding.value3.paintFlags = binding.value3.paintFlags or strikeFlag } + if (localPhotoPath.isNotBlank()) { + binding.iv.doOnLayout { + val w = it.width.coerceAtLeast(1) + val h = it.height.coerceAtLeast(1) + imageDecodeExecutor.execute { + val bitmap = BitmapDecodeHelper.decodeSampledBitmap(localPhotoPath, w, h) + runOnUiThread { + if (!isFinishing && !isDestroyed) binding.iv.setImageBitmap(bitmap) + } + } + } + } } override fun onResume() { diff --git a/app/src/main/java/com/nova/brain/glass/viewmodel/SprayingOCRVM.kt b/app/src/main/java/com/nova/brain/glass/viewmodel/SprayingOCRVM.kt index 523e674..f0fcf78 100644 --- a/app/src/main/java/com/nova/brain/glass/viewmodel/SprayingOCRVM.kt +++ b/app/src/main/java/com/nova/brain/glass/viewmodel/SprayingOCRVM.kt @@ -90,6 +90,7 @@ class SprayingOCRVM : BaseListViewModel() { val data = response.data ?: OcrResultData() ocrResult.value = OcrNavigationData( filePath = serverPath, + localPhotoPath = localPath, ocrResultJson = gson.toJson(data), judgment = data.judgment, one = data.one,