[taxi -d 280, taxi -p 130] 1、taxi 乘客端开始行程

This commit is contained in:
wangmingjun
2022-06-15 10:53:18 +08:00
parent 61c23fb8e6
commit c5f19d39b6
6 changed files with 128 additions and 48 deletions

View File

@@ -0,0 +1,5 @@
package com.mogo.och.taxi.passenger.callback;
public interface ITPClickStartAutopilotCallback {
void onClickCallback();
}

View File

@@ -11,7 +11,6 @@ import androidx.lifecycle.LifecycleOwner;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.mvp.Presenter;
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener;
import com.mogo.eagle.core.network.utils.GsonUtil;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrderQueryRespBean;
@@ -19,7 +18,6 @@ import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerADASStatusCallback;
import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerControllerStatusCallback;
import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerOrderStatusCallback;
import com.mogo.och.taxi.passenger.callback.ITaxiPassengerCommonCallback;
import com.mogo.och.taxi.passenger.callback.ITaxiPassengerCommonValueCallback;
import com.mogo.och.taxi.passenger.constant.TaxiPassengerOrderStatusEnum;
import com.mogo.och.taxi.passenger.model.TaxiPassengerGeocodeSearchModel;
import com.mogo.och.taxi.passenger.model.TaxiPassengerModel;
@@ -149,7 +147,7 @@ public class BaseTaxiPassengerPresenter extends Presenter<TaxiPassengerBaseFragm
if (TaxiPassengerOrderStatusEnum.Cancel.getCode() == order.orderStatus){
runOnUIThread(() -> {
mView.showOrHideServingOrderFragment(false);
mView.showOrHideStartAutopilotBtn(false);
// mView.showOrHideStartAutopilotView(false);
mView.showOrHidePressengerCheckPager(false, "",
"", "", "", "");
mView.showOrHideArrivedEndLayout(false,"","");
@@ -170,10 +168,10 @@ public class BaseTaxiPassengerPresenter extends Presenter<TaxiPassengerBaseFragm
// TODO: 2022/6/10 若司机端已经确认,则显示开始行程按钮 并且可点击
//TODO: 2022/6/10 若订单取消或者隐藏则隐藏开始行程按钮
if (TaxiPassengerOrderStatusEnum.UserArriveAtStart.getCode() == order.orderStatus){
mView.showOrHideStartAutopilotBtn(true);
// mView.showOrHideStartAutopilotView(true);
}
if (TaxiPassengerOrderStatusEnum.OnTheWayToEnd.getCode() == order.orderStatus){
mView.showOrHideStartAutopilotBtn(false);
// mView.showOrHideStartAutopilotView(false);
}
// 30 用户到达上车点 并通过了手机号后四位验证
// 40 服务中

View File

@@ -26,6 +26,7 @@ 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.callback.ITPClickStartAutopilotCallback;
import com.mogo.och.taxi.passenger.presenter.BaseTaxiPassengerPresenter;
import java.lang.ref.WeakReference;
@@ -39,7 +40,7 @@ import java.lang.ref.WeakReference;
* @author tongchenfei
*/
public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFragment, BaseTaxiPassengerPresenter>
implements IMogoMapListener, TaxiPassengerTaxiView {
implements IMogoMapListener, TaxiPassengerTaxiView, ITPClickStartAutopilotCallback {
static final String TAG = "TaxiPassengerBaseFragment";
@@ -48,12 +49,10 @@ 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;
private WeakReference<TaxiPassengerCheckView> mArrivedCheckView;
private WeakReference<TaxiPassengerStartAutopilotView> mStartAutopilotView;
protected TaxiPassengerServingOrderFragment ochServingOrderFragment = null;
@@ -77,9 +76,6 @@ 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);
@@ -131,10 +127,6 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
//showOrHidePressengerCheckPager(true, "开始站点开", "开始站点开始站点开始", "2", "京A888888", "18811539480");
//CallerHmiManager.INSTANCE.showToolsView();
});
mStartAutopilotBtn.setOnClickListener(view -> {
ToastUtils.showShort("等待接口。。。。");
});
}
private void initArrivedView(){
@@ -276,15 +268,28 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
}
}
/**
* 显示或者隐藏 "点击开始按钮"
* 显示或者隐藏乘客可点击自动驾驶页面
* 乘客验证成功,页面显示,按钮置于不可点击
* 司机端确认可点击开启自动驾驶, 按钮置为可点击
* 订单前往目的地,页面消失
* @param isShow
*/
public void showOrHideStartAutopilotBtn(boolean isShow){
public void showOrHideStartAutopilotView(boolean isShow, boolean isClickable){
if (isShow){
mStartAutopilotBtnView.setVisibility(View.VISIBLE);
if (mStartAutopilotView == null || mStartAutopilotView.get() == null){
mStartAutopilotView = new WeakReference<>(new TaxiPassengerStartAutopilotView(getContext()));
}
OverlayViewUtils.showOverlayView(getActivity(),mStartAutopilotView.get());
mStartAutopilotView.get().setOnClickStartAutopilotBtnCallback(this);
mStartAutopilotView.get().updateStartAutopilotBtnStatus(isClickable);
}else {
mStartAutopilotBtnView.setVisibility(View.GONE);
if (mStartAutopilotView == null || mStartAutopilotView.get() == null){
return;
}
OverlayViewUtils.dismissOverlayView(mStartAutopilotView.get());
}
}
@@ -368,4 +373,9 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
mArrivedEndView.get().scoreFail();
}
}
@Override
public void onClickCallback() {
//todo 点击开始自动驾驶按钮
}
}

View File

@@ -0,0 +1,57 @@
package com.mogo.och.taxi.passenger.ui;
import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.mogo.eagle.core.utilcode.util.ToastUtils;
import com.mogo.och.common.module.wigets.OCHBorderShadowLayout;
import com.mogo.och.taxi.passenger.R;
import com.mogo.och.taxi.passenger.callback.ITPClickStartAutopilotCallback;
/**
* @author: wangmingjun
* @date: 2022/6/14
*/
public class TaxiPassengerStartAutopilotView extends RelativeLayout implements View.OnClickListener {
private TextView mStartAutopilotBtn;
private ITPClickStartAutopilotCallback mClickCallback;
public TaxiPassengerStartAutopilotView(Context context) {
super(context);
}
public TaxiPassengerStartAutopilotView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public TaxiPassengerStartAutopilotView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
initView(context);
}
private void initView(Context context) {
LayoutInflater.from(context).inflate(R.layout.taxi_p_start_autopilot_view, this, true);
mStartAutopilotBtn = findViewById(R.id.taxi_p_start_autopilot);
mStartAutopilotBtn.setOnClickListener(this);
}
public void setOnClickStartAutopilotBtnCallback(ITPClickStartAutopilotCallback clickCallback){
this.mClickCallback = clickCallback;
}
@Override
public void onClick(View v) {
if (v.getId() == R.id.taxi_p_start_autopilot){
ToastUtils.showShort("等待接口。。。。");
}
}
public void updateStartAutopilotBtnStatus(boolean isClickable){
mStartAutopilotBtn.setClickable(isClickable);
}
}

View File

@@ -130,32 +130,4 @@
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

@@ -0,0 +1,38 @@
<?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:layout_width="match_parent"
android:layout_height="match_parent"
tools:ignore="MissingDefaultResource"
android:background="@drawable/taxi_p_passenger_check_panel_bg">
<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: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>