Merge remote-tracking branch 'origin/dev_robobus-m1-p-app-module_1.1.0_230112_1.1.0' into dev_robobus-m1-p-app-module_1.1.0_230112_1.1.0

This commit is contained in:
yangyakun
2023-02-23 14:50:20 +08:00
25 changed files with 837 additions and 76 deletions

View File

@@ -1,17 +1,32 @@
plugins {
id 'com.android.library'
id 'org.jetbrains.kotlin.android'
}
apply plugin: 'com.android.library'
apply plugin: 'com.alibaba.arouter'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
android {
compileSdkVersion 31
compileSdkVersion rootProject.ext.android.compileSdkVersion
// buildToolsVersion rootProject.ext.android.buildToolsVersion
defaultConfig {
minSdkVersion 23
targetSdkVersion 31
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
versionCode Integer.valueOf(VERSION_CODE)
versionName getValueFromRootProperties("${project.name.replace("-", "_").toUpperCase()}_VERSION")
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
kapt {
useBuildCache = false
arguments {
arg("AROUTER_MODULE_NAME", project.getName())
}
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
buildTypes {
@@ -19,13 +34,19 @@ android {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
flavorDimensions "vehicle"
productFlavors {
// 车型金旅m1 司机端
driverm1 {
dimension "vehicle"
buildConfigField 'int', 'NEW_TEST', '1'
}
}
}
@@ -45,4 +66,6 @@ dependencies {
implementation project(":OCH:mogo-och-common-module")
compileOnly project(":libraries:mogo-map")
}
}
apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()

View File

@@ -0,0 +1,3 @@
GROUP=com.mogo.och
POM_ARTIFACT_ID=och-charter
VERSION_CODE=1

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.magic.mogo.och.charter">
</manifest>

View File

@@ -1,17 +0,0 @@
package com.magic.mogo.och.charter.callback;
import com.mogo.eagle.core.data.map.MogoLocation;
/**
* Created on 2021/9/10
*
* Model->Presenter回调状态控制器监听accOn、adas ui show、voice ui show、push ui show、v2x ui show等等
*/
public interface IDriverM1ControllerStatusCallback {
// 是否vr map模式
void onVRModeChanged(boolean isVRMode);
// 自车定位
void onCarLocationChanged(MogoLocation location);
//开始开启自动驾驶
void startOpenAutopilot();
}

View File

@@ -0,0 +1,19 @@
package com.magic.mogo.och.charter.callback
import com.mogo.eagle.core.data.map.MogoLocation
/**
* Created on 2021/9/10
*
* Model->Presenter回调状态控制器监听accOn、adas ui show、voice ui show、push ui show、v2x ui show等等
*/
interface IDriverM1ControllerStatusCallback {
// 是否vr map模式
fun onVRModeChanged(isVRMode: Boolean)
// 自车定位
fun onCarLocationChanged(location: MogoLocation?)
//开始开启自动驾驶
fun startOpenAutopilot()
}

View File

@@ -1,9 +1,20 @@
package com.magic.mogo.och.charter.fragment
import android.os.Bundle
import android.view.View
import com.magic.mogo.och.charter.presenter.DriverM1Presenter
import com.alibaba.android.arouter.launcher.ARouter
import com.charter.driverm1.view.SlidePanelView
import com.magic.mogo.och.charter.R
import com.magic.mogo.och.charter.base.CharterBaseFragment
import com.magic.mogo.och.charter.login.LoginCharterImpl
import com.magic.mogo.och.charter.presenter.DriverM1Presenter
import com.mogo.eagle.core.data.temp.EventLogout
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.och.common.module.biz.constant.OchCommonConst
import com.mogo.och.common.module.biz.provider.LoginService
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
/**
* @author: wangmingjun
@@ -11,20 +22,49 @@ import com.magic.mogo.och.charter.base.CharterBaseFragment
*/
class DriverM1Fragment : CharterBaseFragment<DriverM1Fragment?, DriverM1Presenter?>(),
SlidePanelView.OnSlidePanelMoveToEndListener, View.OnClickListener {
private var loginService: LoginService? = null
companion object{
val TAG = DriverM1Fragment::class.java.name
val TAG: String = DriverM1Fragment::class.java.name
}
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
loginService =
ARouter.getInstance().build(OchCommonConst.LOGINSERVICE).navigation() as LoginService
if (loginService != null) {
loginService?.registerFragment(
this,
presenter,
LoginCharterImpl()
)
}
}
override fun initViews() {
super.initViews()
}
override fun onDestroyView() {
super.onDestroyView()
loginService?.unRegisterFragment()
loginService = null
}
@Subscribe(threadMode = ThreadMode.MAIN)
fun changeOverview(eventLogout: EventLogout) {
if (eventLogout.messgae == EventLogout.LOGOUT_TYPE) {
d(SceneConstant.M_BUS + TAG, "changeOverview Event消息去登出")
mPresenter.logout()
}
}
override fun moveToEnd() {
TODO("Not yet implemented")
}
override fun onArriveStation() {
TODO("Not yet implemented")
}
override fun getStationPanelViewId(): Int {
TODO("Not yet implemented")
return R.layout.fragment_driver_m1
}
override fun restartAutopilot() {
@@ -36,11 +76,11 @@ class DriverM1Fragment : CharterBaseFragment<DriverM1Fragment?, DriverM1Presente
}
override fun getTagName(): String {
TODO("Not yet implemented")
return TAG
}
override fun createPresenter(): DriverM1Presenter {
TODO("Not yet implemented")
return DriverM1Presenter(this)
}
override fun onClick(p0: View?) {

View File

@@ -6,16 +6,11 @@ import com.alibaba.android.arouter.launcher.ARouter
import com.elegant.network.utils.GsonUtil
import com.magic.mogo.och.charter.callback.IADASStatusCallback
import com.magic.mogo.och.charter.callback.IDriverM1ControllerStatusCallback
import com.magic.mogo.och.charter.constant.CharterConst
import com.mogo.aicloud.services.socket.IMogoOnMessageListener
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.autopilot.AutopilotControlParameters.AutoPilotLine
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters.AutoPilotLonLat
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.map.MogoLocation
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
@@ -24,6 +19,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoPlanningRottingListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.setIPCDemoMode
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.setIgnoreConditionDraw
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.startAutoPilot
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager
import com.mogo.eagle.core.function.call.autopilot.CallerPlanningRottingListenerManager
@@ -50,9 +46,7 @@ import java.io.IOException
* @date: 2023/2/22
*/
class DriverM1Model {
private val TAG: String = DriverM1Model::class.java.getSimpleName()
private var currentLineId = -1
private var currentTaskId = -1
private var backgroundCurrentStationIndex = 0 //A->B 此处值是A站点索引
@@ -95,23 +89,17 @@ class DriverM1Model {
false
})
fun getInstance(): DriverM1Model? {
if (sInstance == null) {
synchronized(DriverM1Model::class.java) {
if (sInstance == null) {
sInstance = DriverM1Model()
}
}
companion object {
val TAG = DriverM1Model::class.java.simpleName
const val MSG_QUERY_BUS_P_STATION = 1001
val INSTANCE: DriverM1Model by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) {
DriverM1Model()
}
return sInstance
}
private fun OrderModel() {}
fun init() {
mContext = AbsMogoApplication.getApp()
loginService =
ARouter.getInstance().build(OchCommonConst.LOGINSERVICE).navigation() as LoginService
loginService = ARouter.getInstance().build(OchCommonConst.LOGINSERVICE).navigation() as LoginService
// 定位监听
CallerChassisLocationGCJ02ListenerManager.addListener(TAG, mMapLocationListener)
MogoStatusManager.getInstance().registerStatusChangedListener(
@@ -380,10 +368,10 @@ class DriverM1Model {
"isRestart = " + isRestart
)
if (mControllerStatusCallback != null) {
mControllerStatusCallback.startOpenAutopilot()
mControllerStatusCallback?.startOpenAutopilot()
}
}
//车站10s后播报
// private fun leaveTTSTips(nextStation: String) {
// showNotice(
@@ -499,12 +487,12 @@ class DriverM1Model {
return
}
d(SceneConstant.M_BUS + TAG, "AutopilotControlParameters is update.")
updateAutopilotControlParameters(parameters)
CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(parameters)
}
fun clearAutopilotControlParameters() {
// d(SceneConstant.M_BUS + TAG, "AutopilotControlParameters is clear.")
// updateAutopilotControlParameters(null)
d(SceneConstant.M_BUS + TAG, "AutopilotControlParameters is clear.")
CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(null)
}
fun initAutopilotControlParameters(leaveIndex: Int): AutopilotControlParameters? {
@@ -546,5 +534,4 @@ class DriverM1Model {
// }
return parameters
}
}
}

View File

@@ -1,6 +1,7 @@
package com.magic.mogo.och.charter.presenter
import com.magic.mogo.och.charter.fragment.DriverM1Fragment
import com.magic.mogo.och.charter.model.DriverM1Model
import com.mogo.commons.mvp.Presenter
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
@@ -30,4 +31,8 @@ class DriverM1Presenter(view: DriverM1Fragment?) :
//todo 登陆失败
}
// 登出
fun logout() {
DriverM1Model.INSTANCE.logout()
}
}

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/no_line_data_view">
<ImageView
android:id="@+id/no_line_data_iv"
android:layout_width="@dimen/dp_245"
android:layout_height="@dimen/dp_223"
android:src="@drawable/bus_no_line_icon"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"/>
<TextView
android:id="@+id/no_order_data_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#CAD6FF"
android:textSize="34dp"
android:layout_marginTop="34dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/no_line_data_iv"
android:text="@string/bus_no_task_tip"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,169 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/module_och_bus_order_status_stationInfo"
android:layout_width="@dimen/module_mogo_och_autopilot_order_bg_width"
android:layout_height="wrap_content"
android:background="@drawable/bus_line_panel_bg"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent">
<com.mogo.och.common.module.wigets.MarqueeTextView
android:id="@+id/driverm1_line_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_68"
android:layout_marginRight="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_64"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:text="--"
android:textColor="#FFF"
android:textSize="38dp"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintRight_toLeftOf="@+id/driverm1_order_count_down"/>
<TextView
android:id="@+id/driverm1_order_count_down"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_47"
android:layout_marginRight="@dimen/dp_68"
android:textColor="#FFF"
android:text="@string/count_down_txt"
android:textSize="@dimen/dp_26"
android:gravity="center"
android:paddingLeft="@dimen/dp_20"
android:paddingRight="@dimen/dp_20"
android:background="@drawable/bus_task_time_bg"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="@+id/driverm1_line_name"
app:layout_constraintBottom_toBottomOf="@+id/driverm1_line_name">
</TextView>
<View
android:id="@+id/line1"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_4"
android:layout_marginTop="@dimen/dp_24"
android:layout_marginLeft="@dimen/dp_30"
android:layout_marginRight="@dimen/dp_30"
android:background="@drawable/bus_line_dividing_line1_selector"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/driverm1_line_name" />
<View
android:id="@+id/line2"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_4"
android:layout_marginLeft="@dimen/dp_30"
android:layout_marginRight="@dimen/dp_30"
android:background="@drawable/bus_line_dividing_line2_selector"
app:layout_constraintLeft_toLeftOf="@+id/line1"
app:layout_constraintRight_toRightOf="@+id/line1"
app:layout_constraintTop_toBottomOf="@+id/line1" />
<TextView
android:id="@+id/cur_station_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/dp_34"
android:layout_marginTop="@dimen/dp_50"
android:text="@string/bus_arrive_to_current_tag"
android:textColor="@color/station_title_color"
app:layout_constraintTop_toBottomOf="@+id/line2"
app:layout_constraintLeft_toLeftOf="parent"
android:layout_marginLeft="@dimen/dp_96"/>
<TextView
android:id="@+id/cur_station_title1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_50"
android:textSize="@dimen/dp_34"
android:text="@string/bus_arrive_to_next_tag1"
android:textColor="@color/station_title_color"
app:layout_constraintTop_toBottomOf="@+id/driverm1StationName1Tv"
app:layout_constraintLeft_toLeftOf="parent"
android:layout_marginLeft="@dimen/dp_96"/>
<TextView
android:id="@+id/driverm1StationName1Tv"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="--"
android:textSize="@dimen/module_mogo_och_bus_station_name_text_size"
android:textStyle="bold"
android:textColor="@color/bus_arrived_station_name_text_color"
android:includeFontPadding = "false"
android:maxLines="2"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
app:layout_constraintLeft_toLeftOf="@+id/cur_station_title"
app:layout_constraintRight_toRightOf="@+id/driverm1_order_count_down"
app:layout_constraintTop_toBottomOf="@+id/cur_station_title" />
<TextView
android:id="@+id/driverm1StationName2Tv"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="--"
android:textSize="@dimen/module_mogo_och_bus_station_name_text_size"
android:textStyle="bold"
android:textColor="@color/bus_arrived_station_name_text_color"
android:includeFontPadding = "false"
android:maxLines="2"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
app:layout_constraintLeft_toLeftOf="@+id/cur_station_title1"
app:layout_constraintRight_toRightOf="@+id/driverm1_order_count_down"
app:layout_constraintTop_toBottomOf="@+id/cur_station_title1" />
<ImageView
android:id="@+id/driverm1CircleIvBg"
android:layout_width="@dimen/dp_20"
android:layout_height="@dimen/dp_20"
android:layout_marginRight="@dimen/dp_16"
android:src="@drawable/icon_point_green_bus"
app:layout_constraintRight_toLeftOf="@+id/driverm1StationName1Tv"
app:layout_constraintTop_toTopOf="@+id/driverm1StationName1Tv"
app:layout_constraintBottom_toBottomOf="@+id/driverm1StationName1Tv"/>
<ImageView
android:id="@+id/driverm1nextCircleIv"
android:layout_width="@dimen/dp_20"
android:layout_height="@dimen/dp_20"
android:layout_marginRight="@dimen/dp_16"
android:background="@drawable/icon_point_blue_bus"
app:layout_constraintRight_toLeftOf="@+id/driverm1StationName2Tv"
app:layout_constraintTop_toTopOf="@+id/driverm1StationName2Tv"
app:layout_constraintBottom_toBottomOf="@+id/driverm1StationName2Tv"/>
<ImageView
android:id="@+id/driverm1ArrowBg"
android:layout_width="@dimen/dp_4"
android:layout_height="match_parent"
android:scaleType="fitXY"
android:layout_marginTop="@dimen/dp_20"
android:src="@drawable/bus_och_dot_line"
app:layout_constraintLeft_toLeftOf="@+id/driverm1CircleIvBg"
app:layout_constraintRight_toRightOf="@+id/driverm1CircleIvBg"
app:layout_constraintTop_toBottomOf="@+id/driverm1CircleIvBg"
app:layout_constraintTop_toTopOf="@+id/driverm1CircleIvBg"/>
<include layout="@layout/bus_no_line_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
<androidx.constraintlayout.widget.Group
android:id="@+id/group_stations_panel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
app:constraint_referenced_ids="driverm1_line_name,driverm1_order_count_down
,cur_station_title,cur_station_title1,line1,line2,driverm1StationName1Tv,
driverm1StationName2Tv,driverm1nextCircleIv,driverm1CircleIvBg,driverm1ArrowBg"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,184 @@
{
"code": 0,
"msg": "",
"detailMsg": "",
"result": {
"info": [
{
"_id": "cee57b3ae07c4486b0357319368487d7",
"orderNo": "XB20210422000002",
"orderType": 10,
"userName": "董QAD",
"userPhone": "15631204018",
"startStationId": 1,
"startStation": "万集东门站",
"startStationCoordinate": [
116.7354579447,
40.1974932972
],
"endStationId": 2,
"endStation": "顺密路口站",
"endStationCoordinate": [
116.721520973,
40.1940181096
],
"orderDispatchType": 7,
"carNum": "京NB010",
"sn": "F803EB2046PZD00149",
"orderStartTime": "2021-04-22 16:31:58",
"orderEndTime": "2021-04-26 10:38:13",
"arrivedStartStationTime": null,
"arrivedEndStationTime": null,
"cityCode": "010",
"areaCode": "1001",
"createTime": "2021-04-22 16:31:58",
"updateTime": "2021-04-26 10:38:13",
"personNum": 1,
"travelDistance": 1.2,
"vehicleColour": null,
"lastBrandName": null,
"headImgUrl": null
},
{
"_id": "ce69b1bcfb9840c6a4563bc6ef947caf",
"orderNo": "XB20210426000000",
"orderType": 10,
"userName": "董QAD",
"userPhone": "15631204018",
"startStationId": 1,
"startStation": "万集东门站",
"startStationCoordinate": [
116.7354579447,
40.1974932972
],
"endStationId": 2,
"endStation": "顺密路口站",
"endStationCoordinate": [
116.721520973,
40.1940181096
],
"orderDispatchType": 7,
"carNum": "京NB010",
"sn": "F803EB2046PZD00149",
"orderStartTime": "2021-04-26 10:38:48",
"orderEndTime": "2021-04-26 10:46:16",
"arrivedStartStationTime": null,
"arrivedEndStationTime": null,
"cityCode": "010",
"areaCode": "1001",
"createTime": "2021-04-26 10:38:48",
"updateTime": "2021-04-26 10:46:16",
"personNum": 1,
"travelDistance": 1.2,
"vehicleColour": null,
"lastBrandName": null,
"headImgUrl": null
},
{
"_id": "cae07b56f41c4e0fa60ab3543ffc258e",
"orderNo": "XB20210426000001",
"orderType": 10,
"userName": "董QAD",
"userPhone": "15631204018",
"startStationId": 1,
"startStation": "万集东门站",
"startStationCoordinate": [
116.7354579447,
40.1974932972
],
"endStationId": 2,
"endStation": "顺密路口站",
"endStationCoordinate": [
116.721520973,
40.1940181096
],
"orderDispatchType": 7,
"carNum": "京NB010",
"sn": "F803EB2046PZD00149",
"orderStartTime": "2021-04-26 10:47:05",
"orderEndTime": "2021-04-26 10:48:07",
"arrivedStartStationTime": null,
"arrivedEndStationTime": null,
"cityCode": "010",
"areaCode": "1001",
"createTime": "2021-04-26 10:47:05",
"updateTime": "2021-04-26 10:48:07",
"personNum": 1,
"travelDistance": 1.2,
"vehicleColour": null,
"lastBrandName": null,
"headImgUrl": null
},
{
"_id": "62bc84afbc434d01b644c74ee406e772",
"orderNo": "XB20210426000002",
"orderType": 10,
"userName": "董QAD",
"userPhone": "15631204018",
"startStationId": 1,
"startStation": "万集东门站",
"startStationCoordinate": [
116.7354579447,
40.1974932972
],
"endStationId": 2,
"endStation": "顺密路口站",
"endStationCoordinate": [
116.721520973,
40.1940181096
],
"orderDispatchType": 7,
"carNum": "京NB010",
"sn": "F803EB2046PZD00149",
"orderStartTime": "2021-04-26 10:48:22",
"orderEndTime": "2021-04-26 10:50:32",
"arrivedStartStationTime": null,
"arrivedEndStationTime": null,
"cityCode": "010",
"areaCode": "1001",
"createTime": "2021-04-26 10:48:22",
"updateTime": "2021-04-26 10:50:32",
"personNum": 1,
"travelDistance": 1.2,
"vehicleColour": null,
"lastBrandName": null,
"headImgUrl": null
},
{
"_id": "fa3214c7a6ec411bb3d6edbc98907423",
"orderNo": "XB20210426000009",
"orderType": 10,
"userName": "董QAD",
"userPhone": "15631204018",
"startStationId": 1,
"startStation": "万集东门站",
"startStationCoordinate": [
116.7354579447,
40.1974932972
],
"endStationId": 2,
"endStation": "顺密路口站",
"endStationCoordinate": [
116.721520973,
40.1940181096
],
"orderDispatchType": 7,
"carNum": "京NB010",
"sn": "F803EB2046PZD00149",
"orderStartTime": "2021-04-26 19:26:05",
"orderEndTime": "2021-04-27 14:35:50",
"arrivedStartStationTime": null,
"arrivedEndStationTime": null,
"cityCode": "010",
"areaCode": "1001",
"createTime": "2021-04-26 19:26:05",
"updateTime": "2021-04-27 14:35:50",
"personNum": 1,
"travelDistance": 1.2,
"vehicleColour": null,
"lastBrandName": null,
"headImgUrl": null
}
]
}
}

Binary file not shown.

View File

@@ -0,0 +1,28 @@
{
"_id": "62bc84afbc434d01b644c74ee406e772",
"areaCode": "1001",
"carNum": "京NB010",
"cityCode": "010",
"createTime": "Apr 26, 2021 10:48:22 AM",
"endStation": "顺密路口站",
"endStationCoordinate": [
116.721520973,
40.1940181096
],
"endStationId": 2,
"orderDispatchType": 1,
"orderNo": "XB20210426000002",
"orderStartTime": "Apr 26, 2021 10:48:22 AM",
"orderType": 10,
"sn": "F803EB2046PZD00149",
"startStation": "万集东门站",
"startStationCoordinate": [
116.7354579447,
40.1974932972
],
"startStationId": 1,
"travelDistance": 1.2,
"updateTime": "Apr 26, 2021 10:48:23 AM",
"userName": "董QAD",
"userPhone": "15631204018"
}

View File

@@ -0,0 +1,69 @@
{
"code": 0,
"msg": "",
"detailMsg": "",
"result": {
"site": [
{
"lineId": 1.0,
"siteId": 1.0,
"siteName": "万集东门站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.7354579447,
40.1974932972
],
"lon": 116.7354579447,
"lat": 40.1974932972,
"siteDesc": "万集东门站",
"siteState": 1.0,
"isCurrentSite": 1.0,
"siteColor": 1.0,
"peoples": "0",
"ifStop": 1.0
},
{
"lineId": 1.0,
"siteId": 2.0,
"siteName": "市政府前街18号",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.729134342,
40.1953113732
],
"lon": 116.729134342,
"lat": 40.1953113732,
"siteDesc": "市政府前街18号",
"siteState": 1.0,
"isCurrentSite": 3.0,
"siteColor": 2.0,
"peoples": "0",
"ifStop": 0.0
},
{
"lineId": 1.0,
"siteId": 3.0,
"siteName": "顺密路口站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.721520973,
40.1940181096
],
"lon": 116.721520973,
"lat": 40.1940181096,
"siteDesc": "顺密路口站",
"siteState": 1.0,
"isCurrentSite": 0.0,
"siteColor": 0.0,
"peoples": "0",
"ifStop": 1.0
}
]
}
}

