diff --git a/app/src/main/java/com/casic/br/app/model/CheckManifestModel.java b/app/src/main/java/com/casic/br/app/model/CheckManifestModel.java index c28a76e..721335d 100644 --- a/app/src/main/java/com/casic/br/app/model/CheckManifestModel.java +++ b/app/src/main/java/com/casic/br/app/model/CheckManifestModel.java @@ -62,7 +62,7 @@ } public static class RowsModel { - private String basisList; + private List basisList; private String checkItem; private String checkMethod; private String checkObject; @@ -81,11 +81,11 @@ private String updateUserId; private String updateUserName; - public String getBasisList() { + public List getBasisList() { return basisList; } - public void setBasisList(String basisList) { + public void setBasisList(List basisList) { this.basisList = basisList; } diff --git a/app/src/main/java/com/casic/br/app/model/CheckManifestModel.java b/app/src/main/java/com/casic/br/app/model/CheckManifestModel.java index c28a76e..721335d 100644 --- a/app/src/main/java/com/casic/br/app/model/CheckManifestModel.java +++ b/app/src/main/java/com/casic/br/app/model/CheckManifestModel.java @@ -62,7 +62,7 @@ } public static class RowsModel { - private String basisList; + private List basisList; private String checkItem; private String checkMethod; private String checkObject; @@ -81,11 +81,11 @@ private String updateUserId; private String updateUserName; - public String getBasisList() { + public List getBasisList() { return basisList; } - public void setBasisList(String basisList) { + public void setBasisList(List basisList) { this.basisList = basisList; } diff --git a/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java b/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java index dee96e6..d36bf92 100644 --- a/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java +++ b/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java @@ -63,7 +63,7 @@ public static class RowsModel { private int alarmImageCount; - private String alarmImageList; + private List alarmImageList; private String basis; private String content; private String createTime; @@ -74,7 +74,7 @@ private String mainClassName; private String name; private int normalImageCount; - private String normalImageList; + private List normalImageList; private String scene; private String sceneName; private String subClass; @@ -91,11 +91,11 @@ this.alarmImageCount = alarmImageCount; } - public String getAlarmImageList() { + public List getAlarmImageList() { return alarmImageList; } - public void setAlarmImageList(String alarmImageList) { + public void setAlarmImageList(List alarmImageList) { this.alarmImageList = alarmImageList; } @@ -179,11 +179,11 @@ this.normalImageCount = normalImageCount; } - public String getNormalImageList() { + public List getNormalImageList() { return normalImageList; } - public void setNormalImageList(String normalImageList) { + public void setNormalImageList(List normalImageList) { this.normalImageList = normalImageList; } diff --git a/app/src/main/java/com/casic/br/app/model/CheckManifestModel.java b/app/src/main/java/com/casic/br/app/model/CheckManifestModel.java index c28a76e..721335d 100644 --- a/app/src/main/java/com/casic/br/app/model/CheckManifestModel.java +++ b/app/src/main/java/com/casic/br/app/model/CheckManifestModel.java @@ -62,7 +62,7 @@ } public static class RowsModel { - private String basisList; + private List basisList; private String checkItem; private String checkMethod; private String checkObject; @@ -81,11 +81,11 @@ private String updateUserId; private String updateUserName; - public String getBasisList() { + public List getBasisList() { return basisList; } - public void setBasisList(String basisList) { + public void setBasisList(List basisList) { this.basisList = basisList; } diff --git a/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java b/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java index dee96e6..d36bf92 100644 --- a/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java +++ b/app/src/main/java/com/casic/br/app/model/HiddenTroubleModel.java @@ -63,7 +63,7 @@ public static class RowsModel { private int alarmImageCount; - private String alarmImageList; + private List alarmImageList; private String basis; private String content; private String createTime; @@ -74,7 +74,7 @@ private String mainClassName; private String name; private int normalImageCount; - private String normalImageList; + private List normalImageList; private String scene; private String sceneName; private String subClass; @@ -91,11 +91,11 @@ this.alarmImageCount = alarmImageCount; } - public String getAlarmImageList() { + public List getAlarmImageList() { return alarmImageList; } - public void setAlarmImageList(String alarmImageList) { + public void setAlarmImageList(List alarmImageList) { this.alarmImageList = alarmImageList; } @@ -179,11 +179,11 @@ this.normalImageCount = normalImageCount; } - public String getNormalImageList() { + public List getNormalImageList() { return normalImageList; } - public void setNormalImageList(String normalImageList) { + public void setNormalImageList(List normalImageList) { this.normalImageList = normalImageList; } diff --git a/app/src/main/java/com/casic/br/app/view/StartCheckActivity.kt b/app/src/main/java/com/casic/br/app/view/StartCheckActivity.kt index fc946dd..a309c40 100644 --- a/app/src/main/java/com/casic/br/app/view/StartCheckActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/StartCheckActivity.kt @@ -57,8 +57,10 @@ private val kTag = "StartCheckActivity" private val context = this private val executor = ThreadPoolExecutor( - 16, 16, - 0L, TimeUnit.MILLISECONDS, + 16, + 16, + 0L, + TimeUnit.MILLISECONDS, LinkedBlockingQueue(1024), ThreadPoolExecutor.AbortPolicy() ) @@ -68,6 +70,7 @@ private lateinit var imageAnalysis: ImageAnalysis private lateinit var configViewModel: ConfigViewModel private lateinit var imageFileViewModel: ImageFileViewModel + private var sceneName = "" private var isRecognizing = false private var mainDicModels: MutableList = ArrayList() @@ -83,6 +86,7 @@ imageFileViewModel = ViewModelProvider(this)[ImageFileViewModel::class.java] imageFileViewModel.recognizeResult.observe(this) { if (it.code == 200) { + sceneName = it.scene binding.titleView.setTitle(it.scene) binding.detectView.updateTargetPosition(it.result) } @@ -95,8 +99,7 @@ // 检查 CameraProvider 可用性 cameraProviderFuture.addListener({ try { - //TODO 暂时注掉 -// bindPreview(cameraProviderFuture.get()) + bindPreview(cameraProviderFuture.get()) } catch (e: ExecutionException) { e.printStackTrace() } catch (e: InterruptedException) { @@ -116,39 +119,29 @@ } // CameraSelector, 选择后置摄像头 - val cameraSelector = CameraSelector.Builder() - .requireLensFacing(CameraSelector.LENS_FACING_BACK) - .build() + val cameraSelector = + CameraSelector.Builder().requireLensFacing(CameraSelector.LENS_FACING_BACK).build() // Preview - val cameraPreViewBuilder = Preview.Builder() - .setTargetAspectRatio(screenAspectRatio) - .setTargetRotation(Surface.ROTATION_0) - .build() + val cameraPreViewBuilder = Preview.Builder().setTargetAspectRatio(screenAspectRatio) + .setTargetRotation(Surface.ROTATION_0).build() // ImageCapture - imageCapture = ImageCapture.Builder() - .setCaptureMode(ImageCapture.CAPTURE_MODE_MINIMIZE_LATENCY) - .setTargetAspectRatio(screenAspectRatio) - .setTargetRotation(Surface.ROTATION_0) - .build() + imageCapture = + ImageCapture.Builder().setCaptureMode(ImageCapture.CAPTURE_MODE_MINIMIZE_LATENCY) + .setTargetAspectRatio(screenAspectRatio).setTargetRotation(Surface.ROTATION_0) + .build() // ImageAnalysis - imageAnalysis = ImageAnalysis.Builder() - .setTargetAspectRatio(screenAspectRatio) + imageAnalysis = ImageAnalysis.Builder().setTargetAspectRatio(screenAspectRatio) .setTargetRotation(Surface.ROTATION_0) - .setBackpressureStrategy(ImageAnalysis.STRATEGY_KEEP_ONLY_LATEST) - .build() + .setBackpressureStrategy(ImageAnalysis.STRATEGY_KEEP_ONLY_LATEST).build() // Must unbind the use-cases before rebinding them cameraProvider.unbindAll() try { val camera = cameraProvider.bindToLifecycle( - this, - cameraSelector, - imageCapture, - imageAnalysis, - cameraPreViewBuilder + this, cameraSelector, imageCapture, imageAnalysis, cameraPreViewBuilder ) // Attach the viewfinder's surface provider to preview use case @@ -201,7 +194,7 @@ val bitmap = BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.size) val base64 = bitmap.rotateImage(90).encodeToBase64() - imageFileViewModel.getRecognizeResult(context, base64, "建筑消防") + imageFileViewModel.getRecognizeResult(context, base64, sceneName) } } //检测完之后close就会继续生成下一帧图片,否则就会被阻塞不会继续生成下一帧 @@ -266,21 +259,18 @@ }) } - private val selectSceneLauncher = - registerForActivityResult(ActivityResultContracts.StartActivityForResult(), - ActivityResultCallback { - if (it.resultCode == Activity.RESULT_OK) { - val data = it.data ?: return@ActivityResultCallback - val sceneName = data.getStringExtra("sceneName").toString() - binding.titleView.setTitle(sceneName) - } + private val selectSceneLauncher = registerForActivityResult( + ActivityResultContracts.StartActivityForResult(), ActivityResultCallback { + if (it.resultCode == Activity.RESULT_OK) { + val data = it.data ?: return@ActivityResultCallback + sceneName = data.getStringExtra("sceneName").toString() + binding.titleView.setTitle(sceneName) } - ) + }) private fun aspectRatio(width: Int, height: Int): Int { val ratio = width.coerceAtLeast(height).toDouble() / width.coerceAtMost(height) - return if (abs(ratio - RATIO_4_3_VALUE) <= abs(ratio - RATIO_16_9_VALUE) - ) { + return if (abs(ratio - RATIO_4_3_VALUE) <= abs(ratio - RATIO_16_9_VALUE)) { AspectRatio.RATIO_4_3 } else AspectRatio.RATIO_16_9 }