diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/WrapContentLinearLayoutManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/WrapContentLinearLayoutManager.kt new file mode 100644 index 0000000000..bd9557b5ce --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/WrapContentLinearLayoutManager.kt @@ -0,0 +1,32 @@ +package com.mogo.och.common.module.wigets + +import android.content.Context +import android.util.AttributeSet +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView + + +class WrapContentLinearLayoutManager : LinearLayoutManager { + constructor(context: Context?) : super(context) + + constructor(context: Context?, orientation: Int, reverseLayout: Boolean) : super( + context, + orientation, + reverseLayout + ) + + constructor( + context: Context?, + attrs: AttributeSet?, + defStyleAttr: Int, + defStyleRes: Int + ) : super(context, attrs, defStyleAttr, defStyleRes) + + override fun onLayoutChildren(recycler: RecyclerView.Recycler, state: RecyclerView.State) { + try { + super.onLayoutChildren(recycler, state) + } catch (e: IndexOutOfBoundsException) { + e.printStackTrace() + } + } +} \ No newline at end of file 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 47632a89a1..e091222846 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 @@ -16,6 +16,7 @@ import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.och.common.module.manager.loop.BizLoopManager import com.mogo.och.common.module.utils.ResourcesUtils import com.mogo.och.common.module.wigets.WindowRelativeLayout +import com.mogo.och.common.module.wigets.WrapContentLinearLayoutManager import com.mogo.och.shuttle.weaknet.R import com.mogo.och.weaknet.model.LineModel import com.mogo.och.weaknet.repository.db.bean.LineDataBean @@ -52,7 +53,7 @@ class SwitchLineView: WindowRelativeLayout, SwtichLineModel.SwtichLineViewCallba private var animator:ObjectAnimator?=null - private lateinit var linearLayoutManager:LinearLayoutManager + private lateinit var linearLayoutManager: WrapContentLinearLayoutManager private var animatorStart = System.currentTimeMillis() @@ -62,7 +63,7 @@ class SwitchLineView: WindowRelativeLayout, SwtichLineModel.SwtichLineViewCallba } private fun initView(){ - linearLayoutManager = LinearLayoutManager(context) + linearLayoutManager = WrapContentLinearLayoutManager(context) switch_line_rv.setLayoutManager(linearLayoutManager) mAdapter = SwitchLineAdapter(context, mutableListOf()) switch_line_rv.addItemDecoration( diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunned/RunningTaskManagerView.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunned/RunningTaskManagerView.kt index f39b9abd5a..aa5ebea43d 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunned/RunningTaskManagerView.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunned/RunningTaskManagerView.kt @@ -9,6 +9,7 @@ import com.mogo.eagle.core.utilcode.kotlin.onClick import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.common.module.utils.ResourcesUtils import com.mogo.och.common.module.wigets.WindowRelativeLayout +import com.mogo.och.common.module.wigets.WrapContentLinearLayoutManager import com.mogo.och.shuttle.weaknet.R import com.mogo.och.weaknet.bean.WaitUploadLine import kotlinx.android.synthetic.main.shuttle_wadk_task_running.view.aciv_show_data @@ -42,7 +43,7 @@ class RunningTaskManagerView: WindowRelativeLayout, RunningTastViewModel.Running private var viewModel:RunningTastViewModel?=null private lateinit var mAdapter: RunningTaskAdapter - private lateinit var linearLayoutManager:LinearLayoutManager + private lateinit var linearLayoutManager: WrapContentLinearLayoutManager init { LayoutInflater.from(context).inflate(R.layout.shuttle_wadk_task_running, this, true) @@ -56,7 +57,7 @@ class RunningTaskManagerView: WindowRelativeLayout, RunningTastViewModel.Running } - linearLayoutManager = LinearLayoutManager(context) + linearLayoutManager = WrapContentLinearLayoutManager(context) rvDataLiet.setLayoutManager(linearLayoutManager) mAdapter = RunningTaskAdapter(context, mutableListOf()) rvDataLiet.addItemDecoration( diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunning/TaskRunningView.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunning/TaskRunningView.kt index 4eb0cc1fd0..fec5f9636a 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunning/TaskRunningView.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunning/TaskRunningView.kt @@ -14,6 +14,7 @@ import com.mogo.och.common.module.manager.autopilot.line.LineManager import com.mogo.och.common.module.utils.ResourcesUtils import com.mogo.och.common.module.wigets.CommonDialogStatus import com.mogo.och.common.module.wigets.CommonSlideView +import com.mogo.och.common.module.wigets.WrapContentLinearLayoutManager import com.mogo.och.shuttle.weaknet.R import com.mogo.och.weaknet.model.LineModel import com.mogo.och.weaknet.ui.bizswitch.SwtichBizeModel @@ -49,7 +50,7 @@ class TaskRunningView: ConstraintLayout, TaskRunningModel.SwtichLineViewCallback private lateinit var mAdapter: TaskRunningAdapter - private lateinit var linearLayoutManager:LinearLayoutManager + private lateinit var linearLayoutManager: WrapContentLinearLayoutManager init { LayoutInflater.from(context).inflate(R.layout.shuttle_weak_task_running, this, true) @@ -57,7 +58,7 @@ class TaskRunningView: ConstraintLayout, TaskRunningModel.SwtichLineViewCallback } private fun initView(){ - linearLayoutManager = LinearLayoutManager(context) + linearLayoutManager = WrapContentLinearLayoutManager(context) rl_running_task_station_list.setLayoutManager(linearLayoutManager) mAdapter = TaskRunningAdapter(context, mutableListOf()) rl_running_task_station_list.setAdapter(mAdapter) diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingselect/RoutingSelectView.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingselect/RoutingSelectView.kt index 0db38e80c3..862a9a2ecf 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingselect/RoutingSelectView.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingselect/RoutingSelectView.kt @@ -5,31 +5,21 @@ import android.util.AttributeSet import android.view.LayoutInflater import android.view.View import androidx.constraintlayout.widget.ConstraintLayout -import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.ViewModelProvider -import androidx.lifecycle.ViewModelStoreOwner import androidx.lifecycle.findViewTreeViewModelStoreOwner -import androidx.lifecycle.lifecycleScope -import androidx.recyclerview.widget.LinearLayoutManager -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.view.SpacesItemDecoration import com.mogo.eagle.core.utilcode.util.ToastUtils -import com.mogo.och.common.module.utils.FlowBus +import com.mogo.och.common.module.wigets.WrapContentLinearLayoutManager import com.mogo.och.unmanned.taxi.R -import com.mogo.och.unmanned.taxi.TaxiUnmannedDriverProvider import com.mogo.och.unmanned.taxi.bean.GrayLineBean import com.mogo.och.unmanned.taxi.bean.StartGrayAndQueryContrailRsp -import com.mogo.och.unmanned.taxi.constant.TaxiDriverEventConst import com.mogo.och.unmanned.taxi.ui.debug.DebugView import com.mogo.och.unmanned.taxi.ui.routing.RoutingSwitchModel -import com.mogo.och.unmanned.taxi.ui.routing.RoutingUIState import com.mogo.och.unmanned.taxi.ui.routing.TaxiRoutingChooseLineItemOpenAnimator -import com.mogo.och.unmanned.taxi.ui.routing.TaxiRoutingUiIntent import com.mogo.och.unmanned.taxi.ui.routing.routingselect.RoutingSelectModel.SwtichRoutingViewCallback import kotlinx.android.synthetic.main.unmanned_routing_select.view.include_empty import kotlinx.android.synthetic.main.unmanned_routing_select.view.include_error import kotlinx.android.synthetic.main.unmanned_routing_select.view.switch_routing_rv -import kotlinx.coroutines.flow.map import me.jessyan.autosize.utils.AutoSizeUtils class RoutingSelectView: ConstraintLayout, SwtichRoutingViewCallback { @@ -52,7 +42,7 @@ class RoutingSelectView: ConstraintLayout, SwtichRoutingViewCallback { private var swtichViewModel: RoutingSwitchModel?=null private lateinit var mChooseLineListAdapter: RoutingItemAdapter - private lateinit var mLinearLayoutManager: LinearLayoutManager + private lateinit var mLinearLayoutManager: WrapContentLinearLayoutManager private val mRoutingLineList: MutableList = ArrayList() private var mCurrentChosenPosition: Int = -1 @@ -66,7 +56,7 @@ class RoutingSelectView: ConstraintLayout, SwtichRoutingViewCallback { private fun initView(){ - mLinearLayoutManager = LinearLayoutManager(context) + mLinearLayoutManager = WrapContentLinearLayoutManager(context) switch_routing_rv.layoutManager = mLinearLayoutManager switch_routing_rv.itemAnimator = TaxiRoutingChooseLineItemOpenAnimator() mChooseLineListAdapter = RoutingItemAdapter(context, mRoutingLineList)