View File

@@ -0,0 +1,109 @@
{
"code": 0,
"msg": "",
"detailMsg": "",
"result": {
"site": [
{
"lineId": 1.0,
"siteId": 1.0,
"siteName": "万集东门站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.7354579447,
40.1974932972
],
"lon": 116.7354579447,
"lat": 40.1974932972,
"siteDesc": "万集东门站",
"siteState": 1.0,
"isCurrentSite": 0.0,
"siteColor": 0.0,
"peoples": "0",
"ifStop": 1.0
},
{
"lineId": 1.0,
"siteId": 1.0,
"siteName": "万集东门站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.7374429112,
40.2023987087
],
"lon": 116.7374429112,
"lat": 40.2023987087,
"siteDesc": "万集东门站",
"siteState": 1.0,
"isCurrentSite": 0.0,
"siteColor": 0.0,
"peoples": "0",
"ifStop": 1.0
},
{
"lineId": 1.0,
"siteId": 2.0,
"siteName": "顺密路口站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.721520973,
40.1940181096
],
"lon": 116.721520973,
"lat": 40.1940181096,
"siteDesc": "顺密路口站",
"siteState": 1.0,
"isCurrentSite": 1.0,
"siteColor": 1.0,
"peoples": "0",
"ifStop": 1.0
},
{
"lineId": 1.0,
"siteId": 2.0,
"siteName": "顺密路口站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.723146,
40.179637
],
"lon": 116.723146,
"lat": 40.179637,
"siteDesc": "顺密路口站",
"siteState": 1.0,
"isCurrentSite": 1.0,
"siteColor": 1.0,
"peoples": "0",
"ifStop": 1.0
},
{
"lineId": 2.0,
"siteId": 2.0,
"siteName": "顺密路口站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.738835502,
40.2023958306
],
"lon": 116.738835502,
"lat": 40.2023958306,
"siteDesc": "顺密路口站",
"siteState": 1.0,
"isCurrentSite": 1.0,
"siteColor": 1.0,
"peoples": "0",
"ifStop": 1.0
}
]
}
}

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="station_title_color">#CAD6FF</color>
</resources>

