|
@@ -2,14 +2,15 @@ package com.nova.brain.glass.ui
|
|
|
|
|
|
|
|
import android.app.Activity
|
|
import android.app.Activity
|
|
|
import android.content.Intent
|
|
import android.content.Intent
|
|
|
-import android.graphics.BitmapFactory
|
|
|
|
|
import android.graphics.Paint
|
|
import android.graphics.Paint
|
|
|
import android.os.Environment
|
|
import android.os.Environment
|
|
|
import android.view.WindowManager
|
|
import android.view.WindowManager
|
|
|
import androidx.activity.result.contract.ActivityResultContracts
|
|
import androidx.activity.result.contract.ActivityResultContracts
|
|
|
|
|
+import androidx.core.view.doOnLayout
|
|
|
import androidx.recyclerview.widget.RecyclerView
|
|
import androidx.recyclerview.widget.RecyclerView
|
|
|
import com.nova.brain.glass.R
|
|
import com.nova.brain.glass.R
|
|
|
import com.nova.brain.glass.databinding.ActivitySprayingResultBinding
|
|
import com.nova.brain.glass.databinding.ActivitySprayingResultBinding
|
|
|
|
|
+import com.nova.brain.glass.helper.BitmapDecodeHelper
|
|
|
import com.nova.brain.glass.helper.OfflineCmdListener
|
|
import com.nova.brain.glass.helper.OfflineCmdListener
|
|
|
import com.nova.brain.glass.helper.OfflineCmdServiceHelper
|
|
import com.nova.brain.glass.helper.OfflineCmdServiceHelper
|
|
|
import com.nova.brain.glass.helper.SprayingPhotoManager
|
|
import com.nova.brain.glass.helper.SprayingPhotoManager
|
|
@@ -25,6 +26,7 @@ import com.xuqm.base.common.LogHelper
|
|
|
import com.xuqm.base.extensions.showMessage
|
|
import com.xuqm.base.extensions.showMessage
|
|
|
import com.xuqm.base.ui.BaseListFormLayoutNormalActivity
|
|
import com.xuqm.base.ui.BaseListFormLayoutNormalActivity
|
|
|
import java.io.File
|
|
import java.io.File
|
|
|
|
|
+import java.util.concurrent.Executors
|
|
|
import java.util.UUID
|
|
import java.util.UUID
|
|
|
|
|
|
|
|
class SprayingResultActivity :
|
|
class SprayingResultActivity :
|
|
@@ -33,6 +35,7 @@ class SprayingResultActivity :
|
|
|
override fun fullscreen(): Boolean = true
|
|
override fun fullscreen(): Boolean = true
|
|
|
|
|
|
|
|
override fun getRecyclerOrientation(): Int = RecyclerView.HORIZONTAL
|
|
override fun getRecyclerOrientation(): Int = RecyclerView.HORIZONTAL
|
|
|
|
|
+ private val imageDecodeExecutor = Executors.newSingleThreadExecutor()
|
|
|
private var status = true
|
|
private var status = true
|
|
|
private val manualResultLauncher =
|
|
private val manualResultLauncher =
|
|
|
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
|
|
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
|
|
@@ -157,7 +160,7 @@ class SprayingResultActivity :
|
|
|
super.initData()
|
|
super.initData()
|
|
|
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
|
|
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
|
|
|
intent.getStringExtra("path")?.apply {
|
|
intent.getStringExtra("path")?.apply {
|
|
|
- binding.iv.setImageBitmap(BitmapFactory.decodeFile(this))
|
|
|
|
|
|
|
+ showResultImage(this)
|
|
|
setStatusImage()
|
|
setStatusImage()
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -231,4 +234,20 @@ class SprayingResultActivity :
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun adapter(): BasePagedAdapter<ItemItem> = adapter
|
|
override fun adapter(): BasePagedAdapter<ItemItem> = adapter
|
|
|
|
|
+
|
|
|
|
|
+ private fun showResultImage(path: String) {
|
|
|
|
|
+ binding.iv.doOnLayout {
|
|
|
|
|
+ val targetWidth = it.width.coerceAtLeast(1)
|
|
|
|
|
+ val targetHeight = it.height.coerceAtLeast(1)
|
|
|
|
|
+ imageDecodeExecutor.execute {
|
|
|
|
|
+ val bitmap = BitmapDecodeHelper.decodeSampledBitmap(path, targetWidth, targetHeight)
|
|
|
|
|
+ runOnUiThread {
|
|
|
|
|
+ if (isFinishing || isDestroyed) {
|
|
|
|
|
+ return@runOnUiThread
|
|
|
|
|
+ }
|
|
|
|
|
+ binding.iv.setImageBitmap(bitmap)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|