[2.11.0/1.6.0] bus司机端,乘客屏路线面板调整

This commit is contained in:
wangmingjun
2022-09-21 16:39:40 +08:00
parent 09f3686968
commit 831f601ca3
18 changed files with 106 additions and 282 deletions

View File

@@ -28,9 +28,6 @@ public class BusPassengerLineStationsAdapter extends RecyclerView.Adapter<Recycl
private Context mContext;
private List<BusPassengerStation> mStations;
private static final int LINE_START_STATION_ITEM = 0;
private static final int LINE_END_STATION_ITEM = 1;
private static final int LINE_MIDDLE_STATION_ITEM = 2;
public BusPassengerLineStationsAdapter(Context context, List<BusPassengerStation> stations){
this.mContext = context;
@@ -99,19 +96,6 @@ public class BusPassengerLineStationsAdapter extends RecyclerView.Adapter<Recycl
public int getItemCount() {
return mStations.size();
}
@Override
public int getItemViewType(int position) {
//第一个要显示时间
if (position == 0){
return LINE_START_STATION_ITEM;
}else if (position == mStations.size() -1){
return LINE_END_STATION_ITEM;
}else {
return LINE_MIDDLE_STATION_ITEM;
}
}
}
class StationViewHolder extends RecyclerView.ViewHolder{
public TextView stationName;
@@ -131,40 +115,4 @@ class StationViewHolder extends RecyclerView.ViewHolder{
}
}
class StartStationViewHolder extends RecyclerView.ViewHolder{
public TextView startStationName;
public ImageView stationCircle;
public ImageView curStationBg;
public StartStationViewHolder(@NonNull View itemView) {
super(itemView);
startStationName = itemView.findViewById(R.id.bus_p_start_station);
stationCircle = itemView.findViewById(R.id.bus_p_start_circle);
curStationBg = itemView.findViewById(R.id.bus_p_cur_start_station_tag);
}
}
class EndStationViewHolder extends RecyclerView.ViewHolder{
public TextView endStationName;
public ImageView stationCircle;
public ImageView curStationBg;
public EndStationViewHolder(@NonNull View itemView) {
super(itemView);
endStationName = itemView.findViewById(R.id.bus_p_end_station);
stationCircle = itemView.findViewById(R.id.bus_p_end_circle);
curStationBg = itemView.findViewById(R.id.bus_p_cur_end_station_tag);
}
}
class MiddleStationViewHolder extends RecyclerView.ViewHolder{
public TextView middleStationName;
public ImageView curStationBg;
public ImageView stationCircle;
public MiddleStationViewHolder(@NonNull View itemView) {
super(itemView);
middleStationName = itemView.findViewById(R.id.bus_p_middle_station);
curStationBg = itemView.findViewById(R.id.bus_p_middle_tag);
stationCircle = itemView.findViewById(R.id.bus_p_middle_circle);
}
}

View File

@@ -24,4 +24,5 @@ public class BusPassengerRoutesResponse extends BaseData {
"data=" + data +
'}';
}
}

View File

