1.优化部分页面2.修复Task无link数据地图及控制业务无效问题
This commit is contained in:
parent
e0b6d687f6
commit
4e98a5745c
@ -13,12 +13,12 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
open class BaseActivity : AppCompatActivity() {
|
||||
private var loadingDialog: AlertDialog? = null
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE;
|
||||
super.onCreate(savedInstanceState)
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE;
|
||||
}
|
||||
|
||||
|
||||
|
@ -200,12 +200,19 @@ class MainActivity : BaseActivity() {
|
||||
}
|
||||
//监听地图中点变化
|
||||
viewModel.liveDataCenterPoint.observe(this) {
|
||||
binding.mainActivityGeometry.text = "经纬度:${
|
||||
BigDecimal(it.longitude).setScale(
|
||||
7,
|
||||
RoundingMode.HALF_UP
|
||||
)
|
||||
},${BigDecimal(it.latitude).setScale(7, RoundingMode.HALF_UP)}"
|
||||
Log.e("qj","${it.longitude}")
|
||||
try{
|
||||
if(it!=null&&it.longitude!=null&&it.latitude!=null){
|
||||
binding.mainActivityGeometry.text = "经纬度:${
|
||||
BigDecimal(it.longitude).setScale(
|
||||
7,
|
||||
RoundingMode.HALF_UP
|
||||
)
|
||||
},${BigDecimal(it.latitude).setScale(7, RoundingMode.HALF_UP)}"
|
||||
}
|
||||
}catch (e:Exception){
|
||||
Log.e("qj","异常")
|
||||
}
|
||||
}
|
||||
|
||||
lifecycleScope.launch {
|
||||
@ -266,9 +273,6 @@ class MainActivity : BaseActivity() {
|
||||
//开启定位
|
||||
mapController.locationLayerHandler.startLocation()
|
||||
mapController.mMapView.setLogoVisable(View.GONE)
|
||||
//启动轨迹存储
|
||||
// viewModel.startSaveTraceThread(this)
|
||||
|
||||
}
|
||||
|
||||
override fun onPause() {
|
||||
@ -399,8 +403,4 @@ class MainActivity : BaseActivity() {
|
||||
viewModel.stopSoundMeter()
|
||||
}
|
||||
}
|
||||
|
||||
// override fun onBackPressed() {
|
||||
// super.onBackPressed()
|
||||
// }
|
||||
}
|
@ -9,6 +9,7 @@ import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.EditText
|
||||
import android.widget.Toast
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
@ -40,7 +41,11 @@ class TaskFragment : BaseFragment() {
|
||||
private val adapter: TaskAdapter by lazy {
|
||||
TaskAdapter(object : TaskAdapterCallback {
|
||||
override fun itemOnClick(bean: HadLinkDvoBean) {
|
||||
viewModel.showCurrentLink(bean)
|
||||
if(bean!=null){
|
||||
viewModel.showCurrentLink(bean)
|
||||
}else{
|
||||
Toast.makeText(context, "数据错误,无法显示!", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
}
|
||||
|
||||
override fun editOnclick(position: Int, bean: HadLinkDvoBean) {
|
||||
|
@ -36,18 +36,24 @@ class TaskListAdapter(
|
||||
val downloadBtnClick = View.OnClickListener() {
|
||||
if (it.tag != null) {
|
||||
val taskBean = data[it.tag as Int]
|
||||
when (taskBean.status) {
|
||||
FileDownloadStatus.NONE, FileDownloadStatus.UPDATE, FileDownloadStatus.PAUSE, FileDownloadStatus.IMPORT, FileDownloadStatus.ERROR -> {
|
||||
Log.e("jingo", "开始下载 ${taskBean.status}")
|
||||
downloadManager.start(taskBean.id)
|
||||
}
|
||||
FileDownloadStatus.LOADING, FileDownloadStatus.WAITING -> {
|
||||
Log.e("jingo", "暂停 ${taskBean.status}")
|
||||
downloadManager.pause(taskBean.id)
|
||||
}
|
||||
else -> {
|
||||
Log.e("jingo", "暂停 ${taskBean.status}")
|
||||
if (taskBean.hadLinkDvoList.isNotEmpty()) {
|
||||
when (taskBean.status) {
|
||||
FileDownloadStatus.NONE, FileDownloadStatus.UPDATE, FileDownloadStatus.PAUSE, FileDownloadStatus.IMPORT, FileDownloadStatus.ERROR -> {
|
||||
Log.e("jingo", "开始下载 ${taskBean.status}")
|
||||
downloadManager.start(taskBean.id)
|
||||
}
|
||||
|
||||
FileDownloadStatus.LOADING, FileDownloadStatus.WAITING -> {
|
||||
Log.e("jingo", "暂停 ${taskBean.status}")
|
||||
downloadManager.pause(taskBean.id)
|
||||
}
|
||||
|
||||
else -> {
|
||||
Log.e("jingo", "暂停 ${taskBean.status}")
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Toast.makeText(downloadManager.context, "数据错误,无Link信息,无法执行下载!", Toast.LENGTH_LONG).show()
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -56,10 +62,14 @@ class TaskListAdapter(
|
||||
if (it.tag != null) {
|
||||
val taskBean = data[it.tag as Int]
|
||||
Log.e("jingo", "开始上传 ${taskBean.syncStatus}")
|
||||
when (taskBean.syncStatus) {
|
||||
FileUploadStatus.NONE, FileUploadStatus.UPLOADING,FileUploadStatus.ERROR, FileUploadStatus.WAITING -> {
|
||||
uploadManager.start(taskBean.id)
|
||||
if (taskBean.hadLinkDvoList.isNotEmpty()) {
|
||||
when (taskBean.syncStatus) {
|
||||
FileUploadStatus.NONE, FileUploadStatus.UPLOADING, FileUploadStatus.ERROR, FileUploadStatus.WAITING -> {
|
||||
uploadManager.start(taskBean.id)
|
||||
}
|
||||
}
|
||||
}else{
|
||||
Toast.makeText(uploadManager.context, "数据错误,无Link信息,无法执行同步!", Toast.LENGTH_LONG).show()
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -160,19 +170,23 @@ class TaskListAdapter(
|
||||
binding.taskUploadBtn.setProgress(0)
|
||||
binding.taskUploadBtn.setBackgroundColor(binding.root.resources.getColor(R.color.ripple_end_color))
|
||||
}
|
||||
|
||||
FileUploadStatus.ERROR -> {
|
||||
binding.taskUploadBtn.stopAnimator()
|
||||
binding.taskUploadBtn.setText("重新同步")
|
||||
binding.taskUploadBtn.setProgress(100)
|
||||
}
|
||||
|
||||
FileUploadStatus.NONE -> {
|
||||
binding.taskUploadBtn.setText("未上传")
|
||||
binding.taskUploadBtn.setProgress(0)
|
||||
}
|
||||
|
||||
FileUploadStatus.WAITING -> {
|
||||
binding.taskUploadBtn.setText("等待同步")
|
||||
binding.taskUploadBtn.setProgress(100)
|
||||
}
|
||||
|
||||
FileUploadStatus.UPLOADING -> {
|
||||
binding.taskUploadBtn.setText("上传中")
|
||||
binding.taskUploadBtn.setProgress(100)
|
||||
@ -203,26 +217,31 @@ class TaskListAdapter(
|
||||
View.INVISIBLE
|
||||
binding.taskDownloadBtn.setText("下载")
|
||||
}
|
||||
|
||||
FileDownloadStatus.WAITING -> {
|
||||
if (binding.taskProgressText.visibility != View.VISIBLE) binding.taskProgressText.visibility =
|
||||
View.VISIBLE
|
||||
binding.taskDownloadBtn.setText("等待中")
|
||||
}
|
||||
|
||||
FileDownloadStatus.LOADING -> {
|
||||
if (binding.taskProgressText.visibility != View.VISIBLE) binding.taskProgressText.visibility =
|
||||
View.VISIBLE
|
||||
binding.taskDownloadBtn.setText("暂停")
|
||||
}
|
||||
|
||||
FileDownloadStatus.PAUSE -> {
|
||||
if (binding.taskProgressText.visibility != View.VISIBLE) binding.taskProgressText.visibility =
|
||||
View.VISIBLE
|
||||
binding.taskDownloadBtn.setText("继续")
|
||||
}
|
||||
|
||||
FileDownloadStatus.ERROR -> {
|
||||
if (binding.taskProgressText.visibility != View.VISIBLE) binding.taskProgressText.visibility =
|
||||
View.VISIBLE
|
||||
binding.taskDownloadBtn.setText("重试")
|
||||
}
|
||||
|
||||
FileDownloadStatus.DONE -> {
|
||||
if (binding.taskProgressText.visibility == View.VISIBLE) binding.taskProgressText.visibility =
|
||||
View.INVISIBLE
|
||||
@ -230,11 +249,13 @@ class TaskListAdapter(
|
||||
binding.taskDownloadBtn.visibility = View.INVISIBLE
|
||||
binding.taskUploadBtn.visibility = View.VISIBLE
|
||||
}
|
||||
|
||||
FileDownloadStatus.UPDATE -> {
|
||||
if (binding.taskProgressText.visibility == View.VISIBLE) binding.taskProgressText.visibility =
|
||||
View.INVISIBLE
|
||||
binding.taskDownloadBtn.setText("更新")
|
||||
}
|
||||
|
||||
FileDownloadStatus.IMPORTING -> {
|
||||
if (binding.taskProgressText.visibility != View.VISIBLE) binding.taskProgressText.visibility =
|
||||
View.VISIBLE
|
||||
@ -253,10 +274,11 @@ class TaskListAdapter(
|
||||
binding.taskProgressText.text = "0%"
|
||||
}
|
||||
val errMsg = taskBean.errMsg
|
||||
if(errMsg!=null&&errMsg.isNotEmpty()){
|
||||
Toast.makeText(binding.taskProgressText.context,errMsg,Toast.LENGTH_LONG)
|
||||
if (errMsg != null && errMsg.isNotEmpty()) {
|
||||
Toast.makeText(binding.taskProgressText.context, errMsg, Toast.LENGTH_LONG).show()
|
||||
}
|
||||
}
|
||||
|
||||
FileDownloadStatus.IMPORT -> {
|
||||
if (binding.taskProgressText.visibility != View.VISIBLE) binding.taskProgressText.visibility =
|
||||
View.INVISIBLE
|
||||
|
@ -6,8 +6,7 @@ import android.text.TextWatcher
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.fragment.app.viewModels
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import android.widget.Toast
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.navinfo.omqs.databinding.FragmentTaskListBinding
|
||||
import com.navinfo.omqs.http.taskdownload.TaskDownloadManager
|
||||
@ -35,7 +34,10 @@ class TaskListFragment : BaseFragment() {
|
||||
private val adapter: TaskListAdapter by lazy {
|
||||
TaskListAdapter(
|
||||
downloadManager, uploadManager
|
||||
) { position, taskBean ->
|
||||
) { _, taskBean ->
|
||||
if(taskBean.hadLinkDvoList.isEmpty()){
|
||||
Toast.makeText(context, "数据错误,无Link数据!", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
viewModel.setSelectTaskBean(taskBean)
|
||||
}
|
||||
}
|
||||
|
@ -19,6 +19,7 @@ import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import io.realm.Realm
|
||||
import kotlinx.coroutines.*
|
||||
import javax.inject.Inject
|
||||
import kotlin.math.max
|
||||
|
||||
|
||||
@HiltViewModel
|
||||
@ -143,30 +144,37 @@ class TaskViewModel @Inject constructor(
|
||||
liveDataTaskLinks.value = taskBean.hadLinkDvoList
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
mapController.lineHandler.omdbTaskLinkLayer.removeAll()
|
||||
mapController.lineHandler.omdbTaskLinkLayer.addLineList(taskBean.hadLinkDvoList)
|
||||
var maxX = 0.0
|
||||
var maxY = 0.0
|
||||
var minX = 0.0
|
||||
var minY = 0.0
|
||||
for (item in taskBean.hadLinkDvoList) {
|
||||
val geometry = GeometryTools.createGeometry(item.geometry)
|
||||
val envelope = geometry.envelopeInternal
|
||||
if (envelope.maxX > maxX) {
|
||||
maxX = envelope.maxX
|
||||
if(taskBean.hadLinkDvoList.isNotEmpty()){
|
||||
mapController.lineHandler.omdbTaskLinkLayer.addLineList(taskBean.hadLinkDvoList)
|
||||
var maxX = 0.0
|
||||
var maxY = 0.0
|
||||
var minX = 0.0
|
||||
var minY = 0.0
|
||||
for (item in taskBean.hadLinkDvoList) {
|
||||
val geometry = GeometryTools.createGeometry(item.geometry)
|
||||
if(geometry!=null){
|
||||
val envelope = geometry.envelopeInternal
|
||||
if (envelope.maxX > maxX) {
|
||||
maxX = envelope.maxX
|
||||
}
|
||||
if (envelope.maxY > maxY) {
|
||||
maxY = envelope.maxY
|
||||
}
|
||||
if (envelope.minX < minX || minX == 0.0) {
|
||||
minX = envelope.minX
|
||||
}
|
||||
if (envelope.minY < minY || minY == 0.0) {
|
||||
minY = envelope.minY
|
||||
}
|
||||
}
|
||||
}
|
||||
if (envelope.maxY > maxY) {
|
||||
maxY = envelope.maxY
|
||||
}
|
||||
if (envelope.minX < minX || minX == 0.0) {
|
||||
minX = envelope.minX
|
||||
}
|
||||
if (envelope.minY < minY || minY == 0.0) {
|
||||
minY = envelope.minY
|
||||
//增加异常数据判断
|
||||
if(maxX!=0.0&&maxY!=0.0&&minX!=0.0&&minY!=0.0){
|
||||
mapController.animationHandler.animateToBox(
|
||||
maxX = maxX, maxY = maxY, minX = minX, minY = minY
|
||||
)
|
||||
}
|
||||
}
|
||||
mapController.animationHandler.animateToBox(
|
||||
maxX = maxX, maxY = maxY, minX = minX, minY = minY
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@ -177,13 +185,15 @@ class TaskViewModel @Inject constructor(
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
mapController.lineHandler.omdbTaskLinkLayer.showSelectLine(link)
|
||||
val geometry = GeometryTools.createGeometry(link.geometry)
|
||||
val envelope = geometry.envelopeInternal
|
||||
mapController.animationHandler.animateToBox(
|
||||
maxX = envelope.maxX,
|
||||
maxY = envelope.maxY,
|
||||
minX = envelope.minX,
|
||||
minY = envelope.minY
|
||||
)
|
||||
if(geometry!=null){
|
||||
val envelope = geometry.envelopeInternal
|
||||
mapController.animationHandler.animateToBox(
|
||||
maxX = envelope.maxX,
|
||||
maxY = envelope.maxY,
|
||||
minX = envelope.minX,
|
||||
minY = envelope.minY
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -35,7 +35,7 @@
|
||||
<com.google.android.material.tabs.TabLayout
|
||||
android:id="@+id/offline_map_tab_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="26dp"
|
||||
android:layout_height="@dimen/fragment_tabLayout_height"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_marginTop="11dp"
|
||||
android:layout_marginRight="8dp"
|
||||
|
@ -4,6 +4,7 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/shape_rect_white_6dp_bg"
|
||||
android:padding="@dimen/default_widget_padding"
|
||||
tools:context=".ui.fragment.offlinemap.OfflineMapCityListFragment">
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/bg_left_pannel"
|
||||
android:background="@drawable/shape_rect_white_6dp_bg"
|
||||
tools:context=".ui.fragment.qsrecordlist.QsRecordListFragment">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
|
@ -34,7 +34,7 @@
|
||||
<com.google.android.material.tabs.TabLayout
|
||||
android:id="@+id/task_manager_tab_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="26dp"
|
||||
android:layout_height="@dimen/fragment_tabLayout_height"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_marginTop="11dp"
|
||||
android:layout_marginRight="8dp"
|
||||
|
@ -40,5 +40,5 @@
|
||||
<dimen name="main_activity_geometry_w" comment="地图主页坐标框宽度">230dp</dimen>
|
||||
<dimen name="main_activity_geometry_h" comment="地图主页坐标框高度">28dp</dimen>
|
||||
<dimen name="fragment_problem_link_width" comment="问题原因面板宽度">213dp</dimen>
|
||||
|
||||
<dimen name="fragment_tabLayout_height">32dp</dimen>
|
||||
</resources>
|
@ -84,5 +84,6 @@ class OmdbTaskLinkLayer(map: Map, private var style: Style) : VectorLayer(map) {
|
||||
}
|
||||
lineMap.clear()
|
||||
clearSelectLine()
|
||||
update()
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user