View File

@@ -0,0 +1,4 @@
<resources>
<string name="count_down_txt">剩余—分钟</string>
</resources>

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<MotionScene
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:motion="http://schemas.android.com/apk/res-auto">
<Transition
motion:constraintSetEnd="@+id/end"
motion:constraintSetStart="@id/start"
motion:motionInterpolator="easeInOut"
motion:duration="300">
<KeyFrameSet>
</KeyFrameSet>
<OnClick motion:targetId="@+id/switch_line_item_select_iv" motion:clickAction="toggle" />
</Transition>
<ConstraintSet android:id="@+id/start">
</ConstraintSet>
<ConstraintSet android:id="@+id/end">
<Constraint
android:id="@+id/switch_line_end_station"
android:layout_width="0dp"
android:layout_height="wrap_content"
motion:layout_constraintBottom_toTopOf="@id/v_line_task"
android:layout_marginBottom="@dimen/dp_40"
motion:layout_constraintTop_toBottomOf="@+id/switch_line_name"
motion:layout_constraintStart_toStartOf="@+id/switch_line_name"
android:layout_marginTop="@dimen/dp_20" />
<Constraint
android:id="@+id/v_line_task"
android:visibility="visible"
android:background="@android:color/white"
android:layout_marginStart="@dimen/dp_80"
android:layout_marginEnd="@dimen/dp_80"
android:layout_marginTop="@dimen/dp_40"
motion:layout_constraintStart_toStartOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintTop_toBottomOf="@+id/switch_line_end_station"
android:layout_width="match_parent"
android:layout_height="1dp"/>
<Constraint
android:id="@+id/rv_line_task_list"
android:visibility="visible"
android:layout_marginStart="@dimen/dp_80"
android:layout_marginEnd="@dimen/dp_80"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintStart_toStartOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintTop_toBottomOf="@+id/v_line_task"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</ConstraintSet>
</MotionScene>

