diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/network/ParamsUtil.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/network/ParamsUtil.java index 4eb76d1be3..b6645fa28c 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/network/ParamsUtil.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/network/ParamsUtil.java @@ -30,7 +30,7 @@ public class ParamsUtil { public static Map< String, Object > getDynamicParams() { Map< String, Object > params = new ArrayMap(); - final Map location = LocationHelper.getInstance().getLocationProperties(); + final Map< String, Object > location = LocationHelper.getInstance().getLocationProperties(); if ( location != null ) { params.putAll( location ); } @@ -71,7 +71,8 @@ public class ParamsUtil { public static Map< String, Object > getAnalyticsCustomParams() { Map< String, Object > map = new ArrayMap<>(); map.put( "debug", DebugConfig.isDebug() ? 1 : 0 ); - map.put( "systemversion", Utils.getFotaVersion() ); + String fota = Utils.getFotaVersion(); + map.put( "systemversion", TextUtils.isEmpty( fota ) ? DebugConfig.getProductFlavor() : fota ); map.put( "sn", Utils.getSn() ); return map; } diff --git a/gradle.properties b/gradle.properties index 45c439c828..53a1683046 100644 --- a/gradle.properties +++ b/gradle.properties @@ -103,5 +103,5 @@ MOGO_MODULE_SPLASH_NOOP_VERSION = 1.0.0-SNAPSHOT ## 产品库必备配置 applicationId=com.mogo.launcer applicationName=IntelligentPilot -versionCode=80006 -versionName=8.0.6 \ No newline at end of file +versionCode=80007 +versionName=8.0.7-qa_1.1 \ No newline at end of file diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java index b02cbfaee4..aef3a1b430 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java @@ -321,6 +321,7 @@ public class AMapNaviViewWrapper implements IMogoMapView, @Override public void onNaviMapMode( int mode ) { Logger.i( TAG, "mode=" + mode ); + MogoMapListenerHandler.getInstance().onMapModeChanged( mode == 0 ? EnumMapUI.CarUp_2D : EnumMapUI.NorthUP_2D ); } @Override diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/V2XPoiTypeEnum.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/V2XPoiTypeEnum.java index 6624758b81..a972ffe0e6 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/V2XPoiTypeEnum.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/V2XPoiTypeEnum.java @@ -18,14 +18,14 @@ public interface V2XPoiTypeEnum extends MarkerPoiTypeEnum { String ALERT_TRAFFIC_LIGHT_WARNING = "99996"; // 故障车辆 int ALERT_CAR_TROUBLE_WARNING = 20007; + // 疲劳驾驶 + String ALERT_FATIGUE_DRIVING = "99993"; + // 违章停车 + String ALERT_ILLEGAL_PARK = "99992"; // TODO 这里目前是演示DEMO会用到,想着是打算商用,先这么处理的 // 取快递 String ALERT_TRAFFIC_EXPRESS = "99995"; // 顺风车 String ALERT_TRAFFIC_TAXI = "99994"; - // 疲劳驾驶 - String ALERT_FATIGUE_DRIVING = "99993"; - // 违章停车 - String ALERT_ILLEGAL_PARK = "99992"; } diff --git a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/adapter/EventPagerAdapter.kt b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/adapter/EventPagerAdapter.kt index 97d9514975..d958b6bff1 100644 --- a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/adapter/EventPagerAdapter.kt +++ b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/adapter/EventPagerAdapter.kt @@ -3,6 +3,7 @@ package com.zhidao.mogo.module.event.panel.adapter import androidx.fragment.app.Fragment import androidx.viewpager2.adapter.FragmentStateAdapter import com.zhidao.mogo.module.event.panel.fragment.MyShareFragment +import com.zhidao.mogo.module.event.panel.fragment.ShareEventsFragment import com.zhidao.mogo.module.event.panel.fragment.SurroundingEventFragment import com.zhidao.mogo.module.event.panel.fragment.TripRecordFragment @@ -12,7 +13,7 @@ import com.zhidao.mogo.module.event.panel.fragment.TripRecordFragment * @author tongchenfei */ class EventPagerAdapter(fragment: Fragment) : FragmentStateAdapter(fragment) { - private val fragments:Array = arrayOf(TripRecordFragment(), SurroundingEventFragment(), MyShareFragment()) + private val fragments:Array = arrayOf(TripRecordFragment(), SurroundingEventFragment(), ShareEventsFragment()) /** * 目前一共就三个fragment diff --git a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/adapter/ShareEventAdapter.java b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/adapter/ShareEventAdapter.java new file mode 100644 index 0000000000..e782b957ed --- /dev/null +++ b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/adapter/ShareEventAdapter.java @@ -0,0 +1,143 @@ +package com.zhidao.mogo.module.event.panel.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.zhidao.mogo.module.event.panel.R; +import com.zhidao.mogo.module.event.panel.bean.ShareEventDescription; +import com.zhidao.mogo.module.event.panel.bean.ShareEventItem; + +import java.util.ArrayList; + +public class ShareEventAdapter extends RecyclerView.Adapter { + private Context context; + private ArrayList dataArrayList; + private Object Tag = "ShareEventAdapter"; + private final LayoutInflater shareLayoutInflater; + + public static enum ITEM_TYPE { + ITEM_TYPE_NUM_DES, + ITEM_TYPE_SHARE_LIST_ITEM, + ITEM_TYPE_SHARE_EMPTY + } + + public ShareEventAdapter(Context context, ArrayList dataArrayList) { + this.context = context; + this.dataArrayList = dataArrayList; + shareLayoutInflater = LayoutInflater.from(context); + } + + @NonNull + @Override + public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + //根据viewType创建自定义布局 + if (viewType == ITEM_TYPE.ITEM_TYPE_NUM_DES.ordinal()) { + View v = shareLayoutInflater.inflate(R.layout.module_event_panel_share_description, parent, + false); + shareDescriptionViewHolder holder = new shareDescriptionViewHolder(v); + return holder; + } else if ((viewType == ITEM_TYPE.ITEM_TYPE_SHARE_LIST_ITEM.ordinal())) { + View v = shareLayoutInflater.inflate(R.layout.module_event_panel_share_item, parent, + false); + shareItemViewHolder holder = new shareItemViewHolder(v); + return holder; + } else { + View v = shareLayoutInflater.inflate(R.layout.module_event_panel_share_empty, parent, + false); + shareEmptyViewHolder holder = new shareEmptyViewHolder(v); + return holder; + } + + } + + @Override + public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) { + + if (position == 0) { + ShareEventDescription data = new ShareEventDescription(); + data.shareNum = "12"; + data.approveNum = "10"; + + ((shareDescriptionViewHolder) holder).shareNumTextView.setText(data.shareNum); + ((shareDescriptionViewHolder) holder).approveNumTextView.setText(data.approveNum); + + } else { + if (dataArrayList.size() > 0) { + ShareEventItem data = dataArrayList.get(position - 1); + data.usefulNum = "2"; + data.uselessNum = "3"; + ((shareItemViewHolder) holder).caseStyleTextView.setText(data.caseStyle); + ((shareItemViewHolder) holder).caseAddressTextView.setText(data.caseAddress); + ((shareItemViewHolder) holder).caseTimeTextView.setText(data.caseTime); + ((shareItemViewHolder) holder).caseUsefulTextView.setText(data.usefulNum); + ((shareItemViewHolder) holder).caseUselessTextView.setText(data.uselessNum); + } + } + + } + + @Override + public int getItemCount() { + return dataArrayList.size() + dataArrayList.size() > 0 ? 1 : 2; + } + + @Override + public int getItemViewType(int position) { + switch (dataArrayList.size()) { + case 0: + return position == 0 ? ITEM_TYPE.ITEM_TYPE_NUM_DES.ordinal() : ITEM_TYPE.ITEM_TYPE_SHARE_EMPTY.ordinal(); + } + + int type = position == 0 ? ITEM_TYPE.ITEM_TYPE_NUM_DES.ordinal() : ITEM_TYPE.ITEM_TYPE_SHARE_LIST_ITEM.ordinal(); + return type; + } + + /* + * 分享列表 + * */ + class shareItemViewHolder extends RecyclerView.ViewHolder { + private TextView caseStyleTextView; + private TextView caseAddressTextView; + private TextView caseTimeTextView; + private TextView caseUsefulTextView; + private TextView caseUselessTextView; + + public shareItemViewHolder(@NonNull View itemView) { + super(itemView); + caseStyleTextView = itemView.findViewById(R.id.road_case_style); + caseAddressTextView = itemView.findViewById(R.id.road_case_address); + caseTimeTextView = itemView.findViewById(R.id.road_case_share_time); + caseUsefulTextView = itemView.findViewById(R.id.road_case_useful_num); + caseUselessTextView = itemView.findViewById(R.id.road_case_useless_num); + } + } + + /* + * 分享次数,热心指数... + * */ + class shareDescriptionViewHolder extends RecyclerView.ViewHolder { + private TextView shareNumTextView; + private TextView approveNumTextView; + + public shareDescriptionViewHolder(@NonNull View itemView) { + super(itemView); + shareNumTextView = itemView.findViewById(R.id.share_num); + approveNumTextView = itemView.findViewById(R.id.share_approve); + } + } + + /* + * 去分享 + * */ + class shareEmptyViewHolder extends RecyclerView.ViewHolder { + public shareEmptyViewHolder(@NonNull View itemView) { + super(itemView); + } + } +} diff --git a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/bean/ShareEventDescription.java b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/bean/ShareEventDescription.java new file mode 100644 index 0000000000..f8980d92f3 --- /dev/null +++ b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/bean/ShareEventDescription.java @@ -0,0 +1,6 @@ +package com.zhidao.mogo.module.event.panel.bean; + +public class ShareEventDescription { + public String shareNum; + public String approveNum; +} diff --git a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/bean/ShareEventItem.java b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/bean/ShareEventItem.java new file mode 100644 index 0000000000..509492eb58 --- /dev/null +++ b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/bean/ShareEventItem.java @@ -0,0 +1,13 @@ +package com.zhidao.mogo.module.event.panel.bean; + +import java.io.Serializable; + +public class ShareEventItem implements Serializable { + public String caseStyle; + public String caseAddress; + public String caseTime; + public String usefulNum; + public String uselessNum; +} + + diff --git a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/fragment/MyShareFragment.kt b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/fragment/MyShareFragment.kt index 2d759ded94..06c387766a 100644 --- a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/fragment/MyShareFragment.kt +++ b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/fragment/MyShareFragment.kt @@ -10,7 +10,7 @@ class MyShareFragment : MvpFragment() { * * @return */ - override fun getLayoutId(): Int = R.layout.module_event_panel_fragment_my_share + override fun getLayoutId(): Int = R.layout.module_event_panel_share_item /** * 初始化控件,必须在初始化完成之后才可以实例化presenter,避免 diff --git a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/fragment/ShareEventsFragment.java b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/fragment/ShareEventsFragment.java new file mode 100644 index 0000000000..0ec47f825f --- /dev/null +++ b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/fragment/ShareEventsFragment.java @@ -0,0 +1,71 @@ +package com.zhidao.mogo.module.event.panel.fragment; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.mogo.commons.mvp.MvpFragment; +import com.zhidao.mogo.module.event.panel.R; +import com.zhidao.mogo.module.event.panel.adapter.ShareEventAdapter; +import com.zhidao.mogo.module.event.panel.bean.ShareEventItem; +import com.zhidao.mogo.module.event.panel.presenter.ShareEventsPresenter; + +import java.util.ArrayList; + +public class ShareEventsFragment extends MvpFragment { + + private RecyclerView recyclerView; + private View view; + private ShareEventAdapter adapter; + private ArrayList dataArrayList = new ArrayList(); + + @Override + protected int getLayoutId() { + return R.layout.module_event_panel_share_recylerview; + } + + @Override + protected void initViews() { + + } + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + view = inflater.inflate(R.layout.module_event_panel_share_recylerview, container, false); + initRecyclerView(); + initData(); + return view; + } + + private void initRecyclerView() { + recyclerView = view.findViewById(R.id.road_case_share_list); + adapter = new ShareEventAdapter(getActivity(),dataArrayList); + recyclerView.setAdapter(adapter); + LinearLayoutManager linearLayoutManager = + new LinearLayoutManager( getActivity(), LinearLayoutManager.VERTICAL, false ); + recyclerView.setLayoutManager(linearLayoutManager); + } + + private void initData() { +// for (int i = 0; i < 12; i++) { +// ShareEventItem data = new ShareEventItem(); +// data.caseStyle = "道路拥堵"; +// data.caseAddress = "环球贸易中心"; +// data.caseTime = "2020-07-21 12:00:00"; +// dataArrayList.add(data); +// } + } + + @NonNull + @Override + protected ShareEventsPresenter createPresenter() { + return new ShareEventsPresenter(this); + } +} diff --git a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/presenter/ShareEventsPresenter.java b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/presenter/ShareEventsPresenter.java new file mode 100644 index 0000000000..4538dd7a7d --- /dev/null +++ b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/presenter/ShareEventsPresenter.java @@ -0,0 +1,11 @@ +package com.zhidao.mogo.module.event.panel.presenter; + +import com.mogo.commons.mvp.IView; +import com.mogo.commons.mvp.Presenter; +import com.zhidao.mogo.module.event.panel.fragment.ShareEventsFragment; + +public class ShareEventsPresenter extends Presenter { + public ShareEventsPresenter(IView view) { + super((ShareEventsFragment) view); + } +} diff --git a/modules/mogo-module-event-panel/src/main/res/layout/module_event_panel_fragment_my_share.xml b/modules/mogo-module-event-panel/src/main/res/layout/module_event_panel_fragment_my_share.xml deleted file mode 100644 index 3a5d7413a6..0000000000 --- a/modules/mogo-module-event-panel/src/main/res/layout/module_event_panel_fragment_my_share.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - \ No newline at end of file diff --git a/modules/mogo-module-event-panel/src/main/res/layout/module_event_panel_share_description.xml b/modules/mogo-module-event-panel/src/main/res/layout/module_event_panel_share_description.xml new file mode 100644 index 0000000000..864ddbe8fb --- /dev/null +++ b/modules/mogo-module-event-panel/src/main/res/layout/module_event_panel_share_description.xml @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-event-panel/src/main/res/layout/module_event_panel_share_empty.xml b/modules/mogo-module-event-panel/src/main/res/layout/module_event_panel_share_empty.xml new file mode 100644 index 0000000000..98c49f2548 --- /dev/null +++ b/modules/mogo-module-event-panel/src/main/res/layout/module_event_panel_share_empty.xml @@ -0,0 +1,37 @@ + + + + + + + + + +