From dbf2f2e50b763cb40bc93bbf596285e706e13d05 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 4 Jan 2023 16:46:22 +0800 Subject: [PATCH 01/18] =?UTF-8?q?bus=20=E5=8F=B8=E6=9C=BA=E4=B9=98?= =?UTF-8?q?=E5=AE=A2=E6=B7=BB=E5=8A=A0=E6=8E=A5=E9=A9=B3flavor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OCH/mogo-och-bus-passenger/build.gradle | 14 +++++++ OCH/mogo-och-bus/build.gradle | 17 ++++++++ app/build.gradle | 2 + app/functions/och.gradle | 33 ++++++++++++++++ app/productFlavors/fPadLenovoOchBus.gradle | 1 + .../fPadLenovoOchBusPassenger.gradle | 1 + .../fPadLenovoOchBusShuttle.gradle | 39 +++++++++++++++++++ .../fPadLenovoOchBusShuttlePassenger.gradle | 37 ++++++++++++++++++ 8 files changed, 144 insertions(+) create mode 100644 app/productFlavors/fPadLenovoOchBusShuttle.gradle create mode 100644 app/productFlavors/fPadLenovoOchBusShuttlePassenger.gradle diff --git a/OCH/mogo-och-bus-passenger/build.gradle b/OCH/mogo-och-bus-passenger/build.gradle index f9be5b07ca..2d6a5e71c9 100644 --- a/OCH/mogo-och-bus-passenger/build.gradle +++ b/OCH/mogo-och-bus-passenger/build.gradle @@ -38,6 +38,20 @@ android { proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } + flavorDimensions "product" + productFlavors { + + basc { + dimension "product" + buildConfigField 'int', 'NEW_TEST', '0' + } + + // 接驳车 + shuttle { + dimension "product" + buildConfigField 'int', 'NEW_TEST', '1' + } + } } dependencies { diff --git a/OCH/mogo-och-bus/build.gradle b/OCH/mogo-och-bus/build.gradle index 4de0719cb7..40b7e59a97 100644 --- a/OCH/mogo-och-bus/build.gradle +++ b/OCH/mogo-och-bus/build.gradle @@ -38,6 +38,23 @@ android { proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } + + + flavorDimensions "product" + productFlavors { + + basc { + dimension "product" + buildConfigField 'int', 'NEW_TEST', '0' + } + + // 接驳车 + shuttle { + dimension "product" + buildConfigField 'int', 'NEW_TEST', '1' + } + } + } dependencies { diff --git a/app/build.gradle b/app/build.gradle index 726a2d8cef..49a801e341 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -226,8 +226,10 @@ android { // 配置不同渠道参数,直接影响功能完整度 apply from: "./productFlavors/fPadLenovo.gradle" apply from: "./productFlavors/fPadLenovoOchBus.gradle" + apply from: "./productFlavors/fPadLenovoOchBusShuttle.gradle" apply from: "./productFlavors/fPadLenovoOchTaxi.gradle" apply from: "./productFlavors/fPadLenovoOchBusPassenger.gradle" + apply from: "./productFlavors/fPadLenovoOchBusShuttlePassenger.gradle" apply from: "./productFlavors/fPadLenovoOchTaxiPassenger.gradle" apply from: "./productFlavors/fPadLenovoOchSweeper.gradle" diff --git a/app/functions/och.gradle b/app/functions/och.gradle index 6a3e9f0776..75563a5eed 100644 --- a/app/functions/och.gradle +++ b/app/functions/och.gradle @@ -25,6 +25,14 @@ project.dependencies { exclude group: 'com.mogo.eagle.core' //by group exclude group: 'com.mogo.eagle.core.function' //by group } + // Bus司机端 + fPadLenovoOchBusShuttleImplementation(rootProject.ext.dependencies.mogoochbus) { + exclude group: 'com.mogo.commons' //by group + exclude group: 'com.mogo.module' //by group + exclude group: 'com.mogo.map' //by group + exclude group: 'com.mogo.eagle.core' //by group + exclude group: 'com.mogo.eagle.core.function' //by group + } // Bus乘客端 fPadLenovoOchBusPassengerImplementation(rootProject.ext.dependencies.mogoochbus) { @@ -34,6 +42,15 @@ project.dependencies { exclude group: 'com.mogo.eagle.core' //by group exclude group: 'com.mogo.eagle.core.function' //by group } + // Bus乘客端 + fPadLenovoOchBusShuttlePassengerImplementation(rootProject.ext.dependencies.mogoochbus) { + exclude group: 'com.mogo.commons' //by group + exclude group: 'com.mogo.module' //by group + exclude group: 'com.mogo.map' //by group + exclude group: 'com.mogo.eagle.core' //by group + exclude group: 'com.mogo.eagle.core.function' //by group + } + // taxi司机端 fPadLenovoOchTaxiImplementation(rootProject.ext.dependencies.mogoochtaxi) { @@ -76,6 +93,14 @@ project.dependencies { exclude group: 'com.mogo.eagle.core' //by group exclude group: 'com.mogo.eagle.core.function' //by group } + // Bus司机端 + fPadLenovoOchBusShuttleImplementation (project(':OCH:mogo-och-bus')) { + exclude group: 'com.mogo.commons' //by group + exclude group: 'com.mogo.module' //by group + exclude group: 'com.mogo.map' //by group + exclude group: 'com.mogo.eagle.core' //by group + exclude group: 'com.mogo.eagle.core.function' //by group + } // Bus乘客端 fPadLenovoOchBusPassengerImplementation (project(':OCH:mogo-och-bus-passenger')) { @@ -85,6 +110,14 @@ project.dependencies { exclude group: 'com.mogo.eagle.core' //by group exclude group: 'com.mogo.eagle.core.function' //by group } + // Bus乘客端 + fPadLenovoOchBusShuttlePassengerImplementation (project(':OCH:mogo-och-bus-passenger')) { + exclude group: 'com.mogo.commons' //by group + exclude group: 'com.mogo.module' //by group + exclude group: 'com.mogo.map' //by group + exclude group: 'com.mogo.eagle.core' //by group + exclude group: 'com.mogo.eagle.core.function' //by group + } // taxi司机端 fPadLenovoOchTaxiImplementation (project(':OCH:mogo-och-taxi')) { diff --git a/app/productFlavors/fPadLenovoOchBus.gradle b/app/productFlavors/fPadLenovoOchBus.gradle index 4f251e6744..69ed2fb261 100644 --- a/app/productFlavors/fPadLenovoOchBus.gradle +++ b/app/productFlavors/fPadLenovoOchBus.gradle @@ -14,6 +14,7 @@ project.android.productFlavors { // 应用包名 applicationId rootProject.ext.android.fLauncherApplicationId dimension "product" + matchingFallbacks = ['basc'] // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '2' diff --git a/app/productFlavors/fPadLenovoOchBusPassenger.gradle b/app/productFlavors/fPadLenovoOchBusPassenger.gradle index 4d739711e0..541c5f8b34 100644 --- a/app/productFlavors/fPadLenovoOchBusPassenger.gradle +++ b/app/productFlavors/fPadLenovoOchBusPassenger.gradle @@ -12,6 +12,7 @@ project.android.productFlavors { // 应用包名 applicationId rootProject.ext.android.fLauncherApplicationId dimension "product" + matchingFallbacks = ['basc'] // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '2' diff --git a/app/productFlavors/fPadLenovoOchBusShuttle.gradle b/app/productFlavors/fPadLenovoOchBusShuttle.gradle new file mode 100644 index 0000000000..3604121610 --- /dev/null +++ b/app/productFlavors/fPadLenovoOchBusShuttle.gradle @@ -0,0 +1,39 @@ +project.android.productFlavors { + // 衡阳-联想Pad-网约车-小巴车 + fPadLenovoOchBusShuttle { + externalNativeBuild { + ndk { + // 设置支持的SO库架构 + abiFilters "arm64-v8a" + } + } + minSdkVersion rootProject.ext.android.minSdkVersionPadLenovo + targetSdkVersion rootProject.ext.android.targetSdkVersionPadLenovo + versionCode rootProject.versionCode as int + versionName rootProject.versionName + // 应用包名 + applicationId rootProject.ext.android.fLauncherApplicationId + dimension "product" + matchingFallbacks = ['shuttle'] + + // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 + buildConfigField 'int', 'CAR_MACHINE_TYPE', '2' + //高德地图鉴权信息 + manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, CHANNEL_VALUE: "fPadLenovoOchBus",ACTIVITY_ROOT:true] + + // 是否基于地图 + buildConfigField 'boolean', 'IS_MAP_BASED', 'true' + + // 是否需要实时上报坐标 + buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true' + // GPS数据提供源: 0-Android系统,1-工控机,2-OBU + buildConfigField 'int', 'GPS_PROVIDER', "1" + + // 构建的应用身份类型,出租车0|小巴A-司机|乘客 + buildConfigField 'int', 'APP_IDENTITY_MODE', "0xA0" + // 连接的工控机IP地址 + buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.8.102\"" + // 构建的是否是演示(美化)模式 + buildConfigField 'boolean', 'IS_DEMO_MODE', 'false' + } +} \ No newline at end of file diff --git a/app/productFlavors/fPadLenovoOchBusShuttlePassenger.gradle b/app/productFlavors/fPadLenovoOchBusShuttlePassenger.gradle new file mode 100644 index 0000000000..082cff7c18 --- /dev/null +++ b/app/productFlavors/fPadLenovoOchBusShuttlePassenger.gradle @@ -0,0 +1,37 @@ +project.android.productFlavors { + // 衡阳-联想Pad-网约车-小巴车-乘客端 + fPadLenovoOchBusShuttlePassenger { + externalNativeBuild { + ndk { + // 设置支持的SO库架构 + abiFilters "arm64-v8a" + } + } + minSdkVersion rootProject.ext.android.minSdkVersionPadLenovo + targetSdkVersion rootProject.ext.android.targetSdkVersionPadLenovo + // 应用包名 + applicationId rootProject.ext.android.fLauncherApplicationId + dimension "product" + matchingFallbacks = ['shuttle'] + + // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 + buildConfigField 'int', 'CAR_MACHINE_TYPE', '2' + //高德地图鉴权信息 + manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, CHANNEL_VALUE: "fPadLenovoOchBusPassenger",ACTIVITY_ROOT:true] + + // 是否基于地图 + buildConfigField 'boolean', 'IS_MAP_BASED', 'true' + + // 是否需要实时上报坐标 + buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true' + // GPS数据提供源: 0-Android系统,1-工控机,2-OBU + buildConfigField 'int', 'GPS_PROVIDER', "1" + + // 构建的应用身份类型,出租车0|小巴A-司机0|乘客1 + buildConfigField 'int', 'APP_IDENTITY_MODE', "0xA1" + // 连接的工控机IP地址 + buildConfigField 'String', 'ADAS_CONNECT_IP', "\"192.168.8.103\"" + // 构建的是否是演示(美化)模式 + buildConfigField 'boolean', 'IS_DEMO_MODE', 'false' + } +} \ No newline at end of file From 4f29f4b358f953c2ba1e4eb806f08cb8faeda010 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Thu, 5 Jan 2023 16:04:04 +0800 Subject: [PATCH 02/18] =?UTF-8?q?[1.0.0]=20=E5=A2=9E=E5=8A=A0=E6=8E=A5?= =?UTF-8?q?=E9=A9=B3=E8=BD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../network/PassengerServiceApi.java} | 2 +- .../network/BusPassengerServiceManager.kt | 2 +- .../network/PassengerServiceApi.java | 40 + .../mogo/och/bus/bean/BusOrdersResponse.java | 0 .../mogo/och/bus/bean/BusRoutesResponse.java | 0 .../com/mogo/och/bus/constant/URLConst.kt | 25 + .../com/mogo/och/bus/model/OrderModel.java} | 30 +- .../mogo/och/bus/net/IBascApiService.java} | 2 +- .../mogo/och/bus/net/OrderServiceManager.kt} | 34 +- .../com/mogo/och/bus/constant/BusConst.kt | 15 - .../och/bus/fragment/BaseBusTabFragment.java | 16 +- .../com/mogo/och/bus/model/BusLineModel.java | 9 +- .../och/bus/presenter/BusLinePresenter.java | 8 +- .../bus/presenter/BusModelLoopManager.java | 6 +- .../mogo/och/bus/presenter/BusPresenter.java | 54 +- .../och/bus/util/BDRouteDataTestUtils.java | 4 +- .../och/bus/util/BusAnalyticsManager.java | 1 - .../och/bus/util/BusTrajectoryManager.java | 10 +- .../mogo/och/bus/bean/BusOrdersResponse.java | 23 + .../mogo/och/bus/bean/BusRoutesResponse.java | 27 + .../com/mogo/och/bus/constant/URLConst.kt | 25 + .../com/mogo/och/bus/model/OrderModel.java | 1160 +++++++++++++++++ .../com/mogo/och/bus/net/IBascApiService.java | 170 +++ .../mogo/och/bus/net/OrderServiceManager.kt | 203 +++ 24 files changed, 1755 insertions(+), 111 deletions(-) rename OCH/mogo-och-bus-passenger/src/{main/java/com/mogo/och/bus/passenger/network/BusPassengerServiceApi.java => basc/java/com/mogo/och/bus/passenger/network/PassengerServiceApi.java} (97%) create mode 100644 OCH/mogo-och-bus-passenger/src/shuttle/java/com/mogo/och/bus/passenger/network/PassengerServiceApi.java rename OCH/mogo-och-bus/src/{main => basc}/java/com/mogo/och/bus/bean/BusOrdersResponse.java (100%) rename OCH/mogo-och-bus/src/{main => basc}/java/com/mogo/och/bus/bean/BusRoutesResponse.java (100%) create mode 100644 OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/constant/URLConst.kt rename OCH/mogo-och-bus/src/{main/java/com/mogo/och/bus/model/BusOrderModel.java => basc/java/com/mogo/och/bus/model/OrderModel.java} (98%) rename OCH/mogo-och-bus/src/{main/java/com/mogo/och/bus/net/IBusApiService.java => basc/java/com/mogo/och/bus/net/IBascApiService.java} (99%) rename OCH/mogo-och-bus/src/{main/java/com/mogo/och/bus/net/BusServiceManager.kt => basc/java/com/mogo/och/bus/net/OrderServiceManager.kt} (92%) create mode 100644 OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/bean/BusOrdersResponse.java create mode 100644 OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/bean/BusRoutesResponse.java create mode 100644 OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/constant/URLConst.kt create mode 100644 OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/model/OrderModel.java create mode 100644 OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/IBascApiService.java create mode 100644 OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/OrderServiceManager.kt diff --git a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/network/BusPassengerServiceApi.java b/OCH/mogo-och-bus-passenger/src/basc/java/com/mogo/och/bus/passenger/network/PassengerServiceApi.java similarity index 97% rename from OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/network/BusPassengerServiceApi.java rename to OCH/mogo-och-bus-passenger/src/basc/java/com/mogo/och/bus/passenger/network/PassengerServiceApi.java index a7512971dc..b1c16037d0 100644 --- a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/network/BusPassengerServiceApi.java +++ b/OCH/mogo-och-bus-passenger/src/basc/java/com/mogo/och/bus/passenger/network/PassengerServiceApi.java @@ -17,7 +17,7 @@ import retrofit2.http.Query; * * Bus乘客端接口定义 */ -interface BusPassengerServiceApi { +interface PassengerServiceApi { /** * 查询bus司机端绑定路线 * @return 接口返回数据 diff --git a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/network/BusPassengerServiceManager.kt b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/network/BusPassengerServiceManager.kt index 0e70161643..a545861f84 100644 --- a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/network/BusPassengerServiceManager.kt +++ b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/network/BusPassengerServiceManager.kt @@ -18,7 +18,7 @@ import com.mogo.och.common.module.biz.network.interceptor.transformTry object BusPassengerServiceManager { private var mBusPassengerServiceApi = MoGoRetrofitFactory.getInstance(getBaseUrl()) - .create(BusPassengerServiceApi::class.java) + .create(PassengerServiceApi::class.java) /** * 获取Bus司机端的sn diff --git a/OCH/mogo-och-bus-passenger/src/shuttle/java/com/mogo/och/bus/passenger/network/PassengerServiceApi.java b/OCH/mogo-och-bus-passenger/src/shuttle/java/com/mogo/och/bus/passenger/network/PassengerServiceApi.java new file mode 100644 index 0000000000..87db3061a3 --- /dev/null +++ b/OCH/mogo-och-bus-passenger/src/shuttle/java/com/mogo/och/bus/passenger/network/PassengerServiceApi.java @@ -0,0 +1,40 @@ +package com.mogo.och.bus.passenger.network; + +import com.mogo.och.bus.passenger.bean.BusPassengerOperationStatusResponse; +import com.mogo.och.bus.passenger.bean.BusPassengerQueryLineRequest; +import com.mogo.och.bus.passenger.bean.BusPassengerRoutesResponse; + +import io.reactivex.Observable; +import retrofit2.http.Body; +import retrofit2.http.GET; +import retrofit2.http.Header; +import retrofit2.http.Headers; +import retrofit2.http.POST; +import retrofit2.http.Query; + +/** + * Created on 2022/3/31 + * + * Bus乘客端接口定义 + */ +interface BusPassengerServiceApi { + /** + * 查询bus司机端绑定路线 + * @return 接口返回数据 + */ + @Headers( {"Content-Type:application/json;charset=UTF-8"} ) + @POST( "/och-shuttle-cabin/api/business/v1/passenger/lineDataWithDriver/query" ) + Observable queryDriverSiteByCoordinate(@Header("appId") String appId, @Header("ticket") String ticket, @Body BusPassengerQueryLineRequest request); + + /** + * 查询司机端的登陆状态 + * @param sn + * @return + */ + @Headers({"Content-type:application/json;charset=UTF-8"}) +// @GET("/autopilot-car-hailing/car/v2/driver/bus/passenger/takeOrderStatus/query") + @GET("/och-shuttle-cabin/api/business/v1/passenger/loginStatus") + Observable queryDriverOperationStatus(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("sn") String sn); + + +} diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/BusOrdersResponse.java b/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/bean/BusOrdersResponse.java similarity index 100% rename from OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/BusOrdersResponse.java rename to OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/bean/BusOrdersResponse.java diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/BusRoutesResponse.java b/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/bean/BusRoutesResponse.java similarity index 100% rename from OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/BusRoutesResponse.java rename to OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/bean/BusRoutesResponse.java diff --git a/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/constant/URLConst.kt b/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/constant/URLConst.kt new file mode 100644 index 0000000000..2f481d8f19 --- /dev/null +++ b/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/constant/URLConst.kt @@ -0,0 +1,25 @@ +package com.mogo.och.bus.constant + +import com.mogo.commons.debug.DebugConfig + +/** + * Created on 2021/12/6 + */ +class URLConst { + companion object { + + private const val BASE_URL_OCH_DEV = "http://tech-dev.zhidaohulian.com" + private const val BASE_URL_OCH_QA = "https://tech-qa.zhidaohulian.com" + private const val BASE_URL_OCH_RELEASE = "https://tech.zhidaohulian.com" + + @JvmStatic + fun getBaseUrl(): String { + return when (DebugConfig.getNetMode()) { + DebugConfig.NET_MODE_DEV, DebugConfig.NET_MODE_DEMO -> BASE_URL_OCH_DEV + DebugConfig.NET_MODE_QA -> BASE_URL_OCH_QA + DebugConfig.NET_MODE_RELEASE -> BASE_URL_OCH_RELEASE + else -> BASE_URL_OCH_RELEASE + } + } + } +} \ No newline at end of file diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java b/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/model/OrderModel.java similarity index 98% rename from OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java rename to OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/model/OrderModel.java index 148aa350ca..60fbb27fd1 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java +++ b/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/model/OrderModel.java @@ -48,7 +48,7 @@ import com.mogo.och.bus.callback.IPassengerCallback; import com.mogo.och.bus.callback.IRefreshBusStationsCallback; import com.mogo.och.bus.callback.ISlidePannelHideCallback; import com.mogo.och.bus.constant.BusConst; -import com.mogo.och.bus.net.BusServiceManager; +import com.mogo.och.bus.net.OrderServiceManager; import com.mogo.och.bus.presenter.BusModelLoopManager; import com.mogo.och.bus.util.BusAnalyticsManager; import com.mogo.och.bus.util.BusSendTripInfoManager; @@ -85,13 +85,13 @@ import mogo.telematics.pad.MessagePad; *

* 小巴订单管理 */ -public class BusOrderModel { - private final String TAG = BusOrderModel.class.getSimpleName(); +public class OrderModel { + private final String TAG = OrderModel.class.getSimpleName(); private int currentLineId = -1; private int currentTaskId = -1; private int backgroundCurrentStationIndex = 0;//A->B 此处值是A站点索引 - private static volatile BusOrderModel sInstance; + private static volatile OrderModel sInstance; public double mLongitude = 0; public double mLatitude = 0; private Context mContext; @@ -132,18 +132,18 @@ public class BusOrderModel { } }); - public static BusOrderModel getInstance() { + public static OrderModel getInstance() { if (sInstance == null) { - synchronized (BusOrderModel.class) { + synchronized (OrderModel.class) { if (sInstance == null) { - sInstance = new BusOrderModel(); + sInstance = new OrderModel(); } } } return sInstance; } - private BusOrderModel() { + private OrderModel() { } @@ -307,7 +307,7 @@ public class BusOrderModel { BusStationBean currentStation = stationList.get(backgroundCurrentStationIndex); BusStationBean nextStation = stationList.get(backgroundCurrentStationIndex + 1); - BusServiceManager.updateOrderRoute(mContext, currentLineId, currentStation.getSiteId() + OrderServiceManager.updateOrderRoute(mContext, currentLineId, currentStation.getSiteId() , nextStation.getSiteId(), points, new OchCommonServiceCallback() { @Override public void onSuccess(BaseData o) { @@ -426,7 +426,7 @@ public class BusOrderModel { */ public void queryBusRoutes() { CallerLogger.INSTANCE.d(M_BUS + TAG, "查询小巴路线"); - BusServiceManager.queryBusRoutes(mContext, new OchCommonServiceCallback() { + OrderServiceManager.queryBusRoutes(mContext, new OchCommonServiceCallback() { @Override public void onSuccess(BusRoutesResponse data) { if (data == null @@ -528,7 +528,7 @@ public class BusOrderModel { */ public void abortTask() { CallerLogger.INSTANCE.d(M_BUS + TAG, "结束当前路线abortTask"); - BusServiceManager.abortTask(mContext, currentTaskId + OrderServiceManager.abortTask(mContext, currentTaskId , new OchCommonServiceCallback() { @Override public void onSuccess(BaseData o) { @@ -664,7 +664,7 @@ public class BusOrderModel { String departureStopName = stationList.get(backgroundCurrentStationIndex).getName(); CallerLogger.INSTANCE.d(M_BUS + TAG, "arriveSiteStation-currentStationIndex = " + arrivedStationIndex); - BusServiceManager.arriveSiteStation(mContext, + OrderServiceManager.arriveSiteStation(mContext, stationList.get(arrivedStationIndex).getSeq(), stationList.get(arrivedStationIndex).getSiteId(), currentTaskId, @@ -735,7 +735,7 @@ public class BusOrderModel { } final String currentStationName = stationList.get(backgroundCurrentStationIndex).getName(); String finalNextStationName = nextStationName; - BusServiceManager.leaveStation(mContext, + OrderServiceManager.leaveStation(mContext, stationList.get(backgroundCurrentStationIndex).getSeq(), stationList.get(backgroundCurrentStationIndex).getSiteId(), currentTaskId, @@ -1008,7 +1008,7 @@ public class BusOrderModel { */ private void endTask() { CallerLogger.INSTANCE.d(M_BUS + TAG, "任务正常走完endTask()"); - BusServiceManager.endTask(mContext, currentTaskId + OrderServiceManager.endTask(mContext, currentTaskId , new OchCommonServiceCallback() { @Override public void onSuccess(BaseData o) { @@ -1086,7 +1086,7 @@ public class BusOrderModel { // 车机端上传心跳数据(只在出车状态时上传) public void runCarHeartbeat() { - BusServiceManager.runCarHeartbeat(mContext, mLongitude, mLatitude, + OrderServiceManager.runCarHeartbeat(mContext, mLongitude, mLatitude, new OchCommonServiceCallback() { @Override public void onSuccess(BaseData data) { diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/net/IBusApiService.java b/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/IBascApiService.java similarity index 99% rename from OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/net/IBusApiService.java rename to OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/IBascApiService.java index 32e8e7d1d0..de33669f49 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/net/IBusApiService.java +++ b/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/IBascApiService.java @@ -30,7 +30,7 @@ import retrofit2.http.Query; *

* wiki: http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=48970072 */ -public interface IBusApiService { +public interface IBascApiService { /** * 根据车机坐标获取所在区域全部站点信息 * diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/net/BusServiceManager.kt b/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/OrderServiceManager.kt similarity index 92% rename from OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/net/BusServiceManager.kt rename to OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/OrderServiceManager.kt index 126932adbc..7790409ac5 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/net/BusServiceManager.kt +++ b/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/OrderServiceManager.kt @@ -1,11 +1,11 @@ package com.mogo.och.bus.net import android.content.Context -import com.mogo.och.bus.constant.BusConst.Companion.getBaseUrl import com.mogo.cloud.passport.MoGoAiCloudClientConfig import com.mogo.eagle.core.data.BaseData import com.mogo.eagle.core.network.MoGoRetrofitFactory import com.mogo.och.bus.bean.* +import com.mogo.och.bus.constant.URLConst.Companion.getBaseUrl import com.mogo.och.common.module.biz.network.OchCommonServiceCallback import com.mogo.och.common.module.biz.network.OchCommonSubscribeImpl import com.mogo.och.common.module.biz.network.interceptor.transformTry @@ -14,10 +14,10 @@ import com.mogo.och.common.module.biz.network.interceptor.transformTry * @author: wangmingjun * @date: 2021/10/20 */ -object BusServiceManager { +object OrderServiceManager { - private val mService: IBusApiService = MoGoRetrofitFactory.getInstance(getBaseUrl()).create( - IBusApiService::class.java + private val M_SERVICE: IBascApiService = MoGoRetrofitFactory.getInstance(getBaseUrl()).create( + IBascApiService::class.java ) /** @@ -28,7 +28,7 @@ object BusServiceManager { @JvmStatic fun queryBusRoutes(context: Context, callback: OchCommonServiceCallback?) { //获取当前高德坐标 - mService.queryBusRoutes( + M_SERVICE.queryBusRoutes( MoGoAiCloudClientConfig.getInstance().serviceAppId, MoGoAiCloudClientConfig.getInstance().token, BusQueryLineStationsRequest() @@ -49,7 +49,7 @@ object BusServiceManager { taskId: Int, callback: OchCommonServiceCallback? ) { - mService.switchLine( + M_SERVICE.switchLine( MoGoAiCloudClientConfig.getInstance().serviceAppId, MoGoAiCloudClientConfig.getInstance().token, BusResetDrivingLineRequest(taskId) @@ -66,7 +66,7 @@ object BusServiceManager { */ @JvmStatic fun abortTask(context: Context, taskId: Int, callback: OchCommonServiceCallback?) { - mService.abortTask( + M_SERVICE.abortTask( MoGoAiCloudClientConfig.getInstance().serviceAppId, MoGoAiCloudClientConfig.getInstance().token, BusCloseTaskRequest(taskId) @@ -83,7 +83,7 @@ object BusServiceManager { */ @JvmStatic fun endTask(context: Context, taskId: Int, callback: OchCommonServiceCallback?) { - mService.endTask( + M_SERVICE.endTask( MoGoAiCloudClientConfig.getInstance().serviceAppId, MoGoAiCloudClientConfig.getInstance().token, BusCloseTaskRequest(taskId) @@ -107,7 +107,7 @@ object BusServiceManager { taskId: Int, callback: OchCommonServiceCallback? ) { - mService.leaveStation( + M_SERVICE.leaveStation( MoGoAiCloudClientConfig.getInstance().serviceAppId, MoGoAiCloudClientConfig.getInstance().token, BusUpdateSiteStatusRequest(taskId, siteId, seq) @@ -128,7 +128,7 @@ object BusServiceManager { context: Context, seq: Int, siteId: Int, taskId: Int, callback: OchCommonServiceCallback? ) { - mService.arriveSiteStation( + M_SERVICE.arriveSiteStation( MoGoAiCloudClientConfig.getInstance().serviceAppId, MoGoAiCloudClientConfig.getInstance().token, BusUpdateSiteStatusRequest(taskId, siteId, seq) @@ -151,7 +151,7 @@ object BusServiceManager { siteId: Int, callback: OchCommonServiceCallback? ) { - mService.queryStationLeaveAwayPassengers( + M_SERVICE.queryStationLeaveAwayPassengers( MoGoAiCloudClientConfig.getInstance().serviceAppId, MoGoAiCloudClientConfig.getInstance().token, QueryLeaveAwayPassengersRequest(seq, siteId) @@ -174,7 +174,7 @@ object BusServiceManager { prePassengerTime: Long, callback: OchCommonServiceCallback? ) { - mService.queryWriteOffPassengers( + M_SERVICE.queryWriteOffPassengers( MoGoAiCloudClientConfig.getInstance().serviceAppId, MoGoAiCloudClientConfig.getInstance().token, BusWriteOffPassengersQueryRequest(taskId, siteId, prePassengerTime) @@ -190,7 +190,7 @@ object BusServiceManager { */ @JvmStatic fun queryBusOrders(context: Context, callback: OchCommonServiceCallback?) { - mService.queryBusOrders( + M_SERVICE.queryBusOrders( MoGoAiCloudClientConfig.getInstance().serviceAppId, MoGoAiCloudClientConfig.getInstance().token, MoGoAiCloudClientConfig.getInstance().sn @@ -200,7 +200,7 @@ object BusServiceManager { } @JvmStatic fun queryBusLines(context: Context, callback: OchCommonServiceCallback?) { - mService.queryBusLines( + M_SERVICE.queryBusLines( MoGoAiCloudClientConfig.getInstance().serviceAppId, MoGoAiCloudClientConfig.getInstance().token, MoGoAiCloudClientConfig.getInstance().sn @@ -214,7 +214,7 @@ object BusServiceManager { lineId: String?, callback: OchCommonServiceCallback? ) { - mService.queryBusTaskByLineId( + M_SERVICE.queryBusTaskByLineId( MoGoAiCloudClientConfig.getInstance().serviceAppId, MoGoAiCloudClientConfig.getInstance().token, lineId @@ -231,7 +231,7 @@ object BusServiceManager { points: List?, callback: OchCommonServiceCallback? ) { - mService.updateOrderRoute( + M_SERVICE.updateOrderRoute( MoGoAiCloudClientConfig.getInstance().serviceAppId, MoGoAiCloudClientConfig.getInstance().token, BusRoutePlanningUpdateReqBean( @@ -254,7 +254,7 @@ object BusServiceManager { context: Context, lon: Double, lat: Double, callback: OchCommonServiceCallback? ) { - mService.runCarHeartbeat( + M_SERVICE.runCarHeartbeat( MoGoAiCloudClientConfig.getInstance().serviceAppId, MoGoAiCloudClientConfig.getInstance().token, CarHeartbeatReqBean( diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/constant/BusConst.kt b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/constant/BusConst.kt index e98439b8f1..710bad83c9 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/constant/BusConst.kt +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/constant/BusConst.kt @@ -7,21 +7,6 @@ import com.mogo.commons.debug.DebugConfig */ class BusConst { companion object { - - private const val BASE_URL_OCH_DEV = "http://tech-dev.zhidaohulian.com" - private const val BASE_URL_OCH_QA = "https://tech-qa.zhidaohulian.com" - private const val BASE_URL_OCH_RELEASE = "https://tech.zhidaohulian.com" - - @JvmStatic - fun getBaseUrl(): String { - return when (DebugConfig.getNetMode()) { - DebugConfig.NET_MODE_DEV, DebugConfig.NET_MODE_DEMO -> BASE_URL_OCH_DEV - DebugConfig.NET_MODE_QA -> BASE_URL_OCH_QA - DebugConfig.NET_MODE_RELEASE -> BASE_URL_OCH_RELEASE - else -> BASE_URL_OCH_RELEASE - } - } - // OCH arouter 路由path const val PATH = "/och/api" diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java index ad9e8b5b50..6db0c900ea 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java @@ -4,9 +4,7 @@ import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS import static com.mogo.och.bus.constant.BusConst.TIMER_START_AUTOPILOT_INTERVAL; import android.animation.ObjectAnimator; -import android.content.Intent; import android.os.Bundle; -import android.util.DisplayMetrics; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -21,12 +19,9 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.constraintlayout.widget.Group; -import com.mogo.commons.AbsMogoApplication; -import com.mogo.commons.debug.DebugConfig; import com.mogo.commons.mvp.IView; import com.mogo.commons.mvp.MvpFragment; import com.mogo.commons.mvp.Presenter; -import com.mogo.commons.voice.AIAssist; import com.mogo.eagle.core.data.config.HmiBuildConfig; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotRecordListener; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; @@ -35,26 +30,21 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListener import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager; import com.mogo.eagle.core.function.call.hmi.CallerHmiManager; import com.mogo.eagle.core.function.hmi.ui.widget.TrafficDataView; -import com.mogo.eagle.core.function.v2x.events.scenario.scene.airoad.AiRoadMarker; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; -import com.mogo.eagle.core.utilcode.util.ToastUtils; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; import com.mogo.map.MogoMapUIController; -import com.mogo.map.MogoMarkerManager; import com.mogo.map.listener.IMogoMapListener; import com.mogo.map.uicontroller.VisualAngleMode; import com.mogo.module.common.MogoApisHandler; import com.mogo.eagle.core.utilcode.mogo.view.OnPreventFastClickListener; import com.mogo.och.bus.R; import com.mogo.och.bus.bean.BusRoutesResult; -import com.mogo.och.bus.constant.BusConst; -import com.mogo.och.bus.model.BusOrderModel; +import com.mogo.och.bus.model.OrderModel; import com.mogo.och.bus.util.BDRouteDataTestUtils; import com.mogo.och.bus.view.SlidePanelView; import com.mogo.och.common.module.utils.SoundPoolHelper; import org.greenrobot.eventbus.EventBus; -import org.greenrobot.eventbus.ThreadMode; import mogo.telematics.pad.MessagePad; import record_cache.RecordPanelOuterClass; @@ -544,7 +534,7 @@ public abstract class BaseBusTabFragment if (busTestBar.getVisibility() == View.VISIBLE) { busTestBar.setVisibility(View.GONE); } else { - BusRoutesResult routesResult = BusOrderModel.getInstance().getBusRoutesResult(); + BusRoutesResult routesResult = OrderModel.getInstance().getBusRoutesResult(); lineIdTV.setText("lineId:" + (routesResult == null ? "" : String.valueOf(routesResult.getLineId()))); trajMd5TV.setText("TMd5:" + (routesResult == null ? "" : routesResult.csvFileMd5)); stopMd5TV.setText("SMd5:" + (routesResult == null ? "" : routesResult.txtFileMd5)); @@ -556,7 +546,7 @@ public abstract class BaseBusTabFragment public void updateBusTestBarInfo() { if (busTestBar != null && busTestBar.getVisibility() == View.VISIBLE) { - BusRoutesResult routesResult = BusOrderModel.getInstance().getBusRoutesResult(); + BusRoutesResult routesResult = OrderModel.getInstance().getBusRoutesResult(); lineIdTV.setText("lineId:" + (routesResult == null ? "" : String.valueOf(routesResult.getLineId()))); trajMd5TV.setText("TMd5:" + (routesResult == null ? "" : routesResult.csvFileMd5)); stopMd5TV.setText("SMd5:" + (routesResult == null ? "" : routesResult.txtFileMd5)); diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusLineModel.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusLineModel.java index a0323b8b0f..fe5138ed11 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusLineModel.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusLineModel.java @@ -11,9 +11,8 @@ import com.mogo.och.bus.bean.BusQueryLineTaskResponse; import com.mogo.och.bus.bean.BusQueryLinesResponse; import com.mogo.och.bus.bean.BusRoutesResponse; import com.mogo.och.bus.callback.IBusLinesCallback; -import com.mogo.och.bus.net.BusServiceManager; +import com.mogo.och.bus.net.OrderServiceManager; import com.mogo.och.bus.ui.BusSwitchLineActivity; -import com.mogo.och.bus.util.BusSendTripInfoManager; import com.mogo.och.common.module.biz.network.OchCommonServiceCallback; /** @@ -44,7 +43,7 @@ public class BusLineModel { mBusLinesCallback = callback; } public void queryBusLines(){ - BusServiceManager.queryBusLines(mContext, new OchCommonServiceCallback() { + OrderServiceManager.queryBusLines(mContext, new OchCommonServiceCallback() { @Override public void onSuccess(BusQueryLinesResponse data) { if (null == data && mBusLinesCallback != null) { @@ -83,7 +82,7 @@ public class BusLineModel { * @param position 位置 */ public void queryBusLineTasksById(int lineId, int position,boolean autoRefresh){ - BusServiceManager.queryBusTaskByLineId(mContext, String.valueOf(lineId),new OchCommonServiceCallback() { + OrderServiceManager.queryBusTaskByLineId(mContext, String.valueOf(lineId),new OchCommonServiceCallback() { @Override public void onSuccess(BusQueryLineTaskResponse data) { if (null == data && mBusLinesCallback != null) { @@ -117,7 +116,7 @@ public class BusLineModel { } public void commitSwitchLineId(int taskId,int lineId){ - BusServiceManager.switchLine(mContext,taskId, new OchCommonServiceCallback() { + OrderServiceManager.switchLine(mContext,taskId, new OchCommonServiceCallback() { @Override public void onSuccess(BusRoutesResponse o) { SharedPrefs.getInstance(mContext).putInt(BusSwitchLineActivity.LASTCOMMITLINEID,lineId); diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusLinePresenter.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusLinePresenter.java index 512346c064..9411be65fd 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusLinePresenter.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusLinePresenter.java @@ -11,7 +11,7 @@ import com.mogo.och.bus.bean.BusQueryLineTaskResponse; import com.mogo.och.bus.bean.BusQueryLinesResponse; import com.mogo.och.bus.callback.IBusLinesCallback; import com.mogo.och.bus.model.BusLineModel; -import com.mogo.och.bus.model.BusOrderModel; +import com.mogo.och.bus.model.OrderModel; import com.mogo.och.bus.ui.BusSwitchLineView; import java.util.concurrent.TimeUnit; @@ -30,7 +30,7 @@ public class BusLinePresenter extends Presenter implements IB public BusLinePresenter(BusSwitchLineView view) { super(view); BusLineModel.getInstance().init(); - BusOrderModel.getInstance().init(); + OrderModel.getInstance().init(); } @Override @@ -61,7 +61,7 @@ public class BusLinePresenter extends Presenter implements IB @Override public void onChangeLineIdSuccess() { - BusOrderModel.getInstance().clearBusStationDatas(); + OrderModel.getInstance().clearBusStationDatas(); runOnUIThread(() -> mView.onChangeLineIdSuccess()); } @@ -91,7 +91,7 @@ public class BusLinePresenter extends Presenter implements IB } public void queryBusRoutes(){ - BusOrderModel.getInstance().queryBusRoutes(); + OrderModel.getInstance().queryBusRoutes(); } @Override diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusModelLoopManager.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusModelLoopManager.java index 9baa585f9f..3c8415d86c 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusModelLoopManager.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusModelLoopManager.java @@ -1,12 +1,10 @@ package com.mogo.och.bus.presenter; import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS; -import static com.mogo.och.bus.constant.BusConst.LOOP_DELAY_500; -import static com.mogo.och.bus.constant.BusConst.LOOP_PASSENGER_5S; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.och.bus.constant.BusConst; -import com.mogo.och.bus.model.BusOrderModel; +import com.mogo.och.bus.model.OrderModel; import java.util.concurrent.TimeUnit; @@ -66,7 +64,7 @@ public class BusModelLoopManager { .map((aLong -> aLong + 1)) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) - .subscribe(aLong -> BusOrderModel.getInstance().runCarHeartbeat()); + .subscribe(aLong -> OrderModel.getInstance().runCarHeartbeat()); } public void stopHeartbeatLoop() { diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java index 3f09f3ab14..2512fd5c9e 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java @@ -26,7 +26,7 @@ import com.mogo.och.bus.callback.IPassengerCallback; import com.mogo.och.bus.callback.IRefreshBusStationsCallback; import com.mogo.och.bus.callback.ISlidePannelHideCallback; import com.mogo.och.bus.fragment.BusFragment; -import com.mogo.och.bus.model.BusOrderModel; +import com.mogo.och.bus.model.OrderModel; import com.mogo.och.bus.util.BusTrajectoryManager; import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean; import com.mogo.och.common.module.biz.callback.ILoginCallback; @@ -62,7 +62,7 @@ public class BusPresenter extends Presenter super(view); //2021.11.1 鹰眼架构整合,由IMoGoAutopilotStatusListener逐步替代IMogoAdasOCHCallback接口 CallerAutoPilotStatusListenerManager.INSTANCE.addListener(TAG, this); - BusOrderModel.getInstance().init(); + OrderModel.getInstance().init(); OCHAdasAbilityManager.getInstance().init(AbsMogoApplication.getApp()); } @@ -75,48 +75,48 @@ public class BusPresenter extends Presenter @Override public void onDestroy(@NonNull LifecycleOwner owner) { super.onDestroy(owner); - BusOrderModel.getInstance().release(); + OrderModel.getInstance().release(); releaseListener(); } public void initModelListener() { - BusOrderModel.getInstance().setRefreshBusStationsCallback(this); - BusOrderModel.getInstance().setSlidePanelHideCallback(this); - BusOrderModel.getInstance().setControllerStatusCallback(this); - BusOrderModel.getInstance().setPassengerCallback(this); - BusOrderModel.getInstance().setAdasStatusCallback(this); + OrderModel.getInstance().setRefreshBusStationsCallback(this); + OrderModel.getInstance().setSlidePanelHideCallback(this); + OrderModel.getInstance().setControllerStatusCallback(this); + OrderModel.getInstance().setPassengerCallback(this); + OrderModel.getInstance().setAdasStatusCallback(this); } public void releaseListener() { - BusOrderModel.getInstance().setRefreshBusStationsCallback(null); - BusOrderModel.getInstance().setSlidePanelHideCallback(null); - BusOrderModel.getInstance().setControllerStatusCallback(null); - BusOrderModel.getInstance().setPassengerCallback(null); - BusOrderModel.getInstance().setAdasStatusCallback(null); + OrderModel.getInstance().setRefreshBusStationsCallback(null); + OrderModel.getInstance().setSlidePanelHideCallback(null); + OrderModel.getInstance().setControllerStatusCallback(null); + OrderModel.getInstance().setPassengerCallback(null); + OrderModel.getInstance().setAdasStatusCallback(null); OCHAdasAbilityManager.getInstance().release(); } public void abortTask() { - BusOrderModel.getInstance().abortTask(); + OrderModel.getInstance().abortTask(); } public void autoDriveToNextStation() { currentAutopilotStatus = -1; - BusOrderModel.getInstance().autoDriveToNextStation(); + OrderModel.getInstance().autoDriveToNextStation(); // isRestartAutopilot = false; } public void restartAutopilot() { - if (BusOrderModel.getInstance().isGoingToNextStation()){ + if (OrderModel.getInstance().isGoingToNextStation()){ currentAutopilotStatus = -1; - BusOrderModel.getInstance().restartAutopilot(); + OrderModel.getInstance().restartAutopilot(); // isRestartAutopilot = true; } } // 登出 public void logout() { - BusOrderModel.getInstance().logout(); + OrderModel.getInstance().logout(); } @Override @@ -159,7 +159,7 @@ public class BusPresenter extends Presenter @Override public void onAutopilotArriveAtStation(MessagePad.ArrivalNotification arrivalNotification) { CallerLogger.INSTANCE.e( M_BUS + TAG, "行程日志-onAutopilotArriveAtStation arrive"); - BusOrderModel.getInstance().onArriveAt(arrivalNotification); + OrderModel.getInstance().onArriveAt(arrivalNotification); } @Override @@ -181,7 +181,7 @@ public class BusPresenter extends Presenter if (FunctionBuildConfig.isDemoMode && ( (mCurrentStation >= 0 && mCurrentStation <= mStationList.size() - 1) - && BusOrderModel.getInstance().isGoingToNextStation() + && OrderModel.getInstance().isGoingToNextStation() ) ) { CallerLogger.INSTANCE.d(M_BUS + "BusOrderModel=", "有美化功能"); @@ -196,8 +196,8 @@ public class BusPresenter extends Presenter case IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING: if (currentAutopilotStatus != IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) { currentAutopilotStatus = IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING; - BusOrderModel.getInstance().triggerStartServiceEvent( - BusOrderModel.getInstance().isRestartAutopilot(), true); + OrderModel.getInstance().triggerStartServiceEvent( + OrderModel.getInstance().isRestartAutopilot(), true); } // 改变UI自动驾驶状态 runOnUIThread(() -> mView.onAutopilotStatusChanged(currentAutopilotStatus)); @@ -206,7 +206,7 @@ public class BusPresenter extends Presenter if (FunctionBuildConfig.isDemoMode && ( (mCurrentStation >= 0 && mCurrentStation <= mStationList.size() - 1) - && BusOrderModel.getInstance().isGoingToNextStation() + && OrderModel.getInstance().isGoingToNextStation() ) ) { @@ -284,15 +284,15 @@ public class BusPresenter extends Presenter public void loginSuccess(DriverStatusQueryRespBean data) { CallerLogger.INSTANCE.d(M_BUS + TAG, " loginStatus =" + LoginStatusManager.isLogin()); if(LoginStatusManager.isLogin()){ - BusOrderModel.getInstance().startOrStopOrderLoop(true); - BusOrderModel.getInstance().queryBusRoutes(); + OrderModel.getInstance().startOrStopOrderLoop(true); + OrderModel.getInstance().queryBusRoutes(); }else { BusTrajectoryManager.getInstance().stopTrajReqLoop(); - BusOrderModel.getInstance().startOrStopOrderLoop(false); + OrderModel.getInstance().startOrStopOrderLoop(false); BusTrajectoryManager.getInstance().stopTrajReqLoop(); clearBusStationsMarkers(); mView.hideSlidePanel(); - BusOrderModel.getInstance().closeBeautificationMode(); + OrderModel.getInstance().closeBeautificationMode(); } } diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BDRouteDataTestUtils.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BDRouteDataTestUtils.java index 76d61a56cf..a9ff4aad99 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BDRouteDataTestUtils.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BDRouteDataTestUtils.java @@ -1,6 +1,6 @@ package com.mogo.och.bus.util; -import com.mogo.och.bus.model.BusOrderModel; +import com.mogo.och.bus.model.OrderModel; import org.json.JSONArray; import org.json.JSONException; @@ -37,7 +37,7 @@ public class BDRouteDataTestUtils { builder.setLongitude(s.getDouble("lon")); list.add(builder.build()); } - BusOrderModel.getInstance().debugUpdateOrderRoute(list); + OrderModel.getInstance().debugUpdateOrderRoute(list); } catch (JSONException e) { e.printStackTrace(); } diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java index eaefe8db87..d14ddab493 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java @@ -2,7 +2,6 @@ package com.mogo.och.bus.util; import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS; -import android.annotation.SuppressLint; import android.text.TextUtils; import com.mogo.cloud.passport.MoGoAiCloudClientConfig; diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusTrajectoryManager.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusTrajectoryManager.java index 94ad2be2d1..77c510d279 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusTrajectoryManager.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusTrajectoryManager.java @@ -8,7 +8,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.GsonUtils; import com.mogo.och.bus.bean.BusRoutesResult; import com.mogo.och.bus.constant.BusConst; -import com.mogo.och.bus.model.BusOrderModel; +import com.mogo.och.bus.model.OrderModel; import com.zhidao.socket.utils.LoginStatusUtil; import java.util.concurrent.TimeUnit; @@ -49,10 +49,10 @@ public class BusTrajectoryManager { * 同步Bus路线信息 */ public void syncTrajectoryInfo() { - BusRoutesResult routesResult = BusOrderModel.getInstance().getBusRoutesResult(); + BusRoutesResult routesResult = OrderModel.getInstance().getBusRoutesResult(); if (LoginStatusUtil.isLogin() && routesResult != null - && BusOrderModel.getInstance().getCurrentStationIndex() == 0 - && !BusOrderModel.getInstance().isGoingToNextStation()) { + && OrderModel.getInstance().getCurrentStationIndex() == 0 + && !OrderModel.getInstance().isGoingToNextStation()) { CallerLogger.INSTANCE.d(M_BUS + TAG, "syncTrajectoryInfo() start."); startTrajReqLoop(); } else { @@ -96,7 +96,7 @@ public class BusTrajectoryManager { } private void setupAutoPilotLine() { - BusRoutesResult routesResult = BusOrderModel.getInstance().getBusRoutesResult(); + BusRoutesResult routesResult = OrderModel.getInstance().getBusRoutesResult(); if (routesResult == null) { CallerLogger.INSTANCE.e(M_BUS + TAG, "setupAutoPilotLine(): routesResult is null."); diff --git a/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/bean/BusOrdersResponse.java b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/bean/BusOrdersResponse.java new file mode 100644 index 0000000000..2215a298a5 --- /dev/null +++ b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/bean/BusOrdersResponse.java @@ -0,0 +1,23 @@ +package com.mogo.och.bus.bean; + +import com.mogo.eagle.core.data.BaseData; + +import java.util.List; + +/** + * @author: wangmingjun + * @date: 2021/10/19 + */ +public class BusOrdersResponse extends BaseData { + public Result data; + public static class Result{ + public List orders; + } + + @Override + public String toString() { + return "BusOrdersResponse{" + + "data=" + data + + '}'; + } +} diff --git a/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/bean/BusRoutesResponse.java b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/bean/BusRoutesResponse.java new file mode 100644 index 0000000000..2c9bad3e3c --- /dev/null +++ b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/bean/BusRoutesResponse.java @@ -0,0 +1,27 @@ +package com.mogo.och.bus.bean; + +import com.mogo.eagle.core.data.BaseData; + +/** + * 网约车小巴路线接口请求响应结果 + * + * @author tongchenfei + */ +public class BusRoutesResponse extends BaseData { + private BusRoutesResult data; + + public BusRoutesResult getResult() { + return data; + } + + public void setResult(BusRoutesResult data) { + this.data = data; + } + + @Override + public String toString() { + return "BusRoutesResponse{" + + "data=" + data + + '}'; + } +} diff --git a/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/constant/URLConst.kt b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/constant/URLConst.kt new file mode 100644 index 0000000000..7539ee0a6e --- /dev/null +++ b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/constant/URLConst.kt @@ -0,0 +1,25 @@ +package com.mogo.och.bus.constant + +import com.mogo.commons.debug.DebugConfig + +/** + * Created on 2021/12/6 + */ +class URLConst { + companion object { + + private const val BASE_URL_OCH_DEV = "http://och-driver-dev.zhidaozhixing.com" + private const val BASE_URL_OCH_QA = "https://och-driver-qa.zhidaozhixing.com" + private const val BASE_URL_OCH_RELEASE = "https://och-driver.zhidaozhixing.com" + + @JvmStatic + fun getBaseUrl(): String { + return when (DebugConfig.getNetMode()) { + DebugConfig.NET_MODE_DEV, DebugConfig.NET_MODE_DEMO -> BASE_URL_OCH_DEV + DebugConfig.NET_MODE_QA -> BASE_URL_OCH_QA + DebugConfig.NET_MODE_RELEASE -> BASE_URL_OCH_RELEASE + else -> BASE_URL_OCH_RELEASE + } + } + } +} \ No newline at end of file diff --git a/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/model/OrderModel.java b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/model/OrderModel.java new file mode 100644 index 0000000000..58c921370a --- /dev/null +++ b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/model/OrderModel.java @@ -0,0 +1,1160 @@ +package com.mogo.och.bus.model; + +import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS; +import static com.mogo.och.bus.constant.BusConst.DELAY_10S; +import static com.mogo.och.bus.constant.BusConst.STATION_STATUS_ARRIVING; +import static com.mogo.och.bus.constant.BusConst.STATION_STATUS_STOPPED; + +import android.content.Context; +import android.os.Handler; +import android.os.Message; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import com.alibaba.android.arouter.launcher.ARouter; +import com.amap.api.maps.model.LatLng; +import com.elegant.network.utils.GsonUtil; +import com.mogo.aicloud.services.socket.IMogoOnMessageListener; +import com.mogo.cloud.commons.utils.CoordinateUtils; +import com.mogo.commons.AbsMogoApplication; +import com.mogo.commons.module.status.IMogoStatusChangedListener; +import com.mogo.commons.module.status.MogoStatusManager; +import com.mogo.commons.module.status.StatusDescriptor; +import com.mogo.eagle.core.data.BaseData; +import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters; +import com.mogo.eagle.core.data.config.FunctionBuildConfig; +import com.mogo.eagle.core.data.map.MogoLocation; +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotPlanningListener; +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; +import com.mogo.eagle.core.function.api.map.listener.IMoGoMapLocationListener; +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager; +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; +import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotPlanningListenerManager; +import com.mogo.eagle.core.function.call.map.CallerMapLocationListenerManager; +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; +import com.mogo.eagle.core.utilcode.util.NetworkUtils; +import com.mogo.eagle.core.utilcode.util.ToastUtils; +import com.mogo.eagle.core.utilcode.util.UiThreadHandler; +import com.mogo.och.bus.R; +import com.mogo.och.bus.bean.BusRoutePlanningUpdateReqBean; +import com.mogo.och.bus.bean.BusRoutesResponse; +import com.mogo.och.bus.bean.BusRoutesResult; +import com.mogo.och.bus.bean.BusStationBean; +import com.mogo.och.bus.bean.WriteOffPassenger; +import com.mogo.och.bus.callback.IBusADASStatusCallback; +import com.mogo.och.bus.callback.IBusControllerStatusCallback; +import com.mogo.och.bus.callback.IPassengerCallback; +import com.mogo.och.bus.callback.IRefreshBusStationsCallback; +import com.mogo.och.bus.callback.ISlidePannelHideCallback; +import com.mogo.och.bus.constant.BusConst; +import com.mogo.och.bus.net.OrderServiceManager; +import com.mogo.och.bus.util.BusAnalyticsManager; +import com.mogo.och.bus.util.BusSendTripInfoManager; +import com.mogo.och.bus.util.BusTrajectoryManager; +import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager; +import com.mogo.och.common.module.biz.common.socketmessage.data.OCHOperationalMessage; +import com.mogo.och.common.module.biz.constant.OchCommonConst; +import com.mogo.och.common.module.biz.network.OchCommonServiceCallback; +import com.mogo.och.common.module.biz.provider.LoginService; +import com.mogo.och.common.module.callback.OchAdasStartFailureCallback; +import com.mogo.och.common.module.manager.AbnormalFactorsLoopManager; +import com.mogo.och.common.module.manager.OCHAdasAbilityManager; +import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil; +import com.mogo.och.common.module.utils.DateTimeUtil; +import com.mogo.och.common.module.utils.NumberFormatUtil; +import com.mogo.och.common.module.utils.PinYinUtil; +import com.mogo.och.common.module.utils.ToastUtilsOch; +import com.mogo.och.common.module.voice.VoiceNotice; + +import org.jetbrains.annotations.NotNull; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import io.reactivex.exceptions.UndeliverableException; +import io.reactivex.functions.Consumer; +import io.reactivex.plugins.RxJavaPlugins; +import mogo.telematics.pad.MessagePad; + +/** + * @author congtaowang + * @since 2021/3/23 + *

+ * 小巴订单管理 + */ +public class OrderModel { + private final String TAG = OrderModel.class.getSimpleName(); + private int currentLineId = -1; + private int currentTaskId = -1; + private int backgroundCurrentStationIndex = 0;//A->B 此处值是A站点索引 + + private static volatile OrderModel sInstance; + public double mLongitude = 0; + public double mLatitude = 0; + private Context mContext; + private final List stationList = new ArrayList<>(); + private BusRoutesResult busRoutesResult = null; + /** + * 用来表示是否正在开往下一站 + */ + private boolean isGoingToNextStation = false; + // 运营类型 + private static final int VEHICLE_TYPE = 10; + private static final int MSG_QUERY_BUS_STATION = 1001; + private static final long QUERY_BUS_STATION_DELAY = 5000; + + private IRefreshBusStationsCallback refreshBusStationsCallback; + private ISlidePannelHideCallback slidePanelHideCallback; + private IBusControllerStatusCallback mControllerStatusCallback; //Model->Presenter:VR mode等 + private IPassengerCallback mPassengerCallback; //乘客核销回调 + private IBusADASStatusCallback mADASStatusCallback; + + List points = new ArrayList<>();//全路径信息 + + private volatile boolean isArrivedStation = false; + + //0: 代表没有启动过 1代表是启动第一次,当>=1 代表是重试 每次到站/路线结束清空置为0 + private volatile int firstStartAutopilot = 0; + + private LoginService loginService; + + private final Handler handler = new Handler(new Handler.Callback() { + @Override + public boolean handleMessage(Message msg) { + if (msg.what == MSG_QUERY_BUS_STATION) { + queryBusRoutes(); + return true; + } + return false; + } + }); + + public static OrderModel getInstance() { + if (sInstance == null) { + synchronized (OrderModel.class) { + if (sInstance == null) { + sInstance = new OrderModel(); + } + } + } + return sInstance; + } + + private OrderModel() { + + } + + public void init() { + mContext = AbsMogoApplication.getApp(); + loginService = (LoginService) ARouter.getInstance().build(OchCommonConst.LOGINSERVICE).navigation(); + // 定位监听 + CallerMapLocationListenerManager.INSTANCE.addListener(TAG, mMapLocationListener, false); + + MogoStatusManager.getInstance().registerStatusChangedListener(TAG, StatusDescriptor.VR_MODE, mMogoStatusChangedListener); + + //自动驾驶路线规划接口 + CallerAutopilotPlanningListenerManager.INSTANCE.addListener(TAG, moGoAutopilotPlanningListener); + + //开启自驾后 异常信息返回 + OCHAdasAbilityManager.getInstance().setAdasStartFailureCallback(mAdasStartFailureListener); + + OCHSocketMessageManager.INSTANCE.registerSocketMessageListener(//监听运营消息 + OCHSocketMessageManager.msgMonitorType, + mMogoOnMessageListener); + + OCHSocketMessageManager.INSTANCE.registerSocketMessageListener(//监听核销乘客 + OCHSocketMessageManager.msgWriteOffPassengerType, + mWriteOffPassengeOnMessageListener); + + AbnormalFactorsLoopManager.INSTANCE.startLoopAbnormalFactors(mContext); + + //2022.1.28 + // 调用Disposable.dispose() 时候会出现InterruptedException 导致出现崩溃 + // The exception could not be delivered to the consumer because it has already canceled/disposed + // the flow or the excTeption has nowhere to go to begin with + RxJavaPlugins.setErrorHandler(new Consumer() { + @Override + public void accept(Throwable e) { + if (e instanceof UndeliverableException) { + e = e.getCause(); + CallerLogger.INSTANCE.d(M_BUS + TAG, "UndeliverableException"); + } + if ((e instanceof IOException)) {// + // fine, irrelevant network problem or API that throws on cancellation + CallerLogger.INSTANCE.d(M_BUS + TAG, "IOException"); + return; + } + if (e instanceof InterruptedException) { + // fine, some blocking code was interrupted by a dispose call + CallerLogger.INSTANCE.d(M_BUS + TAG, "InterruptedException"); + return; + } + if ((e instanceof NullPointerException) || (e instanceof IllegalArgumentException)) { + // that's likely a bug in the application + CallerLogger.INSTANCE.d(M_BUS + TAG, "NullPointerException or IllegalArgumentException"); + Thread.currentThread().getUncaughtExceptionHandler().uncaughtException(Thread.currentThread(), e); + return; + } + if (e instanceof IllegalStateException) { + // that's a bug in RxJava or in a custom operator + CallerLogger.INSTANCE.d(M_BUS + TAG, "IllegalStateException"); + Thread.currentThread().getUncaughtExceptionHandler().uncaughtException(Thread.currentThread(), e); + return; + } + CallerLogger.INSTANCE.d(M_BUS + TAG, "Undeliverable exception"); + } + }); + } + + private final IMogoOnMessageListener mMogoOnMessageListener = + new IMogoOnMessageListener() { + @Override + public Class target() { + return OCHOperationalMessage.class; + } + + @Override + public void onMsgReceived(OCHOperationalMessage obj) { + if (obj == null){ + CallerLogger.INSTANCE.d(M_BUS + TAG, "onMsgReceived = null"); + return; + } + CallerLogger.INSTANCE.i(M_BUS + TAG,"onMsgReceived = "+obj.getMessage()); + OCHSocketMessageManager.INSTANCE.pushAppOperationalMsgBox(obj.getPushTimeStamp(), + obj.getMessage()); + } + }; + + private final IMogoOnMessageListener mWriteOffPassengeOnMessageListener = + new IMogoOnMessageListener() { + @Override + public Class target() { + return WriteOffPassenger.class; + } + + @Override + public void onMsgReceived(WriteOffPassenger passenger) { + //进行播报 + CallerLogger.INSTANCE.i(M_BUS + TAG,"passenger = "+ GsonUtil.jsonFromObject(passenger)); + if (passenger != null && passenger.passengerSize == 0) return; + if (mPassengerCallback != null){ + mPassengerCallback.playPassenger(passenger); + } + } + }; + + public void setAdasStatusCallback(IBusADASStatusCallback callback){ + this.mADASStatusCallback = callback; + } + + public void setRefreshBusStationsCallback(IRefreshBusStationsCallback callback){ + this.refreshBusStationsCallback = callback; + } + + public void setPassengerCallback(IPassengerCallback callback) { + this.mPassengerCallback = callback; + } + + public void setSlidePanelHideCallback(ISlidePannelHideCallback callback) { + this.slidePanelHideCallback = callback; + } + + public void setControllerStatusCallback(IBusControllerStatusCallback callback) { + this.mControllerStatusCallback = callback; + } + + private final IMoGoAutopilotPlanningListener moGoAutopilotPlanningListener = new IMoGoAutopilotPlanningListener() { + + @Override + public void onAutopilotTrajectory(@NonNull List trajectoryInfos) { + + } + + @Override + public void onAutopilotRotting(MessagePad.GlobalPathResp routeList) { + if (null != routeList && routeList.getWayPointsList().size() > 0) { + points.clear(); + points.addAll(coordinateConverterWgsToGcjList(mContext, routeList.getWayPointsList())); + } + } + + }; + + public static List coordinateConverterWgsToGcjList(Context mContext, List mogoLatLngList) { + List points = new ArrayList<>(); + for (MessagePad.Location m : mogoLatLngList) { + LatLng mogoLatLng = CoordinateCalculateRouteUtil.coordinateConverterWgsToGcj(mContext, m); + BusRoutePlanningUpdateReqBean.Result result = new BusRoutePlanningUpdateReqBean.Result(); + result.latitude = mogoLatLng.latitude; + result.longitude = mogoLatLng.longitude; + points.add(result); + } + return points; + } + + public void debugUpdateOrderRoute(List list) { + points.clear(); + points.addAll(coordinateConverterWgsToGcjList(mContext, list)); + } + + public void release() { + + MogoStatusManager.getInstance().unregisterStatusChangedListener(TAG, StatusDescriptor.VR_MODE, mMogoStatusChangedListener); + + // 注销定位监听 + CallerMapLocationListenerManager.INSTANCE.removeListener(TAG,false); + + //自动驾驶路线规划接口 + CallerAutopilotPlanningListenerManager.INSTANCE.removeListener(moGoAutopilotPlanningListener); + loginService = null; + + OCHAdasAbilityManager.getInstance().setAdasStartFailureCallback(null); + + OCHSocketMessageManager.INSTANCE.releaseSocketMessageListener( + OCHSocketMessageManager.msgMonitorType); + OCHSocketMessageManager.INSTANCE.releaseSocketMessageListener( + OCHSocketMessageManager.msgWriteOffPassengerType); + + AbnormalFactorsLoopManager.INSTANCE.stopLoopAbnormalFactors(); + } + + private Object readResolve() { + // 阻止反序列化,必须实现 Serializable 接口 + return sInstance; + } + + private final IMogoStatusChangedListener mMogoStatusChangedListener = new IMogoStatusChangedListener() { + // VR mode变更回调 + @Override + public void onStatusChanged(StatusDescriptor descriptor, boolean isTrue) { + if (StatusDescriptor.VR_MODE == descriptor) { + if (mControllerStatusCallback != null) { + mControllerStatusCallback.onVRModeChanged(isTrue); + } + } + } + }; + + private final OchAdasStartFailureCallback mAdasStartFailureListener = new OchAdasStartFailureCallback() { + @Override + public void onStartAutopilotFailure(@NotNull String startFailedCode, @NonNull String startFailedMessage) { + BusAnalyticsManager.getInstance().triggerStartAutopilotFailureEventByAdas(startFailedCode, startFailedMessage); + if (mADASStatusCallback != null && !FunctionBuildConfig.isDemoMode){ + CallerLogger.INSTANCE.e( M_BUS + TAG, "mAdasStartFailureListener = "+startFailedMessage ); + mADASStatusCallback.onStartAdasFailure(); + } + } + }; + + // 自车定位 + private final IMoGoMapLocationListener mMapLocationListener = new IMoGoMapLocationListener() { + @Override + public void onLocationChanged(@Nullable MogoLocation location, int from, boolean isGps) { + if (null == location) return; + mLongitude = location.getLongitude(); + mLatitude = location.getLatitude(); + if (mControllerStatusCallback != null) { + mControllerStatusCallback.onCarLocationChanged(location); + } + + //是否到站的围栏判断 离站状态并且自动驾驶还未触发到站 + if (isGoingToNextStation && !isArrivedStation) { + judgeArrivedStation(location); + } + } + }; + + //根据围栏判断,是否到达站点 + private void judgeArrivedStation(MogoLocation location) { + + if (backgroundCurrentStationIndex + 1 > stationList.size() - 1) { + CallerLogger.INSTANCE.e(M_BUS + TAG, "到站数组越界"); + return; + } + BusStationBean upcomingStation = stationList.get(backgroundCurrentStationIndex + 1); + + double startLon = upcomingStation.getGcjLon(); + double startLat = upcomingStation.getGcjLat(); + double distance = CoordinateUtils.calculateLineDistance( + startLon, startLat, + location.getLongitude(), location.getLatitude()); + + if (distance <= BusConst.ARRIVE_AT_END_STATION_DISTANCE) { + CallerLogger.INSTANCE.d(M_BUS + TAG, "行程日志-judgeArrivedStation() distance = " + distance + + " to " + upcomingStation.getName()); + onArriveAt(null); //无自动驾驶到站信息传null + return; + } + } + + /** + * 查询小巴路线 + */ + public void queryBusRoutes() { + CallerLogger.INSTANCE.d(M_BUS + TAG, "查询小巴路线"); + OrderServiceManager.queryBusRoutes(mContext, new OchCommonServiceCallback() { + @Override + public void onSuccess(BusRoutesResponse data) { + if (data == null + || data.getResult() == null + || data.getResult().getSites() == null + || data.getResult().getSites().isEmpty()) { + //当为空时,显示无绑定路线图 + CallerLogger.INSTANCE.d(M_BUS + TAG, "获取到小巴路线数据:空 "); + if (refreshBusStationsCallback != null) { + refreshBusStationsCallback.updateEmptyUi(); + } + clearAutopilotControlParameters(); + closeBeautificationMode(); + clearStartAutopilotTag(); + removeTipRunnables(); + return; + } + CallerLogger.INSTANCE.d(M_BUS + TAG, "获取到小巴路线数据: " + data); + updateBusStatus(data.getResult()); + } + + + @Override + public void onError() { + if (!NetworkUtils.isConnected(mContext)) { + ToastUtils.showShort(mContext.getString(R.string.network_error_tip)); + } else { + ToastUtils.showShort(mContext.getString(R.string.request_error_tip)); + } + } + + @Override + public void onFail(int code, String failMsg) { + if (!NetworkUtils.isConnected(mContext)) { + ToastUtils.showShort("网络异常,请稍后重试"); + }else { + ToastUtils.showShort(failMsg); + } + } + }); + + } + + /** + * 更新正在运行的任务UI + * + * @param stations + */ + private void updateBusTaskStatus(List stations) { + + int arrivingOrArrivedStationIndex = 0;//已经到站或者即将到站的索引呢 + + for (int i = 0; i < stations.size(); i++) { + BusStationBean station = stations.get(i); + + if (i == 0) { // 首发站 显示在最上面 + if (station.getDrivingStatus() == STATION_STATUS_STOPPED + && !station.isLeaving()) { //到达第一站 + arrivingOrArrivedStationIndex = i; + break; + } + } else { + BusStationBean preStation = stations.get(i - 1); + if ((station.getDrivingStatus() == STATION_STATUS_STOPPED && !station.isLeaving()) + || (station.getDrivingStatus() == STATION_STATUS_ARRIVING + && preStation.isLeaving())) { + //到站未离开 | 即将到站 显示在最中间 + arrivingOrArrivedStationIndex = i; + break; + } + } + } + + BusStationBean arrivingOrArrivedStation = stations.get(arrivingOrArrivedStationIndex); + + String lineTime = DateTimeUtil.formatLongToString( + busRoutesResult.getTaskTime(), + DateTimeUtil.TAXI_HH_mm); + + if (arrivingOrArrivedStationIndex == 0 || + arrivingOrArrivedStation.getDrivingStatus() == STATION_STATUS_STOPPED + && !arrivingOrArrivedStation.isLeaving()) { + if (refreshBusStationsCallback != null) { + refreshBusStationsCallback.updateBusTaskStatus(busRoutesResult.getName(), lineTime, + stationList, arrivingOrArrivedStationIndex, true); + } + clearAutopilotControlParameters(); + } else { + if (refreshBusStationsCallback != null) { + refreshBusStationsCallback.updateBusTaskStatus(busRoutesResult.getName(), lineTime, + stationList, arrivingOrArrivedStationIndex, false); + } + updateAutopilotControlParameters(); + } + } + + /** + * 重置路线站点状态--结束路线,当前路线恢复到始发站 + */ + public void abortTask() { + CallerLogger.INSTANCE.d(M_BUS + TAG, "结束当前路线abortTask"); + OrderServiceManager.abortTask(mContext, currentTaskId + , new OchCommonServiceCallback() { + @Override + public void onSuccess(BaseData o) { + CallerLogger.INSTANCE.d(M_BUS + TAG, "abortTask success: " + o); + if (o.code == 0) { // 重置成功 + endOrAbortTaskSuccess(); + clearBusStationDatas(); + queryBusRoutes(); + removeTipRunnables(); + // startOrStopQueryPassengerWriteOff(false); + } + } + + @Override + public void onError() { + if (!NetworkUtils.isConnected(mContext)) { + ToastUtils.showShort(mContext.getString(R.string.network_error_tip)); + } else { + ToastUtils.showShort(mContext.getString(R.string.request_error_tip)); + } + } + + @Override + public void onFail(int code, String failMsg) { + if (!NetworkUtils.isConnected(mContext)) { + ToastUtils.showShort("网络异常,请稍后重试"); + }else { + ToastUtils.showShort(failMsg); + } + } + }); + + } + + /** + * 中断或者正常结束任务后的处理 + */ + private void endOrAbortTaskSuccess() { + + isGoingToNextStation = false; + backgroundCurrentStationIndex = 0; + + if (busRoutesResult != null) { + BusSendTripInfoManager.INSTANCE.sendBusTripInfo(BusSendTripInfoManager.END_TRIP + , busRoutesResult.getName() + , "" + , "" + , false); + } + } + + /** + * 离站上报成功后渲染站点 + * 服务端返回的OchBusRoutesResult逻辑, 离开站为当前站, 到达下一站后才会将下一站置为当前站, + * 车机端展示是离开当前站,下一站设置为当前站, 所以服务端数据回来要做处理,不能直接渲染 + */ + private void leaveStationSuccess(int leaveIndex, String leaveStation, String nextStation) { + + onStartAutopilot(leaveIndex); + + leaveTTSTips(nextStation); + + if (busRoutesResult != null) { + boolean isLastStop = false; + if (leaveIndex + 1 == stationList.size() - 1) { + isLastStop = true; + } + //给bus外屏发送 + BusSendTripInfoManager.INSTANCE.sendBusTripInfo(BusSendTripInfoManager.LEAVE_STATION + , busRoutesResult.getName() + , leaveStation + , nextStation + , isLastStop); + } + } + + private void onStartAutopilot(int leaveIndex) { + //开启自动驾驶 2.10.0: 如果自动驾驶状态下开启, 非自动驾驶状态下不开启,需手动点击自动驾驶按钮开启 + isGoingToNextStation = true; + if (CallerAutoPilotStatusListenerManager.INSTANCE.getAutoPilotStatusInfo().getState() + == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) { + startAutopilot(false, leaveIndex); + } else { + firstStartAutopilot = 0; + } + } + + /** + * 开启自动驾驶 + * + * @param isRestart + */ + private void startAutopilot(boolean isRestart, int leaveIndex) { + + if (!FunctionBuildConfig.isDemoMode && !OCHAdasAbilityManager.getInstance().getAutopilotAbilityStatus()) { + ToastUtils.showLong(OCHAdasAbilityManager.getInstance().getAutopilotUnAbilityReason() + + ", 请稍候重试"); + triggerUnableStartAPReasonEvent(); + return; + } + + firstStartAutopilot++; + + triggerStartServiceEvent(isRestart, false); + + AutopilotControlParameters parameters = initAutopilotControlParameters(leaveIndex); + if (null == parameters) { + CallerLogger.INSTANCE.e(M_BUS + TAG, "行程日志-AutopilotControlParameters is empty."); + return; + } + + CallerAutoPilotManager.INSTANCE.startAutoPilot(parameters); + + CallerLogger.INSTANCE.d(M_BUS + TAG, "行程日志-开启自动驾驶====" + GsonUtil.jsonFromObject(parameters) + + " startLatLon=" + parameters.startName + ",endLatLon=" + parameters.endName + + "isRestart = " + isRestart); + + if (mControllerStatusCallback != null) { + mControllerStatusCallback.startOpenAutopilot(); + } + } + + /** + * 到站后重置站点状态 + */ + private void arriveSiteStation() { + if ( backgroundCurrentStationIndex +1 > stationList.size() - 1 ) { //到站短时间内调用多次 + CallerLogger.INSTANCE.e( M_BUS + TAG, "数组越界" ); + return; + } + int arrivedStationIndex = backgroundCurrentStationIndex + 1; + String arriveStation = stationList.get(arrivedStationIndex).getName(); + String departureStopName = stationList.get(backgroundCurrentStationIndex).getName(); + CallerLogger.INSTANCE.d(M_BUS + TAG, "arriveSiteStation-currentStationIndex = " + arrivedStationIndex); + + OrderServiceManager.arriveSiteStation(mContext, + stationList.get(arrivedStationIndex).getSeq(), + stationList.get(arrivedStationIndex).getSiteId(), + currentTaskId, + new OchCommonServiceCallback() { + @Override + public void onSuccess(BaseData o) { + CallerLogger.INSTANCE.d(M_BUS + TAG, "行程日志-arriveSiteStation success"); + if (o != null && o.code == 0){ + queryBusRoutes(); + isArrivedStation = true; + isGoingToNextStation = false; + arriveStationSuccess(arrivedStationIndex, departureStopName, arriveStation); + } + //5s轮询核销乘客 +// startOrStopQueryPassengerWriteOff(true); + } + + @Override + public void onError() { + if (!NetworkUtils.isConnected(mContext)) { + ToastUtils.showShort(mContext.getString(R.string.network_error_tip)); + } else { + ToastUtils.showShort(mContext.getString(R.string.request_error_tip)); + } + } + + @Override + public void onFail(int code, String failMsg) { + if (ToastUtilsOch.isCustomFastClick(5000)) { + if (!NetworkUtils.isConnected(mContext)) { + ToastUtils.showShort("网络异常,请稍后重试"); + } else { + if (isArrivedStation) return; + ToastUtils.showShort(failMsg); + } + } + } + }); + } + + private void arriveStationSuccess(int arrivedStationIndex, String departureStopName, String arriveStation) { + if (busRoutesResult != null) { + boolean isLastStop = false; + if (arrivedStationIndex == busRoutesResult.getSites().size() - 1) { + isLastStop = true; + } + //给bus外屏发送 + BusSendTripInfoManager.INSTANCE.sendBusTripInfo(BusSendTripInfoManager.ARRIVE_STATION + , busRoutesResult.getName() + , departureStopName + , arriveStation + , isLastStop); + } + + VoiceNotice.showNotice(String.format(mContext + .getString(R.string.bus_arrived_station_tip), + arriveStation)); + } + + /** + * 离站上报 + */ + public void leaveStation() { + CallerLogger.INSTANCE.d(M_BUS + TAG, "leaveStation-backgroundCurrentStationIndex = " + backgroundCurrentStationIndex); + String nextStationName = ""; + if (backgroundCurrentStationIndex < stationList.size() - 1) { + nextStationName = stationList.get(backgroundCurrentStationIndex + 1).getName(); + } + final String currentStationName = stationList.get(backgroundCurrentStationIndex).getName(); + String finalNextStationName = nextStationName; + OrderServiceManager.leaveStation(mContext, + stationList.get(backgroundCurrentStationIndex).getSeq(), + stationList.get(backgroundCurrentStationIndex).getSiteId(), + currentTaskId, + new OchCommonServiceCallback() { + @Override + public void onSuccess(BaseData o) { + isArrivedStation = false; + CallerLogger.INSTANCE.d(M_BUS + TAG, "行程日志-离站成功开往下一站===="); + //需要更改当前站和下一站的状态 然后渲染 + //startOrStopQueryPassengerWriteOff(false); + queryBusRoutes(); + leaveStationSuccess(backgroundCurrentStationIndex, currentStationName, finalNextStationName); + } + + + @Override + public void onError() { + if (!NetworkUtils.isConnected(mContext)) { + ToastUtils.showShort(mContext.getString(R.string.network_error_tip)); + } else { + ToastUtils.showShort(mContext.getString(R.string.request_error_tip)); + } + } + + @Override + public void onFail(int code, String failMsg) { + if (!NetworkUtils.isConnected(mContext)) { + ToastUtils.showShort("网络异常,请稍后重试"); + } else { + ToastUtils.showShort("离站上报失败:" + failMsg); + } + } + }); + } + + //车站10s后播报 + private void leaveTTSTips(String nextStation) { + VoiceNotice.showNotice(String.format(mContext + .getString(R.string.bus_leave_station_tip), + nextStation), DELAY_10S); + } + + /** + * 关闭美化模式 + */ + public void closeBeautificationMode() { + if (FunctionBuildConfig.isDemoMode) {//收车结束美化 + FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData = false; //是否强制绘制引导线 + CallerAutoPilotManager.INSTANCE.setIgnoreConditionDraw(false);// 同步给乘客屏 + CallerAutoPilotManager.INSTANCE.setIPCDemoMode(false);//是否自动启动自驾 + CallerLogger.INSTANCE.d(M_BUS + TAG, "美化模式-ignore:置为false"); + } + } + + /** + * 开启自动驾驶到下一站 + */ + public void autoDriveToNextStation() { + if (backgroundCurrentStationIndex >= stationList.size() - 1) { + // 当前站是最后一站,结束当前行程 + travelOver(); + return; + } + leaveStation(); + } + + /** + * 渲染站点信息 + * 服务端返回的OchBusRoutesResult逻辑, 离开站为当前站, 到达下一站后才会将下一站置为当前站, + * 车机端展示 三站: 中间为即将到到达或者刚到达的站 + * + * @param result + */ + private void updateBusStatus(BusRoutesResult result) { + if (result == null) return; + busRoutesResult = result; + List site = result.getSites(); + currentTaskId = result.getTaskId(); + currentLineId = result.getLineId(); + stationList.clear(); + stationList.addAll(site); + + for (int i = 0; i < stationList.size(); i++) { + BusStationBean s = stationList.get(i); + + CallerLogger.INSTANCE.d(M_BUS + "updateBusStationsStatus--", + "Index=" + i + " ,name = " + s.getName() + " ," + s.isLeaving() + "," + s.getDrivingStatus()); + + // 是否正在开往下一站 + if (s.isLeaving()) { + isGoingToNextStation = true; + } + // 当前站点信息 + if (s.getDrivingStatus() == STATION_STATUS_STOPPED) { + backgroundCurrentStationIndex = i; + break; + } + } + + if (backgroundCurrentStationIndex == 0 && + stationList.get(0).getDrivingStatus() == STATION_STATUS_STOPPED + && !stationList.get(0).isLeaving()) { //默认是第一站到站查询 + if (busRoutesResult != null) { // 第一站到站也是行程开始的时候 + BusSendTripInfoManager.INSTANCE.sendBusTripInfo(BusSendTripInfoManager.START_TRIP + , busRoutesResult.getName(), "", "", false); + } + + //任务选择后首发前给司机提示任务 + if (busRoutesResult != null){ + beforeTaskTips(); + } +// startOrStopQueryPassengerWriteOff(true); + }else { + removeTipRunnables(); + } + + BusStationBean currentStation = stationList.get(backgroundCurrentStationIndex); + + CallerLogger.INSTANCE.d(M_BUS + TAG, + "行程日志-STATION_STATUS_STOPPED-backgroundCurrentStationIndex=" + + backgroundCurrentStationIndex + + " isLeaving()=" + currentStation.isLeaving()); + + // 美化是否开始 + if (FunctionBuildConfig.isDemoMode && (backgroundCurrentStationIndex >= 0 + && backgroundCurrentStationIndex <= stationList.size() - 1)) {//行驶过程中设置美化 + if (stationList.get(backgroundCurrentStationIndex).isLeaving()) { + startBeautificationMode(); + CallerLogger.INSTANCE.d(M_BUS + TAG, "美化模式-ignore:置为true(每次滑动出发)"); + } else if (backgroundCurrentStationIndex > 0 && backgroundCurrentStationIndex < stationList.size() - 1) { + //美化模式下 中间站点到站 引导线要一直绘制,所以此处不出强制绘制不传false + CallerAutoPilotManager.INSTANCE.setIPCDemoMode(false); + CallerLogger.INSTANCE.d(M_BUS + TAG, "美化模式-ignore:false(到达中间站)"); + clearStartAutopilotTag(); + } else { + closeBeautificationMode(); + clearStartAutopilotTag(); + } + } + + + if (currentStation.isLeaving() && slidePanelHideCallback != null) { + slidePanelHideCallback.hideSlidePanel(); + } + + //更新bus路线面板 + updateBusTaskStatus(stationList); + + //需放在currentStationIndex赋值之后 + BusTrajectoryManager.getInstance().syncTrajectoryInfo(); + } + + private void beforeTaskTips() { + if (busRoutesResult == null) return; + + removeTipRunnables(); + + long taskTime = busRoutesResult.getTaskTime(); + long tip3Time = taskTime- 3*60*1000 - DateTimeUtil.getCurrentTimeStamp(); // 首站离开前3分钟提示 + long tip1Time = taskTime-60*1000 - DateTimeUtil.getCurrentTimeStamp(); // 首站离开前1分钟提示 + + if (tip3Time > 0){ + UiThreadHandler.postDelayed(tip3Runnable,tip3Time); + } + + if (tip1Time > 0){ + UiThreadHandler.postDelayed(tip1Runnable,tip1Time); + } + } + + Runnable tip3Runnable = new Runnable() { + @Override + public void run() { + + if (backgroundCurrentStationIndex == 0 && stationList.get(0).getDrivingStatus() == STATION_STATUS_STOPPED + && !stationList.get(0).isLeaving()){ + tipStartTask("3"); + }else { + removeTipRunnables(); + } + } + }; + + private void tipStartTask(String s) { + String tips = String.format(mContext + .getString(R.string.bus_before_tips_s), s); + //展示在运营消息 + OCHSocketMessageManager.INSTANCE.pushAppOperationalMsgBox( + DateTimeUtil.getCurrentTimeStamp(), + tips); + //语音提示 + VoiceNotice.showNotice(tips); + } + + Runnable tip1Runnable = new Runnable() { + @Override + public void run() { + if (backgroundCurrentStationIndex == 0 && stationList != null && + stationList.get(0).getDrivingStatus() == STATION_STATUS_STOPPED + && !stationList.get(0).isLeaving()){ + tipStartTask("1"); + }else { + removeTipRunnables(); + } + } + }; + + public void removeTipRunnables(){ + if (tip3Runnable != null){ + UiThreadHandler.removeCallbacks(tip3Runnable); + } + if (tip1Runnable != null){ + UiThreadHandler.removeCallbacks(tip1Runnable); + } + } + + private void clearStartAutopilotTag() { + firstStartAutopilot = 0; + } + + private void startBeautificationMode() { + FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData = true; + CallerAutoPilotManager.INSTANCE.setIgnoreConditionDraw(true); + CallerAutoPilotManager.INSTANCE.setIPCDemoMode(true); + } + + public void clearBusStationDatas() { + if (refreshBusStationsCallback != null) { + refreshBusStationsCallback.clearBusStationsMarkers(); + } + } + + /** + * 延时查询站点信心 + */ + private void queryBusStationDelay() { + handler.sendEmptyMessageDelayed(MSG_QUERY_BUS_STATION, QUERY_BUS_STATION_DELAY); + } + + /** + * 在踩刹车、控制方向盘等操作后,会停止自动驾驶,重启自动驾驶的话相当于重新设置自动驾驶目的地 + */ + public void restartAutopilot() { + CallerLogger.INSTANCE.d(M_BUS + TAG, "行程日志-重启自动驾驶===" + isGoingToNextStation); + //只去启动自动驾驶,不再去上报离站 + startAutopilot(firstStartAutopilot >= 1, -1); + } + + public boolean isRestartAutopilot() { + return firstStartAutopilot > 1; + } + + /** + * 行程结束 + */ + private void travelOver() { + + if (backgroundCurrentStationIndex >= stationList.size()) { + CallerLogger.INSTANCE.e(M_BUS + TAG, "travel over index out of station list"); + return; + } + CallerLogger.INSTANCE.d(M_BUS + TAG, "单程结束===="); + CallerAutoPilotManager.INSTANCE.cancelAutoPilot(); + + endTask(); + } + + /** + * task正常结束 + */ + private void endTask() { + CallerLogger.INSTANCE.d(M_BUS + TAG, "任务正常走完endTask()"); + OrderServiceManager.endTask(mContext, currentTaskId + , new OchCommonServiceCallback() { + @Override + public void onSuccess(BaseData o) { + CallerLogger.INSTANCE.d(M_BUS + TAG, "endTask success: " + o); + if (o.code == 0) { + endOrAbortTaskSuccess(); + clearBusStationDatas(); + queryBusRoutes();// 重新获取任务 + removeTipRunnables(); +// startOrStopQueryPassengerWriteOff(false); + VoiceNotice.showNotice(mContext.getString(R.string.bus_end_task_tip)); + } + } + + @Override + public void onError() { + if (!NetworkUtils.isConnected(mContext)) { + ToastUtils.showShort(mContext.getString(R.string.network_error_tip)); + } else { + ToastUtils.showShort(mContext.getString(R.string.request_error_tip)); + } + } + + @Override + public void onFail(int code, String failMsg) { + if (!NetworkUtils.isConnected(mContext)) { + ToastUtils.showShort("网络异常,请稍后重试"); + }else { + ToastUtils.showShort(failMsg); + } + } + }); + } + + /** + * 到站 + * + * @param data + */ + public void onArriveAt(MessagePad.ArrivalNotification data) { + if (backgroundCurrentStationIndex + 1 > stationList.size() - 1) { + CallerLogger.INSTANCE.e(M_BUS + TAG, "行程日志-到站异常,取消后续操作结束"); + return; + } + + //MAP 280 每隔100ms左右返回一次到站, 导致在到达中间站后再次滑动出发后会有时间差,收到一次到站,出现问题 + //此处比对 自驾告诉的到站站点坐标和本地应到站站点坐标, 一致时才能到站 + if (data != null && data.getEndLocation() != null) { + + String latitude = NumberFormatUtil.cutOutNumber(data.getEndLocation().getLatitude(), 5); //wgs + String longitude = NumberFormatUtil.cutOutNumber(data.getEndLocation().getLongitude(), 5); + + int arrivedStationIndex = backgroundCurrentStationIndex + 1; + BusStationBean arriveStation = stationList.get(arrivedStationIndex); + String arriveLat = NumberFormatUtil.cutOutNumber(arriveStation.getLat(), 5); + String arriveLon = NumberFormatUtil.cutOutNumber(arriveStation.getLon(), 5); + + if (!latitude.equals(arriveLat) || !longitude.equals(arriveLon)) { + CallerLogger.INSTANCE.e(M_BUS + TAG, "行程日志-到站拦截,到站坐标不一致"); + return; + } + } + + if (isArrivedStation) return; + + CallerLogger.INSTANCE.d(M_BUS + TAG, "行程日志-当前==backgroundCurrentStationIndex=" + + backgroundCurrentStationIndex); + + arriveSiteStation(); + } + + public boolean isGoingToNextStation() { + return isGoingToNextStation; + } + + // 登出 + public void logout() { + loginService.loginOut(mLatitude, mLongitude); + } + + public void triggerStartServiceEvent(boolean isRestart, boolean send) { + if (stationList == null || backgroundCurrentStationIndex >= stationList.size() - 1) { + return; + } + BusStationBean currentStation = stationList.get(backgroundCurrentStationIndex); + BusStationBean nextStation = stationList.get(backgroundCurrentStationIndex + 1); + BusAnalyticsManager.getInstance().triggerStartAutopilotEvent(isRestart, send, + currentStation.getName(), nextStation.getName(), currentLineId); + } + + public void triggerUnableStartAPReasonEvent() { + if (stationList == null || backgroundCurrentStationIndex >= stationList.size() - 1) { + return; + } + BusStationBean currentStation = stationList.get(backgroundCurrentStationIndex); + BusStationBean nextStation = stationList.get(backgroundCurrentStationIndex + 1); + BusAnalyticsManager.getInstance().triggerUnableStartAPReasonEvent( + currentStation.getName(), nextStation.getName(), currentLineId, + OCHAdasAbilityManager.getInstance().getAutopilotUnAbilityReason()); + } + + public BusRoutesResult getBusRoutesResult() { + return busRoutesResult; + } + + public int getCurrentStationIndex() { + return backgroundCurrentStationIndex; + } + + /** + * 将业务订单信息保存,鹰眼可取用 + */ + private void updateAutopilotControlParameters() { + + AutopilotControlParameters parameters = initAutopilotControlParameters(-1); + if (null == parameters) { + CallerLogger.INSTANCE.e(M_BUS + TAG, "AutopilotControlParameters is empty."); + return; + } + CallerLogger.INSTANCE.d(M_BUS + TAG, "AutopilotControlParameters is update."); + CallerAutoPilotStatusListenerManager.INSTANCE.updateAutopilotControlParameters(parameters); + } + + private void clearAutopilotControlParameters() { + CallerLogger.INSTANCE.d(M_BUS + TAG, "AutopilotControlParameters is clear."); + CallerAutoPilotStatusListenerManager.INSTANCE.updateAutopilotControlParameters(null); + } + + private AutopilotControlParameters initAutopilotControlParameters(int leaveIndex) { + BusStationBean currentStation = null; + BusStationBean nextStation = null; + + if (leaveIndex < 0) { + if (backgroundCurrentStationIndex + 1 > stationList.size() - 1 || !isGoingToNextStation) { + CallerLogger.INSTANCE.e(M_BUS + TAG, "行程日志-mismatch condition1."); + return null; + } + currentStation = stationList.get(backgroundCurrentStationIndex); + nextStation = stationList.get(backgroundCurrentStationIndex + 1); + } else { + if (leaveIndex + 1 > stationList.size() - 1 || !isGoingToNextStation) { + CallerLogger.INSTANCE.e(M_BUS + TAG, "行程日志-mismatch condition2."); + return null; + } + currentStation = stationList.get(leaveIndex); + nextStation = stationList.get(leaveIndex + 1); + } + + AutopilotControlParameters parameters = new AutopilotControlParameters(); + parameters.routeID = busRoutesResult.getLineId(); + parameters.routeName = busRoutesResult.getName(); + parameters.startName = PinYinUtil.getPinYinHeadChar(currentStation.getName()); + parameters.endName = PinYinUtil.getPinYinHeadChar(nextStation.getName()); + parameters.startLatLon = new AutopilotControlParameters + .AutoPilotLonLat(currentStation.getLat(), currentStation.getLon()); + parameters.endLatLon = new AutopilotControlParameters + .AutoPilotLonLat(nextStation.getLat(), nextStation.getLon()); + parameters.vehicleType = VEHICLE_TYPE; + if (parameters.autoPilotLine == null) { + parameters.autoPilotLine = new AutopilotControlParameters.AutoPilotLine( + busRoutesResult.getLineId(), + busRoutesResult.csvFileUrl, busRoutesResult.csvFileMd5, + busRoutesResult.txtFileUrl, busRoutesResult.txtFileMd5, + busRoutesResult.contrailSaveTime, busRoutesResult.carModel, + busRoutesResult.csvFileUrlDPQP, busRoutesResult.csvFileMd5DPQP, + busRoutesResult.txtFileUrlDPQP, busRoutesResult.txtFileMd5DPQP, + busRoutesResult.contrailSaveTimeDPQP); + } + + return parameters; + } + + //接驳车不需要实现 + public void startOrStopOrderLoop(boolean start) { + + } + // //接驳车不需要实现 + public void runCarHeartbeat() { + + } +} diff --git a/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/IBascApiService.java b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/IBascApiService.java new file mode 100644 index 0000000000..aa08368c4e --- /dev/null +++ b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/IBascApiService.java @@ -0,0 +1,170 @@ +package com.mogo.och.bus.net; +import com.mogo.eagle.core.data.BaseData; +import com.mogo.och.bus.bean.BusCloseTaskRequest; +import com.mogo.och.bus.bean.BusOrdersResponse; +import com.mogo.och.bus.bean.BusQueryLineTaskResponse; +import com.mogo.och.bus.bean.BusQueryLinesResponse; +import com.mogo.och.bus.bean.BusRoutesResponse; +import com.mogo.och.bus.bean.BusQueryLineStationsRequest; +import com.mogo.och.bus.bean.QueryLeaveAwayPassengersRequest; +import com.mogo.och.bus.bean.QueryLeaveAwayPassengersResponse; +import com.mogo.och.bus.bean.BusResetDrivingLineRequest; +import com.mogo.och.bus.bean.BusUpdateSiteStatusRequest; + +import io.reactivex.Observable; +import retrofit2.http.Body; +import retrofit2.http.GET; +import retrofit2.http.Header; +import retrofit2.http.Headers; +import retrofit2.http.POST; +import retrofit2.http.Query; + +/** + * 小巴车相关接口 + * + * @author tongchenfei + *

+ * wiki: http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=48970072 + */ +public interface IBascApiService { + /** + * 根据车机坐标获取所在区域全部站点信息 + * + * @param request 请求参数 + * @return 接口返回数据 todo 修改返回结构 + */ + @Headers( {"Content-Type:application/json;charset=UTF-8"} ) + @POST( "/och-shuttle-cabin/api/business/v1/driver/lineDataWithDriver/query" ) + Observable queryBusRoutes(@Header ("appId") String appId, @Header("ticket") String ticket, @Body BusQueryLineStationsRequest request); + + /** + * @param request 请求参数{"destLine":1,"sn":"F803EB2046PZD00229"} 这个接口是重置bus线路的, 不是重置线路中站点的 + * @return 返回值是重置后的车站列表 + * 开始路线 + */ + @Headers( {"Content-Type:application/json;charset=UTF-8"} ) + @POST( "/och-shuttle-cabin/api/flow/v1/driver/startTask" ) + Observable switchLine(@Header ("appId") String appId, @Header("ticket") String ticket, @Body BusResetDrivingLineRequest request); + + /** + * 离站,通知服务器 + * @param request + * @return + */ + @Headers({"Content-Type:application/json;charset=UTF-8"}) + @POST("/och-shuttle-cabin/api/flow/v1/driver/leave") + Observable leaveStation(@Header ("appId") String appId, @Header("ticket") String ticket, @Body BusUpdateSiteStatusRequest request); + + /** + * 到站 更新到站信息 + * @param request + * @return + */ + @Headers({"Content-type:application/json;charset=UTF-8"}) + @POST("/och-shuttle-cabin/api/flow/v1/driver/arrive") + Observable< BaseData > arriveSiteStation(@Header ("appId") String appId,@Header("ticket") String ticket,@Body BusUpdateSiteStatusRequest request); + + + /** + * 到站查询下车乘客 + * @param request + * @return + */ + @Headers({"Content-type:application/json;charset=UTF-8"}) + @POST("/och-shuttle-cabin/api/business/v1/driver/siteArrivedOrders") + Observable< QueryLeaveAwayPassengersResponse > queryStationLeaveAwayPassengers(@Header ("appId") String appId,@Header("ticket") String ticket,@Body QueryLeaveAwayPassengersRequest request); + + /** + * + * @param appId + * @param ticket + * @param sn + * @return todo 修改结构 + */ + @Headers({"Content-type:application/json;charset=UTF-8"}) + @GET("/och-shuttle-cabin/api/business/v1/driver/servicingOrders/query") + Observable queryBusOrders(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("sn") String sn); + + /** + * 查询车辆配置的所有路线 + * @param appId + * @param ticket + * @param sn + * @return + */ + @GET("och-shuttle-cabin/api/business/v1/driver/bindLine/query") + Observable queryBusLines(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("sn") String sn); + + /** + * 查询路线当天的任务 + * @param appId + * @param ticket + * @param lineId 线路id + * @return + */ + @GET("och-shuttle-cabin/api/business/v1/driver/task/query") + Observable queryBusTaskByLineId(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("lineId") String lineId); + + /** + * 中止任务 + * @param appId + * @param ticket + * @param data + * @return + */ + @POST("/och-shuttle-cabin/api/flow/v1/driver/abortTask") + Observable abortTask(@Header ("appId") String appId, @Header("ticket") String ticket, @Body BusCloseTaskRequest data); + + /** + * 任务正常跑完结束 + * @param appId + * @param ticket + * @param data + * @return + */ + @Headers( {"Content-type:application/json;charset=UTF-8"} ) + @POST("/och-shuttle-cabin/api/flow/v1/driver/endTask") + Observable endTask(@Header ("appId") String appId, @Header("ticket") String ticket, @Body BusCloseTaskRequest data); + + /** + * 获取手机验证码 + * + * @return + */ + @Headers( {"Content-type:application/json;charset=UTF-8"} ) + @POST( "/och-shuttle-cabin/api/sms/v1/driver/sendSms" ) + Observable getPhoneCode(@Header("appId") String appId + , @Header("ticket") String ticket, @Body TaxiLoginSmsReqBean data); + + /** + * 通过验证码登录 + * @param appId + * @param ticket + * @param data + * @return + */ + @Headers( {"Content-type:application/json;charset=UTF-8"} ) + @POST( "/och-shuttle-cabin/api/flow/v1/driver/startOperation" ) + Observable gotoLoginBycode4Bus(@Header("appId") String appId + , @Header("ticket") String ticket, @Body TaxiLoginReqBean data); + + /** + * 登出接口 + */ + @Headers({"Content-type:application/json;charset=UTF-8"}) + @POST("/och-shuttle-cabin/api/flow/v1/driver/endOperation") + Observable logout4Bus(@Header("appId") String appId, @Header("ticket") String ticket, + @Body TaxiLogoutReqBean data); + + /** + * 接单状态和登录状态查询 出租车司机端、小巴车司机端、小巴车乘客端 + * @param sn + * @return + */ + @Headers( {"Content-type:application/json;charset=UTF-8"} ) + @GET( "/och-shuttle-cabin/api/business/v1/driver/loginStatus") + Observable queryDriverServiceStatusAndLoginStatus(@Path(value = "flavor",encoded = true) String flavor,@Header ("appId") String appId + , @Header("ticket") String ticket, @Query("sn") String sn); + +} + diff --git a/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/OrderServiceManager.kt b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/OrderServiceManager.kt new file mode 100644 index 0000000000..f37f93a6d5 --- /dev/null +++ b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/OrderServiceManager.kt @@ -0,0 +1,203 @@ +package com.mogo.och.bus.net + +import android.content.Context +import com.mogo.cloud.passport.MoGoAiCloudClientConfig +import com.mogo.eagle.core.data.BaseData +import com.mogo.eagle.core.network.MoGoRetrofitFactory +import com.mogo.och.bus.bean.* +import com.mogo.och.bus.constant.URLConst.Companion.getBaseUrl +import com.mogo.och.common.module.biz.network.OchCommonServiceCallback +import com.mogo.och.common.module.biz.network.OchCommonSubscribeImpl +import com.mogo.och.common.module.biz.network.interceptor.transformTry + +/** + * @author: wangmingjun + * @date: 2021/10/20 + */ +object OrderServiceManager { + + private val mService: IBascApiService = MoGoRetrofitFactory.getInstance(getBaseUrl()).create( + IBascApiService::class.java + ) + + + /** + * 查询小巴车当前任务 + * @param context + * @param callback + */ + @JvmStatic + fun queryBusRoutes(context: Context, callback: OchCommonServiceCallback?) { + //获取当前高德坐标 + mService.queryBusRoutes( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + BusQueryLineStationsRequest() + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "queryBusRoutes")) + } + + /** + * 重置线路站点 + * @param context + * @param taskId + * @param callback + */ + @JvmStatic + fun switchLine( + context: Context, + taskId: Int, + callback: OchCommonServiceCallback? + ) { + mService.switchLine( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + BusResetDrivingLineRequest(taskId) + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "switchLine")) + } + + /** + * 中断当前任务 + * @param context + * @param taskId + * @param callback + */ + @JvmStatic + fun abortTask(context: Context, taskId: Int, callback: OchCommonServiceCallback?) { + mService.abortTask( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + BusCloseTaskRequest(taskId) + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "abortTask")) + } + + /** + * 正常结束任务 + * @param context + * @param taskId + * @param callback + */ + @JvmStatic + fun endTask(context: Context, taskId: Int, callback: OchCommonServiceCallback?) { + mService.endTask( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + BusCloseTaskRequest(taskId) + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "endTask")) + } + + /** + * 离站上报 + * @param context + * @param seq + * @param siteId + * @param callback + */ + @JvmStatic + fun leaveStation( + context: Context, + seq: Int, + siteId: Int, + taskId: Int, + callback: OchCommonServiceCallback? + ) { + mService.leaveStation( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + BusUpdateSiteStatusRequest(taskId, siteId, seq) + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "leaveStation")) + } + + /** + * 到站更新站点状态 + * @param context + * @param seq + * @param siteId + * @param callback + */ + @JvmStatic + fun arriveSiteStation( + context: Context, seq: Int, siteId: Int, taskId: Int, + callback: OchCommonServiceCallback? + ) { + mService.arriveSiteStation( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + BusUpdateSiteStatusRequest(taskId, siteId, seq) + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "arriveSiteStation")) + } + + /** + * 查询下车乘客 + * @param context + * @param seq + * @param siteId + * @param callback + */ + @JvmStatic + fun queryStationLeaveAwayPassengers( + context: Context, + seq: Int, + siteId: Int, + callback: OchCommonServiceCallback? + ) { + mService.queryStationLeaveAwayPassengers( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + QueryLeaveAwayPassengersRequest(seq, siteId) + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "queryStationLeaveAwayPassengers")) + } + + /** + * 查询小巴车订单 + * @param context + * @param callback + */ + @JvmStatic + fun queryBusOrders(context: Context, callback: OchCommonServiceCallback?) { + mService.queryBusOrders( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + MoGoAiCloudClientConfig.getInstance().sn + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "queryBusOrders")) + } + @JvmStatic + fun queryBusLines(context: Context, callback: OchCommonServiceCallback?) { + mService.queryBusLines( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + MoGoAiCloudClientConfig.getInstance().sn + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "queryBusLines")) + } + @JvmStatic + fun queryBusTaskByLineId( + context: Context, + lineId: String?, + callback: OchCommonServiceCallback? + ) { + mService.queryBusTaskByLineId( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + lineId + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "queryBusLines")) + } +} \ No newline at end of file From f7dd5731eb5b093204d5a076ff5e647769e7b659 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Thu, 5 Jan 2023 16:25:28 +0800 Subject: [PATCH 03/18] =?UTF-8?q?[1.0.0]=20=E6=8E=A5=E9=A9=B3=E8=BD=A6opt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/och/bus/net/IBascApiService.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/IBascApiService.java b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/IBascApiService.java index aa08368c4e..6bde5e0ecf 100644 --- a/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/IBascApiService.java +++ b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/IBascApiService.java @@ -10,6 +10,11 @@ import com.mogo.och.bus.bean.QueryLeaveAwayPassengersRequest; import com.mogo.och.bus.bean.QueryLeaveAwayPassengersResponse; import com.mogo.och.bus.bean.BusResetDrivingLineRequest; import com.mogo.och.bus.bean.BusUpdateSiteStatusRequest; +import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean; +import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean; +import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean; +import com.mogo.och.common.module.biz.bean.TaxiLoginSmsReqBean; +import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean; import io.reactivex.Observable; import retrofit2.http.Body; @@ -17,6 +22,7 @@ import retrofit2.http.GET; import retrofit2.http.Header; import retrofit2.http.Headers; import retrofit2.http.POST; +import retrofit2.http.Path; import retrofit2.http.Query; /** @@ -163,7 +169,7 @@ public interface IBascApiService { */ @Headers( {"Content-type:application/json;charset=UTF-8"} ) @GET( "/och-shuttle-cabin/api/business/v1/driver/loginStatus") - Observable queryDriverServiceStatusAndLoginStatus(@Path(value = "flavor",encoded = true) String flavor,@Header ("appId") String appId + Observable queryDriverServiceStatusAndLoginStatus(@Path(value = "flavor",encoded = true) String flavor, @Header ("appId") String appId , @Header("ticket") String ticket, @Query("sn") String sn); } From dade7d8ddc836eb2af744871c88a4e0aabc3341b Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Thu, 5 Jan 2023 17:19:20 +0800 Subject: [PATCH 04/18] =?UTF-8?q?[1.0.0]=20=E6=8E=A5=E9=A9=B3=E8=BD=A6tab?= =?UTF-8?q?=20config?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/launcher/stageone/ConfigStartUp.kt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/mogo/launcher/stageone/ConfigStartUp.kt b/app/src/main/java/com/mogo/launcher/stageone/ConfigStartUp.kt index 71babd15d0..1148055335 100644 --- a/app/src/main/java/com/mogo/launcher/stageone/ConfigStartUp.kt +++ b/app/src/main/java/com/mogo/launcher/stageone/ConfigStartUp.kt @@ -8,6 +8,7 @@ import com.mogo.eagle.core.data.app.AppConfigInfo.workingBranchName import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.config.HdMapBuildConfig import com.mogo.eagle.core.data.config.HmiBuildConfig +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.launcher.BuildConfig import com.mogo.launcher.R import com.mogo.test.crashreport.CrashReportConstants @@ -64,9 +65,8 @@ class ConfigStartUp : AndroidStartup() { // 配置BuglyAppID:MoGoEagleEye CrashReportConstants.buglyAppID = "ac71228f85" - if (DebugConfig.getProductFlavor() == "fPadLenovoOchTaxi" || DebugConfig.getProductFlavor() == "fPadLenovoOchBus" - || DebugConfig.getProductFlavor() == "fPadLenovoOchTaxiPassenger" - || DebugConfig.getProductFlavor() == "fPadLenovoOchBusPassenger" + if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) || + AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode) || DebugConfig.getProductFlavor() == "fPadLenovoOchSweeper") { //控制HMI展示元素 将不用手动调用setXXXXXViewVisibility HmiBuildConfig.isShowSpeedView = false @@ -79,7 +79,7 @@ class ConfigStartUp : AndroidStartup() { if (DebugConfig.getProductFlavor() == "fPadLenovoOchTaxi" || DebugConfig.getProductFlavor() == "fPadLenovoOchTaxiPassenger") { HdMapBuildConfig.currentCarVrIconRes = R.raw.chuzuche - } else if (DebugConfig.getProductFlavor() == "fPadLenovoOchBus" || DebugConfig.getProductFlavor() == "fPadLenovoOchBusPassenger" + } else if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) || DebugConfig.getProductFlavor() == "fPadLenovoOchSweeper") { HdMapBuildConfig.currentCarVrIconRes = R.raw.xiaobache // HmiBuildConfig.isShowBrakeLightView = false @@ -93,7 +93,8 @@ class ConfigStartUp : AndroidStartup() { HmiBuildConfig.isShowLimitingVelocityView = false //是否显示 路侧监控 HmiBuildConfig.isShowCameraView = false - } else if (DebugConfig.getProductFlavor() == "fPadLenovoOchBusPassenger") { + } else if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) + && AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) { //是否显示 红绿等 HmiBuildConfig.isShowTrafficLightView = false //是否显示 限速UI From 2f5bc5784b414f8fecc21ab2dcd08d1d4837d6a7 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Thu, 5 Jan 2023 18:39:45 +0800 Subject: [PATCH 05/18] =?UTF-8?q?[feature]=20=E7=99=BB=E5=BD=95=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=88=86=E6=95=A3=E5=88=B0bus=E5=92=8Ctaxi=E4=B9=98?= =?UTF-8?q?=E5=AE=A2=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/och/bus/net/LoginBusImpl.kt | 47 ++++++++ .../och/bus/net/OchCommonServiceManager.kt | 110 ++++++++++++++++++ .../mogo/och/bus/net/OchLoginServiceApi.java | 67 +++++++++++ .../mogo/och/bus/fragment/BusFragment.java | 3 +- .../java/com/mogo/och/bus/net/LoginBusImpl.kt | 47 ++++++++ .../och/bus/net/OchCommonServiceManager.kt | 108 +++++++++++++++++ .../mogo/och/bus/net/OchLoginServiceApi.java | 66 +++++++++++ .../module/biz/network/LoginDefaultManage.kt | 30 +++++ .../biz/network/OchCommonServiceManager.kt | 87 ++------------ .../module/biz/provider/LoginService.kt | 3 +- .../module/biz/provider/LoginServiceImpl.kt | 6 +- .../com/mogo/och/taxi/network/LoginBusImpl.kt | 47 ++++++++ .../taxi/network/OchCommonServiceManager.kt | 108 +++++++++++++++++ .../och/taxi/network/OchLoginServiceApi.java} | 27 +---- .../com/mogo/och/taxi/ui/TaxiFragment.java | 3 +- 15 files changed, 653 insertions(+), 106 deletions(-) create mode 100644 OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/LoginBusImpl.kt create mode 100644 OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/OchCommonServiceManager.kt create mode 100644 OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/OchLoginServiceApi.java create mode 100644 OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/LoginBusImpl.kt create mode 100644 OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/OchCommonServiceManager.kt create mode 100644 OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/OchLoginServiceApi.java create mode 100644 OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/network/LoginDefaultManage.kt create mode 100644 OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/network/LoginBusImpl.kt create mode 100644 OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/network/OchCommonServiceManager.kt rename OCH/{mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/network/OchCommonServiceApiNew.java => mogo-och-taxi/src/main/java/com/mogo/och/taxi/network/OchLoginServiceApi.java} (66%) diff --git a/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/LoginBusImpl.kt b/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/LoginBusImpl.kt new file mode 100644 index 0000000000..d40f31847b --- /dev/null +++ b/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/LoginBusImpl.kt @@ -0,0 +1,47 @@ +package com.mogo.och.bus.net + +import android.content.Context +import com.mogo.eagle.core.data.BaseData +import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean +import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean +import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean +import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean +import com.mogo.och.common.module.biz.network.LoginDefaultManage +import com.mogo.och.common.module.biz.network.OchCommonServiceCallback + +class LoginBusImpl: LoginDefaultManage { + + override fun getPhoneCode( + context: Context, phone: String?, + callback: OchCommonServiceCallback? + ) { + OchCommonServiceManager.getPhoneCode(context,phone,callback) + } + + override fun gotoLoginBycode( + context: Context, + phone: String?, + code: String?, + location4Login: TaxiLoginReqBean.Location4Login?, + callback: OchCommonServiceCallback? + ) { + OchCommonServiceManager.gotoLoginBycode(context,phone,code,location4Login,callback) + } + + override fun logout( + context: Context, + location4Login: TaxiLogoutReqBean.Location4Login?, + callback: OchCommonServiceCallback? + ) { + OchCommonServiceManager.logout(context,location4Login,callback) + } + + override fun queryDriverServiceStatus( + context: Context, + callback: OchCommonServiceCallback? + ) { + OchCommonServiceManager.queryDriverServiceStatus(context,callback) + } + + +} \ No newline at end of file diff --git a/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/OchCommonServiceManager.kt b/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/OchCommonServiceManager.kt new file mode 100644 index 0000000000..615d892390 --- /dev/null +++ b/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/OchCommonServiceManager.kt @@ -0,0 +1,110 @@ +package com.mogo.och.bus.net + +import android.content.Context +import com.mogo.och.common.module.biz.constant.OchCommonConst.Companion.getBaseUrl +import com.mogo.cloud.passport.MoGoAiCloudClientConfig +import com.mogo.och.common.module.biz.bean.TaxiLoginSmsReqBean +import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean +import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean +import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean +import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean +import com.mogo.och.common.module.biz.constant.OchCommonConst +import com.mogo.cloud.passport.MoGoAiCloudClient +import com.mogo.commons.debug.DebugConfig +import com.mogo.eagle.core.data.BaseData +import com.mogo.eagle.core.network.MoGoRetrofitFactory +import com.mogo.och.common.module.biz.network.OchCommonServiceCallback +import com.mogo.och.common.module.biz.network.OchCommonSubscribeImpl +import com.mogo.och.common.module.biz.network.interceptor.transformTry +import io.reactivex.Observable + +/** + * Created by pangfan on 2021/8/19 + */ +object OchCommonServiceManager { + + private const val TAG = "OchCommonServiceManager" + + private val mOCHTaxiServiceApi: OchLoginServiceApi = + MoGoRetrofitFactory.getInstance(getBaseUrl()).create( + OchLoginServiceApi::class.java + ) + + /** + * 获取手机验证码 + * @param context + * @param callback + */ + @JvmStatic + fun getPhoneCode( + context: Context, phone: String?, + callback: OchCommonServiceCallback? + ) { + mOCHTaxiServiceApi.getPhoneCode( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + TaxiLoginSmsReqBean(phone) + ).transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "getPhoneCode")) + } + + /** + * 通过验证码登录 + * @param context + * @param callback + */ + @JvmStatic + fun gotoLoginBycode( + context: Context, phone: String?, code: String?, + location4Login: TaxiLoginReqBean.Location4Login?, + callback: OchCommonServiceCallback? + ) { + val sn = MoGoAiCloudClientConfig.getInstance().sn + mOCHTaxiServiceApi.gotoLoginBycode4Bus( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + TaxiLoginReqBean(phone, code, sn, location4Login) + ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "gotoLoginBycode")) + } + + /** + * 登出 + */ + @JvmStatic + fun logout( + context: Context, + location4Login: TaxiLogoutReqBean.Location4Login?, + callback: OchCommonServiceCallback? + ) { + mOCHTaxiServiceApi.logout4Bus( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + TaxiLogoutReqBean(MoGoAiCloudClientConfig.getInstance().sn, location4Login) + ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "logout")) + } + + /** + * 接单状态和登录状态查询 + * + * @param context + * @param callback + */ + @JvmStatic + fun queryDriverServiceStatus( + context: Context, + callback: OchCommonServiceCallback? + ) { + if (MoGoAiCloudClientConfig.getInstance().token.isEmpty()) { + callback?.onFail(OchCommonConst.WAIT_TAKEN, "等待令牌中请稍等") + MoGoAiCloudClient.getInstance().refreshToken() + return + } + mOCHTaxiServiceApi.queryDriverServiceStatusAndLoginStatus( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + MoGoAiCloudClientConfig.getInstance().sn + ).transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverServiceStatus")) + } + +} \ No newline at end of file diff --git a/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/OchLoginServiceApi.java b/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/OchLoginServiceApi.java new file mode 100644 index 0000000000..94f28ec373 --- /dev/null +++ b/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/OchLoginServiceApi.java @@ -0,0 +1,67 @@ +package com.mogo.och.bus.net; + +import com.mogo.eagle.core.data.BaseData; +import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean; +import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean; +import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean; +import com.mogo.och.common.module.biz.bean.TaxiLoginSmsReqBean; +import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean; + +import io.reactivex.Observable; +import retrofit2.http.Body; +import retrofit2.http.GET; +import retrofit2.http.Header; +import retrofit2.http.Headers; +import retrofit2.http.POST; +import retrofit2.http.Path; +import retrofit2.http.Query; + +/** + * Created by pangfan on 2021/8/19 + *

+ * 网约车-出租车接口定义 + */ +interface OchLoginServiceApi { + /** + * 获取手机验证码 + * + * @return + */ + @Headers({"Content-type:application/json;charset=UTF-8"}) + @POST("/autopilot-car-hailing/driver/v2/driver/taxi/sendSms") + Observable getPhoneCode(@Header("appId") String appId + , @Header("ticket") String ticket, @Body TaxiLoginSmsReqBean data); + + /** + * 通过验证码登录 + * + * @param appId + * @param ticket + * @param data + * @return + */ + @Headers({"Content-type:application/json;charset=UTF-8"}) + @POST("/autopilot-car-hailing/cab/flow/v1/bus/driver/bus/startOperation") + Observable gotoLoginBycode4Bus(@Header("appId") String appId + , @Header("ticket") String ticket, @Body TaxiLoginReqBean data); + + /** + * 登出接口 + */ + @Headers({"Content-type:application/json;charset=UTF-8"}) + @POST("/autopilot-car-hailing/cab/flow/v1/bus/driver/bus/endOperation") + Observable logout4Bus(@Header("appId") String appId, @Header("ticket") String ticket, + @Body TaxiLogoutReqBean data); + + /** + * 接单状态和登录状态查询 出租车司机端、小巴车司机端、小巴车乘客端 + * + * @param sn + * @return + */ + @Headers({"Content-type:application/json;charset=UTF-8"}) + @GET("/autopilot-car-hailing/operation/v1/driver/bus/loginStatus") + Observable queryDriverServiceStatusAndLoginStatus(@Header("appId") String appId + , @Header("ticket") String ticket, @Query("sn") String sn); + +} diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BusFragment.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BusFragment.java index 1e9e003dfe..9802b0cbae 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BusFragment.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BusFragment.java @@ -28,6 +28,7 @@ import com.mogo.map.marker.MogoMarkerOptions; import com.mogo.och.bus.R; import com.mogo.och.bus.bean.BusStationBean; import com.mogo.och.bus.constant.BusConst; +import com.mogo.och.bus.net.LoginBusImpl; import com.mogo.och.bus.presenter.BusPresenter; import com.mogo.och.bus.ui.BusStationCommonItem; import com.mogo.och.bus.ui.BusSwitchLineActivity; @@ -78,7 +79,7 @@ public class BusFragment extends BaseBusTabFragment super.onActivityCreated(savedInstanceState); loginService = (LoginService) ARouter.getInstance().build(OchCommonConst.LOGINSERVICE).navigation(); if(loginService!=null){ - loginService.registerFragment(this, getPresenter()); + loginService.registerFragment(this, getPresenter(),new LoginBusImpl()); } } @Override diff --git a/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/LoginBusImpl.kt b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/LoginBusImpl.kt new file mode 100644 index 0000000000..d40f31847b --- /dev/null +++ b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/LoginBusImpl.kt @@ -0,0 +1,47 @@ +package com.mogo.och.bus.net + +import android.content.Context +import com.mogo.eagle.core.data.BaseData +import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean +import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean +import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean +import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean +import com.mogo.och.common.module.biz.network.LoginDefaultManage +import com.mogo.och.common.module.biz.network.OchCommonServiceCallback + +class LoginBusImpl: LoginDefaultManage { + + override fun getPhoneCode( + context: Context, phone: String?, + callback: OchCommonServiceCallback? + ) { + OchCommonServiceManager.getPhoneCode(context,phone,callback) + } + + override fun gotoLoginBycode( + context: Context, + phone: String?, + code: String?, + location4Login: TaxiLoginReqBean.Location4Login?, + callback: OchCommonServiceCallback? + ) { + OchCommonServiceManager.gotoLoginBycode(context,phone,code,location4Login,callback) + } + + override fun logout( + context: Context, + location4Login: TaxiLogoutReqBean.Location4Login?, + callback: OchCommonServiceCallback? + ) { + OchCommonServiceManager.logout(context,location4Login,callback) + } + + override fun queryDriverServiceStatus( + context: Context, + callback: OchCommonServiceCallback? + ) { + OchCommonServiceManager.queryDriverServiceStatus(context,callback) + } + + +} \ No newline at end of file diff --git a/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/OchCommonServiceManager.kt b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/OchCommonServiceManager.kt new file mode 100644 index 0000000000..0bd4423ead --- /dev/null +++ b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/OchCommonServiceManager.kt @@ -0,0 +1,108 @@ +package com.mogo.och.bus.net + +import android.content.Context +import com.mogo.och.common.module.biz.constant.OchCommonConst.Companion.getBaseUrl +import com.mogo.cloud.passport.MoGoAiCloudClientConfig +import com.mogo.och.common.module.biz.bean.TaxiLoginSmsReqBean +import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean +import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean +import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean +import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean +import com.mogo.och.common.module.biz.constant.OchCommonConst +import com.mogo.cloud.passport.MoGoAiCloudClient +import com.mogo.eagle.core.data.BaseData +import com.mogo.eagle.core.network.MoGoRetrofitFactory +import com.mogo.och.common.module.biz.network.OchCommonServiceCallback +import com.mogo.och.common.module.biz.network.OchCommonSubscribeImpl +import com.mogo.och.common.module.biz.network.interceptor.transformTry + +/** + * Created by pangfan on 2021/8/19 + */ +object OchCommonServiceManager { + + private const val TAG = "OchCommonServiceManager" + + private val mOCHTaxiServiceApi: OchLoginServiceApi = + MoGoRetrofitFactory.getInstance(getBaseUrl()).create( + OchLoginServiceApi::class.java + ) + + /** + * 获取手机验证码 + * @param context + * @param callback + */ + @JvmStatic + fun getPhoneCode( + context: Context, phone: String?, + callback: OchCommonServiceCallback? + ) { + mOCHTaxiServiceApi.getPhoneCode( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + TaxiLoginSmsReqBean(phone) + ).transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "getPhoneCode")) + } + + /** + * 通过验证码登录 + * @param context + * @param callback + */ + @JvmStatic + fun gotoLoginBycode( + context: Context, phone: String?, code: String?, + location4Login: TaxiLoginReqBean.Location4Login?, + callback: OchCommonServiceCallback? + ) { + val sn = MoGoAiCloudClientConfig.getInstance().sn + mOCHTaxiServiceApi.gotoLoginBycode4Bus( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + TaxiLoginReqBean(phone, code, sn, location4Login) + ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "gotoLoginBycode")) + } + + /** + * 登出 + */ + @JvmStatic + fun logout( + context: Context, + location4Login: TaxiLogoutReqBean.Location4Login?, + callback: OchCommonServiceCallback? + ) { + mOCHTaxiServiceApi.logout4Bus( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + TaxiLogoutReqBean(MoGoAiCloudClientConfig.getInstance().sn, location4Login) + ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "logout")) + } + + /** + * 接单状态和登录状态查询 + * + * @param context + * @param callback + */ + @JvmStatic + fun queryDriverServiceStatus( + context: Context, + callback: OchCommonServiceCallback? + ) { + if (MoGoAiCloudClientConfig.getInstance().token.isEmpty()) { + callback?.onFail(OchCommonConst.WAIT_TAKEN, "等待令牌中请稍等") + MoGoAiCloudClient.getInstance().refreshToken() + return + } + mOCHTaxiServiceApi.queryDriverServiceStatusAndLoginStatus( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + MoGoAiCloudClientConfig.getInstance().sn + ).transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverServiceStatus")) + } + +} \ No newline at end of file diff --git a/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/OchLoginServiceApi.java b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/OchLoginServiceApi.java new file mode 100644 index 0000000000..9ff5908304 --- /dev/null +++ b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/OchLoginServiceApi.java @@ -0,0 +1,66 @@ +package com.mogo.och.bus.net; + +import com.mogo.eagle.core.data.BaseData; +import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean; +import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean; +import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean; +import com.mogo.och.common.module.biz.bean.TaxiLoginSmsReqBean; +import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean; + +import io.reactivex.Observable; +import retrofit2.http.Body; +import retrofit2.http.GET; +import retrofit2.http.Header; +import retrofit2.http.Headers; +import retrofit2.http.POST; +import retrofit2.http.Query; + +/** + * Created by pangfan on 2021/8/19 + *

+ * 网约车-出租车接口定义 + */ +interface OchLoginServiceApi { + /** + * 获取手机验证码 + * + * @return + */ + @Headers({"Content-type:application/json;charset=UTF-8"}) + @POST("/autopilot-car-hailing/driver/v2/driver/taxi/sendSms") + Observable getPhoneCode(@Header("appId") String appId + , @Header("ticket") String ticket, @Body TaxiLoginSmsReqBean data); + + /** + * 通过验证码登录 + * + * @param appId + * @param ticket + * @param data + * @return + */ + @Headers({"Content-type:application/json;charset=UTF-8"}) + @POST("/autopilot-car-hailing/cab/flow/v1/bus/driver/bus/startOperation") + Observable gotoLoginBycode4Bus(@Header("appId") String appId + , @Header("ticket") String ticket, @Body TaxiLoginReqBean data); + + /** + * 登出接口 + */ + @Headers({"Content-type:application/json;charset=UTF-8"}) + @POST("/autopilot-car-hailing/cab/flow/v1/bus/driver/bus/endOperation") + Observable logout4Bus(@Header("appId") String appId, @Header("ticket") String ticket, + @Body TaxiLogoutReqBean data); + + /** + * 接单状态和登录状态查询 出租车司机端、小巴车司机端、小巴车乘客端 + * + * @param sn + * @return + */ + @Headers({"Content-type:application/json;charset=UTF-8"}) + @GET("/autopilot-car-hailing/operation/v1/driver/bus/loginStatus") + Observable queryDriverServiceStatusAndLoginStatus(@Header("appId") String appId + , @Header("ticket") String ticket, @Query("sn") String sn); + +} diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/network/LoginDefaultManage.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/network/LoginDefaultManage.kt new file mode 100644 index 0000000000..9637d39f2c --- /dev/null +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/network/LoginDefaultManage.kt @@ -0,0 +1,30 @@ +package com.mogo.och.common.module.biz.network + +import android.content.Context +import com.mogo.eagle.core.data.BaseData +import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean +import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean +import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean +import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean + +interface LoginDefaultManage { + fun getPhoneCode( + context: Context, + phone: String?, + callback: OchCommonServiceCallback? + ) + fun gotoLoginBycode( + context: Context, phone: String?, code: String?, + location4Login: TaxiLoginReqBean.Location4Login?, + callback: OchCommonServiceCallback? + ) + fun logout( + context: Context, + location4Login: TaxiLogoutReqBean.Location4Login?, + callback: OchCommonServiceCallback? + ) + fun queryDriverServiceStatus( + context: Context, + callback: OchCommonServiceCallback? + ) +} \ No newline at end of file diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/network/OchCommonServiceManager.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/network/OchCommonServiceManager.kt index 6779e4a891..ba78e36d5b 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/network/OchCommonServiceManager.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/network/OchCommonServiceManager.kt @@ -23,10 +23,11 @@ object OchCommonServiceManager { private const val TAG = "OchCommonServiceManager" - private val mOCHTaxiServiceApi: OchCommonServiceApiNew = - MoGoRetrofitFactory.getInstance(getBaseUrl()).create( - OchCommonServiceApiNew::class.java - ) + private var loginDefaultManage: LoginDefaultManage?=null + + fun setLoginDefaultManage(loginDefaultManage: LoginDefaultManage?){ + this.loginDefaultManage = loginDefaultManage + } /** * 获取手机验证码 @@ -38,12 +39,7 @@ object OchCommonServiceManager { context: Context, phone: String?, callback: OchCommonServiceCallback? ) { - mOCHTaxiServiceApi.getPhoneCode( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - MoGoAiCloudClientConfig.getInstance().token, - TaxiLoginSmsReqBean(phone) - ).transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "getPhoneCode")) + loginDefaultManage?.getPhoneCode(context,phone,callback) } /** @@ -57,27 +53,7 @@ object OchCommonServiceManager { location4Login: TaxiLoginReqBean.Location4Login?, callback: OchCommonServiceCallback? ) { - val sn = MoGoAiCloudClientConfig.getInstance().sn - var taxiLoginRespBeanObservable: Observable? = null - when (DebugConfig.getProductFlavor()) { - "fPadLenovoOchTaxi" -> { - //出租车司机 - taxiLoginRespBeanObservable = mOCHTaxiServiceApi.gotoLoginBycode4Taxi( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - MoGoAiCloudClientConfig.getInstance().token, - TaxiLoginReqBean(phone, code, sn, location4Login) - ).transformTry() - } - "fPadLenovoOchBus" -> { - //小巴车司机 - taxiLoginRespBeanObservable = mOCHTaxiServiceApi.gotoLoginBycode4Bus( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - MoGoAiCloudClientConfig.getInstance().token, - TaxiLoginReqBean(phone, code, sn, location4Login) - ).transformTry() - } - } - taxiLoginRespBeanObservable?.subscribe(OchCommonSubscribeImpl(context, callback, "gotoLoginBycode")) + loginDefaultManage?.gotoLoginBycode(context,phone,code,location4Login,callback) } /** @@ -89,26 +65,7 @@ object OchCommonServiceManager { location4Login: TaxiLogoutReqBean.Location4Login?, callback: OchCommonServiceCallback? ) { - var logout: Observable? = null - when (DebugConfig.getProductFlavor()) { - "fPadLenovoOchTaxi" -> { - //出租车司机 - logout = mOCHTaxiServiceApi.logout4Taxi( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - MoGoAiCloudClientConfig.getInstance().token, - TaxiLogoutReqBean(MoGoAiCloudClientConfig.getInstance().sn, location4Login) - ).transformTry() - } - "fPadLenovoOchBus" -> { - //小巴车司机 - logout = mOCHTaxiServiceApi.logout4Bus( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - MoGoAiCloudClientConfig.getInstance().token, - TaxiLogoutReqBean(MoGoAiCloudClientConfig.getInstance().sn, location4Login) - ).transformTry() - } - } - logout?.subscribe(OchCommonSubscribeImpl(context, callback, "logout")) + loginDefaultManage?.logout(context,location4Login,callback) } /** @@ -122,33 +79,7 @@ object OchCommonServiceManager { context: Context, callback: OchCommonServiceCallback? ) { - if (MoGoAiCloudClientConfig.getInstance().token.isEmpty()) { - callback?.onFail(OchCommonConst.WAIT_TAKEN, "等待令牌中请稍等") - MoGoAiCloudClient.getInstance().refreshToken() - return - } - var flavor = "" - when (DebugConfig.getProductFlavor()) { - "fPadLenovoOchTaxi" -> { - //出租车司机 - flavor = "taxi" - } - "fPadLenovoOchBus" -> { - //小巴车司机 - flavor = "bus" - } - "fPadLenovoOchBusPassenger" -> { - //小巴车乘客 - flavor = "bus/passenger" - } - } - mOCHTaxiServiceApi.queryDriverServiceStatusAndLoginStatus( - flavor, - MoGoAiCloudClientConfig.getInstance().serviceAppId, - MoGoAiCloudClientConfig.getInstance().token, - MoGoAiCloudClientConfig.getInstance().sn - ).transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverServiceStatus")) + loginDefaultManage?.queryDriverServiceStatus(context,callback) } } \ No newline at end of file diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/provider/LoginService.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/provider/LoginService.kt index 8ee6064620..485014cee5 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/provider/LoginService.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/provider/LoginService.kt @@ -3,6 +3,7 @@ package com.mogo.och.common.module.biz.provider import androidx.fragment.app.Fragment import com.alibaba.android.arouter.facade.template.IProvider import com.mogo.och.common.module.biz.callback.ILoginCallback +import com.mogo.och.common.module.biz.network.LoginDefaultManage interface LoginService : IProvider { /** @@ -10,7 +11,7 @@ interface LoginService : IProvider { * @param fragment 主页面 * @param callback 回调 */ - fun registerFragment(fragment: Fragment?,loginCallback: ILoginCallback?) + fun registerFragment(fragment: Fragment?,loginCallback: ILoginCallback?,logindefaultmanage: LoginDefaultManage?) fun unRegisterFragment() diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/provider/LoginServiceImpl.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/provider/LoginServiceImpl.kt index 17e0d21e9a..cab0eb13dd 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/provider/LoginServiceImpl.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/provider/LoginServiceImpl.kt @@ -14,6 +14,8 @@ import com.mogo.och.common.module.biz.callback.ILoginCallback import com.mogo.och.common.module.biz.callback.ILoginViewCallback import com.mogo.och.common.module.biz.constant.LoginStatusManager import com.mogo.och.common.module.biz.constant.OchCommonConst +import com.mogo.och.common.module.biz.network.LoginDefaultManage +import com.mogo.och.common.module.biz.network.OchCommonServiceManager import com.mogo.och.common.module.biz.presenter.OchCommonLoginStatusDefaultPresenter import com.mogo.och.common.module.biz.ui.TaxiLoginDialogFragment import com.mogo.och.common.module.biz.ui.TaxiLoginDialogFragment.Companion.newInstance @@ -35,14 +37,14 @@ class LoginServiceImpl : LoginService,ILoginViewCallback { } - override fun registerFragment(fragment: Fragment?,loginCallback: ILoginCallback?) { + override fun registerFragment(fragment: Fragment?,loginCallback: ILoginCallback?,logindefaultmanage: LoginDefaultManage?) { presenter = OchCommonLoginStatusDefaultPresenter() this.fragment = fragment presenter?.let { it.setLoginCallback(loginCallback, this) this.fragment?.lifecycle?.addObserver(it) } - + OchCommonServiceManager.setLoginDefaultManage(logindefaultmanage) } override fun unRegisterFragment() { diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/network/LoginBusImpl.kt b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/network/LoginBusImpl.kt new file mode 100644 index 0000000000..c57492cd1e --- /dev/null +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/network/LoginBusImpl.kt @@ -0,0 +1,47 @@ +package com.mogo.och.taxi.network + +import android.content.Context +import com.mogo.eagle.core.data.BaseData +import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean +import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean +import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean +import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean +import com.mogo.och.common.module.biz.network.LoginDefaultManage +import com.mogo.och.common.module.biz.network.OchCommonServiceCallback + +class LoginBusImpl: LoginDefaultManage { + + override fun getPhoneCode( + context: Context, phone: String?, + callback: OchCommonServiceCallback? + ) { + OchCommonServiceManager.getPhoneCode(context,phone,callback) + } + + override fun gotoLoginBycode( + context: Context, + phone: String?, + code: String?, + location4Login: TaxiLoginReqBean.Location4Login?, + callback: OchCommonServiceCallback? + ) { + OchCommonServiceManager.gotoLoginBycode(context,phone,code,location4Login,callback) + } + + override fun logout( + context: Context, + location4Login: TaxiLogoutReqBean.Location4Login?, + callback: OchCommonServiceCallback? + ) { + OchCommonServiceManager.logout(context,location4Login,callback) + } + + override fun queryDriverServiceStatus( + context: Context, + callback: OchCommonServiceCallback? + ) { + OchCommonServiceManager.queryDriverServiceStatus(context,callback) + } + + +} \ No newline at end of file diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/network/OchCommonServiceManager.kt b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/network/OchCommonServiceManager.kt new file mode 100644 index 0000000000..95d8c56cde --- /dev/null +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/network/OchCommonServiceManager.kt @@ -0,0 +1,108 @@ +package com.mogo.och.taxi.network + +import android.content.Context +import com.mogo.och.common.module.biz.constant.OchCommonConst.Companion.getBaseUrl +import com.mogo.cloud.passport.MoGoAiCloudClientConfig +import com.mogo.och.common.module.biz.bean.TaxiLoginSmsReqBean +import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean +import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean +import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean +import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean +import com.mogo.och.common.module.biz.constant.OchCommonConst +import com.mogo.cloud.passport.MoGoAiCloudClient +import com.mogo.eagle.core.data.BaseData +import com.mogo.eagle.core.network.MoGoRetrofitFactory +import com.mogo.och.common.module.biz.network.OchCommonServiceCallback +import com.mogo.och.common.module.biz.network.OchCommonSubscribeImpl +import com.mogo.och.common.module.biz.network.interceptor.transformTry + +/** + * Created by pangfan on 2021/8/19 + */ +object OchCommonServiceManager { + + private const val TAG = "OchCommonServiceManager" + + private val mOCHTaxiServiceApi: OchLoginServiceApi = + MoGoRetrofitFactory.getInstance(getBaseUrl()).create( + OchLoginServiceApi::class.java + ) + + /** + * 获取手机验证码 + * @param context + * @param callback + */ + @JvmStatic + fun getPhoneCode( + context: Context, phone: String?, + callback: OchCommonServiceCallback? + ) { + mOCHTaxiServiceApi.getPhoneCode( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + TaxiLoginSmsReqBean(phone) + ).transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "getPhoneCode")) + } + + /** + * 通过验证码登录 + * @param context + * @param callback + */ + @JvmStatic + fun gotoLoginBycode( + context: Context, phone: String?, code: String?, + location4Login: TaxiLoginReqBean.Location4Login?, + callback: OchCommonServiceCallback? + ) { + val sn = MoGoAiCloudClientConfig.getInstance().sn + mOCHTaxiServiceApi.gotoLoginBycode4Taxi( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + TaxiLoginReqBean(phone, code, sn, location4Login) + ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "gotoLoginBycode")) + } + + /** + * 登出 + */ + @JvmStatic + fun logout( + context: Context, + location4Login: TaxiLogoutReqBean.Location4Login?, + callback: OchCommonServiceCallback? + ) { + mOCHTaxiServiceApi.logout4Taxi( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + TaxiLogoutReqBean(MoGoAiCloudClientConfig.getInstance().sn, location4Login) + ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "logout")) + } + + /** + * 接单状态和登录状态查询 + * + * @param context + * @param callback + */ + @JvmStatic + fun queryDriverServiceStatus( + context: Context, + callback: OchCommonServiceCallback? + ) { + if (MoGoAiCloudClientConfig.getInstance().token.isEmpty()) { + callback?.onFail(OchCommonConst.WAIT_TAKEN, "等待令牌中请稍等") + MoGoAiCloudClient.getInstance().refreshToken() + return + } + mOCHTaxiServiceApi.queryDriverServiceStatusAndLoginStatus( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + MoGoAiCloudClientConfig.getInstance().sn + ).transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverServiceStatus")) + } + +} \ No newline at end of file diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/network/OchCommonServiceApiNew.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/network/OchLoginServiceApi.java similarity index 66% rename from OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/network/OchCommonServiceApiNew.java rename to OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/network/OchLoginServiceApi.java index d31f624578..19c9e85fbf 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/network/OchCommonServiceApiNew.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/network/OchLoginServiceApi.java @@ -1,4 +1,4 @@ -package com.mogo.och.common.module.biz.network; +package com.mogo.och.taxi.network; import com.mogo.eagle.core.data.BaseData; import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean; import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean; @@ -12,7 +12,6 @@ import retrofit2.http.GET; import retrofit2.http.Header; import retrofit2.http.Headers; import retrofit2.http.POST; -import retrofit2.http.Path; import retrofit2.http.Query; /** @@ -20,7 +19,7 @@ import retrofit2.http.Query; * * 网约车-出租车接口定义 */ -interface OchCommonServiceApiNew { +interface OchLoginServiceApi { /** * 获取手机验证码 * @@ -42,17 +41,6 @@ interface OchCommonServiceApiNew { Observable gotoLoginBycode4Taxi(@Header("appId") String appId , @Header("ticket") String ticket, @Body TaxiLoginReqBean data); - /** - * 通过验证码登录 - * @param appId - * @param ticket - * @param data - * @return - */ - @Headers( {"Content-type:application/json;charset=UTF-8"} ) - @POST( "/autopilot-car-hailing/cab/flow/v1/bus/driver/bus/startOperation" ) - Observable gotoLoginBycode4Bus(@Header("appId") String appId - , @Header("ticket") String ticket, @Body TaxiLoginReqBean data); /** * 登出接口 */ @@ -60,13 +48,6 @@ interface OchCommonServiceApiNew { @POST("/autopilot-car-hailing/cab/flow/v1/driver/taxi/endOperation") Observable logout4Taxi(@Header("appId") String appId, @Header("ticket") String ticket, @Body TaxiLogoutReqBean data); - /** - * 登出接口 - */ - @Headers({"Content-type:application/json;charset=UTF-8"}) - @POST("/autopilot-car-hailing/cab/flow/v1/bus/driver/bus/endOperation") - Observable logout4Bus(@Header("appId") String appId, @Header("ticket") String ticket, - @Body TaxiLogoutReqBean data); /** * 接单状态和登录状态查询 出租车司机端、小巴车司机端、小巴车乘客端 @@ -74,8 +55,8 @@ interface OchCommonServiceApiNew { * @return */ @Headers( {"Content-type:application/json;charset=UTF-8"} ) - @GET( "/autopilot-car-hailing/operation/v1/driver/{flavor}/loginStatus") - Observable queryDriverServiceStatusAndLoginStatus(@Path(value = "flavor",encoded = true) String flavor,@Header ("appId") String appId + @GET( "/autopilot-car-hailing/operation/v1/driver/taxi/loginStatus") + Observable queryDriverServiceStatusAndLoginStatus(@Header ("appId") String appId , @Header("ticket") String ticket, @Query("sn") String sn); } diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java index 2fb5dbf217..bf849e2779 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java @@ -26,6 +26,7 @@ import com.mogo.och.taxi.constant.TaxiOrderStatusEnum; import com.mogo.och.taxi.bean.OrderQueryRespBean; import com.mogo.och.taxi.bean.OrderQueryRouteInfoRespBean; import com.mogo.och.taxi.model.TaxiModel; +import com.mogo.och.taxi.network.LoginBusImpl; import com.mogo.och.taxi.presenter.TaxiPresenter; import com.mogo.och.taxi.utils.TPRouteDataTestUtils; @@ -67,7 +68,7 @@ public class TaxiFragment extends BaseTaxiTabFragment Date: Fri, 6 Jan 2023 10:51:33 +0800 Subject: [PATCH 06/18] =?UTF-8?q?[feature]=20=E7=BD=91=E7=BB=9C=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=AE=9E=E7=8E=B0=E8=B5=8B=E5=80=BC=E6=97=B6=E6=9C=BA?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/och/common/module/biz/provider/LoginServiceImpl.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/provider/LoginServiceImpl.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/provider/LoginServiceImpl.kt index cab0eb13dd..f34d388d46 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/provider/LoginServiceImpl.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/provider/LoginServiceImpl.kt @@ -38,13 +38,13 @@ class LoginServiceImpl : LoginService,ILoginViewCallback { } override fun registerFragment(fragment: Fragment?,loginCallback: ILoginCallback?,logindefaultmanage: LoginDefaultManage?) { + OchCommonServiceManager.setLoginDefaultManage(logindefaultmanage) presenter = OchCommonLoginStatusDefaultPresenter() this.fragment = fragment presenter?.let { it.setLoginCallback(loginCallback, this) this.fragment?.lifecycle?.addObserver(it) } - OchCommonServiceManager.setLoginDefaultManage(logindefaultmanage) } override fun unRegisterFragment() { From 6fe28c8dab8dde4204008c1643b57e41cc31827a Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Fri, 6 Jan 2023 20:21:01 +0800 Subject: [PATCH 07/18] =?UTF-8?q?[1.0.0]=20=E6=8E=A5=E9=A9=B3=E8=BD=A6?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=8E=A5=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/och/bus/bean/BusStationBean.java | 34 ++---- .../com/mogo/och/bus/constant/URLConst.kt | 2 +- .../bus/net/login}/OchCommonServiceManager.kt | 14 +-- .../net/{ => login}/OchLoginServiceApi.java | 2 +- .../bus/bean/BusQueryLineStationsRequest.java | 48 -------- .../mogo/och/bus/fragment/BusFragment.java | 2 +- .../mogo/och/bus/net/login}/LoginBusImpl.kt | 2 +- .../mogo/och/bus/presenter/BusPresenter.java | 4 +- .../com/mogo/och/bus/bean/BusStationBean.java | 105 ++++++++++++++++++ .../com/mogo/och/bus/constant/URLConst.kt | 2 +- .../com/mogo/och/bus/net/IBascApiService.java | 57 +--------- .../java/com/mogo/och/bus/net/LoginBusImpl.kt | 47 -------- .../bus/net/login}/OchCommonServiceManager.kt | 16 ++- .../net/{ => login}/OchLoginServiceApi.java | 19 ++-- 14 files changed, 149 insertions(+), 205 deletions(-) rename OCH/mogo-och-bus/src/{main => basc}/java/com/mogo/och/bus/bean/BusStationBean.java (86%) rename OCH/mogo-och-bus/src/{shuttle/java/com/mogo/och/bus/net => basc/java/com/mogo/och/bus/net/login}/OchCommonServiceManager.kt (90%) rename OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/{ => login}/OchLoginServiceApi.java (98%) rename OCH/mogo-och-bus/src/{basc/java/com/mogo/och/bus/net => main/java/com/mogo/och/bus/net/login}/LoginBusImpl.kt (97%) create mode 100644 OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/bean/BusStationBean.java delete mode 100644 OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/LoginBusImpl.kt rename OCH/mogo-och-bus/src/{basc/java/com/mogo/och/bus/net => shuttle/java/com/mogo/och/bus/net/login}/OchCommonServiceManager.kt (89%) rename OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/{ => login}/OchLoginServiceApi.java (77%) diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/BusStationBean.java b/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/bean/BusStationBean.java similarity index 86% rename from OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/BusStationBean.java rename to OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/bean/BusStationBean.java index ce62d497e5..33afb10366 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/BusStationBean.java +++ b/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/bean/BusStationBean.java @@ -6,36 +6,20 @@ package com.mogo.och.bus.bean; * @author tongchenfei */ public class BusStationBean { -// private int lineId; -// private int siteId; -// private String siteName; -// private String cityCode; -// private String areaCode; -// private String areaName; -// private double lat; -// private double lon; -// private String siteDesc; -// private int siteState; -// private int isCurrentSite;// @see OchBusConst 是否是当前站 1:是 2:下一站 0:普通站 -// private int siteColor; -// private String peoples; -// private int ifStop; // 是否需要停靠、1需要、0不需要 - - + private int siteId; private String name; - private String description; - private String cityCode; - private double lon; //高精坐标 - private double lat; //高精坐标 - private int businessType; //站点类型,9:taxi,10:bus + private int seq; private double gcjLon; //高德 private double gcjLat; //高德 - private int status; - private int siteId; - private int seq; + private double lon; //高精坐标 + private double lat; //高精坐标 private int drivingStatus;//行驶信息,0初始值;1已经过;2当前站;3未到站 - private int ifStop = 1; // 是否需要停靠、1需要、0不需要 // TODO: 2021/10/19 原来站点里有设计是否需要停靠字段,现设计暂无,默认都需要停靠 private boolean leaving; + private String description; + private String cityCode; + private int businessType; //站点类型,9:taxi,10:bus + private int status; + private int ifStop = 1; // 是否需要停靠、1需要、0不需要 // TODO: 2021/10/19 原来站点里有设计是否需要停靠字段,现设计暂无,默认都需要停靠 public double getGcjLon() { return gcjLon; diff --git a/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/constant/URLConst.kt b/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/constant/URLConst.kt index 2f481d8f19..47ee5af7a4 100644 --- a/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/constant/URLConst.kt +++ b/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/constant/URLConst.kt @@ -8,7 +8,7 @@ import com.mogo.commons.debug.DebugConfig class URLConst { companion object { - private const val BASE_URL_OCH_DEV = "http://tech-dev.zhidaohulian.com" + private const val BASE_URL_OCH_DEV = "https://tech-dev.zhidaohulian.com" private const val BASE_URL_OCH_QA = "https://tech-qa.zhidaohulian.com" private const val BASE_URL_OCH_RELEASE = "https://tech.zhidaohulian.com" diff --git a/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/OchCommonServiceManager.kt b/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/login/OchCommonServiceManager.kt similarity index 90% rename from OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/OchCommonServiceManager.kt rename to OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/login/OchCommonServiceManager.kt index 0bd4423ead..fcd24dd8d6 100644 --- a/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/OchCommonServiceManager.kt +++ b/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/login/OchCommonServiceManager.kt @@ -1,7 +1,6 @@ -package com.mogo.och.bus.net +package com.mogo.och.bus.net.login import android.content.Context -import com.mogo.och.common.module.biz.constant.OchCommonConst.Companion.getBaseUrl import com.mogo.cloud.passport.MoGoAiCloudClientConfig import com.mogo.och.common.module.biz.bean.TaxiLoginSmsReqBean import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean @@ -12,6 +11,7 @@ import com.mogo.och.common.module.biz.constant.OchCommonConst import com.mogo.cloud.passport.MoGoAiCloudClient import com.mogo.eagle.core.data.BaseData import com.mogo.eagle.core.network.MoGoRetrofitFactory +import com.mogo.och.bus.constant.URLConst.Companion.getBaseUrl import com.mogo.och.common.module.biz.network.OchCommonServiceCallback import com.mogo.och.common.module.biz.network.OchCommonSubscribeImpl import com.mogo.och.common.module.biz.network.interceptor.transformTry @@ -23,7 +23,7 @@ object OchCommonServiceManager { private const val TAG = "OchCommonServiceManager" - private val mOCHTaxiServiceApi: OchLoginServiceApi = + private val mLoginServiceApi: OchLoginServiceApi = MoGoRetrofitFactory.getInstance(getBaseUrl()).create( OchLoginServiceApi::class.java ) @@ -38,7 +38,7 @@ object OchCommonServiceManager { context: Context, phone: String?, callback: OchCommonServiceCallback? ) { - mOCHTaxiServiceApi.getPhoneCode( + mLoginServiceApi.getPhoneCode( MoGoAiCloudClientConfig.getInstance().serviceAppId, MoGoAiCloudClientConfig.getInstance().token, TaxiLoginSmsReqBean(phone) @@ -58,7 +58,7 @@ object OchCommonServiceManager { callback: OchCommonServiceCallback? ) { val sn = MoGoAiCloudClientConfig.getInstance().sn - mOCHTaxiServiceApi.gotoLoginBycode4Bus( + mLoginServiceApi.gotoLoginBycode4Bus( MoGoAiCloudClientConfig.getInstance().serviceAppId, MoGoAiCloudClientConfig.getInstance().token, TaxiLoginReqBean(phone, code, sn, location4Login) @@ -74,7 +74,7 @@ object OchCommonServiceManager { location4Login: TaxiLogoutReqBean.Location4Login?, callback: OchCommonServiceCallback? ) { - mOCHTaxiServiceApi.logout4Bus( + mLoginServiceApi.logout4Bus( MoGoAiCloudClientConfig.getInstance().serviceAppId, MoGoAiCloudClientConfig.getInstance().token, TaxiLogoutReqBean(MoGoAiCloudClientConfig.getInstance().sn, location4Login) @@ -97,7 +97,7 @@ object OchCommonServiceManager { MoGoAiCloudClient.getInstance().refreshToken() return } - mOCHTaxiServiceApi.queryDriverServiceStatusAndLoginStatus( + mLoginServiceApi.queryDriverServiceStatusAndLoginStatus( MoGoAiCloudClientConfig.getInstance().serviceAppId, MoGoAiCloudClientConfig.getInstance().token, MoGoAiCloudClientConfig.getInstance().sn diff --git a/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/OchLoginServiceApi.java b/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/login/OchLoginServiceApi.java similarity index 98% rename from OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/OchLoginServiceApi.java rename to OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/login/OchLoginServiceApi.java index 94f28ec373..fed3c8e1bc 100644 --- a/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/OchLoginServiceApi.java +++ b/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/login/OchLoginServiceApi.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.net; +package com.mogo.och.bus.net.login; import com.mogo.eagle.core.data.BaseData; import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean; diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/BusQueryLineStationsRequest.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/BusQueryLineStationsRequest.java index 6c90d9f7e2..adf7878ec5 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/BusQueryLineStationsRequest.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/bean/BusQueryLineStationsRequest.java @@ -11,55 +11,7 @@ import com.mogo.cloud.passport.MoGoAiCloudClientConfig; public class BusQueryLineStationsRequest { private String sn; -// private double lat; -// private double lon; -// private boolean markDrivingStatus; // 默认false;true:是否需要返回站点的行驶状态,对应返回的drivingStatus - // 0 - 关闭、1 - 启动 -// public String status; -// public BusQueryLineStationsRequest(double lon, double lat, boolean markDrivingStatus) { -// this.sn = MoGoAiCloudClientConfig.getInstance().getSn(); -// this.lat = lat; -// this.lon = lon; -// this.markDrivingStatus = markDrivingStatus; -// } public BusQueryLineStationsRequest() { this.sn = MoGoAiCloudClientConfig.getInstance().getSn(); } - -// public boolean isMarkDrivingStatus() { -// return markDrivingStatus; -// } -// -// public void setMarkDrivingStatus(boolean markDrivingStatus) { -// this.markDrivingStatus = markDrivingStatus; -// } -// -// public void setLat(double lat) { -// this.lat = lat; -// } -// -// public void setLon(double lon) { -// this.lon = lon; -// } -// -// public String getSn() { -// return sn; -// } -// -// public double getLat() { -// return lat; -// } -// -// public double getLon() { -// return lon; -// } - // public BusOperationStatusRequest shutdown() { -// status = "0"; -// return this; -// } -// -// public BusOperationStatusRequest launch() { -// status = "1"; -// return this; -// } } diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BusFragment.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BusFragment.java index 9802b0cbae..ea3b781319 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BusFragment.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BusFragment.java @@ -28,7 +28,7 @@ import com.mogo.map.marker.MogoMarkerOptions; import com.mogo.och.bus.R; import com.mogo.och.bus.bean.BusStationBean; import com.mogo.och.bus.constant.BusConst; -import com.mogo.och.bus.net.LoginBusImpl; +import com.mogo.och.bus.net.login.LoginBusImpl; import com.mogo.och.bus.presenter.BusPresenter; import com.mogo.och.bus.ui.BusStationCommonItem; import com.mogo.och.bus.ui.BusSwitchLineActivity; diff --git a/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/LoginBusImpl.kt b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/net/login/LoginBusImpl.kt similarity index 97% rename from OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/LoginBusImpl.kt rename to OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/net/login/LoginBusImpl.kt index d40f31847b..0f3c2d294f 100644 --- a/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/LoginBusImpl.kt +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/net/login/LoginBusImpl.kt @@ -1,4 +1,4 @@ -package com.mogo.och.bus.net +package com.mogo.och.bus.net.login import android.content.Context import com.mogo.eagle.core.data.BaseData diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java index 2512fd5c9e..01a3fb1755 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java @@ -151,8 +151,8 @@ public class BusPresenter extends Presenter @Override public void hideSlidePanel() { if (mView != null) { - runOnUIThread(() -> mView.hideSlidePanel()); - runOnUIThread(()-> mView.setArrivedClikable(true)); + mView.hideSlidePanel(); + mView.setArrivedClikable(true); } } diff --git a/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/bean/BusStationBean.java b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/bean/BusStationBean.java new file mode 100644 index 0000000000..304e99b5c3 --- /dev/null +++ b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/bean/BusStationBean.java @@ -0,0 +1,105 @@ +package com.mogo.och.bus.bean; + +/** + * 单个网约车小巴车站信息 + * + * @author tongchenfei + */ +public class BusStationBean { + private int siteId; + private String name; + private int seq; + private double gcjLon; //高德 + private double gcjLat; //高德 + private double lon; //高精坐标 + private double lat; //高精坐标 + private int drivingStatus;//行驶信息,0初始值;1已经过;2当前站;3未到站 + private boolean leaving; + + public int getSiteId() { + return siteId; + } + + public String getName() { + return name; + } + + public int getSeq() { + return seq; + } + + public double getGcjLon() { + return gcjLon; + } + + public double getGcjLat() { + return gcjLat; + } + + public double getLon() { + return lon; + } + + public double getLat() { + return lat; + } + + public int getDrivingStatus() { + return drivingStatus; + } + + public boolean isLeaving() { + return leaving; + } + + public void setSiteId(int siteId) { + this.siteId = siteId; + } + + public void setName(String name) { + this.name = name; + } + + public void setSeq(int seq) { + this.seq = seq; + } + + public void setGcjLon(double gcjLon) { + this.gcjLon = gcjLon; + } + + public void setGcjLat(double gcjLat) { + this.gcjLat = gcjLat; + } + + public void setLon(double lon) { + this.lon = lon; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public void setDrivingStatus(int drivingStatus) { + this.drivingStatus = drivingStatus; + } + + public void setLeaving(boolean leaving) { + this.leaving = leaving; + } + + @Override + public String toString() { + return "BusStationBean{" + + "siteId=" + siteId + + ", name='" + name + '\'' + + ", seq=" + seq + + ", gcjLon=" + gcjLon + + ", gcjLat=" + gcjLat + + ", lon=" + lon + + ", lat=" + lat + + ", drivingStatus=" + drivingStatus + + ", leaving=" + leaving + + '}'; + } +} diff --git a/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/constant/URLConst.kt b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/constant/URLConst.kt index 7539ee0a6e..5937447191 100644 --- a/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/constant/URLConst.kt +++ b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/constant/URLConst.kt @@ -8,7 +8,7 @@ import com.mogo.commons.debug.DebugConfig class URLConst { companion object { - private const val BASE_URL_OCH_DEV = "http://och-driver-dev.zhidaozhixing.com" + private const val BASE_URL_OCH_DEV = "https://och-driver-dev.zhidaozhixing.com" private const val BASE_URL_OCH_QA = "https://och-driver-qa.zhidaozhixing.com" private const val BASE_URL_OCH_RELEASE = "https://och-driver.zhidaozhixing.com" diff --git a/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/IBascApiService.java b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/IBascApiService.java index 6bde5e0ecf..d88d494ebb 100644 --- a/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/IBascApiService.java +++ b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/IBascApiService.java @@ -10,11 +10,6 @@ import com.mogo.och.bus.bean.QueryLeaveAwayPassengersRequest; import com.mogo.och.bus.bean.QueryLeaveAwayPassengersResponse; import com.mogo.och.bus.bean.BusResetDrivingLineRequest; import com.mogo.och.bus.bean.BusUpdateSiteStatusRequest; -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean; -import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean; -import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean; -import com.mogo.och.common.module.biz.bean.TaxiLoginSmsReqBean; -import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean; import io.reactivex.Observable; import retrofit2.http.Body; @@ -22,7 +17,6 @@ import retrofit2.http.GET; import retrofit2.http.Header; import retrofit2.http.Headers; import retrofit2.http.POST; -import retrofit2.http.Path; import retrofit2.http.Query; /** @@ -34,10 +28,10 @@ import retrofit2.http.Query; */ public interface IBascApiService { /** - * 根据车机坐标获取所在区域全部站点信息 + * 查询当前运行任务 * * @param request 请求参数 - * @return 接口返回数据 todo 修改返回结构 + * @return 接口返回数据 */ @Headers( {"Content-Type:application/json;charset=UTF-8"} ) @POST( "/och-shuttle-cabin/api/business/v1/driver/lineDataWithDriver/query" ) @@ -68,7 +62,7 @@ public interface IBascApiService { */ @Headers({"Content-type:application/json;charset=UTF-8"}) @POST("/och-shuttle-cabin/api/flow/v1/driver/arrive") - Observable< BaseData > arriveSiteStation(@Header ("appId") String appId,@Header("ticket") String ticket,@Body BusUpdateSiteStatusRequest request); + Observable arriveSiteStation(@Header ("appId") String appId,@Header("ticket") String ticket,@Body BusUpdateSiteStatusRequest request); /** @@ -98,7 +92,7 @@ public interface IBascApiService { * @param sn * @return */ - @GET("och-shuttle-cabin/api/business/v1/driver/bindLine/query") + @GET("/och-shuttle-cabin/api/business/v1/driver/bindLine/query") Observable queryBusLines(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("sn") String sn); /** @@ -108,7 +102,7 @@ public interface IBascApiService { * @param lineId 线路id * @return */ - @GET("och-shuttle-cabin/api/business/v1/driver/task/query") + @GET("/och-shuttle-cabin/api/business/v1/driver/task/query") Observable queryBusTaskByLineId(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("lineId") String lineId); /** @@ -131,46 +125,5 @@ public interface IBascApiService { @Headers( {"Content-type:application/json;charset=UTF-8"} ) @POST("/och-shuttle-cabin/api/flow/v1/driver/endTask") Observable endTask(@Header ("appId") String appId, @Header("ticket") String ticket, @Body BusCloseTaskRequest data); - - /** - * 获取手机验证码 - * - * @return - */ - @Headers( {"Content-type:application/json;charset=UTF-8"} ) - @POST( "/och-shuttle-cabin/api/sms/v1/driver/sendSms" ) - Observable getPhoneCode(@Header("appId") String appId - , @Header("ticket") String ticket, @Body TaxiLoginSmsReqBean data); - - /** - * 通过验证码登录 - * @param appId - * @param ticket - * @param data - * @return - */ - @Headers( {"Content-type:application/json;charset=UTF-8"} ) - @POST( "/och-shuttle-cabin/api/flow/v1/driver/startOperation" ) - Observable gotoLoginBycode4Bus(@Header("appId") String appId - , @Header("ticket") String ticket, @Body TaxiLoginReqBean data); - - /** - * 登出接口 - */ - @Headers({"Content-type:application/json;charset=UTF-8"}) - @POST("/och-shuttle-cabin/api/flow/v1/driver/endOperation") - Observable logout4Bus(@Header("appId") String appId, @Header("ticket") String ticket, - @Body TaxiLogoutReqBean data); - - /** - * 接单状态和登录状态查询 出租车司机端、小巴车司机端、小巴车乘客端 - * @param sn - * @return - */ - @Headers( {"Content-type:application/json;charset=UTF-8"} ) - @GET( "/och-shuttle-cabin/api/business/v1/driver/loginStatus") - Observable queryDriverServiceStatusAndLoginStatus(@Path(value = "flavor",encoded = true) String flavor, @Header ("appId") String appId - , @Header("ticket") String ticket, @Query("sn") String sn); - } diff --git a/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/LoginBusImpl.kt b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/LoginBusImpl.kt deleted file mode 100644 index d40f31847b..0000000000 --- a/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/LoginBusImpl.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.mogo.och.bus.net - -import android.content.Context -import com.mogo.eagle.core.data.BaseData -import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean -import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean -import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean -import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean -import com.mogo.och.common.module.biz.network.LoginDefaultManage -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback - -class LoginBusImpl: LoginDefaultManage { - - override fun getPhoneCode( - context: Context, phone: String?, - callback: OchCommonServiceCallback? - ) { - OchCommonServiceManager.getPhoneCode(context,phone,callback) - } - - override fun gotoLoginBycode( - context: Context, - phone: String?, - code: String?, - location4Login: TaxiLoginReqBean.Location4Login?, - callback: OchCommonServiceCallback? - ) { - OchCommonServiceManager.gotoLoginBycode(context,phone,code,location4Login,callback) - } - - override fun logout( - context: Context, - location4Login: TaxiLogoutReqBean.Location4Login?, - callback: OchCommonServiceCallback? - ) { - OchCommonServiceManager.logout(context,location4Login,callback) - } - - override fun queryDriverServiceStatus( - context: Context, - callback: OchCommonServiceCallback? - ) { - OchCommonServiceManager.queryDriverServiceStatus(context,callback) - } - - -} \ No newline at end of file diff --git a/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/OchCommonServiceManager.kt b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/login/OchCommonServiceManager.kt similarity index 89% rename from OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/OchCommonServiceManager.kt rename to OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/login/OchCommonServiceManager.kt index 615d892390..fcd24dd8d6 100644 --- a/OCH/mogo-och-bus/src/basc/java/com/mogo/och/bus/net/OchCommonServiceManager.kt +++ b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/login/OchCommonServiceManager.kt @@ -1,7 +1,6 @@ -package com.mogo.och.bus.net +package com.mogo.och.bus.net.login import android.content.Context -import com.mogo.och.common.module.biz.constant.OchCommonConst.Companion.getBaseUrl import com.mogo.cloud.passport.MoGoAiCloudClientConfig import com.mogo.och.common.module.biz.bean.TaxiLoginSmsReqBean import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean @@ -10,13 +9,12 @@ import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean import com.mogo.och.common.module.biz.constant.OchCommonConst import com.mogo.cloud.passport.MoGoAiCloudClient -import com.mogo.commons.debug.DebugConfig import com.mogo.eagle.core.data.BaseData import com.mogo.eagle.core.network.MoGoRetrofitFactory +import com.mogo.och.bus.constant.URLConst.Companion.getBaseUrl import com.mogo.och.common.module.biz.network.OchCommonServiceCallback import com.mogo.och.common.module.biz.network.OchCommonSubscribeImpl import com.mogo.och.common.module.biz.network.interceptor.transformTry -import io.reactivex.Observable /** * Created by pangfan on 2021/8/19 @@ -25,7 +23,7 @@ object OchCommonServiceManager { private const val TAG = "OchCommonServiceManager" - private val mOCHTaxiServiceApi: OchLoginServiceApi = + private val mLoginServiceApi: OchLoginServiceApi = MoGoRetrofitFactory.getInstance(getBaseUrl()).create( OchLoginServiceApi::class.java ) @@ -40,7 +38,7 @@ object OchCommonServiceManager { context: Context, phone: String?, callback: OchCommonServiceCallback? ) { - mOCHTaxiServiceApi.getPhoneCode( + mLoginServiceApi.getPhoneCode( MoGoAiCloudClientConfig.getInstance().serviceAppId, MoGoAiCloudClientConfig.getInstance().token, TaxiLoginSmsReqBean(phone) @@ -60,7 +58,7 @@ object OchCommonServiceManager { callback: OchCommonServiceCallback? ) { val sn = MoGoAiCloudClientConfig.getInstance().sn - mOCHTaxiServiceApi.gotoLoginBycode4Bus( + mLoginServiceApi.gotoLoginBycode4Bus( MoGoAiCloudClientConfig.getInstance().serviceAppId, MoGoAiCloudClientConfig.getInstance().token, TaxiLoginReqBean(phone, code, sn, location4Login) @@ -76,7 +74,7 @@ object OchCommonServiceManager { location4Login: TaxiLogoutReqBean.Location4Login?, callback: OchCommonServiceCallback? ) { - mOCHTaxiServiceApi.logout4Bus( + mLoginServiceApi.logout4Bus( MoGoAiCloudClientConfig.getInstance().serviceAppId, MoGoAiCloudClientConfig.getInstance().token, TaxiLogoutReqBean(MoGoAiCloudClientConfig.getInstance().sn, location4Login) @@ -99,7 +97,7 @@ object OchCommonServiceManager { MoGoAiCloudClient.getInstance().refreshToken() return } - mOCHTaxiServiceApi.queryDriverServiceStatusAndLoginStatus( + mLoginServiceApi.queryDriverServiceStatusAndLoginStatus( MoGoAiCloudClientConfig.getInstance().serviceAppId, MoGoAiCloudClientConfig.getInstance().token, MoGoAiCloudClientConfig.getInstance().sn diff --git a/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/OchLoginServiceApi.java b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/login/OchLoginServiceApi.java similarity index 77% rename from OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/OchLoginServiceApi.java rename to OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/login/OchLoginServiceApi.java index 9ff5908304..81a0206a40 100644 --- a/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/OchLoginServiceApi.java +++ b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/net/login/OchLoginServiceApi.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus.net; +package com.mogo.och.bus.net.login; import com.mogo.eagle.core.data.BaseData; import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean; @@ -13,6 +13,7 @@ import retrofit2.http.GET; import retrofit2.http.Header; import retrofit2.http.Headers; import retrofit2.http.POST; +import retrofit2.http.Path; import retrofit2.http.Query; /** @@ -26,21 +27,20 @@ interface OchLoginServiceApi { * * @return */ - @Headers({"Content-type:application/json;charset=UTF-8"}) - @POST("/autopilot-car-hailing/driver/v2/driver/taxi/sendSms") + @Headers( {"Content-type:application/json;charset=UTF-8"} ) + @POST( "/och-shuttle-cabin/api/sms/v1/driver/sendSms" ) Observable getPhoneCode(@Header("appId") String appId , @Header("ticket") String ticket, @Body TaxiLoginSmsReqBean data); /** * 通过验证码登录 - * * @param appId * @param ticket * @param data * @return */ - @Headers({"Content-type:application/json;charset=UTF-8"}) - @POST("/autopilot-car-hailing/cab/flow/v1/bus/driver/bus/startOperation") + @Headers( {"Content-type:application/json;charset=UTF-8"} ) + @POST( "/och-shuttle-cabin/api/flow/v1/driver/startOperation" ) Observable gotoLoginBycode4Bus(@Header("appId") String appId , @Header("ticket") String ticket, @Body TaxiLoginReqBean data); @@ -48,18 +48,17 @@ interface OchLoginServiceApi { * 登出接口 */ @Headers({"Content-type:application/json;charset=UTF-8"}) - @POST("/autopilot-car-hailing/cab/flow/v1/bus/driver/bus/endOperation") + @POST("/och-shuttle-cabin/api/flow/v1/driver/endOperation") Observable logout4Bus(@Header("appId") String appId, @Header("ticket") String ticket, @Body TaxiLogoutReqBean data); /** * 接单状态和登录状态查询 出租车司机端、小巴车司机端、小巴车乘客端 - * * @param sn * @return */ - @Headers({"Content-type:application/json;charset=UTF-8"}) - @GET("/autopilot-car-hailing/operation/v1/driver/bus/loginStatus") + @Headers( {"Content-type:application/json;charset=UTF-8"} ) + @GET( "/och-shuttle-cabin/api/business/v1/driver/loginStatus") Observable queryDriverServiceStatusAndLoginStatus(@Header("appId") String appId , @Header("ticket") String ticket, @Query("sn") String sn); From 2e8db449f78ac40a7f0b53a07898d74e0a770bda Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Wed, 11 Jan 2023 10:26:42 +0800 Subject: [PATCH 08/18] =?UTF-8?q?[1.0.0]=20=E6=8E=A5=E9=A9=B3=E8=BD=A6?= =?UTF-8?q?=E4=B9=98=E5=AE=A2=E5=B1=8F=E6=8E=A5=E5=8F=A3=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../och/bus/passenger/constant/URLConst.kt | 26 +++++++++++++++++++ .../passenger/constant/BusPassengerConst.kt | 14 ---------- .../network/BusPassengerServiceManager.kt | 2 +- .../och/bus/passenger/constant/URLConst.kt | 25 ++++++++++++++++++ .../network/PassengerServiceApi.java | 2 +- 5 files changed, 53 insertions(+), 16 deletions(-) create mode 100644 OCH/mogo-och-bus-passenger/src/basc/java/com/mogo/och/bus/passenger/constant/URLConst.kt create mode 100644 OCH/mogo-och-bus-passenger/src/shuttle/java/com/mogo/och/bus/passenger/constant/URLConst.kt diff --git a/OCH/mogo-och-bus-passenger/src/basc/java/com/mogo/och/bus/passenger/constant/URLConst.kt b/OCH/mogo-och-bus-passenger/src/basc/java/com/mogo/och/bus/passenger/constant/URLConst.kt new file mode 100644 index 0000000000..e0f216ae49 --- /dev/null +++ b/OCH/mogo-och-bus-passenger/src/basc/java/com/mogo/och/bus/passenger/constant/URLConst.kt @@ -0,0 +1,26 @@ +package com.mogo.och.bus.passenger.constant + +import com.mogo.commons.debug.DebugConfig + +/** + * Created on 2021/12/6 + */ +class URLConst { + companion object { + + private const val BASE_URL_OCH_DEV = "http://tech-dev.zhidaohulian.com" + private const val BASE_URL_OCH_QA = "https://tech-qa.zhidaohulian.com" + private const val BASE_URL_OCH_RELEASE = "https://tech.zhidaohulian.com" + + @JvmStatic + fun getBaseUrl(): String { + return when (DebugConfig.getNetMode()) { + DebugConfig.NET_MODE_DEV, DebugConfig.NET_MODE_DEMO -> BASE_URL_OCH_DEV + DebugConfig.NET_MODE_QA -> BASE_URL_OCH_QA + DebugConfig.NET_MODE_RELEASE -> BASE_URL_OCH_RELEASE + else -> BASE_URL_OCH_RELEASE + } + } + + } +} \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/constant/BusPassengerConst.kt b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/constant/BusPassengerConst.kt index c7b0368acd..0267d9ba1e 100644 --- a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/constant/BusPassengerConst.kt +++ b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/constant/BusPassengerConst.kt @@ -8,20 +8,6 @@ import com.mogo.commons.debug.DebugConfig class BusPassengerConst { companion object { - private const val BASE_URL_OCH_DEV = "http://tech-dev.zhidaohulian.com" - private const val BASE_URL_OCH_QA = "https://tech-qa.zhidaohulian.com" - private const val BASE_URL_OCH_RELEASE = "https://tech.zhidaohulian.com" - - @JvmStatic - fun getBaseUrl(): String { - return when (DebugConfig.getNetMode()) { - DebugConfig.NET_MODE_DEV, DebugConfig.NET_MODE_DEMO -> BASE_URL_OCH_DEV - DebugConfig.NET_MODE_QA -> BASE_URL_OCH_QA - DebugConfig.NET_MODE_RELEASE -> BASE_URL_OCH_RELEASE - else -> BASE_URL_OCH_RELEASE - } - } - // OCH arouter 路由path const val PATH = "/och/api" diff --git a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/network/BusPassengerServiceManager.kt b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/network/BusPassengerServiceManager.kt index a545861f84..08ecb5f379 100644 --- a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/network/BusPassengerServiceManager.kt +++ b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/network/BusPassengerServiceManager.kt @@ -1,13 +1,13 @@ package com.mogo.och.bus.passenger.network import android.content.Context -import com.mogo.och.bus.passenger.constant.BusPassengerConst.Companion.getBaseUrl import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager.getServerToken import com.mogo.och.bus.passenger.bean.BusPassengerRoutesResponse import com.mogo.cloud.passport.MoGoAiCloudClientConfig import com.mogo.och.bus.passenger.bean.BusPassengerQueryLineRequest import com.mogo.och.bus.passenger.bean.BusPassengerOperationStatusResponse import com.mogo.eagle.core.network.MoGoRetrofitFactory +import com.mogo.och.bus.passenger.constant.URLConst.Companion.getBaseUrl import com.mogo.och.common.module.biz.network.OchCommonServiceCallback import com.mogo.och.common.module.biz.network.OchCommonSubscribeImpl import com.mogo.och.common.module.biz.network.interceptor.transformTry diff --git a/OCH/mogo-och-bus-passenger/src/shuttle/java/com/mogo/och/bus/passenger/constant/URLConst.kt b/OCH/mogo-och-bus-passenger/src/shuttle/java/com/mogo/och/bus/passenger/constant/URLConst.kt new file mode 100644 index 0000000000..3bc5684eb7 --- /dev/null +++ b/OCH/mogo-och-bus-passenger/src/shuttle/java/com/mogo/och/bus/passenger/constant/URLConst.kt @@ -0,0 +1,25 @@ +package com.mogo.och.bus.passenger.constant + +import com.mogo.commons.debug.DebugConfig + +/** + * Created on 2021/12/6 + */ +class URLConst { + companion object { + + private const val BASE_URL_OCH_DEV = "https://och-driver-dev.zhidaozhixing.com" + private const val BASE_URL_OCH_QA = "https://och-driver-qa.zhidaozhixing.com" + private const val BASE_URL_OCH_RELEASE = "https://och-driver.zhidaozhixing.com" + + @JvmStatic + fun getBaseUrl(): String { + return when (DebugConfig.getNetMode()) { + DebugConfig.NET_MODE_DEV, DebugConfig.NET_MODE_DEMO -> BASE_URL_OCH_DEV + DebugConfig.NET_MODE_QA -> BASE_URL_OCH_QA + DebugConfig.NET_MODE_RELEASE -> BASE_URL_OCH_RELEASE + else -> BASE_URL_OCH_RELEASE + } + } + } +} \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/shuttle/java/com/mogo/och/bus/passenger/network/PassengerServiceApi.java b/OCH/mogo-och-bus-passenger/src/shuttle/java/com/mogo/och/bus/passenger/network/PassengerServiceApi.java index 87db3061a3..0db5380214 100644 --- a/OCH/mogo-och-bus-passenger/src/shuttle/java/com/mogo/och/bus/passenger/network/PassengerServiceApi.java +++ b/OCH/mogo-och-bus-passenger/src/shuttle/java/com/mogo/och/bus/passenger/network/PassengerServiceApi.java @@ -17,7 +17,7 @@ import retrofit2.http.Query; * * Bus乘客端接口定义 */ -interface BusPassengerServiceApi { +interface PassengerServiceApi { /** * 查询bus司机端绑定路线 * @return 接口返回数据 From aaf9ec52fd453c5ca2e856f8ebff7077c49a0308 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Wed, 11 Jan 2023 19:33:22 +0800 Subject: [PATCH 09/18] =?UTF-8?q?[1.0.0]=20=E6=8E=A5=E9=A9=B3=E8=BD=A6?= =?UTF-8?q?=E7=99=BB=E9=99=86=E9=A1=B5=E9=9D=A2=E8=83=8C=E6=99=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/och/common/module/biz/ui/TaxiLoginDialogFragment.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/ui/TaxiLoginDialogFragment.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/ui/TaxiLoginDialogFragment.kt index e40bf14a9c..39b4982358 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/ui/TaxiLoginDialogFragment.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/ui/TaxiLoginDialogFragment.kt @@ -96,6 +96,9 @@ class TaxiLoginDialogFragment : "fPadLenovoOchBus" -> { acivLoginBg.setImageResource(R.drawable.bus_ic_login_bg) } + "fPadLenovoOchBusShuttle" -> { + acivLoginBg.setImageResource(R.drawable.bus_ic_login_bg) + } } } From 5180d3b6f93313ef85130a6bc16f7249b4e37b3e Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Tue, 10 Jan 2023 19:25:21 +0800 Subject: [PATCH 10/18] =?UTF-8?q?[v2.13.2][Fix]=E8=A7=A3=E5=86=B3Room?= =?UTF-8?q?=E5=B4=A9=E6=BA=83=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/function/main/MainMoGoApplication.java | 16 +++++++++------- .../eagle/core/function/msgbox/DataManager.kt | 2 ++ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java index 889febb1a4..a080bc6d00 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java @@ -65,21 +65,23 @@ public abstract class MainMoGoApplication extends AbsMogoApplication { } start = System.currentTimeMillis(); connectAmiIp(); - initOverviewDb(); // Crash 日志收集 initCrashConfig(); initLogConfig(); initTipToast(); initModules(); - if (DebugConfig.isDebug()) { - initKoom(); - } //查询是否有版本的更新 queryAppUpgrade(); - clearMessageBoxTable(); - checkMonitorDb(); + if (ProcessUtils.isMainProcess(this)) { + initOverviewDb(); + if (DebugConfig.isDebug()) { + initKoom(); + } + clearMessageBoxTable(); + checkMonitorDb(); + CallerMsgBoxManager.INSTANCE.queryAllMessages(this); + } upgradeProgressListener(); - CallerMsgBoxManager.INSTANCE.queryAllMessages(this); } @Override diff --git a/core/function-impl/mogo-core-function-msgbox/src/main/java/com/mogo/eagle/core/function/msgbox/DataManager.kt b/core/function-impl/mogo-core-function-msgbox/src/main/java/com/mogo/eagle/core/function/msgbox/DataManager.kt index ae02bbd2d8..1b614ace1f 100644 --- a/core/function-impl/mogo-core-function-msgbox/src/main/java/com/mogo/eagle/core/function/msgbox/DataManager.kt +++ b/core/function-impl/mogo-core-function-msgbox/src/main/java/com/mogo/eagle/core/function/msgbox/DataManager.kt @@ -12,6 +12,7 @@ import com.mogo.eagle.core.utilcode.kotlin.lifeCycleScope import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.Utils import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.delay import kotlinx.coroutines.launch import kotlinx.coroutines.withContext @@ -156,6 +157,7 @@ object DataManager { } private suspend fun getCacheMessages(context: Context): List = withContext(Dispatchers.IO) { + delay(2000) return@withContext MsgBoxDb.getDb(context) .monitorDao() .getAllCachedMessages() From 3ecbad547292c75ec389420b19a466d8ad8090b6 Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Wed, 11 Jan 2023 15:44:34 +0800 Subject: [PATCH 11/18] =?UTF-8?q?[2.13.2][fix]=E8=A7=A3=E5=86=B3=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E5=B4=A9=E6=BA=83=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../function/main/MainMoGoApplication.java | 43 ++++++++++++------- .../eagle/core/function/msgbox/DataManager.kt | 7 ++- 2 files changed, 33 insertions(+), 17 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java index a080bc6d00..569f02f2d8 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java @@ -106,23 +106,27 @@ public abstract class MainMoGoApplication extends AbsMogoApplication { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Date currDate = new Date(System.currentTimeMillis()); String currTimeStr = format.format(currDate); - if (lastLaunchTimeStr != null && !lastLaunchTimeStr.isEmpty()) { - boolean isSameDay = currTimeStr.equals(lastLaunchTimeStr); - // 超过一天需要清除消息盒子中的数据,并把时间戳存入SP - if (!isSameDay) { + try { + if (lastLaunchTimeStr != null && !lastLaunchTimeStr.isEmpty()) { + boolean isSameDay = currTimeStr.equals(lastLaunchTimeStr); + // 超过一天需要清除消息盒子中的数据,并把时间戳存入SP + if (!isSameDay) { + File file = this.getDatabasePath(MsgBoxDb.INTERNAL_DB_NAME); + if (file != null && file.exists()) { + this.deleteDatabase(MsgBoxDb.INTERNAL_DB_NAME); + } + SPUtils.getInstance().put("last_launch", currTimeStr); + } + } else { + // 首次使用App或中途仅删除sp文件 File file = this.getDatabasePath(MsgBoxDb.INTERNAL_DB_NAME); if (file != null && file.exists()) { this.deleteDatabase(MsgBoxDb.INTERNAL_DB_NAME); } SPUtils.getInstance().put("last_launch", currTimeStr); } - } else { - // 首次使用App或中途仅删除sp文件 - File file = this.getDatabasePath(MsgBoxDb.INTERNAL_DB_NAME); - if (file != null && file.exists()) { - this.deleteDatabase(MsgBoxDb.INTERNAL_DB_NAME); - } - SPUtils.getInstance().put("last_launch", currTimeStr); + } catch (Exception e) { + CallerLogger.INSTANCE.e(TAG, e.getMessage()); } }).start(); } @@ -130,11 +134,18 @@ public abstract class MainMoGoApplication extends AbsMogoApplication { private void checkMonitorDb() { new Thread(() -> { long limitId = 50001; - List cpuList = MonitorDb.getDb(this).monitorDao().getAllCPUById(limitId); - List memList = MonitorDb.getDb(this).monitorDao().getAllMemById(limitId); - // 大于5w条清除 - if (cpuList.size() > 0 || memList.size() > 0) { - this.deleteDatabase(MonitorDb.INTERNAL_DB_NAME); + File file = this.getDatabasePath(MonitorDb.INTERNAL_DB_NAME); + try { + if (file != null && file.exists()) { + List cpuList = MonitorDb.getDb(this).monitorDao().getAllCPUById(limitId); + List memList = MonitorDb.getDb(this).monitorDao().getAllMemById(limitId); + // 大于5w条清除 + if (cpuList.size() > 0 || memList.size() > 0) { + this.deleteDatabase(MonitorDb.INTERNAL_DB_NAME); + } + } + } catch (Exception e) { + CallerLogger.INSTANCE.e(TAG, e.getMessage()); } }).start(); } diff --git a/core/function-impl/mogo-core-function-msgbox/src/main/java/com/mogo/eagle/core/function/msgbox/DataManager.kt b/core/function-impl/mogo-core-function-msgbox/src/main/java/com/mogo/eagle/core/function/msgbox/DataManager.kt index 1b614ace1f..c394ba105c 100644 --- a/core/function-impl/mogo-core-function-msgbox/src/main/java/com/mogo/eagle/core/function/msgbox/DataManager.kt +++ b/core/function-impl/mogo-core-function-msgbox/src/main/java/com/mogo/eagle/core/function/msgbox/DataManager.kt @@ -9,6 +9,7 @@ import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxListenerManager import com.mogo.eagle.core.function.msgbox.db.MsgBoxDb import com.mogo.eagle.core.function.msgbox.db.MsgBoxInfo import com.mogo.eagle.core.utilcode.kotlin.lifeCycleScope +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.Utils import kotlinx.coroutines.Dispatchers @@ -140,7 +141,11 @@ object DataManager { fun queryAllMessages(context: Context) { scope.launch { initCache() - getCacheMessages(context) + try { + getCacheMessages(context) + } catch (e: Exception) { + CallerLogger.e("DataManager", e.message) + } } } From 6dde7380b8ea2b0d4e35ee6d406ed959c0de6189 Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Wed, 11 Jan 2023 16:43:04 +0800 Subject: [PATCH 12/18] =?UTF-8?q?[2.13.2][Opt]=E6=9F=A5=E8=AF=A2=E6=80=A7?= =?UTF-8?q?=E8=83=BD=E7=9B=91=E6=8E=A7=E7=9A=84=E6=97=B6=E6=9C=BA=E5=90=8E?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/function/main/MainActivity.java | 24 +++++++++++++++++++ .../function/main/MainMoGoApplication.java | 23 ------------------ 2 files changed, 24 insertions(+), 23 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.java index bf1fc63be2..337e4aacf0 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.java @@ -63,9 +63,13 @@ import com.mogo.map.uicontroller.IMogoMapUIController; import com.rousetime.android_startup.StartupManager; import com.rousetime.android_startup.model.LoggerLevel; import com.rousetime.android_startup.model.StartupConfig; +import com.zhjt.mogo_core_function_devatools.monitor.db.CpuInfo; +import com.zhjt.mogo_core_function_devatools.monitor.db.MemInfo; +import com.zhjt.mogo_core_function_devatools.monitor.db.MonitorDb; import com.zhjt.service.chain.ChainLog; import com.zhjt.service.chain.TracingConstants; +import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -271,6 +275,7 @@ public class MainActivity extends MvpActivity implement // 启动Native内存泄漏监测 startLeakMonitor(); } + checkMonitorDb(); } /** @@ -309,6 +314,25 @@ public class MainActivity extends MvpActivity implement LeakMonitor.INSTANCE.start(); } + private void checkMonitorDb() { + new Thread(() -> { + long limitId = 50001; + File file = this.getDatabasePath(MonitorDb.INTERNAL_DB_NAME); + try { + if (file != null && file.exists()) { + List cpuList = MonitorDb.getDb(this).monitorDao().getAllCPUById(limitId); + List memList = MonitorDb.getDb(this).monitorDao().getAllMemById(limitId); + // 大于5w条清除 + if (cpuList.size() > 0 || memList.size() > 0) { + this.deleteDatabase(MonitorDb.INTERNAL_DB_NAME); + } + } + } catch (Exception e) { + CallerLogger.INSTANCE.e(TAG, e.getMessage()); + } + }).start(); + } + @ChainLog( linkChainLog = CHAIN_LINK_LOG_NATIVE_LEAK, linkCode = CHAIN_LINK_LEAK, diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java index 569f02f2d8..ab789ac15b 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java @@ -39,9 +39,6 @@ import com.mogo.eagle.core.utilcode.util.ProcessUtils; import com.mogo.eagle.core.utilcode.util.SPUtils; import com.mogo.map.MapApiPath; import com.zhidao.support.obu.ami.AmiClientManager; -import com.zhjt.mogo_core_function_devatools.monitor.db.CpuInfo; -import com.zhjt.mogo_core_function_devatools.monitor.db.MemInfo; -import com.zhjt.mogo_core_function_devatools.monitor.db.MonitorDb; import java.io.File; import java.lang.reflect.Field; @@ -78,7 +75,6 @@ public abstract class MainMoGoApplication extends AbsMogoApplication { initKoom(); } clearMessageBoxTable(); - checkMonitorDb(); CallerMsgBoxManager.INSTANCE.queryAllMessages(this); } upgradeProgressListener(); @@ -131,25 +127,6 @@ public abstract class MainMoGoApplication extends AbsMogoApplication { }).start(); } - private void checkMonitorDb() { - new Thread(() -> { - long limitId = 50001; - File file = this.getDatabasePath(MonitorDb.INTERNAL_DB_NAME); - try { - if (file != null && file.exists()) { - List cpuList = MonitorDb.getDb(this).monitorDao().getAllCPUById(limitId); - List memList = MonitorDb.getDb(this).monitorDao().getAllMemById(limitId); - // 大于5w条清除 - if (cpuList.size() > 0 || memList.size() > 0) { - this.deleteDatabase(MonitorDb.INTERNAL_DB_NAME); - } - } - } catch (Exception e) { - CallerLogger.INSTANCE.e(TAG, e.getMessage()); - } - }).start(); - } - private void upgradeProgressListener() { final NotificationCompat.Builder builder = new NotificationCompat.Builder(this); builder.setSmallIcon(R.mipmap.icon1001); From 8b80f5fbde76cc0d7a82c2e77f56dfcad73e871a Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Thu, 12 Jan 2023 19:54:45 +0800 Subject: [PATCH 13/18] =?UTF-8?q?[2.13.2][fix]=E8=A7=A3=E5=86=B3=E5=A4=9A?= =?UTF-8?q?=E6=9D=A1V2X=E4=BA=8B=E4=BB=B6=E5=8F=AA=E4=B8=80=E6=9D=A1?= =?UTF-8?q?=E5=85=A5=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/eagle/core/data/msgbox/V2XMsg.kt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/msgbox/V2XMsg.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/msgbox/V2XMsg.kt index 26a9e8e811..374c545563 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/msgbox/V2XMsg.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/msgbox/V2XMsg.kt @@ -2,4 +2,12 @@ package com.mogo.eagle.core.data.msgbox import java.io.Serializable -data class V2XMsg(var type: String = "", var content: String? = "", var tts: String? = ""): Serializable \ No newline at end of file +data class V2XMsg(var type: String = "", var content: String? = "", var tts: String? = ""): Serializable { + + // 临时解决该问题:V2XMsg->json作为主键,如果主键一样数据条目不会新增 + private var timeStamp: Long = 0 + + init { + timeStamp = System.currentTimeMillis() + } +} \ No newline at end of file From 0b8a0dcdf9ae544e2ae361306e0c1e52157f5555 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Fri, 13 Jan 2023 15:19:27 +0800 Subject: [PATCH 14/18] =?UTF-8?q?[1.0.0]=20"=E6=97=A0=E4=BA=BA=E9=A9=BE?= =?UTF-8?q?=E9=A9=B6"=E6=94=B9=E4=B8=BA"=E8=87=AA=E5=8A=A8=E9=A9=BE?= =?UTF-8?q?=E9=A9=B6"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OCH/mogo-och-bus-passenger/src/main/res/values/strings.xml | 2 +- .../java/com/mogo/och/sweeper/model/SweeperOrderModel.java | 4 ++-- OCH/mogo-och-taxi-passenger/src/main/res/values/strings.xml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/OCH/mogo-och-bus-passenger/src/main/res/values/strings.xml b/OCH/mogo-och-bus-passenger/src/main/res/values/strings.xml index 0f4dc17854..e98feed5f5 100644 --- a/OCH/mogo-och-bus-passenger/src/main/res/values/strings.xml +++ b/OCH/mogo-och-bus-passenger/src/main/res/values/strings.xml @@ -9,5 +9,5 @@ 下一站: 始发站: 请携带好随身物品下车。 - 欢迎乘坐蘑菇车联无人驾驶车。 + 欢迎乘坐蘑菇车联自动驾驶车。 \ No newline at end of file diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperOrderModel.java b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperOrderModel.java index 58d0d8f426..e076c96d6a 100644 --- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperOrderModel.java +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperOrderModel.java @@ -438,7 +438,7 @@ public class SweeperOrderModel { return; } isGoingToNextStation = true; - AIAssist.getInstance(mContext).speakTTSVoice("欢迎乘坐’蘑菇车联‘无人驾驶小巴车,请您坐好,注意乘车安全,行程即将开始"); + AIAssist.getInstance(mContext).speakTTSVoice("欢迎乘坐’蘑菇车联‘自动驾驶小巴车,请您坐好,注意乘车安全,行程即将开始"); } /** @@ -810,7 +810,7 @@ public class SweeperOrderModel { } CallerLogger.INSTANCE.d(M_BUS + TAG, "单程结束===="); CallerAutoPilotManager.INSTANCE.cancelAutoPilot(); - AIAssist.getInstance(mContext).speakTTSVoice("感谢您体验'蘑菇车联'无人驾驶小巴车,请您携带好随身物品,我们下次再见"); + AIAssist.getInstance(mContext).speakTTSVoice("感谢您体验'蘑菇车联'自动驾驶小巴车,请您携带好随身物品,我们下次再见"); leaveStation(true, true); } diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/values/strings.xml b/OCH/mogo-och-taxi-passenger/src/main/res/values/strings.xml index 7529f670e4..078eb2ecd9 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/res/values/strings.xml +++ b/OCH/mogo-och-taxi-passenger/src/main/res/values/strings.xml @@ -21,7 +21,7 @@ 准备出发 正在前往目的地 即将到达目的地,请您收好好随声物品,准备下车 - 已达到目的地,请从右侧下车,感谢乘坐\'蘑菇车联\'无人驾驶车 + 已达到目的地,请从右侧下车,感谢乘坐\'蘑菇车联\'自动驾驶车 已到达 感谢您使用蘑菇车联自动驾驶出行服务,期待下次与您相遇 From 73f1ead7820f4890896c5c0617900e1e265dd5d9 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Tue, 10 Jan 2023 17:50:41 +0800 Subject: [PATCH 15/18] =?UTF-8?q?[2.13.2][fix]=20dialog=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/zhjt/dispatch/DispatchBaseDialog.java | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/core/function-impl/mogo-core-function-dispatch/src/main/java/com/zhjt/dispatch/DispatchBaseDialog.java b/core/function-impl/mogo-core-function-dispatch/src/main/java/com/zhjt/dispatch/DispatchBaseDialog.java index d414f4c6ae..4464f806da 100644 --- a/core/function-impl/mogo-core-function-dispatch/src/main/java/com/zhjt/dispatch/DispatchBaseDialog.java +++ b/core/function-impl/mogo-core-function-dispatch/src/main/java/com/zhjt/dispatch/DispatchBaseDialog.java @@ -3,16 +3,20 @@ package com.zhjt.dispatch; import android.app.Dialog; import android.content.Context; import android.os.Build; +import android.view.Gravity; +import android.view.ViewGroup; import android.view.WindowManager; +import android.widget.FrameLayout; import androidx.annotation.NonNull; import com.mogo.eagle.core.data.dispatch.DispatchAdasAutoPilotLocReceiverBean; +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; public abstract class DispatchBaseDialog extends Dialog { public DispatchBaseDialog(@NonNull Context context) { - super(context,R.style.Base_AlertDialog_AppCompat); + super(context,R.style.BaseFloatDialogStyle); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { getWindow().setType(WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY); } else { @@ -27,4 +31,22 @@ public abstract class DispatchBaseDialog extends Dialog { public abstract void showDialog(DispatchAdasAutoPilotLocReceiverBean dispatchContent); + @Override + public void show() { + super.show(); + setWindowSize(); + } + private void setWindowSize(){ + WindowManager.LayoutParams attributes = getWindow().getAttributes(); + attributes.width = ViewGroup.LayoutParams.MATCH_PARENT; + attributes.height = ViewGroup.LayoutParams.MATCH_PARENT; + FrameLayout content = (FrameLayout)findViewById(android.R.id.content); + if(content!=null){ + ViewGroup rootView = (ViewGroup) content.getChildAt(0); + FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) rootView.getLayoutParams(); + layoutParams.gravity = Gravity.CENTER; + rootView.setLayoutParams(layoutParams); + } + getWindow().setAttributes(attributes); + } } From 878014b113ae5f84c307ea519c6e1ee07c01f76f Mon Sep 17 00:00:00 2001 From: yangyakun Date: Thu, 12 Jan 2023 15:20:30 +0800 Subject: [PATCH 16/18] =?UTF-8?q?[2.13.2][fix]=20scaleType=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E6=8E=89centerInside?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module_car_chatting_launcher_calling_hawk_eye_view.xml | 2 -- .../module_car_chatting_launcher_incoming_hawk_eye_view.xml | 3 --- 2 files changed, 5 deletions(-) diff --git a/core/function-impl/mogo-core-function-chat/src/main/res/layout/module_car_chatting_launcher_calling_hawk_eye_view.xml b/core/function-impl/mogo-core-function-chat/src/main/res/layout/module_car_chatting_launcher_calling_hawk_eye_view.xml index 13272210f3..311f50e690 100644 --- a/core/function-impl/mogo-core-function-chat/src/main/res/layout/module_car_chatting_launcher_calling_hawk_eye_view.xml +++ b/core/function-impl/mogo-core-function-chat/src/main/res/layout/module_car_chatting_launcher_calling_hawk_eye_view.xml @@ -13,7 +13,6 @@ android:id="@+id/module_carchatting_call_head" android:layout_width="@dimen/module_call_chat_calling_iv_hawk_eye_width_height" android:layout_height="@dimen/module_call_chat_calling_iv_hawk_eye_width_height" - android:scaleType="centerInside" android:src="@mipmap/module_carchatting_hawk_eye_default_head_img" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" @@ -25,7 +24,6 @@ android:layout_width="@dimen/module_call_chat_hawk_eye_circle_btn_size" android:layout_height="@dimen/module_call_chat_hawk_eye_circle_btn_size" android:layout_marginEnd="@dimen/module_call_chat_calling_iv_hawk_eye_margin_left_right" - android:scaleType="centerInside" android:src="@mipmap/module_carchatting_launcher_calling_hangup" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" diff --git a/core/function-impl/mogo-core-function-chat/src/main/res/layout/module_car_chatting_launcher_incoming_hawk_eye_view.xml b/core/function-impl/mogo-core-function-chat/src/main/res/layout/module_car_chatting_launcher_incoming_hawk_eye_view.xml index cdf0244555..c509164c94 100644 --- a/core/function-impl/mogo-core-function-chat/src/main/res/layout/module_car_chatting_launcher_incoming_hawk_eye_view.xml +++ b/core/function-impl/mogo-core-function-chat/src/main/res/layout/module_car_chatting_launcher_incoming_hawk_eye_view.xml @@ -12,7 +12,6 @@ android:id="@+id/module_carchatting_call_head" android:layout_width="@dimen/module_call_chat_incoming_aisdk_tag_width" android:layout_height="match_parent" - android:scaleType="centerInside" android:src="@drawable/module_carchatting_aicloud_incoming" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" @@ -26,7 +25,6 @@ android:layout_marginEnd="@dimen/module_call_chat_calling_iv_hawk_eye_margin_left_right" android:layout_marginRight="@dimen/module_call_chat_state_incoming_hawk_eye_call_margin_right" android:clickable="true" - android:scaleType="centerInside" android:src="@mipmap/module_callchatting_launcher_incoming_answer" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@+id/module_carchatting_incoming_hangUp" @@ -39,7 +37,6 @@ android:layout_height="@dimen/module_call_chat_hawk_eye_incoming_circle_btn_size" android:layout_marginEnd="@dimen/module_call_chat_calling_iv_hawk_eye_margin_left_right" android:clickable="true" - android:scaleType="centerInside" android:src="@mipmap/module_callchatting_launcher_incoming_hangup" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" From 0bfdebdee9de33c2ba8c564cd8a4f2feb3e178ed Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 13 Jan 2023 16:42:28 +0800 Subject: [PATCH 17/18] =?UTF-8?q?[2.13.2]=20[fix]=20[=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E9=80=82=E9=85=8D=E6=B5=8B=E8=AF=95=E6=95=B0=E6=8D=AE=E5=88=A0?= =?UTF-8?q?=E9=99=A4]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 078577e71e..e83cec1b84 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -20,10 +20,10 @@ tools:replace="android:label"> + android:value="2560"/> + android:value="1600"/> Date: Fri, 13 Jan 2023 17:36:18 +0800 Subject: [PATCH 18/18] [1.0.0] opt --- .../mogo/och/bus/passenger/model/BusPassengerModel.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java index 80b648d14c..a3eb38251d 100644 --- a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java +++ b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java @@ -426,7 +426,7 @@ public class BusPassengerModel { //找出前往站对应的轨迹点,拿出两站点的集合 CallerLogger.INSTANCE.d(M_BUS_P + TAG, "mRoutePoints.size() = " + mRoutePoints.size()); if (mRoutePoints.size() > 0) { - if (mStations.size() > 2){ //两个站点以上要计算两个站点间的估计路线 + if (mStations.size() > 1){ //两个站点及以上要计算两个站点间的轨迹路线 if (mNextStationIndex <= mStations.size()-1 && mNextStationIndex - 1 >=0){ mTwoStationsRouts.clear(); BusPassengerStation stationNext = mStations.get(mNextStationIndex); @@ -445,10 +445,11 @@ public class BusPassengerModel { mTwoStationsRouts.addAll(mRoutePoints.subList(currentRouteIndex,nextRouteIndex + 1)); } } - }else { //只有两个站点的时候整个路线就是两个站点之间的轨迹 - mTwoStationsRouts.clear(); - mTwoStationsRouts.addAll(mRoutePoints); } +// else { //只有两个站点的时候整个路线就是两个站点之间的轨迹 +// mTwoStationsRouts.clear(); +// mTwoStationsRouts.addAll(mRoutePoints); +// } if (mTwoStationsRouts.size() > 0){ float sumLength = CoordinateCalculateRouteUtil.calculateRouteSumLength(mTwoStationsRouts); SharedPrefsMgr.getInstance(mContext).putInt(BusPassengerConst.BUS_SP_KEY_ORDER_SUM_DIS,(int) sumLength);