From c02a2ff08c14fc26b0515a2ece638f1ffd7f56b7 Mon Sep 17 00:00:00 2001
From: lvmeng <848755140@qq.com>
Date: Sat, 27 Sep 2025 23:25:12 +0800
Subject: [PATCH] =?UTF-8?q?=E7=BC=96=E5=BD=95=E7=82=B9=E6=96=B0=E5=A2=9E4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
coalMiningApp/app/build.gradle | 5 +-
.../app/src/main/AndroidManifest.xml | 3 +
.../com/zmkg/coaloperation/MyApplication.kt | 2 +
.../adapter/GeoLoggingFaceAdapter.kt | 32 +++++
.../adapter/GeoPointImageAdapter.kt | 9 +-
.../adapter/GeoPointMultiAdapter.kt | 99 ++++++++------
.../zmkg/coaloperation/base/BaseActivity.java | 100 ++++++++++++++
.../coaloperation/base/BaseVMBActivity.kt | 3 +-
.../coaloperation/bean/IActivityResult.java | 24 ++++
.../com/zmkg/coaloperation/bean/OtherData.kt | 4 +-
.../db/entity/geologging/GeoLoggingFace.kt | 12 ++
.../geologging/AddGeoLoggingFaceActivity.kt | 39 ++++++
.../geologging/AddGeologicalPointActivity.kt | 125 +++++++++++++++---
.../geologging/AddGeologicalPointFragment.kt | 34 ++++-
.../ui/geologging/GeologicalActivity.kt | 30 ++++-
.../java/com/zmkg/coaloperation/utils/Ext.kt | 6 +
.../zmkg/coaloperation/utils/GalleryUtils.kt | 28 ++++
.../utils/permission/InvisibleFragment.kt | 80 +++++++++++
.../utils/permission/PermissionUtils.kt | 51 +++++++
.../utils/permission/StorageUtils.kt | 31 +++++
.../main/res/drawable-xxhdpi/ic_add_image.png | Bin 1885 -> 1283 bytes
.../layout/activity_add_geo_logging_face.xml | 73 ++++++++++
.../layout/activity_add_geological_point.xml | 74 +----------
.../main/res/layout/activity_geological.xml | 1 +
.../res/layout/activity_geological_point.xml | 8 +-
.../main/res/layout/item_geological_list.xml | 100 ++++----------
.../list_item_point_base_horizontal.xml | 12 +-
.../layout/list_item_point_base_vertical.xml | 11 +-
.../layout/list_item_point_calculate_info.xml | 24 +++-
.../main/res/layout/list_item_point_image.xml | 9 +-
.../layout/list_item_point_upload_image.xml | 2 +
.../app/src/main/res/xml/file_paths.xml | 6 +
coalMiningApp/settings.gradle | 10 +-
33 files changed, 815 insertions(+), 232 deletions(-)
create mode 100644 coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/GeoLoggingFaceAdapter.kt
create mode 100644 coalMiningApp/app/src/main/java/com/zmkg/coaloperation/base/BaseActivity.java
create mode 100644 coalMiningApp/app/src/main/java/com/zmkg/coaloperation/bean/IActivityResult.java
create mode 100644 coalMiningApp/app/src/main/java/com/zmkg/coaloperation/db/entity/geologging/GeoLoggingFace.kt
create mode 100644 coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/geologging/AddGeoLoggingFaceActivity.kt
create mode 100644 coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/GalleryUtils.kt
create mode 100644 coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/permission/InvisibleFragment.kt
create mode 100644 coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/permission/PermissionUtils.kt
create mode 100644 coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/permission/StorageUtils.kt
create mode 100644 coalMiningApp/app/src/main/res/layout/activity_add_geo_logging_face.xml
diff --git a/coalMiningApp/app/build.gradle b/coalMiningApp/app/build.gradle
index 29c7e04..c88a755 100644
--- a/coalMiningApp/app/build.gradle
+++ b/coalMiningApp/app/build.gradle
@@ -78,7 +78,7 @@ android {
}
dependencies {
-
+ implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
api rootProject.ext.androidxLibs
// ViewModel and LiveData
api rootProject.ext.jetpackLibs
@@ -112,4 +112,7 @@ dependencies {
implementation 'androidx.fragment:fragment-ktx:1.6.0'
+// implementation 'com.zhihu.android:matisse:0.6.0'
+ implementation project(':matisse')
+ implementation 'com.github.hackware1993:MagicIndicator:1.7.0'
}
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/AndroidManifest.xml b/coalMiningApp/app/src/main/AndroidManifest.xml
index a80e8ae..2272986 100644
--- a/coalMiningApp/app/src/main/AndroidManifest.xml
+++ b/coalMiningApp/app/src/main/AndroidManifest.xml
@@ -4,6 +4,7 @@
package="com.zmkg.coaloperation">
+
@@ -69,6 +71,7 @@
+
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/MyApplication.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/MyApplication.kt
index cf7fbbf..5d52a1e 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/MyApplication.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/MyApplication.kt
@@ -73,6 +73,8 @@ class MyApplication : Application(), ViewModelStoreOwner {
}
+
+
fun initLoginStatusListener() {
// TUILogin.addLoginListener(loginStatusListener)
}
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/GeoLoggingFaceAdapter.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/GeoLoggingFaceAdapter.kt
new file mode 100644
index 0000000..ffb1785
--- /dev/null
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/GeoLoggingFaceAdapter.kt
@@ -0,0 +1,32 @@
+package com.zmkg.coaloperation.adapter
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import com.chad.library.adapter.base.BaseQuickAdapter
+import com.chad.library.adapter.base.viewholder.BaseViewHolder
+import com.zmkg.coaloperation.R
+import com.zmkg.coaloperation.databinding.ItemGeologicalListBinding
+import com.zmkg.coaloperation.db.entity.geologging.GeoLoggingFace
+
+class GeoLoggingFaceAdapter(list: MutableList):
+ BaseQuickAdapter(
+ R.layout.item_geological_list, list
+ ){
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): VH {
+ val binding = ItemGeologicalListBinding.inflate(
+ LayoutInflater.from(context), parent, false
+ )
+ return VH(binding).also {
+ bindViewClickListener(it, viewType)
+ }
+ }
+ override fun convert(
+ holder: VH,
+ item: GeoLoggingFace
+ ) {
+ holder.binding.tvFaceName.text = item.surfaceName
+ }
+
+ inner class VH(var binding: ItemGeologicalListBinding): BaseViewHolder(binding.root)
+
+}
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/GeoPointImageAdapter.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/GeoPointImageAdapter.kt
index 6d3ff12..2ce5160 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/GeoPointImageAdapter.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/GeoPointImageAdapter.kt
@@ -7,6 +7,7 @@ import com.chad.library.adapter.base.viewholder.BaseViewHolder
import com.zmkg.coaloperation.R
import com.zmkg.coaloperation.bean.GeoPointImage
import com.zmkg.coaloperation.databinding.ListItemPointImageBinding
+import com.zmkg.coaloperation.utils.load
class GeoPointImageAdapter(list: MutableList):
BaseQuickAdapter(
@@ -26,7 +27,13 @@ class GeoPointImageAdapter(list: MutableList):
holder: VH,
item: GeoPointImage
) {
- holder.binding.ivPointImage.setImageResource(R.drawable.ic_add_image)
+ holder.binding.ivPointImage.let {
+ if (item.isAddFlag) {
+ it.load(R.drawable.ic_add_image)
+ } else {
+ it.load(item.imagePath)
+ }
+ }
}
inner class VH(var binding: ListItemPointImageBinding): BaseViewHolder(binding.root)
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/GeoPointMultiAdapter.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/GeoPointMultiAdapter.kt
index 1009cf5..d8b6880 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/GeoPointMultiAdapter.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/adapter/GeoPointMultiAdapter.kt
@@ -1,104 +1,123 @@
package com.zmkg.coaloperation.adapter
+import android.Manifest
+import android.app.Activity
import android.view.LayoutInflater
import android.widget.LinearLayout
import androidx.core.view.updateLayoutParams
import androidx.recyclerview.widget.GridLayoutManager
-import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.chad.library.adapter.base.BaseMultiItemQuickAdapter
import com.chad.library.adapter.base.viewholder.BaseViewHolder
import com.zmkg.coaloperation.R
+import com.zmkg.coaloperation.base.BaseActivity
import com.zmkg.coaloperation.bean.BaseItem
import com.zmkg.coaloperation.bean.GeoPointImage
import com.zmkg.coaloperation.bean.GeoPointMultiItem
import com.zmkg.coaloperation.databinding.ListItemPointBaseHorizontalBinding
import com.zmkg.coaloperation.databinding.ListItemPointBaseVerticalBinding
+import com.zmkg.coaloperation.ui.geologging.AddGeologicalPointFragment
+import com.zmkg.coaloperation.utils.GalleryUtils
import com.zmkg.coaloperation.utils.gone
+import com.zmkg.coaloperation.utils.permission.StorageUtils
import com.zmkg.coaloperation.utils.visible
-class GeoPointMultiAdapter(list: MutableList):
- BaseMultiItemQuickAdapter(list){
+class GeoPointMultiAdapter(list: MutableList) :
+ BaseMultiItemQuickAdapter(list) {
- init {
- addItemType(GeoPointMultiItem.TYPE_BASE_INFO, R.layout.list_item_point_base_info)
- addItemType(GeoPointMultiItem.TYPE_LOGGING_INFO, R.layout.list_item_point_logging_info)
- addItemType(GeoPointMultiItem.TYPE_CALCULATE_INFO, R.layout.list_item_point_calculate_info)
- addItemType(GeoPointMultiItem.TYPE_UPLOAD_IMAGE, R.layout.list_item_point_upload_image)
- }
+ init {
+ addItemType(GeoPointMultiItem.TYPE_BASE_INFO, R.layout.list_item_point_base_info)
+ addItemType(GeoPointMultiItem.TYPE_LOGGING_INFO, R.layout.list_item_point_logging_info)
+ addItemType(GeoPointMultiItem.TYPE_CALCULATE_INFO, R.layout.list_item_point_calculate_info)
+ addItemType(GeoPointMultiItem.TYPE_UPLOAD_IMAGE, R.layout.list_item_point_upload_image)
+ }
override fun convert(
holder: BaseViewHolder,
item: GeoPointMultiItem
) {
when (holder.itemViewType) {
- GeoPointMultiItem.TYPE_BASE_INFO->{
+ GeoPointMultiItem.TYPE_BASE_INFO -> {
loadBaseInfo(holder, item)
}
- GeoPointMultiItem.TYPE_LOGGING_INFO->{
+
+ GeoPointMultiItem.TYPE_LOGGING_INFO -> {
loadLoggingInfo(holder, item)
}
- GeoPointMultiItem.TYPE_CALCULATE_INFO->{
+
+ GeoPointMultiItem.TYPE_CALCULATE_INFO -> {
loadCalculateInfo(holder, item)
}
- GeoPointMultiItem.TYPE_UPLOAD_IMAGE->{
+
+ GeoPointMultiItem.TYPE_UPLOAD_IMAGE -> {
loadUploadImage(holder, item)
}
}
}
- private fun loadUploadImage(holder: BaseViewHolder,item: GeoPointMultiItem) {
+ private fun loadUploadImage(holder: BaseViewHolder, item: GeoPointMultiItem) {
val rvImageList = holder.itemView.findViewById(R.id.rvImageList)
- val images = mutableListOf(
- GeoPointImage(),
- GeoPointImage(),
- GeoPointImage(),
- GeoPointImage()
- )
- rvImageList.let {rv->
+ if (item.images == null) {
+ item.images = mutableListOf()
+ }
+ rvImageList.let { rv ->
rv.layoutManager = GridLayoutManager(rv.context, 4, GridLayoutManager.VERTICAL, false)
- rv.adapter = GeoPointImageAdapter(images).also {
+ rv.adapter = GeoPointImageAdapter(item.images!!).also {
it.setOnItemClickListener { adapter, view, position ->
-
- }
+ if (it.data[position].isAddFlag.not()) {
+ return@setOnItemClickListener
+ }
+ (context as BaseActivity).let { activity ->
+ StorageUtils.requestPermission(activity) {
+ GalleryUtils.openGallery(context as Activity, AddGeologicalPointFragment.IMAGE_REQUEST_CODE)
+ }
+ } }
}
}
}
- private fun loadCalculateInfo(holder: BaseViewHolder,item: GeoPointMultiItem) {}
+ private fun loadCalculateInfo(holder: BaseViewHolder, item: GeoPointMultiItem) {}
- private fun loadLoggingInfo(holder: BaseViewHolder,item: GeoPointMultiItem) {
+ private fun loadLoggingInfo(holder: BaseViewHolder, item: GeoPointMultiItem) {
}
- private fun loadBaseInfo(holder: BaseViewHolder,item: GeoPointMultiItem) {
+ private fun loadBaseInfo(holder: BaseViewHolder, item: GeoPointMultiItem) {
val llBaseTop = holder.itemView.findViewById(R.id.llBaseTop)
val topList = mutableListOf(
- BaseItem(name = "点号", value = "1#"),
- BaseItem(name = "点距", value = "1#"),
- BaseItem(name = "累距", value = "78.874"),
+ BaseItem(name = "点号", value = ""),
+ BaseItem(name = "点距", value = ""),
+ BaseItem(name = "累距", value = ""),
)
val bottomList = mutableListOf(
- BaseItem(name = "巷高", value = "2.855"),
- BaseItem(name = "顶板", value = "1024.491"),
- BaseItem(name = "底板", value = "1018.491"),
- BaseItem(name = "巷顶煤厚", value = "0.15"),
+ BaseItem(name = "巷高", value = ""),
+ BaseItem(name = "顶板", value = ""),
+ BaseItem(name = "底板", value = ""),
+ BaseItem(name = "巷顶煤厚", value = ""),
)
topList.forEach {
- val itemBinding = ListItemPointBaseHorizontalBinding.inflate(LayoutInflater.from(context), llBaseTop, false)
+ val itemBinding = ListItemPointBaseHorizontalBinding.inflate(
+ LayoutInflater.from(context),
+ llBaseTop,
+ false
+ )
itemBinding.run {
tvItemName.text = it.name
- tvItemValue.text = it.value
+ etInputValue.setText(it.value)
}
- llBaseTop.addView(itemBinding.root)
+ llBaseTop.addView(itemBinding.root)
}
val llBaseBottom = holder.itemView.findViewById(R.id.llBaseBottom)
- bottomList.forEachIndexed {index, it ->
- val itemBinding = ListItemPointBaseVerticalBinding.inflate(LayoutInflater.from(context),llBaseBottom, false)
+ bottomList.forEachIndexed { index, it ->
+ val itemBinding = ListItemPointBaseVerticalBinding.inflate(
+ LayoutInflater.from(context),
+ llBaseBottom,
+ false
+ )
itemBinding.run {
tvItemName.text = it.name
- tvItemValue.text = it.value
+ etInputValue.setText(it.value)
dividerVertical.run {
if (index == bottomList.size - 1) gone() else visible()
}
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/base/BaseActivity.java b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/base/BaseActivity.java
new file mode 100644
index 0000000..f489c33
--- /dev/null
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/base/BaseActivity.java
@@ -0,0 +1,100 @@
+package com.zmkg.coaloperation.base;
+
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+
+import androidx.activity.result.ActivityResultLauncher;
+import androidx.activity.result.contract.ActivityResultContracts;
+import androidx.appcompat.app.AppCompatActivity;
+import com.zmkg.coaloperation.bean.IActivityResult;
+
+public class BaseActivity extends AppCompatActivity {
+
+// public static final String COLOR_WHITE = "#FFFFFF";
+//
+// public void whiteStatusBar(boolean isFits) {
+// whiteStatusBar(isFits, false);
+// }
+//
+// public void whiteStatusBar(boolean isFits, boolean keyboardEnable) {
+// hasColorStatusBar(COLOR_WHITE, isFits, true, keyboardEnable);
+// }
+//
+// public void transparentStatusBar(boolean isFits, boolean isDarkFont) {
+// ImmersionBar.with(this)
+// .fitsSystemWindows(isFits)
+// .statusBarDarkFont(isDarkFont)
+// .transparentStatusBar()
+// .navigationBarColor(R.color.white)
+// .navigationBarDarkIcon(true)
+// .init();
+// }
+//
+// public void hasColorStatusBar(String statusBarColor, boolean isFits, boolean isDarkFont) {
+// hasColorStatusBar(statusBarColor, isFits, isDarkFont, false);
+// }
+//
+// public void hasColorStatusBar(String statusBarColor, boolean isFits, boolean isDarkFont, boolean keyboardEnable) {
+// ImmersionBar.with(this)
+// .fitsSystemWindows(isFits)
+// .statusBarColor(statusBarColor)
+// .statusBarDarkFont(isDarkFont)
+// .keyboardEnable(keyboardEnable)
+// .navigationBarColor(R.color.white)
+// .navigationBarDarkIcon(true)
+// .init();
+// }
+
+ private final ActivityResultLauncher activityLauncher =
+ registerForActivityResult(
+ new ActivityResultContracts.StartActivityForResult(),
+ result -> this.launchActivityCallback.callback(result)
+ );
+ private IActivityResult.LaunchActivityCallback launchActivityCallback;
+
+ public void launchActivityResult(Intent intent, IActivityResult.LaunchActivityCallback activityCallback) {
+ this.launchActivityCallback = activityCallback;
+ activityLauncher.launch(intent);
+ }
+
+ private IActivityResult.LaunchTackPictureCallback launchTackPictureCallback;
+
+ private final ActivityResultLauncher tackPictureLauncher =
+ registerForActivityResult(
+ new ActivityResultContracts.TakePicture(),
+ result -> this.launchTackPictureCallback.callback(result)
+ );
+
+ public void launchTackPicture(Uri uri, IActivityResult.LaunchTackPictureCallback callback) {
+ this.launchTackPictureCallback = callback;
+ tackPictureLauncher.launch(uri);
+ }
+
+ private IActivityResult.RequestPermissionCallback launchPermissionCallback;
+
+ public void requestSinglePermissionResult(String permission, IActivityResult.RequestPermissionCallback permissionCallback) {
+ this.launchPermissionCallback = permissionCallback;
+ permissionLauncher.launch(permission);
+ }
+
+ private final ActivityResultLauncher permissionLauncher =
+ registerForActivityResult(
+ new ActivityResultContracts.RequestPermission(),
+ result -> this.launchPermissionCallback.callback(result)
+ );
+
+ private IActivityResult.RequestMultiplePermissionsCallback launchMultiplePermissionsCallback;
+
+ public void requestMultiplePermissionsResult(String[] permissions, IActivityResult.RequestMultiplePermissionsCallback permissionCallback) {
+ this.launchMultiplePermissionsCallback = permissionCallback;
+ multiplePermissionLauncher.launch(permissions);
+ }
+
+ private final ActivityResultLauncher multiplePermissionLauncher =
+ registerForActivityResult(
+ new ActivityResultContracts.RequestMultiplePermissions(),
+ result -> this.launchMultiplePermissionsCallback.callback(result)
+ );
+
+}
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/base/BaseVMBActivity.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/base/BaseVMBActivity.kt
index 669ba93..7747dc6 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/base/BaseVMBActivity.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/base/BaseVMBActivity.kt
@@ -55,7 +55,7 @@ import java.sql.SQLException
* 封装了ViewModel和DataBinding的Activity基类
*/
abstract class BaseVMBActivity(private val contentViewResId: Int) :
- AppCompatActivity(), View.OnClickListener {
+ BaseActivity(), View.OnClickListener {
var mContext: Context? = null
var mActivity: Activity? = null
lateinit var mViewModel: VM
@@ -447,4 +447,5 @@ abstract class BaseVMBActivity(private
return "0"
}
}
+
}
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/bean/IActivityResult.java b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/bean/IActivityResult.java
new file mode 100644
index 0000000..41775ba
--- /dev/null
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/bean/IActivityResult.java
@@ -0,0 +1,24 @@
+package com.zmkg.coaloperation.bean;
+
+import androidx.activity.result.ActivityResult;
+
+import java.util.Map;
+
+public interface IActivityResult {
+
+ interface LaunchActivityCallback {
+ void callback(ActivityResult result);
+ }
+
+ interface LaunchTackPictureCallback {
+ void callback(boolean result);
+ }
+
+ interface RequestPermissionCallback {
+ void callback(boolean result);
+ }
+
+ interface RequestMultiplePermissionsCallback {
+ void callback(Map result);
+ }
+}
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/bean/OtherData.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/bean/OtherData.kt
index e3c21eb..319fc5b 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/bean/OtherData.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/bean/OtherData.kt
@@ -63,6 +63,7 @@ data class GeoPointMultiItem(
var pointName: String = "",
var pointDistance: String = "",
var totalDistance: String = "",
+ var images: MutableList?=null
): MultiItemEntity {
companion object {
const val TYPE_BASE_INFO = 1
@@ -73,5 +74,6 @@ data class GeoPointMultiItem(
}
data class GeoPointImage(
- var imagePath: String = ""
+ var imagePath: String = "",
+ var isAddFlag:Boolean = false
)
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/db/entity/geologging/GeoLoggingFace.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/db/entity/geologging/GeoLoggingFace.kt
new file mode 100644
index 0000000..bc64122
--- /dev/null
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/db/entity/geologging/GeoLoggingFace.kt
@@ -0,0 +1,12 @@
+package com.zmkg.coaloperation.db.entity.geologging
+
+data class GeoLoggingFace(
+ var surfaceId: Long = 0,
+
+ var userId: String = "",
+
+ /**
+ * 工作面名称
+ */
+ var surfaceName: String? = "",
+)
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/geologging/AddGeoLoggingFaceActivity.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/geologging/AddGeoLoggingFaceActivity.kt
new file mode 100644
index 0000000..bd4cfac
--- /dev/null
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/geologging/AddGeoLoggingFaceActivity.kt
@@ -0,0 +1,39 @@
+package com.zmkg.coaloperation.ui.geologging
+
+import android.os.Bundle
+import android.view.View
+import com.zmkg.coaloperation.R
+import com.zmkg.coaloperation.base.BaseVMBActivity
+import com.zmkg.coaloperation.base.viewmodel.TestViewModel
+import com.zmkg.coaloperation.databinding.ActivityAddGeoLoggingFaceBinding
+
+class AddGeoLoggingFaceActivity :
+ BaseVMBActivity(
+ R.layout.activity_add_geo_logging_face
+ ) {
+
+ override fun initView(savedInstanceState: Bundle?) {
+ mBinding.toolbarLay.title = "新增工作面"
+ mBinding.btnAddFace.setOnClickListener {
+ val faceName = mBinding.etWorkfaceName.text.toString().trim()
+ if (faceName.isBlank()) {
+ showToast("请输入工作面名称")
+ return@setOnClickListener
+ }
+
+ }
+ }
+
+ override fun initData() {
+
+ }
+
+ override fun bindEvent() {
+
+ }
+
+ override fun processClick(v: View?) {
+
+ }
+
+}
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/geologging/AddGeologicalPointActivity.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/geologging/AddGeologicalPointActivity.kt
index 8694684..eb55ae5 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/geologging/AddGeologicalPointActivity.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/geologging/AddGeologicalPointActivity.kt
@@ -1,19 +1,40 @@
package com.zmkg.coaloperation.ui.geologging
+import android.content.Context
+import android.content.Intent
+import android.graphics.Color
+import android.graphics.drawable.GradientDrawable
import android.os.Bundle
import android.view.View
+import android.view.ViewGroup
+import android.widget.FrameLayout
+import android.widget.LinearLayout
+import androidx.core.graphics.toColorInt
+import androidx.core.view.marginLeft
+import androidx.core.view.marginStart
+import androidx.core.view.updateLayoutParams
import androidx.fragment.app.Fragment
import androidx.fragment.app.commit
import com.zmkg.coaloperation.R
import com.zmkg.coaloperation.base.BaseVMBActivity
import com.zmkg.coaloperation.base.viewmodel.TestViewModel
import com.zmkg.coaloperation.databinding.ActivityAddGeologicalPointBinding
+import com.zmkg.coaloperation.utils.dp
+import com.zmkg.coaloperation.utils.useShapeSetBackground
+import net.lucode.hackware.magicindicator.FragmentContainerHelper
+import net.lucode.hackware.magicindicator.buildins.commonnavigator.CommonNavigator
+import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.CommonNavigatorAdapter
+import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerTitleView
+import net.lucode.hackware.magicindicator.buildins.commonnavigator.indicators.LinePagerIndicator
+import net.lucode.hackware.magicindicator.buildins.commonnavigator.titles.ColorTransitionPagerTitleView
/**
* 地质编录点新增
*/
class AddGeologicalPointActivity :
- BaseVMBActivity(R.layout.activity_add_geological_point) {
+ BaseVMBActivity(
+ R.layout.activity_add_geological_point
+ ) {
override fun initView(savedInstanceState: Bundle?) {
@@ -28,6 +49,8 @@ class AddGeologicalPointActivity :
show(fragments[0])
setReorderingAllowed(true)
}
+ initMagicIndicator()
+ showFragment(0)
}
override fun initData() {
@@ -42,27 +65,93 @@ class AddGeologicalPointActivity :
private val fragments = mutableListOf()
private fun initFragments() {
- fragments.apply {
- add(AddGeologicalPointFragment())
- add(AddGeologicalPointFragment())
- add(AddGeologicalPointFragment())
- add(AddGeologicalPointFragment())
- add(AddGeologicalPointFragment())
+ titles.forEach { _ ->
+ fragments.add(AddGeologicalPointFragment())
}
- supportFragmentManager.commit {
-// add(R.id.fragment_container, fragments[0], "volume").hide(fragments[0])
- replace(R.id.frgContainerView, fragments[0], "point01")
+// supportFragmentManager.commit {
+//// add(R.id.fragment_container, fragments[0], "volume").hide(fragments[0])
+// replace(R.id.frgContainerView, fragments[0], "point01")
+// }
+ }
+
+// private fun switchFragment(position: Int) {
+// supportFragmentManager.commit {
+// setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out)
+// fragments.forEachIndexed { index, fragment ->
+// if (index == position) show(fragment) else hide(fragment)
+// }
+// setReorderingAllowed(true)
+// }
+// }
+
+ override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+ super.onActivityResult(requestCode, resultCode, data)
+ fragments[0].onActivityResult(requestCode, resultCode, data)
+ }
+
+ private val titles = listOf("1#", "2#", "3#", "4#", "5#", "6#")
+ private fun initMagicIndicator() {
+ val commonNavigator = CommonNavigator(this).apply {
+ adapter = object : CommonNavigatorAdapter() {
+ override fun getCount() = titles.size
+ override fun getTitleView(context: Context?, index: Int): IPagerTitleView {
+ return ColorTransitionPagerTitleView(context).apply {
+// setPadding(
+// if (index == 0) 20.dp else 10.dp,
+// 10.dp,
+// if (index == titles.size - 1) 20.dp else 10.dp,
+// 10.dp
+// )
+// setPadding(10.dp, 5.dp,10.dp, 5.dp)
+ width = 65.dp
+ text = titles[index]
+ textSize = 20f
+ normalColor = Color.WHITE
+ selectedColor = "#30E0A1".toColorInt()
+ useShapeSetBackground(
+ cornerRadius = 12.dp.toFloat(),
+ solidColor = "#1430E0A1".toColorInt(),
+ strokeColor = "#0C0D0E".toColorInt(),
+ strokeWidth = 8.dp
+ )
+// showToast(parent.javaClass.simpleName)
+// updateLayoutParams {
+// topMargin = 10.dp
+// bottomMargin = 10.dp
+// leftMargin = if (index == 0) 20.dp else 10.dp
+// rightMargin = if (index == titles.size - 1) 20.dp else 10.dp
+// }
+ setOnClickListener { showFragment(index) }
+ }
+ }
+
+ override fun getIndicator(context: Context?) = LinePagerIndicator(context).apply {
+// mode = LinePagerIndicator.MODE_WRAP_CONTENT
+// setColors("#30E0A1".toColorInt())
+// lineHeight = 1.dp.toFloat()
+ //lineWidth = 10.dp.toFloat()
+// background = GradientDrawable().also {
+// it.shape = GradientDrawable.RECTANGLE
+// it.cornerRadius = 5.dp.toFloat()
+// it.setColor("#30E0A1".toColorInt())
+//// it.setStroke(strokeWidth, strokeColor)
+// }
+ }
+ }
+ }
+ mBinding.magicIndicator.let {
+ fragmentContainerHelper = FragmentContainerHelper(it)
+ it.navigator = commonNavigator
}
}
- private fun switchFragment(position: Int) {
- supportFragmentManager.commit {
- setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out)
- fragments.forEachIndexed { index, fragment ->
- if (index == position) show(fragment) else hide(fragment)
- }
- setReorderingAllowed(true)
- }
+ private lateinit var fragmentContainerHelper:FragmentContainerHelper
+
+ private fun showFragment(position: Int) {
+ supportFragmentManager.beginTransaction()
+ .replace(R.id.frgContainerView, fragments[position])
+ .commit()
+ fragmentContainerHelper.handlePageSelected(position)
}
}
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/geologging/AddGeologicalPointFragment.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/geologging/AddGeologicalPointFragment.kt
index 9dcdc75..d6311b0 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/geologging/AddGeologicalPointFragment.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/geologging/AddGeologicalPointFragment.kt
@@ -1,29 +1,44 @@
package com.zmkg.coaloperation.ui.geologging
+import android.app.Activity
+import android.content.Intent
import android.os.Bundle
import android.view.View
import androidx.recyclerview.widget.LinearLayoutManager
+import com.zhihu.matisse.Matisse
import com.zmkg.coaloperation.R
import com.zmkg.coaloperation.adapter.GeoPointMultiAdapter
import com.zmkg.coaloperation.base.BaseVMBFragment
import com.zmkg.coaloperation.base.viewmodel.TestViewModel
+import com.zmkg.coaloperation.bean.GeoPointImage
import com.zmkg.coaloperation.bean.GeoPointMultiItem
import com.zmkg.coaloperation.databinding.FragmentAddGeologicalPointBinding
class AddGeologicalPointFragment :
BaseVMBFragment(R.layout.fragment_add_geological_point) {
+ companion object {
+ const val IMAGE_REQUEST_CODE = 1000
+ }
+
private val geoPointList: MutableList = mutableListOf()
private val geoPointAdapter by lazy {
GeoPointMultiAdapter(geoPointList)
}
override fun initView(root: View?, savedInstanceState: Bundle?) {
+ val imageList = mutableListOf()
+ imageList.add(GeoPointImage(isAddFlag = true))
geoPointList.run {
add(GeoPointMultiItem(itemType = GeoPointMultiItem.TYPE_BASE_INFO))
add(GeoPointMultiItem(itemType = GeoPointMultiItem.TYPE_LOGGING_INFO))
add(GeoPointMultiItem(itemType = GeoPointMultiItem.TYPE_CALCULATE_INFO))
- add(GeoPointMultiItem(itemType = GeoPointMultiItem.TYPE_UPLOAD_IMAGE))
+ add(
+ GeoPointMultiItem(
+ itemType = GeoPointMultiItem.TYPE_UPLOAD_IMAGE,
+ images = imageList
+ )
+ )
}
mBinding.rvPointList.let {
it.layoutManager = LinearLayoutManager(it.context)
@@ -39,4 +54,21 @@ class AddGeologicalPointFragment :
}
+ @Deprecated("Deprecated in Java")
+ override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+ super.onActivityResult(requestCode, resultCode, data)
+ if (requestCode == IMAGE_REQUEST_CODE && resultCode == Activity.RESULT_OK) {
+ val uris = Matisse.obtainResult(data) // 获取选中URI列表
+ val paths = Matisse.obtainPathResult(data) // 获取文件路径列表
+
+ geoPointList[3].let {
+ paths?.forEach { path ->
+ val size = it.images!!.size
+ it.images!!.add(size - 1, GeoPointImage(imagePath = path))
+ }
+ }
+ geoPointAdapter.notifyItemChanged(3)
+ }
+ }
+
}
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/geologging/GeologicalActivity.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/geologging/GeologicalActivity.kt
index f3dc1eb..45b2528 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/geologging/GeologicalActivity.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/ui/geologging/GeologicalActivity.kt
@@ -2,10 +2,13 @@ package com.zmkg.coaloperation.ui.geologging
import android.os.Bundle
import android.view.View
+import androidx.recyclerview.widget.LinearLayoutManager
import com.zmkg.coaloperation.R
+import com.zmkg.coaloperation.adapter.GeoLoggingFaceAdapter
import com.zmkg.coaloperation.base.BaseVMBActivity
import com.zmkg.coaloperation.base.viewmodel.TestViewModel
import com.zmkg.coaloperation.databinding.ActivityGeologicalBinding
+import com.zmkg.coaloperation.db.entity.geologging.GeoLoggingFace
/**
* 地质编录
@@ -13,11 +16,36 @@ import com.zmkg.coaloperation.databinding.ActivityGeologicalBinding
class GeologicalActivity :
BaseVMBActivity(R.layout.activity_geological) {
+ val faceList: MutableList = mutableListOf()
+ val faceAdapter by lazy {
+ GeoLoggingFaceAdapter(faceList).apply {
+ setOnItemClickListener { adapter, view, position ->
+ toActivity(GeologicalPointActivity::class.java)
+ }
+ }
+ }
+
override fun initView(savedInstanceState: Bundle?) {
mBinding.toolbarLay.title = "编录位置选择"
mBinding.toolbarLay.rightText = "新增工作面"
mBinding.toolbarLay.titleTvRight.setOnClickListener {
- toActivity(GeologicalPointActivity::class.java)
+ toActivity(AddGeoLoggingFaceActivity::class.java)
+ }
+
+ faceList.run {
+ add(GeoLoggingFace(surfaceName = "5-20304回风工作面"))
+ add(GeoLoggingFace(surfaceName = "5-20305回风工作面"))
+ add(GeoLoggingFace(surfaceName = "5-20306回风工作面"))
+ add(GeoLoggingFace(surfaceName = "5-20307回风工作面"))
+ add(GeoLoggingFace(surfaceName = "5-20308回风工作面"))
+ add(GeoLoggingFace(surfaceName = "5-20309回风工作面"))
+ add(GeoLoggingFace(surfaceName = "5-20310回风工作面"))
+ add(GeoLoggingFace(surfaceName = "5-20311回风工作面"))
+ }
+
+ mBinding.rvGeoLogging.let {
+ it.layoutManager = LinearLayoutManager(this)
+ it.adapter = faceAdapter
}
}
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/Ext.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/Ext.kt
index 4af5820..35cebd1 100644
--- a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/Ext.kt
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/Ext.kt
@@ -7,6 +7,8 @@ import android.graphics.Color
import android.graphics.drawable.GradientDrawable
import android.util.TypedValue
import android.view.View
+import android.widget.ImageView
+import com.bumptech.glide.Glide
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
@@ -126,4 +128,8 @@ fun View.useShapeSetBackground(
this.background = shape
}
+fun ImageView.load(any:Any) {
+ Glide.with(this.context).load(any).into(this)
+}
+
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/GalleryUtils.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/GalleryUtils.kt
new file mode 100644
index 0000000..89d34ac
--- /dev/null
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/GalleryUtils.kt
@@ -0,0 +1,28 @@
+package com.zmkg.coaloperation.utils
+
+import android.app.Activity
+import android.content.pm.ActivityInfo
+import com.zhihu.matisse.Matisse
+import com.zhihu.matisse.MimeType
+import com.zhihu.matisse.R
+import com.zhihu.matisse.engine.impl.GlideEngine
+import com.zhihu.matisse.internal.entity.CaptureStrategy
+
+object GalleryUtils {
+
+ fun openGallery(activity: Activity, requestCode:Int) {
+ Matisse.from(activity)
+ .choose(MimeType.ofImage(),false) // 只选图片
+ .capture(true)
+ .captureStrategy(CaptureStrategy(true, "${activity.packageName}.fileprovider", "coalImage"))
+ .countable(true) // 显示选中数量
+ .maxSelectable(9) // 最多选9张
+ .gridExpectedSize(120.dp)
+ .restrictOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)
+ .thumbnailScale(0.8f)
+ .theme(R.style.Matisse_Dracula)
+ .imageEngine(GlideEngine()) // 必须设置引擎
+ .forResult(requestCode)
+ }
+
+}
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/permission/InvisibleFragment.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/permission/InvisibleFragment.kt
new file mode 100644
index 0000000..f1f8def
--- /dev/null
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/permission/InvisibleFragment.kt
@@ -0,0 +1,80 @@
+package com.zmkg.coaloperation.utils.permission//package com.dheaven.mscapp.SIGFFCNFN.permission
+//
+//import androidx.activity.result.contract.ActivityResultContracts
+//import androidx.fragment.app.Fragment
+//
+//class InvisibleFragment : Fragment() {
+//
+// private var singlePermissionAction: ((Boolean) -> Unit)? = null
+// private var multiplePermissionAction: ((MutableMap) -> Unit)? = null
+//
+// private val singlePermissionLauncher = registerForActivityResult(
+// ActivityResultContracts.RequestPermission()
+// ) {
+// singlePermissionAction?.invoke(it)
+// }
+// private val multiplePermissionLauncher = registerForActivityResult(
+// ActivityResultContracts.RequestMultiplePermissions()
+// ) {
+// multiplePermissionAction?.invoke(it)
+// }
+//
+// private fun requestSinglePermission(permission: String, action: (Boolean) -> Unit) {
+// singlePermissionAction = action
+// singlePermissionLauncher.launch(permission)
+// }
+// private fun requestMultiplePermission(permission: Array, action: (MutableMap) -> Unit) {
+// multiplePermissionAction = action
+// multiplePermissionLauncher.launch(permission)
+// }
+// fun requestNow(
+// callback: (granted: Boolean, deniedList: List) -> Unit,
+// args: Array
+// ) {
+// permissionCallback = callback
+//// requestPermissions(args, 1)
+//
+// if (args.size == 1) {
+// requestSinglePermission(args[0]) {
+// val deniedList = mutableListOf()
+// if (it.not()) {
+// deniedList.add(args[0])
+// }
+// callback(it, deniedList)
+// }
+// return
+// }
+// requestMultiplePermission(args){
+// val deniedList = mutableListOf()
+// it.entries.forEach { entry ->
+// entry.apply {
+// if (value.not()) {
+// deniedList.add(key)
+// }
+// }
+// }
+// val granted = deniedList.isEmpty()
+// callback(granted, deniedList)
+// }
+// }
+//
+//// override fun onRequestPermissionsResult(
+//// requestCode: Int,
+//// permissions: Array,
+//// grantResults: IntArray
+//// ) {
+//// super.onRequestPermissionsResult(requestCode, permissions, grantResults)
+//// if (requestCode == 1) {
+//// val deniedList: MutableList = ArrayList()
+//// for (i in grantResults.indices) {
+//// if (grantResults[i] != PackageManager.PERMISSION_GRANTED) {
+//// deniedList.add(permissions[i])
+//// }
+//// }
+//// val allGranted = deniedList.isEmpty()
+//// permissionCallback?.invoke(allGranted, deniedList)
+//// }
+//// }
+//
+// private var permissionCallback: ((granted: Boolean, deniedList: List) -> Unit)? = null
+//}
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/permission/PermissionUtils.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/permission/PermissionUtils.kt
new file mode 100644
index 0000000..67316ab
--- /dev/null
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/permission/PermissionUtils.kt
@@ -0,0 +1,51 @@
+package com.dheaven.mscapp.SIGFFCNFN.permission
+
+import com.zmkg.coaloperation.base.BaseActivity
+
+object PermissionUtils {
+// private const val TAG = "InvisibleFragment"
+ fun request(
+ activity: BaseActivity,
+ permissions: Array,
+ callback: (granted: Boolean, deniedList: List) -> Unit
+ ) {
+ if (permissions.isEmpty()) {
+ return
+ }
+// val fragmentManager = activity.supportFragmentManager
+// val fragment = fragmentManager.findFragmentByTag(TAG)
+// var invisibleFragment: InvisibleFragment? = null
+// if (invisibleFragment == null) {
+// invisibleFragment = InvisibleFragment()
+// fragmentManager.beginTransaction().add(invisibleFragment, TAG).commitNow()
+// } else {
+// invisibleFragment = fragment as InvisibleFragment
+// }
+// invisibleFragment.requestNow(callback, permissions)
+ //单权限请求
+ if (permissions.size == 1) {
+ val permission = permissions[0]
+ activity.requestSinglePermissionResult(permission) {
+ val deniedList = mutableListOf()
+ if (it.not()) {
+ deniedList.add(permission)
+ }
+ callback(it, deniedList)
+ }
+ return
+ }
+ //多权限请求
+ activity.requestMultiplePermissionsResult(permissions) {
+ val deniedList = mutableListOf()
+ it.entries.forEach { entry ->
+ entry.apply {
+ if (value.not()) {
+ deniedList.add(key)
+ }
+ }
+ }
+ val granted = deniedList.isEmpty()
+ callback(granted, deniedList)
+ }
+ }
+}
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/permission/StorageUtils.kt b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/permission/StorageUtils.kt
new file mode 100644
index 0000000..1734a9a
--- /dev/null
+++ b/coalMiningApp/app/src/main/java/com/zmkg/coaloperation/utils/permission/StorageUtils.kt
@@ -0,0 +1,31 @@
+package com.zmkg.coaloperation.utils.permission
+
+import android.Manifest
+import android.content.Intent
+import android.os.Build
+import android.os.Environment
+import android.provider.Settings
+import com.zmkg.coaloperation.base.BaseActivity
+
+object StorageUtils {
+
+ fun requestPermission(activity: BaseActivity, callback: () -> Unit) {
+ activity.requestSinglePermissionResult(Manifest.permission.CAMERA) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
+ if (Environment.isExternalStorageManager()) {
+ callback()
+ } else {
+ val intent = Intent(Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION)
+// activity.startActivityForResult(intent, MANAGE_REQUEST_CODE)
+ activity.launchActivityResult(intent) {
+ callback()
+ }
+ }
+ } else {
+ activity.requestSinglePermissionResult(Manifest.permission.WRITE_EXTERNAL_STORAGE) {
+ callback()
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/res/drawable-xxhdpi/ic_add_image.png b/coalMiningApp/app/src/main/res/drawable-xxhdpi/ic_add_image.png
index 2bf0f7bf5a36fdc59c7bdd56b418dbeac2a377ef..3cb65b373aa5756415496f54dfcfa8b6cb3bfe8e 100644
GIT binary patch
literal 1283
zcmeAS@N?(olHy`uVBq!ia0vp^6(G#P1|%(0%q{^b#^NA%Cx&(BWL`2bu7>I>+b2I28Y!J<~y9>;pMGlHr&7!&}F(YOLy&|Pwd9m>{Wt|jZKXwUpVuX
z^T?SqysUSvtB!7+5VRnj?d4$^rG)pHe9vdk-2G*PwU(06-6$D(u1_i*ejP0ve^od4
zKdsKa`|Ins^XbpU5Bv28*9-i7dD`pn)2V*dzS%o^7rfurtoqjkG)(k!T39Q($$Ok2O?K*nz5Uu
zEGKD4vA6Rx7LFS-lG7R*Hdf5ME40DVNQaRz`J>Tp)r8`d2qvauk5bD{hb^@<;$gIo
zl$f(9R;Zw)M8b*b*aMNblNuH;J}e+)z_vVNI*W{~Y}tf6YuL26>fcI7wG+S|_;bgI!CV`OQ+jOA*uBPch25;|9Kn_adyn(4D+|i{!>`Nopu2c`l;hWaW6`q@Q`puh
zevz}?;dUTRpkDBbdSz|lHkW?0-?1&p42o$5eU69JBQ1kUVirdnXr6X0(SG*^lLI-S
zn?he!?CsrfOtR+0_h!x+4a(P8_Y2)?uH^q_ZIwKyu=AOata09*tghE-(mwbcXxkv5k0gBQ(YIzn
z#it+6_=WX}$X-`SI9^Z`q5MEb(`udLfxd@NHn<%C`KGx+_VCHX-iG2OFLtnfZ9YQ@${4xx)`sa#+b4
z94sgXFzfSwrZR>xUyXt>tuD?|9>N)>^
z)=EzmpFDO~2X@ws$t||^Z&$YD#XqgtD^<__@KA}Hs^7~FVdQ&MBb@0HV=E
AZvX%Q
literal 1885
zcmV-j2cr0iP)~6Ox)v6UgK&%KB6@4fc3su`%QA81;h!2*oRca@*Gntjzoy=C4QahQo
z(oSY}GD}79K`U5keep?!;s;a|YQYy#w2EK&g^GP}o5}UwZKq_ClWmeFX?A);4#}MR
zKj)tO<~Fm*ane_5!`H+f1{GMgNZA48?dCBE9pt=kX^&~0mzPh^@*Rsw#+ObM|qpm
zIz!}Bn+&F3dhS<>^i4X}0lSXxXDHe2%on6a!`Su<&(k%(HFovbmeqr~-M;qT@`qD(
z^|0NV&C)TavenxDon6ECTYBjOr*7Y5>2KcVH12n5vA%gfP93kunUDLNIv(rPolA|`
zLUp6FkM3&}@TgL|pZ)VUx+1Zin*bpso6S$&iK$S)9k3oDARPg*_#!|lyb4n1VL%oX
zFadG}p`9NQy>KA}2*7a$@_M8RztEt--VaG)8!ROKzN9Op889i3L9AZ}9&-y{R0L4K
z1i+LmG80uN{ho*aX(*HS85(Lt(V3yISSaQmk&0Z<3C^l=i5gB*b2bD#YJm}lr8h3
z$doY)RE_`~2v=}13OJk976(t2Oax{31$j>vC8@cc`b@rhv&=qxd0kFJ0h2*!=8Dyo
zPO*566OabTHSCk&2CNkYObHBkfS{LtSdt`t1lXYfr0+wHiZ4Cc+mif>j^O0W=-(ba
z0VjPW$EPgFj#*6DYxY*mKCdBJnFCmRk5AFw$&P90xsm0GY|T(Gfdcw8DhilTIA&Vb
z?~zsDBM|}eBrEcsvl_sn)9F_F&^{=2;P%t{*fxAZO@`6{S8@$?=X7J@i`Xhc5)-qt
zOd_!6Y{o)o>tZ8gy$|h*Rzp3+Vq#zUR5z>>Rww38-gjndm1C+HA02jMmHopEOsR9k
z?#K2GUG153$K#T=)BsNUz?154-T_YIl^nmbmn&2^U~d`WD*$vAl>h;QBz6r!E?5l~0Mt$OQqprRlGqcFj
zi*s;fDDgz60OM`K>yv<(i0BhkSeclJ7?xa+ICia!$;BxGqY|M{0FDqQmP!D|s6^=V
z1f2Ajo)I2X;;F<$#F&wbiHI=+o-4iQDPpc5(dM6k0PLUDoXX;bHxY489+5VRiHMQn
zbSD!N5#3A@^N4eB%%}z6^95M4EE;p)eUqL~L}XuM{e&G5I)VwI`!jSPRkJCv;?v^e
z6A{_hSVgQJ6tI!viHO)iq}hi8PIJNYtu_HT=6B2!uw2j{h`H~+NT1JF7RgHOsMlN&
zPryLPdRfs9_63C)527Oty~WZWZ|_yVVO!Vg3E0p}Pc!w2T%r0&PN{9rDU
zXU!?KyGM)K>Qi=V>-XCud{mxIBGDI~8ryRj*cLN0w3fFyEr}W>YHb7{7ZXah
z8hU9te{>2wmN^0Qn09mgh@q=WOIPo0>Ak;6G&S}7w{2Zr!~OW?7CO>KKmzc?^?TFe%q+4y*l=q+Sl
zdb3-P*Y>P{y#j^b9{~Z_AE(eN0XQ@|e}Mw9KTe@l{{sL3|Np3S16BY400v1!K~w_(
X%0-CYOY+CJ00000NkvXXu0mjfUFL&g
diff --git a/coalMiningApp/app/src/main/res/layout/activity_add_geo_logging_face.xml b/coalMiningApp/app/src/main/res/layout/activity_add_geo_logging_face.xml
new file mode 100644
index 0000000..d0cda87
--- /dev/null
+++ b/coalMiningApp/app/src/main/res/layout/activity_add_geo_logging_face.xml
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/res/layout/activity_add_geological_point.xml b/coalMiningApp/app/src/main/res/layout/activity_add_geological_point.xml
index ac758c5..9420261 100644
--- a/coalMiningApp/app/src/main/res/layout/activity_add_geological_point.xml
+++ b/coalMiningApp/app/src/main/res/layout/activity_add_geological_point.xml
@@ -37,77 +37,9 @@
app:shapeCornersRadius="36dp"
app:shapeSolidColor="#21A69A" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:layout_height="56dp"/>
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/res/layout/activity_geological.xml b/coalMiningApp/app/src/main/res/layout/activity_geological.xml
index 21c01d9..c1d0465 100644
--- a/coalMiningApp/app/src/main/res/layout/activity_geological.xml
+++ b/coalMiningApp/app/src/main/res/layout/activity_geological.xml
@@ -21,6 +21,7 @@
android:id="@+id/rvGeoLogging"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:overScrollMode="never"
tools:listitem="@layout/item_geological_list" />
diff --git a/coalMiningApp/app/src/main/res/layout/activity_geological_point.xml b/coalMiningApp/app/src/main/res/layout/activity_geological_point.xml
index a7bf641..94ffe02 100644
--- a/coalMiningApp/app/src/main/res/layout/activity_geological_point.xml
+++ b/coalMiningApp/app/src/main/res/layout/activity_geological_point.xml
@@ -38,25 +38,25 @@
android:paddingBottom="20dp">
diff --git a/coalMiningApp/app/src/main/res/layout/item_geological_list.xml b/coalMiningApp/app/src/main/res/layout/item_geological_list.xml
index b581dc7..8b06496 100644
--- a/coalMiningApp/app/src/main/res/layout/item_geological_list.xml
+++ b/coalMiningApp/app/src/main/res/layout/item_geological_list.xml
@@ -7,83 +7,35 @@
-
+
-
+
-
-
-
-
-
-
-
-
-
-
+ android:layout_marginStart="10dp"
+ android:textColor="@color/white"
+ android:textSize="14sp"
+ tools:text="5-20304回风工作面" />
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/res/layout/list_item_point_base_horizontal.xml b/coalMiningApp/app/src/main/res/layout/list_item_point_base_horizontal.xml
index d69d6a5..8f98dfd 100644
--- a/coalMiningApp/app/src/main/res/layout/list_item_point_base_horizontal.xml
+++ b/coalMiningApp/app/src/main/res/layout/list_item_point_base_horizontal.xml
@@ -25,18 +25,22 @@
android:layout_marginStart="20dp"
tools:text="瓦斯含量" />
-
+ android:hint="请输入"
+ android:background="@color/transparent"
+ android:textCursorDrawable="@drawable/cursor_white"
+ android:textColorHint="#757B8C"
+ android:textSize="16sp" />
-
+ android:hint="请输入"
+ android:textColorHint="#757B8C"
+ android:textSize="14sp" />
diff --git a/coalMiningApp/app/src/main/res/layout/list_item_point_calculate_info.xml b/coalMiningApp/app/src/main/res/layout/list_item_point_calculate_info.xml
index fae041f..ec9b75c 100644
--- a/coalMiningApp/app/src/main/res/layout/list_item_point_calculate_info.xml
+++ b/coalMiningApp/app/src/main/res/layout/list_item_point_calculate_info.xml
@@ -62,13 +62,14 @@
-
+
@@ -168,10 +172,16 @@
+
+
\ No newline at end of file
diff --git a/coalMiningApp/app/src/main/res/layout/list_item_point_upload_image.xml b/coalMiningApp/app/src/main/res/layout/list_item_point_upload_image.xml
index 6020dec..c1d1bd0 100644
--- a/coalMiningApp/app/src/main/res/layout/list_item_point_upload_image.xml
+++ b/coalMiningApp/app/src/main/res/layout/list_item_point_upload_image.xml
@@ -24,8 +24,10 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:overScrollMode="never"
+ android:background="@drawable/bg_stroke_gray"
tools:itemCount="4"
app:spanCount="4"
+ android:paddingVertical="5dp"
android:orientation="vertical"
tools:listitem="@layout/list_item_point_image"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"/>
diff --git a/coalMiningApp/app/src/main/res/xml/file_paths.xml b/coalMiningApp/app/src/main/res/xml/file_paths.xml
index ffa74ab..2bf3277 100644
--- a/coalMiningApp/app/src/main/res/xml/file_paths.xml
+++ b/coalMiningApp/app/src/main/res/xml/file_paths.xml
@@ -1,4 +1,10 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/coalMiningApp/settings.gradle b/coalMiningApp/settings.gradle
index 57e81ea..bb9e8eb 100644
--- a/coalMiningApp/settings.gradle
+++ b/coalMiningApp/settings.gradle
@@ -1,5 +1,9 @@
pluginManagement {
repositories {
+ maven { url 'https://maven.aliyun.com/repository/public' }
+ maven { url 'https://maven.aliyun.com/repository/central' }
+ maven { url 'https://maven.aliyun.com/repository/google' }
+ maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
maven { url 'https://jitpack.io' }
google()
mavenCentral()
@@ -12,6 +16,10 @@ dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
repositories {
+ maven { url 'https://maven.aliyun.com/repository/public' }
+ maven { url 'https://maven.aliyun.com/repository/central' }
+ maven { url 'https://maven.aliyun.com/repository/google' }
+ maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
maven { url 'https://jitpack.io' }
google()
mavenCentral()
@@ -19,7 +27,7 @@ dependencyResolutionManagement {
}
}
rootProject.name = "digitalCoalMiningPlatform"
-include ':app'
+include ':app',':matisse'
//// 引入内部组件通信模块 (必要模块)
//include ':tuicore'