Merge remote-tracking branch 'origin/dev2' into dev2
This commit is contained in:
1
.idea/gradle.xml
generated
1
.idea/gradle.xml
generated
@@ -89,7 +89,6 @@
|
||||
</set>
|
||||
</option>
|
||||
<option name="resolveModulePerSourceSet" value="false" />
|
||||
<option name="useQualifiedModuleNames" value="true" />
|
||||
</GradleProjectSettings>
|
||||
</option>
|
||||
</component>
|
||||
|
||||
@@ -25,4 +25,9 @@ interface IMogoOCHTaxiArriveCallback {
|
||||
* 去往目的地的路上
|
||||
*/
|
||||
void onTheWay2EndStation();
|
||||
|
||||
/**
|
||||
* 乘客已到达站点
|
||||
*/
|
||||
void onUserArriveAtStartStation();
|
||||
}
|
||||
|
||||
@@ -81,6 +81,11 @@ class MogoOCHTaxiModel {
|
||||
*/
|
||||
private boolean mIsArriveAtEndStation = false;
|
||||
|
||||
/**
|
||||
* 乘客已到达上车站点
|
||||
*/
|
||||
private boolean mIsUserArriveAtStartStation = false;
|
||||
|
||||
/**
|
||||
* 查询订单信息重试次数
|
||||
*/
|
||||
@@ -125,7 +130,8 @@ class MogoOCHTaxiModel {
|
||||
* <p>
|
||||
* 已结束、已取消:清除订单状态
|
||||
* 已到达目的地:更新UI,显示到达目的地状态
|
||||
* 已到达起始地:更新UI,显示已到达起始地状态
|
||||
* 车辆已到达起始地:等待乘客上车,并确认上车
|
||||
* 乘客已上车:更新UI,显示已到达起始站,等待安全员确认开启自动驾驶
|
||||
* 在去往目的地的路上:显示去往目的地的路上
|
||||
* 在去往起始地的路上、未获取具体状态:以新接收订单开始处理
|
||||
*
|
||||
@@ -150,18 +156,28 @@ class MogoOCHTaxiModel {
|
||||
mIsArriveAtEndStation = true;
|
||||
mIsArriveAtStartStation = true;
|
||||
mIsOnTheWay2EndStation = false;
|
||||
mIsUserArriveAtStartStation = true;
|
||||
OCHTaxiUiController.getInstance().addFragment();
|
||||
break;
|
||||
case ArriveAtStartStation:
|
||||
mIsArriveAtStartStation = true;
|
||||
mIsArriveAtEndStation = false;
|
||||
mIsOnTheWay2EndStation = false;
|
||||
mIsUserArriveAtStartStation = false;
|
||||
OCHTaxiUiController.getInstance().addFragment();
|
||||
break;
|
||||
case UserArriveAtStartStation:
|
||||
mIsArriveAtStartStation = true;
|
||||
mIsArriveAtEndStation = false;
|
||||
mIsOnTheWay2EndStation = false;
|
||||
mIsUserArriveAtStartStation = true;
|
||||
OCHTaxiUiController.getInstance().addFragment();
|
||||
break;
|
||||
case OnTheWayToEndStation:
|
||||
mIsArriveAtStartStation = true;
|
||||
mIsArriveAtEndStation = false;
|
||||
mIsOnTheWay2EndStation = true;
|
||||
mIsUserArriveAtStartStation = true;
|
||||
OCHTaxiUiController.getInstance().addFragment();
|
||||
break;
|
||||
case OnTheWayToStartStation:
|
||||
@@ -169,6 +185,7 @@ class MogoOCHTaxiModel {
|
||||
mIsArriveAtStartStation = false;
|
||||
mIsArriveAtEndStation = false;
|
||||
mIsOnTheWay2EndStation = false;
|
||||
mIsUserArriveAtStartStation = false;
|
||||
mOrderMsgListener.onMsgReceived( mCurrentOCHOrder );
|
||||
break;
|
||||
}
|
||||
@@ -220,6 +237,7 @@ class MogoOCHTaxiModel {
|
||||
|
||||
@Override
|
||||
public void onCarLocationChanged2( Location location ) {
|
||||
Logger.d( TAG, "定位已判断是否达到上车站点" );
|
||||
onLocationChanged( location );
|
||||
}
|
||||
|
||||
@@ -245,6 +263,10 @@ class MogoOCHTaxiModel {
|
||||
unregisterCarLocationListener();
|
||||
return;
|
||||
}
|
||||
if ( mIsUserArriveAtStartStation ) {
|
||||
unregisterCarLocationListener();
|
||||
return;
|
||||
}
|
||||
judgeStationStation( location );
|
||||
}
|
||||
|
||||
@@ -298,6 +320,15 @@ class MogoOCHTaxiModel {
|
||||
return mIsArriveAtEndStation;
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户是否达到上车站点
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public boolean isUserArriveAtStartStation() {
|
||||
return mIsUserArriveAtStartStation;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置去往终点状态
|
||||
*
|
||||
@@ -400,6 +431,11 @@ class MogoOCHTaxiModel {
|
||||
clearCurrentOCHOrder();
|
||||
OCHTaxiUiController.getInstance().removeFragment();
|
||||
break;
|
||||
case UserArriveAtStartStation:
|
||||
mIsArriveAtStartStation = true;
|
||||
mIsUserArriveAtStartStation = true;
|
||||
OCHTaxiUiController.getInstance().onUserArriveAtStartStation();
|
||||
break;
|
||||
default:
|
||||
Logger.d( TAG, "current order status: %s", status );
|
||||
break;
|
||||
@@ -519,6 +555,7 @@ class MogoOCHTaxiModel {
|
||||
mIsArriveAtStartStation = false;
|
||||
mIsArriveAtEndStation = false;
|
||||
mIsOnTheWay2EndStation = false;
|
||||
mIsUserArriveAtStartStation = false;
|
||||
SharedPrefsMgr.getInstance( mContext ).remove( SP_KEY_OCH_TAXI_ORDER );
|
||||
}
|
||||
|
||||
|
||||
@@ -7,21 +7,23 @@ public
|
||||
*
|
||||
* 未派单 0
|
||||
* 去往上车站点 1
|
||||
* 已到达上车站点 2
|
||||
* 去往下车站点 3
|
||||
* 到达下车站点 4
|
||||
* 已完成 5
|
||||
* 已取消 6
|
||||
* 车辆已到达上车站点 2
|
||||
* 乘客已到达上车站点 3
|
||||
* 去往下车站点 4
|
||||
* 到达下车站点 5
|
||||
* 已完成 6
|
||||
* 已取消 7
|
||||
*/
|
||||
enum OCHOrderStatus {
|
||||
|
||||
None( 0 ),
|
||||
OnTheWayToStartStation( 1 ),
|
||||
ArriveAtStartStation( 2 ),
|
||||
OnTheWayToEndStation( 3 ),
|
||||
ArriveAtEndStation( 4 ),
|
||||
Completed( 5 ),
|
||||
Cancel( 6 );
|
||||
UserArriveAtStartStation( 3 ),
|
||||
OnTheWayToEndStation( 4 ),
|
||||
ArriveAtEndStation( 5 ),
|
||||
Completed( 6 ),
|
||||
Cancel( 7 );
|
||||
|
||||
private int code;
|
||||
|
||||
|
||||
@@ -57,6 +57,8 @@ class OCHTaxiFragment extends BaseOchFragment< OCHTaxiView, OCHTaxiPresenter > i
|
||||
mEndStationName = findViewById( R.id.module_och_taxi_order_end_station );
|
||||
mDistance = findViewById( R.id.module_och_taxi_order_distance );
|
||||
|
||||
initListeners();
|
||||
initOrderStatus();
|
||||
if ( MogoApisHandler.getInstance()
|
||||
.getApis()
|
||||
.getStatusManagerApi()
|
||||
@@ -65,8 +67,6 @@ class OCHTaxiFragment extends BaseOchFragment< OCHTaxiView, OCHTaxiPresenter > i
|
||||
} else {
|
||||
flatMode();
|
||||
}
|
||||
initListeners();
|
||||
initOrderStatus();
|
||||
}
|
||||
|
||||
private void initListeners() {
|
||||
@@ -93,11 +93,19 @@ class OCHTaxiFragment extends BaseOchFragment< OCHTaxiView, OCHTaxiPresenter > i
|
||||
}
|
||||
|
||||
private void vrMode() {
|
||||
|
||||
if ( mRootView != null ) {
|
||||
mRootView.setVisibility(
|
||||
View.VISIBLE
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
private void flatMode() {
|
||||
|
||||
if ( mRootView != null ) {
|
||||
mRootView.setVisibility(
|
||||
View.GONE
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
private void initOrderStatus() {
|
||||
@@ -117,9 +125,12 @@ class OCHTaxiFragment extends BaseOchFragment< OCHTaxiView, OCHTaxiPresenter > i
|
||||
mOrderStatus.setText( "去往下车地点" );
|
||||
} else if ( MogoOCHTaxiModel.getInstance().isArriveAtStartStation() ) {
|
||||
Logger.d( TAG, "已经达到起点" );
|
||||
slidePanelView.setVisibility( View.VISIBLE );
|
||||
slidePanelView.setText( getString( R.string.module_och_taxi_arrive_at_start_station ) );
|
||||
mOrderStatus.setText( "已到达上车地点,等待乘客上车" );
|
||||
if ( MogoOCHTaxiModel.getInstance().isUserArriveAtStartStation() ) {
|
||||
Logger.d( TAG, "乘客已上车" );
|
||||
slidePanelView.setVisibility( View.VISIBLE );
|
||||
slidePanelView.setText( getString( R.string.module_och_taxi_arrive_at_start_station ) );
|
||||
}
|
||||
} else if ( MogoOCHTaxiModel.getInstance().checkCurrentOCHOrder() ) {
|
||||
Logger.d( TAG, "去往上车站点" );
|
||||
slidePanelView.setVisibility( View.GONE );
|
||||
@@ -170,6 +181,12 @@ class OCHTaxiFragment extends BaseOchFragment< OCHTaxiView, OCHTaxiPresenter > i
|
||||
initOrderStatus();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUserArriveAtStartStation() {
|
||||
Logger.d( TAG, "通知乘客已上车" );
|
||||
initOrderStatus();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
@@ -207,8 +224,8 @@ class OCHTaxiFragment extends BaseOchFragment< OCHTaxiView, OCHTaxiPresenter > i
|
||||
}
|
||||
} );
|
||||
return;
|
||||
// 已到达起点,前往下一站并开启自动驾驶
|
||||
} else if ( MogoOCHTaxiModel.getInstance().isArriveAtStartStation()
|
||||
// 乘客已确认到达起点,前往下一站并开启自动驾驶
|
||||
} else if ( MogoOCHTaxiModel.getInstance().isUserArriveAtStartStation()
|
||||
&& !MogoOCHTaxiModel.getInstance().isOnTheWay2EndStation() ) {
|
||||
MogoOCHTaxiModel.getInstance().startAutoPilot();
|
||||
MogoOCHTaxiModel.getInstance().setOnTheWay2EndStation( true );
|
||||
|
||||
@@ -126,6 +126,15 @@ class OCHTaxiUiController implements IMogoOCHTaxiArriveCallback {
|
||||
} );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUserArriveAtStartStation() {
|
||||
runOnUIThread( () -> {
|
||||
if ( mOCHTaxiArriveCallback != null ) {
|
||||
mOCHTaxiArriveCallback.onUserArriveAtStartStation();
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
private void runOnUIThread( Runnable executor ) {
|
||||
if ( executor == null ) {
|
||||
return;
|
||||
@@ -136,4 +145,5 @@ class OCHTaxiUiController implements IMogoOCHTaxiArriveCallback {
|
||||
executor.run();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user