[taxi -d 280, taxi -p 130] 1、taxi 乘客屏"点击开始"功能 2、taxi 点击开始服务判断修改

This commit is contained in:
wangmingjun
2022-06-10 16:28:32 +08:00
parent 218f098375
commit 35985948d7
12 changed files with 104 additions and 8 deletions

View File

@@ -149,6 +149,7 @@ public class BaseTaxiPassengerPresenter extends Presenter<TaxiPassengerBaseFragm
if (TaxiPassengerOrderStatusEnum.Cancel.getCode() == order.orderStatus){
runOnUIThread(() -> {
mView.showOrHideServingOrderFragment(false);
mView.showOrHideStartAutopilotBtn(false);
mView.showOrHidePressengerCheckPager(false, "",
"", "", "", "");
mView.showOrHideArrivedEndLayout(false,"","");
@@ -165,6 +166,15 @@ public class BaseTaxiPassengerPresenter extends Presenter<TaxiPassengerBaseFragm
});
return;
}
// TODO: 2022/6/10 若乘客端确认已经上车,则显示开始行程按钮 并且不可点击 暗
// TODO: 2022/6/10 若司机端已经确认,则显示开始行程按钮 并且可点击
//TODO: 2022/6/10 若订单取消或者隐藏则隐藏开始行程按钮
if (TaxiPassengerOrderStatusEnum.UserArriveAtStart.getCode() == order.orderStatus){
mView.showOrHideStartAutopilotBtn(true);
}
if (TaxiPassengerOrderStatusEnum.OnTheWayToEnd.getCode() == order.orderStatus){
mView.showOrHideStartAutopilotBtn(false);
}
// 30 用户到达上车点 并通过了手机号后四位验证
// 40 服务中
if (TaxiPassengerOrderStatusEnum.UserArriveAtStart.getCode() == order.orderStatus
@@ -172,6 +182,7 @@ public class BaseTaxiPassengerPresenter extends Presenter<TaxiPassengerBaseFragm
runOnUIThread(() -> mView.showOrHideServingOrderFragment(true));
return;
}
// 50 到达终点 乘客可以评价
if (TaxiPassengerOrderStatusEnum.ArriveAtEnd.getCode() == order.orderStatus){
TaxiPassengerModel.getInstance().recoverNaviInfo();

View File

@@ -5,6 +5,7 @@ import android.os.Looper;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.fragment.app.FragmentTransaction;
@@ -16,12 +17,14 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListener
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager;
import com.mogo.eagle.core.function.call.map.CallerSmpManager;
import com.mogo.eagle.core.utilcode.util.OverlayViewUtils;
import com.mogo.eagle.core.utilcode.util.ToastUtils;
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.module.common.constants.DataTypes;
import com.mogo.och.common.module.wigets.OCHBorderShadowLayout;
import com.mogo.och.taxi.passenger.R;
import com.mogo.och.taxi.passenger.presenter.BaseTaxiPassengerPresenter;
@@ -45,6 +48,8 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
private ImageView mMapswitchBtn;
private TaxiPassengerTrafficLightView mTrafficLightView;
private TaxiPassengerV2XNotificationView mV2XNotificationView;
private OCHBorderShadowLayout mStartAutopilotBtnView;
private TextView mStartAutopilotBtn;
// private ConstraintLayout mArrivedEndCL;
private WeakReference<TaxiPassengerArrivedView> mArrivedEndView;
@@ -72,6 +77,9 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
mAutopilotImage = findViewById(R.id.module_och_autopilot_iv);
flNaviPanelContainer = findViewById(R.id.module_mogo_och_navi_panel_container);
mStartAutopilotBtnView = findViewById(R.id.taxi_p_start_autopilot_shadow);
mStartAutopilotBtn = findViewById(R.id.taxi_p_start_autopilot);
mTrafficLightView = findViewById(R.id.traffic_light_view);
CallerHmiManager.INSTANCE.setProxyTrafficLightView(mTrafficLightView);
@@ -123,6 +131,10 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
//showOrHidePressengerCheckPager(true, "开始站点开", "开始站点开始站点开始", "2", "京A888888", "18811539480");
//CallerHmiManager.INSTANCE.showToolsView();
});
mStartAutopilotBtn.setOnClickListener(view -> {
ToastUtils.showShort("等待接口。。。。");
});
}
private void initArrivedView(){
@@ -264,6 +276,18 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
}
}
/**
* 显示或者隐藏 "点击开始按钮"
* @param isShow
*/
public void showOrHideStartAutopilotBtn(boolean isShow){
if (isShow){
mStartAutopilotBtnView.setVisibility(View.VISIBLE);
}else {
mStartAutopilotBtnView.setVisibility(View.GONE);
}
}
/**
* 显示或者隐藏到达乘客站点的洁面
* ① 取消订单 可有可无

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="80px"/>
<gradient
android:angle="180"
android:type="linear"
android:startColor="#E61980FF"
android:endColor="#E65D8BFF" />
</shape>

View File

@@ -130,4 +130,32 @@
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.mogo.och.common.module.wigets.OCHBorderShadowLayout
android:id="@+id/taxi_p_start_autopilot_shadow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:bgColor="@color/taxi_p_map_bg"
app:blurRadius="@dimen/dp_80"
app:shadowColor="@color/taxi_p_start_autopilot_bg_shadow"
app:shadowRadius="@dimen/dp_80"
app:shadow_position="outer"
app:xOffset="0px"
app:yOffset="0px"
android:visibility="gone"
android:layout_marginBottom="@dimen/dp_120"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintBottom_toBottomOf="parent">
<TextView
android:id="@+id/taxi_p_start_autopilot"
android:layout_width="@dimen/taxi_p_start_autopilot_btn_width"
android:layout_height="@dimen/taxi_p_start_autopilot_btn_height"
android:gravity="center"
android:text="@string/taxi_p_start_autopilot_txt"
android:textSize="@dimen/taxi_p_start_autopilot_txt_size"
android:textStyle="bold"
android:textColor="@android:color/white"
android:elevation="5dp"
android:background="@drawable/taxi_p_start_autopilot_txt_btn_bg"/>
</com.mogo.och.common.module.wigets.OCHBorderShadowLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -61,4 +61,8 @@
<dimen name="taxi_p_order_route_size">50px</dimen>
<dimen name="taxi_p_progress_des_size">34px</dimen>
<dimen name="taxi_p_route_txt_unit_size">28px</dimen>
<dimen name="taxi_p_start_autopilot_txt_size">60px</dimen>
<dimen name="taxi_p_start_autopilot_btn_width">560px</dimen>
<dimen name="taxi_p_start_autopilot_btn_height">158px</dimen>
</resources>

View File

@@ -125,4 +125,8 @@
<dimen name="taxi_p_progress_des_size">34px</dimen>
<dimen name="taxi_p_route_txt_unit_size">28px</dimen>
<dimen name="taxi_p_start_autopilot_txt_size">60px</dimen>
<dimen name="taxi_p_start_autopilot_btn_width">560px</dimen>
<dimen name="taxi_p_start_autopilot_btn_height">158px</dimen>
</resources>

View File

@@ -49,6 +49,7 @@
<color name="taxi_p_check_keyboard_bg">#B630347D</color>
<color name="taxi_p_check_keyboard_samll_mogo_color">#151937</color>
<color name="taxi_p_start_autopilot_bg_shadow">#80141D45</color>
</resources>

View File

@@ -119,4 +119,8 @@
<dimen name="taxi_p_order_route_size">50px</dimen>
<dimen name="taxi_p_progress_des_size">34px</dimen>
<dimen name="taxi_p_route_txt_unit_size">28px</dimen>
<dimen name="taxi_p_start_autopilot_txt_size">60px</dimen>
<dimen name="taxi_p_start_autopilot_btn_width">560px</dimen>
<dimen name="taxi_p_start_autopilot_btn_height">158px</dimen>
</resources>

View File

@@ -31,4 +31,6 @@
<string name="taxi_p_check_input_phone_tail_title">请输出手机号后4位:</string>
<string name="taxi_p_check_small_mogo">小蘑菇</string>
<string name="tv_delete">删除</string>
<string name="taxi_p_start_autopilot_txt">点击开始</string>
</resources>

View File

@@ -50,6 +50,14 @@ public class OrderQueryRespBean extends BaseData {
//订单多少乘客
public String passengerNum;
//线路轨迹相关字段
public long lineId; //路线id默认-1
public String trajUrl; //轨迹文件下载的cos url默认“”
public String trajMd5; //轨迹文件md5默认“”
public String stopUrl; //打点文件下载的cos url默认“”
public String stopMd5; //轨迹文件md5默认“”
public long timestamp; //上传轨迹完成时间戳ms用于MEC本地手动导入轨迹验证时不会被云端轨迹覆盖
public String vehicleModel; //[optional] 车型号如红旗H9默认“”暂不加入校验逻辑、用于人工排查问题
// !!!接口中暂无此字段仅用于本地实现逻辑使用起始站目的站距离km
public double travelDistance;

View File

@@ -406,13 +406,13 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implement
NaviToDestinationModel.getInstance(getContext()).destroyAmaNavi();
}
private void startOrEndService(String step) {
if (step.equals(getResources().getString(R.string.module_och_taxi_order_server_end))) {//点击了完成服务,结束订单并更新订单信息
// isHaveBeingOrder(false);
private void startOrEndService() {
if (mCurrentOrder == null) return;
if (TaxiOrderStatusEnum.ArriveAtEnd.getCode() == mCurrentOrder.orderStatus) {//点击了完成服务,结束订单并更新订单信息
mTaxiFragment.completeOrderService(TaxiOrderStatusEnum.JourneyCompleted);
showNotice(getResources().getString(R.string.module_och_taxi_order_server_completed_tip));
return;
} else if (step.equals(getResources().getString(R.string.module_och_taxi_order_server_start))) {//点击服务,开启自动驾驶
} else if (TaxiOrderStatusEnum.UserArriveAtStart.getCode() == mCurrentOrder.orderStatus) {//点击服务,开启自动驾驶
mTaxiFragment.startAutoPilot();
showNotice(getResources().getString(R.string.module_och_taxi_order_server_start_auto_tip));
}
@@ -524,7 +524,7 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implement
case "开始服务":
case "服务完成":
CallerLogger.INSTANCE.d(M_TAXI + TAG, mOrderServerStatus.getText().toString());
startOrEndService(mOrderServerStatus.getText().toString().trim());
startOrEndService();
break;
}
} else if (v.getId() == R.id.module_och_taxi_order_cancel_iv) {

View File

@@ -22,10 +22,9 @@
<string name="module_och_taxi_order_server_start_wait_check">等待乘客验证</string>
<string name="module_och_taxi_order_server_end">服务完成</string>
<string name="module_och_taxi_order_server_completed_tip">车辆已停稳,请携带好随身物品,下车请注意安全</string>
<string name="module_och_taxi_order_server_start_auto_tip">无人驾驶已启动,请您系好安全带</string>
<string name="module_och_taxi_order_server_start_auto_tip">您好,本次自动驾驶体验里程共%1$s公里预计需要%2$d分钟我们即将出发。出于安全考虑建议您尽量不要与安全员交谈后排落座系好安全带</string>
<string name="module_och_taxi_order_arrive_end_200m_tip">即将到达目的地,请拿好随身物品,准备下车</string>
<string name="module_och_taxi_order_auto_arrive_end_tip">已到达目的地,感谢乘坐\'蘑菇车联\'无人驾驶车,期待下次相遇</string>
<string name="module_och_taxi_order_auto_arrive_end_tip">您好,我们已到达目的地,本次体验结束。车辆停稳,请带好随身物品,谨防遗漏。感谢您的乘坐</string>
<string name="module_och_taxi_auto_disable_tip">自动驾驶状态为0不可用</string>
<string name="network_error_tip">网络异常,请稍后重试</string>