diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/LineDb.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/LineDb.kt index bfe087e8dd..a3cb252780 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/LineDb.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/LineDb.kt @@ -46,6 +46,13 @@ object LineDb: IDbRepository { // TODO: Ui展示需要动态刷新UI去 return } + val tempList = loadData.groupBy { it.lineId }.filter { it.value.size > 1 } + val needDelete = mutableListOf() + tempList.forEach {multData-> + needDelete.add(multData.value.first()) + } + // 删除本地重复的 + lineDao.delete(*needDelete.toTypedArray()) // 后台新增数据 val needAddDatas = serverDatalist-loadData // 后台没有本地数据库有的未分配线路 diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwitchLineView.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwitchLineView.kt index 5b623e475d..81f25f01bf 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwitchLineView.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwitchLineView.kt @@ -86,7 +86,7 @@ class SwitchLineView: WindowRelativeLayout, SwtichLineModel.SwtichLineViewCallba } }) - aciv_refresh_task.onClick { + aciv_refresh_task.onClick(5_000) { if(RepositoryManager.supportDb()) { viewModel?.refreshTask() }else{ diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwtichLineModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwtichLineModel.kt index f9d6c98b0a..8c079a44c1 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwtichLineModel.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwtichLineModel.kt @@ -66,7 +66,8 @@ class SwtichLineModel : ViewModel(), IBusLinesCallback { override fun onNext(data: List) { d(LineModel.TAG, "queryBusLines onNext ${data}") - viewCallback?.onBusLinesChange(data.toMutableList(),loading) + val tempData = data.distinctBy { it.lineId } + viewCallback?.onBusLinesChange(tempData.toMutableList(),loading) if(RepositoryManager.supportDb()) { }else{ diff --git a/OCH/shuttle/driver_weaknet/src/test/java/com/mogo/och/common/module/ExampleUnitTest.kt b/OCH/shuttle/driver_weaknet/src/test/java/com/mogo/och/common/module/ExampleUnitTest.kt index 0f0d3d5be4..9fd52af8a0 100644 --- a/OCH/shuttle/driver_weaknet/src/test/java/com/mogo/och/common/module/ExampleUnitTest.kt +++ b/OCH/shuttle/driver_weaknet/src/test/java/com/mogo/och/common/module/ExampleUnitTest.kt @@ -1,6 +1,7 @@ package com.mogo.och.common.module import com.mogo.eagle.core.network.utils.digest.DigestUtils +import com.mogo.och.weaknet.repository.db.bean.LineDataBean import com.mogo.och.weaknet.repository.db.bean.SiteDataBean import org.junit.Test @@ -10,6 +11,29 @@ import org.junit.Test * See [testing documentation](http://d.android.com/tools/testing). */ class ExampleUnitTest { + + @Test + fun lineTest() { + + + val serverDataList = mutableListOf() + serverDataList.add(LineDataBean(lineId = 12)) + serverDataList.add(LineDataBean(lineId = 12)) + serverDataList.add(LineDataBean(lineId = 13)) + serverDataList.add(LineDataBean(lineId = 13)) + + val tempData = serverDataList.distinctBy { it.lineId } + println(serverDataList) + println(tempData) + + val loaclDataList = mutableListOf() + loaclDataList.add(LineDataBean(lineId = 12)) + loaclDataList.add(LineDataBean(lineId = 12)) + loaclDataList.add(LineDataBean(lineId = 13)) + + + } + @Test fun addition_isCorrect() { diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/kotlin/Extensions.kt b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/kotlin/Extensions.kt index a68d0605eb..cbafd5e7fd 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/kotlin/Extensions.kt +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/kotlin/Extensions.kt @@ -21,6 +21,7 @@ import androidx.lifecycle.Lifecycle.Event.ON_DESTROY import androidx.recyclerview.widget.RecyclerView import com.mogo.eagle.core.utilcode.util.ClickUtils import com.mogo.eagle.core.utilcode.util.R +import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.utilcode.util.Utils import kotlinx.coroutines.* import kotlinx.coroutines.channels.Channel @@ -109,6 +110,17 @@ fun View.onClick(block: (View) -> Unit) { } } +fun View.onClick(during:Int,block: (View) -> Unit) { + this.setOnClickListener { + if (ClickUtils.isClickTooFrequent(this,during)) { + ToastUtils.showShort("不要频繁点击哦~") + return@setOnClickListener + } + block(it) + } +} + + fun View.onClickWidthDuration(duration: Int, block: (View) -> Unit) { this.setOnClickListener { if (ClickUtils.isClickTooFrequent(this, duration)) {