* 'dev_1.1.2' of http://gitlab.zhidaoauto.com/ecos/yycp-service/Launcher:
  opt
This commit is contained in:
liujing
2020-08-11 19:18:10 +08:00
66 changed files with 209 additions and 38 deletions

View File

@@ -67,6 +67,7 @@ import com.mogo.module.tanlu.model.NaviResult;
import com.mogo.module.tanlu.model.PathLineResult;
import com.mogo.module.tanlu.model.TanluModelData;
import com.mogo.module.tanlu.model.VoiceCmdData;
import com.mogo.module.tanlu.model.event.CloseWindowInfo;
import com.mogo.module.tanlu.model.event.ControlClickUpInfo;
import com.mogo.module.tanlu.model.event.DataErrorInfo;
import com.mogo.module.tanlu.model.event.GetInfoError;
@@ -448,6 +449,16 @@ public class TanluListWindow extends RelativeLayout implements IMogoMarkerClickL
}
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onCloseWindow(final CloseWindowInfo event) {
if (event == null) {
return;
}
releaseTimer();
TanluServiceManager.getIMogoTopViewManager().removeView(TanluListWindow.this);
}
/**
* poi 搜索
*

View File

@@ -23,7 +23,9 @@ import com.mogo.module.tanlu.R;
import com.mogo.module.tanlu.callback.IThumbsUpCallback;
import com.mogo.module.tanlu.constant.TanluConstants;
import com.mogo.module.tanlu.model.TanluModelData;
import com.mogo.module.tanlu.model.event.CloseWindowInfo;
import com.mogo.module.tanlu.model.event.ControlClickUpInfo;
import com.mogo.module.tanlu.model.event.DataErrorInfo;
import com.mogo.module.tanlu.model.event.StartPlayInfo;
import com.mogo.module.tanlu.model.event.VoiceControlUpInfo;
import com.mogo.module.tanlu.util.ChartUtil;
@@ -71,6 +73,7 @@ public class TanluSlideAdapterNew extends RecyclerView.Adapter<TanluSlideViewHol
private LinearLayout mLikeLayout;
private TextView mTypeTv;
private IMogoImageloader mogoImageloader;
private ImageView mCloseImage;
//media
private GSYVideoOptionBuilder gsyVideoOptionBuilder = new GSYVideoOptionBuilder();
@@ -117,6 +120,14 @@ public class TanluSlideAdapterNew extends RecyclerView.Adapter<TanluSlideViewHol
mLikeImage = holder.itemView.findViewById(R.id.tanlu_like_imageView);
mLikeLayout = holder.itemView.findViewById(R.id.tanlu_like_layout);
mTypeTv = holder.itemView.findViewById(R.id.tv_information_type);
mCloseImage = holder.itemView.findViewById(R.id.tanlu_close_imageView);
mCloseImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EventBus.getDefault().post(new CloseWindowInfo());
}
});
//有可能不是一个对象
simpleCoverVideoPlayer.setVisibility(View.VISIBLE);

View File

@@ -0,0 +1,15 @@
package com.mogo.module.tanlu.model.event;
import java.io.Serializable;
/**
* @author lixiaopeng
* @description push区分类别
* @since 2020-01-08
*/
public class CloseWindowInfo implements Serializable {
public CloseWindowInfo() {
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/icon_window_close_press" android:state_pressed="true" />
<item android:drawable="@drawable/icon_window_close_normal" android:state_pressed="false" />
<item android:drawable="@drawable/icon_window_close_normal" />
</selector>

View File

@@ -159,6 +159,15 @@
android:src="@drawable/icon_heart_like" />
</LinearLayout>
<ImageView
android:id="@+id/tanlu_close_imageView"
android:layout_width="@dimen/tanlu_module_close_height"
android:layout_height="@dimen/tanlu_module_close_height"
android:layout_centerInParent="true"
android:layout_alignParentRight="true"
android:layout_marginRight="@dimen/tanlu_module_margin_right"
android:src="@drawable/selector_btn_close" />
</RelativeLayout>
</RelativeLayout>

View File

@@ -80,6 +80,7 @@
<dimen name="tanlu_module_card_height">350px</dimen>
<dimen name="tanlu_module_card_video_width">480px</dimen>
<dimen name="tanlu_module_card_video_height">320px</dimen>
<dimen name="tanlu_module_close_height">45px</dimen>
<dimen name="tanlu_module_card_margin_top">23px</dimen>
<dimen name="tanlu_module_card_margin_left">15px</dimen>

View File

@@ -80,6 +80,7 @@
<dimen name="tanlu_module_card_height">194px</dimen>
<dimen name="tanlu_module_card_video_width">266px</dimen>
<dimen name="tanlu_module_card_video_height">194px</dimen>
<dimen name="tanlu_module_close_height">45px</dimen>
<dimen name="tanlu_module_card_margin_top">16px</dimen>
<dimen name="tanlu_module_card_margin_left">8px</dimen>

View File

@@ -79,11 +79,14 @@ public class SurroundingEventAdapter extends RecyclerView.Adapter<SurroundingEve
}
});
//数据绑定 TODO
// Glide.with(mContext)
// .load(R.drawable.icon_car_red)
// .into(mBgImageView);
//数据绑定
Glide.with(mContext)
.load(getTypeRes(surroundingConstruction.getPoiType()))
.into(mBgImageView);
Glide.with(mContext)
.load(getTypeSmallRes(surroundingConstruction.getPoiType()))
.into(mTypeImageView);
}
@Override
@@ -91,34 +94,107 @@ public class SurroundingEventAdapter extends RecyclerView.Adapter<SurroundingEve
return mPoiInfosList == null ? 0 : mPoiInfosList.size();
}
private int getTypeSmallRes(String type) {
int resId = 0;
switch (type) {
case MarkerPoiTypeEnum.TRAFFIC_CHECK:
resId = R.drawable.mogo_image_jiaotongjiancha_small;
break;
case MarkerPoiTypeEnum.ROAD_CLOSED:
resId = R.drawable.mogo_image_fenglu_small;
break;
case MarkerPoiTypeEnum.FOURS_ROAD_WORK:
resId = R.drawable.mogo_image_daolushigong_small;
break;
case MarkerPoiTypeEnum.FOURS_BLOCK_UP:
resId = R.drawable.mogo_image_yongdu_small;
break;
case MarkerPoiTypeEnum.FOURS_PONDING:
resId = R.drawable.mogo_image_jishui_small;
break;
case MarkerPoiTypeEnum.FOURS_ICE:
resId = R.drawable.mogo_image_jiebing_small;
break;
case MarkerPoiTypeEnum.FOURS_FOG:
resId = R.drawable.mogo_image_nongwu_small;
break;
case MarkerPoiTypeEnum.FOURS_ACCIDENT:
resId = R.drawable.mogo_image_accident_small;
break;
case MarkerPoiTypeEnum.FOURS_LIVING:
resId = R.drawable.mogo_image_shishilukuang_small;
break;
default:
resId = R.drawable.mogo_image_shishilukuang_small;
break;
}
return resId;
}
private int getTypeRes(String type) {
int resId = 0;
switch (type) {
case MarkerPoiTypeEnum.TRAFFIC_CHECK:
resId = R.drawable.mogo_image_jiaotongjiancha_nor;
break;
case MarkerPoiTypeEnum.ROAD_CLOSED:
resId = R.drawable.mogo_image_fenglu_nor;
break;
case MarkerPoiTypeEnum.FOURS_ROAD_WORK:
resId = R.drawable.mogo_image_daolushigong_nor;
break;
case MarkerPoiTypeEnum.FOURS_BLOCK_UP:
resId = R.drawable.mogo_image_yongdu_nor;
break;
case MarkerPoiTypeEnum.FOURS_PONDING:
resId = R.drawable.mogo_image_jishui_nor;
break;
case MarkerPoiTypeEnum.FOURS_ICE:
resId = R.drawable.mogo_image_jiebing_nor;
break;
case MarkerPoiTypeEnum.FOURS_FOG:
resId = R.drawable.mogo_image_nongwu_nor;
break;
case MarkerPoiTypeEnum.FOURS_ACCIDENT:
resId = R.drawable.mogo_image_jiaotongshigu_nor;
break;
case MarkerPoiTypeEnum.FOURS_LIVING:
resId = R.drawable.mogo_image_shishlukuang_nor;
break;
default:
resId = R.drawable.mogo_image_shishlukuang_nor;
break;
}
return resId;
}
private String getTypeName(String type) {
String typeName = "";
switch (type) {
case MarkerPoiTypeEnum.TRAFFIC_CHECK:
typeName = "交通检查";
break;
case MarkerPoiTypeEnum.ROAD_CLOSED:
typeName = "封路";
break;
case MarkerPoiTypeEnum.FOURS_ROAD_WORK:
typeName = "道路施工";
break;
case MarkerPoiTypeEnum.FOURS_BLOCK_UP:
typeName = "道路拥堵";
break;
case MarkerPoiTypeEnum.FOURS_PONDING:
typeName = "道路积水";
break;
case MarkerPoiTypeEnum.FOURS_ICE:
typeName = "路面结冰";
break;
case MarkerPoiTypeEnum.FOURS_FOG:
typeName = "出现浓雾";
break;
case MarkerPoiTypeEnum.TRAFFIC_CHECK:
typeName = "交通检查";
break;
case MarkerPoiTypeEnum.FOURS_ACCIDENT:
typeName = "交通事故";
break;
case MarkerPoiTypeEnum.FOURS_BLOCK_UP:
typeName = "道路拥堵";
break;
case MarkerPoiTypeEnum.FOURS_ROAD_WORK:
typeName = "道路施工";
break;
case MarkerPoiTypeEnum.FOURS_PONDING:
typeName = "道路积水";
break;
case MarkerPoiTypeEnum.FOURS_LIVING:
typeName = "实时路况";
break;
@@ -130,5 +206,4 @@ public class SurroundingEventAdapter extends RecyclerView.Adapter<SurroundingEve
}
}

