diff --git a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt index 8b5fbab..b8c2ce4 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt @@ -98,19 +98,18 @@ }) } - val alarmValue = if (item.alarmType == "1") { - item.alarmValue + if (item.alarmType == "1") { + //甲烷报警 + holder.setText(R.id.alarmTypeView, item.alarmType.toChineseType()) + .setText(R.id.alarmValueView, item.alarmValue) } else { - if (item.alarmValue == "") { - "0" - } else { - "${item.alarmValue.toInt() * 100}%" - } + //第三方施工报警 + holder.setText(R.id.alarmTypeView, item.recognitionType) + .setText(R.id.alarmValueView, "0") } + holder.setText(R.id.alarmCodeView, item.alarmCode) .setText(R.id.alarmTimeView, alarmTime) - .setText(R.id.alarmTypeView, item.alarmType.toChineseType()) - .setText(R.id.alarmValueView, alarmValue) .setText(R.id.alarmStateView, item.alarmStatus) .setOnClickListener(R.id.handleAlarmButton) { itemClickedListener?.onHandleButtonClicked(item, position - 1) diff --git a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt index 8b5fbab..b8c2ce4 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt @@ -98,19 +98,18 @@ }) } - val alarmValue = if (item.alarmType == "1") { - item.alarmValue + if (item.alarmType == "1") { + //甲烷报警 + holder.setText(R.id.alarmTypeView, item.alarmType.toChineseType()) + .setText(R.id.alarmValueView, item.alarmValue) } else { - if (item.alarmValue == "") { - "0" - } else { - "${item.alarmValue.toInt() * 100}%" - } + //第三方施工报警 + holder.setText(R.id.alarmTypeView, item.recognitionType) + .setText(R.id.alarmValueView, "0") } + holder.setText(R.id.alarmCodeView, item.alarmCode) .setText(R.id.alarmTimeView, alarmTime) - .setText(R.id.alarmTypeView, item.alarmType.toChineseType()) - .setText(R.id.alarmValueView, alarmValue) .setText(R.id.alarmStateView, item.alarmStatus) .setOnClickListener(R.id.handleAlarmButton) { itemClickedListener?.onHandleButtonClicked(item, position - 1) diff --git a/app/src/main/java/com/casic/br/ktd/model/AlarmListModel.java b/app/src/main/java/com/casic/br/ktd/model/AlarmListModel.java index b629608..982f8ee 100644 --- a/app/src/main/java/com/casic/br/ktd/model/AlarmListModel.java +++ b/app/src/main/java/com/casic/br/ktd/model/AlarmListModel.java @@ -4,15 +4,15 @@ public class AlarmListModel { - private int code; + private Integer code; private DataModel data; private String message; - public int getCode() { + public Integer getCode() { return code; } - public void setCode(int code) { + public void setCode(Integer code) { this.code = code; } @@ -34,7 +34,7 @@ public static class DataModel { private List rows; - private int total; + private Integer total; public List getRows() { return rows; @@ -44,11 +44,11 @@ this.rows = rows; } - public int getTotal() { + public Integer getTotal() { return total; } - public void setTotal(int total) { + public void setTotal(Integer total) { this.total = total; } @@ -64,12 +64,15 @@ private String alarmType; private String alarmValue; private String alarmVideo; + private String cancelReason; private String cancelResult; private String cancelTime; private String cancelUser; private String deviceId; private String id; + private String recognitionType; private String taskId; + private String taskName; private String ts; public String getAlarmCode() { @@ -160,6 +163,14 @@ this.alarmVideo = alarmVideo; } + public String getCancelReason() { + return cancelReason; + } + + public void setCancelReason(String cancelReason) { + this.cancelReason = cancelReason; + } + public String getCancelResult() { return cancelResult; } @@ -200,6 +211,14 @@ this.id = id; } + public String getRecognitionType() { + return recognitionType; + } + + public void setRecognitionType(String recognitionType) { + this.recognitionType = recognitionType; + } + public String getTaskId() { return taskId; } @@ -208,6 +227,14 @@ this.taskId = taskId; } + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + public String getTs() { return ts; } diff --git a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt index 8b5fbab..b8c2ce4 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt @@ -98,19 +98,18 @@ }) } - val alarmValue = if (item.alarmType == "1") { - item.alarmValue + if (item.alarmType == "1") { + //甲烷报警 + holder.setText(R.id.alarmTypeView, item.alarmType.toChineseType()) + .setText(R.id.alarmValueView, item.alarmValue) } else { - if (item.alarmValue == "") { - "0" - } else { - "${item.alarmValue.toInt() * 100}%" - } + //第三方施工报警 + holder.setText(R.id.alarmTypeView, item.recognitionType) + .setText(R.id.alarmValueView, "0") } + holder.setText(R.id.alarmCodeView, item.alarmCode) .setText(R.id.alarmTimeView, alarmTime) - .setText(R.id.alarmTypeView, item.alarmType.toChineseType()) - .setText(R.id.alarmValueView, alarmValue) .setText(R.id.alarmStateView, item.alarmStatus) .setOnClickListener(R.id.handleAlarmButton) { itemClickedListener?.onHandleButtonClicked(item, position - 1) diff --git a/app/src/main/java/com/casic/br/ktd/model/AlarmListModel.java b/app/src/main/java/com/casic/br/ktd/model/AlarmListModel.java index b629608..982f8ee 100644 --- a/app/src/main/java/com/casic/br/ktd/model/AlarmListModel.java +++ b/app/src/main/java/com/casic/br/ktd/model/AlarmListModel.java @@ -4,15 +4,15 @@ public class AlarmListModel { - private int code; + private Integer code; private DataModel data; private String message; - public int getCode() { + public Integer getCode() { return code; } - public void setCode(int code) { + public void setCode(Integer code) { this.code = code; } @@ -34,7 +34,7 @@ public static class DataModel { private List rows; - private int total; + private Integer total; public List getRows() { return rows; @@ -44,11 +44,11 @@ this.rows = rows; } - public int getTotal() { + public Integer getTotal() { return total; } - public void setTotal(int total) { + public void setTotal(Integer total) { this.total = total; } @@ -64,12 +64,15 @@ private String alarmType; private String alarmValue; private String alarmVideo; + private String cancelReason; private String cancelResult; private String cancelTime; private String cancelUser; private String deviceId; private String id; + private String recognitionType; private String taskId; + private String taskName; private String ts; public String getAlarmCode() { @@ -160,6 +163,14 @@ this.alarmVideo = alarmVideo; } + public String getCancelReason() { + return cancelReason; + } + + public void setCancelReason(String cancelReason) { + this.cancelReason = cancelReason; + } + public String getCancelResult() { return cancelResult; } @@ -200,6 +211,14 @@ this.id = id; } + public String getRecognitionType() { + return recognitionType; + } + + public void setRecognitionType(String recognitionType) { + this.recognitionType = recognitionType; + } + public String getTaskId() { return taskId; } @@ -208,6 +227,14 @@ this.taskId = taskId; } + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + public String getTs() { return ts; } diff --git a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt index 45a36bc..dc7ca45 100644 --- a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt @@ -26,6 +26,7 @@ import com.casic.br.ktd.R import com.casic.br.ktd.databinding.ActivityInspectionBinding import com.casic.br.ktd.extensions.* +import com.casic.br.ktd.model.AlarmListModel import com.casic.br.ktd.model.SensorDataModel import com.casic.br.ktd.netty.tcp.SocketManager import com.casic.br.ktd.netty.udp.UdpClient @@ -47,6 +48,8 @@ import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar import com.hikvision.netsdk.* +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.createImageFileDir import com.pengxh.kt.lite.extensions.show @@ -78,6 +81,7 @@ private val timeFormat by lazy { SimpleDateFormat("yyyyMMddHHmmss", Locale.CHINA) } private val latlngs = LinkedList() private val tcpTimer by lazy { Timer() } + private val imageCaptureTimer by lazy { Timer() } private val decimalFormat by lazy { DecimalFormat("##0.0") } private val gson by lazy { Gson() } private val udpClient by lazy { UdpClient() } @@ -323,6 +327,25 @@ } } + alarmViewModel.alarmList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + val videoAlarmAdapter = object : + NormalRecyclerAdapter( + R.layout.item_video_alarm_rv_l, dataRows + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, + item: AlarmListModel.DataModel.RowsModel + ) { + viewHolder.setText(R.id.alarmTypeView, item.recognitionType) + .setText(R.id.alarmTimeView, item.alarmTime) + } + } + binding.videoAlarmView.adapter = videoAlarmAdapter + } + } + /** * TCP初始化 * ***/ @@ -667,6 +690,28 @@ isPreviewSuccess = true isStartInspect = true + /** + * 本地画面存储 + * */ + imageCaptureTimer.schedule(object : TimerTask() { + override fun run() { + if (isPreviewSuccess) { + val strJpeg = NET_DVR_JPEGPARA() + strJpeg.wPicQuality = 1 + strJpeg.wPicSize = 2 + + val imagePath = + "/${createVideoCaptureDir()}/${timeFormat.format(Date())}.png" + hkSDK.NET_DVR_CaptureJPEGPicture( + returnUserId, selectChannel, strJpeg, imagePath + ) + } + + //获取最新的第三方施工报警列表 + alarmViewModel.getAlarmsByPage("", "", "2", "", 1) + } + }, 1000, LocaleConstant.DATA_TIMER_PERIOD) + //打开激光传感器 SDKGuider.sdkGuider.devPassThroughGuider.NET_DVR_SendToSerialPort_jni( returnUserId, @@ -955,10 +1000,18 @@ //扩展函数 private fun Context.createVideoFileDir(): File { - val videoDir = File(this.getExternalFilesDir(Environment.DIRECTORY_MOVIES), "") + val videoDir = File(getExternalFilesDir(Environment.DIRECTORY_MOVIES), "") if (!videoDir.exists()) { videoDir.mkdir() } return videoDir } + + private fun Context.createVideoCaptureDir(): File { + val imageDir = File(getExternalFilesDir(Environment.DIRECTORY_PICTURES), "VideoCapture") + if (!imageDir.exists()) { + imageDir.mkdir() + } + return imageDir + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt index 8b5fbab..b8c2ce4 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt @@ -98,19 +98,18 @@ }) } - val alarmValue = if (item.alarmType == "1") { - item.alarmValue + if (item.alarmType == "1") { + //甲烷报警 + holder.setText(R.id.alarmTypeView, item.alarmType.toChineseType()) + .setText(R.id.alarmValueView, item.alarmValue) } else { - if (item.alarmValue == "") { - "0" - } else { - "${item.alarmValue.toInt() * 100}%" - } + //第三方施工报警 + holder.setText(R.id.alarmTypeView, item.recognitionType) + .setText(R.id.alarmValueView, "0") } + holder.setText(R.id.alarmCodeView, item.alarmCode) .setText(R.id.alarmTimeView, alarmTime) - .setText(R.id.alarmTypeView, item.alarmType.toChineseType()) - .setText(R.id.alarmValueView, alarmValue) .setText(R.id.alarmStateView, item.alarmStatus) .setOnClickListener(R.id.handleAlarmButton) { itemClickedListener?.onHandleButtonClicked(item, position - 1) diff --git a/app/src/main/java/com/casic/br/ktd/model/AlarmListModel.java b/app/src/main/java/com/casic/br/ktd/model/AlarmListModel.java index b629608..982f8ee 100644 --- a/app/src/main/java/com/casic/br/ktd/model/AlarmListModel.java +++ b/app/src/main/java/com/casic/br/ktd/model/AlarmListModel.java @@ -4,15 +4,15 @@ public class AlarmListModel { - private int code; + private Integer code; private DataModel data; private String message; - public int getCode() { + public Integer getCode() { return code; } - public void setCode(int code) { + public void setCode(Integer code) { this.code = code; } @@ -34,7 +34,7 @@ public static class DataModel { private List rows; - private int total; + private Integer total; public List getRows() { return rows; @@ -44,11 +44,11 @@ this.rows = rows; } - public int getTotal() { + public Integer getTotal() { return total; } - public void setTotal(int total) { + public void setTotal(Integer total) { this.total = total; } @@ -64,12 +64,15 @@ private String alarmType; private String alarmValue; private String alarmVideo; + private String cancelReason; private String cancelResult; private String cancelTime; private String cancelUser; private String deviceId; private String id; + private String recognitionType; private String taskId; + private String taskName; private String ts; public String getAlarmCode() { @@ -160,6 +163,14 @@ this.alarmVideo = alarmVideo; } + public String getCancelReason() { + return cancelReason; + } + + public void setCancelReason(String cancelReason) { + this.cancelReason = cancelReason; + } + public String getCancelResult() { return cancelResult; } @@ -200,6 +211,14 @@ this.id = id; } + public String getRecognitionType() { + return recognitionType; + } + + public void setRecognitionType(String recognitionType) { + this.recognitionType = recognitionType; + } + public String getTaskId() { return taskId; } @@ -208,6 +227,14 @@ this.taskId = taskId; } + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + public String getTs() { return ts; } diff --git a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt index 45a36bc..dc7ca45 100644 --- a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt @@ -26,6 +26,7 @@ import com.casic.br.ktd.R import com.casic.br.ktd.databinding.ActivityInspectionBinding import com.casic.br.ktd.extensions.* +import com.casic.br.ktd.model.AlarmListModel import com.casic.br.ktd.model.SensorDataModel import com.casic.br.ktd.netty.tcp.SocketManager import com.casic.br.ktd.netty.udp.UdpClient @@ -47,6 +48,8 @@ import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar import com.hikvision.netsdk.* +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.createImageFileDir import com.pengxh.kt.lite.extensions.show @@ -78,6 +81,7 @@ private val timeFormat by lazy { SimpleDateFormat("yyyyMMddHHmmss", Locale.CHINA) } private val latlngs = LinkedList() private val tcpTimer by lazy { Timer() } + private val imageCaptureTimer by lazy { Timer() } private val decimalFormat by lazy { DecimalFormat("##0.0") } private val gson by lazy { Gson() } private val udpClient by lazy { UdpClient() } @@ -323,6 +327,25 @@ } } + alarmViewModel.alarmList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + val videoAlarmAdapter = object : + NormalRecyclerAdapter( + R.layout.item_video_alarm_rv_l, dataRows + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, + item: AlarmListModel.DataModel.RowsModel + ) { + viewHolder.setText(R.id.alarmTypeView, item.recognitionType) + .setText(R.id.alarmTimeView, item.alarmTime) + } + } + binding.videoAlarmView.adapter = videoAlarmAdapter + } + } + /** * TCP初始化 * ***/ @@ -667,6 +690,28 @@ isPreviewSuccess = true isStartInspect = true + /** + * 本地画面存储 + * */ + imageCaptureTimer.schedule(object : TimerTask() { + override fun run() { + if (isPreviewSuccess) { + val strJpeg = NET_DVR_JPEGPARA() + strJpeg.wPicQuality = 1 + strJpeg.wPicSize = 2 + + val imagePath = + "/${createVideoCaptureDir()}/${timeFormat.format(Date())}.png" + hkSDK.NET_DVR_CaptureJPEGPicture( + returnUserId, selectChannel, strJpeg, imagePath + ) + } + + //获取最新的第三方施工报警列表 + alarmViewModel.getAlarmsByPage("", "", "2", "", 1) + } + }, 1000, LocaleConstant.DATA_TIMER_PERIOD) + //打开激光传感器 SDKGuider.sdkGuider.devPassThroughGuider.NET_DVR_SendToSerialPort_jni( returnUserId, @@ -955,10 +1000,18 @@ //扩展函数 private fun Context.createVideoFileDir(): File { - val videoDir = File(this.getExternalFilesDir(Environment.DIRECTORY_MOVIES), "") + val videoDir = File(getExternalFilesDir(Environment.DIRECTORY_MOVIES), "") if (!videoDir.exists()) { videoDir.mkdir() } return videoDir } + + private fun Context.createVideoCaptureDir(): File { + val imageDir = File(getExternalFilesDir(Environment.DIRECTORY_PICTURES), "VideoCapture") + if (!imageDir.exists()) { + imageDir.mkdir() + } + return imageDir + } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_inspection.xml b/app/src/main/res/layout/activity_inspection.xml index 3db5883..cba3d69 100644 --- a/app/src/main/res/layout/activity_inspection.xml +++ b/app/src/main/res/layout/activity_inspection.xml @@ -453,10 +453,47 @@ app:cardElevation="@dimen/dp_2" app:cardUseCompatPadding="true"> - + android:layout_height="match_parent" + android:orientation="horizontal"> + + + + + + + + + + + + + + rows; - private int total; + private Integer total; public List getRows() { return rows; @@ -44,11 +44,11 @@ this.rows = rows; } - public int getTotal() { + public Integer getTotal() { return total; } - public void setTotal(int total) { + public void setTotal(Integer total) { this.total = total; } @@ -64,12 +64,15 @@ private String alarmType; private String alarmValue; private String alarmVideo; + private String cancelReason; private String cancelResult; private String cancelTime; private String cancelUser; private String deviceId; private String id; + private String recognitionType; private String taskId; + private String taskName; private String ts; public String getAlarmCode() { @@ -160,6 +163,14 @@ this.alarmVideo = alarmVideo; } + public String getCancelReason() { + return cancelReason; + } + + public void setCancelReason(String cancelReason) { + this.cancelReason = cancelReason; + } + public String getCancelResult() { return cancelResult; } @@ -200,6 +211,14 @@ this.id = id; } + public String getRecognitionType() { + return recognitionType; + } + + public void setRecognitionType(String recognitionType) { + this.recognitionType = recognitionType; + } + public String getTaskId() { return taskId; } @@ -208,6 +227,14 @@ this.taskId = taskId; } + public String getTaskName() { + return taskName; + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + public String getTs() { return ts; } diff --git a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt index 45a36bc..dc7ca45 100644 --- a/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/InspectionActivity.kt @@ -26,6 +26,7 @@ import com.casic.br.ktd.R import com.casic.br.ktd.databinding.ActivityInspectionBinding import com.casic.br.ktd.extensions.* +import com.casic.br.ktd.model.AlarmListModel import com.casic.br.ktd.model.SensorDataModel import com.casic.br.ktd.netty.tcp.SocketManager import com.casic.br.ktd.netty.udp.UdpClient @@ -47,6 +48,8 @@ import com.google.gson.Gson import com.gyf.immersionbar.ImmersionBar import com.hikvision.netsdk.* +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.createImageFileDir import com.pengxh.kt.lite.extensions.show @@ -78,6 +81,7 @@ private val timeFormat by lazy { SimpleDateFormat("yyyyMMddHHmmss", Locale.CHINA) } private val latlngs = LinkedList() private val tcpTimer by lazy { Timer() } + private val imageCaptureTimer by lazy { Timer() } private val decimalFormat by lazy { DecimalFormat("##0.0") } private val gson by lazy { Gson() } private val udpClient by lazy { UdpClient() } @@ -323,6 +327,25 @@ } } + alarmViewModel.alarmList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + val videoAlarmAdapter = object : + NormalRecyclerAdapter( + R.layout.item_video_alarm_rv_l, dataRows + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, + item: AlarmListModel.DataModel.RowsModel + ) { + viewHolder.setText(R.id.alarmTypeView, item.recognitionType) + .setText(R.id.alarmTimeView, item.alarmTime) + } + } + binding.videoAlarmView.adapter = videoAlarmAdapter + } + } + /** * TCP初始化 * ***/ @@ -667,6 +690,28 @@ isPreviewSuccess = true isStartInspect = true + /** + * 本地画面存储 + * */ + imageCaptureTimer.schedule(object : TimerTask() { + override fun run() { + if (isPreviewSuccess) { + val strJpeg = NET_DVR_JPEGPARA() + strJpeg.wPicQuality = 1 + strJpeg.wPicSize = 2 + + val imagePath = + "/${createVideoCaptureDir()}/${timeFormat.format(Date())}.png" + hkSDK.NET_DVR_CaptureJPEGPicture( + returnUserId, selectChannel, strJpeg, imagePath + ) + } + + //获取最新的第三方施工报警列表 + alarmViewModel.getAlarmsByPage("", "", "2", "", 1) + } + }, 1000, LocaleConstant.DATA_TIMER_PERIOD) + //打开激光传感器 SDKGuider.sdkGuider.devPassThroughGuider.NET_DVR_SendToSerialPort_jni( returnUserId, @@ -955,10 +1000,18 @@ //扩展函数 private fun Context.createVideoFileDir(): File { - val videoDir = File(this.getExternalFilesDir(Environment.DIRECTORY_MOVIES), "") + val videoDir = File(getExternalFilesDir(Environment.DIRECTORY_MOVIES), "") if (!videoDir.exists()) { videoDir.mkdir() } return videoDir } + + private fun Context.createVideoCaptureDir(): File { + val imageDir = File(getExternalFilesDir(Environment.DIRECTORY_PICTURES), "VideoCapture") + if (!imageDir.exists()) { + imageDir.mkdir() + } + return imageDir + } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_inspection.xml b/app/src/main/res/layout/activity_inspection.xml index 3db5883..cba3d69 100644 --- a/app/src/main/res/layout/activity_inspection.xml +++ b/app/src/main/res/layout/activity_inspection.xml @@ -453,10 +453,47 @@ app:cardElevation="@dimen/dp_2" app:cardUseCompatPadding="true"> - + android:layout_height="match_parent" + android:orientation="horizontal"> + + + + + + + + + + + + + + + + + + + + \ No newline at end of file