diff --git a/app/src/main/java/com/casic/detector/callback/OnItemSelectedListener.kt b/app/src/main/java/com/casic/detector/callback/OnItemSelectedListener.kt deleted file mode 100644 index 536d95e..0000000 --- a/app/src/main/java/com/casic/detector/callback/OnItemSelectedListener.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.detector.callback - -interface OnItemSelectedListener { - fun defaultSelection(default: String) - - fun onItemSelected(value: String) -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/detector/callback/OnItemSelectedListener.kt b/app/src/main/java/com/casic/detector/callback/OnItemSelectedListener.kt deleted file mode 100644 index 536d95e..0000000 --- a/app/src/main/java/com/casic/detector/callback/OnItemSelectedListener.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.detector.callback - -interface OnItemSelectedListener { - fun defaultSelection(default: String) - - fun onItemSelected(value: String) -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/detector/extensions/Spinner.kt b/app/src/main/java/com/casic/detector/extensions/Spinner.kt index 2e24e90..fe6a468 100644 --- a/app/src/main/java/com/casic/detector/extensions/Spinner.kt +++ b/app/src/main/java/com/casic/detector/extensions/Spinner.kt @@ -1,27 +1,10 @@ package com.casic.detector.extensions import android.app.Activity -import android.view.View -import android.widget.AdapterView import android.widget.ArrayAdapter import android.widget.Spinner -import com.casic.detector.callback.OnItemSelectedListener -fun Spinner.show( - activity: Activity, items: Array, default: Int, listener: OnItemSelectedListener -) { +fun Spinner.show(activity: Activity, items: Array, default: Int) { this.adapter = ArrayAdapter(activity, android.R.layout.simple_spinner_dropdown_item, items) this.setSelection(default) - listener.defaultSelection(items[default]) - this.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { - override fun onItemSelected( - adapterView: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - listener.onItemSelected(items[position]) - } - - override fun onNothingSelected(p0: AdapterView<*>?) { - - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/detector/callback/OnItemSelectedListener.kt b/app/src/main/java/com/casic/detector/callback/OnItemSelectedListener.kt deleted file mode 100644 index 536d95e..0000000 --- a/app/src/main/java/com/casic/detector/callback/OnItemSelectedListener.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.detector.callback - -interface OnItemSelectedListener { - fun defaultSelection(default: String) - - fun onItemSelected(value: String) -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/detector/extensions/Spinner.kt b/app/src/main/java/com/casic/detector/extensions/Spinner.kt index 2e24e90..fe6a468 100644 --- a/app/src/main/java/com/casic/detector/extensions/Spinner.kt +++ b/app/src/main/java/com/casic/detector/extensions/Spinner.kt @@ -1,27 +1,10 @@ package com.casic.detector.extensions import android.app.Activity -import android.view.View -import android.widget.AdapterView import android.widget.ArrayAdapter import android.widget.Spinner -import com.casic.detector.callback.OnItemSelectedListener -fun Spinner.show( - activity: Activity, items: Array, default: Int, listener: OnItemSelectedListener -) { +fun Spinner.show(activity: Activity, items: Array, default: Int) { this.adapter = ArrayAdapter(activity, android.R.layout.simple_spinner_dropdown_item, items) this.setSelection(default) - listener.defaultSelection(items[default]) - this.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { - override fun onItemSelected( - adapterView: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - listener.onItemSelected(items[position]) - } - - override fun onNothingSelected(p0: AdapterView<*>?) { - - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/detector/view/InstallLabelActivity.kt b/app/src/main/java/com/casic/detector/view/InstallLabelActivity.kt index 2df20e2..a34bab9 100644 --- a/app/src/main/java/com/casic/detector/view/InstallLabelActivity.kt +++ b/app/src/main/java/com/casic/detector/view/InstallLabelActivity.kt @@ -22,7 +22,6 @@ import com.casic.detector.bean.LabelBean import com.casic.detector.callback.ILocationListener import com.casic.detector.callback.OnImageCompressListener -import com.casic.detector.callback.OnItemSelectedListener import com.casic.detector.extensions.* import com.casic.detector.utils.* import com.casic.detector.vm.TaskViewModel @@ -53,13 +52,6 @@ private val calendar by lazy { Calendar.getInstance() } private lateinit var imageAdapter: EditableImageAdapter private val realPaths: ArrayList = ArrayList() //真实图片路径 - private var objectTypeSelectedItem = "" - private var materialSelectedItem = "" - private var downPipeSelectedItem = "" - private var downPipeMaterialSelectedItem = "" - private var buryMethodSelectedItem = "" - private var identifierTypeSelectedItem = "" - private var colorSelectedItem = "" private lateinit var taskViewModel: TaskViewModel private lateinit var soundPool: SoundPool private var soundResId = 0 @@ -101,61 +93,11 @@ leftBackView.setOnClickListener { finish() } /**************************************************************************************/ - //TODO Spinner需要优化 - objectTypeSpinner.show(this, LocaleConstant.POINT_TYPE_ARRAY, 0, - object : OnItemSelectedListener { - override fun defaultSelection(default: String) { - objectTypeSelectedItem = default - } - - override fun onItemSelected(value: String) { - objectTypeSelectedItem = value - } - }) - - materialSpinner.show(this, LocaleConstant.PIPE_MATERIAL_ARRAY, 0, - object : OnItemSelectedListener { - override fun defaultSelection(default: String) { - materialSelectedItem = default - } - - override fun onItemSelected(value: String) { - materialSelectedItem = value - } - }) - - downPipeTypeSpinner.show(this, LocaleConstant.DOWN_PIPE_TYPE_ARRAY, 0, - object : OnItemSelectedListener { - override fun defaultSelection(default: String) { - downPipeSelectedItem = default - } - - override fun onItemSelected(value: String) { - downPipeSelectedItem = value - } - }) - - downPipeMaterialSpinner.show(this, LocaleConstant.PIPE_MATERIAL_ARRAY, 0, - object : OnItemSelectedListener { - override fun defaultSelection(default: String) { - downPipeMaterialSelectedItem = default - } - - override fun onItemSelected(value: String) { - downPipeMaterialSelectedItem = value - } - }) - - buryMethodSpinner.show(this, LocaleConstant.BURY_METHOD_ARRAY, 0, - object : OnItemSelectedListener { - override fun defaultSelection(default: String) { - buryMethodSelectedItem = default - } - - override fun onItemSelected(value: String) { - buryMethodSelectedItem = value - } - }) + objectTypeSpinner.show(this, LocaleConstant.POINT_TYPE_ARRAY, 0) + materialSpinner.show(this, LocaleConstant.PIPE_MATERIAL_ARRAY, 0) + downPipeTypeSpinner.show(this, LocaleConstant.DOWN_PIPE_TYPE_ARRAY, 0) + downPipeMaterialSpinner.show(this, LocaleConstant.PIPE_MATERIAL_ARRAY, 0) + buryMethodSpinner.show(this, LocaleConstant.BURY_METHOD_ARRAY, 0) constructDateView.setOnClickListener { val datePicker = DatePickerDialog( @@ -187,16 +129,7 @@ } } - identifierTypeSpinner.show(this, LocaleConstant.IDENTIFIER_TYPE_ARRAY, 0, - object : OnItemSelectedListener { - override fun defaultSelection(default: String) { - identifierTypeSelectedItem = default - } - - override fun onItemSelected(value: String) { - identifierTypeSelectedItem = value - } - }) + identifierTypeSpinner.show(this, LocaleConstant.IDENTIFIER_TYPE_ARRAY, 0) installTimeView.text = System.currentTimeMillis().timestampToCompleteDate() LocationHub.getCurrentLocation(this, object : ILocationListener { @@ -210,15 +143,7 @@ } }) - colorSpinner.show(this, LocaleConstant.COLOR_ARRAY, 0, object : OnItemSelectedListener { - override fun defaultSelection(default: String) { - colorSelectedItem = default - } - - override fun onItemSelected(value: String) { - colorSelectedItem = value - } - }) + colorSpinner.show(this, LocaleConstant.COLOR_ARRAY, 0) imageAdapter.setOnItemClickListener(object : EditableImageAdapter.OnItemClickListener { override fun onAddImageClick() { @@ -243,7 +168,7 @@ val companyId = SaveKeyValues.getValue(LocaleConstant.USER_COMPANY_ID, "") as String val objectId = SaveKeyValues.getValue(LocaleConstant.OBJECT_ID, "") as String if (markerObjectTypeView.text.isNullOrBlank()) { - when (objectTypeSelectedItem) { + when (objectTypeSpinner.selectedItem.toString()) { "管线" -> { "请输入管线种类!".show(this) } @@ -315,18 +240,21 @@ return@setOnClickListener } + //先存本地再上传服务器 + saveLabelInLocal() + taskViewModel.installLabel( companyId, - objectTypeSelectedItem.toObjectType(), + objectTypeSpinner.selectedItem.toString().toObjectType(), markerObjectTypeView.text.toString(), - materialSelectedItem, + materialSpinner.selectedItem.toString(), "${pipelineDiameterView.text}mm", "${buryDeepView.text}mm", - downPipeSelectedItem, - downPipeMaterialSelectedItem, + downPipeTypeSpinner.selectedItem.toString(), + downPipeMaterialSpinner.selectedItem.toString(), "${downPipeDiameterView.text}mm", "${downPointDeepView.text}mm", - buryMethodSelectedItem, + buryMethodSpinner.selectedItem.toString(), areaView.text.toString(), lineView.text.toString(), roadView.text.toString(), @@ -334,13 +262,13 @@ ownerView.text.toString(), objectId, identifierIdView.text.toString(), - identifierTypeSelectedItem, + identifierTypeSpinner.selectedItem.toString(), "${identifierDeepView.text}mm", personDeptView.text.toString(), installTimeView.text.toString(), lngView.text.toString(), latView.text.toString(), - colorSelectedItem.toColor(), + colorSpinner.selectedItem.toString().toColor(), remarkView.text.toString(), realPaths ) @@ -393,6 +321,40 @@ } } + private fun saveLabelInLocal() { + val objectId = SaveKeyValues.getValue(LocaleConstant.OBJECT_ID, "") as String + + val labelBean = LabelBean() + labelBean.objectType = objectTypeSpinner.selectedItem.toString() + labelBean.pipelineType = markerObjectTypeView.text.toString() + labelBean.pipelineMaterial = materialSpinner.selectedItem.toString() + labelBean.pipelineDiameter = "${pipelineDiameterView.text}mm" + labelBean.buryDeep = "${buryDeepView.text}mm" + labelBean.lowerType = downPipeTypeSpinner.selectedItem.toString() + labelBean.lowerMaterial = downPipeMaterialSpinner.selectedItem.toString() + labelBean.lowerDiameter = "${downPipeDiameterView.text}mm" + labelBean.lowerDeep = "${downPointDeepView.text}mm" + labelBean.buryMethod = buryMethodSpinner.selectedItem.toString() + labelBean.area = areaView.text.toString() + labelBean.line = lineView.text.toString() + labelBean.road = roadView.text.toString() + labelBean.constructTime = constructDateView.text.toString() + labelBean.owner = ownerView.text.toString() + labelBean.objectId = objectId + labelBean.identifierId = identifierIdView.text.toString() + labelBean.identifierType = identifierTypeSpinner.selectedItem.toString() + labelBean.identifierDeep = "${identifierDeepView.text}mm" + labelBean.person = personDeptView.text.toString() + labelBean.installTime = installTimeView.text.toString() + labelBean.lng = lngView.text.toString() + labelBean.lat = latView.text.toString() + labelBean.color = colorSpinner.selectedItem.toString().toColor() + labelBean.remark = remarkView.text.toString() + labelBean.imagePath = realPaths.toJson() + + DataBaseManager.get.insertTaskLabel(labelBean) + } + override fun onDataReceived(buffer: ByteArray?, size: Int) { Log.d(kTag, "onDataReceived => " + buffer.contentToString()) if (buffer != null) { @@ -466,7 +428,6 @@ when (it) { LoadState.Loading -> LoadingDialogHub.show(this, "标识器安装中,请稍后...") LoadState.Success -> { - saveLabelInLocal() LoadingDialogHub.dismiss() finish() } @@ -475,41 +436,6 @@ } } - //安装成功后将标识器保存在本地 - private fun saveLabelInLocal() { - val objectId = SaveKeyValues.getValue(LocaleConstant.OBJECT_ID, "") as String - - val labelBean = LabelBean() - labelBean.objectType = objectTypeSelectedItem - labelBean.pipelineType = markerObjectTypeView.text.toString() - labelBean.pipelineMaterial = materialSelectedItem - labelBean.pipelineDiameter = "${pipelineDiameterView.text}mm" - labelBean.buryDeep = "${buryDeepView.text}mm" - labelBean.lowerType = downPipeSelectedItem - labelBean.lowerMaterial = downPipeMaterialSelectedItem - labelBean.lowerDiameter = "${downPipeDiameterView.text}mm" - labelBean.lowerDeep = "${downPointDeepView.text}mm" - labelBean.buryMethod = buryMethodSelectedItem - labelBean.area = areaView.text.toString() - labelBean.line = lineView.text.toString() - labelBean.road = roadView.text.toString() - labelBean.constructTime = constructDateView.text.toString() - labelBean.owner = ownerView.text.toString() - labelBean.objectId = objectId - labelBean.identifierId = identifierIdView.text.toString() - labelBean.identifierType = identifierTypeSelectedItem - labelBean.identifierDeep = "${identifierDeepView.text}mm" - labelBean.person = personDeptView.text.toString() - labelBean.installTime = installTimeView.text.toString() - labelBean.lng = lngView.text.toString() - labelBean.lat = latView.text.toString() - labelBean.color = colorSelectedItem.toColor() - labelBean.remark = remarkView.text.toString() - labelBean.imagePath = realPaths.toJson() - - DataBaseManager.get.insertTaskLabel(labelBean) - } - override fun setupTopBarLayout() { titleView.text = "安装新标识器" titleView.setTextColor(R.color.themeColor.convertColor(this))