[taxi -d 280, taxi -p 130] 1、taxi 乘客端开始行程
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
package com.mogo.och.taxi.passenger.callback;
|
||||
|
||||
public interface ITPClickStartAutopilotCallback {
|
||||
void onClickCallback();
|
||||
}
|
||||
@@ -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 服务中
|
||||
|
||||
@@ -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 点击开始自动驾驶按钮
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user