diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar index f4b81e1..95567db 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 f4b81e1..95567db 100644 --- a/app/libs/lite-release.aar +++ b/app/libs/lite-release.aar Binary files differ diff --git a/app/src/main/java/com/casic/smarttube/utils/ChartViewHelper.kt b/app/src/main/java/com/casic/smarttube/utils/ChartViewHelper.kt index 2b45002..4731f17 100644 --- a/app/src/main/java/com/casic/smarttube/utils/ChartViewHelper.kt +++ b/app/src/main/java/com/casic/smarttube/utils/ChartViewHelper.kt @@ -27,7 +27,6 @@ //每次加载数据都初始化折线图 chart.init() if (entryModel.entries.isEmpty()) { - chart.clearValues() return } //绑定数据 @@ -47,7 +46,7 @@ val lineData = LineData(lineDataSets) lineData.setDrawValues(false) //添加自定义Marker - val markerView = LineChartMarkerView(BaseApplication.obtainInstance()) + val markerView = LineChartMarkerView(chart.context) markerView.chartView = chart markerView.setXAxisDate(xAxisDate) chart.marker = markerView diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar index f4b81e1..95567db 100644 --- a/app/libs/lite-release.aar +++ b/app/libs/lite-release.aar Binary files differ diff --git a/app/src/main/java/com/casic/smarttube/utils/ChartViewHelper.kt b/app/src/main/java/com/casic/smarttube/utils/ChartViewHelper.kt index 2b45002..4731f17 100644 --- a/app/src/main/java/com/casic/smarttube/utils/ChartViewHelper.kt +++ b/app/src/main/java/com/casic/smarttube/utils/ChartViewHelper.kt @@ -27,7 +27,6 @@ //每次加载数据都初始化折线图 chart.init() if (entryModel.entries.isEmpty()) { - chart.clearValues() return } //绑定数据 @@ -47,7 +46,7 @@ val lineData = LineData(lineDataSets) lineData.setDrawValues(false) //添加自定义Marker - val markerView = LineChartMarkerView(BaseApplication.obtainInstance()) + val markerView = LineChartMarkerView(chart.context) markerView.chartView = chart markerView.setXAxisDate(xAxisDate) chart.marker = markerView diff --git a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt index f10db67..593993c 100644 --- a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt @@ -6,14 +6,13 @@ import android.os.Handler import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider -import androidx.recyclerview.widget.GridLayoutManager import cn.bertsir.zbar.QrManager import com.amap.api.location.AMapLocation import com.casic.smarttube.R import com.casic.smarttube.extensions.combineImagePath +import com.casic.smarttube.utils.DialogHelper import com.casic.smarttube.utils.GlideLoadEngine import com.casic.smarttube.utils.LocationHelper import com.casic.smarttube.utils.QrConfigCreator @@ -28,11 +27,10 @@ import com.pengxh.kt.lite.extensions.* import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.BottomActionSheet -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog import kotlinx.android.synthetic.main.activity_add_device.* import kotlinx.android.synthetic.main.include_base_title.* -import java.io.File class AddDeviceActivity : KotlinBaseActivity() { @@ -120,11 +118,11 @@ } locationImageView.setOnClickListener { - showLoadingDialog(this, "定位中中,请稍后...") + DialogHelper.showLoadingDialog(this, "定位中中,请稍后...") LocationHelper.obtainCurrentLocation(this, object : LocationHelper.ILocationListener { override fun onAMapLocationGet(aMapLocation: AMapLocation?) { - dismissLoadingDialog() + DialogHelper.dismissLoadingDialog() if (aMapLocation == null) { longitudeView.text = "定位失败" latitudeView.text = "定位失败" @@ -142,8 +140,7 @@ }) } - imageAdapter = EditableImageAdapter(this, 3) - addImageRecyclerView.layoutManager = GridLayoutManager(this, 3) + imageAdapter = EditableImageAdapter(this, 3, 13f) addImageRecyclerView.adapter = imageAdapter addDeviceTimeView.text = System.currentTimeMillis().timestampToCompleteDate() @@ -185,7 +182,14 @@ } }) uploadImageViewModel.loadState.observe(this, { - dismissLoadingDialog() + when (it) { + LoadState.Loading -> { + DialogHelper.showLoadingDialog(this, "图片上传中,请稍后...") + } + else -> { + DialogHelper.dismissLoadingDialog() + } + } }) sceneEditView.addTextChangedListener(object : TextWatcher { @@ -246,7 +250,6 @@ .setImageEngine(GlideLoadEngine.instance) .forResult(object : OnResultCallbackListener { override fun onResult(result: ArrayList?) { - showLoadingDialog(context, "图片上传中,请稍后...") if (result == null) { "选择照片失败,请重试".show(context) return @@ -308,20 +311,4 @@ // } // }) } - - private lateinit var loadingDialog: QMUITipDialog - - fun showLoadingDialog(context: Context?, message: String?) { - loadingDialog = QMUITipDialog.Builder(context) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord(message) - .create() - loadingDialog.show() - } - - fun dismissLoadingDialog() { - if (loadingDialog.isShowing) { - loadingDialog.dismiss() - } - } } \ No newline at end of file diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar index f4b81e1..95567db 100644 --- a/app/libs/lite-release.aar +++ b/app/libs/lite-release.aar Binary files differ diff --git a/app/src/main/java/com/casic/smarttube/utils/ChartViewHelper.kt b/app/src/main/java/com/casic/smarttube/utils/ChartViewHelper.kt index 2b45002..4731f17 100644 --- a/app/src/main/java/com/casic/smarttube/utils/ChartViewHelper.kt +++ b/app/src/main/java/com/casic/smarttube/utils/ChartViewHelper.kt @@ -27,7 +27,6 @@ //每次加载数据都初始化折线图 chart.init() if (entryModel.entries.isEmpty()) { - chart.clearValues() return } //绑定数据 @@ -47,7 +46,7 @@ val lineData = LineData(lineDataSets) lineData.setDrawValues(false) //添加自定义Marker - val markerView = LineChartMarkerView(BaseApplication.obtainInstance()) + val markerView = LineChartMarkerView(chart.context) markerView.chartView = chart markerView.setXAxisDate(xAxisDate) chart.marker = markerView diff --git a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt index f10db67..593993c 100644 --- a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt @@ -6,14 +6,13 @@ import android.os.Handler import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider -import androidx.recyclerview.widget.GridLayoutManager import cn.bertsir.zbar.QrManager import com.amap.api.location.AMapLocation import com.casic.smarttube.R import com.casic.smarttube.extensions.combineImagePath +import com.casic.smarttube.utils.DialogHelper import com.casic.smarttube.utils.GlideLoadEngine import com.casic.smarttube.utils.LocationHelper import com.casic.smarttube.utils.QrConfigCreator @@ -28,11 +27,10 @@ import com.pengxh.kt.lite.extensions.* import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.BottomActionSheet -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog import kotlinx.android.synthetic.main.activity_add_device.* import kotlinx.android.synthetic.main.include_base_title.* -import java.io.File class AddDeviceActivity : KotlinBaseActivity() { @@ -120,11 +118,11 @@ } locationImageView.setOnClickListener { - showLoadingDialog(this, "定位中中,请稍后...") + DialogHelper.showLoadingDialog(this, "定位中中,请稍后...") LocationHelper.obtainCurrentLocation(this, object : LocationHelper.ILocationListener { override fun onAMapLocationGet(aMapLocation: AMapLocation?) { - dismissLoadingDialog() + DialogHelper.dismissLoadingDialog() if (aMapLocation == null) { longitudeView.text = "定位失败" latitudeView.text = "定位失败" @@ -142,8 +140,7 @@ }) } - imageAdapter = EditableImageAdapter(this, 3) - addImageRecyclerView.layoutManager = GridLayoutManager(this, 3) + imageAdapter = EditableImageAdapter(this, 3, 13f) addImageRecyclerView.adapter = imageAdapter addDeviceTimeView.text = System.currentTimeMillis().timestampToCompleteDate() @@ -185,7 +182,14 @@ } }) uploadImageViewModel.loadState.observe(this, { - dismissLoadingDialog() + when (it) { + LoadState.Loading -> { + DialogHelper.showLoadingDialog(this, "图片上传中,请稍后...") + } + else -> { + DialogHelper.dismissLoadingDialog() + } + } }) sceneEditView.addTextChangedListener(object : TextWatcher { @@ -246,7 +250,6 @@ .setImageEngine(GlideLoadEngine.instance) .forResult(object : OnResultCallbackListener { override fun onResult(result: ArrayList?) { - showLoadingDialog(context, "图片上传中,请稍后...") if (result == null) { "选择照片失败,请重试".show(context) return @@ -308,20 +311,4 @@ // } // }) } - - private lateinit var loadingDialog: QMUITipDialog - - fun showLoadingDialog(context: Context?, message: String?) { - loadingDialog = QMUITipDialog.Builder(context) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord(message) - .create() - loadingDialog.show() - } - - fun dismissLoadingDialog() { - if (loadingDialog.isShowing) { - loadingDialog.dismiss() - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/smarttube/view/WellDetailActivity.kt b/app/src/main/java/com/casic/smarttube/view/WellDetailActivity.kt index 4349c96..c50b55d 100644 --- a/app/src/main/java/com/casic/smarttube/view/WellDetailActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/WellDetailActivity.kt @@ -23,14 +23,11 @@ import kotlinx.android.synthetic.main.include_base_title.* -class WellDetailActivity : KotlinBaseActivity(), AMap.OnMapLoadedListener, - AMap.OnMarkerClickListener { +class WellDetailActivity : KotlinBaseActivity(), AMap.OnMarkerClickListener { private lateinit var wellViewModel: WellViewModel private lateinit var authenticateViewModel: AuthenticateViewModel private lateinit var aMap: AMap - private var latLng: LatLng? = null - override fun initLayoutView(): Int = R.layout.activity_well_detail @@ -56,41 +53,10 @@ uiSettings.isTiltGesturesEnabled = false//不许地图随手势倾斜角度 uiSettings.isRotateGesturesEnabled = false//不允许地图旋转 - //地图加载成功之后调用 - aMap.addOnMapLoadedListener(this) // marker 点击事件监听 aMap.addOnMarkerClickListener(this) } - override fun onMapLoaded() { - if (latLng == null) { - "该闸井经纬度异常,无法在地图显示".show(this) - return - } - /** - * 参数1---要移动到的经纬度 - * 参数2---地图的放缩级别zoom - * 参数3---地图倾斜度 - * 参数4---地图的旋转角度 - * */ - val cameraPosition = CameraPosition(latLng, 13f, 0f, 0f) - val newCameraPosition = CameraUpdateFactory.newCameraPosition(cameraPosition) - aMap.animateCamera(newCameraPosition, 1500, object : AMap.CancelableCallback { - override fun onFinish() { - //添加Marker - val markerOptions = MarkerOptions() - .position(latLng) - .icon(BitmapDescriptorFactory.fromResource(R.mipmap.well_location)) - .draggable(true) - aMap.addMarker(markerOptions) - } - - override fun onCancel() { - - } - }) - } - override fun onMarkerClick(marker: Marker?): Boolean { if (marker != null) { AlertControlDialog.Builder() @@ -138,7 +104,24 @@ wellLocationView.text = wellDetail.position return@observe } - this.latLng = LatLng(wellDetail.latGaode.toDouble(), wellDetail.lngGaode.toDouble()) + val latLng = LatLng(wellDetail.latGaode.toDouble(), wellDetail.lngGaode.toDouble()) + val cameraPosition = CameraPosition(latLng, 13f, 0f, 0f) + val newCameraPosition = CameraUpdateFactory.newCameraPosition(cameraPosition) + aMap.animateCamera(newCameraPosition, 1500, object : AMap.CancelableCallback { + override fun onFinish() { + //添加Marker + val markerOptions = MarkerOptions() + .position(latLng) + .icon(BitmapDescriptorFactory.fromResource(R.mipmap.well_location)) + .draggable(true) + aMap.addMarker(markerOptions) + } + + override fun onCancel() { + + } + }) + authenticateViewModel.obtainAreaByDept(wellDetail.deptid) authenticateViewModel.areaModel.observe(this, { areaModel -> if (areaModel.code == 200) { @@ -154,8 +137,9 @@ if (street.code == 200) { street.data.forEach { streetData -> if (streetData.id == wellDetail.area) { - wellLocationView.text = - String.format("${area.name}${streetData.name}-${wellDetail.position}") + wellLocationView.text = String.format( + "${area.name}${streetData.name}-${wellDetail.position}" + ) } } } diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar index f4b81e1..95567db 100644 --- a/app/libs/lite-release.aar +++ b/app/libs/lite-release.aar Binary files differ diff --git a/app/src/main/java/com/casic/smarttube/utils/ChartViewHelper.kt b/app/src/main/java/com/casic/smarttube/utils/ChartViewHelper.kt index 2b45002..4731f17 100644 --- a/app/src/main/java/com/casic/smarttube/utils/ChartViewHelper.kt +++ b/app/src/main/java/com/casic/smarttube/utils/ChartViewHelper.kt @@ -27,7 +27,6 @@ //每次加载数据都初始化折线图 chart.init() if (entryModel.entries.isEmpty()) { - chart.clearValues() return } //绑定数据 @@ -47,7 +46,7 @@ val lineData = LineData(lineDataSets) lineData.setDrawValues(false) //添加自定义Marker - val markerView = LineChartMarkerView(BaseApplication.obtainInstance()) + val markerView = LineChartMarkerView(chart.context) markerView.chartView = chart markerView.setXAxisDate(xAxisDate) chart.marker = markerView diff --git a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt index f10db67..593993c 100644 --- a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt @@ -6,14 +6,13 @@ import android.os.Handler import android.text.Editable import android.text.TextWatcher -import android.util.Log import android.view.View import androidx.lifecycle.ViewModelProvider -import androidx.recyclerview.widget.GridLayoutManager import cn.bertsir.zbar.QrManager import com.amap.api.location.AMapLocation import com.casic.smarttube.R import com.casic.smarttube.extensions.combineImagePath +import com.casic.smarttube.utils.DialogHelper import com.casic.smarttube.utils.GlideLoadEngine import com.casic.smarttube.utils.LocationHelper import com.casic.smarttube.utils.QrConfigCreator @@ -28,11 +27,10 @@ import com.pengxh.kt.lite.extensions.* import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.BottomActionSheet -import com.qmuiteam.qmui.widget.dialog.QMUITipDialog import kotlinx.android.synthetic.main.activity_add_device.* import kotlinx.android.synthetic.main.include_base_title.* -import java.io.File class AddDeviceActivity : KotlinBaseActivity() { @@ -120,11 +118,11 @@ } locationImageView.setOnClickListener { - showLoadingDialog(this, "定位中中,请稍后...") + DialogHelper.showLoadingDialog(this, "定位中中,请稍后...") LocationHelper.obtainCurrentLocation(this, object : LocationHelper.ILocationListener { override fun onAMapLocationGet(aMapLocation: AMapLocation?) { - dismissLoadingDialog() + DialogHelper.dismissLoadingDialog() if (aMapLocation == null) { longitudeView.text = "定位失败" latitudeView.text = "定位失败" @@ -142,8 +140,7 @@ }) } - imageAdapter = EditableImageAdapter(this, 3) - addImageRecyclerView.layoutManager = GridLayoutManager(this, 3) + imageAdapter = EditableImageAdapter(this, 3, 13f) addImageRecyclerView.adapter = imageAdapter addDeviceTimeView.text = System.currentTimeMillis().timestampToCompleteDate() @@ -185,7 +182,14 @@ } }) uploadImageViewModel.loadState.observe(this, { - dismissLoadingDialog() + when (it) { + LoadState.Loading -> { + DialogHelper.showLoadingDialog(this, "图片上传中,请稍后...") + } + else -> { + DialogHelper.dismissLoadingDialog() + } + } }) sceneEditView.addTextChangedListener(object : TextWatcher { @@ -246,7 +250,6 @@ .setImageEngine(GlideLoadEngine.instance) .forResult(object : OnResultCallbackListener { override fun onResult(result: ArrayList?) { - showLoadingDialog(context, "图片上传中,请稍后...") if (result == null) { "选择照片失败,请重试".show(context) return @@ -308,20 +311,4 @@ // } // }) } - - private lateinit var loadingDialog: QMUITipDialog - - fun showLoadingDialog(context: Context?, message: String?) { - loadingDialog = QMUITipDialog.Builder(context) - .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) - .setTipWord(message) - .create() - loadingDialog.show() - } - - fun dismissLoadingDialog() { - if (loadingDialog.isShowing) { - loadingDialog.dismiss() - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/smarttube/view/WellDetailActivity.kt b/app/src/main/java/com/casic/smarttube/view/WellDetailActivity.kt index 4349c96..c50b55d 100644 --- a/app/src/main/java/com/casic/smarttube/view/WellDetailActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/WellDetailActivity.kt @@ -23,14 +23,11 @@ import kotlinx.android.synthetic.main.include_base_title.* -class WellDetailActivity : KotlinBaseActivity(), AMap.OnMapLoadedListener, - AMap.OnMarkerClickListener { +class WellDetailActivity : KotlinBaseActivity(), AMap.OnMarkerClickListener { private lateinit var wellViewModel: WellViewModel private lateinit var authenticateViewModel: AuthenticateViewModel private lateinit var aMap: AMap - private var latLng: LatLng? = null - override fun initLayoutView(): Int = R.layout.activity_well_detail @@ -56,41 +53,10 @@ uiSettings.isTiltGesturesEnabled = false//不许地图随手势倾斜角度 uiSettings.isRotateGesturesEnabled = false//不允许地图旋转 - //地图加载成功之后调用 - aMap.addOnMapLoadedListener(this) // marker 点击事件监听 aMap.addOnMarkerClickListener(this) } - override fun onMapLoaded() { - if (latLng == null) { - "该闸井经纬度异常,无法在地图显示".show(this) - return - } - /** - * 参数1---要移动到的经纬度 - * 参数2---地图的放缩级别zoom - * 参数3---地图倾斜度 - * 参数4---地图的旋转角度 - * */ - val cameraPosition = CameraPosition(latLng, 13f, 0f, 0f) - val newCameraPosition = CameraUpdateFactory.newCameraPosition(cameraPosition) - aMap.animateCamera(newCameraPosition, 1500, object : AMap.CancelableCallback { - override fun onFinish() { - //添加Marker - val markerOptions = MarkerOptions() - .position(latLng) - .icon(BitmapDescriptorFactory.fromResource(R.mipmap.well_location)) - .draggable(true) - aMap.addMarker(markerOptions) - } - - override fun onCancel() { - - } - }) - } - override fun onMarkerClick(marker: Marker?): Boolean { if (marker != null) { AlertControlDialog.Builder() @@ -138,7 +104,24 @@ wellLocationView.text = wellDetail.position return@observe } - this.latLng = LatLng(wellDetail.latGaode.toDouble(), wellDetail.lngGaode.toDouble()) + val latLng = LatLng(wellDetail.latGaode.toDouble(), wellDetail.lngGaode.toDouble()) + val cameraPosition = CameraPosition(latLng, 13f, 0f, 0f) + val newCameraPosition = CameraUpdateFactory.newCameraPosition(cameraPosition) + aMap.animateCamera(newCameraPosition, 1500, object : AMap.CancelableCallback { + override fun onFinish() { + //添加Marker + val markerOptions = MarkerOptions() + .position(latLng) + .icon(BitmapDescriptorFactory.fromResource(R.mipmap.well_location)) + .draggable(true) + aMap.addMarker(markerOptions) + } + + override fun onCancel() { + + } + }) + authenticateViewModel.obtainAreaByDept(wellDetail.deptid) authenticateViewModel.areaModel.observe(this, { areaModel -> if (areaModel.code == 200) { @@ -154,8 +137,9 @@ if (street.code == 200) { street.data.forEach { streetData -> if (streetData.id == wellDetail.area) { - wellLocationView.text = - String.format("${area.name}${streetData.name}-${wellDetail.position}") + wellLocationView.text = String.format( + "${area.name}${streetData.name}-${wellDetail.position}" + ) } } } diff --git a/app/src/main/res/layout/activity_add_device.xml b/app/src/main/res/layout/activity_add_device.xml index 85a87c8..dab9b5f 100644 --- a/app/src/main/res/layout/activity_add_device.xml +++ b/app/src/main/res/layout/activity_add_device.xml @@ -1,5 +1,6 @@ + android:scrollbars="none" + app:layoutManager="androidx.recyclerview.widget.GridLayoutManager" + app:spanCount="3" />