diff --git a/app/build.gradle b/app/build.gradle index ea2c87d..49f5ce1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -63,7 +63,7 @@ dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.10' implementation 'androidx.core:core-ktx:1.9.0' def base_version = "1.6.1" implementation "androidx.appcompat:appcompat:${base_version}" diff --git a/app/build.gradle b/app/build.gradle index ea2c87d..49f5ce1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -63,7 +63,7 @@ dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.10' implementation 'androidx.core:core-ktx:1.9.0' def base_version = "1.6.1" implementation "androidx.appcompat:appcompat:${base_version}" diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt index 7e18a72..a1aa150 100644 --- a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt +++ b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt @@ -40,7 +40,7 @@ val defaultValue = SaveKeyValues.getValue( LocaleConstant.DEFAULT_SERVER_CONFIG, LocaleConstant.SERVER_BASE_URL ) as String - return "$defaultValue/api/static/${this.replace("\\", "/")}" + return "$defaultValue/static/${this.replace("\\", "/")}" } fun String.compressImage(context: Context, listener: OnImageCompressListener) { diff --git a/app/build.gradle b/app/build.gradle index ea2c87d..49f5ce1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -63,7 +63,7 @@ dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.10' implementation 'androidx.core:core-ktx:1.9.0' def base_version = "1.6.1" implementation "androidx.appcompat:appcompat:${base_version}" diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt index 7e18a72..a1aa150 100644 --- a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt +++ b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt @@ -40,7 +40,7 @@ val defaultValue = SaveKeyValues.getValue( LocaleConstant.DEFAULT_SERVER_CONFIG, LocaleConstant.SERVER_BASE_URL ) as String - return "$defaultValue/api/static/${this.replace("\\", "/")}" + return "$defaultValue/static/${this.replace("\\", "/")}" } fun String.compressImage(context: Context, listener: OnImageCompressListener) { diff --git a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt index edee938..457ad82 100644 --- a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt +++ b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt @@ -1,14 +1,11 @@ package com.casic.br.operationsite.view import android.annotation.SuppressLint -import android.content.Context -import android.net.Uri import android.os.Bundle import android.text.Editable import android.text.TextWatcher import android.util.Log import android.view.View -import androidx.activity.result.contract.ActivityResultContracts import androidx.lifecycle.ViewModelProvider import com.casic.br.operationsite.R import com.casic.br.operationsite.callback.OnImageCompressListener @@ -41,9 +38,9 @@ private lateinit var uploadFileViewModel: UploadFileViewModel private lateinit var applyViewModel: ApplyViewModel private lateinit var projectId: String - private val context: Context = this@ApplyEnterActivity + private val context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val recyclerViewImages = ArrayList() override fun initViewBinding(): ActivityApplyEnterBinding { return ActivityApplyEnterBinding.inflate(layoutInflater) @@ -67,35 +64,25 @@ projectId = intent.getStringExtra(Constant.INTENT_PARAM)!! uploadFileViewModel = ViewModelProvider(this)[UploadFileViewModel::class.java] + uploadFileViewModel.resultModel.observe(this) { + if (it.code == 200) { + val url = it.data.toString() + if (url.isNotBlank()) { + imagePaths.add(url) + recyclerViewImages.add(url.combineImagePath()) + } + imageAdapter.notifyDataSetChanged() + } + } + applyViewModel = ViewModelProvider(this)[ApplyViewModel::class.java] //左右边距 val viewWidth = getScreenWidth() - (10 + 10).dp2px(this) - imageAdapter = EditableImageAdapter(this, viewWidth, 1, 3) + imageAdapter = EditableImageAdapter(this, recyclerViewImages, viewWidth, 1, 3) binding.addImageRecyclerView.adapter = imageAdapter } - /** - * 接收人脸检测结果 - * */ - private val faceDetectLauncher = - registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> - if (result.resultCode == RESULT_OK) { - val data = result.data!! - val imageUri = data.getStringExtra("ImageUri") - if (imageUri.isNullOrBlank()) { - "人脸注册失败,请重试".show(context) - return@registerForActivityResult - } - val uri = Uri.parse(imageUri) - Log.d(kTag, "uri: $uri") - val realFilePath = uri.realFilePath(this) - Log.d(kTag, "realFilePath: $realFilePath") - - //上传图片 - } - } - override fun observeRequestState() { uploadFileViewModel.loadState.observe(this) { when (it) { @@ -150,9 +137,6 @@ imageAdapter.setOnItemClickListener(object : EditableImageAdapter.OnItemClickListener { override fun onAddImageClick() { - //人脸检测 -// faceDetectLauncher.launch(Intent(context, FaceDetectActivity::class.java)) - //拍照 PictureSelector.create(context) .openCamera(SelectMimeType.ofImage()) @@ -172,31 +156,20 @@ } override fun onItemClick(position: Int) { - if (realPaths[position].isEmpty()) { + if (recyclerViewImages[position].isEmpty()) { "图片加载失败,无法查看大图".show(context) } else { - navigatePageTo(position, realPaths) + navigatePageTo(position, recyclerViewImages) } } override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - realPaths.removeAt(position) - imageAdapter.notifyImageItemRemoved(realPaths) + recyclerViewImages.removeAt(position) + imageAdapter.notifyDataSetChanged() } }) - uploadFileViewModel.resultModel.observe(this) { - if (it.code == 200) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.notifyImageItemRangeInserted(realPaths) - } - } - binding.confirmApplyButton.setOnClickListener { if (binding.workerNameView.text.isNullOrBlank()) { "请输入入场人员姓名".show(this) @@ -258,7 +231,6 @@ result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { Log.d(kTag, "onSuccess: " + file.absolutePath) - //上传图片 uploadFileViewModel.uploadImage(context, file) } diff --git a/app/build.gradle b/app/build.gradle index ea2c87d..49f5ce1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -63,7 +63,7 @@ dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.9' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.10' implementation 'androidx.core:core-ktx:1.9.0' def base_version = "1.6.1" implementation "androidx.appcompat:appcompat:${base_version}" diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt index 7e18a72..a1aa150 100644 --- a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt +++ b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt @@ -40,7 +40,7 @@ val defaultValue = SaveKeyValues.getValue( LocaleConstant.DEFAULT_SERVER_CONFIG, LocaleConstant.SERVER_BASE_URL ) as String - return "$defaultValue/api/static/${this.replace("\\", "/")}" + return "$defaultValue/static/${this.replace("\\", "/")}" } fun String.compressImage(context: Context, listener: OnImageCompressListener) { diff --git a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt index edee938..457ad82 100644 --- a/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt +++ b/app/src/main/java/com/casic/br/operationsite/view/ApplyEnterActivity.kt @@ -1,14 +1,11 @@ package com.casic.br.operationsite.view import android.annotation.SuppressLint -import android.content.Context -import android.net.Uri import android.os.Bundle import android.text.Editable import android.text.TextWatcher import android.util.Log import android.view.View -import androidx.activity.result.contract.ActivityResultContracts import androidx.lifecycle.ViewModelProvider import com.casic.br.operationsite.R import com.casic.br.operationsite.callback.OnImageCompressListener @@ -41,9 +38,9 @@ private lateinit var uploadFileViewModel: UploadFileViewModel private lateinit var applyViewModel: ApplyViewModel private lateinit var projectId: String - private val context: Context = this@ApplyEnterActivity + private val context = this private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val recyclerViewImages = ArrayList() override fun initViewBinding(): ActivityApplyEnterBinding { return ActivityApplyEnterBinding.inflate(layoutInflater) @@ -67,35 +64,25 @@ projectId = intent.getStringExtra(Constant.INTENT_PARAM)!! uploadFileViewModel = ViewModelProvider(this)[UploadFileViewModel::class.java] + uploadFileViewModel.resultModel.observe(this) { + if (it.code == 200) { + val url = it.data.toString() + if (url.isNotBlank()) { + imagePaths.add(url) + recyclerViewImages.add(url.combineImagePath()) + } + imageAdapter.notifyDataSetChanged() + } + } + applyViewModel = ViewModelProvider(this)[ApplyViewModel::class.java] //左右边距 val viewWidth = getScreenWidth() - (10 + 10).dp2px(this) - imageAdapter = EditableImageAdapter(this, viewWidth, 1, 3) + imageAdapter = EditableImageAdapter(this, recyclerViewImages, viewWidth, 1, 3) binding.addImageRecyclerView.adapter = imageAdapter } - /** - * 接收人脸检测结果 - * */ - private val faceDetectLauncher = - registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> - if (result.resultCode == RESULT_OK) { - val data = result.data!! - val imageUri = data.getStringExtra("ImageUri") - if (imageUri.isNullOrBlank()) { - "人脸注册失败,请重试".show(context) - return@registerForActivityResult - } - val uri = Uri.parse(imageUri) - Log.d(kTag, "uri: $uri") - val realFilePath = uri.realFilePath(this) - Log.d(kTag, "realFilePath: $realFilePath") - - //上传图片 - } - } - override fun observeRequestState() { uploadFileViewModel.loadState.observe(this) { when (it) { @@ -150,9 +137,6 @@ imageAdapter.setOnItemClickListener(object : EditableImageAdapter.OnItemClickListener { override fun onAddImageClick() { - //人脸检测 -// faceDetectLauncher.launch(Intent(context, FaceDetectActivity::class.java)) - //拍照 PictureSelector.create(context) .openCamera(SelectMimeType.ofImage()) @@ -172,31 +156,20 @@ } override fun onItemClick(position: Int) { - if (realPaths[position].isEmpty()) { + if (recyclerViewImages[position].isEmpty()) { "图片加载失败,无法查看大图".show(context) } else { - navigatePageTo(position, realPaths) + navigatePageTo(position, recyclerViewImages) } } override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - realPaths.removeAt(position) - imageAdapter.notifyImageItemRemoved(realPaths) + recyclerViewImages.removeAt(position) + imageAdapter.notifyDataSetChanged() } }) - uploadFileViewModel.resultModel.observe(this) { - if (it.code == 200) { - val url = it.data.toString() - if (url.isNotBlank()) { - imagePaths.add(url) - realPaths.add(url.combineImagePath()) - } - imageAdapter.notifyImageItemRangeInserted(realPaths) - } - } - binding.confirmApplyButton.setOnClickListener { if (binding.workerNameView.text.isNullOrBlank()) { "请输入入场人员姓名".show(this) @@ -258,7 +231,6 @@ result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { Log.d(kTag, "onSuccess: " + file.absolutePath) - //上传图片 uploadFileViewModel.uploadImage(context, file) } diff --git a/app/src/main/java/com/casic/br/operationsite/view/UploadEventActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/UploadEventActivity.kt index b87af71..8e03731 100644 --- a/app/src/main/java/com/casic/br/operationsite/view/UploadEventActivity.kt +++ b/app/src/main/java/com/casic/br/operationsite/view/UploadEventActivity.kt @@ -3,7 +3,6 @@ import android.os.Bundle import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope @@ -56,7 +55,7 @@ private val context = this private val marginOffset by lazy { 2.dp2px(this) } private val imagePaths: ArrayList = ArrayList() //服务器返回的拍照数据集 - private val realPaths: ArrayList = ArrayList() //真实图片路径 + private val recyclerViewImages: ArrayList = ArrayList() //真实图片路径 private var mapLocation: AMapLocation? = null override fun initViewBinding(): ActivityUploadActivityBinding { @@ -93,7 +92,7 @@ //左右边距 val viewWidth = getScreenWidth() - (10 + 10).dp2px(this) - imageAdapter = EditableImageAdapter(this, viewWidth, 3, 3) + imageAdapter = EditableImageAdapter(this, recyclerViewImages, viewWidth, 1, 3) binding.addImageRecyclerView.addItemDecoration( RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) ) @@ -130,17 +129,17 @@ } override fun onItemClick(position: Int) { - if (realPaths[position].isEmpty()) { + if (recyclerViewImages[position].isEmpty()) { "图片加载失败,无法查看大图".show(context) } else { - navigatePageTo(position, realPaths) + navigatePageTo(position, recyclerViewImages) } } override fun onItemLongClick(view: View?, position: Int) { imagePaths.removeAt(position) - realPaths.removeAt(position) - imageAdapter.notifyImageItemRemoved(realPaths) + recyclerViewImages.removeAt(position) + imageAdapter.notifyDataSetChanged() } }) @@ -148,8 +147,8 @@ if (it.code == 200) { val url = it.data.toString() imagePaths.add(url) - realPaths.add(url.combineImagePath()) - imageAdapter.notifyImageItemRangeInserted(realPaths) + recyclerViewImages.add(url.combineImagePath()) + imageAdapter.notifyDataSetChanged() } } @@ -283,7 +282,6 @@ //压缩图片后上传 result.realPath.compressImage(this, object : OnImageCompressListener { override fun onSuccess(file: File) { - Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 uploadFileViewModel.uploadImage(context, file) }