[Taxi无人化] refactor: 抽取Navi 及Routing展示相关;

This commit is contained in:
aibingbing
2023-08-21 19:00:42 +08:00
committed by zhongchao
parent 5cd9cfd197
commit c3de7b60e6
11 changed files with 42 additions and 47 deletions

View File

@@ -34,8 +34,8 @@ import com.mogo.och.common.module.wigets.StartAutopilotAnimationView
import com.mogo.och.taxi.R
import com.mogo.och.taxi.constant.TaxiUnmannedConst
import com.mogo.och.taxi.constant.TaxiUnmannedConst.Companion.START_AUTOPILOT_ANIMATION_INTERVAL
import com.mogo.och.taxi.ui.TaxiAmapNaviFragment
import com.mogo.och.taxi.ui.TaxiRottingNaviFragment
import com.mogo.och.taxi.ui.navi.amap.TaxiAmapNaviFragment
import com.mogo.och.taxi.ui.navi.auto.TaxiRoutingNaviFragment
import kotlinx.android.synthetic.main.taxi_base_fragment.anim_flow_iv
import kotlinx.android.synthetic.main.taxi_base_fragment.groupTestPanel
import kotlinx.android.synthetic.main.taxi_base_fragment.mapBizView
@@ -72,7 +72,7 @@ abstract class BaseTaxiTabFragment<V : IView, P : Presenter<V>> : MvpFragment<V,
private var ochAmapNaviFragment: TaxiAmapNaviFragment? = null
// 高德地图轨迹展示fragment
private var taxiRottingNaviFragment: TaxiRottingNaviFragment? = null
private var taxiRoutingNaviFragment: TaxiRoutingNaviFragment? = null
// 开发调试时展示信息德panel
private var debugPanelView: View? = null
@@ -591,12 +591,12 @@ abstract class BaseTaxiTabFragment<V : IView, P : Presenter<V>> : MvpFragment<V,
}
private fun closeRoutingViewIfHadAdd() {
if (taxiRottingNaviFragment != null) {
if (taxiRoutingNaviFragment != null) {
val transaction: FragmentTransaction = childFragmentManager.beginTransaction()
taxiRottingNaviFragment!!.onDestroy()
transaction.remove(taxiRottingNaviFragment!!)
taxiRoutingNaviFragment!!.onDestroy()
transaction.remove(taxiRoutingNaviFragment!!)
transaction.commitAllowingStateLoss()
taxiRottingNaviFragment = null
taxiRoutingNaviFragment = null
}
}
@@ -604,12 +604,12 @@ abstract class BaseTaxiTabFragment<V : IView, P : Presenter<V>> : MvpFragment<V,
val transaction: FragmentTransaction = childFragmentManager.beginTransaction()
if (isShow) {
closeAmapViewIFHadeAdd()
taxiRottingNaviFragment = TaxiRottingNaviFragment.newInstance()
if (taxiRottingNaviFragment!!.isAdded) {
taxiRoutingNaviFragment = TaxiRoutingNaviFragment.newInstance()
if (taxiRoutingNaviFragment!!.isAdded) {
return
}
transaction.add(R.id.module_mogo_och_navi_panel_container, taxiRottingNaviFragment!!)
.show(taxiRottingNaviFragment!!)
transaction.add(R.id.module_mogo_och_navi_panel_container, taxiRoutingNaviFragment!!)
.show(taxiRoutingNaviFragment!!)
transaction.commitAllowingStateLoss()
taxi_close_navi_icon.visibility = View.VISIBLE
module_mogo_och_navi_panel_container.visibility = View.VISIBLE

View File

@@ -1,13 +1,11 @@
package com.mogo.och.taxi.ui;
package com.mogo.och.taxi.ui.base;
import com.mogo.commons.mvp.IView;
public
/**
* @author congtaowang
* @since 2021/1/18
*
* <p>
* 描述
*/
interface ITaxiView extends IView {
}
interface ITaxiView : IView

View File

@@ -20,7 +20,6 @@ import com.mogo.och.taxi.R
import com.mogo.och.taxi.bean.QueryCurrentTaskRespBean
import com.mogo.och.taxi.model.TaxiModel
import com.mogo.och.taxi.network.LoginBusImpl
import com.mogo.och.taxi.ui.ITaxiView
import com.mogo.och.taxi.ui.TaxiPersonalDialogFragment
import com.mogo.och.taxi.ui.TaxiServerOrdersFragment
import com.mogo.och.taxi.utils.TPRouteDataTestUtils

View File

@@ -1,7 +1,6 @@
package com.mogo.och.taxi.ui
package com.mogo.och.taxi.ui.navi.amap
import android.os.Bundle
import android.view.View
import com.amap.api.navi.AMapNaviViewListener
import com.mogo.commons.mvp.BaseFragment
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
@@ -17,6 +16,15 @@ import kotlinx.android.synthetic.main.taxi_amap_navi_view.navi_view
*/
class TaxiAmapNaviFragment : BaseFragment(),
AMapNaviViewListener {
companion object {
fun newInstance(): TaxiAmapNaviFragment {
val args = Bundle()
val fragment = TaxiAmapNaviFragment()
fragment.arguments = args
return fragment
}
}
private var mNaviToStartInfoCallback: ICommonNaviChangedCallback? = null
override fun getLayoutId(): Int {
return R.layout.taxi_amap_navi_view
@@ -176,13 +184,4 @@ class TaxiAmapNaviFragment : BaseFragment(),
"空车道",
"可变车道"
)
companion object {
fun newInstance(): TaxiAmapNaviFragment {
val args = Bundle()
val fragment = TaxiAmapNaviFragment()
fragment.arguments = args
return fragment
}
}
}

View File

@@ -1,4 +1,4 @@
package com.mogo.och.taxi.presenter;
package com.mogo.och.taxi.ui.navi.auto;
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
@@ -15,7 +15,6 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
import com.mogo.och.taxi.callback.IOCHTaxiAutopilotPlanningCallback;
import com.mogo.och.taxi.model.TaxiModel;
import com.mogo.och.taxi.ui.TaxiRottingNaviFragment;
import java.util.List;
@@ -25,11 +24,11 @@ import java.util.List;
*
* 描述
*/
public class NaviPresenter extends Presenter<TaxiRottingNaviFragment> implements IOCHTaxiAutopilotPlanningCallback {
public class RoutingNaviPresenter extends Presenter<TaxiRoutingNaviFragment> implements IOCHTaxiAutopilotPlanningCallback {
private static final String TAG = NaviPresenter.class.getSimpleName();
private static final String TAG = RoutingNaviPresenter.class.getSimpleName();
public NaviPresenter(TaxiRottingNaviFragment view) {
public RoutingNaviPresenter(TaxiRoutingNaviFragment view) {
super(view);
TaxiModel.INSTANCE.init(AbsMogoApplication.getApp());
initListeners();

View File

@@ -1,4 +1,4 @@
package com.mogo.och.taxi.ui
package com.mogo.och.taxi.ui.navi.auto
import android.content.Context
import android.os.Bundle

View File

@@ -1,4 +1,4 @@
package com.mogo.och.taxi.ui
package com.mogo.och.taxi.ui.navi.auto
import android.os.Bundle
import com.amap.api.maps.model.LatLng
@@ -6,14 +6,13 @@ import com.mogo.commons.mvp.MvpFragment
import com.mogo.eagle.core.data.map.MogoLocation
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.och.taxi.R
import com.mogo.och.taxi.presenter.NaviPresenter
/**
* @author: wangmingjun
* @date: 2023/7/24
*/
class TaxiRottingNaviFragment : MvpFragment<TaxiRottingNaviFragment?, NaviPresenter?>() {
private val TAG = TaxiRottingNaviFragment::class.java.simpleName
class TaxiRoutingNaviFragment : MvpFragment<TaxiRoutingNaviFragment?, RoutingNaviPresenter?>() {
private val TAG = TaxiRoutingNaviFragment::class.java.simpleName
private var mMapDirectionView: TaxiMapDirectionView? = null
override fun getLayoutId(): Int {
return R.layout.taxi_rotting_navi_view
@@ -47,8 +46,8 @@ class TaxiRottingNaviFragment : MvpFragment<TaxiRottingNaviFragment?, NaviPresen
}
}
override fun createPresenter(): NaviPresenter {
return NaviPresenter(this)
override fun createPresenter(): RoutingNaviPresenter {
return RoutingNaviPresenter(this)
}
fun routeResult(
@@ -92,9 +91,9 @@ class TaxiRottingNaviFragment : MvpFragment<TaxiRottingNaviFragment?, NaviPresen
}
companion object {
fun newInstance(): TaxiRottingNaviFragment {
fun newInstance(): TaxiRoutingNaviFragment {
val args = Bundle()
val fragment = TaxiRottingNaviFragment()
val fragment = TaxiRoutingNaviFragment()
fragment.arguments = args
return fragment
}

View File

@@ -3,11 +3,12 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:cardBackgroundColor="@android:color/transparent"
app:cardCornerRadius="30dp"
app:cardElevation="8dp"
app:cardUseCompatPadding="true"
app:cardPreventCornerOverlap="false"
app:cardBackgroundColor="@android:color/transparent">
app:cardUseCompatPadding="true">
<com.mogo.och.common.module.map.CommonAmapNaviVIew
android:id="@+id/navi_view"
android:layout_width="wrap_content"

View File

@@ -8,7 +8,7 @@
app:cardUseCompatPadding="true"
app:cardPreventCornerOverlap="false"
app:cardBackgroundColor="@android:color/transparent">
<com.mogo.och.taxi.ui.TaxiMapDirectionView
<com.mogo.och.taxi.ui.navi.auto.TaxiMapDirectionView
android:id="@+id/rotting_navi_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>

View File

@@ -8,7 +8,7 @@
app:cardUseCompatPadding="true"
app:cardPreventCornerOverlap="false"
app:cardBackgroundColor="@android:color/transparent">
<com.mogo.och.taxi.ui.TaxiMapDirectionView
<com.mogo.och.taxi.ui.navi.auto.TaxiMapDirectionView
android:id="@+id/rotting_navi_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>