riku
2021-02-25 e102578ebfc95c27aeb13dce13fb82af53a2bead
app/src/main/java/cn/flightfeather/thirdapp/module/inspection/MenuCameraActivity.kt
@@ -51,10 +51,13 @@
    //当前选择的拍照类型
    private var currentType = MediaFileType.RoutineRecord
    private var currentTypeName = currentType.des
    lateinit var viewModel: MenuCameraViewModel
    private val viewList = mutableListOf<View>()
    private val listMap = mutableMapOf<MediaFileType, RecyclerView>()
    var subTask: Subtask? = null
    var inspection: Inspection? = null
@@ -92,7 +95,9 @@
                    val oldFile = File(it)
                    val cal = Calendar.getInstance().apply { time = subTask?.executionstarttime }
                    scene?.run {
                        val path = "FlightFeather/Photo/" + districtname + "/"+ cal.get(Calendar.YEAR) + "年" + (cal.get(Calendar.MONTH) + 1) + "月/"+ (cal.get(Calendar.MONTH) + 1) + "月" + cal.get(Calendar.DAY_OF_MONTH) + "日/"+ name + "/任意拍照/"
                        val path = "FlightFeather/Photo/" + districtname + "/" + cal.get(Calendar.YEAR) + "年" + (cal.get(Calendar.MONTH) + 1) + "月/" +
                                (cal.get(Calendar.MONTH) + 1) + "月" + cal.get(Calendar.DAY_OF_MONTH) + "日/" + name + "/任意拍照/" + currentTypeName + "/"
                        val fileName = UUIDGenerator.generateUUID(4) + ".jpg"
                        val newFile = File(Environment.getExternalStorageDirectory(), path + fileName)
                        if (!newFile.parentFile.exists()) {
@@ -152,6 +157,7 @@
            addOnItemTouchListener(RecyclerItemClickListener(this@MenuCameraActivity, this, object : RecyclerItemClickListener.OnItemClickListener {
                override fun onItemClick(view: View?, position: Int) {
                    currentType = type
                    currentTypeName = title.text.toString()
                    //拍照
                    if (dataList[position].guid == null) {
                        PhotoUtil.pickPhoto2(this@MenuCameraActivity, TAKE_PHOTO, 9)
@@ -181,6 +187,10 @@
                }
            }))
            if (!listMap.containsKey(type)) {
                listMap[type] = this
            }
        }
        viewList.add(view)
@@ -230,21 +240,37 @@
    }
    private fun addPhoto(mediaFile: Mediafile) {
        getDataSet(currentType).run {
            first.value?.add(mediaFile)
            second.adapter?.run {
                notifyDataSetChanged()
        if (listMap.containsKey(currentType)) {
            viewModel.fileList.value?.forEach {
                if (it.type == currentType) {
                    it.dataList.add(mediaFile)//第一个数据为拍照按钮
                    listMap[currentType]?.adapter?.notifyDataSetChanged()
                }
            }
        }
//        getDataSet(currentType).run {
//            first.value?.add(mediaFile)
//            second.adapter?.run {
//                notifyDataSetChanged()
//            }
//        }
    }
    private fun deletePhoto(pos: Int) {
        getDataSet(currentType).run {
            first.value?.removeAt(pos + 1)//第一个数据为拍照按钮
            second.adapter?.run {
                notifyDataSetChanged()
        if (listMap.containsKey(currentType)) {
            viewModel.fileList.value?.forEach {
                if (it.type == currentType) {
                    it.dataList.removeAt(pos + 1)//第一个数据为拍照按钮
                    listMap[currentType]?.adapter?.notifyDataSetChanged()
                }
            }
        }
//        getDataSet(currentType).run {
//            first.value?.removeAt(pos + 1)//第一个数据为拍照按钮
//            second.adapter?.run {
//                notifyDataSetChanged()
//            }
//        }
    }
    private fun getDataSet(type: MediaFileType) = when (type) {