View File

@@ -25,6 +25,7 @@ import com.mogo.commons.voice.AIAssist;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.anim.OnMarkerAnimationListener;
import com.mogo.module.common.entity.MarkerExploreWay;
import com.mogo.module.common.entity.MarkerPoiTypeEnum;
import com.mogo.module.common.entity.MarkerShowEntity;
import com.mogo.module.service.ServiceConst;
import com.mogo.module.v2x.R;
@@ -34,6 +35,7 @@ import com.mogo.module.v2x.entity.panel.SurroundingConstruction;
import com.mogo.module.v2x.listener.SurroundingItemClickListener;
import com.mogo.module.v2x.presenter.SurroundingEventPresenter;
import com.mogo.module.v2x.view.SurroundingEventView;
import com.mogo.module.v2x.view.SurroundingMarginDecoration;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.MogoServicePaths;
import com.mogo.utils.TipToast;
@@ -88,6 +90,8 @@ public class SurroundingEventFragment extends MvpFragment<SurroundingEventView,
mRecyclerView.setHasFixedSize(true);
mRecyclerView.setOverScrollMode(OVER_SCROLL_NEVER);
GridLayoutManager layoutManage = new GridLayoutManager(getContext(), 2);
int spacingInPixels = getResources().getDimensionPixelSize(R.dimen.module_v2x_surrounding_item_size);
mRecyclerView.addItemDecoration(new SurroundingMarginDecoration(spacingInPixels));
mRecyclerView.setLayoutManager(layoutManage);
mAdapter = new SurroundingEventAdapter(getActivity(), poiInfosList, this);
@@ -149,7 +153,7 @@ public class SurroundingEventFragment extends MvpFragment<SurroundingEventView,
poiInfosList.addAll(handleMapToList(getPoiTypeMap(exploreWayList)));
mAdapter.notifyDataSetChanged();
//总条数 TODO
//总条数
String originStr = String.format(getContext().getResources().getString(R.string.v2x_surrounding_top_brief), exploreWayList.size());
SpannableString spannableString = new SpannableString(originStr);
spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#256BFF")), 7, originStr.length() - 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
@@ -166,7 +170,6 @@ public class SurroundingEventFragment extends MvpFragment<SurroundingEventView,
private Map<String, SurroundingConstruction> getPoiTypeMap(List<MarkerExploreWay> list) {
Map<String, SurroundingConstruction> mPoiTypeMarkers = new HashMap<>();
Log.d(TAG, "getPoiTypeMap list.size() = " + list.size());
for (int i = 0; i < list.size(); i++) {
MarkerExploreWay exploreWay = list.get(i);
if (!mPoiTypeMarkers.containsKey(exploreWay.getPoiType())) {
@@ -187,10 +190,11 @@ public class SurroundingEventFragment extends MvpFragment<SurroundingEventView,
List<SurroundingConstruction> valueList = new ArrayList<>(valueCollection);
Log.d(TAG, "handleMapToList valueList.size() = " + valueList.size());
return valueList;
}
// TODO 排序
/**
* 处理marker的显示
@@ -208,7 +212,7 @@ public class SurroundingEventFragment extends MvpFragment<SurroundingEventView,
V2XServiceManager.getMarkerManager().removeMarkers(ServiceConst.CARD_TYPE_ROAD_CONDITION);
try {
//处理 marker的显示
//处理 marker的显示 TODO 是否需要showbound
List<MarkerExploreWay> exploreWayList = construction.getConstrutList();
Logger.d(TAG, "onItemClickListener exploreWayList.size() = " + exploreWayList.size());
if (exploreWayList != null && exploreWayList.size() > 0) {

View File

@@ -78,7 +78,7 @@ public class SurroundingEventPresenter extends Presenter<SurroundingEventView> {
@Override
public void onSuccess(SurroundingResponse data) {
super.onSuccess(data);
Log.e("SurroundingFragment", "onSuccess ------ ");
Logger.d("SurroundingFragment", "onSuccess ------> ");
if (data != null && data.getResult() != null) {
mView.showSurroudingData(data.getResult().getExploreWay());
}
@@ -87,7 +87,7 @@ public class SurroundingEventPresenter extends Presenter<SurroundingEventView> {
@Override
public void onError(String message, int code) {
super.onError(message, code);
Log.e("SurroundingFragment", "onError message = " + message + " >>> code = " + code);
Logger.e("SurroundingFragment", "onError message = " + message + " >>> code = " + code);
}
});

View File

@@ -0,0 +1,33 @@
package com.mogo.module.v2x.view;
import android.graphics.Rect;
import android.view.View;
import androidx.recyclerview.widget.RecyclerView;
/**
* @author lixiaopeng
* @description
* @since 2020/8/11
*/
public class SurroundingMarginDecoration extends RecyclerView.ItemDecoration {
private int margin ;
public SurroundingMarginDecoration(int space) {
margin = space;
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
outRect.bottom = margin;
//由于每行都只有2个所以第一个都是2的倍数把左边距设为0
if (parent.getChildLayoutPosition(view) % 2 == 0) {
outRect.left = 0;
outRect.right = margin;
} else {
outRect.left = margin;
outRect.right = 0;
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 839 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 787 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 859 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 818 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 977 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 908 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 499 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 790 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 749 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 839 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 787 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 859 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 818 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 977 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 908 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 499 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 790 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 749 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/surrounding_item_bottom_color"/>
<corners android:bottomLeftRadius="@dimen/module_v2x_surrounding_item_bottom_size"
android:bottomRightRadius="@dimen/module_v2x_surrounding_item_bottom_size"/>
</shape>

View File

@@ -20,7 +20,6 @@
android:layout_centerVertical="true"
android:layout_marginLeft="20px"
android:textSize="18px"
android:text="周边5公里共有23条数据 "
android:textColor="@color/white" />
<TextView
@@ -43,8 +42,8 @@
android:id="@+id/list_layout_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="15px"
android:layout_marginBottom="30px"
android:layout_marginTop="10px"
android:layout_marginBottom="20px"
android:layout_below="@+id/layout_top">
<androidx.recyclerview.widget.RecyclerView
@@ -68,7 +67,7 @@
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="59px"
android:src="@drawable/icon_default_black_logo" />
android:src="@drawable/mogo_image_blank_nor" />
<TextView
android:id="@+id/tv_main_empty_1"

View File

@@ -2,21 +2,18 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_root"
android:layout_width="291px"
android:layout_height="173px"
android:padding="8px"
android:background="#FF1B1B">
android:layout_height="173px">
<ImageView
android:id="@+id/iv_event_bg"
android:layout_width="291px"
android:layout_height="130px"
android:scaleType="center"
android:src="@drawable/icon_default_black_logo" />
android:layout_width="280px"
android:layout_height="130px" />
<RelativeLayout
android:layout_below="@+id/iv_event_bg"
android:background="@color/surrounding_item_bottom_color"
android:layout_width="match_parent"
android:background="@drawable/bg_v2x_event_surrounding_item_bottom"
android:layout_width="280px"
android:layout_height="43px">
<ImageView
@@ -43,7 +40,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="22px"
android:layout_marginRight="30px"
android:layout_centerVertical="true"
android:textSize="16px"
android:textColor="@color/transparent_white_30"

View File

@@ -23,5 +23,6 @@
<dimen name="module_v2x_event_distance_title">40px</dimen>
<dimen name="module_v2x_history_event_icon_size">80px</dimen>
<dimen name="module_v2x_surrounding_item_bottom_size">6px</dimen>
</resources>

View File

@@ -24,6 +24,7 @@
<dimen name="module_v2x_event_distance_title">22px</dimen>
<dimen name="module_v2x_history_event_icon_size">40px</dimen>
<dimen name="module_v2x_surrounding_item_bottom_size">6px</dimen>
<dimen name="module_v2x_surrounding_item_size">16px</dimen>
</resources>