[Taxi-d 280 Taxi-p 130] opt
@@ -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) {
|
||||
|
||||
|
||||
@@ -154,6 +154,7 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
|
||||
super.onResume();
|
||||
// mPresenter.startOrStopOrderLoop();
|
||||
// showOrHideServingOrderFragment(true);
|
||||
// showOrHideStartAutopilotView(true,true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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>
|
||||
|
After Width: | Height: | Size: 123 KiB |
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 121 KiB |
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 123 KiB |
|
After Width: | Height: | Size: 123 KiB |
|
After Width: | Height: | Size: 123 KiB |
|
After Width: | Height: | Size: 124 KiB |
|
After Width: | Height: | Size: 124 KiB |
|
After Width: | Height: | Size: 125 KiB |
|
After Width: | Height: | Size: 125 KiB |
|
After Width: | Height: | Size: 124 KiB |
|
After Width: | Height: | Size: 124 KiB |
|
After Width: | Height: | Size: 125 KiB |
|
After Width: | Height: | Size: 124 KiB |
|
After Width: | Height: | Size: 123 KiB |
|
After Width: | Height: | Size: 124 KiB |
|
After Width: | Height: | Size: 124 KiB |
|
After Width: | Height: | Size: 125 KiB |
|
After Width: | Height: | Size: 125 KiB |
|
After Width: | Height: | Size: 124 KiB |
|
After Width: | Height: | Size: 124 KiB |
|
After Width: | Height: | Size: 123 KiB |
|
After Width: | Height: | Size: 123 KiB |
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 123 KiB |
|
After Width: | Height: | Size: 123 KiB |
|
After Width: | Height: | Size: 124 KiB |
|
After Width: | Height: | Size: 125 KiB |
|
After Width: | Height: | Size: 126 KiB |
|
After Width: | Height: | Size: 127 KiB |
|
After Width: | Height: | Size: 128 KiB |
|
After Width: | Height: | Size: 130 KiB |
|
After Width: | Height: | Size: 131 KiB |
|
After Width: | Height: | Size: 130 KiB |
|
After Width: | Height: | Size: 128 KiB |
|
After Width: | Height: | Size: 126 KiB |
|
After Width: | Height: | Size: 123 KiB |
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 120 KiB |
|
After Width: | Height: | Size: 118 KiB |
|
After Width: | Height: | Size: 117 KiB |
|
After Width: | Height: | Size: 116 KiB |
|
After Width: | Height: | Size: 116 KiB |
|
After Width: | Height: | Size: 116 KiB |
|
After Width: | Height: | Size: 116 KiB |
|
After Width: | Height: | Size: 116 KiB |
|
After Width: | Height: | Size: 117 KiB |
|
After Width: | Height: | Size: 117 KiB |
|
After Width: | Height: | Size: 118 KiB |
|
After Width: | Height: | Size: 118 KiB |
|
After Width: | Height: | Size: 118 KiB |
|
After Width: | Height: | Size: 118 KiB |
|
After Width: | Height: | Size: 118 KiB |
|
After Width: | Height: | Size: 119 KiB |
|
After Width: | Height: | Size: 118 KiB |
|
After Width: | Height: | Size: 118 KiB |
|
After Width: | Height: | Size: 119 KiB |
|
After Width: | Height: | Size: 119 KiB |
|
After Width: | Height: | Size: 118 KiB |
|
After Width: | Height: | Size: 118 KiB |
|
After Width: | Height: | Size: 118 KiB |
|
After Width: | Height: | Size: 118 KiB |
|
After Width: | Height: | Size: 119 KiB |
|
After Width: | Height: | Size: 120 KiB |
|
After Width: | Height: | Size: 121 KiB |
|
After Width: | Height: | Size: 121 KiB |
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -47,5 +47,5 @@ public interface ITaxiOrderStatusCallback {
|
||||
void onGrabOrderFailed(OrderQueryRespBean.Result order);
|
||||
|
||||
// 司机已确认开启自动驾驶环境
|
||||
void onDriverHasCheckedPilotCondition(boolean isBoarded);
|
||||
void onDriverHasCheckedPilotCondition(boolean isSafe);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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("自动驾驶");
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||