Merge branch 'dev_robotaxi-d-app-module_2110_220915_2.11.0' of gitlab.zhidaoauto.com:zhjt/AndroidApp/MoGoEagleEye into dev_robotaxi-d-app-module_2110_220915_2.11.0

# Conflicts:
#	OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/ui/BusPassengerRouteFragment.java
This commit is contained in:
wangmingjun
2022-09-26 17:43:22 +08:00
parent a952be6f5c
commit b113afe827
6 changed files with 32 additions and 24 deletions

View File

@@ -58,6 +58,7 @@ public class BusPassengerLineStationsAdapter extends RecyclerView.Adapter<Recycl
viewHolder.stationCircle.setImageResource(R.drawable.bus_p_point_green);
BlinkAnimationUtil.setAnimation(viewHolder.stationCircle);
}else {
BlinkAnimationUtil.clearAnimation(viewHolder.stationCircle);
viewHolder.stationName.setTextColor(mContext.getResources().getColor(R.color.bus_p_station_txt_color));
viewHolder.stationCircle.setImageResource(R.drawable.bus_p_point_gray);
}
@@ -73,10 +74,10 @@ public class BusPassengerLineStationsAdapter extends RecyclerView.Adapter<Recycl
BusPassengerStation preStation = mStations.get(position -1);
if (station.getDrivingStatus() == STATION_STATUS_LEAVING ||
(station.getDrivingStatus() == STATION_STATUS_STOPPED && station.isLeaving())){ //过站
BlinkAnimationUtil.clearAnimation(viewHolder.stationCircle);
viewHolder.stationName.setTextColor(mContext.getResources().getColor(R.color.bus_p_station_txt_color));
viewHolder.curArrowBg.setImageResource(R.drawable.bus_p_line_grey);
viewHolder.stationCircle.setImageResource(R.drawable.bus_p_point_gray);
BlinkAnimationUtil.clearAnimation(viewHolder.stationCircle);
} else if (station.getDrivingStatus() == STATION_STATUS_STOPPED && !station.isLeaving()){//刚到站未离开的
viewHolder.stationName.setTextColor(mContext.getResources().getColor(R.color.bus_p_current_station_txt_color));
viewHolder.curArrowBg.setImageResource(R.drawable.bus_p_line_grey);
@@ -90,14 +91,26 @@ public class BusPassengerLineStationsAdapter extends RecyclerView.Adapter<Recycl
}else if (station.getDrivingStatus() == STATION_STATUS_ARRIVING &&
(preStation.getDrivingStatus() == STATION_STATUS_ARRIVING
|| preStation.getDrivingStatus() == STATION_STATUS_STOPPED)){ //未到站的并且前面也是未到站或者刚到站的
BlinkAnimationUtil.clearAnimation(viewHolder.stationCircle);
viewHolder.stationName.setTextColor(mContext.getResources().getColor(R.color.bus_p_station_txt_color));
viewHolder.curArrowBg.setImageResource(R.drawable.bus_p_line_blue);
viewHolder.stationCircle.setImageResource(R.drawable.bus_p_point_blue);
BlinkAnimationUtil.clearAnimation(viewHolder.stationCircle);
}
}
}
@Override
public void onViewAttachedToWindow(@NonNull RecyclerView.ViewHolder holder) {
super.onViewAttachedToWindow(holder);
}
@Override
public void onViewDetachedFromWindow(@NonNull RecyclerView.ViewHolder holder) {
StationViewHolder viewHolder = (StationViewHolder)holder;
BlinkAnimationUtil.clearAnimation(viewHolder.stationCircle);
super.onViewDetachedFromWindow(holder);
}
@Override
public int getItemCount() {
return mStations.size();

View File

@@ -10,10 +10,7 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.PagerSnapHelper;
import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.SnapHelper;
import com.amap.api.maps.model.LatLng;
import com.elegant.utils.UiThreadHandler;
@@ -96,8 +93,6 @@ public class BusPassengerRouteFragment extends
mStationsListRv.setLayoutManager(manager);
mAdapter = new BusPassengerLineStationsAdapter(getContext(), mStationsList);
mStationsListRv.setAdapter(mAdapter);
SnapHelper snapHelper = new PagerSnapHelper();
snapHelper.attachToRecyclerView(mStationsListRv);
mMapArrowIcon = findViewById(R.id.bus_p_arrow_nor);

View File

@@ -74,17 +74,12 @@ public abstract class BaseBusTabFragment<V extends IView, P extends Presenter<V>
private ImageView ctvAutopilotStatusIv;
private TextView ctvAutopilotStatusTv;
protected TextView tvArrived;
// protected TextView tvOperationStatus;
protected RelativeLayout mSettingBtn;
protected RelativeLayout mBadcaseBtn;
protected RelativeLayout mAICollectBtn;
public boolean isOperationStatus;//false-收车true-出车
private FrameLayout flStationPanelContainer;
private Group groupTestPanel;
private FrameLayout flSpeed;
// private BusArcView mouduleArc;
private TrafficDataView mTrafficDataView;
private ImageView mUpgradeTipIv;
// private BusTrafficLightView mTrafficLightView;
public static final String TYPE_ENTRANCE = "entrance";
@@ -127,7 +122,6 @@ public abstract class BaseBusTabFragment<V extends IView, P extends Presenter<V>
// tvOperationStatus = findViewById(R.id.module_mogo_och_operation_status);
tvArrived = findViewById(R.id.module_mogo_och_arrived_tv);
flSpeed = (FrameLayout) findViewById(R.id.fl_speed);
mTrafficDataView = (TrafficDataView) findViewById(R.id.bus_arc);
LayoutInflater.from(getContext()).inflate(getStationPanelViewId(), flStationPanelContainer);
@@ -200,10 +194,6 @@ public abstract class BaseBusTabFragment<V extends IView, P extends Presenter<V>
);
findViewById(R.id.btnAutopilotRoute).setOnClickListener(view -> debugArrivedRoute());
// tvOperationStatus.setOnClickListener(view -> {
// onChangeOperationStatus();
// });
tvArrived.setOnClickListener(view -> {
onArriveStation();

View File

@@ -154,9 +154,9 @@ public class BusFragment extends BaseBusTabFragment<BusFragment, BusPresenter>
}
private void resetStationBlinkAnim() {
firstStationItem.setStationPointBg(2);
secondStationItem.setStationPointBg(2);
thirdStationItem.setStationPointBg(2);
BlinkAnimationUtil.clearAnimation(firstStationItem.getCircleImageView());
BlinkAnimationUtil.clearAnimation(secondStationItem.getCircleImageView());
BlinkAnimationUtil.clearAnimation(thirdStationItem.getCircleImageView());
}
public void updateBusTaskStatus(String lineName, String lineTime,
@@ -303,6 +303,7 @@ public class BusFragment extends BaseBusTabFragment<BusFragment, BusPresenter>
firstStationItem.setStationPointBg(0);
secondStationItem.setStationPointBg(1);
thirdStationItem.setStationPointBg(2);
secondStationItem.setStationArrowBg(2);
if (isArrived){
firstStationItem.setStationArrowBg(0);

View File

@@ -3,6 +3,7 @@ package com.mogo.och.bus.ui
import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import android.widget.ImageView
import android.widget.LinearLayout
import com.mogo.och.bus.R
import com.mogo.och.common.module.utils.BlinkAnimationUtil
@@ -33,20 +34,25 @@ class BusStationCommonItem @JvmOverloads constructor(
fun setStationPointBg(type: Int){ // 0:灰色 过站 1绿色 到站或者即将到站 2蓝色未到站
when(type){
0 -> {
busCircleIv.setImageResource(R.drawable.icon_point_grey_bus)
BlinkAnimationUtil.clearAnimation(busCircleIv)
busCircleIv.setImageResource(R.drawable.icon_point_grey_bus)
}
1 -> {
busCircleIv.setImageResource(R.drawable.icon_point_green_bus)
BlinkAnimationUtil.setAnimation(busCircleIv)
}
2 -> {
busCircleIv.setImageResource(R.drawable.icon_point_blue_bus)
BlinkAnimationUtil.clearAnimation(busCircleIv)
busCircleIv.setImageResource(R.drawable.icon_point_blue_bus)
}
}
}
fun getCircleImageView() : ImageView{
return busCircleIv;
}
fun setStationArrowBg(type: Int){// 0:灰色 过站 1绿色 前往下一站 2蓝色 未到站
when(type){
0 -> busArrowBg.setImageResource(R.drawable.icon_arrow_grey_bus)

View File

@@ -2,6 +2,7 @@ package com.mogo.och.common.module.utils;
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.view.animation.Animation;
import android.widget.ImageView;
/**
@@ -29,9 +30,11 @@ public class BlinkAnimationUtil {
//消除动画
public static void clearAnimation(ImageView imageView){
if (imageView.getAnimation() != null){
imageView.getAnimation().cancel();
Animation animation = imageView.getAnimation();
if (animation != null){
animation.cancel();
}
imageView.clearAnimation();
imageView.setAnimation(null);
}
}