diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar index 440b021..706b6c7 100644 --- a/app/libs/lite-release.aar +++ b/app/libs/lite-release.aar Binary files differ diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar index 440b021..706b6c7 100644 --- a/app/libs/lite-release.aar +++ b/app/libs/lite-release.aar Binary files differ diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 16d0c19..55e187f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,6 +6,7 @@ + @@ -38,6 +39,8 @@ + + + @@ -38,6 +39,8 @@ + + = ArrayList() //服务器返回的拍照数据集 + private val realPaths: ArrayList = ArrayList() //真实图片路径 + + override fun initLayoutView(): Int = R.layout.activity_apply_enter + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(false).init() + ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this)) + + leftBackView.setOnClickListener { finish() } + titleView.text = "人员信息" + } + + override fun initData() { + uploadFileViewModel = ViewModelProvider(this).get(UploadFileViewModel::class.java) + + imageAdapter = EditableImageAdapter(this, 1) + addImageRecyclerView.layoutManager = GridLayoutManager(this, 3) + addImageRecyclerView.adapter = imageAdapter + } + + override fun initEvent() { + imageAdapter.setOnItemClickListener(object : EditableImageAdapter.OnItemClickListener { + override fun onAddImageClick() { + PictureSelector.create(context) + .openCamera(SelectMimeType.ofImage()) + .forResult(object : OnResultCallbackListener { + override fun onResult(result: ArrayList?) { + if (result == null) { + "拍照保存失败,请重试".show(context) + return + } + analyticalSelectResults(result[0]) + } + + override fun onCancel() { + + } + }) + } + + override fun onItemClick(position: Int) { + if (realPaths[position].isEmpty()) { + "图片加载失败,无法查看大图".show(context) + } else { + navigatePageTo(position, realPaths) + } + } + + override fun onItemLongClick(view: View?, position: Int) { + imagePaths.removeAt(position) + imageAdapter.deleteImage(position) + } + }) + + uploadFileViewModel.resultModel.observe(this, { + if (it.code == 200) { + val url = it.data.toString() + if (url.isNotBlank()) { + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + } + imageAdapter.setupImage(realPaths) + } + }) + uploadFileViewModel.loadState.observe(this, { + DialogHelper.dismissLoadingDialog() + }) + + confirmApplyButton.setOnClickListener { + + } + } + + private fun analyticalSelectResults(result: LocalMedia) { + //压缩图片 +// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { +// result.realPath +// } else { +// result.sandboxPath +// } +// Log.d(kTag, "初始路径:" + result.path) +// Log.d(kTag, "绝对路径:" + result.realPath) +// Log.d(kTag, "原图路径:" + result.originalPath) +// Log.d(kTag, "沙盒路径:" + result.sandboxPath) + result.realPath.compressImage(this, object : OnImageCompressListener { + override fun onSuccess(file: File) { + Log.d(kTag, "onSuccess: " + file.absolutePath) + //上传图片 + uploadFileViewModel.uploadImage(file) + } + + override fun onError(e: Throwable) { + e.printStackTrace() + } + }) + } +} \ No newline at end of file diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar index 440b021..706b6c7 100644 --- a/app/libs/lite-release.aar +++ b/app/libs/lite-release.aar Binary files differ diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 16d0c19..55e187f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,6 +6,7 @@ + @@ -38,6 +39,8 @@ + + = ArrayList() //服务器返回的拍照数据集 + private val realPaths: ArrayList = ArrayList() //真实图片路径 + + override fun initLayoutView(): Int = R.layout.activity_apply_enter + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(false).init() + ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this)) + + leftBackView.setOnClickListener { finish() } + titleView.text = "人员信息" + } + + override fun initData() { + uploadFileViewModel = ViewModelProvider(this).get(UploadFileViewModel::class.java) + + imageAdapter = EditableImageAdapter(this, 1) + addImageRecyclerView.layoutManager = GridLayoutManager(this, 3) + addImageRecyclerView.adapter = imageAdapter + } + + override fun initEvent() { + imageAdapter.setOnItemClickListener(object : EditableImageAdapter.OnItemClickListener { + override fun onAddImageClick() { + PictureSelector.create(context) + .openCamera(SelectMimeType.ofImage()) + .forResult(object : OnResultCallbackListener { + override fun onResult(result: ArrayList?) { + if (result == null) { + "拍照保存失败,请重试".show(context) + return + } + analyticalSelectResults(result[0]) + } + + override fun onCancel() { + + } + }) + } + + override fun onItemClick(position: Int) { + if (realPaths[position].isEmpty()) { + "图片加载失败,无法查看大图".show(context) + } else { + navigatePageTo(position, realPaths) + } + } + + override fun onItemLongClick(view: View?, position: Int) { + imagePaths.removeAt(position) + imageAdapter.deleteImage(position) + } + }) + + uploadFileViewModel.resultModel.observe(this, { + if (it.code == 200) { + val url = it.data.toString() + if (url.isNotBlank()) { + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + } + imageAdapter.setupImage(realPaths) + } + }) + uploadFileViewModel.loadState.observe(this, { + DialogHelper.dismissLoadingDialog() + }) + + confirmApplyButton.setOnClickListener { + + } + } + + private fun analyticalSelectResults(result: LocalMedia) { + //压缩图片 +// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { +// result.realPath +// } else { +// result.sandboxPath +// } +// Log.d(kTag, "初始路径:" + result.path) +// Log.d(kTag, "绝对路径:" + result.realPath) +// Log.d(kTag, "原图路径:" + result.originalPath) +// Log.d(kTag, "沙盒路径:" + result.sandboxPath) + result.realPath.compressImage(this, object : OnImageCompressListener { + override fun onSuccess(file: File) { + Log.d(kTag, "onSuccess: " + file.absolutePath) + //上传图片 + uploadFileViewModel.uploadImage(file) + } + + override fun onError(e: Throwable) { + e.printStackTrace() + } + }) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt new file mode 100644 index 0000000..d744ba7 --- /dev/null +++ b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt @@ -0,0 +1,29 @@ +package com.casic.br.operationsite.view + +import com.casic.br.operationsite.R +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import kotlinx.android.synthetic.main.include_base_title.* + +class ElectricFenceActivity : KotlinBaseActivity() { + + override fun initLayoutView(): Int = R.layout.activity_electric_fence + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(false).init() + ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this)) + + leftBackView.setOnClickListener { finish() } + titleView.text = "燃气作业现场动态感知" + } + + override fun initData() { + + } + + override fun initEvent() { + + } +} \ No newline at end of file diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar index 440b021..706b6c7 100644 --- a/app/libs/lite-release.aar +++ b/app/libs/lite-release.aar Binary files differ diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 16d0c19..55e187f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,6 +6,7 @@ + @@ -38,6 +39,8 @@ + + = ArrayList() //服务器返回的拍照数据集 + private val realPaths: ArrayList = ArrayList() //真实图片路径 + + override fun initLayoutView(): Int = R.layout.activity_apply_enter + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(false).init() + ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this)) + + leftBackView.setOnClickListener { finish() } + titleView.text = "人员信息" + } + + override fun initData() { + uploadFileViewModel = ViewModelProvider(this).get(UploadFileViewModel::class.java) + + imageAdapter = EditableImageAdapter(this, 1) + addImageRecyclerView.layoutManager = GridLayoutManager(this, 3) + addImageRecyclerView.adapter = imageAdapter + } + + override fun initEvent() { + imageAdapter.setOnItemClickListener(object : EditableImageAdapter.OnItemClickListener { + override fun onAddImageClick() { + PictureSelector.create(context) + .openCamera(SelectMimeType.ofImage()) + .forResult(object : OnResultCallbackListener { + override fun onResult(result: ArrayList?) { + if (result == null) { + "拍照保存失败,请重试".show(context) + return + } + analyticalSelectResults(result[0]) + } + + override fun onCancel() { + + } + }) + } + + override fun onItemClick(position: Int) { + if (realPaths[position].isEmpty()) { + "图片加载失败,无法查看大图".show(context) + } else { + navigatePageTo(position, realPaths) + } + } + + override fun onItemLongClick(view: View?, position: Int) { + imagePaths.removeAt(position) + imageAdapter.deleteImage(position) + } + }) + + uploadFileViewModel.resultModel.observe(this, { + if (it.code == 200) { + val url = it.data.toString() + if (url.isNotBlank()) { + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + } + imageAdapter.setupImage(realPaths) + } + }) + uploadFileViewModel.loadState.observe(this, { + DialogHelper.dismissLoadingDialog() + }) + + confirmApplyButton.setOnClickListener { + + } + } + + private fun analyticalSelectResults(result: LocalMedia) { + //压缩图片 +// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { +// result.realPath +// } else { +// result.sandboxPath +// } +// Log.d(kTag, "初始路径:" + result.path) +// Log.d(kTag, "绝对路径:" + result.realPath) +// Log.d(kTag, "原图路径:" + result.originalPath) +// Log.d(kTag, "沙盒路径:" + result.sandboxPath) + result.realPath.compressImage(this, object : OnImageCompressListener { + override fun onSuccess(file: File) { + Log.d(kTag, "onSuccess: " + file.absolutePath) + //上传图片 + uploadFileViewModel.uploadImage(file) + } + + override fun onError(e: Throwable) { + e.printStackTrace() + } + }) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt new file mode 100644 index 0000000..d744ba7 --- /dev/null +++ b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt @@ -0,0 +1,29 @@ +package com.casic.br.operationsite.view + +import com.casic.br.operationsite.R +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import kotlinx.android.synthetic.main.include_base_title.* + +class ElectricFenceActivity : KotlinBaseActivity() { + + override fun initLayoutView(): Int = R.layout.activity_electric_fence + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(false).init() + ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this)) + + leftBackView.setOnClickListener { finish() } + titleView.text = "燃气作业现场动态感知" + } + + override fun initData() { + + } + + override fun initEvent() { + + } +} \ No newline at end of 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 27d881b..d84692e 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 @@ -51,7 +51,7 @@ ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this)) leftBackView.setOnClickListener { finish() } - titleView.text = "燃气作业现场动态感知" + titleView.text = "事件信息" } override fun initData() { diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar index 440b021..706b6c7 100644 --- a/app/libs/lite-release.aar +++ b/app/libs/lite-release.aar Binary files differ diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 16d0c19..55e187f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,6 +6,7 @@ + @@ -38,6 +39,8 @@ + + = ArrayList() //服务器返回的拍照数据集 + private val realPaths: ArrayList = ArrayList() //真实图片路径 + + override fun initLayoutView(): Int = R.layout.activity_apply_enter + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(false).init() + ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this)) + + leftBackView.setOnClickListener { finish() } + titleView.text = "人员信息" + } + + override fun initData() { + uploadFileViewModel = ViewModelProvider(this).get(UploadFileViewModel::class.java) + + imageAdapter = EditableImageAdapter(this, 1) + addImageRecyclerView.layoutManager = GridLayoutManager(this, 3) + addImageRecyclerView.adapter = imageAdapter + } + + override fun initEvent() { + imageAdapter.setOnItemClickListener(object : EditableImageAdapter.OnItemClickListener { + override fun onAddImageClick() { + PictureSelector.create(context) + .openCamera(SelectMimeType.ofImage()) + .forResult(object : OnResultCallbackListener { + override fun onResult(result: ArrayList?) { + if (result == null) { + "拍照保存失败,请重试".show(context) + return + } + analyticalSelectResults(result[0]) + } + + override fun onCancel() { + + } + }) + } + + override fun onItemClick(position: Int) { + if (realPaths[position].isEmpty()) { + "图片加载失败,无法查看大图".show(context) + } else { + navigatePageTo(position, realPaths) + } + } + + override fun onItemLongClick(view: View?, position: Int) { + imagePaths.removeAt(position) + imageAdapter.deleteImage(position) + } + }) + + uploadFileViewModel.resultModel.observe(this, { + if (it.code == 200) { + val url = it.data.toString() + if (url.isNotBlank()) { + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + } + imageAdapter.setupImage(realPaths) + } + }) + uploadFileViewModel.loadState.observe(this, { + DialogHelper.dismissLoadingDialog() + }) + + confirmApplyButton.setOnClickListener { + + } + } + + private fun analyticalSelectResults(result: LocalMedia) { + //压缩图片 +// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { +// result.realPath +// } else { +// result.sandboxPath +// } +// Log.d(kTag, "初始路径:" + result.path) +// Log.d(kTag, "绝对路径:" + result.realPath) +// Log.d(kTag, "原图路径:" + result.originalPath) +// Log.d(kTag, "沙盒路径:" + result.sandboxPath) + result.realPath.compressImage(this, object : OnImageCompressListener { + override fun onSuccess(file: File) { + Log.d(kTag, "onSuccess: " + file.absolutePath) + //上传图片 + uploadFileViewModel.uploadImage(file) + } + + override fun onError(e: Throwable) { + e.printStackTrace() + } + }) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt new file mode 100644 index 0000000..d744ba7 --- /dev/null +++ b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt @@ -0,0 +1,29 @@ +package com.casic.br.operationsite.view + +import com.casic.br.operationsite.R +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import kotlinx.android.synthetic.main.include_base_title.* + +class ElectricFenceActivity : KotlinBaseActivity() { + + override fun initLayoutView(): Int = R.layout.activity_electric_fence + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(false).init() + ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this)) + + leftBackView.setOnClickListener { finish() } + titleView.text = "燃气作业现场动态感知" + } + + override fun initData() { + + } + + override fun initEvent() { + + } +} \ No newline at end of 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 27d881b..d84692e 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 @@ -51,7 +51,7 @@ ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this)) leftBackView.setOnClickListener { finish() } - titleView.text = "燃气作业现场动态感知" + titleView.text = "事件信息" } override fun initData() { diff --git a/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt index 9f200b7..5411dbd 100644 --- a/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt +++ b/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt @@ -85,7 +85,7 @@ } fenceTextView.setOnClickListener { - + navigatePageTo() } uploadTextView.setOnClickListener { @@ -93,7 +93,7 @@ } applyTextView.setOnClickListener { - + navigatePageTo() } } diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar index 440b021..706b6c7 100644 --- a/app/libs/lite-release.aar +++ b/app/libs/lite-release.aar Binary files differ diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 16d0c19..55e187f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,6 +6,7 @@ + @@ -38,6 +39,8 @@ + + = ArrayList() //服务器返回的拍照数据集 + private val realPaths: ArrayList = ArrayList() //真实图片路径 + + override fun initLayoutView(): Int = R.layout.activity_apply_enter + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(false).init() + ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this)) + + leftBackView.setOnClickListener { finish() } + titleView.text = "人员信息" + } + + override fun initData() { + uploadFileViewModel = ViewModelProvider(this).get(UploadFileViewModel::class.java) + + imageAdapter = EditableImageAdapter(this, 1) + addImageRecyclerView.layoutManager = GridLayoutManager(this, 3) + addImageRecyclerView.adapter = imageAdapter + } + + override fun initEvent() { + imageAdapter.setOnItemClickListener(object : EditableImageAdapter.OnItemClickListener { + override fun onAddImageClick() { + PictureSelector.create(context) + .openCamera(SelectMimeType.ofImage()) + .forResult(object : OnResultCallbackListener { + override fun onResult(result: ArrayList?) { + if (result == null) { + "拍照保存失败,请重试".show(context) + return + } + analyticalSelectResults(result[0]) + } + + override fun onCancel() { + + } + }) + } + + override fun onItemClick(position: Int) { + if (realPaths[position].isEmpty()) { + "图片加载失败,无法查看大图".show(context) + } else { + navigatePageTo(position, realPaths) + } + } + + override fun onItemLongClick(view: View?, position: Int) { + imagePaths.removeAt(position) + imageAdapter.deleteImage(position) + } + }) + + uploadFileViewModel.resultModel.observe(this, { + if (it.code == 200) { + val url = it.data.toString() + if (url.isNotBlank()) { + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + } + imageAdapter.setupImage(realPaths) + } + }) + uploadFileViewModel.loadState.observe(this, { + DialogHelper.dismissLoadingDialog() + }) + + confirmApplyButton.setOnClickListener { + + } + } + + private fun analyticalSelectResults(result: LocalMedia) { + //压缩图片 +// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { +// result.realPath +// } else { +// result.sandboxPath +// } +// Log.d(kTag, "初始路径:" + result.path) +// Log.d(kTag, "绝对路径:" + result.realPath) +// Log.d(kTag, "原图路径:" + result.originalPath) +// Log.d(kTag, "沙盒路径:" + result.sandboxPath) + result.realPath.compressImage(this, object : OnImageCompressListener { + override fun onSuccess(file: File) { + Log.d(kTag, "onSuccess: " + file.absolutePath) + //上传图片 + uploadFileViewModel.uploadImage(file) + } + + override fun onError(e: Throwable) { + e.printStackTrace() + } + }) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt new file mode 100644 index 0000000..d744ba7 --- /dev/null +++ b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt @@ -0,0 +1,29 @@ +package com.casic.br.operationsite.view + +import com.casic.br.operationsite.R +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import kotlinx.android.synthetic.main.include_base_title.* + +class ElectricFenceActivity : KotlinBaseActivity() { + + override fun initLayoutView(): Int = R.layout.activity_electric_fence + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(false).init() + ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this)) + + leftBackView.setOnClickListener { finish() } + titleView.text = "燃气作业现场动态感知" + } + + override fun initData() { + + } + + override fun initEvent() { + + } +} \ No newline at end of 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 27d881b..d84692e 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 @@ -51,7 +51,7 @@ ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this)) leftBackView.setOnClickListener { finish() } - titleView.text = "燃气作业现场动态感知" + titleView.text = "事件信息" } override fun initData() { diff --git a/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt index 9f200b7..5411dbd 100644 --- a/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt +++ b/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt @@ -85,7 +85,7 @@ } fenceTextView.setOnClickListener { - + navigatePageTo() } uploadTextView.setOnClickListener { @@ -93,7 +93,7 @@ } applyTextView.setOnClickListener { - + navigatePageTo() } } diff --git a/app/src/main/res/drawable/bg_stroke_layout_radius_3.xml b/app/src/main/res/drawable/bg_stroke_layout_radius_3.xml index 5c85867..7a86cc8 100644 --- a/app/src/main/res/drawable/bg_stroke_layout_radius_3.xml +++ b/app/src/main/res/drawable/bg_stroke_layout_radius_3.xml @@ -2,10 +2,10 @@ - + diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar index 440b021..706b6c7 100644 --- a/app/libs/lite-release.aar +++ b/app/libs/lite-release.aar Binary files differ diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 16d0c19..55e187f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,6 +6,7 @@ + @@ -38,6 +39,8 @@ + + = ArrayList() //服务器返回的拍照数据集 + private val realPaths: ArrayList = ArrayList() //真实图片路径 + + override fun initLayoutView(): Int = R.layout.activity_apply_enter + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(false).init() + ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this)) + + leftBackView.setOnClickListener { finish() } + titleView.text = "人员信息" + } + + override fun initData() { + uploadFileViewModel = ViewModelProvider(this).get(UploadFileViewModel::class.java) + + imageAdapter = EditableImageAdapter(this, 1) + addImageRecyclerView.layoutManager = GridLayoutManager(this, 3) + addImageRecyclerView.adapter = imageAdapter + } + + override fun initEvent() { + imageAdapter.setOnItemClickListener(object : EditableImageAdapter.OnItemClickListener { + override fun onAddImageClick() { + PictureSelector.create(context) + .openCamera(SelectMimeType.ofImage()) + .forResult(object : OnResultCallbackListener { + override fun onResult(result: ArrayList?) { + if (result == null) { + "拍照保存失败,请重试".show(context) + return + } + analyticalSelectResults(result[0]) + } + + override fun onCancel() { + + } + }) + } + + override fun onItemClick(position: Int) { + if (realPaths[position].isEmpty()) { + "图片加载失败,无法查看大图".show(context) + } else { + navigatePageTo(position, realPaths) + } + } + + override fun onItemLongClick(view: View?, position: Int) { + imagePaths.removeAt(position) + imageAdapter.deleteImage(position) + } + }) + + uploadFileViewModel.resultModel.observe(this, { + if (it.code == 200) { + val url = it.data.toString() + if (url.isNotBlank()) { + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + } + imageAdapter.setupImage(realPaths) + } + }) + uploadFileViewModel.loadState.observe(this, { + DialogHelper.dismissLoadingDialog() + }) + + confirmApplyButton.setOnClickListener { + + } + } + + private fun analyticalSelectResults(result: LocalMedia) { + //压缩图片 +// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { +// result.realPath +// } else { +// result.sandboxPath +// } +// Log.d(kTag, "初始路径:" + result.path) +// Log.d(kTag, "绝对路径:" + result.realPath) +// Log.d(kTag, "原图路径:" + result.originalPath) +// Log.d(kTag, "沙盒路径:" + result.sandboxPath) + result.realPath.compressImage(this, object : OnImageCompressListener { + override fun onSuccess(file: File) { + Log.d(kTag, "onSuccess: " + file.absolutePath) + //上传图片 + uploadFileViewModel.uploadImage(file) + } + + override fun onError(e: Throwable) { + e.printStackTrace() + } + }) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt new file mode 100644 index 0000000..d744ba7 --- /dev/null +++ b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt @@ -0,0 +1,29 @@ +package com.casic.br.operationsite.view + +import com.casic.br.operationsite.R +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import kotlinx.android.synthetic.main.include_base_title.* + +class ElectricFenceActivity : KotlinBaseActivity() { + + override fun initLayoutView(): Int = R.layout.activity_electric_fence + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(false).init() + ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this)) + + leftBackView.setOnClickListener { finish() } + titleView.text = "燃气作业现场动态感知" + } + + override fun initData() { + + } + + override fun initEvent() { + + } +} \ No newline at end of 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 27d881b..d84692e 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 @@ -51,7 +51,7 @@ ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this)) leftBackView.setOnClickListener { finish() } - titleView.text = "燃气作业现场动态感知" + titleView.text = "事件信息" } override fun initData() { diff --git a/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt index 9f200b7..5411dbd 100644 --- a/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt +++ b/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt @@ -85,7 +85,7 @@ } fenceTextView.setOnClickListener { - + navigatePageTo() } uploadTextView.setOnClickListener { @@ -93,7 +93,7 @@ } applyTextView.setOnClickListener { - + navigatePageTo() } } diff --git a/app/src/main/res/drawable/bg_stroke_layout_radius_3.xml b/app/src/main/res/drawable/bg_stroke_layout_radius_3.xml index 5c85867..7a86cc8 100644 --- a/app/src/main/res/drawable/bg_stroke_layout_radius_3.xml +++ b/app/src/main/res/drawable/bg_stroke_layout_radius_3.xml @@ -2,10 +2,10 @@ - + diff --git a/app/src/main/res/layout/activity_alarm_detail.xml b/app/src/main/res/layout/activity_alarm_detail.xml index 9b7c5eb..fbd0e59 100644 --- a/app/src/main/res/layout/activity_alarm_detail.xml +++ b/app/src/main/res/layout/activity_alarm_detail.xml @@ -1,10 +1,8 @@ + android:orientation="vertical"> diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar index 440b021..706b6c7 100644 --- a/app/libs/lite-release.aar +++ b/app/libs/lite-release.aar Binary files differ diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 16d0c19..55e187f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,6 +6,7 @@ + @@ -38,6 +39,8 @@ + + = ArrayList() //服务器返回的拍照数据集 + private val realPaths: ArrayList = ArrayList() //真实图片路径 + + override fun initLayoutView(): Int = R.layout.activity_apply_enter + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(false).init() + ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this)) + + leftBackView.setOnClickListener { finish() } + titleView.text = "人员信息" + } + + override fun initData() { + uploadFileViewModel = ViewModelProvider(this).get(UploadFileViewModel::class.java) + + imageAdapter = EditableImageAdapter(this, 1) + addImageRecyclerView.layoutManager = GridLayoutManager(this, 3) + addImageRecyclerView.adapter = imageAdapter + } + + override fun initEvent() { + imageAdapter.setOnItemClickListener(object : EditableImageAdapter.OnItemClickListener { + override fun onAddImageClick() { + PictureSelector.create(context) + .openCamera(SelectMimeType.ofImage()) + .forResult(object : OnResultCallbackListener { + override fun onResult(result: ArrayList?) { + if (result == null) { + "拍照保存失败,请重试".show(context) + return + } + analyticalSelectResults(result[0]) + } + + override fun onCancel() { + + } + }) + } + + override fun onItemClick(position: Int) { + if (realPaths[position].isEmpty()) { + "图片加载失败,无法查看大图".show(context) + } else { + navigatePageTo(position, realPaths) + } + } + + override fun onItemLongClick(view: View?, position: Int) { + imagePaths.removeAt(position) + imageAdapter.deleteImage(position) + } + }) + + uploadFileViewModel.resultModel.observe(this, { + if (it.code == 200) { + val url = it.data.toString() + if (url.isNotBlank()) { + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + } + imageAdapter.setupImage(realPaths) + } + }) + uploadFileViewModel.loadState.observe(this, { + DialogHelper.dismissLoadingDialog() + }) + + confirmApplyButton.setOnClickListener { + + } + } + + private fun analyticalSelectResults(result: LocalMedia) { + //压缩图片 +// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { +// result.realPath +// } else { +// result.sandboxPath +// } +// Log.d(kTag, "初始路径:" + result.path) +// Log.d(kTag, "绝对路径:" + result.realPath) +// Log.d(kTag, "原图路径:" + result.originalPath) +// Log.d(kTag, "沙盒路径:" + result.sandboxPath) + result.realPath.compressImage(this, object : OnImageCompressListener { + override fun onSuccess(file: File) { + Log.d(kTag, "onSuccess: " + file.absolutePath) + //上传图片 + uploadFileViewModel.uploadImage(file) + } + + override fun onError(e: Throwable) { + e.printStackTrace() + } + }) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt new file mode 100644 index 0000000..d744ba7 --- /dev/null +++ b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt @@ -0,0 +1,29 @@ +package com.casic.br.operationsite.view + +import com.casic.br.operationsite.R +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import kotlinx.android.synthetic.main.include_base_title.* + +class ElectricFenceActivity : KotlinBaseActivity() { + + override fun initLayoutView(): Int = R.layout.activity_electric_fence + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(false).init() + ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this)) + + leftBackView.setOnClickListener { finish() } + titleView.text = "燃气作业现场动态感知" + } + + override fun initData() { + + } + + override fun initEvent() { + + } +} \ No newline at end of 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 27d881b..d84692e 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 @@ -51,7 +51,7 @@ ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this)) leftBackView.setOnClickListener { finish() } - titleView.text = "燃气作业现场动态感知" + titleView.text = "事件信息" } override fun initData() { diff --git a/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt index 9f200b7..5411dbd 100644 --- a/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt +++ b/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt @@ -85,7 +85,7 @@ } fenceTextView.setOnClickListener { - + navigatePageTo() } uploadTextView.setOnClickListener { @@ -93,7 +93,7 @@ } applyTextView.setOnClickListener { - + navigatePageTo() } } diff --git a/app/src/main/res/drawable/bg_stroke_layout_radius_3.xml b/app/src/main/res/drawable/bg_stroke_layout_radius_3.xml index 5c85867..7a86cc8 100644 --- a/app/src/main/res/drawable/bg_stroke_layout_radius_3.xml +++ b/app/src/main/res/drawable/bg_stroke_layout_radius_3.xml @@ -2,10 +2,10 @@ - + diff --git a/app/src/main/res/layout/activity_alarm_detail.xml b/app/src/main/res/layout/activity_alarm_detail.xml index 9b7c5eb..fbd0e59 100644 --- a/app/src/main/res/layout/activity_alarm_detail.xml +++ b/app/src/main/res/layout/activity_alarm_detail.xml @@ -1,10 +1,8 @@ + android:orientation="vertical"> diff --git a/app/src/main/res/layout/activity_alarm_list.xml b/app/src/main/res/layout/activity_alarm_list.xml index ecbdb78..6dc756f 100644 --- a/app/src/main/res/layout/activity_alarm_list.xml +++ b/app/src/main/res/layout/activity_alarm_list.xml @@ -1,11 +1,9 @@ + android:orientation="vertical"> diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar index 440b021..706b6c7 100644 --- a/app/libs/lite-release.aar +++ b/app/libs/lite-release.aar Binary files differ diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 16d0c19..55e187f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,6 +6,7 @@ + @@ -38,6 +39,8 @@ + + = ArrayList() //服务器返回的拍照数据集 + private val realPaths: ArrayList = ArrayList() //真实图片路径 + + override fun initLayoutView(): Int = R.layout.activity_apply_enter + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(false).init() + ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this)) + + leftBackView.setOnClickListener { finish() } + titleView.text = "人员信息" + } + + override fun initData() { + uploadFileViewModel = ViewModelProvider(this).get(UploadFileViewModel::class.java) + + imageAdapter = EditableImageAdapter(this, 1) + addImageRecyclerView.layoutManager = GridLayoutManager(this, 3) + addImageRecyclerView.adapter = imageAdapter + } + + override fun initEvent() { + imageAdapter.setOnItemClickListener(object : EditableImageAdapter.OnItemClickListener { + override fun onAddImageClick() { + PictureSelector.create(context) + .openCamera(SelectMimeType.ofImage()) + .forResult(object : OnResultCallbackListener { + override fun onResult(result: ArrayList?) { + if (result == null) { + "拍照保存失败,请重试".show(context) + return + } + analyticalSelectResults(result[0]) + } + + override fun onCancel() { + + } + }) + } + + override fun onItemClick(position: Int) { + if (realPaths[position].isEmpty()) { + "图片加载失败,无法查看大图".show(context) + } else { + navigatePageTo(position, realPaths) + } + } + + override fun onItemLongClick(view: View?, position: Int) { + imagePaths.removeAt(position) + imageAdapter.deleteImage(position) + } + }) + + uploadFileViewModel.resultModel.observe(this, { + if (it.code == 200) { + val url = it.data.toString() + if (url.isNotBlank()) { + imagePaths.add(url) + realPaths.add(url.combineImagePath()) + } + imageAdapter.setupImage(realPaths) + } + }) + uploadFileViewModel.loadState.observe(this, { + DialogHelper.dismissLoadingDialog() + }) + + confirmApplyButton.setOnClickListener { + + } + } + + private fun analyticalSelectResults(result: LocalMedia) { + //压缩图片 +// val realPath = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { +// result.realPath +// } else { +// result.sandboxPath +// } +// Log.d(kTag, "初始路径:" + result.path) +// Log.d(kTag, "绝对路径:" + result.realPath) +// Log.d(kTag, "原图路径:" + result.originalPath) +// Log.d(kTag, "沙盒路径:" + result.sandboxPath) + result.realPath.compressImage(this, object : OnImageCompressListener { + override fun onSuccess(file: File) { + Log.d(kTag, "onSuccess: " + file.absolutePath) + //上传图片 + uploadFileViewModel.uploadImage(file) + } + + override fun onError(e: Throwable) { + e.printStackTrace() + } + }) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt new file mode 100644 index 0000000..d744ba7 --- /dev/null +++ b/app/src/main/java/com/casic/br/operationsite/view/ElectricFenceActivity.kt @@ -0,0 +1,29 @@ +package com.casic.br.operationsite.view + +import com.casic.br.operationsite.R +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import kotlinx.android.synthetic.main.include_base_title.* + +class ElectricFenceActivity : KotlinBaseActivity() { + + override fun initLayoutView(): Int = R.layout.activity_electric_fence + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(false).init() + ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this)) + + leftBackView.setOnClickListener { finish() } + titleView.text = "燃气作业现场动态感知" + } + + override fun initData() { + + } + + override fun initEvent() { + + } +} \ No newline at end of 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 27d881b..d84692e 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 @@ -51,7 +51,7 @@ ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this)) leftBackView.setOnClickListener { finish() } - titleView.text = "燃气作业现场动态感知" + titleView.text = "事件信息" } override fun initData() { diff --git a/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt index 9f200b7..5411dbd 100644 --- a/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt +++ b/app/src/main/java/com/casic/br/operationsite/view/WorkSiteTabActivity.kt @@ -85,7 +85,7 @@ } fenceTextView.setOnClickListener { - + navigatePageTo() } uploadTextView.setOnClickListener { @@ -93,7 +93,7 @@ } applyTextView.setOnClickListener { - + navigatePageTo() } } diff --git a/app/src/main/res/drawable/bg_stroke_layout_radius_3.xml b/app/src/main/res/drawable/bg_stroke_layout_radius_3.xml index 5c85867..7a86cc8 100644 --- a/app/src/main/res/drawable/bg_stroke_layout_radius_3.xml +++ b/app/src/main/res/drawable/bg_stroke_layout_radius_3.xml @@ -2,10 +2,10 @@ - + diff --git a/app/src/main/res/layout/activity_alarm_detail.xml b/app/src/main/res/layout/activity_alarm_detail.xml index 9b7c5eb..fbd0e59 100644 --- a/app/src/main/res/layout/activity_alarm_detail.xml +++ b/app/src/main/res/layout/activity_alarm_detail.xml @@ -1,10 +1,8 @@ + android:orientation="vertical"> diff --git a/app/src/main/res/layout/activity_alarm_list.xml b/app/src/main/res/layout/activity_alarm_list.xml index ecbdb78..6dc756f 100644 --- a/app/src/main/res/layout/activity_alarm_list.xml +++ b/app/src/main/res/layout/activity_alarm_list.xml @@ -1,11 +1,9 @@ + android:orientation="vertical"> diff --git a/app/src/main/res/layout/activity_apply_enter.xml b/app/src/main/res/layout/activity_apply_enter.xml new file mode 100644 index 0000000..72c0486 --- /dev/null +++ b/app/src/main/res/layout/activity_apply_enter.xml @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +