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 new file mode 100644 index 0000000..329c51c --- /dev/null +++ b/app/src/main/java/com/nova/brain/glass/ui/SprayingResultActivity.kt @@ -0,0 +1,133 @@ +package com.nova.brain.glass.ui + +import android.content.Intent +import android.graphics.BitmapFactory +import android.os.Environment +import android.view.WindowManager +import androidx.recyclerview.widget.RecyclerView +import com.nova.brain.glass.R +import com.nova.brain.glass.databinding.ActivitySprayingBinding +import com.nova.brain.glass.databinding.ActivitySprayingResultBinding +import com.nova.brain.glass.helper.OfflineCmdListener +import com.nova.brain.glass.helper.OfflineCmdServiceHelper +import com.nova.brain.glass.model.ItemItem +import com.nova.brain.glass.viewmodel.SprayingVM +import com.rokid.security.glass3.open.sdk.GlassSdk +import com.rokid.security.glass3.sdk.base.data.media.PhotoResolution +import com.rokid.security.system.server.media.callback.PhotoFileCallback +import com.xuqm.base.adapter.BasePagedAdapter +import com.xuqm.base.adapter.CommonPagedAdapter +import com.xuqm.base.adapter.ViewHolder +import com.xuqm.base.common.LogHelper +import com.xuqm.base.extensions.showMessage +import com.xuqm.base.ui.BaseListFormLayoutNormalActivity +import java.io.File +import java.util.UUID + +class SprayingResultActivity : + BaseListFormLayoutNormalActivity() { + override fun getLayoutId(): Int = R.layout.activity_spraying_result + override fun fullscreen(): Boolean = true + + override fun getRecyclerOrientation(): Int = RecyclerView.VERTICAL + + private val listener = object : OfflineCmdListener { + override fun onOfflineCmd(cmd: String) { + runOnUiThread { + when (cmd) { + "退出", "返回", "退回" -> { + finish() + } + + "开始", "拍照", "开始拍照", "开始任务" -> { + runOnUiThread { + binding.hint.text = "拍照中,请稍后..." + } + isPhoto = true + takePhoto() + } + } + } + } + + } + + fun takePhoto() { + val fileName = "test_${System.currentTimeMillis()}.png" + val publicPicturesDir = + Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + val file = File(publicPicturesDir, fileName) + GlassSdk.getGlassMediaService() + ?.takePhoto(PhotoResolution.RESOLUTION_480P, file.absolutePath) + } + + private val photoCallbackId = UUID.randomUUID().toString() + + private val mPhotoFileCallback = object : PhotoFileCallback.Stub() { + override fun onTakePhoto(path: String) { + LogHelper.d("onTakePhoto-->path = $path") + } + + override fun getCallbackId(): String { + return photoCallbackId + } + + override fun onTakePhotoV2(path: String?, width: Int, height: Int) { + LogHelper.d("width:$width--height:$height") + if (path == null) { + if (isPhoto) { + isPhoto = false + takePhoto() + } else { + runOnUiThread { + binding.hint.text = "单击或语音输入“开始”,进入下一步" + } + "相机异常".showMessage() + } + } else { + startActivity(Intent(this@SprayingResultActivity, SprayingOCRActivity::class.java).apply { + putExtra("path", path) + }) + finish() +// runOnUiThread { +// binding.hint.text = "单击或语音输入“开始”,进入下一步" +// binding.iv.setImageBitmap(BitmapFactory.decodeFile(path)) +// } + } + } + } + + + override fun initData() { + super.initData() + window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) + OfflineCmdServiceHelper.addOnLineListener(listener) + GlassSdk.getGlassMediaService()?.addPhotoCallback(mPhotoFileCallback) + } + + override fun onDestroy() { + super.onDestroy() + OfflineCmdServiceHelper.removeOnLineListener(listener) + GlassSdk.getGlassMediaService()?.removePhotoCallback(mPhotoFileCallback) + } + + private var isPhoto = false + private val adapter = object : CommonPagedAdapter(R.layout.item_photo) { + override fun convert(holder: ViewHolder, item: ItemItem, position: Int) { + holder + .setClickListener(R.id.photo) { + when (item.text) { + "拍照" -> { + runOnUiThread { + binding.hint.text = "拍照中,请稍后..." + } + isPhoto = true + takePhoto() + } + } + } + } + } + + override fun adapter(): BasePagedAdapter = adapter +} diff --git a/app/src/main/res/layout/activity_spraying_result.xml b/app/src/main/res/layout/activity_spraying_result.xml new file mode 100644 index 0000000..db887fe --- /dev/null +++ b/app/src/main/res/layout/activity_spraying_result.xml @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/mipmap-hdpi/ocr_confirm.png b/app/src/main/res/mipmap-hdpi/ocr_confirm.png new file mode 100644 index 0000000..5f32ac7 Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ocr_confirm.png differ diff --git a/app/src/main/res/mipmap-hdpi/ocr_false.png b/app/src/main/res/mipmap-hdpi/ocr_false.png new file mode 100644 index 0000000..241f4ba Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ocr_false.png differ diff --git a/app/src/main/res/mipmap-hdpi/ocr_next.png b/app/src/main/res/mipmap-hdpi/ocr_next.png new file mode 100644 index 0000000..7525b24 Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ocr_next.png differ diff --git a/app/src/main/res/mipmap-hdpi/ocr_photo.png b/app/src/main/res/mipmap-hdpi/ocr_photo.png new file mode 100644 index 0000000..49d651a Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ocr_photo.png differ diff --git a/app/src/main/res/mipmap-hdpi/ocr_true.png b/app/src/main/res/mipmap-hdpi/ocr_true.png new file mode 100644 index 0000000..a0f74a8 Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ocr_true.png differ diff --git a/app/src/main/res/mipmap-mdpi/ocr_confirm.png b/app/src/main/res/mipmap-mdpi/ocr_confirm.png new file mode 100644 index 0000000..3e69ac8 Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ocr_confirm.png differ diff --git a/app/src/main/res/mipmap-mdpi/ocr_false.png b/app/src/main/res/mipmap-mdpi/ocr_false.png new file mode 100644 index 0000000..8a876ac Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ocr_false.png differ diff --git a/app/src/main/res/mipmap-mdpi/ocr_next.png b/app/src/main/res/mipmap-mdpi/ocr_next.png new file mode 100644 index 0000000..4d30d3e Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ocr_next.png differ diff --git a/app/src/main/res/mipmap-mdpi/ocr_photo.png b/app/src/main/res/mipmap-mdpi/ocr_photo.png new file mode 100644 index 0000000..6e8cd6d Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ocr_photo.png differ diff --git a/app/src/main/res/mipmap-mdpi/ocr_true.png b/app/src/main/res/mipmap-mdpi/ocr_true.png new file mode 100644 index 0000000..b9afc32 Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ocr_true.png differ diff --git a/app/src/main/res/mipmap-xhdpi/ocr_confirm.png b/app/src/main/res/mipmap-xhdpi/ocr_confirm.png new file mode 100644 index 0000000..e2c1737 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ocr_confirm.png differ diff --git a/app/src/main/res/mipmap-xhdpi/ocr_false.png b/app/src/main/res/mipmap-xhdpi/ocr_false.png new file mode 100644 index 0000000..fb283a3 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ocr_false.png differ diff --git a/app/src/main/res/mipmap-xhdpi/ocr_next.png b/app/src/main/res/mipmap-xhdpi/ocr_next.png new file mode 100644 index 0000000..79fa3a9 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ocr_next.png differ diff --git a/app/src/main/res/mipmap-xhdpi/ocr_photo.png b/app/src/main/res/mipmap-xhdpi/ocr_photo.png new file mode 100644 index 0000000..98f4040 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ocr_photo.png differ diff --git a/app/src/main/res/mipmap-xhdpi/ocr_true.png b/app/src/main/res/mipmap-xhdpi/ocr_true.png new file mode 100644 index 0000000..35ad98a Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ocr_true.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ocr_confirm.png b/app/src/main/res/mipmap-xxhdpi/ocr_confirm.png new file mode 100644 index 0000000..3e86fca Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ocr_confirm.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ocr_false.png b/app/src/main/res/mipmap-xxhdpi/ocr_false.png new file mode 100644 index 0000000..eb7b066 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ocr_false.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ocr_next.png b/app/src/main/res/mipmap-xxhdpi/ocr_next.png new file mode 100644 index 0000000..dda40cf Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ocr_next.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ocr_photo.png b/app/src/main/res/mipmap-xxhdpi/ocr_photo.png new file mode 100644 index 0000000..51f8ff7 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ocr_photo.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ocr_true.png b/app/src/main/res/mipmap-xxhdpi/ocr_true.png new file mode 100644 index 0000000..ff932de Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ocr_true.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ocr_confirm.png b/app/src/main/res/mipmap-xxxhdpi/ocr_confirm.png new file mode 100644 index 0000000..cd5d2fb Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ocr_confirm.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ocr_false.png b/app/src/main/res/mipmap-xxxhdpi/ocr_false.png new file mode 100644 index 0000000..abb58e4 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ocr_false.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ocr_next.png b/app/src/main/res/mipmap-xxxhdpi/ocr_next.png new file mode 100644 index 0000000..bb9bc87 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ocr_next.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ocr_photo.png b/app/src/main/res/mipmap-xxxhdpi/ocr_photo.png new file mode 100644 index 0000000..e374c3c Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ocr_photo.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ocr_true.png b/app/src/main/res/mipmap-xxxhdpi/ocr_true.png new file mode 100644 index 0000000..40bf933 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ocr_true.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/orc_edit.png b/app/src/main/res/mipmap-xxxhdpi/orc_edit.png new file mode 100644 index 0000000..6de0512 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/orc_edit.png differ