From bb17572feac076b75524c2af6ce2a15c90e9243d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Thu, 24 Dec 2020 17:34:20 +0800 Subject: [PATCH 01/21] =?UTF-8?q?=E5=85=B3=E9=97=AD=E4=BA=86=E8=B0=83?= =?UTF-8?q?=E8=AF=95=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/module/v2x/alarm/V2XAlarmServer.java | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/alarm/V2XAlarmServer.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/alarm/V2XAlarmServer.java index ef7ce042d4..d42c409a80 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/alarm/V2XAlarmServer.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/alarm/V2XAlarmServer.java @@ -111,19 +111,19 @@ public class V2XAlarmServer { } // 进行提醒 if (!isAlreadyAlert) { - Logger.w(MODULE_NAME, "V2X预警--车辆与事件信息:" + - "\n事件详情ID:" + v2XRoadEventEntity.getNoveltyInfo().getInfoId() + - "\n事件详情:" + GsonUtil.jsonFromObject(v2XRoadEventEntity.getNoveltyInfo()) + - "\n距离:" + v2XRoadEventEntity.getDistance() + "米" + - "\n是否已经提醒:" + isAlreadyAlert + - "\n当前车辆-经度:" + currentLocation.getLongitude() + - "\n当前车辆-经度:" + currentLocation.getLatitude() + - "\n当前车辆-角度:" + currentLocation.getBearing() + - "\n道路事件-经度:" + eventLocation.getLon() + - "\n道路事件-经度:" + eventLocation.getLat() + - "\n道路事件-角度:" + eventLocation.getAngle() + - "\n夹角角度:" + eventAngle + " 度" - ); +// Logger.w(MODULE_NAME, "V2X预警--车辆与事件信息:" + +// "\n事件详情ID:" + v2XRoadEventEntity.getNoveltyInfo().getInfoId() + +// "\n事件详情:" + GsonUtil.jsonFromObject(v2XRoadEventEntity.getNoveltyInfo()) + +// "\n距离:" + v2XRoadEventEntity.getDistance() + "米" + +// "\n是否已经提醒:" + isAlreadyAlert + +// "\n当前车辆-经度:" + currentLocation.getLongitude() + +// "\n当前车辆-经度:" + currentLocation.getLatitude() + +// "\n当前车辆-角度:" + currentLocation.getBearing() + +// "\n道路事件-经度:" + eventLocation.getLon() + +// "\n道路事件-经度:" + eventLocation.getLat() + +// "\n道路事件-角度:" + eventLocation.getAngle() + +// "\n夹角角度:" + eventAngle + " 度" +// ); mAlertRoadEventList.put(v2XRoadEventEntity, TimeUtils.getNowString()); return v2XRoadEventEntity; } @@ -141,13 +141,13 @@ public class V2XAlarmServer { // ); } } else { - Logger.w(MODULE_NAME, - "V2X预警--车头方向与事件方向角度不一致:" + - "\n事件详情:" + v2XRoadEventEntity.getNoveltyInfo().getInfoId() + - "\n车头方向: " + carBearing + - "\n事件方向:" + eventBearing + - "\n角度差值:" + diffAngle - ); +// Logger.w(MODULE_NAME, +// "V2X预警--车头方向与事件方向角度不一致:" + +// "\n事件详情:" + v2XRoadEventEntity.getNoveltyInfo().getInfoId() + +// "\n车头方向: " + carBearing + +// "\n事件方向:" + eventBearing + +// "\n角度差值:" + diffAngle +// ); } } else { // Logger.w(MODULE_NAME, "V2X预警--车辆距离事件距离大于500米了:" + @@ -156,10 +156,10 @@ public class V2XAlarmServer { // ); } } else { - Logger.e(MODULE_NAME, - "V2X预警--道路事件没有角度信息" + - "\n事件详情:" + v2XRoadEventEntity.getNoveltyInfo().getInfoId() - ); +// Logger.e(MODULE_NAME, +// "V2X预警--道路事件没有角度信息" + +// "\n事件详情:" + v2XRoadEventEntity.getNoveltyInfo().getInfoId() +// ); } } } From 3ff4e475a1f1fa091b7982e89b558a2023063e11 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 24 Dec 2020 18:56:16 +0800 Subject: [PATCH 02/21] wait to refresh code --- .idea/gradle.xml | 1 - gradle.properties | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.idea/gradle.xml b/.idea/gradle.xml index cfc605c98e..b892d6479b 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -84,7 +84,6 @@ diff --git a/gradle.properties b/gradle.properties index 5977d55cae..72a14f2bd8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -138,11 +138,11 @@ HTTPDNS_NOOP_VERSION = 2.0.12 ######## 外部依赖引用 # 车聊聊 -CARCHATTING_VERSION=2.2.35 +CARCHATTING_VERSION=2.2.41 # 车聊聊接口 CARCHATTINGPROVIDER_VERSION=1.1.8 # websocket -WEBSOCKET_VERSION=1.1.2 +WEBSOCKET_VERSION=1.1.7 # loglib LOGLIB_VERSION = 1.0.4 From a96dcf19e095807fde3a67ba93d8de057c77b2df Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Thu, 24 Dec 2020 20:30:54 +0800 Subject: [PATCH 03/21] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=B5=84=E6=BA=90http-?= =?UTF-8?q?dns=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/gradle.xml | 1 + .../java/com/freedom/app2/MainActivity.java | 7 +- .../java/com/mogo/httpdns/HttpDnsConst.java | 4 + .../java/com/mogo/httpdns/IMogoHttpDns.java | 68 +++++++--- foudations/httpdns-mogo/.gitignore | 1 + foudations/httpdns-mogo/build.gradle | 48 +++++++ foudations/httpdns-mogo/consumer-rules.pro | 0 foudations/httpdns-mogo/gradle.properties | 3 + foudations/httpdns-mogo/proguard-rules.pro | 21 +++ .../httpdns/mogo/ExampleInstrumentedTest.java | 26 ++++ .../httpdns-mogo/src/main/AndroidManifest.xml | 5 + .../com/mogo/httpdns/mogo/MogoHttpDns.java | 123 ++++++++++++++++++ .../mogo/httpdns/mogo/ExampleUnitTest.java | 17 +++ .../mogo/httpdns/tencent/TencentHttpDns.java | 31 ++++- .../base/websocket/WebSocketConstant.java | 5 +- .../base/websocket/WebSocketDnsManager.java | 11 +- modules/mogo-module-common/build.gradle | 1 - .../module/common/utils/MogoHttpDnsUtil.java | 64 --------- .../module/main/service/MogoMainService.java | 4 - settings.gradle | 1 + 20 files changed, 338 insertions(+), 103 deletions(-) create mode 100644 foudations/httpdns-mogo/.gitignore create mode 100644 foudations/httpdns-mogo/build.gradle create mode 100644 foudations/httpdns-mogo/consumer-rules.pro create mode 100644 foudations/httpdns-mogo/gradle.properties create mode 100644 foudations/httpdns-mogo/proguard-rules.pro create mode 100644 foudations/httpdns-mogo/src/androidTest/java/com/mogo/httpdns/mogo/ExampleInstrumentedTest.java create mode 100644 foudations/httpdns-mogo/src/main/AndroidManifest.xml create mode 100644 foudations/httpdns-mogo/src/main/java/com/mogo/httpdns/mogo/MogoHttpDns.java create mode 100644 foudations/httpdns-mogo/src/test/java/com/mogo/httpdns/mogo/ExampleUnitTest.java delete mode 100644 modules/mogo-module-common/src/main/java/com/mogo/module/common/utils/MogoHttpDnsUtil.java diff --git a/.idea/gradle.xml b/.idea/gradle.xml index cfc605c98e..8efbfa420e 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -16,6 +16,7 @@ diff --git a/gradle.properties b/gradle.properties index 5977d55cae..72a14f2bd8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -138,11 +138,11 @@ HTTPDNS_NOOP_VERSION = 2.0.12 ######## 外部依赖引用 # 车聊聊 -CARCHATTING_VERSION=2.2.35 +CARCHATTING_VERSION=2.2.41 # 车聊聊接口 CARCHATTINGPROVIDER_VERSION=1.1.8 # websocket -WEBSOCKET_VERSION=1.1.2 +WEBSOCKET_VERSION=1.1.7 # loglib LOGLIB_VERSION = 1.0.4 From 14cd989b1ac5cf39cb9e2b78dddc8857d1a4d7ae Mon Sep 17 00:00:00 2001 From: liujing Date: Fri, 25 Dec 2020 10:39:16 +0800 Subject: [PATCH 07/21] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E5=BC=B9=E6=A1=86?= =?UTF-8?q?=E4=B8=8D=E5=8C=BA=E5=88=86=E7=99=BD=E5=A4=9C=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?,=E6=96=87=E5=AD=97=E6=98=BE=E7=A4=BA=E7=99=BD=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v2x/adapter/holder/V2XRoadEventVH.java | 34 ++++++++++++++++++- .../res/layout/item_v2x_event_detail_vr.xml | 6 ++-- .../res/layout/item_v2x_fault_help_vr.xml | 6 ++-- 3 files changed, 39 insertions(+), 7 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XRoadEventVH.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XRoadEventVH.java index 8b61879c5f..f4f30a5f05 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XRoadEventVH.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XRoadEventVH.java @@ -2,9 +2,12 @@ package com.mogo.module.v2x.adapter.holder; import android.content.Context; import android.content.Intent; +import android.graphics.drawable.Drawable; import android.text.TextUtils; import android.util.Log; +import android.view.Gravity; import android.view.LayoutInflater; +import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; @@ -13,6 +16,7 @@ import android.widget.TextView; import com.bumptech.glide.Glide; import com.bumptech.glide.request.RequestOptions; import com.mogo.commons.debug.DebugConfig; +import com.mogo.module.common.animation.BezierAnimationView; import com.mogo.module.common.entity.MarkerExploreWay; import com.mogo.module.common.entity.MarkerUserInfo; import com.mogo.module.common.entity.V2XEventShowEntity; @@ -76,6 +80,8 @@ public class V2XRoadEventVH extends V2XBaseViewHolder { private ImageView ivEventReportErr; private HeartLikeView ivEventZan; + private ViewGroup mViewGroup; + // 上传事件的用户信息 private MarkerUserInfo mUserInfo; @@ -148,6 +154,7 @@ public class V2XRoadEventVH extends V2XBaseViewHolder { LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item_v2x_event_detail, viewGroup, false) , v2XWindow); mContext = viewGroup.getContext(); + mViewGroup = viewGroup; init(itemView); // 设置视图状态监听 itemView.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() { @@ -261,7 +268,8 @@ public class V2XRoadEventVH extends V2XBaseViewHolder { .registerUnWakeVoice(V2XVoiceConstants.COMMAND_ZHIDAO_V2X_OPEN_LIVE_UN_WAKEUP, v2XVoiceOpenLiveListener); ivEventLive.setOnClickListener(v -> { - showLiveCar(v2XEventShowEntity); + getCoordinateForFather(ivEventLive); +// showLiveCar(v2XEventShowEntity); }); } else { ivEventLive.setVisibility(GONE); @@ -306,6 +314,30 @@ public class V2XRoadEventVH extends V2XBaseViewHolder { } } + private void getCoordinateForFather(View view) { + try { + float f_top = view.getTop();//view自身的顶边到其父布局顶边的距离 + float f_left = view.getY();//view自身的左边到其父布局左边的距离 + float f_right = view.getRight();//view自身的右边到其父布局左边的距离 + float f_bottom = view.getBottom();//view自身的底边到其父布局顶边的距离 + float x_left = view.getX();//点击事件距离控件左边的距离 + float y_top = view.getTop();//点击事件距离控件顶边的距离 + + Log.d("getCoordinateForFather", "f_top:" + f_top + "f_left:" + f_left + "f_right:" + + f_right + "f_bottom:" + f_bottom + "x_left:" + x_left + "y_top:" + y_top); + + //动态添加贝塞尔动画view + BezierAnimationView bezierAnimationView = new BezierAnimationView(mContext); + Drawable drawable = mContext.getResources().getDrawable(R.drawable.bg_v2x_event_type_orange_vr); + bezierAnimationView.setBackground(drawable); + mViewGroup.addView(bezierAnimationView, 20, 20); + bezierAnimationView.setGravity(Gravity.CENTER); + + } catch (Exception e) { + + } + } + /* * 展示事件的图片/视频资源 * */ diff --git a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_detail_vr.xml b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_detail_vr.xml index 2e010d7624..c4f2fd14aa 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_detail_vr.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_detail_vr.xml @@ -187,7 +187,7 @@ app:layout_constraintBottom_toBottomOf="@+id/ivEventLive" app:layout_constraintStart_toEndOf="@id/ivEventEventNav" app:layout_goneMarginLeft="@dimen/dp_10" - tools:visibility="visible" /> + tools:visibility="visible"/> @@ -198,8 +198,8 @@ android:layout_marginStart="@dimen/dp_15" android:layout_marginTop="@dimen/dp_5" android:layout_marginBottom="4dp" - android:maxLines="2" - android:textColor="@color/v2x_FFF_333" + android:maxLines="1" + android:textColor="#FFFFFF" android:textSize="@dimen/dp_40" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="parent" diff --git a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fault_help_vr.xml b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fault_help_vr.xml index df06979f90..40dd6507ab 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fault_help_vr.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fault_help_vr.xml @@ -59,7 +59,7 @@ android:layout_height="wrap_content" android:layout_marginStart="@dimen/dp_20" android:layout_marginTop="@dimen/dp_15" - android:textColor="@color/v2x_FFF_333" + android:textColor="#FFFFFF" android:textSize="@dimen/dp_40" android:textStyle="bold" app:layout_constraintStart_toEndOf="@id/ivFaultHelpHead" @@ -73,7 +73,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:alpha="0.59" - android:textColor="@color/v2x_FFF_999" + android:textColor="#FFFFFF" android:textSize="@dimen/dp_24" app:layout_constraintStart_toStartOf="@id/tvFaultHelpName" app:layout_constraintTop_toBottomOf="@id/tvFaultHelpName" @@ -87,7 +87,7 @@ android:layout_height="wrap_content" android:layout_marginEnd="@dimen/dp_42" android:gravity="center_vertical" - android:textColor="@color/v2x_FFF_333" + android:textColor="#FFFFFF" android:textSize="@dimen/dp_70" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="@+id/ivFaultHelpEventCall" From 61f6ff3a95dbd486518e69d9d69c5280ada4ac54 Mon Sep 17 00:00:00 2001 From: liujing Date: Fri, 25 Dec 2020 11:24:25 +0800 Subject: [PATCH 08/21] =?UTF-8?q?=E5=B8=A7=E5=8A=A8=E7=94=BB=E6=94=AF?= =?UTF-8?q?=E6=8C=81[=E6=96=B9=E6=B3=95=E4=BC=A0=E5=8F=82=E8=A2=AB?= =?UTF-8?q?=E6=B3=A8,showinwindow=E6=96=B9=E6=B3=95=E6=9B=BF=E6=8D=A2]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../map/impl/custom/utils/ObjectUtils.java | 4 ++-- .../manager/impl/MoGoV2XMarkerManager.java | 20 ++++++++++--------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/utils/ObjectUtils.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/utils/ObjectUtils.java index 2639322021..29574c7749 100644 --- a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/utils/ObjectUtils.java +++ b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/utils/ObjectUtils.java @@ -72,8 +72,8 @@ public class ObjectUtils { MarkerOptions markerOptions = new MarkerOptions() .position(new LonLatPoint(opt.getLongitude(), opt.getLatitude())) .anchor(opt.getU(), opt.getV()) -// .icons( descriptors ) -// .period( opt.getPeriod() ) + .icons( descriptors ) + .period( opt.getPeriod() ) .rotateAngle(opt.getRotate()) .setFlat(opt.isFlat()) .visible(opt.isVisible()) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XMarkerManager.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XMarkerManager.java index ddba430565..6bcd120cee 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XMarkerManager.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XMarkerManager.java @@ -60,6 +60,7 @@ public class MoGoV2XMarkerManager implements IMoGoV2XMarkerManager { private static CopyOnWriteArraySet mV2XRoadEventEntityArrayList = new CopyOnWriteArraySet<>(); // 上次的道路事件的预警Marker private static IMogoMarker mAlarmInfoMarker; + @Override public void drawableLastAllPOI() { //Logger.w(MODULE_NAME, "V2X---绘制上一次的POI,回调给Launcher底层逻辑让其进行绘制"); @@ -257,19 +258,20 @@ public class MoGoV2XMarkerManager implements IMoGoV2XMarkerManager { .longitude(roadEventEntity.getLocation().getLon()); optionsRipple.anchor(0.5f, 0.5f); - // 由于性能问题,D车机不使用事件扩散动画 + //由于性能问题,D车机不使用事件扩散动画 + //showInfoWindow只支持添加单个marker,不支持帧动画 if (!CarSeries.isF8xxSeries()) { optionsRipple.icon(V2XMarkerAdapter.getV2XRoadEventViewPng(context, roadEventEntity)); + if (V2XServiceManager.getMoGoStatusManager().isVrMode()) { + mAlarmInfoMarker = MarkerDrawer.getInstance().drawMapMarkerImpl(markerShowEntity, MarkerDrawer.MARKER_Z_INDEX_HIGH, null); + mAlarmInfoMarker.setInfoWindowAdapter(new RoadConditionInfoWindow3DAdapter(markerShowEntity, AbsMogoApplication.getApp(), mAlarmInfoMarker.getMogoMarkerOptions())); + mAlarmInfoMarker.showInfoWindow(); + } else { + mAlarmInfoMarker = V2XServiceManager.getMarkerManager().addMarker(V2X_EVENT_ALARM_POI, optionsRipple); + } } else { optionsRipple.icons(V2XMarkerAdapter.getV2XRoadEventViewGif(context, roadEventEntity)); - optionsRipple.period(1); - } - if (V2XServiceManager.getMoGoStatusManager().isVrMode()) { - mAlarmInfoMarker = MarkerDrawer.getInstance().drawMapMarkerImpl(markerShowEntity, MarkerDrawer.MARKER_Z_INDEX_HIGH, null); - mAlarmInfoMarker.setInfoWindowAdapter(new RoadConditionInfoWindow3DAdapter(markerShowEntity, AbsMogoApplication.getApp(), mAlarmInfoMarker.getMogoMarkerOptions())); - mAlarmInfoMarker.showInfoWindow(); - } else{ -// optionsRipple.icon(V2XMarkerAdapter.getV2XRoadEventViewPng(context, roadEventEntity)); + optionsRipple.period(100); mAlarmInfoMarker = V2XServiceManager.getMarkerManager().addMarker(V2X_EVENT_ALARM_POI, optionsRipple); } // 当前Marker设置为最上面 From e81c534eae88dc93f874be9a8a88720c247961e6 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Fri, 25 Dec 2020 14:31:16 +0800 Subject: [PATCH 09/21] opt --- .../media/widget/CircleNumberProgress.java | 62 +++++-------------- ...le_media_music_window_alert_layout_new.xml | 2 +- 2 files changed, 15 insertions(+), 49 deletions(-) diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/CircleNumberProgress.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/CircleNumberProgress.java index ecd1fa5405..c60be937b1 100644 --- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/CircleNumberProgress.java +++ b/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/CircleNumberProgress.java @@ -3,10 +3,13 @@ package com.mogo.module.media.widget; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.Path; import android.graphics.Rect; import android.graphics.RectF; +import android.graphics.SweepGradient; import android.util.AttributeSet; import android.view.View; @@ -78,7 +81,7 @@ public class CircleNumberProgress extends View { //中间圆的背景颜色 默认为浅紫色 paintUndoneColor = typedArray.getColor(R.styleable.PercentageRing_circleBackground, 0xffafb4db); //外圆环的颜色 默认为深紫色 - paintDoneColor = typedArray.getColor(R.styleable.PercentageRing_ringColor, 0xff6950a1); +// paintDoneColor = typedArray.getColor(R.styleable.PercentageRing_ringColor, Color.parseColor("#e6fffff")); // 构造器中初始化数据 initData(); @@ -100,17 +103,20 @@ public class CircleNumberProgress extends View { paintUndone.setStyle(Paint.Style.STROKE); // 已经完成进度条的画笔的属性 - paintDone.setColor(paintDoneColor); +// paintDone.setColor(paintDoneColor); paintDone.setStrokeWidth(paintProgressWidthPx); paintDone.setAntiAlias(true); paintDone.setStyle(Paint.Style.STROKE); - // 文字的画笔的属性 -// paintText.setColor(paintTextColor); -// paintText.setTextSize(paintTextSizePx); -// paintText.setAntiAlias(true); -// paintText.setStyle(Paint.Style.STROKE); -// paintText.setTypeface(Typeface.DEFAULT_BOLD); + SweepGradient linearGradient = new SweepGradient((getMeasuredWidth() - 40)/2,(getMeasuredHeight() - 40)/2, + new int[]{(Color.parseColor("#B3ffffff")), Color.parseColor("#F2ffffff")}, null); + +// SweepGradient linearGradient = new SweepGradient((getMeasuredWidth())/2,(getMeasuredHeight())/2,new int[]{Color.GREEN, Color.WHITE}, null); + + Matrix matrix = new Matrix(); + matrix.setRotate(180, getMeasuredWidth()/2, getMeasuredHeight()/2); + linearGradient.setLocalMatrix(matrix); + paintDone.setShader(linearGradient); } @@ -147,7 +153,6 @@ public class CircleNumberProgress extends View { // 比较文字高度和圆环宽度,如果文字高度较大,那么文字将突破圆环,否则,圆环会把文字包裹在内部 Rect rect = new Rect(); -// paintText.getTextBounds("100%", 0, "100%".length(), rect); int textHeight = rect.height(); // 得到圆环的中间半径(外径和内径平均值) @@ -156,14 +161,6 @@ public class CircleNumberProgress extends View { rectF.top = viewCenterY - radiusArc; rectF.right = viewCenterX + radiusArc; rectF.bottom = viewCenterY + radiusArc; - - // 文字所依赖路径圆弧的半径 - radiusText = radiusArc - textHeight / 2; - rectF2.left = viewCenterX - radiusText; - rectF2.top = viewCenterY - radiusText; - rectF2.right = viewCenterX + radiusText; - rectF2.bottom = viewCenterY + radiusText; - } @Override @@ -176,37 +173,6 @@ public class CircleNumberProgress extends View { // 画已经完成进度的圆弧 从-90度开始,即从圆环顶部开始 canvas.drawArc(rectF, -90, progress / 100.0f * 360, false, paintDone); - // 为文字所在路径添加一段圆弧轨迹,进度为0%-9%时应该最短,进度为10%-99%时应该边长,进度为100%时应该最长 - // 这样才能保证文字和圆弧的进度一致,不会出现超前或者滞后的情况 - - // 要画的文字 - String text = progress + "%"; - - // 存储字符所有字符所占宽度的数组 - float[] widths = new float[text.length()]; - - // 得到所有字符所占的宽度 -// paintText.getTextWidths(text, 0, text.length(), widths); - - // 所有字符所占宽度之和 - float textWidth = 0; - for (float f : widths) { - textWidth += f; - } - - // 根据长度得到路径对应的扫过的角度 - // width = sweepAngle * 2 * π * R / 360 ; sweepAngle = width * 360 / 2 / - // π / R - float sweepAngle = (float) (textWidth * 360 / 2 / Math.PI / radiusText); - - // 添加路径 - path.addArc(rectF2, progress * 3.6f - 90.0f - sweepAngle / 2.0f, sweepAngle); - - // 绘制进度的文字 -// canvas.drawTextOnPath(text, path, 0, 0, paintText); - - // 重置路径 - path.reset(); } /** diff --git a/modules/mogo-module-media/src/main/res/layout/module_media_music_window_alert_layout_new.xml b/modules/mogo-module-media/src/main/res/layout/module_media_music_window_alert_layout_new.xml index 9766ec9ffb..2469ea2ba7 100644 --- a/modules/mogo-module-media/src/main/res/layout/module_media_music_window_alert_layout_new.xml +++ b/modules/mogo-module-media/src/main/res/layout/module_media_music_window_alert_layout_new.xml @@ -12,9 +12,9 @@ app:layout_constraintTop_toTopOf="parent" app:layout_constraintRight_toRightOf="parent" app:circleBackground="@color/modules_media_music_bg_color" - app:ringColor="@color/modules_media_music_circle_color" android:layout_width="match_parent" android:layout_height="match_parent" /> + From 27b2b045d1228f82fe6331a2b34208a9f75677bb Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Fri, 25 Dec 2020 16:08:20 +0800 Subject: [PATCH 10/21] opt --- .../com/mogo/module/media/widget/CircleNumberProgress.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/CircleNumberProgress.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/CircleNumberProgress.java index c60be937b1..bfda00bc62 100644 --- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/CircleNumberProgress.java +++ b/modules/mogo-module-media/src/main/java/com/mogo/module/media/widget/CircleNumberProgress.java @@ -108,11 +108,11 @@ public class CircleNumberProgress extends View { paintDone.setAntiAlias(true); paintDone.setStyle(Paint.Style.STROKE); + float[] pos = {0f, 0.5f, 1.0f}; SweepGradient linearGradient = new SweepGradient((getMeasuredWidth() - 40)/2,(getMeasuredHeight() - 40)/2, - new int[]{(Color.parseColor("#B3ffffff")), Color.parseColor("#F2ffffff")}, null); - -// SweepGradient linearGradient = new SweepGradient((getMeasuredWidth())/2,(getMeasuredHeight())/2,new int[]{Color.GREEN, Color.WHITE}, null); + new int[]{Color.parseColor("#ffffff"), Color.parseColor("#B3ffffff"), Color.parseColor("#ffffff")}, pos); +// SweepGradient linearGradient = new SweepGradient((getMeasuredWidth() -40)/2,(getMeasuredHeight() - 40)/2,new int[]{Color.GREEN, Color.RED, Color.YELLOW, Color.WHITE, Color.BLUE}, pos); Matrix matrix = new Matrix(); matrix.setRotate(180, getMeasuredWidth()/2, getMeasuredHeight()/2); linearGradient.setLocalMatrix(matrix); From 7757793225989ef9817093a842f4fe77561df968 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Fri, 25 Dec 2020 16:10:38 +0800 Subject: [PATCH 11/21] =?UTF-8?q?=E5=8D=87=E7=BA=A7=E8=87=AA=E7=A0=94?= =?UTF-8?q?=E5=9C=B0=E5=9B=BEsdk=E7=89=88=E6=9C=AC=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=88=87=E6=8D=A2=E5=9C=B0=E5=9B=BE=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F=E9=80=BB=E8=BE=91=EF=BC=88=E9=A1=BA=E4=B9=89=E5=8C=BA?= =?UTF-8?q?=E5=9F=9F=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libraries/map-custom/build.gradle | 4 +- .../mogo/map/impl/custom/AMapViewWrapper.java | 21 +++- .../map/impl/custom/MapStyleController.java | 108 ++++++++++++++++++ 3 files changed, 130 insertions(+), 3 deletions(-) create mode 100644 libraries/map-custom/src/main/java/com/mogo/map/impl/custom/MapStyleController.java diff --git a/libraries/map-custom/build.gradle b/libraries/map-custom/build.gradle index f514411412..377804e0b4 100644 --- a/libraries/map-custom/build.gradle +++ b/libraries/map-custom/build.gradle @@ -67,8 +67,8 @@ dependencies { implementation project(':foudations:mogo-commons') } -// implementation 'com.zhidaoauto.machine:map:1.0.0-vr-7.4.5' - implementation 'com.zhidaoauto.machine:map:1.0.0-vr-7.4.5-log-1' + implementation 'com.zhidaoauto.machine:map:1.0.0-vr-7.4.6' +// implementation 'com.zhidaoauto.machine:map:1.0.0-vr-7.4.5-log-1' } apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString() diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java index 6f2926e740..1a4e6f9297 100644 --- a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java +++ b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java @@ -62,7 +62,8 @@ public class AMapViewWrapper implements IMogoMapView, OnMapClickListener, OnMapTouchListener, OnMarkClickListener, - OnMapStyleListener { + OnMapStyleListener, + MapStyleController.IMapStyleAutoChangedListener { private static final String TAG = "AMapViewWrapper"; private final MapAutoView mMapView; @@ -684,6 +685,7 @@ public class AMapViewWrapper implements IMogoMapView, } NaviClient.getInstance( getContext() ).syncCarLocation( sysLocation ); + MapStyleController.getInstance().onLocationChanged( location, this ); } @Override @@ -797,4 +799,21 @@ public class AMapViewWrapper implements IMogoMapView, public void testGpsData() { GpsTester.getInstance().testGpsData(); } + + @Override + public void onStyleAutoChanged( boolean isVrMode ) { + if ( isVrMode ) { + if ( mCurrentUI != EnumMapUI.Type_VR ) { + changeZoom( 20 ); + changeMapMode( EnumMapUI.Type_VR ); + Logger.d( TAG, "自动切换为vr模式" ); + } + } else { + if ( mCurrentUI == EnumMapUI.Type_VR ) { + changeZoom( 16 ); + changeMapMode( EnumMapUI.Type_Night ); + Logger.d( TAG, "自动切换为2D模式" ); + } + } + } } diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/MapStyleController.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/MapStyleController.java new file mode 100644 index 0000000000..4a081d996f --- /dev/null +++ b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/MapStyleController.java @@ -0,0 +1,108 @@ +package com.mogo.map.impl.custom; + + +import com.zhidaoauto.map.sdk.open.location.MogoLocation; + +import java.util.ArrayList; +import java.util.List; + +public +/** + * @author congtaowang + * @since 2020/12/25 + * + * 地图样式控制 + */ +class MapStyleController { + + + private static volatile MapStyleController sInstance; + + private boolean mIsInVrMode = false; + + private List< VrAreaFilter > mVrAreaFilters = new ArrayList<>(); + + private MapStyleController() { + mVrAreaFilters.add( new ShunYiArea() ); + } + + public static MapStyleController getInstance() { + if ( sInstance == null ) { + synchronized ( MapStyleController.class ) { + if ( sInstance == null ) { + sInstance = new MapStyleController(); + } + } + } + return sInstance; + } + + public synchronized void release() { + sInstance = null; + } + + private Object readResolve() { + // 阻止反序列化,必须实现 Serializable 接口 + return sInstance; + } + + public void onLocationChanged( MogoLocation location, IMapStyleAutoChangedListener listener ) { + if ( location == null ) { + return; + } + + boolean isInVrMode = false; + for ( VrAreaFilter vrAreaFilter : mVrAreaFilters ) { + if ( vrAreaFilter == null ) { + continue; + } + isInVrMode |= vrAreaFilter.isVrArea( location ); + if ( isInVrMode ) { + break; + } + } + if ( isInVrMode ) { + if ( !mIsInVrMode ) { + // 第一次进入 vr 区域,自动变为 vr 模式 + mIsInVrMode = true; + if ( listener != null ) { + listener.onStyleAutoChanged( true ); + } + } + } else { + if ( mIsInVrMode ) { + // 驶出 vr 区域,自动变为 2d 模式 + mIsInVrMode = false; + if ( listener != null ) { + listener.onStyleAutoChanged( false ); + } + } + } + } + + public interface IMapStyleAutoChangedListener { + void onStyleAutoChanged( boolean isVrMode ); + } + + public interface VrAreaFilter { + boolean isVrArea( MogoLocation location ); + } + + public static class ShunYiArea implements VrAreaFilter { + + // 顺义一期高精地图范围(目前圈定了一个矩形区域,认为都是高精地图区域) + private final double leftBottomLat = 40.18728; + private final double leftBottomLon = 116.71194; + private final double rightTopLat = 40.20671; + private final double rightTopLon = 116.74804; + + @Override + public boolean isVrArea( MogoLocation location ) { + if ( location == null ) { + return false; + } + return location.getLat() > leftBottomLat && location.getLon() > leftBottomLon + && location.getLat() < rightTopLat && location.getLon() < rightTopLon; + } + } +} From f05cb42fe5f6ede536d1b895fb0a44e150fde5a4 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Fri, 25 Dec 2020 16:38:23 +0800 Subject: [PATCH 12/21] =?UTF-8?q?online=E6=B8=A0=E9=81=93=E6=9B=BF?= =?UTF-8?q?=E6=8D=A2=E6=88=90mogoHttpDns=EF=BC=8C=E5=85=B6=E4=BB=96?= =?UTF-8?q?=E6=B8=A0=E9=81=93=E4=BD=BF=E7=94=A8httpDnsNoop=EF=BC=8C?= =?UTF-8?q?=E6=9A=82=E6=97=B6=E4=B8=8D=E7=94=A8tencentHttpDns?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/gradle.xml | 1 + app/functions/httpdns.gradle | 28 +++--------- config.gradle | 1 + foudations/httpdns-mogo/build.gradle | 2 +- .../com/mogo/httpdns/mogo/MogoHttpDns.java | 43 +++++++------------ gradle.properties | 1 + 6 files changed, 26 insertions(+), 50 deletions(-) diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 426ff6b360..8efbfa420e 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -85,6 +85,7 @@ diff --git a/app/functions/httpdns.gradle b/app/functions/httpdns.gradle index 176938bc92..9edbf9b3f7 100644 --- a/app/functions/httpdns.gradle +++ b/app/functions/httpdns.gradle @@ -2,28 +2,12 @@ project.dependencies { if (Boolean.valueOf(RELEASE)) { - bydautoImplementation rootProject.ext.dependencies.httpdnsnoop - d82xImplementation rootProject.ext.dependencies.httpdnsnoop - em1Implementation rootProject.ext.dependencies.httpdnsnoop - d8xxImplementation rootProject.ext.dependencies.httpdnsnoop - d80xImplementation rootProject.ext.dependencies.httpdnsnoop - em4Implementation rootProject.ext.dependencies.httpdnsnoop - e8xxImplementation rootProject.ext.dependencies.httpdnstencent - f8xxImplementation rootProject.ext.dependencies.httpdnstencent - f80xImplementation rootProject.ext.dependencies.httpdnstencent - f8AmapImplementation rootProject.ext.dependencies.httpdnstencent - em3Implementation rootProject.ext.dependencies.httpdnsnoop + qaImplementation rootProject.ext.dependencies.httpdnsnoop + demoImplementation rootProject.ext.dependencies.httpdnsnoop + onlineImplementation rootProject.ext.dependencies.httpdnsmogo } else { - bydautoImplementation project(':foudations:httpdns-noop') - d82xImplementation project(':foudations:httpdns-noop') - em1Implementation project(':foudations:httpdns-noop') - d8xxImplementation project(':foudations:httpdns-noop') - d80xImplementation project(':foudations:httpdns-noop') - em4Implementation project(':foudations:httpdns-noop') - e8xxImplementation project(':foudations:httpdns-tencent') - f8xxImplementation project(':foudations:httpdns-tencent') - f80xImplementation project(':foudations:httpdns-tencent') - f8AmapImplementation project(':foudations:httpdns-tencent') - em3Implementation project(':foudations:httpdns-noop') + qaImplementation project(':foudations:httpdns-noop') + demoImplementation project(':foudations:httpdns-noop') + onlineImplementation project(':foudations:httpdns-mogo') } } \ No newline at end of file diff --git a/config.gradle b/config.gradle index 3e22b033e4..c15cb61257 100644 --- a/config.gradle +++ b/config.gradle @@ -223,6 +223,7 @@ ext { httpdnsbase : "com.mogo.httpdns:httpdns-base:${HTTPDNS_BASE_VERSION}", httpdnsnoop : "com.mogo.httpdns:httpdns-noop:${HTTPDNS_NOOP_VERSION}", httpdnstencent : "com.mogo.httpdns:httpdns-tencent:${HTTPDNS_TENCENT_VERSION}", + httpdnsmogo : "com.mogo.httpdns:httpdns-mogo:${HTTPDNS_MOGO_VERSION}", ] } \ No newline at end of file diff --git a/foudations/httpdns-mogo/build.gradle b/foudations/httpdns-mogo/build.gradle index 27ff9d4d42..af8c7c97be 100644 --- a/foudations/httpdns-mogo/build.gradle +++ b/foudations/httpdns-mogo/build.gradle @@ -32,7 +32,7 @@ dependencies { implementation fileTree(dir: "libs", include: ["*.jar"]) implementation rootProject.ext.dependencies.arouter annotationProcessor rootProject.ext.dependencies.aroutercompiler - implementation 'com.mogo.httpdns:httpdns-helper:1.0.3' + implementation 'com.mogo.httpdns:httpdns-helper:1.0.6' if (Boolean.valueOf(RELEASE)) { implementation rootProject.ext.dependencies.httpdnsbase diff --git a/foudations/httpdns-mogo/src/main/java/com/mogo/httpdns/mogo/MogoHttpDns.java b/foudations/httpdns-mogo/src/main/java/com/mogo/httpdns/mogo/MogoHttpDns.java index 28f1fca9a0..e30d073420 100644 --- a/foudations/httpdns-mogo/src/main/java/com/mogo/httpdns/mogo/MogoHttpDns.java +++ b/foudations/httpdns-mogo/src/main/java/com/mogo/httpdns/mogo/MogoHttpDns.java @@ -14,14 +14,12 @@ import com.mogo.httpdns.IHttpDnsTtlCallback; import com.mogo.httpdns.IMogoHttpDns; import com.mogo.httpdnshelper.sdk.HttpDnsHelper; import com.mogo.httpdnshelper.sdk.bean.HttpDnsSimpleLocation; -import com.mogo.httpdnshelper.sdk.listener.IHttpDnsConfig; +import com.mogo.httpdnshelper.sdk.listener.IHttpDnsCurrentLocation; import com.mogo.httpdnshelper.sdk.listener.OnAddressChangedListener; import com.mogo.map.location.MogoLocation; import com.mogo.module.common.MogoApisHandler; import com.mogo.utils.network.HttpDns; -import org.jetbrains.annotations.NotNull; - import java.net.InetAddress; import java.net.UnknownHostException; import java.util.Arrays; @@ -31,9 +29,10 @@ import java.util.Map; import static com.mogo.httpdns.HttpDnsConst.HTTP_DNS_ADDRESS_TYPE_HTTP; -@Route( path = HttpDnsConst.PATH ) -public class MogoHttpDns implements IMogoHttpDns, HttpDns,OnAddressChangedListener{ - private final HttpDnsHelper httpDnsHelper = new HttpDnsHelper(); +@Route(path = HttpDnsConst.PATH) +public class MogoHttpDns implements IMogoHttpDns, HttpDns, OnAddressChangedListener { + private HttpDnsHelper httpDnsHelper; + @Nullable @Override public HttpDns dns() { @@ -47,19 +46,20 @@ public class MogoHttpDns implements IMogoHttpDns, HttpDns,OnAddressChangedListen @Override public void getHttpDnsIp(String host, int type, boolean useCache, IHttpDnsCallback callback) { - if(useCache) { + if (useCache) { String address = httpDnsHelper.getHttpDnsCachedAddress(type, host); if (address != null) { callback.onParsed(address); - }else{ + } else { callback.onParsed(httpDnsHelper.getHttpDnsAddress(type, host)); } - }else { + } else { callback.onParsed(httpDnsHelper.getHttpDnsAddress(type, host)); } } private final Map ttlCallbackMap = new ArrayMap<>(); + @Override public void addHttpDnsTtlCallback(String host, int type, IHttpDnsTtlCallback callback) { ttlCallbackMap.put(type + "-" + host, callback); @@ -73,41 +73,30 @@ public class MogoHttpDns implements IMogoHttpDns, HttpDns,OnAddressChangedListen @Override public void init(final Context context) { - httpDnsHelper.init(context, new IHttpDnsConfig() { - @NotNull + httpDnsHelper = new HttpDnsHelper.Builder().setContext(context).setSn(Utils.getSn()).setShowDebugLog(true).setLoopCheckDelay(15 * 60 * 1000).setCurrentLocation(new IHttpDnsCurrentLocation() { + @org.jetbrains.annotations.Nullable @Override public HttpDnsSimpleLocation getCurrentLocation() { MogoLocation last = MogoApisHandler.getInstance().getApis().getMapServiceApi().getSingletonLocationClient(context).getLastKnowLocation(); - if(last!=null){ + if (last != null) { return new HttpDnsSimpleLocation(last.getCityCode(), last.getLatitude(), last.getLongitude()); } return null; } - - @Override - public boolean showDebugLog() { - return true; - } - - @NotNull - @Override - public String getSn() { - return Utils.getSn(); - } - }); + }).build(); httpDnsHelper.setAddressChangedListener(this); } @Override public List lookup(String hostname) throws UnknownHostException { String cacheIp = httpDnsHelper.getHttpDnsCachedAddress(HTTP_DNS_ADDRESS_TYPE_HTTP, hostname); - if ( cacheIp == null || TextUtils.isEmpty( cacheIp ) ) { + if (cacheIp == null || TextUtils.isEmpty(cacheIp)) { return Collections.emptyList(); } String[] info = cacheIp.split(":"); if (info.length > 1) { - return Arrays.asList( InetAddress.getAllByName( info[0]) ); - }else { + return Arrays.asList(InetAddress.getAllByName(info[0])); + } else { return Arrays.asList(InetAddress.getAllByName(cacheIp)); } } diff --git a/gradle.properties b/gradle.properties index 72a14f2bd8..47537e0156 100644 --- a/gradle.properties +++ b/gradle.properties @@ -133,6 +133,7 @@ MOGO_MODULES_MVISION_VERSION=2.0.12 MOGO_MODULES_SMALL_MAP=1.0.0 # httpdns HTTPDNS_TENCENT_VERSION = 2.0.12 +HTTPDNS_MOGO_VERSION=2.0.12 HTTPDNS_BASE_VERSION = 2.0.12 HTTPDNS_NOOP_VERSION = 2.0.12 From a2c7380ea955aa8874061dd4d8f7a27fd0c9a671 Mon Sep 17 00:00:00 2001 From: liujing Date: Fri, 25 Dec 2020 16:40:49 +0800 Subject: [PATCH 13/21] no message --- .../v2x/adapter/holder/V2XRoadEventVH.java | 29 ++----------------- 1 file changed, 2 insertions(+), 27 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XRoadEventVH.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XRoadEventVH.java index f4f30a5f05..f269856f7b 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XRoadEventVH.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XRoadEventVH.java @@ -268,8 +268,7 @@ public class V2XRoadEventVH extends V2XBaseViewHolder { .registerUnWakeVoice(V2XVoiceConstants.COMMAND_ZHIDAO_V2X_OPEN_LIVE_UN_WAKEUP, v2XVoiceOpenLiveListener); ivEventLive.setOnClickListener(v -> { - getCoordinateForFather(ivEventLive); -// showLiveCar(v2XEventShowEntity); + showLiveCar(v2XEventShowEntity); }); } else { ivEventLive.setVisibility(GONE); @@ -313,31 +312,7 @@ public class V2XRoadEventVH extends V2XBaseViewHolder { e.printStackTrace(); } } - - private void getCoordinateForFather(View view) { - try { - float f_top = view.getTop();//view自身的顶边到其父布局顶边的距离 - float f_left = view.getY();//view自身的左边到其父布局左边的距离 - float f_right = view.getRight();//view自身的右边到其父布局左边的距离 - float f_bottom = view.getBottom();//view自身的底边到其父布局顶边的距离 - float x_left = view.getX();//点击事件距离控件左边的距离 - float y_top = view.getTop();//点击事件距离控件顶边的距离 - - Log.d("getCoordinateForFather", "f_top:" + f_top + "f_left:" + f_left + "f_right:" - + f_right + "f_bottom:" + f_bottom + "x_left:" + x_left + "y_top:" + y_top); - - //动态添加贝塞尔动画view - BezierAnimationView bezierAnimationView = new BezierAnimationView(mContext); - Drawable drawable = mContext.getResources().getDrawable(R.drawable.bg_v2x_event_type_orange_vr); - bezierAnimationView.setBackground(drawable); - mViewGroup.addView(bezierAnimationView, 20, 20); - bezierAnimationView.setGravity(Gravity.CENTER); - - } catch (Exception e) { - - } - } - + /* * 展示事件的图片/视频资源 * */ From f593995b9f2a01685b4d4b19eca7ef2b27677a7a Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Fri, 25 Dec 2020 17:56:21 +0800 Subject: [PATCH 14/21] opt --- .../src/main/java/com/mogo/httpdns/noop/HttpDnsNoop.java | 8 ++++---- .../mogo/module/extensions/entrance/EntranceFragment.java | 4 +++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/foudations/httpdns-noop/src/main/java/com/mogo/httpdns/noop/HttpDnsNoop.java b/foudations/httpdns-noop/src/main/java/com/mogo/httpdns/noop/HttpDnsNoop.java index 9aed264e16..fdf50007aa 100644 --- a/foudations/httpdns-noop/src/main/java/com/mogo/httpdns/noop/HttpDnsNoop.java +++ b/foudations/httpdns-noop/src/main/java/com/mogo/httpdns/noop/HttpDnsNoop.java @@ -25,24 +25,24 @@ class HttpDnsNoop implements IMogoHttpDns { } @Override - public String getCachedHttpDnsIps( String host ) { + public String getCachedHttpDnsIps( String host,int type ) { return null; } @Override - public void getHttpDnsIp( String host, boolean useCache, IHttpDnsCallback callback ) { + public void getHttpDnsIp( String host,int type, boolean useCache, IHttpDnsCallback callback ) { if ( callback != null ) { callback.onParsed( null ); } } @Override - public void addHttpDnsTtlCallback( String host, IHttpDnsTtlCallback callback ) { + public void addHttpDnsTtlCallback( String host,int type, IHttpDnsTtlCallback callback ) { } @Override - public void removeHttpDnsTtlCallback( String host ) { + public void removeHttpDnsTtlCallback( String host,int type ) { } diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java index 47db3a0b5a..850cef0236 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java @@ -1265,7 +1265,9 @@ public class EntranceFragment extends MvpFragment 1000) { + long diff = SystemClock.elapsedRealtime() - lastDebugPanelClickTime; + Logger.d("DebugPanel", "diff: " + diff); + if (diff > 3000) { debugPanelClickCount = 1; } else { debugPanelClickCount++; From 2afbfe63871b866019b4cc092173a377e7edf2ba Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Fri, 25 Dec 2020 17:57:27 +0800 Subject: [PATCH 15/21] =?UTF-8?q?=E5=8D=87=E7=BA=A7=E8=87=AA=E7=A0=94?= =?UTF-8?q?=E5=9C=B0=E5=9B=BEsdk=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libraries/map-custom/build.gradle | 2 +- .../main/java/com/mogo/map/impl/custom/AMapViewWrapper.java | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libraries/map-custom/build.gradle b/libraries/map-custom/build.gradle index 377804e0b4..bc98d7bbf5 100644 --- a/libraries/map-custom/build.gradle +++ b/libraries/map-custom/build.gradle @@ -67,7 +67,7 @@ dependencies { implementation project(':foudations:mogo-commons') } - implementation 'com.zhidaoauto.machine:map:1.0.0-vr-7.4.6' + implementation 'com.zhidaoauto.machine:map:1.0.0-vr-7.4.7' // implementation 'com.zhidaoauto.machine:map:1.0.0-vr-7.4.5-log-1' } diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java index 1a4e6f9297..aec9e0f31a 100644 --- a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java +++ b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java @@ -93,10 +93,15 @@ public class AMapViewWrapper implements IMogoMapView, if ( DebugConfig.isDebug() ) { GpsTester.getInstance().init( mMapView ); } + initViews(); initListeners(); this.mIMap = new AMapWrapper( this.mMapView.getMapAutoViewHelper(), this.mMapView, this ); } + private void initViews() { + + } + private void initMapView() { if ( mMapView == null ) { return; From c004d9cb19370b7881f893114f1ebc4f20e28820 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 25 Dec 2020 17:57:27 +0800 Subject: [PATCH 16/21] add proguard --- .../src/main/java/com/mogo/httpdns/IMogoHttpDns.java | 4 ++++ .../java/com/mogo/httpdns/MogoHttpDnsHandler.java | 4 ++++ .../java/com/mogo/httpdns/tencent/TencentHttpDns.java | 5 ++++- .../com/mogo/base/services/BaseServicesConstants.java | 11 +++++++---- .../mogo/base/services/passport/PassportManager.java | 2 +- .../com/mogo/base/services/socket/SocketManager.java | 2 +- foudations/mogo-base-websocket-sdk/consumer-rules.pro | 2 ++ .../com/mogo/base/websocket/WebSocketConstant.java | 8 ++++++++ .../com/mogo/base/websocket/WebSocketManager.java | 4 ---- foudations/mogo-commons/consumer-rules.pro | 2 +- .../com/mogo/commons/analytics/AnalyticsUtils.java | 3 +++ modules/mogo-module-authorize/consumer-rules.pro | 2 +- 12 files changed, 36 insertions(+), 13 deletions(-) diff --git a/foudations/httpdns-base/src/main/java/com/mogo/httpdns/IMogoHttpDns.java b/foudations/httpdns-base/src/main/java/com/mogo/httpdns/IMogoHttpDns.java index 679c163ace..725d63cc72 100644 --- a/foudations/httpdns-base/src/main/java/com/mogo/httpdns/IMogoHttpDns.java +++ b/foudations/httpdns-base/src/main/java/com/mogo/httpdns/IMogoHttpDns.java @@ -42,6 +42,7 @@ interface IMogoHttpDns extends IProvider { * @param type 类型 * @return */ + @Keep String getCachedHttpDnsIps(String host, int type); // // /** @@ -60,6 +61,7 @@ interface IMogoHttpDns extends IProvider { * @param useCache * @param callback */ + @Keep void getHttpDnsIp(String host, int type, boolean useCache, IHttpDnsCallback callback); // /** @@ -76,6 +78,7 @@ interface IMogoHttpDns extends IProvider { * @param type * @param callback */ + @Keep void addHttpDnsTtlCallback(String host, int type, IHttpDnsTtlCallback callback); // /** @@ -90,5 +93,6 @@ interface IMogoHttpDns extends IProvider { * @param host * @param type */ + @Keep void removeHttpDnsTtlCallback(String host,int type); } diff --git a/foudations/httpdns-base/src/main/java/com/mogo/httpdns/MogoHttpDnsHandler.java b/foudations/httpdns-base/src/main/java/com/mogo/httpdns/MogoHttpDnsHandler.java index c2c979db8d..dd25cecb0b 100644 --- a/foudations/httpdns-base/src/main/java/com/mogo/httpdns/MogoHttpDnsHandler.java +++ b/foudations/httpdns-base/src/main/java/com/mogo/httpdns/MogoHttpDnsHandler.java @@ -14,6 +14,10 @@ public @Keep class MogoHttpDnsHandler { + private MogoHttpDnsHandler(){ + + } + private static IMogoHttpDns sHttpDns; public static IMogoHttpDns getHttpDnsApi() { diff --git a/foudations/httpdns-tencent/src/main/java/com/mogo/httpdns/tencent/TencentHttpDns.java b/foudations/httpdns-tencent/src/main/java/com/mogo/httpdns/tencent/TencentHttpDns.java index 1629e24a04..ea659d4f4b 100644 --- a/foudations/httpdns-tencent/src/main/java/com/mogo/httpdns/tencent/TencentHttpDns.java +++ b/foudations/httpdns-tencent/src/main/java/com/mogo/httpdns/tencent/TencentHttpDns.java @@ -3,6 +3,8 @@ package com.mogo.httpdns.tencent; import android.content.Context; import android.text.TextUtils; +import androidx.annotation.Keep; + import com.alibaba.android.arouter.facade.annotation.Route; import com.mogo.commons.debug.DebugConfig; import com.mogo.httpdns.HttpDnsConst; @@ -23,7 +25,7 @@ import static com.mogo.httpdns.HttpDnsConst.HTTP_DNS_ADDRESS_TYPE_IM; import static com.mogo.httpdns.HttpDnsConst.HTTP_DNS_ADDRESS_TYPE_WS; public -/** +/* * @author congtaowang * @since 2020/11/18 * @@ -105,6 +107,7 @@ class TencentHttpDns implements IMogoHttpDns, HttpDns { HttpDnsIpsCache.removeHttpDnsTtlCallback( host ); } + @Keep @Override public void init( Context context ) { if ( sInited ) { diff --git a/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/BaseServicesConstants.java b/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/BaseServicesConstants.java index 5d4c38a17a..927c8ef250 100644 --- a/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/BaseServicesConstants.java +++ b/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/BaseServicesConstants.java @@ -1,16 +1,19 @@ package com.mogo.base.services; -public -/** +import androidx.annotation.Keep; + +public abstract +/* * @author congtaowang * @since 2020/7/23 * * 描述 */ -interface BaseServicesConstants { +class BaseServicesConstants { /** * 建立长链的通道ID */ - String SOCKET_CHANNEL_ID = "dataCrawler"; + @Keep + public static final String SOCKET_CHANNEL_ID = "dataCrawler"; } diff --git a/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/passport/PassportManager.java b/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/passport/PassportManager.java index 5a9c740370..183e633722 100644 --- a/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/passport/PassportManager.java +++ b/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/passport/PassportManager.java @@ -16,7 +16,7 @@ import com.zhidao.tcloginsdk.model.TokenData; import com.zhidao.tcloginsdk.network.LoginCallback; public -/** +/* * @author congtaowang * @since 2020/7/16 * diff --git a/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/socket/SocketManager.java b/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/socket/SocketManager.java index 4a1454a060..fc97fc9fb4 100644 --- a/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/socket/SocketManager.java +++ b/foudations/mogo-base-services-sdk/src/main/java/com/mogo/base/services/socket/SocketManager.java @@ -174,7 +174,7 @@ class SocketManager implements IMogoSocketManager, Callback { Logger.w( TAG, "msgType %d is exist.", msgType ); } if ( !mListeners.containsKey( msgType ) ) { - mListeners.put( msgType, new ArrayList< IMogoOnMessageListener >() ); + mListeners.put( msgType, new ArrayList<>() ); } mListeners.get( msgType ).add( listener ); } diff --git a/foudations/mogo-base-websocket-sdk/consumer-rules.pro b/foudations/mogo-base-websocket-sdk/consumer-rules.pro index e69de29bb2..54ff53d0c7 100644 --- a/foudations/mogo-base-websocket-sdk/consumer-rules.pro +++ b/foudations/mogo-base-websocket-sdk/consumer-rules.pro @@ -0,0 +1,2 @@ +-keep class com.mogo.base.websocket.WebSocketData{*;} +-keep class com.mogo.base.websocket.WebSocketShakeHandsData{*;} \ No newline at end of file diff --git a/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketConstant.java b/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketConstant.java index 46e9f5dcb9..f0e5ec13b7 100644 --- a/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketConstant.java +++ b/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketConstant.java @@ -1,22 +1,30 @@ package com.mogo.base.websocket; +import androidx.annotation.Keep; + import com.mogo.commons.debug.DebugConfig; +@Keep public class WebSocketConstant { private static final String HOST_DEV = "ws://62.234.196.121"; private static final String HOST_QA = "ws://62.234.196.121"; private static final String HOST_DEMO = "ws://62.234.196.121"; + @Keep private static final String HOST_RELEASE = "ws://62.234.196.121"; // private static final String PORT = ":14001/ws"; + @Keep public static final String PATH = "/ws"; + @Keep public static final String PORT = ":4004"+PATH; + @Keep public static final String PROTOCOL = "ws://"; private static final String DOMAIN_DEV = "dzt-city.zhidaozhixing.com"; private static final String DOMAIN_QA = "dzt-city.zhidaozhixing.com"; private static final String DOMAIN_DEMO = "dzt-city.zhidaozhixing.com"; + @Keep private static final String DOMAIN_RELEASE = "dzt-city.zhidaozhixing.com"; public static String getSocketServer() { diff --git a/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketManager.java b/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketManager.java index 3ce7ad20a8..5e110bb8ea 100644 --- a/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketManager.java +++ b/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketManager.java @@ -5,8 +5,6 @@ import android.os.SystemClock; import androidx.annotation.Keep; -import com.google.gson.Gson; -import com.google.gson.reflect.TypeToken; import com.mogo.commons.network.Utils; import com.mogo.map.location.MogoLocation; import com.mogo.module.common.MogoApisHandler; @@ -17,7 +15,6 @@ import com.mogo.utils.logger.Logger; import com.mogo.utils.network.utils.GsonUtil; import com.mogo.websocket.ISocketMsgCallBack; import com.mogo.websocket.ISocketMsgSetting; -import com.mogo.websocket.SocketClient; import java.util.ArrayList; import java.util.Iterator; @@ -28,7 +25,6 @@ import java.util.concurrent.ConcurrentHashMap; import static com.mogo.service.connection.WebSocketMsgType.MSG_TYPE_ACK; import static com.mogo.service.connection.WebSocketMsgType.MSG_TYPE_DOWNLINK_CAR_DATA; -@Keep public class WebSocketManager implements IMogoWebSocketManager, ISocketMsgSetting, ISocketMsgCallBack { diff --git a/foudations/mogo-commons/consumer-rules.pro b/foudations/mogo-commons/consumer-rules.pro index e4e113ccaf..4a2c88a6b9 100644 --- a/foudations/mogo-commons/consumer-rules.pro +++ b/foudations/mogo-commons/consumer-rules.pro @@ -1,5 +1,5 @@ #-----Foundation-Commons----- --keep class com.mogo.commons.data.BaseData.*{*;} +-keep class com.mogo.commons.data.BaseData{*;} -keep class com.mogo.commons.voice.VoiceIntentTrack -keep class com.mogo.commons.voice.VoiceTrack -keep class com.mogo.commons.voice.VoicePreemptType diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/analytics/AnalyticsUtils.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/analytics/AnalyticsUtils.java index e457421552..b1f3cdafc5 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/analytics/AnalyticsUtils.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/analytics/AnalyticsUtils.java @@ -2,6 +2,8 @@ package com.mogo.commons.analytics; import android.content.Context; +import androidx.annotation.Keep; + import com.elegant.analytics.Analytics; import com.elegant.analytics.AnalyticsConfig; import com.elegant.analytics.IAnalyticsParamsProvider; @@ -20,6 +22,7 @@ import java.util.Map; */ public class AnalyticsUtils { + @Keep public static void init( Context context ) { // 1 - debug 近实时上报,积累一条埋点上报,或者积累3秒上报一次。 // 2 - 本地缓存,聚合上报,积累30条埋点上报,或者积累60秒上报一次。 diff --git a/modules/mogo-module-authorize/consumer-rules.pro b/modules/mogo-module-authorize/consumer-rules.pro index 5668c1b3ca..551d2e9258 100644 --- a/modules/mogo-module-authorize/consumer-rules.pro +++ b/modules/mogo-module-authorize/consumer-rules.pro @@ -1,2 +1,2 @@ #-----AuthorizeModule----- --keep class com.mogo.module.authorize.module.bean.**{*;} \ No newline at end of file +-keep class com.mogo.module.authorize.module.bean.*{*;} \ No newline at end of file From 36bbe5cf352d8de076caf0980b874be62ef091eb Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Fri, 25 Dec 2020 18:35:25 +0800 Subject: [PATCH 17/21] =?UTF-8?q?=E6=9B=BF=E6=8D=A2=E5=9B=9Etencent?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/functions/httpdns.gradle | 28 +++++++++++++++---- .../com/mogo/httpdns/mogo/MogoHttpDns.java | 8 +++++- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/app/functions/httpdns.gradle b/app/functions/httpdns.gradle index 9edbf9b3f7..176938bc92 100644 --- a/app/functions/httpdns.gradle +++ b/app/functions/httpdns.gradle @@ -2,12 +2,28 @@ project.dependencies { if (Boolean.valueOf(RELEASE)) { - qaImplementation rootProject.ext.dependencies.httpdnsnoop - demoImplementation rootProject.ext.dependencies.httpdnsnoop - onlineImplementation rootProject.ext.dependencies.httpdnsmogo + bydautoImplementation rootProject.ext.dependencies.httpdnsnoop + d82xImplementation rootProject.ext.dependencies.httpdnsnoop + em1Implementation rootProject.ext.dependencies.httpdnsnoop + d8xxImplementation rootProject.ext.dependencies.httpdnsnoop + d80xImplementation rootProject.ext.dependencies.httpdnsnoop + em4Implementation rootProject.ext.dependencies.httpdnsnoop + e8xxImplementation rootProject.ext.dependencies.httpdnstencent + f8xxImplementation rootProject.ext.dependencies.httpdnstencent + f80xImplementation rootProject.ext.dependencies.httpdnstencent + f8AmapImplementation rootProject.ext.dependencies.httpdnstencent + em3Implementation rootProject.ext.dependencies.httpdnsnoop } else { - qaImplementation project(':foudations:httpdns-noop') - demoImplementation project(':foudations:httpdns-noop') - onlineImplementation project(':foudations:httpdns-mogo') + bydautoImplementation project(':foudations:httpdns-noop') + d82xImplementation project(':foudations:httpdns-noop') + em1Implementation project(':foudations:httpdns-noop') + d8xxImplementation project(':foudations:httpdns-noop') + d80xImplementation project(':foudations:httpdns-noop') + em4Implementation project(':foudations:httpdns-noop') + e8xxImplementation project(':foudations:httpdns-tencent') + f8xxImplementation project(':foudations:httpdns-tencent') + f80xImplementation project(':foudations:httpdns-tencent') + f8AmapImplementation project(':foudations:httpdns-tencent') + em3Implementation project(':foudations:httpdns-noop') } } \ No newline at end of file diff --git a/foudations/httpdns-mogo/src/main/java/com/mogo/httpdns/mogo/MogoHttpDns.java b/foudations/httpdns-mogo/src/main/java/com/mogo/httpdns/mogo/MogoHttpDns.java index e30d073420..e7b7ab75d9 100644 --- a/foudations/httpdns-mogo/src/main/java/com/mogo/httpdns/mogo/MogoHttpDns.java +++ b/foudations/httpdns-mogo/src/main/java/com/mogo/httpdns/mogo/MogoHttpDns.java @@ -18,6 +18,7 @@ import com.mogo.httpdnshelper.sdk.listener.IHttpDnsCurrentLocation; import com.mogo.httpdnshelper.sdk.listener.OnAddressChangedListener; import com.mogo.map.location.MogoLocation; import com.mogo.module.common.MogoApisHandler; +import com.mogo.utils.logger.Logger; import com.mogo.utils.network.HttpDns; import java.net.InetAddress; @@ -105,7 +106,12 @@ public class MogoHttpDns implements IMogoHttpDns, HttpDns, OnAddressChangedListe public void onAddressChanged(@org.jetbrains.annotations.Nullable Map map) { if (map != null) { for (String key : map.keySet()) { - ttlCallbackMap.get(key).onTtl(); + IHttpDnsTtlCallback callback = ttlCallbackMap.get(key); + if (callback != null) { + callback.onTtl(); + }else{ + Logger.d("MogoHttpDns", "callback is null: " + key); + } } } } From 4efdbfeeaef9030f4583409f2bae8577a9db8231 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 25 Dec 2020 19:04:40 +0800 Subject: [PATCH 18/21] .. --- .idea/gradle.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 8efbfa420e..426ff6b360 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -85,7 +85,6 @@ From 6db6140ae482a328221d3dfaecbf68524ef35e30 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Fri, 25 Dec 2020 21:12:57 +0800 Subject: [PATCH 19/21] =?UTF-8?q?=E6=98=BE=E7=A4=BA=E8=AE=BE=E7=BD=AE=20?= =?UTF-8?q?=E5=8D=87=E7=BA=A7sdk=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libraries/map-custom/build.gradle | 2 +- .../common/drawer/SnapshotSetDataDrawer.java | 24 +++++++ .../service/impl/adas/MogoADASController.java | 66 ++++++++++--------- 3 files changed, 61 insertions(+), 31 deletions(-) diff --git a/libraries/map-custom/build.gradle b/libraries/map-custom/build.gradle index bc98d7bbf5..f42565d9bb 100644 --- a/libraries/map-custom/build.gradle +++ b/libraries/map-custom/build.gradle @@ -67,7 +67,7 @@ dependencies { implementation project(':foudations:mogo-commons') } - implementation 'com.zhidaoauto.machine:map:1.0.0-vr-7.4.7' + implementation 'com.zhidaoauto.machine:map:1.0.0-vr-7.4.8' // implementation 'com.zhidaoauto.machine:map:1.0.0-vr-7.4.5-log-1' } diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java index 000b8ddc32..076f058274 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java @@ -92,6 +92,7 @@ class SnapshotSetDataDrawer extends BaseDrawer implements IMogoMarkerClickListen MogoApisHandler.getInstance().getApis().getMapServiceApi().getMarkerManager( AbsMogoApplication.getApp() ).removeMarkers( DataTypes.TYPE_MARKER_CLOUD_DATA ); return; } + filterData( data.getAllList() ); List< CloudRoadData > allDatumsList = new ArrayList<>(); allDatumsList.addAll( data.getAllList() ); // allDatumsList.addAll( data.getNearList() ); @@ -170,6 +171,29 @@ class SnapshotSetDataDrawer extends BaseDrawer implements IMogoMarkerClickListen } } + /** + * vr 模式下显示合并数据,否则只显示上报位置的车辆 + * + * @param dataList + */ + private void filterData( List< CloudRoadData > dataList ) { + if ( dataList == null || dataList.isEmpty() ) { + return; + } + if ( !MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode() ) { + return; + } + List< CloudRoadData > newList = new ArrayList<>(); + for ( CloudRoadData cloudRoadData : dataList ) { + if ( cloudRoadData.getFromType() != CloudRoadData.FROM_MY_LOCATION ) { + continue; + } + newList.add( cloudRoadData ); + } + dataList.clear(); + dataList.addAll( newList ); + } + private void bindClickListener( IMogoMarker marker ) { if ( marker == null || marker.isDestroyed() ) { return; diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java index 85c98e6ad5..f82bf29011 100644 --- a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java @@ -57,6 +57,7 @@ import java.util.List; import java.util.Map; import io.reactivex.schedulers.Schedulers; + import java.util.concurrent.CopyOnWriteArrayList; import static com.mogo.module.common.utils.SPConst.getSpGuide; @@ -85,7 +86,7 @@ public class MogoADASController implements IMogoADASController { private IMogoStatusManager mStatusManager = SingletonsHolder.get( IMogoStatusManager.class ); private boolean mIsReleased = true; - private List adasDataCallbackList = new ArrayList<>(); + private List< IMogoAdasDataCallback > adasDataCallbackList = new ArrayList<>(); private IAutopolitDataCallBack mAutopolitDataCallBack; @@ -113,6 +114,10 @@ public class MogoADASController implements IMogoADASController { // 物体识别返回 // Logger.d( TAG, "onRectData = %s", rectInfo.toString() ); mLastFrameData = rectInfo; + // 仅在 vr 模式下显示 adas 识别车辆 + if ( !MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode() ) { + return; + } handleAdasRecognizedData( rectInfo ); } @@ -210,7 +215,7 @@ public class MogoADASController implements IMogoADASController { @Override public void showADAS() { - if( DebugConfig.isNeedLoadGuideModule() ){ + if ( DebugConfig.isNeedLoadGuideModule() ) { if ( !SharedPrefsMgr.getInstance( AbsMogoApplication.getApp() ).getBoolean( getSpGuide(), false ) ) { return; } @@ -272,13 +277,13 @@ public class MogoADASController implements IMogoADASController { @Override public void requestGetCarModelListInfo() { - if (DebugConfig.isMapBased()) { - Logger.d(TAG, "requestGetCarModelListInfo"); + if ( DebugConfig.isMapBased() ) { + Logger.d( TAG, "requestGetCarModelListInfo" ); // 向adas发送车模list - String carModelList = SharedPrefsMgr.getInstance(context).getString( - "CAR_MODEL_LIST", ""); - if (carModelList != null && !carModelList.isEmpty()) { - AutopilotServiceManage.getInstance().settingCarModelListInfo(carModelList); + String carModelList = SharedPrefsMgr.getInstance( context ).getString( + "CAR_MODEL_LIST", "" ); + if ( carModelList != null && !carModelList.isEmpty() ) { + AutopilotServiceManage.getInstance().settingCarModelListInfo( carModelList ); } // 此处进行网络请求,请求成功后再通知一次adas requestCarModelList(); @@ -368,6 +373,7 @@ public class MogoADASController implements IMogoADASController { } private Context context; + @Override public void init( Context context ) { AutopilotServiceManage.getInstance().init( context ); @@ -464,40 +470,40 @@ public class MogoADASController implements IMogoADASController { private String currentSn = TEST_SN; private void requestCarModelList() { - Map params = new HashMap<>(8); - params.put("sn", Utils.getSn()); + Map< String, String > params = new HashMap<>( 8 ); + params.put( "sn", Utils.getSn() ); // currentSn = useTestSn ? TEST_SN : Utils.getSn(); // params.put("sn", currentSn); - MogoApisHandler.getInstance().getApis().getNetworkApi().create(CarModelInfoNetApiServices.class, CarModelInfoNetApiServices.getBaseUrl()). - requestCarModelList(params). - subscribeOn(Schedulers.io()). - observeOn(Schedulers.io()). - subscribe(new SubscribeImpl(RequestOptions.create(context)) { + MogoApisHandler.getInstance().getApis().getNetworkApi().create( CarModelInfoNetApiServices.class, CarModelInfoNetApiServices.getBaseUrl() ). + requestCarModelList( params ). + subscribeOn( Schedulers.io() ). + observeOn( Schedulers.io() ). + subscribe( new SubscribeImpl< CarModelListResponse >( RequestOptions.create( context ) ) { @Override - public void onSuccess(CarModelListResponse o) { - super.onSuccess(o); - Logger.d(TAG, "请求车模列表成功: " + o); + public void onSuccess( CarModelListResponse o ) { + super.onSuccess( o ); + Logger.d( TAG, "请求车模列表成功: " + o ); // 保存到sp中 - String value = GsonUtil.jsonFromObject(o.getResult()); - SharedPrefsMgr.getInstance(context).putString("CAR_MODEL_LIST", - value); - if(value != null && !value.isEmpty()){ - AutopilotServiceManage.getInstance().settingCarModelListInfo(value); + String value = GsonUtil.jsonFromObject( o.getResult() ); + SharedPrefsMgr.getInstance( context ).putString( "CAR_MODEL_LIST", + value ); + if ( value != null && !value.isEmpty() ) { + AutopilotServiceManage.getInstance().settingCarModelListInfo( value ); } } @Override - public void onError(Throwable e) { - super.onError(e); - Logger.e(TAG, e, "请求自车模型失败"); + public void onError( Throwable e ) { + super.onError( e ); + Logger.e( TAG, e, "请求自车模型失败" ); } @Override - public void onError(String message, int code) { - super.onError(message, code); - Logger.e(TAG, "请求自车模型失败: " + message); + public void onError( String message, int code ) { + super.onError( message, code ); + Logger.e( TAG, "请求自车模型失败: " + message ); } - }); + } ); } From 7fa38d9080f621230a0bc61ddb8814832433e344 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Sun, 27 Dec 2020 15:57:35 +0800 Subject: [PATCH 20/21] =?UTF-8?q?=E5=8D=87=E7=BA=A7=E8=87=AA=E7=A0=94?= =?UTF-8?q?=E5=9C=B0=E5=9B=BEsdk=E7=89=88=E6=9C=AC=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E4=BB=96=E8=BD=A6=E5=8A=A8=E7=94=BB=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libraries/map-custom/build.gradle | 2 +- .../com/mogo/module/common/drawer/SnapshotSetDataDrawer.java | 2 +- .../src/main/java/com/mogo/module/service/MogoServices.java | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/libraries/map-custom/build.gradle b/libraries/map-custom/build.gradle index f42565d9bb..bd525599dc 100644 --- a/libraries/map-custom/build.gradle +++ b/libraries/map-custom/build.gradle @@ -67,7 +67,7 @@ dependencies { implementation project(':foudations:mogo-commons') } - implementation 'com.zhidaoauto.machine:map:1.0.0-vr-7.4.8' + implementation 'com.zhidaoauto.machine:map:1.0.0-vr-7.5.1' // implementation 'com.zhidaoauto.machine:map:1.0.0-vr-7.4.5-log-1' } diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java index 076f058274..c09cfdf95f 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java @@ -159,7 +159,7 @@ class SnapshotSetDataDrawer extends BaseDrawer implements IMogoMarkerClickListen List< MogoLatLng > points = new ArrayList<>(); points.add( new MogoLatLng( lastPosition.lat, lastPosition.lon ) ); points.add( new MogoLatLng( target.lat, target.lon ) ); - marker.startSmoothInMs( points, 500L ); + marker.startSmoothInMs( points, SystemClock.elapsedRealtime() - mLastReceiveTime ); } } else { marker.setRotateAngle( 360 - ( float ) cloudRoadData.getHeading() ); diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java index 25460261f1..bcfe822ff2 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java @@ -555,6 +555,8 @@ public class MogoServices implements IMogoMapListener, MapMarkerManager.getInstance().syncLocation( latLng.lon, latLng.lat ); + Logger.d( TAG, "zoom = %s", zoom ); + if ( mIsCameraInited ) { mLastZoomLevel = zoom; mLastCustomRefreshCenterLocation = latLng; From ec080323392416621a5ea40b7ec9428db31eb9e3 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Sun, 27 Dec 2020 16:05:14 +0800 Subject: [PATCH 21/21] opt --- .../com/mogo/module/common/drawer/SnapshotSetDataDrawer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java index c09cfdf95f..c3e9f0b981 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java @@ -180,7 +180,7 @@ class SnapshotSetDataDrawer extends BaseDrawer implements IMogoMarkerClickListen if ( dataList == null || dataList.isEmpty() ) { return; } - if ( !MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode() ) { + if ( MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode() ) { return; } List< CloudRoadData > newList = new ArrayList<>();