@@ -1,6 +1,7 @@
package com.mogo.och.bus.passenger.bean;
import java.util.List;
import java.util.Objects;
/**
* 网约车小巴路线接口返回接口数据封装
@@ -15,6 +16,7 @@ public class BusPassengerRoutesResult {
private String description;
private int status;
private String runningDur; //运营时间
private long taskTime; //线路时间班次
public List<BusPassengerStation> getSites() {
return sites;
@@ -56,4 +58,22 @@ public class BusPassengerRoutesResult {
", runningDur='" + runningDur + '\'' +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
BusPassengerRoutesResult that = (BusPassengerRoutesResult) o;
return lineId == that.lineId
&& lineType == that.lineType
&& status == that.status
&& sites.equals(that.sites)
&& name.equals(that.name)
&& runningDur.equals(that.runningDur);
}
@Override
public int hashCode() {
return Objects.hash(sites, lineId, name, lineType, description, status, runningDur);
}
}

View File

@@ -1,5 +1,7 @@
package com.mogo.och.bus.passenger.bean;
import java.util.Objects;
/**
* 单个网约车小巴车站信息
*
@@ -143,4 +145,29 @@ public class BusPassengerStation {
", leaving=" + leaving +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
BusPassengerStation that = (BusPassengerStation) o;
return Double.compare(that.lon, lon) == 0
&& Double.compare(that.lat, lat) == 0
&& Double.compare(that.gcjLon, gcjLon) == 0
&& Double.compare(that.gcjLat, gcjLat) == 0
&& businessType == that.businessType
&& status == that.status
&& siteId == that.siteId
&& seq == that.seq
&& drivingStatus == that.drivingStatus
&& ifStop == that.ifStop
&& leaving == that.leaving
&& Objects.equals(name, that.name)
&& Objects.equals(cityCode, that.cityCode);
}
@Override
public int hashCode() {
return Objects.hash(name, description, cityCode, lon, lat, gcjLon, gcjLat, businessType, status, siteId, seq, drivingStatus, ifStop, leaving);
}
}

View File

@@ -11,4 +11,6 @@ import java.util.List;
public interface IBusPassengerRouteLineInfoCallback {
void updateLineInfo(String lineName, String lineDurTime);
void updateStationsInfo(List<BusPassengerStation> stations,int currentStationIndex,boolean isArrived);
void showNoTaskView();
void hideNoTaskView();
}

View File

@@ -87,6 +87,8 @@ public class BusPassengerModel {
private double mLongitude, mLatitude;
private BusPassengerRoutesResult routesResult = null;
List<BusPassengerStation> mStations = new ArrayList<>();
private int mNextStationIndex = 0;// 要到达站的index
private List<LatLng> mTwoStationsRouts = new ArrayList<>();
@@ -154,8 +156,16 @@ public class BusPassengerModel {
if ( data == null
|| data.getResult() == null
|| data.getResult().getSites() == null) {
routesResult = null;
if (mRouteLineInfoCallback != null){
mRouteLineInfoCallback.showNoTaskView();
}
return;
}
if (routesResult != null && routesResult.equals(data.getResult())){
return;
}
routesResult = data.getResult();
updatePassengerRouteInfo(data.getResult());
}
@@ -172,6 +182,7 @@ public class BusPassengerModel {
private void updatePassengerRouteInfo(BusPassengerRoutesResult result) {
if (mRouteLineInfoCallback != null){
mRouteLineInfoCallback.updateLineInfo(result.getName(),result.getRunningDur());
mRouteLineInfoCallback.hideNoTaskView();
if (result.getSites() != null){
List<BusPassengerStation> stations = result.getSites();
mStations.clear();

View File

@@ -135,6 +135,16 @@ public class BaseBusPassengerPresenter extends Presenter<BusPassengerRouteFragme
runOnUIThread(() -> mView.updateStationsInfo(stations,currentStationIndex, isArrived));
}
@Override
public void showNoTaskView() {
runOnUIThread(() -> mView.showNoTaskView());
}
@Override
public void hideNoTaskView() {
runOnUIThread(() -> mView.hideNoTaskView());
}
@Override
public void routeResult(List<LatLng> models, int haveArrivedIndex) {
CallerLogger.INSTANCE.d(M_BUS_P + TAG, "routeResult:" + models.size()

View File

@@ -58,6 +58,7 @@ public class BusPassengerRouteFragment extends
private RotateAnimation rotateAnimation;
private float lastBearing = 0;
private BusPassengerLineStationsAdapter mAdapter;
private TextView emptyTv;
@Override
public int getStationPanelViewId() {
@@ -79,6 +80,7 @@ public class BusPassengerRouteFragment extends
mSpeedTv = findViewById(R.id.bus_p_speed_tv);
mNoLineInfoView =findViewById(R.id.bus_p_no_order_data_view);
emptyTv = findViewById(R.id.no_order_data_tv);
mCarPlateNum = findViewById(R.id.bus_p_driver_num_plate_tv);
mLineName = findViewById(R.id.bus_p_line_name_tv);
@@ -211,12 +213,28 @@ public class BusPassengerRouteFragment extends
mNoLineInfoView.setVisibility(View.GONE);
mRouteInfoView.setVisibility(View.VISIBLE);
} else {
emptyTv.setText(getString(R.string.bus_p_no_out));
mNoLineInfoView.setVisibility(View.VISIBLE);
mRouteInfoView.setVisibility(View.GONE);
updateArrivedStation(null,0,true);
}
}
public void showNoTaskView(){
if (mNoLineInfoView.getVisibility() == View.GONE){
mNoLineInfoView.setVisibility(View.VISIBLE);
mRouteInfoView.setVisibility(View.GONE);
}
emptyTv.setText(getString(R.string.bus_p_no_task));
}
public void hideNoTaskView(){
if (mNoLineInfoView.getVisibility() == View.VISIBLE){
mNoLineInfoView.setVisibility(View.GONE);
mRouteInfoView.setVisibility(View.VISIBLE);
}
}
public void updatePlateNum(String plateNum){
if ("".equals(plateNum) || null == plateNum) {
mCarPlateNum.setText("-- --");

View File

@@ -24,5 +24,5 @@
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/no_order_data_iv"
android:text="@string/bus_p_no_data"/>
android:text="@string/bus_p_no_out"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -148,7 +148,7 @@
android:layout_height="match_parent"
android:layout_marginTop="@dimen/dp_280"
android:paddingBottom="@dimen/dp_30"
android:paddingLeft="@dimen/bus_p_route_info_margin_left"
android:paddingLeft="@dimen/dp_30"
android:paddingRight="@dimen/bus_p_route_info_margin_right"
android:requiresFadingEdge="vertical"
app:layout_constraintLeft_toLeftOf="@+id/bus_p_driver_num_plate_tv"

View File

@@ -1,72 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="@dimen/bus_p_station_item_height"
xmlns:app="http://schemas.android.com/apk/res-auto">
<ImageView
android:layout_width="@dimen/bus_p_station_tag_line_width"
android:layout_height="@dimen/bus_p_station_tag_line_height1"
android:background="@color/bus_p_tag_line_color"
android:layout_marginLeft="@dimen/dp_7"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"/>
<TextView
android:id="@+id/bus_p_end_station"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="--"
android:textSize="@dimen/bus_p_station_txt_size"
android:textStyle="bold"
android:includeFontPadding = "false"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:layout_marginRight="@dimen/dp_60"
android:textColor="@color/bus_p_station_txt_color"
android:layout_marginLeft="@dimen/dp_45"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@+id/bus_p_end_tag"
app:layout_constraintBottom_toBottomOf="parent"/>
<ImageView
android:id="@+id/bus_p_end_circle"
android:layout_width="@dimen/bus_p_station_circle_width_height"
android:layout_height="@dimen/bus_p_station_circle_width_height"
android:background="@drawable/bg_bus_p_end_station_circle"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="@+id/bus_p_end_station"
app:layout_constraintBottom_toBottomOf="@+id/bus_p_end_station"/>
<ImageView
android:id="@+id/bus_p_cur_end_station_tag"
android:layout_width="@dimen/bus_p_cur_station_circle_width"
android:layout_height="wrap_content"
android:scaleType="fitXY"
android:background="@drawable/bg_bus_p_arrived_station"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintBottom_toBottomOf="@+id/bus_p_end_station"
app:layout_constraintTop_toTopOf="@+id/bus_p_end_station"/>
<ImageView
android:id="@+id/bus_p_end_tag"
android:layout_width="@dimen/bus_p_station_tag_width_height"
android:layout_height="@dimen/bus_p_station_tag_width_height"
android:background="@drawable/bg_bus_p_end_tag_bg"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
<TextView
android:layout_width="@dimen/bus_p_station_tag_width_height"
android:layout_height="@dimen/bus_p_station_tag_width_height"
android:textSize="@dimen/bus_p_station_tag_txt_size"
android:textColor="@color/bus_p_end_tag_txt_color"
android:text="@string/bus_p_end_station_txt_tag"
android:includeFontPadding="false"
android:gravity="center"
app:layout_constraintLeft_toLeftOf="@+id/bus_p_end_tag"
app:layout_constraintRight_toRightOf="@+id/bus_p_end_tag"
app:layout_constraintTop_toTopOf="@+id/bus_p_end_tag"
app:layout_constraintBottom_toBottomOf="@+id/bus_p_end_tag"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,61 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="@dimen/bus_p_station_item_middle_height"
xmlns:app="http://schemas.android.com/apk/res-auto">
<ImageView
android:layout_width="@dimen/bus_p_station_tag_line_width"
android:layout_height="@dimen/bus_p_station_tag_line_height"
android:background="@color/bus_p_tag_line_color"
android:layout_marginLeft="@dimen/dp_7"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"/>
<ImageView
android:layout_width="@dimen/bus_p_station_tag_line_width"
android:layout_height="@dimen/bus_p_station_tag_line_height"
android:background="@color/bus_p_tag_line_color"
android:layout_marginLeft="@dimen/dp_7"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"/>
<TextView
android:id="@+id/bus_p_middle_station"
android:layout_width="@dimen/bus_p_station_txt_width"
android:layout_height="wrap_content"
android:text="--"
android:textSize="@dimen/bus_p_station_txt_size"
android:textStyle="bold"
android:layout_marginTop="@dimen/dp_20"
android:layout_marginBottom="@dimen/dp_20"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:layout_marginRight="@dimen/dp_60"
android:includeFontPadding = "false"
android:textColor="@color/bus_p_current_station_txt_color"
android:layout_marginLeft="@dimen/dp_45"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
<ImageView
android:id="@+id/bus_p_middle_circle"
android:layout_width="@dimen/bus_p_station_circle_width_height"
android:layout_height="@dimen/bus_p_station_circle_width_height"
android:background="@drawable/bg_bus_p_middle_station_circle"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="@+id/bus_p_middle_station"
app:layout_constraintBottom_toBottomOf="@+id/bus_p_middle_station"/>
<ImageView
android:id="@+id/bus_p_middle_tag"
android:layout_width="@dimen/bus_p_cur_station_circle_width"
android:layout_height="wrap_content"
android:scaleType="fitXY"
android:background="@drawable/bg_bus_p_arrived_station"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="@+id/bus_p_middle_station"
app:layout_constraintBottom_toBottomOf="@+id/bus_p_middle_station"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,74 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="@dimen/bus_p_station_item_height"
xmlns:app="http://schemas.android.com/apk/res-auto">
<ImageView
android:layout_width="@dimen/bus_p_station_tag_line_width"
android:layout_height="@dimen/bus_p_station_tag_line_height1"
android:background="@color/bus_p_tag_line_color"
android:layout_marginLeft="@dimen/dp_7"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"/>
<TextView
android:id="@+id/bus_p_start_station"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_45"
android:includeFontPadding="false"
android:text="--"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:textColor="@color/bus_p_station_txt_color"
android:textSize="@dimen/bus_p_station_txt_size"
android:textStyle="bold"
android:layout_marginRight="@dimen/dp_60"
app:layout_constraintRight_toLeftOf="@+id/bus_p_start_tag"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/bus_p_start_circle"
android:layout_width="@dimen/bus_p_station_circle_width_height"
android:layout_height="@dimen/bus_p_station_circle_width_height"
android:background="@drawable/bg_bus_p_start_station_circle"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="@+id/bus_p_start_station"
app:layout_constraintBottom_toBottomOf="@+id/bus_p_start_station"/>
<ImageView
android:id="@+id/bus_p_cur_start_station_tag"
android:layout_width="@dimen/bus_p_cur_station_circle_width"
android:layout_height="wrap_content"
android:scaleType="fitXY"
android:background="@drawable/bg_bus_p_arrived_station"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="@+id/bus_p_start_station"
app:layout_constraintBottom_toBottomOf="@+id/bus_p_start_station"/>
<ImageView
android:id="@+id/bus_p_start_tag"
android:layout_width="@dimen/bus_p_station_tag_width_height"
android:layout_height="@dimen/bus_p_station_tag_width_height"
android:background="@drawable/bg_bus_p_start_tag_bg"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="@+id/bus_p_start_station"
app:layout_constraintBottom_toBottomOf="@+id/bus_p_start_station"/>
<TextView
android:layout_width="@dimen/bus_p_station_tag_width_height"
android:layout_height="@dimen/bus_p_station_tag_width_height"
android:textSize="@dimen/bus_p_station_tag_txt_size"
android:textColor="@color/bus_p_end_tag_txt_color"
android:text="@string/bus_p_start_station_txt_tag"
android:includeFontPadding="false"
android:gravity="center"
app:layout_constraintLeft_toLeftOf="@+id/bus_p_start_tag"
app:layout_constraintRight_toRightOf="@+id/bus_p_start_tag"
app:layout_constraintTop_toTopOf="@+id/bus_p_start_tag"
app:layout_constraintBottom_toBottomOf="@+id/bus_p_start_tag"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,7 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="bus_p_speed_unit_txt">KM/H</string>
<string name="bus_p_no_data">您已收车</string>
<string name="bus_p_no_out">您已收车</string>
<string name="bus_p_no_task">暂无班次</string>
<string name="bus_p_start_station_txt_tag"></string>
<string name="bus_p_end_station_txt_tag"></string>
<string name="bus_p_cur_station_title">到达站:</string>

View File

@@ -48,18 +48,11 @@ public class BusFragment extends BaseBusTabFragment<BusFragment, BusPresenter>
implements SlidePanelView.OnSlidePanelMoveToEndListener, View.OnClickListener {
private static final String TAG = "BusFragment";
// private TextView mCurrentStationName;
// private TextView mNextStationName;
// private TextView mCurrentTag;
// private TextView mNextTag;
private TextView mSwitchLine; //切换路线
private TextView mLineName;
private TextView mTaskTime;
private Group groupStationsPanel;
private ConstraintLayout noDataView;
// private int mCurrentStation = 0;
// private View mBus;
private BusStationBean startStation = null;
private BusStationBean endStation = null;
@@ -75,10 +68,7 @@ public class BusFragment extends BaseBusTabFragment<BusFragment, BusPresenter>
@Override
protected void initViews() {
super.initViews();
// mCurrentStationName = findViewById(R.id.module_och_bus_current_station);
// mCurrentTag = findViewById(R.id.module_och_bus_current_station_anchor);
// mNextStationName = findViewById(R.id.module_och_bus_order_end_station);
// mNextTag = findViewById(R.id.module_och_bus_next_station_anchor);
mSwitchLine = findViewById(R.id.switch_line_btn);
mSwitchLine.setTag(0);
mLineName = findViewById(R.id.module_och_bus_line_name);
@@ -224,6 +214,7 @@ public class BusFragment extends BaseBusTabFragment<BusFragment, BusPresenter>
int arrivingOrArrivedIndex,
boolean isArrived) {
secondStationItem.setStationTag("");
secondStationItem.showOrHideStationArrowBg(true);
thirdStationItem.setStationTag("");
secondStationItem.setVisibility(View.VISIBLE);
thirdStationItem.showOrHideStationArrowBg(false);

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/no_line_data_view">
@@ -24,5 +24,5 @@
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/no_line_data_iv"
android:text="暂无服务订单"/>
android:text="@string/bus_no_task_tip"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -97,7 +97,7 @@
android:layout_height="@dimen/bus_switch_line_btn_height_1"
android:layout_marginLeft="@dimen/dp_28"
android:layout_marginTop="@dimen/dp_40"
app:layout_goneMarginTop="@dimen/dp_400"
app:layout_goneMarginTop="@dimen/dp_600"
android:background="@drawable/bus_switch_line_btn"
android:gravity="center"
android:text="@string/bus_switch_line_btn"
@@ -109,10 +109,10 @@
app:layout_constraintLeft_toLeftOf="parent" />
<include layout="@layout/bus_no_line_view"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
android:layout_marginTop="@dimen/dp_160"
app:layout_constraintTop_toTopOf="parent"/>
<androidx.constraintlayout.widget.Group
android:id="@+id/group_stations_panel"

View File

@@ -10,8 +10,8 @@
<string name="bus_switch_line_start">起点: </string>
<string name="bus_switch_line_end">终点:</string>
<string name="bus_switch_line_btn_txt">确认</string>
<string name="bus_switch_line_btn">切换路线</string>
<string name="bus_close_line_btn">结束路线</string>
<string name="bus_switch_line_btn">选择任务</string>
<string name="bus_close_line_btn">结束任务</string>
<string name="bus_switch_line_btn_warning1">自动驾驶状态中,不可切换或结束路线</string>
<string name="bus_switch_line_btn_warning2">当前行程未完成,不可切换路线</string>
<string name="bus_no_line_tip">当前车辆无路线\n请联系运营人员绑定</string>
@@ -31,7 +31,9 @@
<string name="bus_line_time_tag">班次:</string>
<string name="bus_dialog_title">提示</string>
<string name="bus_dialog_tips">您确认要结束路线吗?</string>
<string name="bus_dialog_tips">您确认要结束任务吗?</string>
<string name="bus_dialog_confirm">确认</string>
<string name="bus_dialog_cancel">取消</string>
<string name="bus_no_task_tip">暂无任务</string>
</resources>