diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ff9af45..095d251 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -71,5 +71,16 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ff9af45..095d251 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -71,5 +71,16 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt index c30cfea..c1447af 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt @@ -11,9 +11,9 @@ //循环遍历元素,同时得到元素index(下标) this.forEachIndexed { index, s -> if (index == this.size - 1) { - builder.append(s).append(",") - } else { builder.append(s) + } else { + builder.append(s).append(",") } } return builder.toString() diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ff9af45..095d251 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -71,5 +71,16 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt index c30cfea..c1447af 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt @@ -11,9 +11,9 @@ //循环遍历元素,同时得到元素index(下标) this.forEachIndexed { index, s -> if (index == this.size - 1) { - builder.append(s).append(",") - } else { builder.append(s) + } else { + builder.append(s).append(",") } } return builder.toString() diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/FileUtils.kt b/app/src/main/java/com/casic/birmm/inspect/utils/FileUtils.kt index 50bfc97..ea9b6b3 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/FileUtils.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/FileUtils.kt @@ -26,10 +26,7 @@ get() { val imageDir = File(context.getExternalFilesDir(Environment.DIRECTORY_PICTURES), "") if (!imageDir.exists()) { - val mkdir = imageDir.mkdir() - if (mkdir) { - Log.d(Tag, "创建imageCompressPath文件夹") - } + imageDir.mkdir() } return imageDir.toString() } @@ -40,10 +37,7 @@ val downloadDir = File(context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), "") if (!downloadDir.exists()) { - val mkdir = downloadDir.mkdir() - if (mkdir) { - Log.d(Tag, "创建downloadFilePath文件夹") - } + downloadDir.mkdir() } return downloadDir.toString() } @@ -74,7 +68,7 @@ if (!waterImageDir.exists()) { val mkdir = waterImageDir.mkdir() if (mkdir) { - Log.d(Tag, "创建waterImageFile文件夹") + Log.d(Tag, "创建WaterImage文件夹") } } val timeStamp = SimpleDateFormat("yyyyMMdd_HHmmss", Locale.CHINA).format(Date()) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ff9af45..095d251 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -71,5 +71,16 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt index c30cfea..c1447af 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt @@ -11,9 +11,9 @@ //循环遍历元素,同时得到元素index(下标) this.forEachIndexed { index, s -> if (index == this.size - 1) { - builder.append(s).append(",") - } else { builder.append(s) + } else { + builder.append(s).append(",") } } return builder.toString() diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/FileUtils.kt b/app/src/main/java/com/casic/birmm/inspect/utils/FileUtils.kt index 50bfc97..ea9b6b3 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/FileUtils.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/FileUtils.kt @@ -26,10 +26,7 @@ get() { val imageDir = File(context.getExternalFilesDir(Environment.DIRECTORY_PICTURES), "") if (!imageDir.exists()) { - val mkdir = imageDir.mkdir() - if (mkdir) { - Log.d(Tag, "创建imageCompressPath文件夹") - } + imageDir.mkdir() } return imageDir.toString() } @@ -40,10 +37,7 @@ val downloadDir = File(context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), "") if (!downloadDir.exists()) { - val mkdir = downloadDir.mkdir() - if (mkdir) { - Log.d(Tag, "创建downloadFilePath文件夹") - } + downloadDir.mkdir() } return downloadDir.toString() } @@ -74,7 +68,7 @@ if (!waterImageDir.exists()) { val mkdir = waterImageDir.mkdir() if (mkdir) { - Log.d(Tag, "创建waterImageFile文件夹") + Log.d(Tag, "创建WaterImage文件夹") } } val timeStamp = SimpleDateFormat("yyyyMMdd_HHmmss", Locale.CHINA).format(Date()) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt index 36b796f..210bb3b 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt @@ -31,6 +31,7 @@ private lateinit var uploadImageViewModel: UploadImageViewModel private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 + private lateinit var targetDir: String//压缩图片文件夹 private lateinit var imageAdapter: ImageGridViewAdapter private var isWarning: Boolean = true private lateinit var inspectionId: String @@ -70,6 +71,8 @@ eventCreateTimeView.text = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + targetDir = FileUtils.imageCompressPath + //初始化图片九宫格 imageAdapter = ImageGridViewAdapter(this) imageGridView.adapter = imageAdapter @@ -88,7 +91,7 @@ PictureSelector.create(this) .openCamera(PictureMimeType.ofImage()) .isCompress(true) - .compressQuality(90) + .compressQuality(65) .compressSavePath(FileUtils.imageCompressPath) .imageEngine(GlideLoadEngine.createGlideEngine()) .forResult(PictureConfig.REQUEST_CAMERA) @@ -99,10 +102,10 @@ .isWeChatStyle(true) .isCamera(false) .isCompress(true) - .compressQuality(90) + .compressQuality(65) .compressSavePath(FileUtils.imageCompressPath) .imageEngine(GlideLoadEngine.createGlideEngine()) - .maxSelectNum(4) + .maxSelectNum(3) .forResult(PictureConfig.CHOOSE_REQUEST) } } @@ -117,14 +120,14 @@ * */ imageGridView.visibility = View.VISIBLE val sumItemCount: Int = imageAdapter.count + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { + if (sumItemCount <= 3) { val url = model.data //let函数处理需要针对一个可null的对象统一做判空处理。 url?.let { imagePaths.add(it) realPaths.add(it.combineImagePath()) } - if (realPaths.size == 4) { + if (realPaths.size == 3) { addImageView.visibility = View.GONE } imageAdapter.setImageList(imageUrls = realPaths) @@ -143,25 +146,21 @@ imagePaths.removeAt(position) realPaths.removeAt(position) imageAdapter.setImageList(imageUrls = realPaths) - if (realPaths.size != 2) { + if (realPaths.size != 3) { addImageView.visibility = View.VISIBLE } } }) } else { - "最多只能上传4张图片".show(this) + "最多只能上传3张图片".show(this) } } }) uploadImageViewModel.loadState.observe(this, Observer { - when (it) { - is LoadState.Loading -> { - OtherUtils.showLoadingDialog(this, "图片上传中,请稍后...") - } - else -> OtherUtils.dismissLoadingDialog() - } + OtherUtils.dismissLoadingDialog() }) + addEventButton.setChangeAlphaWhenPress(true) addEventButton.setOnClickListener { if (eventEditTextView.text.toString().filterString().isEmpty()) { "事件情况说明还未填写,请检查".show(this) @@ -216,12 +215,9 @@ when (requestCode) { PictureConfig.CHOOSE_REQUEST -> { val selectResult = PictureSelector.obtainMultipleResult(data) + OtherUtils.showLoadingDialog(this, "图片上传中,请稍后...") for (res in selectResult) { val file = File(res.compressPath) - if (file.length() <= Constant.IMAGE_MINUS_SIZE) { - "图片尺寸太小,请重新选择".show(this) - continue - } //上传图片 uploadImageViewModel.uploadImage(image = file) } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ff9af45..095d251 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -71,5 +71,16 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt index c30cfea..c1447af 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt @@ -11,9 +11,9 @@ //循环遍历元素,同时得到元素index(下标) this.forEachIndexed { index, s -> if (index == this.size - 1) { - builder.append(s).append(",") - } else { builder.append(s) + } else { + builder.append(s).append(",") } } return builder.toString() diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/FileUtils.kt b/app/src/main/java/com/casic/birmm/inspect/utils/FileUtils.kt index 50bfc97..ea9b6b3 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/FileUtils.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/FileUtils.kt @@ -26,10 +26,7 @@ get() { val imageDir = File(context.getExternalFilesDir(Environment.DIRECTORY_PICTURES), "") if (!imageDir.exists()) { - val mkdir = imageDir.mkdir() - if (mkdir) { - Log.d(Tag, "创建imageCompressPath文件夹") - } + imageDir.mkdir() } return imageDir.toString() } @@ -40,10 +37,7 @@ val downloadDir = File(context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), "") if (!downloadDir.exists()) { - val mkdir = downloadDir.mkdir() - if (mkdir) { - Log.d(Tag, "创建downloadFilePath文件夹") - } + downloadDir.mkdir() } return downloadDir.toString() } @@ -74,7 +68,7 @@ if (!waterImageDir.exists()) { val mkdir = waterImageDir.mkdir() if (mkdir) { - Log.d(Tag, "创建waterImageFile文件夹") + Log.d(Tag, "创建WaterImage文件夹") } } val timeStamp = SimpleDateFormat("yyyyMMdd_HHmmss", Locale.CHINA).format(Date()) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt index 36b796f..210bb3b 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt @@ -31,6 +31,7 @@ private lateinit var uploadImageViewModel: UploadImageViewModel private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 + private lateinit var targetDir: String//压缩图片文件夹 private lateinit var imageAdapter: ImageGridViewAdapter private var isWarning: Boolean = true private lateinit var inspectionId: String @@ -70,6 +71,8 @@ eventCreateTimeView.text = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + targetDir = FileUtils.imageCompressPath + //初始化图片九宫格 imageAdapter = ImageGridViewAdapter(this) imageGridView.adapter = imageAdapter @@ -88,7 +91,7 @@ PictureSelector.create(this) .openCamera(PictureMimeType.ofImage()) .isCompress(true) - .compressQuality(90) + .compressQuality(65) .compressSavePath(FileUtils.imageCompressPath) .imageEngine(GlideLoadEngine.createGlideEngine()) .forResult(PictureConfig.REQUEST_CAMERA) @@ -99,10 +102,10 @@ .isWeChatStyle(true) .isCamera(false) .isCompress(true) - .compressQuality(90) + .compressQuality(65) .compressSavePath(FileUtils.imageCompressPath) .imageEngine(GlideLoadEngine.createGlideEngine()) - .maxSelectNum(4) + .maxSelectNum(3) .forResult(PictureConfig.CHOOSE_REQUEST) } } @@ -117,14 +120,14 @@ * */ imageGridView.visibility = View.VISIBLE val sumItemCount: Int = imageAdapter.count + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { + if (sumItemCount <= 3) { val url = model.data //let函数处理需要针对一个可null的对象统一做判空处理。 url?.let { imagePaths.add(it) realPaths.add(it.combineImagePath()) } - if (realPaths.size == 4) { + if (realPaths.size == 3) { addImageView.visibility = View.GONE } imageAdapter.setImageList(imageUrls = realPaths) @@ -143,25 +146,21 @@ imagePaths.removeAt(position) realPaths.removeAt(position) imageAdapter.setImageList(imageUrls = realPaths) - if (realPaths.size != 2) { + if (realPaths.size != 3) { addImageView.visibility = View.VISIBLE } } }) } else { - "最多只能上传4张图片".show(this) + "最多只能上传3张图片".show(this) } } }) uploadImageViewModel.loadState.observe(this, Observer { - when (it) { - is LoadState.Loading -> { - OtherUtils.showLoadingDialog(this, "图片上传中,请稍后...") - } - else -> OtherUtils.dismissLoadingDialog() - } + OtherUtils.dismissLoadingDialog() }) + addEventButton.setChangeAlphaWhenPress(true) addEventButton.setOnClickListener { if (eventEditTextView.text.toString().filterString().isEmpty()) { "事件情况说明还未填写,请检查".show(this) @@ -216,12 +215,9 @@ when (requestCode) { PictureConfig.CHOOSE_REQUEST -> { val selectResult = PictureSelector.obtainMultipleResult(data) + OtherUtils.showLoadingDialog(this, "图片上传中,请稍后...") for (res in selectResult) { val file = File(res.compressPath) - if (file.length() <= Constant.IMAGE_MINUS_SIZE) { - "图片尺寸太小,请重新选择".show(this) - continue - } //上传图片 uploadImageViewModel.uploadImage(image = file) } diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/UploadImageViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/UploadImageViewModel.kt index a7fa31b..5a5d2c8 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/UploadImageViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/UploadImageViewModel.kt @@ -12,7 +12,6 @@ val resultModel = MutableLiveData() fun uploadImage(image: File) = launch({ - loadState.value = LoadState.Loading resultModel.value = RetrofitServiceManager.uploadImage(image) loadState.value = LoadState.Success }, { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ff9af45..095d251 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -71,5 +71,16 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt index c30cfea..c1447af 100644 --- a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt +++ b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt @@ -11,9 +11,9 @@ //循环遍历元素,同时得到元素index(下标) this.forEachIndexed { index, s -> if (index == this.size - 1) { - builder.append(s).append(",") - } else { builder.append(s) + } else { + builder.append(s).append(",") } } return builder.toString() diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/FileUtils.kt b/app/src/main/java/com/casic/birmm/inspect/utils/FileUtils.kt index 50bfc97..ea9b6b3 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/FileUtils.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/FileUtils.kt @@ -26,10 +26,7 @@ get() { val imageDir = File(context.getExternalFilesDir(Environment.DIRECTORY_PICTURES), "") if (!imageDir.exists()) { - val mkdir = imageDir.mkdir() - if (mkdir) { - Log.d(Tag, "创建imageCompressPath文件夹") - } + imageDir.mkdir() } return imageDir.toString() } @@ -40,10 +37,7 @@ val downloadDir = File(context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), "") if (!downloadDir.exists()) { - val mkdir = downloadDir.mkdir() - if (mkdir) { - Log.d(Tag, "创建downloadFilePath文件夹") - } + downloadDir.mkdir() } return downloadDir.toString() } @@ -74,7 +68,7 @@ if (!waterImageDir.exists()) { val mkdir = waterImageDir.mkdir() if (mkdir) { - Log.d(Tag, "创建waterImageFile文件夹") + Log.d(Tag, "创建WaterImage文件夹") } } val timeStamp = SimpleDateFormat("yyyyMMdd_HHmmss", Locale.CHINA).format(Date()) diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt index 36b796f..210bb3b 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt @@ -31,6 +31,7 @@ private lateinit var uploadImageViewModel: UploadImageViewModel private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 private val realPaths: ArrayList = ArrayList() //真实图片路径 + private lateinit var targetDir: String//压缩图片文件夹 private lateinit var imageAdapter: ImageGridViewAdapter private var isWarning: Boolean = true private lateinit var inspectionId: String @@ -70,6 +71,8 @@ eventCreateTimeView.text = TimeOrDateUtil.timestampToCompleteDate(System.currentTimeMillis()) + targetDir = FileUtils.imageCompressPath + //初始化图片九宫格 imageAdapter = ImageGridViewAdapter(this) imageGridView.adapter = imageAdapter @@ -88,7 +91,7 @@ PictureSelector.create(this) .openCamera(PictureMimeType.ofImage()) .isCompress(true) - .compressQuality(90) + .compressQuality(65) .compressSavePath(FileUtils.imageCompressPath) .imageEngine(GlideLoadEngine.createGlideEngine()) .forResult(PictureConfig.REQUEST_CAMERA) @@ -99,10 +102,10 @@ .isWeChatStyle(true) .isCamera(false) .isCompress(true) - .compressQuality(90) + .compressQuality(65) .compressSavePath(FileUtils.imageCompressPath) .imageEngine(GlideLoadEngine.createGlideEngine()) - .maxSelectNum(4) + .maxSelectNum(3) .forResult(PictureConfig.CHOOSE_REQUEST) } } @@ -117,14 +120,14 @@ * */ imageGridView.visibility = View.VISIBLE val sumItemCount: Int = imageAdapter.count + 1 //每上传一张图片,图片总数都是在原有的基础上+1 - if (sumItemCount <= 4) { + if (sumItemCount <= 3) { val url = model.data //let函数处理需要针对一个可null的对象统一做判空处理。 url?.let { imagePaths.add(it) realPaths.add(it.combineImagePath()) } - if (realPaths.size == 4) { + if (realPaths.size == 3) { addImageView.visibility = View.GONE } imageAdapter.setImageList(imageUrls = realPaths) @@ -143,25 +146,21 @@ imagePaths.removeAt(position) realPaths.removeAt(position) imageAdapter.setImageList(imageUrls = realPaths) - if (realPaths.size != 2) { + if (realPaths.size != 3) { addImageView.visibility = View.VISIBLE } } }) } else { - "最多只能上传4张图片".show(this) + "最多只能上传3张图片".show(this) } } }) uploadImageViewModel.loadState.observe(this, Observer { - when (it) { - is LoadState.Loading -> { - OtherUtils.showLoadingDialog(this, "图片上传中,请稍后...") - } - else -> OtherUtils.dismissLoadingDialog() - } + OtherUtils.dismissLoadingDialog() }) + addEventButton.setChangeAlphaWhenPress(true) addEventButton.setOnClickListener { if (eventEditTextView.text.toString().filterString().isEmpty()) { "事件情况说明还未填写,请检查".show(this) @@ -216,12 +215,9 @@ when (requestCode) { PictureConfig.CHOOSE_REQUEST -> { val selectResult = PictureSelector.obtainMultipleResult(data) + OtherUtils.showLoadingDialog(this, "图片上传中,请稍后...") for (res in selectResult) { val file = File(res.compressPath) - if (file.length() <= Constant.IMAGE_MINUS_SIZE) { - "图片尺寸太小,请重新选择".show(this) - continue - } //上传图片 uploadImageViewModel.uploadImage(image = file) } diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/UploadImageViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/UploadImageViewModel.kt index a7fa31b..5a5d2c8 100644 --- a/app/src/main/java/com/casic/birmm/inspect/vm/UploadImageViewModel.kt +++ b/app/src/main/java/com/casic/birmm/inspect/vm/UploadImageViewModel.kt @@ -12,7 +12,6 @@ val resultModel = MutableLiveData() fun uploadImage(image: File) = launch({ - loadState.value = LoadState.Loading resultModel.value = RetrofitServiceManager.uploadImage(image) loadState.value = LoadState.Success }, { diff --git a/app/src/main/res/xml/file_paths.xml b/app/src/main/res/xml/file_paths.xml new file mode 100644 index 0000000..d31f99b --- /dev/null +++ b/app/src/main/res/xml/file_paths.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file