[Taxi-d 280 Taxi-p 130] opt

This commit is contained in:
wangmingjun
2022-06-21 21:38:45 +08:00
parent 04a0970d90
commit 544573e517
91 changed files with 320 additions and 122 deletions

View File

@@ -120,6 +120,11 @@ public class TaxiPassengerServingOrderPresenter extends Presenter<TaxiPassengerS
runOnUIThread(() -> mView.onCurrentRoadName(currentRoadName));
}
@Override
public void onDriverHasCheckedPilotCondition(boolean isBoarded) {
}
@Override
public void onVRModeChanged(boolean isVRMode) {

View File

@@ -154,6 +154,7 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
super.onResume();
// mPresenter.startOrStopOrderLoop();
// showOrHideServingOrderFragment(true);
// showOrHideStartAutopilotView(true,true);
}
/**

View File

@@ -3,7 +3,6 @@ package com.mogo.och.taxi.passenger.ui;
import android.animation.ObjectAnimator;
import android.content.Context;
import android.graphics.drawable.AnimationDrawable;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.view.animation.LinearInterpolator;
@@ -31,21 +30,13 @@ public class TaxiPassengerStartAutopilotView extends RelativeLayout implements V
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);
mAutopilotImage = findViewById(R.id.taxi_p_autopilot_iv);
View view = LayoutInflater.from(context).inflate(R.layout.taxi_p_start_autopilot_view, this,true);
mStartAutopilotBtn = view.findViewById(R.id.taxi_p_start_autopilot);
mAutopilotImage = view.findViewById(R.id.taxi_p_autopilot_iv);
mStartAutopilotBtn.setOnClickListener(this);
}
@@ -57,7 +48,10 @@ public class TaxiPassengerStartAutopilotView extends RelativeLayout implements V
public void onClick(View v) {
if (v.getId() == R.id.taxi_p_start_autopilot){
//开启动画和自动驾驶
if (mClickCallback != null) mClickCallback.onClickCallback();
if (!isStarting){
startOrStopLoadingAnim(true);
if (mClickCallback != null) mClickCallback.onClickCallback();
}
}
}
@@ -67,13 +61,13 @@ public class TaxiPassengerStartAutopilotView extends RelativeLayout implements V
mAutopilotImage.setVisibility(GONE);
mStartAutopilotBtn.setText(getResources().getString(R.string.taxi_p_start_autopilot_txt));
if (isClickable){ //可点击状态下UI
startAutopilotAnimatorDrawable(true);
startAutopilotBgAnimatorDrawable(true);
}else {// 不可点击状态下 UI
startAutopilotAnimatorDrawable(false);
startAutopilotBgAnimatorDrawable(false);
}
}
public void startAutopilotAnimatorDrawable(boolean isStart){
public void startAutopilotBgAnimatorDrawable(boolean isStart){
if (isStart){
if (animationDrawable == null) {
mStartAutopilotBtn.setBackground(getResources().getDrawable(R.drawable.anmi_flow));
@@ -89,7 +83,7 @@ public class TaxiPassengerStartAutopilotView extends RelativeLayout implements V
animationDrawable.selectDrawable(0);
animationDrawable.stop();
}
mStartAutopilotBtn.setBackground(getResources().getDrawable(R.drawable.taxi_autopilot_bg_selector));
// mStartAutopilotBtn.setBackground(getResources().getDrawable();
animationDrawable = null;
}
}
@@ -97,9 +91,9 @@ public class TaxiPassengerStartAutopilotView extends RelativeLayout implements V
public void startOrStopLoadingAnim(boolean start) {
if (start) {
isStarting = true;
mAutopilotImage.setVisibility(VISIBLE);
mStartAutopilotBtn.setText(getResources().getString(R.string.taxi_p_start_autopilot_loading));
mStartAutopilotBtn.setTextColor(getResources().getColor(R.color.taxi_autopilot_text_color_normal));
mAutopilotImage.setImageResource(R.drawable.taxi_p_ic_autopilot_loading);
if (autopilotLoadingAnimator == null) {
autopilotLoadingAnimator = ObjectAnimator.ofFloat(mAutopilotImage,
"rotation", 0f, 360f);
@@ -112,6 +106,7 @@ public class TaxiPassengerStartAutopilotView extends RelativeLayout implements V
startingAutopilotCountDown();
} else {
isStarting = false;
mAutopilotImage.setVisibility(GONE);
if (autopilotLoadingAnimator != null) {
autopilotLoadingAnimator.end();
mAutopilotImage.clearAnimation();

View File

@@ -1,65 +1,230 @@
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item android:drawable="@drawable/anim_flow_00000" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00001" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00002" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00003" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00004" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00005" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00006" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00007" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00008" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00009" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00010" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00011" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00012" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00013" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00014" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00015" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00016" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00017" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00018" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00019" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00020" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00021" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00022" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00023" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00024" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00025" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00026" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00027" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00028" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00029" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00030" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00031" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00032" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00033" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00034" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00035" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00036" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00037" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00038" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00039" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00040" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00041" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00042" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00043" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00044" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00045" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00046" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00047" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00048" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00049" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00050" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00051" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00052" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00053" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00054" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00055" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00056" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00057" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00058" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00059" android:duration="100"></item>
android:oneshot="false">
<item
android:drawable="@drawable/image_00000"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00001"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00002"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00003"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00004"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00005"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00006"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00007"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00008"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00009"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00010"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00011"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00012"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00013"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00014"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00015"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00016"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00017"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00018"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00019"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00020"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00021"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00022"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00023"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00024"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00025"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00026"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00027"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00028"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00029"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00030"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00031"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00032"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00033"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00034"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00035"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00036"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00037"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00038"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00039"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00040"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00041"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00042"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00043"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00044"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00045"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00046"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00047"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00048"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00049"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00050"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00051"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00052"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00053"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00054"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00055"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00056"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00057"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00058"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00059"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00060"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00061"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00062"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00063"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00064"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00065"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00066"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00067"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00068"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00069"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00070"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00071"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00072"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00073"
android:duration="100"></item>
<item
android:drawable="@drawable/image_00074"
android:duration="100"></item>
</animation-list>

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

View File

@@ -7,21 +7,21 @@
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">
<!-- <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"
@@ -32,16 +32,19 @@
android:textStyle="bold"
android:textColor="@android:color/white"
android:elevation="5dp"
android:background="@drawable/taxi_p_start_autopilot_txt_btn_bg"/>
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
<ImageView
android:id="@+id/taxi_p_autopilot_iv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_16"
android:layout_marginLeft="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_220"
android:layout_marginLeft="@dimen/dp_340"
android:src="@drawable/taxi_p_ic_autopilot_loading"
/>
</com.mogo.och.common.module.wigets.OCHBorderShadowLayout>
app:layout_constraintLeft_toLeftOf="@+id/taxi_p_start_autopilot"
app:layout_constraintTop_toTopOf="@+id/taxi_p_start_autopilot"/>
<!-- </com.mogo.och.common.module.wigets.OCHBorderShadowLayout>-->
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -63,6 +63,6 @@
<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>
<dimen name="taxi_p_start_autopilot_btn_width">1000px</dimen>
<dimen name="taxi_p_start_autopilot_btn_height">500px</dimen>
</resources>

View File

@@ -126,7 +126,7 @@
<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>
<dimen name="taxi_p_start_autopilot_btn_width">1000px</dimen>
<dimen name="taxi_p_start_autopilot_btn_height">500px</dimen>
</resources>

View File

@@ -121,6 +121,6 @@
<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>
<dimen name="taxi_p_start_autopilot_btn_width">1000px</dimen>
<dimen name="taxi_p_start_autopilot_btn_height">500px</dimen>
</resources>

View File

@@ -47,5 +47,5 @@ public interface ITaxiOrderStatusCallback {
void onGrabOrderFailed(OrderQueryRespBean.Result order);
// 司机已确认开启自动驾驶环境
void onDriverHasCheckedPilotCondition(boolean isBoarded);
void onDriverHasCheckedPilotCondition(boolean isSafe);
}

View File

@@ -801,9 +801,12 @@ public class TaxiModel {
});
}
public void updateAutopilotStatus(boolean isBoarded){
public void updateAutopilotStatus(boolean isSafe){
if(isSafe){
ToastUtils.showLong(mContext.getResources().getString(R.string.module_och_taxi_order_choose_start_autopilot_tip));
}
if (mOrderStatusCallback != null){
mOrderStatusCallback.onDriverHasCheckedPilotCondition(isBoarded);
mOrderStatusCallback.onDriverHasCheckedPilotCondition(isSafe);
}
}

View File

@@ -266,8 +266,8 @@ public class TaxiPresenter extends Presenter<TaxiFragment> implements ITaxiADASS
}
@Override
public void onDriverHasCheckedPilotCondition(boolean isBoarded) {
runOnUIThread(() -> mView.onPassengerBoardedStatus(isBoarded));
public void onDriverHasCheckedPilotCondition(boolean isSafe) {
runOnUIThread(() -> mView.onCheckPilotConditionSafe(isSafe));
}
@Override

View File

@@ -297,14 +297,18 @@ public abstract class BaseTaxiTabFragment<V extends IView, P extends Presenter<V
});
}
public void onPassengerBoardedStatus(boolean isBoarded){
ctvAutopilotStatus.setTag(isBoarded);
public void onCheckPilotConditionSafe(boolean isSafe){
ctvAutopilotStatus.setTag(isSafe);
if (isSafe){
updateOrderUI();
}
}
protected abstract void updateOrderUI();
private AnimationDrawable animationDrawable;
public void AutopilotStatusAnimchanged(int status) {
// mAutopilotTv.setText(isInAutopilot?"自动驾驶":"开启自动驾驶");
if (IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING == status) {
// ctvAutopilotStatus.setClickable(true);
mAutopilotTv.setText("自动驾驶");

View File

@@ -391,7 +391,7 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implement
if (mCurrentOrder == null) return;
if (TaxiOrderStatusEnum.ArriveAtStart.getCode() == mCurrentOrder.orderStatus){ //到达乘客上车点,司机可跳过乘客屏认证
mTaxiFragment.jumpPassengerCheckDone();
}else if (TaxiOrderStatusEnum.UserArriveAtStart.getCode() == mCurrentOrder.orderStatus) {//点击此按钮,说明车辆已准备好开自动驾驶
}else if (TaxiOrderStatusEnum.UserArriveAtStart.getCode() == mCurrentOrder.orderStatus) {//点击此按钮,说明通知后端准备好开自动驾驶的条件
mTaxiFragment.confirmAutopilotConditionByDriver();
}else if (TaxiOrderStatusEnum.ArriveAtEnd.getCode() == mCurrentOrder.orderStatus) {//点击了完成服务,结束订单并更新订单信息
mTaxiFragment.completeOrderService(TaxiOrderStatusEnum.JourneyCompleted);
@@ -627,6 +627,22 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implement
MogoMarkerManager.getInstance(AbsMogoApplication.getApp()) .removeMarkers(uuid);
}
}
public void updateOrderUI() {
try {
updateOrderBottomBtn();
}catch (NullPointerException e){
mTaxiFragment.confirmAutopilotConditionByDriver();
}
}
public void updateOrderBottomBtn(){
mOrderServerStatus.setText(R.string.module_och_taxi_order_server_wait_passenger_start);
mOrderServerStatus.setTextColor(Color.parseColor("#4DFFFFFF"));
GradientDrawable background = (GradientDrawable) mOrderServerStatus.getBackground();//GradientDrawable是Drawable的子类
background.setColor(Color.parseColor("#4D1D5EF3"));
mOrderServerStatus.setClickable(false);
}
/**
* END
*/