View File

@@ -206,15 +206,12 @@ abstract class CharterBaseFragment<V : IView?, P : Presenter<V>?>() :
smallMapView!!.onResume()
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
): View? {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?
, savedInstanceState: Bundle?): View? {
EventBus.getDefault().register(this)
return super.onCreateView(inflater, container, savedInstanceState)
}
protected abstract fun onArriveStation()
private fun updateSwitchMapIcon() {
val controller = getMapUIController()
if (controller != null) {

View File

@@ -0,0 +1,50 @@
package com.magic.mogo.och.charter.login
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
import com.mogo.och.common.module.biz.network.OchCommonServiceManager
/**
* @author: wangmingjun
* @date: 2023/2/23
*/
class LoginCharterImpl: LoginDefaultManage {
override fun getPhoneCode(
context: Context,
phone: String?,
callback: OchCommonServiceCallback<BaseData>?
) {
OchCommonServiceManager.getPhoneCode(context,phone,callback)
}
override fun gotoLoginBycode(
context: Context,
phone: String?,
code: String?,
location4Login: TaxiLoginReqBean.Location4Login?,
callback: OchCommonServiceCallback<TaxiLoginRespBean>?
) {
OchCommonServiceManager.gotoLoginBycode(context,phone,code,location4Login,callback)
}
override fun logout(
context: Context,
location4Login: TaxiLogoutReqBean.Location4Login?,
callback: OchCommonServiceCallback<BaseData>?
) {
OchCommonServiceManager.logout(context,location4Login,callback)
}
override fun queryDriverServiceStatus(
context: Context,
callback: OchCommonServiceCallback<DriverStatusQueryRespBean>?
) {
OchCommonServiceManager.queryDriverServiceStatus(context,callback)
}
}

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="@dimen/dp_20"></corners>
<corners android:radius="@dimen/dp_8"></corners>
<solid android:color="@color/bus_task_time_bg_color"></solid>
</shape>

View File

@@ -94,7 +94,7 @@
<dimen name="module_mogo_och_bus_current_station_name_text_size">32dp</dimen>
<dimen name="module_mogo_och_bus_current_station_notice_text_size">20dp</dimen>
<dimen name="module_mogo_och_bus_station_name_text_size">40dp</dimen>
<dimen name="module_mogo_och_bus_station_name_text_size">45dp</dimen>
<dimen name="module_mogo_och_bus_station_notice_text_size">42dp</dimen>
<dimen name="module_mogo_och_bus_station_name_margin_left">15dp</dimen>

View File

@@ -26,6 +26,7 @@
<string name="bus_arrive_to_end_start">起点:</string>
<string name="bus_arrive_to_end_end">终点:</string>
<string name="bus_arrive_to_current_tag">当前站点:</string>
<string name="bus_arrive_to_next_tag1">目的站点:</string>
<string name="bus_arrive_to_next_tag">下一站:</string>
<string name="bus_auto_disable_tip">自动驾驶状态为0不可用</string>
<string name="bus_arrived_str">进站</string>
@@ -38,7 +39,7 @@
<string name="bus_dialog_confirm">确认</string>
<string name="bus_dialog_cancel">取消</string>
<string name="bus_no_task_tip">暂无任务</string>
<string name="bus_no_task_tip">暂无服务订单</string>
<!-- region tts -->