|
@@ -1,10 +1,12 @@
|
|
|
package com.nova.brain.glass.ui
|
|
package com.nova.brain.glass.ui
|
|
|
|
|
|
|
|
|
|
+import android.app.Activity
|
|
|
import android.content.Intent
|
|
import android.content.Intent
|
|
|
import android.graphics.BitmapFactory
|
|
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.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
|
|
@@ -31,6 +33,24 @@ class SprayingResultActivity :
|
|
|
|
|
|
|
|
override fun getRecyclerOrientation(): Int = RecyclerView.HORIZONTAL
|
|
override fun getRecyclerOrientation(): Int = RecyclerView.HORIZONTAL
|
|
|
private var status = true
|
|
private var status = true
|
|
|
|
|
+ private val manualResultLauncher =
|
|
|
|
|
+ registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
|
|
|
|
|
+ if (result.resultCode != Activity.RESULT_OK) {
|
|
|
|
|
+ return@registerForActivityResult
|
|
|
|
|
+ }
|
|
|
|
|
+ when (result.data?.getStringExtra(SprayingManualResultActivity.EXTRA_MANUAL_RESULT)) {
|
|
|
|
|
+ SprayingManualResultActivity.RESULT_PASS -> {
|
|
|
|
|
+ status = true
|
|
|
|
|
+ setStatusImage()
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ SprayingManualResultActivity.RESULT_FAIL -> {
|
|
|
|
|
+ status = false
|
|
|
|
|
+ setStatusImage()
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
private val listener = object : OfflineCmdListener {
|
|
private val listener = object : OfflineCmdListener {
|
|
|
override fun onOfflineCmd(cmd: String) {
|
|
override fun onOfflineCmd(cmd: String) {
|
|
|
runOnUiThread {
|
|
runOnUiThread {
|
|
@@ -66,7 +86,7 @@ class SprayingResultActivity :
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
fun rest() {
|
|
fun rest() {
|
|
|
-
|
|
|
|
|
|
|
+ manualResultLauncher.launch(Intent(this, SprayingManualResultActivity::class.java))
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private val photoCallbackId = UUID.randomUUID().toString()
|
|
private val photoCallbackId = UUID.randomUUID().toString()
|
|
@@ -108,31 +128,42 @@ class SprayingResultActivity :
|
|
|
override fun initData() {
|
|
override fun initData() {
|
|
|
super.initData()
|
|
super.initData()
|
|
|
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
|
|
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
|
|
|
- OfflineCmdServiceHelper.addOnLineListener(listener)
|
|
|
|
|
- GlassSdk.getGlassMediaService()?.addPhotoCallback(mPhotoFileCallback)
|
|
|
|
|
intent.getStringExtra("path")?.apply {
|
|
intent.getStringExtra("path")?.apply {
|
|
|
binding.iv.setImageBitmap(BitmapFactory.decodeFile(this))
|
|
binding.iv.setImageBitmap(BitmapFactory.decodeFile(this))
|
|
|
setStatusImage()
|
|
setStatusImage()
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-fun setStatusImage(){
|
|
|
|
|
- binding.tvTaskHeader.text = if (status) "OCR识别结果:合格" else "OCR识别结果:不合格"
|
|
|
|
|
- binding.status.setImageResource(if (status) R.mipmap.ocr_true else R.mipmap.ocr_false)
|
|
|
|
|
- if (status){
|
|
|
|
|
- binding.value1.paintFlags = binding.value1.paintFlags and Paint.STRIKE_THRU_TEXT_FLAG.inv()
|
|
|
|
|
- binding.value2.paintFlags = binding.value2.paintFlags and Paint.STRIKE_THRU_TEXT_FLAG.inv()
|
|
|
|
|
- binding.value3.paintFlags = binding.value3.paintFlags and Paint.STRIKE_THRU_TEXT_FLAG.inv()
|
|
|
|
|
- }else{
|
|
|
|
|
- binding.value1.paintFlags = binding.value1.paintFlags or Paint.STRIKE_THRU_TEXT_FLAG
|
|
|
|
|
- binding.value2.paintFlags = binding.value2.paintFlags or Paint.STRIKE_THRU_TEXT_FLAG
|
|
|
|
|
- binding.value3.paintFlags = binding.value3.paintFlags or Paint.STRIKE_THRU_TEXT_FLAG
|
|
|
|
|
|
|
+
|
|
|
|
|
+ fun setStatusImage() {
|
|
|
|
|
+ binding.tvTaskHeader.text = if (status) "OCR识别结果:合格" else "OCR识别结果:不合格"
|
|
|
|
|
+ binding.status.setImageResource(if (status) R.mipmap.ocr_true else R.mipmap.ocr_false)
|
|
|
|
|
+ if (status) {
|
|
|
|
|
+ binding.value1.paintFlags =
|
|
|
|
|
+ binding.value1.paintFlags and Paint.STRIKE_THRU_TEXT_FLAG.inv()
|
|
|
|
|
+ binding.value2.paintFlags =
|
|
|
|
|
+ binding.value2.paintFlags and Paint.STRIKE_THRU_TEXT_FLAG.inv()
|
|
|
|
|
+ binding.value3.paintFlags =
|
|
|
|
|
+ binding.value3.paintFlags and Paint.STRIKE_THRU_TEXT_FLAG.inv()
|
|
|
|
|
+ } else {
|
|
|
|
|
+ binding.value1.paintFlags = binding.value1.paintFlags or Paint.STRIKE_THRU_TEXT_FLAG
|
|
|
|
|
+ binding.value2.paintFlags = binding.value2.paintFlags or Paint.STRIKE_THRU_TEXT_FLAG
|
|
|
|
|
+ binding.value3.paintFlags = binding.value3.paintFlags or Paint.STRIKE_THRU_TEXT_FLAG
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ override fun onResume() {
|
|
|
|
|
+ super.onResume()
|
|
|
|
|
+ OfflineCmdServiceHelper.addOnLineListener(listener)
|
|
|
|
|
+ GlassSdk.getGlassMediaService()?.addPhotoCallback(mPhotoFileCallback)
|
|
|
}
|
|
}
|
|
|
-}
|
|
|
|
|
- override fun onDestroy() {
|
|
|
|
|
- super.onDestroy()
|
|
|
|
|
|
|
+ override fun onPause() {
|
|
|
|
|
+ super.onPause()
|
|
|
OfflineCmdServiceHelper.removeOnLineListener(listener)
|
|
OfflineCmdServiceHelper.removeOnLineListener(listener)
|
|
|
GlassSdk.getGlassMediaService()?.removePhotoCallback(mPhotoFileCallback)
|
|
GlassSdk.getGlassMediaService()?.removePhotoCallback(mPhotoFileCallback)
|
|
|
}
|
|
}
|
|
|
|
|
+ override fun onDestroy() {
|
|
|
|
|
+ super.onDestroy()
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
private var isPhoto = false
|
|
private var isPhoto = false
|
|
|
private val adapter = object : CommonPagedAdapter<ItemItem>(R.layout.item_menu) {
|
|
private val adapter = object : CommonPagedAdapter<ItemItem>(R.layout.item_menu) {
|