View File

@@ -206,13 +206,6 @@ public class TaxiFragment extends BaseTaxiTabFragment<TaxiFragment, TaxiPresente
onAutopilotStatusChanged(status);
}
/**
* 收到自动驾驶通知的成功状态之后,设置本地状态及服务端状态
*/
private void resetOCHTaxiOrderAutopilotStatus() {
mPresenter.updateCurOrderStatus(TaxiOrderStatusEnum.OnTheWayToEnd);
}
@RequiresApi(api = Build.VERSION_CODES.P)
public void updateCurrentOrderStatusChanged(OrderQueryRespBean.Result order) {
if (serverOrdersFragment != null) {
@@ -258,6 +251,12 @@ public class TaxiFragment extends BaseTaxiTabFragment<TaxiFragment, TaxiPresente
serverOrdersFragment.onOrderCancelDone(orderNo);
}
@Override
protected void updateOrderUI() {
if (null == serverOrdersFragment) return;
serverOrdersFragment.updateOrderUI();
}
public void onNewBookingOrderGot(OrderQueryRespBean.Result order) {
if (null == order) return;
showGrabFragmentAndUpdate();

View File

@@ -212,4 +212,9 @@ public class TaxiServerOrdersFragment extends BaseTaxiUIFragment {
if (null == beingServerdOrdersFragment) return;
beingServerdOrdersFragment.onCurrentOrderRouteInfoGot(routeInfo);
}
public void updateOrderUI() {
if (null == beingServerdOrdersFragment) return;
beingServerdOrdersFragment.updateOrderUI();
}
}

View File

@@ -19,7 +19,9 @@
<string name="module_och_taxi_order_cancel_tip">出现异常情况时,可选择原因无责取消订单:</string>
<string name="module_och_taxi_order_cancel_commit">确认</string>
<string name="module_och_taxi_order_server_start">开始服务</string>
<string name="module_och_taxi_order_server_start_wait_check">等待乘客验证</string>
<string name="module_och_taxi_order_server_start_wait_check">跳过乘客验证</string>
<string name="module_och_taxi_order_server_wait_passenger_start">等待乘客开始行程</string>
<string name="module_och_taxi_order_choose_start_autopilot_tip">请等待乘客启动自动驾驶,或您自行启动</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">您好,本次自动驾驶体验里程共%1$s公里预计需要%2$d分钟我们即将出发。出于安全考虑建议您尽量不要与安全员交谈后排落座并系好安全带</string>