From 154b85c617a5099975e9f197f30b0aa2bbd77659 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Fri, 14 Aug 2020 14:16:06 +0800 Subject: [PATCH 01/74] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=8B=E6=95=85?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A8=E9=80=81=E6=8E=A5=E6=94=B6=E4=BB=A5?= =?UTF-8?q?=E5=8F=8A=E7=9B=B8=E5=85=B3=E6=8E=A2=E8=B7=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/misc.xml | 2 +- .../com/mogo/launcher/MogoApplication.java | 1 + .../mogo/tanlu/api/MogoTanluApiProvider.java | 3 +- .../roadcondition/service/UploadParams.kt | 16 +++++-- .../module/share/StrategyShareProvider.kt | 27 ++++++++++++ .../share/constant/StrategyShareConst.kt | 4 ++ .../AccidentStrategyPushWrapper.kt | 11 +++++ .../AccidentStrategyReceiver.kt | 25 +++++++++++ .../com/mogo/service/MogoServicePaths.java | 6 +++ .../mogo/service/tanlu/TanluUploadParams.java | 42 +++++++++++++++++++ 10 files changed, 131 insertions(+), 6 deletions(-) create mode 100644 modules/mogo-module-share/src/main/java/com/mogo/module/share/StrategyShareProvider.kt create mode 100644 modules/mogo-module-share/src/main/java/com/mogo/module/share/constant/StrategyShareConst.kt create mode 100644 modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/AccidentStrategyPushWrapper.kt create mode 100644 modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/AccidentStrategyReceiver.kt diff --git a/.idea/misc.xml b/.idea/misc.xml index 21e99e2dc0..cd77a1f062 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -4,7 +4,7 @@ - + \ No newline at end of file diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index 99cd7e7447..da2288e735 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -74,6 +74,7 @@ public class MogoApplication extends AbsMogoApplication { MogoModulePaths.addBaseModule( new MogoModule( ServiceConst.PATH_REFRESH_STRATEGY, ServiceConst.PATH_REFRESH_STRATEGY ) ); MogoModulePaths.addBaseModule( new MogoModule( V2XConst.PATH_V2X_UI, V2XConst.MODULE_NAME ) ); + MogoModulePaths.addBaseModule(new MogoModule( MogoServicePaths.PATH_STRATEGY_SHARE,"StrategyShare")); MogoModulePaths.addModule( new MogoModule( V2XConst.PATH_EVENT_PANEL, V2XConst.MODULE_NAME_EVENT_PANEL ) ); MogoModulePaths.addModule( new MogoModule( PushUIConstants.PATH, PushUIConstants.NAME ) ); diff --git a/libraries/mogo-tanlu-api/src/main/java/com/zhidao/mogo/tanlu/api/MogoTanluApiProvider.java b/libraries/mogo-tanlu-api/src/main/java/com/zhidao/mogo/tanlu/api/MogoTanluApiProvider.java index 44f60ecab8..9342e15065 100644 --- a/libraries/mogo-tanlu-api/src/main/java/com/zhidao/mogo/tanlu/api/MogoTanluApiProvider.java +++ b/libraries/mogo-tanlu-api/src/main/java/com/zhidao/mogo/tanlu/api/MogoTanluApiProvider.java @@ -42,7 +42,8 @@ public class MogoTanluApiProvider implements IMogoTanluProvider { properties.put("from", params.getFromType()); AnalyticsUtils.track("v2x_share_type", properties); MainService.Companion.launchService(context, new UploadParams(params.getEventType(), - params.getFromType(), params.getDuration())); + params.getFromType(), params.getDuration(), params.getParentId(), + params.getLocation().lat, params.getLocation().lon)); }else{ throw new IllegalArgumentException("TanluUploadParams 不允许为空"); } diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/UploadParams.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/UploadParams.kt index 690b2ec53e..75797e8bda 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/UploadParams.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/UploadParams.kt @@ -2,29 +2,37 @@ package com.zhidao.roadcondition.service import android.os.Parcel import android.os.Parcelable +import com.mogo.map.MogoLatLng -class UploadParams(val eventType:String,val fromType:String,val duration:Int) : Parcelable { +class UploadParams(val eventType: String, val fromType: String, val duration: Int, val parentId: String, val lat: Double, val lon: Double) : Parcelable { constructor(parcel: Parcel) : this( parcel.readString()!!, parcel.readString()!!, - parcel.readInt()) + parcel.readInt(), + parcel.readString()!!, + parcel.readDouble(), + parcel.readDouble() + ) override fun writeToParcel(parcel: Parcel, flags: Int) { parcel.writeString(eventType) parcel.writeString(fromType) parcel.writeInt(duration) + parcel.writeString(parentId) + parcel.writeDouble(lat) + parcel.writeDouble(lon) } - override fun describeContents(): Int { return 0 } override fun toString(): String { - return "UploadParams(eventType='$eventType', fromType='$fromType', duration=$duration)" + return "UploadParams(eventType='$eventType', fromType='$fromType', duration=$duration, parentId='$parentId', lat=$lat, lon=$lon)" } + companion object CREATOR : Parcelable.Creator { override fun createFromParcel(parcel: Parcel): UploadParams { return UploadParams(parcel) diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/StrategyShareProvider.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/StrategyShareProvider.kt new file mode 100644 index 0000000000..eb49f7af20 --- /dev/null +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/StrategyShareProvider.kt @@ -0,0 +1,27 @@ +package com.mogo.module.share + +import android.content.Context +import com.alibaba.android.arouter.facade.annotation.Route +import com.alibaba.android.arouter.facade.template.IProvider +import com.alibaba.android.arouter.launcher.ARouter +import com.mogo.module.share.constant.ACCIDENT_STRATEGY_SHARE_PUSH_TYPE +import com.mogo.module.share.constant.S_TAG +import com.mogo.module.share.strategyreceiver.AccidentStrategyReceiver +import com.mogo.service.IMogoServiceApis +import com.mogo.service.MogoServicePaths +import com.mogo.utils.logger.Logger + +/** + * 策略上报入口,服务端策略上报Push的接收地,接收后再调用tanlu相关接口进行视频抓取 + * + * @author tongchenfei + */ +@Route(path = MogoServicePaths.PATH_STRATEGY_SHARE) +class StrategyShareProvider : IProvider { + override fun init(context: Context?) { + Logger.d(S_TAG, "策略上报Provider初始化====") + val apis = ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation(context) as IMogoServiceApis + // 注册事故 + apis.getSocketManagerApi(context).registerOnMessageListener(ACCIDENT_STRATEGY_SHARE_PUSH_TYPE, AccidentStrategyReceiver(apis)) + } +} \ No newline at end of file diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/constant/StrategyShareConst.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/constant/StrategyShareConst.kt new file mode 100644 index 0000000000..014701a56d --- /dev/null +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/constant/StrategyShareConst.kt @@ -0,0 +1,4 @@ +package com.mogo.module.share.constant + +const val S_TAG = "StrategyShare" +const val ACCIDENT_STRATEGY_SHARE_PUSH_TYPE = 401013 \ No newline at end of file diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/AccidentStrategyPushWrapper.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/AccidentStrategyPushWrapper.kt new file mode 100644 index 0000000000..98779716f9 --- /dev/null +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/AccidentStrategyPushWrapper.kt @@ -0,0 +1,11 @@ +package com.mogo.module.share.strategyreceiver + +data class AccidentStrategyPushWrapper( + /** + * 策略类型,1代表事故 + */ + val type: Int, + /** + * 触发点的poiType + */ + val id: String, val lat: Double, val lon: Double) diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/AccidentStrategyReceiver.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/AccidentStrategyReceiver.kt new file mode 100644 index 0000000000..7ed36e0f56 --- /dev/null +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/AccidentStrategyReceiver.kt @@ -0,0 +1,25 @@ +package com.mogo.module.share.strategyreceiver + +import com.mogo.map.MogoLatLng +import com.mogo.module.share.constant.S_TAG +import com.mogo.service.IMogoServiceApis +import com.mogo.service.connection.IMogoOnMessageListener +import com.mogo.service.tanlu.IMogoTanluProvider +import com.mogo.service.tanlu.TanluUploadParams +import com.mogo.utils.logger.Logger + +/** + * 车辆经过事故事件,上报视频 + * @author tong + */ +class AccidentStrategyReceiver(private val apis: IMogoServiceApis):IMogoOnMessageListener { + override fun target(): Class = AccidentStrategyPushWrapper::class.java + + override fun onMsgReceived(obj: AccidentStrategyPushWrapper?) { + obj?.let { + Logger.d(S_TAG, "Accident strategy share onMessageReceived: $obj") + // 调用探路接口上报,现在只接入了事故事件上报这一种策略上报,所以poiType固定为TypeAccident + apis.tanluApi.uploadRoadCondition(TanluUploadParams(IMogoTanluProvider.TYPE_ACCIDENT, IMogoTanluProvider.UPLOAD_FROM_STRATEGY_ACCIDENT_AUTO, it.id, MogoLatLng(it.lat, it.lon))) + } + } +} \ No newline at end of file diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java b/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java index d2366e3c2c..576821ada1 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java @@ -238,4 +238,10 @@ public class MogoServicePaths { */ @Deprecated public static final String PATH_TANLU_API = "/tanlulib/api"; + + /** + * 策略上报 + */ + @Deprecated + public static final String PATH_STRATEGY_SHARE = "/strategy/share"; } diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/tanlu/TanluUploadParams.java b/services/mogo-service-api/src/main/java/com/mogo/service/tanlu/TanluUploadParams.java index 72cd49df3d..802e883c40 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/tanlu/TanluUploadParams.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/tanlu/TanluUploadParams.java @@ -1,5 +1,7 @@ package com.mogo.service.tanlu; +import com.mogo.map.MogoLatLng; + /** * 探路事件上报参数封装 * @author tongchenfei @@ -22,6 +24,15 @@ public class TanluUploadParams { */ private int duration = IMogoTanluProvider.DEFAULT_VIDEO_DURATION; + /** + * 针对策略上报新增字段,用于车辆经过事故事件上报时,记录经过的事故事件id + */ + private String parentId = ""; + /** + * 针对策略上报新增字段,用于车辆经过事故事件上报时,记录触发围栏时的经纬度坐标 + */ + private MogoLatLng location = new MogoLatLng(0, 0); + public TanluUploadParams(String eventType){ this(eventType, IMogoTanluProvider.UPLOAD_FROM_USER); } @@ -37,6 +48,21 @@ public class TanluUploadParams { this.fromType = fromType; } + /** + * 针对策略上报新增构造方法,方便传入parentId和location + * @param eventType 事件类型 + * @param fromType 触发类型,是手动还是被动 + * @param parentId 经过事件id + * @param location 触发围栏的坐标 + */ + public TanluUploadParams(String eventType, String fromType, String parentId, + MogoLatLng location) { + this.eventType = eventType; + this.fromType = fromType; + this.parentId = parentId; + this.location = location; + } + public String getEventType() { return eventType; } @@ -61,6 +87,22 @@ public class TanluUploadParams { this.duration = duration; } + public String getParentId() { + return parentId; + } + + public void setParentId(String parentId) { + this.parentId = parentId; + } + + public MogoLatLng getLocation() { + return location; + } + + public void setLocation(MogoLatLng location) { + this.location = location; + } + @Override public String toString() { return "TanluUploadParams{" + From 3f5124d1104b1d026619c8449d34470c5cd3a9ee Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Fri, 14 Aug 2020 16:04:54 +0800 Subject: [PATCH 02/74] =?UTF-8?q?1.=20=E4=BC=98=E5=8C=96=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E6=A1=8C=E9=9D=A2=E6=8E=A7=E4=BB=B6=E5=AE=9E=E7=8E=B0=202.=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=A4=A9=E6=B0=94=E6=8E=A7=E4=BB=B6=E4=BD=8D?= =?UTF-8?q?=E7=BD=AE=203.=20=E5=B0=86=E6=A8=A1=E5=9D=97=E5=9F=BA=E6=9C=AC?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E7=9A=84=E8=BF=87=E6=9C=9F=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E5=8A=A0=E4=B8=8A=E9=BB=98=E8=AE=A4=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 1 - .../module/back/Back2LauncherFragment.java | 33 --- .../back/BackToLauncherModuleProvider.java | 35 --- .../module/back/BackToMainHomeManager.java | 60 ++--- .../com/mogo/module/back/utils/Utils.java | 20 -- .../back/utils/WindowManagerViewHelper.java | 213 ------------------ .../module/back/utils/WindowViewHandler.java | 119 ---------- .../back/utils/WindowViewUIController.java | 16 -- .../src/main/res/values-xhdpi/dimens.xml | 4 +- .../src/main/res/values/dimens.xml | 4 +- .../layout/module_ext_layout_extensions.xml | 1 + .../service/module/IMogoModuleProvider.java | 31 ++- 12 files changed, 52 insertions(+), 485 deletions(-) delete mode 100644 modules/mogo-module-back/src/main/java/com/mogo/module/back/Back2LauncherFragment.java delete mode 100644 modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/Utils.java delete mode 100644 modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/WindowManagerViewHelper.java delete mode 100644 modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/WindowViewHandler.java delete mode 100644 modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/WindowViewUIController.java diff --git a/app/build.gradle b/app/build.gradle index 9fa3526b19..011d1620a1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -266,7 +266,6 @@ dependencies { exclude group: 'com.mogo.module', module: 'module-share' } implementation rootProject.ext.dependencies.moduletanluapi - implementation rootProject.ext.dependencies.mogomonitor implementation rootProject.ext.dependencies.mogomodulewidgets } else { diff --git a/modules/mogo-module-back/src/main/java/com/mogo/module/back/Back2LauncherFragment.java b/modules/mogo-module-back/src/main/java/com/mogo/module/back/Back2LauncherFragment.java deleted file mode 100644 index 68a9943451..0000000000 --- a/modules/mogo-module-back/src/main/java/com/mogo/module/back/Back2LauncherFragment.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.mogo.module.back; - -import android.os.Bundle; - -import androidx.annotation.Nullable; -import androidx.fragment.app.Fragment; - -import com.mogo.utils.logger.Logger; - -/** - * @author congtaowang - * @since 2020-02-26 - *

- * 描述 - */ -public class Back2LauncherFragment extends Fragment { - - private static final String TAG = "Back2LauncherFragment"; - - @Override - public void onCreate( @Nullable Bundle savedInstanceState ) { - super.onCreate( savedInstanceState ); - BackToMainHomeManager.addMainHomeView(); - Logger.d( TAG, "addMainHomeView" ); - } - - @Override - public void onDestroy() { - super.onDestroy(); - BackToMainHomeManager.removeMainHomeView(); - Logger.d( TAG, "removeMainHomeView" ); - } -} diff --git a/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToLauncherModuleProvider.java b/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToLauncherModuleProvider.java index a92fcecdee..c03d6944b3 100644 --- a/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToLauncherModuleProvider.java +++ b/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToLauncherModuleProvider.java @@ -49,46 +49,11 @@ public class BackToLauncherModuleProvider implements IMogoModuleProvider { return BackToLauncherConst.MODULE_NAME; } - @Override - public IMogoModuleLifecycle getCardLifecycle() { - return null; - } - - @Override - public IMogoMapListener getMapListener() { - return null; - } - @Override public int getType() { return ModuleType.TYPE_SERVICE; } - @Override - public IMogoNaviListener getNaviListener() { - return null; - } - - @Override - public IMogoLocationListener getLocationListener() { - return null; - } - - @Override - public IMogoMarkerClickListener getMarkerClickListener() { - return null; - } - - @Override - public String getAppPackage() { - return null; - } - - @Override - public String getAppName() { - return null; - } - @Override public void init( Context context ) { if ( CarSeries.getSeries() == CarSeries.CAR_SERIES_F80X ) { diff --git a/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToMainHomeManager.java b/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToMainHomeManager.java index db17ed40fc..ea748c53fe 100644 --- a/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToMainHomeManager.java +++ b/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToMainHomeManager.java @@ -1,28 +1,20 @@ package com.mogo.module.back; -import android.content.Context; import android.content.Intent; -import android.graphics.PixelFormat; -import android.os.Build; import android.view.Gravity; -import android.view.LayoutInflater; -import android.view.View; import android.view.WindowManager; import com.mogo.commons.AbsMogoApplication; -import com.mogo.module.back.utils.WindowManagerViewHelper; +import com.mogo.module.common.wm.WindowManagerView; import com.mogo.service.IMogoServiceApis; import com.mogo.service.fragmentmanager.IMogoFragmentManager; import com.mogo.service.statusmanager.IMogoStatusManager; -import com.mogo.utils.AppUtils; import com.mogo.utils.logger.Logger; public class BackToMainHomeManager { private static final String TAG = "BackToMainHomeManager"; - private static View mBackView; - private static IMogoFragmentManager mFragmentManager; private static IMogoStatusManager mStatusManager; private static IMogoServiceApis mApis; @@ -45,7 +37,7 @@ public class BackToMainHomeManager { return; } - Intent intent2 = new Intent( ); + Intent intent2 = new Intent(); // 是否发自系统消息 intent2.putExtra( "isHomeKeyDown", false ); mApis.getIntentManagerApi().invoke( Intent.ACTION_CLOSE_SYSTEM_DIALOGS, intent2 ); @@ -58,40 +50,34 @@ public class BackToMainHomeManager { AbsMogoApplication.getApp().startActivity( intent ); } + private static WindowManagerView mWindowManagerView; + public static void addMainHomeView() { Logger.d( "BackToMainHomeManager", "addMainHomeView" ); - if ( mBackView != null ) WindowManagerViewHelper.removeView( mBackView ); - mBackView = LayoutInflater.from( AbsMogoApplication.getApp() ).inflate( R.layout.mogo_module_back_home_back_layout, null ); - final Context context = mBackView.getContext(); - if ( context == null || context.getApplicationContext() == null ) { - return; + + if ( mWindowManagerView == null ) { + mWindowManagerView = new WindowManagerView.Builder( AbsMogoApplication.getApp() ) + .contentView( R.layout.mogo_module_back_home_back_layout ) + .position( AbsMogoApplication.getApp().getResources().getDimensionPixelOffset( R.dimen.module_back_main_home_icon_left ), + AbsMogoApplication.getApp().getResources().getDimensionPixelOffset( R.dimen.module_back_main_home_icon_top ) ) + .size( WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT ) + .gravity( Gravity.LEFT | Gravity.TOP ) + .showInWindowManager(); + mWindowManagerView.attachTouchEvent( view -> { + backToLauncher(); + } ); } - WindowManager windowManager = ( WindowManager ) context.getApplicationContext().getSystemService( Context.WINDOW_SERVICE ); - if ( windowManager == null ) { - return; + try { + mWindowManagerView.show(); + } catch ( Exception e ) { + e.printStackTrace(); } - mBackView.setOnClickListener( view -> { - backToLauncher(); - } ); - WindowManager.LayoutParams params = new WindowManager.LayoutParams(); - params.height = WindowManager.LayoutParams.WRAP_CONTENT; - params.width = WindowManager.LayoutParams.WRAP_CONTENT; - params.x = AbsMogoApplication.getApp().getResources().getDimensionPixelOffset( R.dimen.module_back_main_home_icon_left ); - params.y = AbsMogoApplication.getApp().getResources().getDimensionPixelOffset( R.dimen.module_back_main_home_icon_top ); - params.gravity = Gravity.LEFT | Gravity.CENTER; - if ( Build.VERSION.SDK_INT >= Build.VERSION_CODES.O ) { - params.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY; - } else { - params.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT; - } - params.format = PixelFormat.RGBA_8888; - params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON; - windowManager.addView( mBackView, params ); - WindowManagerViewHelper.attachMovementEvent( mBackView, params ); } public static void removeMainHomeView() { - WindowManagerViewHelper.removeView( mBackView ); + if ( mWindowManagerView != null ) { + mWindowManagerView.dismiss(); + } } } diff --git a/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/Utils.java b/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/Utils.java deleted file mode 100644 index ace6e4bdae..0000000000 --- a/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/Utils.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.mogo.module.back.utils; - -import android.content.Intent; -import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; - -import com.mogo.commons.AbsMogoApplication; - -public class Utils { - public static boolean isActivityExits( String packageName, String classStr ) { - Intent intent = new Intent(); - intent.setClassName( packageName, classStr ); - ResolveInfo resolveInfo = AbsMogoApplication.getApp().getPackageManager().resolveActivity( intent, PackageManager.MATCH_DEFAULT_ONLY ); - if ( resolveInfo != null ) { - return true; - } else { - return false; - } - } -} diff --git a/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/WindowManagerViewHelper.java b/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/WindowManagerViewHelper.java deleted file mode 100644 index ff03d5ab96..0000000000 --- a/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/WindowManagerViewHelper.java +++ /dev/null @@ -1,213 +0,0 @@ -package com.mogo.module.back.utils; - -import android.content.Context; -import android.graphics.PixelFormat; -import android.os.Build; -import android.view.Gravity; -import android.view.MotionEvent; -import android.view.View; -import android.view.WindowManager; - -/** - * @author congtaowang - * @since 2019-04-30 - *

- * 向 window manager 添加 view - */ -public class WindowManagerViewHelper { - - public static void addView( View view ) { - - final Context context = view.getContext(); - if ( context == null || context.getApplicationContext() == null ) { - return; - } - WindowManager windowManager = ( WindowManager ) context.getApplicationContext().getSystemService( Context.WINDOW_SERVICE ); - if ( windowManager == null ) { - return; - } - WindowManager.LayoutParams params = new WindowManager.LayoutParams(); - params.height = WindowManager.LayoutParams.WRAP_CONTENT; - params.width = WindowManager.LayoutParams.WRAP_CONTENT; - params.gravity = Gravity.LEFT | Gravity.CENTER; - params.type = getFitWindowParamsType(); - params.format = PixelFormat.RGBA_8888; - params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON; - windowManager.addView( view, params ); - - attachMovementEvent( view, params ); - } - - private static int getFitWindowParamsType() { - int type; - if ( Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1 ) { - // Need request permission. - type = WindowManager.LayoutParams.TYPE_PHONE; - } else if ( Build.MODEL.equalsIgnoreCase( "MI 5" ) ) { - // MI 5 phone not display crawler dot in android 7.0 - type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT; - } else { - // It's will be dismissed automatically 3s after showing in Android 25. - type = WindowManager.LayoutParams.TYPE_TOAST; - } - return type; - } - - public static void removeView( View view ) { - if ( view == null || view.getContext() == null || view.getContext().getApplicationContext() == null ) { - return; - } - WindowManager windowManager = ( WindowManager ) view.getContext().getApplicationContext().getSystemService( Context.WINDOW_SERVICE ); - if ( windowManager == null ) { - return; - } - windowManager.removeViewImmediate( view ); - DispatchTouchEventWrapper.getInstance().release(); - - } - - public static void attachMovementEvent( View view, WindowManager.LayoutParams params ) { - if ( view == null ) { - return; - } - view.setOnTouchListener( ( v, event ) -> { - DispatchTouchEventWrapper.getInstance() - .attach( view, params ) - .handle( event ); - return false; - } ); - } - - static class DispatchTouchEventWrapper { - - private WindowViewHandler mWindowViewHandler; - - int mActionDownX = -1; - int mActionDownY = -1; - - /** - * Flag whether move after touch down. - */ - boolean mMoveFlag = false; - - private static volatile DispatchTouchEventWrapper INST; - - private DispatchTouchEventWrapper() { - } - - public static DispatchTouchEventWrapper getInstance() { - if ( INST == null ) { - synchronized ( DispatchTouchEventWrapper.class ) { - if ( INST == null ) { - INST = new DispatchTouchEventWrapper(); - } - } - } - return INST; - } - - public DispatchTouchEventWrapper attach( View windowView, WindowManager.LayoutParams params ) { - if ( mWindowViewHandler == null || mWindowViewHandler.getWindowView() != windowView ) { - mWindowViewHandler = new WindowViewHandler.DefaultHandler( windowView, params ); - } - return this; - } - - public boolean handle( MotionEvent event ) { - switch ( event.getAction() & MotionEvent.ACTION_MASK ) { - case MotionEvent.ACTION_DOWN: - if ( onActionDown( event ) ) { - return true; - } - break; - case MotionEvent.ACTION_MOVE: - if ( onActionMove( event ) ) { - return true; - } - break; - case MotionEvent.ACTION_UP: - if ( onActionUp( event ) ) { - return true; - } - break; - } - return false; - } - - private boolean onActionDown( MotionEvent event ) { - mActionDownX = ( ( int ) event.getRawX() ); - mActionDownY = ( ( int ) event.getRawY() ); - if ( mWindowViewHandler != null ) { - mWindowViewHandler.recordNewPosition(); - return true; - } - return false; - } - - private boolean onActionMove( MotionEvent event ) { - - if ( Math.abs( event.getRawX() - mActionDownX ) >= 20 - || Math.abs( event.getRawY() - mActionDownY ) >= 20 ) { - mMoveFlag = true; - } - - if ( isLastDownValueLegal() ) { - moveWindowView( event ); - return true; - } - return false; - } - - private boolean onActionUp( MotionEvent event ) { - if ( isClickEventLike() ) { - if ( mWindowViewHandler != null ) { - mWindowViewHandler.performClickLike(); - } - } else { - if ( mWindowViewHandler != null ) { - mWindowViewHandler.moveToEdge(); - mWindowViewHandler.recordNewPosition(); - } - } - mMoveFlag = false; - clearLastDownAxisValue(); - return true; - } - - private void clearLastDownAxisValue() { - mActionDownX = mActionDownY = -1; - } - - private boolean isLastDownValueLegal() { - return mActionDownX != -1 && mActionDownY != -1; - } - - private void moveWindowView( MotionEvent event ) { - if ( mWindowViewHandler != null ) { - mWindowViewHandler.move( event, mActionDownX, mActionDownY ); - } - } - - /** - * Simulate click event just like set {@link View.OnClickListener} - * - * @return - */ - private boolean isClickEventLike() { - System.out.println( mMoveFlag ); - return isLastDownValueLegal() && !mMoveFlag; - } - - public void release() { - if ( mWindowViewHandler != null ) { - mWindowViewHandler.release(); - } - mWindowViewHandler = null; - mActionDownX = -1; - mActionDownY = -1; - mMoveFlag = false; - INST = null; - } - } - -} diff --git a/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/WindowViewHandler.java b/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/WindowViewHandler.java deleted file mode 100644 index bbd48717cd..0000000000 --- a/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/WindowViewHandler.java +++ /dev/null @@ -1,119 +0,0 @@ -package com.mogo.module.back.utils; - -import android.content.Context; -import android.view.MotionEvent; -import android.view.View; -import android.view.WindowManager; - -import com.mogo.commons.AbsMogoApplication; -import com.mogo.utils.WindowUtils; - - -/** - * Created by congtaowang on 2017/6/20. - */ - -public interface WindowViewHandler { - - View getWindowView(); - - void recordNewPosition(); - - void move(MotionEvent event, int downX, int downY); - - void release(); - - void moveToEdge(); - - void performClickLike(); - - class DefaultHandler implements WindowViewHandler { - - protected View mWindowView; - - protected int mWindowViewLeft = -1; - protected int mWindowViewTop = -1; - - private WindowManager.LayoutParams mParams; - - public DefaultHandler( View windowView, WindowManager.LayoutParams params ) { - this.mWindowView = windowView; - mParams = params; - } - - @Override - public View getWindowView() { - return mWindowView; - } - - @Override - public void recordNewPosition() { - mWindowViewLeft = mParams.x; - mWindowViewTop = mParams.y; - } - - @Override - public void move( MotionEvent event, int downX, int downY ) { - move( ( ( int ) ( event.getRawX() - downX ) ), - ( ( int ) ( event.getRawY() - downY ) ) ); - } - - private void move( int distanceX, int distanceY ) { - if ( mWindowView == null ) { - return; - } - mParams.x = mWindowViewLeft + distanceX; - mParams.y = mWindowViewTop + distanceY; - WindowManager wm = ( ( WindowManager ) mWindowView.getContext().getSystemService( Context.WINDOW_SERVICE ) ); - - if ( wm == null ) { - return; - } - - if ( mWindowView instanceof WindowViewUIController ) { - if ( mParams.x > WindowUtils.getScreenWidth( AbsMogoApplication.getApp() ) / 2 ) { - ( ( WindowViewUIController ) mWindowView ).rightMode(); - } else { - ( ( WindowViewUIController ) mWindowView ).leftMode(); - } - } - - wm.updateViewLayout( mWindowView, alignLayoutParamsBoundary( mParams ) ); - } - - @Override - public void moveToEdge() { - if ( mWindowView == null ) { - return; - } - WindowManager wm = ( ( WindowManager ) mWindowView.getContext().getSystemService( Context.WINDOW_SERVICE ) ); - - if ( mParams.x > WindowUtils.getScreenWidth( AbsMogoApplication.getApp() ) / 2 ) { - mParams.x = WindowUtils.getScreenWidth( AbsMogoApplication.getApp() ) - mWindowView.getMeasuredWidth(); - } else { - mParams.x = 0; - } - - wm.updateViewLayout( mWindowView, alignLayoutParamsBoundary( mParams ) ); - } - - protected WindowManager.LayoutParams alignLayoutParamsBoundary( WindowManager.LayoutParams params ) { - return params; - } - - @Override - public void performClickLike() { - if ( mWindowView instanceof WindowViewUIController ) { - ( ( WindowViewUIController ) mWindowView ).performClickLike(); - } - } - - @Override - public void release() { - mWindowView = null; - mWindowViewLeft = -1; - mWindowViewTop = -1; - } - } - -} diff --git a/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/WindowViewUIController.java b/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/WindowViewUIController.java deleted file mode 100644 index e329cdea68..0000000000 --- a/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/WindowViewUIController.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.mogo.module.back.utils; - -/** - * @author congtaowang - * @since 2019-05-12 - *

- * 描述 - */ -public interface WindowViewUIController { - - void leftMode(); - - void rightMode(); - - void performClickLike(); -} diff --git a/modules/mogo-module-back/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-back/src/main/res/values-xhdpi/dimens.xml index bd57c0f8ae..e0b0d888aa 100644 --- a/modules/mogo-module-back/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-back/src/main/res/values-xhdpi/dimens.xml @@ -1,8 +1,8 @@ 140px - 0px - 190px + 30px + 230px diff --git a/modules/mogo-module-back/src/main/res/values/dimens.xml b/modules/mogo-module-back/src/main/res/values/dimens.xml index dfab5dd86c..a50305933f 100644 --- a/modules/mogo-module-back/src/main/res/values/dimens.xml +++ b/modules/mogo-module-back/src/main/res/values/dimens.xml @@ -1,7 +1,7 @@ 80px - 0px - 100px + 16px + 140px \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml index 446c7541b0..222f293173 100644 --- a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml +++ b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml @@ -12,6 +12,7 @@ android:gravity="center" android:paddingStart="@dimen/module_ext_weather_container_paddingLeft" android:paddingEnd="@dimen/module_ext_weather_container_paddingRight" + android:layout_marginEnd="@dimen/module_ext_msg_marginRight" android:visibility="invisible" app:layout_constraintRight_toLeftOf="@+id/module_ext_id_msg" app:layout_constraintTop_toTopOf="parent" diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/module/IMogoModuleProvider.java b/services/mogo-service-api/src/main/java/com/mogo/service/module/IMogoModuleProvider.java index 59dad0341e..524010759b 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/module/IMogoModuleProvider.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/module/IMogoModuleProvider.java @@ -51,7 +51,10 @@ public interface IMogoModuleProvider extends IProvider { * * @return */ - IMogoModuleLifecycle getCardLifecycle(); + @Deprecated + default IMogoModuleLifecycle getCardLifecycle() { + return null; + } /** * 地图监听对象 @@ -60,7 +63,9 @@ public interface IMogoModuleProvider extends IProvider { * @return */ @Deprecated - IMogoMapListener getMapListener(); + default IMogoMapListener getMapListener() { + return null; + } /** * 是哪种类型的提供者 @@ -78,7 +83,9 @@ public interface IMogoModuleProvider extends IProvider { * @return */ @Deprecated - IMogoNaviListener getNaviListener(); + default IMogoNaviListener getNaviListener() { + return null; + } /** * 定位变化监听:此接口接受地图定位信息 @@ -87,7 +94,9 @@ public interface IMogoModuleProvider extends IProvider { * @return */ @Deprecated - IMogoLocationListener getLocationListener(); + default IMogoLocationListener getLocationListener() { + return null; + } /** * marker 点击回调 @@ -96,19 +105,27 @@ public interface IMogoModuleProvider extends IProvider { * @return */ @Deprecated - IMogoMarkerClickListener getMarkerClickListener(); + default IMogoMarkerClickListener getMarkerClickListener() { + return null; + } /** * 获取模块对应 app 的包名 * * @return */ - String getAppPackage(); + @Deprecated + default String getAppPackage() { + return ""; + } /** * 获取对应模块 app 名称 * * @return */ - String getAppName(); + @Deprecated + default String getAppName() { + return ""; + } } From 0b26d689a5e5ad7c82dc8a552dd0dfff1d4afac5 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Fri, 14 Aug 2020 16:13:03 +0800 Subject: [PATCH 03/74] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=B8=BB=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E5=AF=B9=E8=BF=94=E5=9B=9E=E6=A8=A1=E5=9D=97=E7=9A=84?= =?UTF-8?q?=E8=80=A6=E5=90=88=E5=85=B3=E7=B3=BB=EF=BC=8C=E5=B0=BD=E9=87=8F?= =?UTF-8?q?=E8=AE=A9=E5=8A=9F=E8=83=BD=E5=9C=A8application=E9=87=8C?= =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=8A=A0=E8=BD=BD=E5=92=8C=E5=88=86=E9=85=8D?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 2 ++ .../main/java/com/mogo/launcher/MogoApplication.java | 3 ++- .../module/main/launcher/MainLauncherActivity.java | 11 ----------- modules/mogo-module-main/build.gradle | 2 -- .../main/java/com/mogo/module/main/MainActivity.java | 8 -------- 5 files changed, 4 insertions(+), 22 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 011d1620a1..9141820b14 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -268,6 +268,7 @@ dependencies { implementation rootProject.ext.dependencies.moduletanluapi implementation rootProject.ext.dependencies.mogomonitor implementation rootProject.ext.dependencies.mogomodulewidgets + implementation rootProject.ext.dependencies.mogomoduleback } else { launcherImplementation project(':main-extensions:mogo-module-main-launcher') independentImplementation project(':main-extensions:mogo-module-main-independent') @@ -285,6 +286,7 @@ dependencies { implementation project(':libraries:mogo-tanlu-api') implementation project(':modules:mogo-module-monitor') implementation project(':modules:mogo-module-widgets') + implementation project(':modules:mogo-module-back') } apply from: "./functions/baseservices.gradle" diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index 99cd7e7447..9fe3dd3a05 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -12,6 +12,7 @@ import com.mogo.commons.AbsMogoApplication; import com.mogo.commons.debug.DebugConfig; import com.mogo.commons.network.Utils; import com.mogo.module.authorize.authprovider.invoke.AuthorizeConstant; +import com.mogo.module.back.BackToLauncherConst; import com.mogo.module.carchatting.card.CallChatConstant; import com.mogo.module.common.MogoModule; import com.mogo.module.common.MogoModulePaths; @@ -57,8 +58,8 @@ public class MogoApplication extends AbsMogoApplication { // MogoModulePaths.addModule(new MogoModule(PATH_GUIDE_FRAGMENT, PATH_GUIDE_MODULE_NAME)); MogoModulePaths.addModule( new MogoModule( MogoServicePaths.PATH_AGREEMENT, AuthorizeConstant.PATH_AGREEMENT_MODULE_NAME ) ); - //运营位卡片,需要默认显示,放在第一个加载 if ( DebugConfig.isLauncher() ) { + MogoModulePaths.addModule( new MogoModule( BackToLauncherConst.MODULE_PATH, BackToLauncherConst.MODULE_NAME ) ); MogoModulePaths.addModule( new MogoModule( MediaConstants.TAG, MediaConstants.MODULE_TYPE ) ); } else { MogoModulePaths.addBaseModule( new MogoModule( MogoWidgetsProvider.PATH, MogoWidgetsProvider.NAME ) ); diff --git a/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java b/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java index a788b150f9..48700344f5 100644 --- a/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java +++ b/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java @@ -7,15 +7,10 @@ import android.view.View; import androidx.annotation.Nullable; -import com.mogo.module.back.BackToLauncherConst; -import com.mogo.module.common.MogoModule; -import com.mogo.module.common.MogoModulePaths; -import com.mogo.module.common.utils.CarSeries; import com.mogo.module.extensions.utils.ExtensionsConfig; import com.mogo.module.main.MainActivity; import com.mogo.module.main.cards.MogoModulesManager; import com.mogo.service.intent.IMogoIntentListener; -import com.mogo.utils.logger.Logger; /** * 针对作为Launcher的情况,做个性化操作 @@ -32,12 +27,6 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis ExtensionsConfig.setNeedRequestUserInfo( true ); } - @Override - protected void addModule() { - super.addModule(); - MogoModulePaths.addModule( new MogoModule( BackToLauncherConst.MODULE_PATH, BackToLauncherConst.MODULE_NAME ) ); - } - @Override protected void loadContainerModules() { super.loadContainerModules(); diff --git a/modules/mogo-module-main/build.gradle b/modules/mogo-module-main/build.gradle index 15cea46fba..f900dbe293 100644 --- a/modules/mogo-module-main/build.gradle +++ b/modules/mogo-module-main/build.gradle @@ -50,7 +50,6 @@ dependencies { api rootProject.ext.dependencies.moduleservice api rootProject.ext.dependencies.moduleapps api rootProject.ext.dependencies.moduleextensions - api rootProject.ext.dependencies.mogomoduleback } else { api project(":foudations:mogo-utils") api project(":foudations:mogo-commons") @@ -61,7 +60,6 @@ dependencies { api project(':services:mogo-service') api project(':modules:mogo-module-apps') api project(':modules:mogo-module-extensions') - api project(':modules:mogo-module-back') } } diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java index 076535be25..7975e3c195 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java @@ -152,7 +152,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme MapCenterPointStrategy.setMapCenterPointByScene( mMogoMapUIController, Scene.AIMLESS ); // 加载地图,触发地图加载完毕回调,在初始化其他卡片模块,保证卡片模块可以正确获取地图相关服务。 - addModule(); loadContainerModules(); MogoModulesManager.getInstance().loadModules(); mPresenter.delayOperations(); @@ -185,13 +184,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme startService( intent ); } - /** - * 添加模块 - */ - protected void addModule() { - - } - protected void loadContainerModules() { // MogoModulesManager.getInstance().loadExtensionsModule( R.id.module_main_id_header_fragment_container ); MogoModulesManager.getInstance().loadEntrancesModule( R.id.module_main_id_entrance_fragment_container ); From 6dad21af4bb289e8e53dd4d021689c0501aff906 Mon Sep 17 00:00:00 2001 From: liujing Date: Fri, 14 Aug 2020 16:36:24 +0800 Subject: [PATCH 04/74] ui --- .../src/main/res/layout/item_v2x_event_share_no_more.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_share_no_more.xml b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_share_no_more.xml index 79f0a1a814..9e55b321e9 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_share_no_more.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_share_no_more.xml @@ -2,8 +2,8 @@ + android:paddingTop="16px" + android:paddingBottom="30px"> + android:textSize="14px" /> Date: Fri, 14 Aug 2020 16:36:24 +0800 Subject: [PATCH 05/74] ui --- .../src/main/res/layout/item_v2x_event_share_no_more.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_share_no_more.xml b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_share_no_more.xml index 79f0a1a814..9e55b321e9 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_share_no_more.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_share_no_more.xml @@ -2,8 +2,8 @@ + android:paddingTop="16px" + android:paddingBottom="30px"> + android:textSize="14px" /> Date: Fri, 14 Aug 2020 16:41:55 +0800 Subject: [PATCH 06/74] =?UTF-8?q?=E3=80=90=E6=99=BA=E6=85=A7=E9=A9=BE?= =?UTF-8?q?=E9=A9=B61.1.2=E3=80=91=E8=AF=AD=E9=9F=B3tab=E9=A1=B5=E6=A0=87?= =?UTF-8?q?=E7=AD=BE=EF=BC=8C=E4=BC=9A=E5=A4=9A=E8=A7=A6=E5=8F=91=E5=9F=8B?= =?UTF-8?q?=E7=82=B9=20http://jira.zhidaohulian.com/browse/E85XJD-161?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/misc.xml | 2 +- .../adapter/holder/V2XOtherSeekHelpVH.java | 22 ++++++++++++++----- .../V2XScenarioHistoryOtherSeekHelpVH.java | 21 +++++++++++++----- .../v2x/fragment/V2XEventPanelFragment.kt | 6 ++--- .../src/main/res/raw/scenario_seek_help.json | 2 +- 5 files changed, 36 insertions(+), 17 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index 21e99e2dc0..cd77a1f062 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -4,7 +4,7 @@ - + \ No newline at end of file diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XOtherSeekHelpVH.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XOtherSeekHelpVH.java index 57bb85ae10..537f4f2b45 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XOtherSeekHelpVH.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XOtherSeekHelpVH.java @@ -170,12 +170,22 @@ public class V2XOtherSeekHelpVH extends V2XBaseViewHolder { .displayImage(mV2XPushMessageEntity.getHeadImgUrl(), ivHead); } tvName.setText(mV2XPushMessageEntity.getDisplayName()); - SpanUtils.with(tvDistance) - .append("" + (int) mV2XPushMessageEntity.getDistance()) - .setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_text)) - .append("m") - .setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_title)) - .create(); + + if (mV2XPushMessageEntity.getDistance() > 1000) { + SpanUtils.with(tvDistance) + .append("" + (int) mV2XPushMessageEntity.getDistance() / 1000) + .setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_text)) + .append("km") + .setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_title)) + .create(); + } else { + SpanUtils.with(tvDistance) + .append("" + (int) mV2XPushMessageEntity.getDistance()) + .setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_text)) + .append("m") + .setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_title)) + .create(); + } SimpleDateFormat sdf = new SimpleDateFormat("HH:mm", Locale.CHINA); String eventTime = String.format("%s发布求助信息", sdf.format(new Date(mV2XPushMessageEntity.getCreateTime()))); diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XScenarioHistoryOtherSeekHelpVH.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XScenarioHistoryOtherSeekHelpVH.java index e729e747b3..a6fe789e8f 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XScenarioHistoryOtherSeekHelpVH.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XScenarioHistoryOtherSeekHelpVH.java @@ -80,12 +80,21 @@ public class V2XScenarioHistoryOtherSeekHelpVH extends V2XBaseViewHolder 1000) { + SpanUtils.with(mTvFaultHelpDistance) + .append("" + (int) xPushMessageEntity.getDistance() / 1000) + .setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_text)) + .append("km") + .setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_title)) + .create(); + } else { + SpanUtils.with(mTvFaultHelpDistance) + .append("" + (int) xPushMessageEntity.getDistance()) + .setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_text)) + .append("m") + .setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_title)) + .create(); + } SimpleDateFormat sdf = new SimpleDateFormat("HH:mm", Locale.CHINA); String eventTime = String.format("%s发布求助信息", sdf.format(new Date(xPushMessageEntity.getCreateTime()))); diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt index 016d087b53..c4e71eae6f 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt @@ -49,7 +49,7 @@ class V2XEventPanelFragment : MvpFragment try { - rgTabSelect?.check(R.id.rbScenarioHistory) + rbScenarioHistory?.isChecked=true } catch (e: java.lang.Exception) { e.printStackTrace() } @@ -58,7 +58,7 @@ class V2XEventPanelFragment : MvpFragment try { - rgTabSelect?.check(R.id.rbSurroundingEvent) + rbSurroundingEvent?.isChecked=true } catch (e: java.lang.Exception) { e.printStackTrace() } @@ -67,7 +67,7 @@ class V2XEventPanelFragment : MvpFragment try { - rgTabSelect?.check(R.id.rbShareEvents) + rbShareEvents?.isChecked=true } catch (e: java.lang.Exception) { e.printStackTrace() } diff --git a/modules/mogo-module-v2x/src/main/res/raw/scenario_seek_help.json b/modules/mogo-module-v2x/src/main/res/raw/scenario_seek_help.json index a4667dded3..cd5cf436af 100644 --- a/modules/mogo-module-v2x/src/main/res/raw/scenario_seek_help.json +++ b/modules/mogo-module-v2x/src/main/res/raw/scenario_seek_help.json @@ -3,7 +3,7 @@ { "createTime":1593678359872, "distance":100, - "lat":39.966668, + "lat":39.866668, "lon":116.411211, "sn":"ZD801B1932L00041", "targetId":20007, From f18bd5c863fa02b8f17ad56f935640e5f58873ef Mon Sep 17 00:00:00 2001 From: liujing Date: Fri, 14 Aug 2020 16:44:10 +0800 Subject: [PATCH 07/74] =?UTF-8?q?[rm]=20=20=E5=88=A0=E9=99=A4=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v2x/adapter/V2XShareEventAdapter.java | 2 +- .../layout/item_v2x_event_share_no_more.xml | 45 ------------------- 2 files changed, 1 insertion(+), 46 deletions(-) delete mode 100644 modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_share_no_more.xml diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/V2XShareEventAdapter.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/V2XShareEventAdapter.java index 1768ed13bf..3a84438115 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/V2XShareEventAdapter.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/V2XShareEventAdapter.java @@ -66,7 +66,7 @@ public class V2XShareEventAdapter extends RecyclerView.Adapter - - - - - - - - - - \ No newline at end of file From 819b6ad1764553bab35fb197390d894fd773232b Mon Sep 17 00:00:00 2001 From: liujing Date: Fri, 14 Aug 2020 16:44:10 +0800 Subject: [PATCH 08/74] =?UTF-8?q?[rm]=20=20=E5=88=A0=E9=99=A4=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v2x/adapter/V2XShareEventAdapter.java | 2 +- .../layout/item_v2x_event_share_no_more.xml | 45 ------------------- 2 files changed, 1 insertion(+), 46 deletions(-) delete mode 100644 modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_share_no_more.xml diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/V2XShareEventAdapter.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/V2XShareEventAdapter.java index 1768ed13bf..3a84438115 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/V2XShareEventAdapter.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/V2XShareEventAdapter.java @@ -66,7 +66,7 @@ public class V2XShareEventAdapter extends RecyclerView.Adapter - - - - - - - - - - \ No newline at end of file From adb590e7e453f4790267ba57559874c6501fedf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Fri, 14 Aug 2020 16:45:30 +0800 Subject: [PATCH 09/74] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo-module-v2x/src/main/res/raw/scenario_seek_help.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/mogo-module-v2x/src/main/res/raw/scenario_seek_help.json b/modules/mogo-module-v2x/src/main/res/raw/scenario_seek_help.json index cd5cf436af..2f6a9823ac 100644 --- a/modules/mogo-module-v2x/src/main/res/raw/scenario_seek_help.json +++ b/modules/mogo-module-v2x/src/main/res/raw/scenario_seek_help.json @@ -2,7 +2,7 @@ "coordinates":[ { "createTime":1593678359872, - "distance":100, + "distance":1100, "lat":39.866668, "lon":116.411211, "sn":"ZD801B1932L00041", From de31de92b9fea14575d769421c41c9aa6f7be0a2 Mon Sep 17 00:00:00 2001 From: liujing Date: Fri, 14 Aug 2020 18:13:39 +0800 Subject: [PATCH 10/74] =?UTF-8?q?=E6=97=A0=E5=88=86=E4=BA=AB=E5=86=85?= =?UTF-8?q?=E5=AE=B9,=E9=A2=91=E7=B9=81=E5=88=B7=E6=96=B0=E5=88=86?= =?UTF-8?q?=E4=BA=AB=E5=88=97=E8=A1=A8bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/v2x/fragment/V2XShareEventsFragment.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XShareEventsFragment.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XShareEventsFragment.java index 3c876c725e..2d8049e13c 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XShareEventsFragment.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XShareEventsFragment.java @@ -32,7 +32,7 @@ public class V2XShareEventsFragment extends MvpFragment implements AdapterCallba private static final String TAG = "ShareEventsFragment"; private RecyclerView recyclerView; private V2XShareEventAdapter adapter; - private ArrayList dataArrayList =new ArrayList(); + private ArrayList dataArrayList = new ArrayList(); ; private int pageNum = 1; private V2XShareNetworkModel v2XShareNetworkModel; @@ -80,6 +80,7 @@ public class V2XShareEventsFragment extends MvpFragment implements AdapterCallba @Override public void getShareEventResponse() { animatioonAcction(View.VISIBLE); + v2XShareNetworkModel.getShareEventResponse(pageNum, 10, new V2XRefreshCallback() { @Override public void onSuccess(Object result) { @@ -88,6 +89,9 @@ public class V2XShareEventsFragment extends MvpFragment implements AdapterCallba if (resultData != null && resultData.getResult() != null && resultData.getResult().getEnthusiasmIndex() != null) { + if (dataArrayList.size() > 0) { + dataArrayList.clear(); + } dataArrayList.add(resultData.getResult().getEnthusiasmIndex()); Log.d(TAG, "热心指数:" + resultData.getResult().getEnthusiasmIndex()); } @@ -98,7 +102,7 @@ public class V2XShareEventsFragment extends MvpFragment implements AdapterCallba @Override public void onFail(String msg) { - loadingView.stopWithError(msg,View.VISIBLE); + loadingView.stopWithError(msg, View.VISIBLE); loadingView.refresButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -184,7 +188,7 @@ public class V2XShareEventsFragment extends MvpFragment implements AdapterCallba @Override public void onFail(String msg) { - loadingView.stopWithError(msg,View.INVISIBLE); + loadingView.stopWithError(msg, View.INVISIBLE); } }); } From c5ea99903615694202ab5a3a4e809c7282eaab6a Mon Sep 17 00:00:00 2001 From: liujing Date: Fri, 14 Aug 2020 18:13:39 +0800 Subject: [PATCH 11/74] =?UTF-8?q?=E6=97=A0=E5=88=86=E4=BA=AB=E5=86=85?= =?UTF-8?q?=E5=AE=B9,=E9=A2=91=E7=B9=81=E5=88=B7=E6=96=B0=E5=88=86?= =?UTF-8?q?=E4=BA=AB=E5=88=97=E8=A1=A8bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/v2x/fragment/V2XShareEventsFragment.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XShareEventsFragment.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XShareEventsFragment.java index 3c876c725e..2d8049e13c 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XShareEventsFragment.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XShareEventsFragment.java @@ -32,7 +32,7 @@ public class V2XShareEventsFragment extends MvpFragment implements AdapterCallba private static final String TAG = "ShareEventsFragment"; private RecyclerView recyclerView; private V2XShareEventAdapter adapter; - private ArrayList dataArrayList =new ArrayList(); + private ArrayList dataArrayList = new ArrayList(); ; private int pageNum = 1; private V2XShareNetworkModel v2XShareNetworkModel; @@ -80,6 +80,7 @@ public class V2XShareEventsFragment extends MvpFragment implements AdapterCallba @Override public void getShareEventResponse() { animatioonAcction(View.VISIBLE); + v2XShareNetworkModel.getShareEventResponse(pageNum, 10, new V2XRefreshCallback() { @Override public void onSuccess(Object result) { @@ -88,6 +89,9 @@ public class V2XShareEventsFragment extends MvpFragment implements AdapterCallba if (resultData != null && resultData.getResult() != null && resultData.getResult().getEnthusiasmIndex() != null) { + if (dataArrayList.size() > 0) { + dataArrayList.clear(); + } dataArrayList.add(resultData.getResult().getEnthusiasmIndex()); Log.d(TAG, "热心指数:" + resultData.getResult().getEnthusiasmIndex()); } @@ -98,7 +102,7 @@ public class V2XShareEventsFragment extends MvpFragment implements AdapterCallba @Override public void onFail(String msg) { - loadingView.stopWithError(msg,View.VISIBLE); + loadingView.stopWithError(msg, View.VISIBLE); loadingView.refresButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -184,7 +188,7 @@ public class V2XShareEventsFragment extends MvpFragment implements AdapterCallba @Override public void onFail(String msg) { - loadingView.stopWithError(msg,View.INVISIBLE); + loadingView.stopWithError(msg, View.INVISIBLE); } }); } From 22fd42d9235efad99a87c1452861b6f0b0024bcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Fri, 14 Aug 2020 19:01:27 +0800 Subject: [PATCH 12/74] =?UTF-8?q?=E3=80=90=E6=99=BA=E6=85=A7=E9=A9=BE?= =?UTF-8?q?=E9=A9=B61.1.2=E3=80=91=E7=82=B9=E5=87=BB=E5=85=B6=E4=BB=96?= =?UTF-8?q?=E8=BD=A6=E5=8F=8B=E6=B1=82=E5=8A=A9=E7=9A=84=E3=80=90=E5=AF=BC?= =?UTF-8?q?=E8=88=AA=E3=80=91=E6=8C=89=E9=92=AE=EF=BC=8C=E5=88=86=E6=95=B0?= =?UTF-8?q?=E6=9C=AA=E5=A2=9E=E5=8A=A0=20http://jira.zhidaohulian.com/brow?= =?UTF-8?q?se/E85XJD-163?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v2x/adapter/holder/V2XScenarioHistoryOtherSeekHelpVH.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XScenarioHistoryOtherSeekHelpVH.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XScenarioHistoryOtherSeekHelpVH.java index a6fe789e8f..b8b3d16bba 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XScenarioHistoryOtherSeekHelpVH.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XScenarioHistoryOtherSeekHelpVH.java @@ -111,6 +111,7 @@ public class V2XScenarioHistoryOtherSeekHelpVH extends V2XBaseViewHolder { + V2XServiceManager.getV2XRefreshModel().respondingToHelp(mUserInfo.getSn()); triggerStartNavi(mNoveltyInfo); }); @@ -134,6 +135,7 @@ public class V2XScenarioHistoryOtherSeekHelpVH extends V2XBaseViewHolder { if (!V2XUtils.isFastClick()) { + V2XServiceManager.getV2XRefreshModel().respondingToHelp(mUserInfo.getSn()); try { mUserInfo.setSn(xPushMessageEntity.getSn()); mUserInfo.setUserHead(xPushMessageEntity.getHeadImgUrl()); @@ -156,7 +158,6 @@ public class V2XScenarioHistoryOtherSeekHelpVH extends V2XBaseViewHolder Date: Fri, 14 Aug 2020 19:07:45 +0800 Subject: [PATCH 13/74] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=E8=AF=AD?= =?UTF-8?q?=E9=9F=B3=E5=85=B3=E9=97=AD=E9=9D=A2=E6=9D=BF=E7=9A=84=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt index c4e71eae6f..297ac9d014 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt @@ -76,6 +76,7 @@ class V2XEventPanelFragment : MvpFragment try { + TrackUtils.trackV2xHistoryEvent(5) hidePanel() } catch (e: java.lang.Exception) { e.printStackTrace() From 5ddbffd7f8104fd683259dde377cb0125996f0a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Fri, 14 Aug 2020 21:17:58 +0800 Subject: [PATCH 14/74] =?UTF-8?q?=E5=88=A0=E6=8E=89=E4=BA=86canLive?= =?UTF-8?q?=E7=9A=84=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manager/impl/MoGoV2XMarkerManager.java | 23 ++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) 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 bef7d59ab0..6ab7028046 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 @@ -132,20 +132,17 @@ public class MoGoV2XMarkerManager implements IMoGoV2XMarkerManager { if (exploreWayList != null) { for (MarkerExploreWay markerExploreWay : exploreWayList) { - // 因为目前探路卡片不支持直播,所以这里做了过滤 @李小鹏 - if (!markerExploreWay.getCanLive()) { - if (EventTypeUtils.isRoadEvent(markerExploreWay.getPoiType())) { - MarkerLocation markerLocation = markerExploreWay.getLocation(); - // 记录道路事件 - V2XRoadEventEntity v2XRoadEventEntity = new V2XRoadEventEntity(); - v2XRoadEventEntity.setLocation(markerLocation); - // 探路目前只有上报拥堵 - v2XRoadEventEntity.setPoiType(markerExploreWay.getPoiType()); + if (EventTypeUtils.isRoadEvent(markerExploreWay.getPoiType())) { + MarkerLocation markerLocation = markerExploreWay.getLocation(); + // 记录道路事件 + V2XRoadEventEntity v2XRoadEventEntity = new V2XRoadEventEntity(); + v2XRoadEventEntity.setLocation(markerLocation); + // 探路目前只有上报拥堵 + v2XRoadEventEntity.setPoiType(markerExploreWay.getPoiType()); - v2XRoadEventEntity.setNoveltyInfo(markerExploreWay); - v2XRoadEventEntity.setExpireTime(20000); - mV2XRoadEventEntityArrayList.add(v2XRoadEventEntity); - } + v2XRoadEventEntity.setNoveltyInfo(markerExploreWay); + v2XRoadEventEntity.setExpireTime(20000); + mV2XRoadEventEntityArrayList.add(v2XRoadEventEntity); } } } From 6d24a57eaf7a150fc31058b4001b8e3319aed036 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Mon, 17 Aug 2020 11:14:51 +0800 Subject: [PATCH 15/74] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=20=E3=80=90?= =?UTF-8?q?=E6=99=BA=E6=85=A7=E9=A9=BE=E9=A9=B61.1.2=E3=80=91=E5=87=BA?= =?UTF-8?q?=E8=A1=8C=E5=8A=A8=E6=80=81=EF=BC=8C=E6=97=B6=E9=97=B4=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E4=B8=BA=E7=AC=AC=E4=BA=8C=E6=97=A5=EF=BC=8C=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E6=95=B0=E6=8D=AE=E6=9C=AA=E6=B8=85=E7=A9=BA=20http:/?= =?UTF-8?q?/jira.zhidaohulian.com/browse/E85XJD-167?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mogo/module/v2x/V2XModuleProvider.java | 3 --- .../mogo/module/v2x/fragment/V2XScenarioHistoryFragment.java | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XModuleProvider.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XModuleProvider.java index ba01c75bbf..c966d01ef4 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XModuleProvider.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XModuleProvider.java @@ -31,7 +31,6 @@ import com.mogo.module.v2x.scenario.scene.park.V2XIllegalParkScenario; import com.mogo.module.v2x.scenario.scene.park.V2XIllegalParkWindow; import com.mogo.module.v2x.utils.FatigueDrivingUtils; import com.mogo.module.v2x.utils.TimeUtils; -import com.mogo.module.v2x.utils.V2XSQLiteUtils; import com.mogo.module.v2x.utils.V2XUtils; import com.mogo.module.v2x.voice.V2XVoiceManager; import com.mogo.service.module.IMogoModuleLifecycle; @@ -156,8 +155,6 @@ public class V2XModuleProvider implements } // 刷新配置文件 refreshStrategyConfig(); - // 清除V2X事件数据库中过期的数据,数据有效期为24小时 - V2XSQLiteUtils.clearYesterdayScenarioHistoryData(); } /** diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XScenarioHistoryFragment.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XScenarioHistoryFragment.java index f1ca65c970..9211a4f569 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XScenarioHistoryFragment.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XScenarioHistoryFragment.java @@ -19,6 +19,7 @@ import com.mogo.module.v2x.manager.IMoGoV2XStatusChangedListener; import com.mogo.module.v2x.manager.V2XStatusDescriptor; import com.mogo.module.v2x.presenter.ScenarioHistoryPresenter; import com.mogo.module.v2x.utils.ThreadUtils; +import com.mogo.module.v2x.utils.V2XSQLiteUtils; import com.mogo.module.v2x.view.V2XListEmptyView; import com.mogo.utils.logger.Logger; import com.mogo.utils.network.utils.GsonUtil; @@ -130,6 +131,8 @@ public class V2XScenarioHistoryFragment @Override public void onResume() { super.onResume(); + // 清除V2X事件数据库中过期的数据,数据有效期为24小时 + V2XSQLiteUtils.clearYesterdayScenarioHistoryData(); mPresenter.loadHistory(); } From aa0081990a65e5ba1a92ed97dd7013c47707a586 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Mon, 17 Aug 2020 11:53:17 +0800 Subject: [PATCH 16/74] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E5=8C=B9=E9=85=8D=E7=AD=96=E7=95=A5=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mogo/module/v2x/V2XConst.java | 1 + .../module/v2x/listener/V2XLocationListener.java | 2 ++ .../v2x/listener/V2XMessageListener_401012.java | 2 ++ .../com/mogo/module/v2x/utils/TrackUtils.java | 15 +++++++++++++++ 4 files changed, 20 insertions(+) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XConst.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XConst.java index bb79de34e4..986804044a 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XConst.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XConst.java @@ -60,6 +60,7 @@ public class V2XConst { public static final String V2X_ROAD_SHOW = "v2x_road_show"; public static final String V2X_ROAD_EVET = "v2x_road_event"; public static final String V2X_ROAD_EVET_HISTORY_BUTTON = "V2X_button_click"; + public static final String V2X_ROAD_PRODUCE = "v2x_road_produce"; /** * V2X 道路事件操作类型 */ diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/listener/V2XLocationListener.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/listener/V2XLocationListener.java index 15654165b7..c70ac2c702 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/listener/V2XLocationListener.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/listener/V2XLocationListener.java @@ -26,6 +26,7 @@ import com.mogo.module.v2x.utils.ADASUtils; import com.mogo.module.v2x.utils.DrivingDirectionUtils; import com.mogo.module.v2x.utils.LocationUtils; import com.mogo.module.v2x.utils.MarkerUtils; +import com.mogo.module.v2x.utils.TrackUtils; import com.mogo.utils.logger.Logger; import com.mogo.utils.network.utils.GsonUtil; @@ -157,6 +158,7 @@ public class V2XLocationListener implements IMogoLocationListener, CarStatusList ); // Logger.w(MODULE_NAME, "V2X预警--前方数据距离:" + v2XRoadEventEntity.getDistance()); // 触发展示操作 + TrackUtils.trackV2xRoadProduceEvent(1); V2XMessageEntity v2XMessageEntity = new V2XMessageEntity<>(); v2XMessageEntity.setType(V2XMessageEntity.V2XTypeEnum.ALERT_ROAD_WARNING); v2XMessageEntity.setContent(v2XRoadEventEntity); diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/listener/V2XMessageListener_401012.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/listener/V2XMessageListener_401012.java index 2c794c6e75..aeb1c8d287 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/listener/V2XMessageListener_401012.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/listener/V2XMessageListener_401012.java @@ -17,6 +17,7 @@ import com.mogo.module.v2x.V2XServiceManager; import com.mogo.module.v2x.alarm.V2XAlarmServer; import com.mogo.module.v2x.utils.TimeConstants; import com.mogo.module.v2x.utils.TimeUtils; +import com.mogo.module.v2x.utils.TrackUtils; import com.mogo.module.v2x.utils.V2XUtils; import com.mogo.service.connection.IMogoOnMessageListener; import com.mogo.utils.logger.Logger; @@ -42,6 +43,7 @@ public class V2XMessageListener_401012 implements IMogoOnMessageListener properties = new HashMap<>(); + properties.put("type", type); + V2XServiceManager.getMogoAnalytics().track(V2XConst.V2X_ROAD_PRODUCE, properties); + } catch (Exception e) { + e.printStackTrace(); + } + } } From 5edc2401b953ec82f2a44d9a61e3a5239a3f9f39 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Fri, 14 Aug 2020 15:44:24 +0800 Subject: [PATCH 17/74] modify tl lib --- .../service/CarCorderController.kt | 44 ++++++++++++++----- .../service/CosStatusController.kt | 23 +++++++--- .../roadcondition/service/MainService.kt | 15 ++++--- .../service/MainServiceController.kt | 14 +++--- .../com/zhidao/roadcondition/util/PdUtil.kt | 9 ++-- 5 files changed, 74 insertions(+), 31 deletions(-) diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/CarCorderController.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/CarCorderController.kt index 24002c1042..63bb1e8d6b 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/CarCorderController.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/CarCorderController.kt @@ -34,6 +34,8 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { var mType: String = "" //1 上报拥堵, 2 封路和查车 var mainInfoId: Long = 0 var mFromType: String = "" + private var mLongitude: Double = 0.0 + private var mLatitude: Double = 0.0 private var getVideoFailed: (() -> Unit)? = null private var interceptors: ArrayList = ArrayList(1) @@ -69,12 +71,16 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { isCustom: Boolean = false, type: String, mainInfoId: Long, - fromType: String + fromType: String, + longitude: Double, + latitude: Double ) { Log.d(TAG, "takePhoto ---------- type = $type --- mType = $mType ---fromType = $fromType") this.mType = type this.mainInfoId = mainInfoId this.mFromType = fromType + this.mLongitude = longitude + this.mLatitude = latitude CustomStatusHandler.offerPhotoStatus(isCustom) zdCarCoderController.takePhoto(photoType, cameraId, haveVoice) trackGetPhoto(1) @@ -91,13 +97,16 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { id: Long = 0L, type: String, mainInfoId: Long, - fromType: String + fromType: String, + longitude: Double, + latitude: Double ) { - Log.d(TAG, "takeVideo -------- type = $type") - Log.d(TAG, "takeVideo -------- isCustom = $isCustom ---mFromType = $mFromType") + Log.d(TAG, "takeVideo -------- isCustom = $isCustom ---mFromType = $mFromType ---type = $type" ) this.mType = type this.mainInfoId = mainInfoId this.mFromType = fromType + this.mLongitude = longitude + this.mLatitude = latitude if (DebugConfig.getCarMachineType() == 0) { //自研车机 outputVideoPath = getCompressVideoPath() CustomStatusHandler.offerVideoStatus(TakeEntity(isCustom, id)) @@ -118,7 +127,9 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { videoAndThumbMap, mType, entity, - mainInfoId + mainInfoId, + mLongitude, + mLatitude ) //地图上打点 @@ -177,7 +188,9 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { mutableMapOf("pic" to "" as String), mType, entity, - mainInfoId + mainInfoId, + mLongitude, + mLatitude ); } } @@ -219,7 +232,8 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { if (!TextUtils.isEmpty(mType)) { Log.d(TAG, "onTakePhotoSuccess mType != null") - CosStatusController().uploadFile(mutableListOf(photoPath as String), entity, mType, mainInfoId, mFromType) + CosStatusController().uploadFile(mutableListOf(photoPath as String), entity, mType, mainInfoId, mFromType, mLongitude, + mLatitude) } else { Log.d(TAG, "onTakePhotoSuccess mType == null") Log.d( @@ -234,7 +248,9 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { entity, mType, mainInfoId, - mFromType + mFromType, + mLongitude, + mLatitude ) } } @@ -247,7 +263,9 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { entity, mType, mainInfoId, - mFromType + mFromType, + mLongitude, + mLatitude ) } } @@ -336,7 +354,9 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { videoAndThumbMap, mType, entity, - mainInfoId + mainInfoId, + mLongitude, + mLatitude ) //地图上打点 @@ -375,7 +395,9 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { entity, mType, mainInfoId, - mFromType + mFromType, + mLongitude, + mLatitude ) //删除压缩前的视频 deletePicFile(videoPath) diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/CosStatusController.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/CosStatusController.kt index 464744387b..8502395eb3 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/CosStatusController.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/CosStatusController.kt @@ -38,16 +38,21 @@ class CosStatusController : CosStatusCallback { private var mType: String = "" private var mainInfoId: Long = 0 private var mFromType: String = "" + private var mLongitude: Double = 0.0 + private var mLatitude: Double = 0.0 //上传文件 - fun uploadFile(picPath: MutableList, entity: TakeEntity, type: String, mainInfoId: Long, fromType: String) { + fun uploadFile(picPath: MutableList, entity: TakeEntity, type: String, mainInfoId: Long, + fromType: String, longitude: Double, latitude: Double) { CosCallbackMapController.registerCallback(picPath, this) // CosLogger.setLogStatus(true) this.entity = entity this.mType = type this.mainInfoId = mainInfoId - this.mFromType = fromType; + this.mFromType = fromType + this.mLongitude = longitude + this.mLatitude = latitude Log.d(TAG, "uploadFile type===$type ---- mainInfoId =$mainInfoId ----mFromType = $mFromType ---- picPath = $picPath ") trackUploadCos(3) if (picPath.contains("backPic")) return @@ -161,7 +166,9 @@ class CosStatusController : CosStatusCallback { mutableMapOf("pic" to downloadUrl as String), mType, entity, - mainInfoId + mainInfoId, + mLongitude, + mLatitude ) // } } @@ -177,7 +184,7 @@ class CosStatusController : CosStatusCallback { // CosCallbackMapController.mainService?.sendCustomResult(it) // } // } else { - sendInformationDirectly(type, map, mType, entity, mainInfoId) + sendInformationDirectly(type, map, mType, entity, mainInfoId, mLongitude, mLatitude) // } } @@ -189,7 +196,9 @@ class CosStatusController : CosStatusCallback { map: Map, poiType: String, entity: TakeEntity, - mainInfoId: Long + mainInfoId: Long, + longitude: Double, + latitude: Double ) { Log.d(TAG, "sendInformationDirectly isCustomSend = ${entity?.isCustom}") Log.d(TAG, "sendInformationDirectly poiType= $poiType ---- mainInfoId= $mainInfoId") @@ -198,7 +207,9 @@ class CosStatusController : CosStatusCallback { url = map, isCustom = entity?.isCustom, poiType = poiType, - mainInfoId = mainInfoId + mainInfoId = mainInfoId, + longitude = longitude, + latitude = latitude ) { success -> CosCallbackMapController.unregisterCallbacks(map) CosCallbackMapController.mainService?.let { diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/MainService.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/MainService.kt index 91700ea1cc..ea5004e607 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/MainService.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/MainService.kt @@ -62,6 +62,8 @@ class MainService : Service() { var params: UploadParams? = null var mainInfoId: Long = 0 + private var mLongitude: Double = 0.0 + private var mLatitude: Double = 0.0 //发送主动上报结果广播给外部 fun sendCustomResult(result: Boolean) { @@ -88,13 +90,14 @@ class MainService : Service() { shareType = it.eventType fromType = it.fromType mainInfoId = 0 //TODO + Log.d(TAG, "onStartCommand shareType = $shareType") if (shareType == TANLU_ROAD_CONGESTION || shareType == TANLU_TRAFFIC_CHECK || shareType == TANLU_ROAD_CLOSURE || shareType == TANLU_ROAD_CURRENT || shareType == TANLU_ROAD_PONDING || shareType == TANLU_ROAD_ICING || shareType == TANLU_ROAD_HEAVY_FOG || shareType == TANLU_ROAD_ACCIDENT || shareType == TANLU_ROAD_WORK ) { // takePhoto(1, false, true) - if (!fromType.equals(UPLOAD_FROM_STRATEGY_ACCIDENT_AUTO)) { // 是策略触发,不提示 + if (fromType != UPLOAD_FROM_STRATEGY_ACCIDENT_AUTO) { // 是策略触发,不提示 takeVideo(it.duration, isCustom = true, id = id) } else { takeVideo(it.duration) @@ -131,7 +134,7 @@ class MainService : Service() { override fun onReceive(p0: Context?, p1: Intent) { val id = p1.getLongExtra("id", 0L) if (p1.action == sendInformationAction) { - takeVideo(10, isCustom = true, id = id) + takeVideo(DEFAULT_VIDEO_DURATION, isCustom = true, id = id) } } } @@ -181,7 +184,7 @@ class MainService : Service() { @Subscribe(threadMode = ThreadMode.MAIN, sticky = true, priority = 98) fun getImageEvent(getImageSuccessEvent: GetImageSuccessEvent) { var info = LocationUtil.getInstance().getLocationInfo() - Log.e("MainService", "getImageEvent long = ${info.longitude} ----> lat= ${info.latitude}") + Log.d("MainService", "getImageEvent long = ${info.longitude} ----> lat= ${info.latitude}") Log.d( "MainService", "getImageEvent url = " + getImageSuccessEvent.getImageUrl() + ">>>>type =" + getImageSuccessEvent.getType() @@ -250,7 +253,7 @@ class MainService : Service() { } if (videoType == 1) { - takeVideo(10) + takeVideo(DEFAULT_VIDEO_DURATION) } else if (videoType == 2) { postVideoAlarmTask(true) } @@ -278,7 +281,7 @@ class MainService : Service() { Observable.intervalRange(0, 1, 0, 2_000, TimeUnit.MILLISECONDS) .observeOn(AndroidSchedulers.mainThread()) .subscribe(Consumer { - CarCorderController.takePhoto(1, 1, false, isCustom, TANLU_ROAD_CURRENT, mainInfoId, fromType) + CarCorderController.takePhoto(1, 1, false, isCustom, TANLU_ROAD_CURRENT, mainInfoId, fromType, mLongitude, mLatitude) }) // } @@ -297,7 +300,7 @@ class MainService : Service() { Log.d("MainService", "takeVideo --------1---->") // if (isAuthorization(BaseApplication.getAppContext())) { // log(TAG, "takeVideo --------2---->") - CarCorderController.takeVideo(1, duration, isCustom, id, if (isCustom) shareType else TANLU_ROAD_CURRENT, mainInfoId, fromType) + CarCorderController.takeVideo(1, duration, isCustom, id, if (isCustom) shareType else TANLU_ROAD_CURRENT, mainInfoId, fromType, mLongitude, mLatitude) // } postVideoAlarmTask(isInterval) diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/MainServiceController.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/MainServiceController.kt index 9fb7e4ee51..58aff2ab9f 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/MainServiceController.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/MainServiceController.kt @@ -227,16 +227,18 @@ class MainServiceController { isShare:Boolean = false, poiType:String, mainInfoId:Long, + longitude: Double, + latitude: Double, customSend: ((Boolean) -> Unit)? = null ) { Log.d(TAG, " sendInformationMessage poiType = $poiType"); //删除测试数据 var locationInfo = LocationUtil.getInstance().getLocationInfo(); if (locationInfo.address.isNullOrEmpty()) { - geoLocation(type, url, locationInfo, isCustom,trafficInfoType, isShare, customSend,poiType,mainInfoId) + geoLocation(type, url, locationInfo, isCustom,trafficInfoType, isShare, customSend,poiType,mainInfoId,longitude,latitude) } else { postInformationMessage( - getInformationBody(type, url, locationInfo, isCustom, trafficInfoType, isShare,poiType,mainInfoId), + getInformationBody(type, url, locationInfo, isCustom, trafficInfoType, isShare,poiType,mainInfoId,longitude,latitude), customSend ) } @@ -253,19 +255,21 @@ class MainServiceController { isShare: Boolean, customSend: ((Boolean) -> Unit)? = null, poiType: String, - mainInfoId: Long + mainInfoId: Long, + longitude: Double, + latitude: Double ) { Log.d(TAG, " geoLocation -- poiType = $poiType"); LocationUtil.getInstance() .geoCodeLocation(locationInfo.toLatLngPoint(), { locInfo: LocationInfo -> postInformationMessage( - getInformationBody(type, url, locationInfo, isCustom, trafficInfoType, isShare, poiType,mainInfoId), + getInformationBody(type, url, locationInfo, isCustom, trafficInfoType, isShare, poiType,mainInfoId,longitude,latitude), customSend ) }, { //转换失败的情况下再重试一次 geoRetryed = if (!geoRetryed) { - geoLocation(type, url, locationInfo, isCustom, trafficInfoType, isShare, customSend, poiType,mainInfoId) + geoLocation(type, url, locationInfo, isCustom, trafficInfoType, isShare, customSend, poiType,mainInfoId,longitude,latitude) true } else { false diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/PdUtil.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/PdUtil.kt index 60d97f3871..cc4cb781f1 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/PdUtil.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/PdUtil.kt @@ -4,6 +4,7 @@ import com.google.gson.JsonArray import com.google.gson.JsonObject import com.mogo.commons.AbsMogoApplication import com.mogo.commons.network.Utils +import com.zhidao.roadcondition.constant.TANLU_ROAD_CURRENT import com.zhidao.roadcondition.model.InformationBody import com.zhidao.roadcondition.model.LocationInfo import com.zhidao.roadcondition.model.proxy.INFO_TYPE_IMG @@ -29,7 +30,9 @@ fun getInformationBody( trafficInfoType:String = "", isShare:Boolean, poiType: String, - mainInfoId: Long + mainInfoId: Long, + latitude: Double, + longitude: Double ): InformationBody { var jsonArray = JsonArray() var type: Int @@ -54,8 +57,8 @@ fun getInformationBody( locationInfo.cityCode, locationInfo.cityName, System.currentTimeMillis(), - locationInfo.latitude, - locationInfo.longitude, + if (latitude == 0.0) locationInfo.latitude else latitude, + if (longitude == 0.0) locationInfo.longitude else longitude, locationInfo.provinceName, Utils.getSn(), locationInfo.street, From 4ae64fc939fd1e4f49152c3e1b4a4ca68003bbc8 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Mon, 17 Aug 2020 14:34:27 +0800 Subject: [PATCH 18/74] =?UTF-8?q?bug=20fix:=20=E4=BF=AE=E6=94=B9=E5=88=86?= =?UTF-8?q?=E4=BA=AB=E6=A1=86=E5=92=8C=E5=B7=A6=E4=BE=A7adas=E7=82=B9?= =?UTF-8?q?=E5=87=BB=E4=BA=8B=E4=BB=B6=E5=86=B2=E7=AA=81=E9=97=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=8C=E5=BD=93=E5=89=8D=E8=A7=A3=E5=86=B3=E6=96=B9=E5=BC=8F?= =?UTF-8?q?=E6=98=AF=E5=88=86=E4=BA=AB=E6=A1=86=E6=98=BE=E7=A4=BA=E7=9A=84?= =?UTF-8?q?=E6=97=B6=E5=80=99=E9=9A=90=E8=97=8Fadas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/res/values/styles.xml | 1 + .../com/mogo/module/share/ShareControl.java | 35 +++++++------------ .../share/dialog/LaucherShareDialog.java | 18 ++++++++++ 3 files changed, 31 insertions(+), 23 deletions(-) diff --git a/modules/mogo-module-common/src/main/res/values/styles.xml b/modules/mogo-module-common/src/main/res/values/styles.xml index 162fe17f3e..5810a99910 100644 --- a/modules/mogo-module-common/src/main/res/values/styles.xml +++ b/modules/mogo-module-common/src/main/res/values/styles.xml @@ -5,6 +5,7 @@ @null true @android:color/transparent + 0.85 true @null @android:color/transparent diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java index ee53ecbe2b..44f63c0b82 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java @@ -32,6 +32,8 @@ import com.mogo.service.intent.IMogoIntentListener; import com.mogo.service.intent.IMogoIntentManager; import com.mogo.service.module.IMogoModuleLifecycle; import com.mogo.service.share.IMogoShareManager; +import com.mogo.service.statusmanager.IMogoStatusChangedListener; +import com.mogo.service.statusmanager.StatusDescriptor; import com.mogo.service.tanlu.IMogoTanluProvider; import com.mogo.service.tanlu.TanluUploadParams; import com.mogo.utils.TipToast; @@ -209,29 +211,16 @@ public class ShareControl implements IMogoShareManager, IMogoIntentListener, IMo AIAssist.getInstance(context).registerUnWakeupCommand(UNWAKE_UPLOAD_ROAD_CONSTRUCTION, UPLOAD_ROAD_CONSTRUCTION, this); } - -// ServiceApisManager.serviceApis.getRegisterCenterApi().registerObuDataListener("share", new IMogoObuDataChangedListener() { -// @Override -// public void showCarLocationInfo(CarLocationInfo info) { -// Logger.d(TAG, "获取到car location info: " + info.carId); -// } -// -// @Override -// public void showOtherInfo(String info) { -// Logger.d(TAG, "获取到other info: " + info); -// } -// -// @Override -// public void showTrafficLightInfo(TrafficLightInfo info) { -// Logger.d(TAG, "获取到traffic light info: " + info.id); -// } -// -// @Override -// public void showCarEventInfo(CarEventInfo info) { -// Logger.d(TAG, "获取到car event info: " + info.describe); -// } -// }); - + if(!DebugConfig.isLauncher()) { + ServiceApisManager.serviceApis.getStatusManagerApi().registerStatusChangedListener(TAG, StatusDescriptor.MAIN_PAGE_RESUME, new IMogoStatusChangedListener() { + @Override + public void onStatusChanged(StatusDescriptor descriptor, boolean isTrue) { + if (!isTrue) { + dismissShareDialog(); + } + } + }); + } Logger.d(TAG,"init over===="); } diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java index 24202335b1..a07777a45f 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java @@ -6,6 +6,7 @@ import android.view.WindowManager; import android.widget.TextView; import com.alibaba.android.arouter.launcher.ARouter; +import com.mogo.commons.debug.DebugConfig; import com.mogo.module.common.dialog.BaseFloatDialog; import com.mogo.module.share.R; import com.mogo.module.share.manager.ISeekHelpListener; @@ -193,4 +194,21 @@ public class LaucherShareDialog extends BaseFloatDialog implements View.OnClickL UploadHelper.INSTANCE.upload(mContext, params,true); } + @Override + public void show() { + Logger.d(TAG,"onShow===="); + if(!DebugConfig.isLauncher()) { + mApis.getAdasControllerApi().closeADAS(); + } + super.show(); + } + + @Override + public void dismiss() { + Logger.d(TAG,"onDismiss====="); + if (!DebugConfig.isLauncher()&&mApis.getStatusManagerApi().isMainPageOnResume()) { + mApis.getAdasControllerApi().showADAS(); + } + super.dismiss(); + } } From 3e823f1ac5066fe1d35b26d26bae22b81806d833 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Mon, 17 Aug 2020 14:51:19 +0800 Subject: [PATCH 19/74] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=E5=88=86?= =?UTF-8?q?=E4=BA=AB=E6=97=B6=E7=BB=8F=E7=BA=AC=E5=BA=A6=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mogo/module/share/manager/UploadHelper.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/UploadHelper.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/UploadHelper.kt index cf54303b38..770b17831e 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/UploadHelper.kt +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/UploadHelper.kt @@ -4,6 +4,8 @@ import android.content.Context import android.content.Intent import com.mogo.commons.debug.DebugConfig import com.mogo.commons.voice.AIAssist +import com.mogo.map.MogoLatLng +import com.mogo.map.location.MogoLocation import com.mogo.module.share.ShareControl import com.mogo.module.share.dialog.LaucherShareDialog import com.mogo.service.tanlu.TanluUploadParams @@ -23,6 +25,9 @@ object UploadHelper { if(DebugConfig.getAIType() == DebugConfig.AI_TYPE_TXZ||forcePlayVoice) { AIAssist.getInstance(context).speakTTSVoice("感谢分享,正在上传") } + val location = ServiceApisManager.serviceApis.mapServiceApi.getSingletonLocationClient(context).lastKnowLocation + val latLon = MogoLatLng(location.latitude, location.longitude) + type.location = latLon Logger.d("UploadHelper", "upload ----> $type") ServiceApisManager.serviceApis.tanluApi.uploadRoadCondition(type) // val intent = Intent() From 0fb76529fce6575ef61a8e51f0b8835079b46446 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Mon, 17 Aug 2020 15:05:59 +0800 Subject: [PATCH 20/74] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=20=E5=93=8D?= =?UTF-8?q?=E5=BA=94=E6=B1=82=E5=8A=A9=20=E6=8E=A5=E5=8F=A3=E8=B0=83?= =?UTF-8?q?=E7=94=A8=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v2x/adapter/holder/V2XOtherSeekHelpVH.java | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XOtherSeekHelpVH.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XOtherSeekHelpVH.java index 537f4f2b45..c3d8ad9a00 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XOtherSeekHelpVH.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XOtherSeekHelpVH.java @@ -60,11 +60,6 @@ public class V2XOtherSeekHelpVH extends V2XBaseViewHolder { // 语音控制拨打电话 private V2XVoiceCallbackListener mCallChartingCb = (command, intent) -> { try { - mUserInfo.setSn(mV2XPushMessageEntity.getSn()); - mUserInfo.setUserHead(mV2XPushMessageEntity.getHeadImgUrl()); - mUserInfo.setUserName(mV2XPushMessageEntity.getDisplayName()); - mUserInfo.setGender(mV2XPushMessageEntity.getSex()); - mUserInfo.setAge(30); mNoveltyInfo.setUserInfo(mUserInfo); triggerCallChart(mNoveltyInfo); } catch (Exception e) { @@ -120,6 +115,12 @@ public class V2XOtherSeekHelpVH extends V2XBaseViewHolder { public void initView(V2XEventShowEntity v2XEventShowEntity) { mV2XPushMessageEntity = v2XEventShowEntity.getV2XPushMessageEntity(); try { + mUserInfo.setSn(mV2XPushMessageEntity.getSn()); + mUserInfo.setUserHead(mV2XPushMessageEntity.getHeadImgUrl()); + mUserInfo.setUserName(mV2XPushMessageEntity.getDisplayName()); + mUserInfo.setGender(mV2XPushMessageEntity.getSex()); + mUserInfo.setAge(30); + MarkerLocation markerLocation = new MarkerLocation(); markerLocation.setLon(mV2XPushMessageEntity.getLon()); markerLocation.setLat(mV2XPushMessageEntity.getLat()); @@ -151,11 +152,6 @@ public class V2XOtherSeekHelpVH extends V2XBaseViewHolder { V2XServiceManager.getV2XRefreshModel().respondingToHelp(mUserInfo.getSn()); if (!V2XUtils.isFastClick()) { try { - mUserInfo.setSn(mV2XPushMessageEntity.getSn()); - mUserInfo.setUserHead(mV2XPushMessageEntity.getHeadImgUrl()); - mUserInfo.setUserName(mV2XPushMessageEntity.getDisplayName()); - mUserInfo.setGender(mV2XPushMessageEntity.getSex()); - mUserInfo.setAge(mV2XPushMessageEntity.getAge()); mNoveltyInfo.setUserInfo(mUserInfo); triggerCallChart(mNoveltyInfo); } catch (Exception e) { From 80a3d83cec0398121d9c6b983293d5ee978e218b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Mon, 17 Aug 2020 15:11:47 +0800 Subject: [PATCH 21/74] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=20=E5=93=8D?= =?UTF-8?q?=E5=BA=94=E6=B1=82=E5=8A=A9=20=E6=8E=A5=E5=8F=A3=E8=B0=83?= =?UTF-8?q?=E7=94=A8=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/module/v2x/network/V2XRefreshModel.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/network/V2XRefreshModel.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/network/V2XRefreshModel.java index 947cdffe39..10fd5089d6 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/network/V2XRefreshModel.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/network/V2XRefreshModel.java @@ -528,9 +528,9 @@ public class V2XRefreshModel { final Map map = new ParamsProvider.Builder(mContext).build(); String json = new StringBuilder() .append("{") - .append("\"seekHelpSn\":").append(seekHelpSn) + .append("\"seekHelpSn\":").append("\"" + seekHelpSn + "\"") .append(",") - .append("\"enthusiasticSn\":").append(Utils.getSn()) + .append("\"enthusiasticSn\":").append("\"" + Utils.getSn() + "\"") .append("}").toString(); map.put("data", json); mV2XApiService.respondingToHelp(map).subscribeOn(Schedulers.io()) From 49c5fdb624575beaefcbc3c9ba9a557877ba49f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Mon, 17 Aug 2020 15:23:52 +0800 Subject: [PATCH 22/74] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=20=E5=93=8D?= =?UTF-8?q?=E5=BA=94=E6=B1=82=E5=8A=A9=20=E6=8E=A5=E5=8F=A3=E8=B0=83?= =?UTF-8?q?=E7=94=A8=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/module/v2x/network/V2XRefreshModel.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/network/V2XRefreshModel.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/network/V2XRefreshModel.java index 10fd5089d6..947cdffe39 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/network/V2XRefreshModel.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/network/V2XRefreshModel.java @@ -528,9 +528,9 @@ public class V2XRefreshModel { final Map map = new ParamsProvider.Builder(mContext).build(); String json = new StringBuilder() .append("{") - .append("\"seekHelpSn\":").append("\"" + seekHelpSn + "\"") + .append("\"seekHelpSn\":").append(seekHelpSn) .append(",") - .append("\"enthusiasticSn\":").append("\"" + Utils.getSn() + "\"") + .append("\"enthusiasticSn\":").append(Utils.getSn()) .append("}").toString(); map.put("data", json); mV2XApiService.respondingToHelp(map).subscribeOn(Schedulers.io()) From 86c9939475aad090c26ec9134d52ebba609f7813 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Mon, 17 Aug 2020 15:44:23 +0800 Subject: [PATCH 23/74] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=AD=96=E7=95=A5?= =?UTF-8?q?=E4=B8=8A=E6=8A=A5push=E6=8E=A5=E6=94=B6=E4=B8=8D=E5=88=B0?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/mogo-module-share/build.gradle | 3 ++- .../src/main/java/com/mogo/service/MogoServicePaths.java | 2 +- .../main/java/com/mogo/service/tanlu/TanluUploadParams.java | 2 ++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/mogo-module-share/build.gradle b/modules/mogo-module-share/build.gradle index 5a6e9d9be2..93a42fe9e8 100644 --- a/modules/mogo-module-share/build.gradle +++ b/modules/mogo-module-share/build.gradle @@ -1,6 +1,7 @@ apply plugin: 'com.android.library' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' +apply plugin: 'kotlin-kapt' apply plugin: 'com.alibaba.arouter' android { @@ -38,7 +39,7 @@ dependencies { implementation rootProject.ext.dependencies.androidxccorektx implementation rootProject.ext.dependencies.androidxconstraintlayout implementation rootProject.ext.dependencies.arouter - annotationProcessor rootProject.ext.dependencies.aroutercompiler + kapt rootProject.ext.dependencies.aroutercompiler implementation rootProject.ext.dependencies.rxjava implementation rootProject.ext.dependencies.rxandroid diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java b/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java index 576821ada1..f5a78c3c34 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java @@ -243,5 +243,5 @@ public class MogoServicePaths { * 策略上报 */ @Deprecated - public static final String PATH_STRATEGY_SHARE = "/strategy/share"; + public static final String PATH_STRATEGY_SHARE = "/share/strategy"; } diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/tanlu/TanluUploadParams.java b/services/mogo-service-api/src/main/java/com/mogo/service/tanlu/TanluUploadParams.java index 802e883c40..7cee36b5de 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/tanlu/TanluUploadParams.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/tanlu/TanluUploadParams.java @@ -109,6 +109,8 @@ public class TanluUploadParams { "eventType='" + eventType + '\'' + ", fromType='" + fromType + '\'' + ", duration=" + duration + + ", parentId='" + parentId + '\'' + + ", location=" + location + '}'; } } From 855ca48a9bc342400a993b86ba3323d52126c998 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Mon, 17 Aug 2020 16:14:04 +0800 Subject: [PATCH 24/74] opt --- .../java/com/zhidao/roadcondition/service/MainService.kt | 7 ++++--- .../com/zhidao/roadcondition/util/SharedPreferenceUtil.kt | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/MainService.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/MainService.kt index ea5004e607..f62dfa7645 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/MainService.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/MainService.kt @@ -89,9 +89,10 @@ class MainService : Service() { params?.let { shareType = it.eventType fromType = it.fromType - mainInfoId = 0 //TODO - - Log.d(TAG, "onStartCommand shareType = $shareType") + mainInfoId = it.parentId.toLong() + mLongitude = it.lon + mLatitude = it.lat + Log.d(TAG, "onStartCommand shareType = $shareType --fromType = $fromType --mainInfoId = $mainInfoId -- mLongitude = $mLongitude --mLatitude = $mLatitude --it.duration = ${it.duration} ") if (shareType == TANLU_ROAD_CONGESTION || shareType == TANLU_TRAFFIC_CHECK || shareType == TANLU_ROAD_CLOSURE || shareType == TANLU_ROAD_CURRENT || shareType == TANLU_ROAD_PONDING || shareType == TANLU_ROAD_ICING || shareType == TANLU_ROAD_HEAVY_FOG || shareType == TANLU_ROAD_ACCIDENT || shareType == TANLU_ROAD_WORK diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/SharedPreferenceUtil.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/SharedPreferenceUtil.kt index 57baf80a0a..551415e728 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/SharedPreferenceUtil.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/SharedPreferenceUtil.kt @@ -22,7 +22,7 @@ const val PARAM_ACTIVE_STATUS = "PARAM_ACTIVE_STATUS" const val LAST_ENTER_TIME = "LAST_ENTER_TIME" const val PIC_NUMBER = "PIC_NUMBER" //图片拍摄张数 -const val VIDEO_DURATION_DEFAULT = 15_000L //视频拍摄时长 +const val VIDEO_DURATION_DEFAULT = 10_000L //视频拍摄时长 const val PIC_NUMBER_DEFAULT = 1L //图片拍摄张数 const val TIME_QUANTUM = "time_quantum" //时间段 From 475dfd0233af7a9cf9e6e1455c9efadbfba0e97f Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Mon, 17 Aug 2020 16:21:00 +0800 Subject: [PATCH 25/74] =?UTF-8?q?1.=20=E9=9C=80=E6=B1=82=E5=BC=80=E5=8F=91?= =?UTF-8?q?=EF=BC=9A2.10=EF=BC=8C=20=E7=8B=AC=E7=AB=8BApp=E6=A1=8C?= =?UTF-8?q?=E9=9D=A2=E5=8D=A1=E7=89=87=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/module/service/MogoServices.java | 3 +- .../intent/AccStatusIntentHandler.java | 6 + .../LauncherCardRefreshStrategy.java | 46 ++++ .../launchercard/LauncherCardRefreshType.java | 15 ++ .../launchercard/LauncherCardRefresher.java | 223 ++++++++++++++++++ .../service/network/RefreshApiService.java | 4 + .../module/service/network/RefreshModel.java | 45 ++++ .../src/main/res/values/strings.xml | 2 + 8 files changed, 343 insertions(+), 1 deletion(-) create mode 100644 modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefreshStrategy.java create mode 100644 modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefreshType.java create mode 100644 modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefresher.java 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 9b2a255a28..1aa9a224eb 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 @@ -33,6 +33,7 @@ import com.mogo.module.common.MogoModulePaths; import com.mogo.module.common.map.MapCenterPointStrategy; import com.mogo.module.common.map.Scene; import com.mogo.module.service.intent.IntentHandlerFactory; +import com.mogo.module.service.launchercard.LauncherCardRefresher; import com.mogo.module.service.marker.MapMarkerManager; import com.mogo.module.service.network.RefreshCallback; import com.mogo.module.service.network.RefreshModel; @@ -303,6 +304,7 @@ public class MogoServices implements IMogoMapListener, restartAutoRefreshAtTime( 2_000L ); } mIsMainPageFirstResume = false; + LauncherCardRefresher.getInstance( mContext ).stop(); } else { unregisterInternalUnWakeupWords(); stopAutoRefreshStrategy(); @@ -397,7 +399,6 @@ public class MogoServices implements IMogoMapListener, if ( DebugConfig.isLaunchLocationService() ) { initLocationServiceProcess( context ); } - } private void initLocationServiceProcess( Context context ) { diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/AccStatusIntentHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/AccStatusIntentHandler.java index 38a6de48b4..6bdcfa4e2e 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/AccStatusIntentHandler.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/AccStatusIntentHandler.java @@ -6,6 +6,7 @@ import android.content.Intent; import com.mogo.module.common.utils.CarSeries; import com.mogo.module.service.MarkerServiceHandler; import com.mogo.module.service.ServiceConst; +import com.mogo.module.service.launchercard.LauncherCardRefresher; import com.mogo.module.service.receiver.AccStatusReceiver; import com.mogo.utils.TipToast; import com.mogo.utils.logger.Logger; @@ -69,6 +70,11 @@ class AccStatusIntentHandler implements IntentHandler { } Logger.d( TAG, "acc status: %s", state ); MarkerServiceHandler.getMogoStatusManager().setAccStatus( ServiceConst.TYPE, accOn ); + if ( accOn ) { + LauncherCardRefresher.getInstance( context ).start(); + } else { + LauncherCardRefresher.getInstance( context ).stop(); + } } } } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefreshStrategy.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefreshStrategy.java new file mode 100644 index 0000000000..4c6f2db4c8 --- /dev/null +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefreshStrategy.java @@ -0,0 +1,46 @@ +package com.mogo.module.service.launchercard; + +public class LauncherCardRefreshStrategy { + + private long interval; // 间隔时间 + private LauncherCardRefreshType type = LauncherCardRefreshType.OnlineCar; + + private LauncherCardRefreshStrategy next; + + public LauncherCardRefreshStrategy( long interval, LauncherCardRefreshStrategy next ) { + this.interval = interval; + this.next = next; + } + + public long getInterval() { + return interval; + } + + public LauncherCardRefreshType getType() { + if ( type == LauncherCardRefreshType.ExploreWay ) { + type = LauncherCardRefreshType.OnlineCar; + } else { + type = LauncherCardRefreshType.ExploreWay; + } + return type; + } + + public int getLimit() { + return type.limit; + } + + public String getDesc() { + return type.desc; + } + + public int getRadius() { + return 2_000; + } + + public LauncherCardRefreshStrategy getNext() { + if ( next == null ) { + return this; + } + return next; + } +} \ No newline at end of file diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefreshType.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefreshType.java new file mode 100644 index 0000000000..4cf2aa21d6 --- /dev/null +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefreshType.java @@ -0,0 +1,15 @@ + +package com.mogo.module.service.launchercard; + +public enum LauncherCardRefreshType { + ExploreWay( 50, "道路事件" ), + OnlineCar( 20, "车友" ); + + public int limit; + public String desc; + + LauncherCardRefreshType( int limit, String desc ) { + this.limit = limit; + this.desc = desc; + } +} \ No newline at end of file diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefresher.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefresher.java new file mode 100644 index 0000000000..0128368112 --- /dev/null +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefresher.java @@ -0,0 +1,223 @@ +package com.mogo.module.service.launchercard; + +import android.content.Context; +import android.content.Intent; +import android.os.Handler; +import android.os.Looper; +import android.os.Message; + +import com.mogo.commons.debug.DebugConfig; +import com.mogo.commons.voice.AIAssist; +import com.mogo.commons.voice.VoicePreemptType; +import com.mogo.map.MogoLatLng; +import com.mogo.map.location.MogoLocation; +import com.mogo.module.common.entity.MarkerResponse; +import com.mogo.module.service.MarkerServiceHandler; +import com.mogo.module.service.R; +import com.mogo.module.service.network.RefreshCallback; +import com.mogo.module.service.network.RefreshModel; +import com.mogo.utils.AppUtils; +import com.mogo.utils.logger.Logger; +import com.mogo.utils.storage.SharedPrefsMgr; + +public +/** + * @author congtaowang + * @since 2020/8/17 + * + * 描述 + */ +class LauncherCardRefresher { + + private static final String TAG = "LauncherCardRefresher"; + + public static final String KEY_LauncherCardTipCounter = "LauncherCardTipCounter"; + public static final String KEY_LauncherCardTipLastTipTime = "LauncherCardTipLastTipTime"; + + + private static volatile LauncherCardRefresher sInstance; + + public static final int MSG_REFRESH = 2020; + public static final long ONE_MINUTE = 60 * 1000L; + + private LauncherCardRefresher( Context context ) { + mContext = context; + } + + public static LauncherCardRefresher getInstance( Context context ) { + if ( sInstance == null ) { + synchronized ( LauncherCardRefresher.class ) { + if ( sInstance == null ) { + sInstance = new LauncherCardRefresher( context ); + } + } + } + return sInstance; + } + + public synchronized void release() { + sInstance = null; + } + + private Object readResolve() { + // 阻止反序列化,必须实现 Serializable 接口 + return sInstance; + } + + private Handler mHandler = new Handler( Looper.getMainLooper() ) { + @Override + public void handleMessage( Message msg ) { + super.handleMessage( msg ); + if ( mRefreshStop ) { + return; + } + try { + handleRefreshMsg(); + } catch ( Exception e ) { + Logger.e( TAG, e, "error when refresh launcher card." ); + } + } + }; + + private final Context mContext; + private boolean mRefreshStop = true; + private boolean mStart = false; + private RefreshModel mRefreshModel; + private LauncherCardRefreshStrategy mRefreshStrategy = new LauncherCardRefreshStrategy( + 1 * ONE_MINUTE, + new LauncherCardRefreshStrategy( 1 * ONE_MINUTE, null ) + ); + + public void start() { + if ( DebugConfig.isLauncher() || DebugConfig.getCarMachineType() == DebugConfig.CAR_MACHINE_TYPE_BYD ) { + return; + } + if ( mStart ) { + return; + } + + int counter = SharedPrefsMgr.getInstance( mContext ).getInt( KEY_LauncherCardTipCounter, 0 ); + if ( counter >= 5 ) { + long lastTipTime = SharedPrefsMgr.getInstance( mContext ).getLong( KEY_LauncherCardTipLastTipTime, 0L ); + if ( System.currentTimeMillis() - lastTipTime < /*10 * 24 * 60 **/ ONE_MINUTE ) { + stop(); + return; + } else { + SharedPrefsMgr.getInstance( mContext ).putInt( KEY_LauncherCardTipCounter, 0 ); + counter = 0; + SharedPrefsMgr.getInstance( mContext ).putLong( KEY_LauncherCardTipLastTipTime, 0L ); + } + } + mHandler.sendEmptyMessageDelayed( MSG_REFRESH, mRefreshStrategy.getInterval() ); + Logger.d( TAG, "start" ); + mRefreshStop = false; + mStart = true; + + SharedPrefsMgr.getInstance( mContext ).putInt( KEY_LauncherCardTipCounter, ++counter ); + SharedPrefsMgr.getInstance( mContext ).putLong( KEY_LauncherCardTipLastTipTime, System.currentTimeMillis() ); + } + + public void stop() { + mRefreshStop = true; + mStart = false; + mHandler.removeMessages( MSG_REFRESH ); + Logger.d( TAG, "stop" ); + } + + private void restart() { + if ( !mStart ) { + return; + } + mRefreshStop = false; + mHandler.removeMessages( MSG_REFRESH ); + mHandler.sendEmptyMessageDelayed( MSG_REFRESH, mRefreshStrategy.getInterval() ); + } + + private void handleRefreshMsg() { + if ( mRefreshModel == null ) { + mRefreshModel = new RefreshModel( mContext ); + } + MogoLocation location = MarkerServiceHandler.getMogoLocationClient().getLastKnowLocation(); + if ( location == null ) { + restart(); + return; + } + if ( mRefreshStrategy.getType() == LauncherCardRefreshType.ExploreWay ) { + mRefreshModel.refreshDataSync( new MogoLatLng( location.getLatitude(), location.getLongitude() ), + mRefreshStrategy.getRadius(), + mRefreshStrategy.getLimit(), + new RefreshCallback< MarkerResponse >() { + @Override + public void onSuccess( MarkerResponse response ) { + notifyLauncherCard( LauncherCardRefreshType.ExploreWay, response ); + mRefreshStrategy = mRefreshStrategy.getNext(); + restart(); + } + + @Override + public void onFail() { + mRefreshStrategy = mRefreshStrategy.getNext(); + restart(); + } + } ); + } else { + mRefreshModel.queryOnLineCarWithRoute( new MogoLatLng( location.getLatitude(), location.getLongitude() ), + false, + true, + mRefreshStrategy.getRadius(), + mRefreshStrategy.getLimit(), + new RefreshCallback< MarkerResponse >() { + @Override + public void onSuccess( MarkerResponse response ) { + notifyLauncherCard( LauncherCardRefreshType.OnlineCar, response ); + mRefreshStrategy = mRefreshStrategy.getNext(); + restart(); + } + + @Override + public void onFail() { + mRefreshStrategy = mRefreshStrategy.getNext(); + restart(); + } + } ); + } + } + + private void notifyLauncherCard( LauncherCardRefreshType type, MarkerResponse response ) { + if ( response == null || response.getResult() == null ) { + return; + } + String tts = mContext.getString( R.string.module_service_launcher_card_tips ); + String info = mContext.getString( R.string.module_service_launcher_card_info ); + if ( type == LauncherCardRefreshType.ExploreWay ) { + if ( response.getResult().getExploreWay() == null || response.getResult().getExploreWay().isEmpty() ) { + return; + } + speakTTS( String.format( tts, response.getResult().getExploreWay().size(), mRefreshStrategy.getDesc() ) ); + notifyLauncherCard( String.format( info, response.getResult().getExploreWay().size(), mRefreshStrategy.getDesc() ) ); + } else { + if ( response.getResult().getOnlineCar() == null || response.getResult().getOnlineCar().isEmpty() ) { + return; + } + speakTTS( String.format( tts, response.getResult().getOnlineCar().size(), mRefreshStrategy.getDesc() ) ); + notifyLauncherCard( String.format( info, response.getResult().getOnlineCar().size(), mRefreshStrategy.getDesc() ) ); + } + } + + private void speakTTS( String msg ) { + if ( AppUtils.isAppForeground( mContext ) ) { + return; + } + Logger.d( TAG, msg ); + AIAssist.getInstance( mContext ).speakTTSVoice( msg, VoicePreemptType.PREEMPT_TYPE_NEXT, null ); + } + + private void notifyLauncherCard( String info ) { + Intent intent = new Intent( "com.mogo.launcher.v2x" ); + intent.putExtra( "v2x_warning_type", 20000 ); + intent.putExtra( "v2x_warining_timeout", 20 ); + intent.putExtra( "v2x_warning_tts", "" ); + intent.putExtra( "v2x_warning_info", info ); + mContext.sendBroadcast( intent ); + } +} diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshApiService.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshApiService.java index ab6e8ff02d..27c5136805 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshApiService.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshApiService.java @@ -26,6 +26,10 @@ public interface RefreshApiService { @POST( "/yycp-launcherSnapshot/launcherSnapshot/querySnapshotAsync" ) Observable< BaseData > refreshData( @FieldMap Map< String, Object > parameters ); + @FormUrlEncoded + @POST( "/yycp-launcherSnapshot/launcherSnapshot/querySnapshotSync" ) + Observable< MarkerResponse > refreshDataSync( @FieldMap Map< String, Object > parameters ); + @FormUrlEncoded @POST( "/yycp-launcherSnapshot/user/queryOnLineCarWithRoute" ) Observable queryOnLineCarWithRoute(@FieldMap Map< String, Object > parameters ); diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java index d87bec74a3..1634eaa782 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java @@ -105,6 +105,51 @@ public class RefreshModel { } } + public void refreshDataSync( MogoLatLng latLng, int radius, int limit, final RefreshCallback callback ) { + if ( mRefreshApiService != null ) { + final Map< String, Object > query = new ParamsProvider.Builder( mContext ).build(); + final RefreshBody refreshBody = new RefreshBody(); + refreshBody.limit = limit; + refreshBody.location = new RefreshBody.LatLon( latLng.lat, latLng.lng ); + refreshBody.radius = radius; + refreshBody.dataType.add( ServiceConst.CARD_TYPE_ROAD_CONDITION ); + + String data = GsonUtil.jsonFromObject( refreshBody ); + query.put( "data", data ); + Logger.d( TAG, data ); + + + mRefreshApiService.refreshDataSync( query ) + .subscribeOn( Schedulers.io() ) + .observeOn( AndroidSchedulers.mainThread() ) + .subscribe( new SubscribeImpl< MarkerResponse >( RequestOptions.create( mContext ) ) { + @Override + public void onSuccess( MarkerResponse o ) { + super.onSuccess( o ); + if ( callback != null ) { + callback.onSuccess( o ); + } + } + + @Override + public void onError( Throwable e ) { + super.onError( e ); + if ( callback != null ) { + callback.onFail(); + } + } + + @Override + public void onError( String message, int code ) { + super.onError( message, code ); + if ( callback != null ) { + callback.onFail(); + } + } + } ); + } + } + /** * 查询车辆 及路线 * diff --git a/modules/mogo-module-service/src/main/res/values/strings.xml b/modules/mogo-module-service/src/main/res/values/strings.xml index e25a4adb00..edd40e08b0 100644 --- a/modules/mogo-module-service/src/main/res/values/strings.xml +++ b/modules/mogo-module-service/src/main/res/values/strings.xml @@ -1,4 +1,6 @@ mogo-module-service 辅助\n驾驶 + 你的周围有%d个%s,请点击查看,你也可以对我说打开蘑菇出行 + 周围有%d个%s From b85c86290bdbd417dccc3bb2123a687cf6c0eb08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Mon, 17 Aug 2020 16:41:26 +0800 Subject: [PATCH 26/74] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=20=E5=93=8D?= =?UTF-8?q?=E5=BA=94=E6=B1=82=E5=8A=A9=20=E6=8E=A5=E5=8F=A3=E8=B0=83?= =?UTF-8?q?=E7=94=A8=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v2x/adapter/holder/V2XOtherSeekHelpVH.java | 2 +- .../holder/V2XScenarioHistoryOtherSeekHelpVH.java | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XOtherSeekHelpVH.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XOtherSeekHelpVH.java index c3d8ad9a00..5bfa90b97d 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XOtherSeekHelpVH.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XOtherSeekHelpVH.java @@ -120,6 +120,7 @@ public class V2XOtherSeekHelpVH extends V2XBaseViewHolder { mUserInfo.setUserName(mV2XPushMessageEntity.getDisplayName()); mUserInfo.setGender(mV2XPushMessageEntity.getSex()); mUserInfo.setAge(30); + mNoveltyInfo.setUserInfo(mUserInfo); MarkerLocation markerLocation = new MarkerLocation(); markerLocation.setLon(mV2XPushMessageEntity.getLon()); @@ -152,7 +153,6 @@ public class V2XOtherSeekHelpVH extends V2XBaseViewHolder { V2XServiceManager.getV2XRefreshModel().respondingToHelp(mUserInfo.getSn()); if (!V2XUtils.isFastClick()) { try { - mNoveltyInfo.setUserInfo(mUserInfo); triggerCallChart(mNoveltyInfo); } catch (Exception e) { e.printStackTrace(); diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XScenarioHistoryOtherSeekHelpVH.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XScenarioHistoryOtherSeekHelpVH.java index b8b3d16bba..a615f11240 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XScenarioHistoryOtherSeekHelpVH.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XScenarioHistoryOtherSeekHelpVH.java @@ -73,6 +73,13 @@ public class V2XScenarioHistoryOtherSeekHelpVH extends V2XBaseViewHolder Date: Mon, 17 Aug 2020 16:47:58 +0800 Subject: [PATCH 27/74] opt --- .../java/com/zhidao/mogo/tanlu/api/MogoTanluApiProvider.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libraries/mogo-tanlu-api/src/main/java/com/zhidao/mogo/tanlu/api/MogoTanluApiProvider.java b/libraries/mogo-tanlu-api/src/main/java/com/zhidao/mogo/tanlu/api/MogoTanluApiProvider.java index 9342e15065..3cf0f80644 100644 --- a/libraries/mogo-tanlu-api/src/main/java/com/zhidao/mogo/tanlu/api/MogoTanluApiProvider.java +++ b/libraries/mogo-tanlu-api/src/main/java/com/zhidao/mogo/tanlu/api/MogoTanluApiProvider.java @@ -3,6 +3,8 @@ package com.zhidao.mogo.tanlu.api; import android.content.Context; import android.util.ArrayMap; +import androidx.annotation.NonNull; + import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.commons.analytics.AnalyticsUtils; @@ -45,7 +47,7 @@ public class MogoTanluApiProvider implements IMogoTanluProvider { params.getFromType(), params.getDuration(), params.getParentId(), params.getLocation().lat, params.getLocation().lon)); }else{ - throw new IllegalArgumentException("TanluUploadParams 不允许为空"); + Logger.e(MODULE_NAME,"params为空,无法上报情报"); } } From 7d6fe9feef6bf0100156b94a0969935534d0ca2b Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Mon, 17 Aug 2020 16:49:32 +0800 Subject: [PATCH 28/74] =?UTF-8?q?1.=20=E4=BC=98=E5=8C=96=20build.gradle=20?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 5 +---- app/functions/perform.gradle | 11 +++++++++++ 2 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 app/functions/perform.gradle diff --git a/app/build.gradle b/app/build.gradle index 9141820b14..b7666feb3e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -251,8 +251,6 @@ dependencies { implementation rootProject.ext.dependencies.mogologlib if (Boolean.valueOf(RELEASE)) { - launcherImplementation rootProject.ext.dependencies.modulemainlauncher - independentImplementation rootProject.ext.dependencies.modulemainindependent implementation rootProject.ext.dependencies.mogocommons implementation rootProject.ext.dependencies.modulecommon implementation rootProject.ext.dependencies.modulesearch @@ -270,8 +268,6 @@ dependencies { implementation rootProject.ext.dependencies.mogomodulewidgets implementation rootProject.ext.dependencies.mogomoduleback } else { - launcherImplementation project(':main-extensions:mogo-module-main-launcher') - independentImplementation project(':main-extensions:mogo-module-main-independent') implementation project(':foudations:mogo-commons') implementation project(':modules:mogo-module-common') implementation project(':modules:mogo-module-search') @@ -289,6 +285,7 @@ dependencies { implementation project(':modules:mogo-module-back') } + apply from: "./functions/perform.gradle" apply from: "./functions/baseservices.gradle" apply from: "./functions/socketpush.gradle" apply from: "./functions/gpssimulator.gradle" diff --git a/app/functions/perform.gradle b/app/functions/perform.gradle new file mode 100644 index 0000000000..a708b71fe9 --- /dev/null +++ b/app/functions/perform.gradle @@ -0,0 +1,11 @@ +// 表现:独立 app 和 launcher + +project.dependencies { + if (Boolean.valueOf(RELEASE)) { + launcherImplementation rootProject.ext.dependencies.modulemainlauncher + independentImplementation rootProject.ext.dependencies.modulemainindependent + } else { + launcherImplementation project(':main-extensions:mogo-module-main-launcher') + independentImplementation project(':main-extensions:mogo-module-main-independent') + } +} \ No newline at end of file From db0498ccb2f618b8db974e8cfffc834a87d77750 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Mon, 17 Aug 2020 16:58:49 +0800 Subject: [PATCH 29/74] =?UTF-8?q?1.=20=E4=B8=8D=E6=94=AF=E6=8C=81=E8=AF=AD?= =?UTF-8?q?=E9=9F=B3=E9=A2=84=E6=BF=80=E6=B4=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 12 ++++++------ .../java/com/mogo/commons/debug/DebugConfig.java | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index b7666feb3e..e543390155 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -116,7 +116,7 @@ android { dimension "product" // 使用思必驰语音 buildConfigField 'int', 'AIType', '2' - buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'true' + buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'false' // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '0' buildConfigField 'boolean', 'ROAD_EVENT_ANIMATED', 'true' @@ -130,7 +130,7 @@ android { dimension "product" // 使用思必驰语音 buildConfigField 'int', 'AIType', '2' - buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'true' + buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'false' // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '0' buildConfigField 'boolean', 'ROAD_EVENT_ANIMATED', 'true' @@ -144,7 +144,7 @@ android { dimension "product" // 使用思必驰语音 buildConfigField 'int', 'AIType', '2' - buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'true' + buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'false' // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '0' buildConfigField 'boolean', 'ROAD_EVENT_ANIMATED', 'false' @@ -158,7 +158,7 @@ android { dimension "product" // 使用思必驰语音 buildConfigField 'int', 'AIType', '2' - buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'true' + buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'false' // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '0' buildConfigField 'boolean', 'ROAD_EVENT_ANIMATED', 'false' @@ -172,7 +172,7 @@ android { dimension "product" // 使用同行者语音 buildConfigField 'int', 'AIType', '1' - buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'true' + buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'false' // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '0' buildConfigField 'boolean', 'ROAD_EVENT_ANIMATED', 'false' @@ -186,7 +186,7 @@ android { dimension "product" // 使用同行者语音 buildConfigField 'int', 'AIType', '1' - buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'true' + buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'false' // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0 buildConfigField 'int', 'CAR_MACHINE_TYPE', '0' buildConfigField 'boolean', 'ROAD_EVENT_ANIMATED', 'false' diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java index ebf76b2850..882654d243 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java @@ -193,7 +193,7 @@ public class DebugConfig { /** * 是否支持临时激活小智 */ - private static boolean sActiveAIAssistFlag = true; + private static boolean sActiveAIAssistFlag = false; public static boolean isActiveAIAssistFlag() { return sActiveAIAssistFlag; From f40f51516f5aa689a3abb465190dd45bca1bdb52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Mon, 17 Aug 2020 17:04:12 +0800 Subject: [PATCH 30/74] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=9B=A0=E5=88=9A?= =?UTF-8?q?=E6=89=8D=E4=BF=AE=E6=94=B9=E5=AF=BC=E8=87=B4=E7=9A=84=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/module/v2x/adapter/holder/V2XOtherSeekHelpVH.java | 2 +- .../v2x/adapter/holder/V2XScenarioHistoryOtherSeekHelpVH.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XOtherSeekHelpVH.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XOtherSeekHelpVH.java index 5bfa90b97d..ff0feaf3de 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XOtherSeekHelpVH.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XOtherSeekHelpVH.java @@ -120,13 +120,13 @@ public class V2XOtherSeekHelpVH extends V2XBaseViewHolder { mUserInfo.setUserName(mV2XPushMessageEntity.getDisplayName()); mUserInfo.setGender(mV2XPushMessageEntity.getSex()); mUserInfo.setAge(30); - mNoveltyInfo.setUserInfo(mUserInfo); MarkerLocation markerLocation = new MarkerLocation(); markerLocation.setLon(mV2XPushMessageEntity.getLon()); markerLocation.setLat(mV2XPushMessageEntity.getLat()); mNoveltyInfo = new MarkerExploreWay(); mNoveltyInfo.setLocation(markerLocation); + mNoveltyInfo.setUserInfo(mUserInfo); } catch (Exception e) { e.printStackTrace(); } diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XScenarioHistoryOtherSeekHelpVH.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XScenarioHistoryOtherSeekHelpVH.java index a615f11240..8d87d3a058 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XScenarioHistoryOtherSeekHelpVH.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XScenarioHistoryOtherSeekHelpVH.java @@ -78,7 +78,6 @@ public class V2XScenarioHistoryOtherSeekHelpVH extends V2XBaseViewHolder Date: Mon, 17 Aug 2020 17:03:47 +0800 Subject: [PATCH 31/74] 1. bugfix: NPE --- .../src/main/java/com/mogo/module/apps/AppsAdapter.java | 3 +++ .../src/main/res/layout/module_apps_item_app.xml | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsAdapter.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsAdapter.java index 77f41bccd3..4a5535bf59 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsAdapter.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsAdapter.java @@ -53,6 +53,9 @@ public class AppsAdapter extends BaseAdapter { holder = ( ( AppViewHolder ) convertView.getTag() ); } AppInfo appInfo = getItem( position ); + if ( appInfo == null ) { + return holder.mItemView; + } if ( appInfo.getIconResId() <= 0 ) { if ( appInfo.getIcon() != null ) { holder.mIcon.setImageDrawable( appInfo.getIcon() ); diff --git a/modules/mogo-module-apps/src/main/res/layout/module_apps_item_app.xml b/modules/mogo-module-apps/src/main/res/layout/module_apps_item_app.xml index 49c0dd467e..0e89455b55 100644 --- a/modules/mogo-module-apps/src/main/res/layout/module_apps_item_app.xml +++ b/modules/mogo-module-apps/src/main/res/layout/module_apps_item_app.xml @@ -10,7 +10,7 @@ android:id="@+id/module_apps_id_app_icon" android:layout_width="@dimen/module_apps_navigation_icon_width" android:scaleType="fitXY" - android:src="@drawable/module_apps_ic_im" + android:src="@drawable/module_apps_ic_default_icon" android:layout_height="@dimen/module_apps_navigation_icon_height" /> Date: Mon, 17 Aug 2020 17:07:26 +0800 Subject: [PATCH 32/74] 1. bugfix: NPE --- .../main/java/com/mogo/module/apps/AppsAdapter.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsAdapter.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsAdapter.java index 4a5535bf59..04b5308f85 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsAdapter.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsAdapter.java @@ -25,7 +25,13 @@ public class AppsAdapter extends BaseAdapter { private List< AppInfo > mAppInfos; public AppsAdapter( List< AppInfo > appInfos ) { - this.mAppInfos = new ArrayList<>( appInfos ); + this.mAppInfos = new ArrayList<>(); + for ( AppInfo appInfo : appInfos ) { + if ( appInfo == null ) { + continue; + } + mAppInfos.add( appInfo ); + } } @Override @@ -53,9 +59,6 @@ public class AppsAdapter extends BaseAdapter { holder = ( ( AppViewHolder ) convertView.getTag() ); } AppInfo appInfo = getItem( position ); - if ( appInfo == null ) { - return holder.mItemView; - } if ( appInfo.getIconResId() <= 0 ) { if ( appInfo.getIcon() != null ) { holder.mIcon.setImageDrawable( appInfo.getIcon() ); From fd069d877c64b421e88b58b3dae699ac4d6201ab Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Mon, 17 Aug 2020 19:22:06 +0800 Subject: [PATCH 33/74] opt --- .../src/main/res/values-xhdpi-1920x1000/dimens.xml | 6 +++--- .../mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml | 6 +++--- modules/mogo-module-v2x/src/main/res/values/dimens.xml | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/res/values-xhdpi-1920x1000/dimens.xml b/modules/mogo-module-v2x/src/main/res/values-xhdpi-1920x1000/dimens.xml index 8afec4fc0b..6accb83b34 100644 --- a/modules/mogo-module-v2x/src/main/res/values-xhdpi-1920x1000/dimens.xml +++ b/modules/mogo-module-v2x/src/main/res/values-xhdpi-1920x1000/dimens.xml @@ -31,15 +31,15 @@ 40px 90px 36px - 58px + 50px 15px 150px 48px 32px - 70px + 123px 10px 20px - 200px + 190px 173px 43px 26px diff --git a/modules/mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml index 80c6a08895..4ef9d0bc3e 100644 --- a/modules/mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml @@ -32,15 +32,15 @@ 40px 90px 36px - 58px + 50px 15px 150px 48px 32px - 70px + 123px 10px 20px - 200px + 190px 173px 43px 26px diff --git a/modules/mogo-module-v2x/src/main/res/values/dimens.xml b/modules/mogo-module-v2x/src/main/res/values/dimens.xml index c584c71ae4..fdc062957b 100644 --- a/modules/mogo-module-v2x/src/main/res/values/dimens.xml +++ b/modules/mogo-module-v2x/src/main/res/values/dimens.xml @@ -34,15 +34,15 @@ 40px 90px 36px - 58px + 50px 15px 150px 48px 32px - 70px + 123px 10px 20px - 200px + 190px 173px 43px 26px From 21cbaeaeb1462c196ef3ac589af863674985b074 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Tue, 18 Aug 2020 09:48:55 +0800 Subject: [PATCH 34/74] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=8B=E4=BB=B6id?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/zhidao/roadcondition/service/MainService.kt | 2 +- .../java/com/zhidao/roadcondition/service/UploadParams.kt | 6 +++--- .../share/strategyreceiver/AccidentStrategyPushWrapper.kt | 4 ++-- .../java/com/mogo/service/tanlu/TanluUploadParams.java | 8 ++++---- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/MainService.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/MainService.kt index f62dfa7645..70e1074285 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/MainService.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/MainService.kt @@ -89,7 +89,7 @@ class MainService : Service() { params?.let { shareType = it.eventType fromType = it.fromType - mainInfoId = it.parentId.toLong() + mainInfoId = it.parentId mLongitude = it.lon mLatitude = it.lat Log.d(TAG, "onStartCommand shareType = $shareType --fromType = $fromType --mainInfoId = $mainInfoId -- mLongitude = $mLongitude --mLatitude = $mLatitude --it.duration = ${it.duration} ") diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/UploadParams.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/UploadParams.kt index 75797e8bda..9852af4659 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/UploadParams.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/UploadParams.kt @@ -4,12 +4,12 @@ import android.os.Parcel import android.os.Parcelable import com.mogo.map.MogoLatLng -class UploadParams(val eventType: String, val fromType: String, val duration: Int, val parentId: String, val lat: Double, val lon: Double) : Parcelable { +class UploadParams(val eventType: String, val fromType: String, val duration: Int, val parentId: Long, val lat: Double, val lon: Double) : Parcelable { constructor(parcel: Parcel) : this( parcel.readString()!!, parcel.readString()!!, parcel.readInt(), - parcel.readString()!!, + parcel.readLong(), parcel.readDouble(), parcel.readDouble() ) @@ -18,7 +18,7 @@ class UploadParams(val eventType: String, val fromType: String, val duration: In parcel.writeString(eventType) parcel.writeString(fromType) parcel.writeInt(duration) - parcel.writeString(parentId) + parcel.writeLong(parentId) parcel.writeDouble(lat) parcel.writeDouble(lon) } diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/AccidentStrategyPushWrapper.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/AccidentStrategyPushWrapper.kt index 98779716f9..330c56f8cf 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/AccidentStrategyPushWrapper.kt +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/AccidentStrategyPushWrapper.kt @@ -6,6 +6,6 @@ data class AccidentStrategyPushWrapper( */ val type: Int, /** - * 触发点的poiType + * 触发点的事件id */ - val id: String, val lat: Double, val lon: Double) + val id: Long, val lat: Double, val lon: Double) diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/tanlu/TanluUploadParams.java b/services/mogo-service-api/src/main/java/com/mogo/service/tanlu/TanluUploadParams.java index 7cee36b5de..e63f637d79 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/tanlu/TanluUploadParams.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/tanlu/TanluUploadParams.java @@ -27,7 +27,7 @@ public class TanluUploadParams { /** * 针对策略上报新增字段,用于车辆经过事故事件上报时,记录经过的事故事件id */ - private String parentId = ""; + private long parentId = 0; /** * 针对策略上报新增字段,用于车辆经过事故事件上报时,记录触发围栏时的经纬度坐标 */ @@ -55,7 +55,7 @@ public class TanluUploadParams { * @param parentId 经过事件id * @param location 触发围栏的坐标 */ - public TanluUploadParams(String eventType, String fromType, String parentId, + public TanluUploadParams(String eventType, String fromType, long parentId, MogoLatLng location) { this.eventType = eventType; this.fromType = fromType; @@ -87,11 +87,11 @@ public class TanluUploadParams { this.duration = duration; } - public String getParentId() { + public long getParentId() { return parentId; } - public void setParentId(String parentId) { + public void setParentId(long parentId) { this.parentId = parentId; } From 5d714a459f750e5421bf5af6a85bfa66c9ad4606 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Tue, 18 Aug 2020 09:57:05 +0800 Subject: [PATCH 35/74] =?UTF-8?q?1.=20=E6=96=B0=E5=A2=9E=E5=B9=BF=E6=92=AD?= =?UTF-8?q?=E6=96=B9=E5=BC=8F=E6=8E=A7=E5=88=B6=E6=97=A5=E5=BF=97=E8=BE=93?= =?UTF-8?q?=E5=87=BA=EF=BC=8C=E4=BE=BF=E4=BA=8Erelease=E6=89=93=E5=8C=85?= =?UTF-8?q?=E6=97=B6=E8=B0=83=E8=AF=95=202.=20=E4=BC=98=E5=8C=96accOff?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=E5=91=A8=E8=BE=B9=E8=BD=A6=E5=8F=8B/?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E6=92=AD=E6=8A=A5=EF=BC=9A=E5=AE=8C=E5=85=A8?= =?UTF-8?q?accOff=E4=B9=8B=E5=90=8E=E6=89=8D=E5=81=9C=E6=AD=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/module/service/MogoServices.java | 2 + .../intent/AccStatusIntentHandler.java | 4 +- .../service/intent/IntentHandlerFactory.java | 1 + .../intent/MogoControllerIntentHandler.java | 37 +++++++++++++++++++ .../module/service/receiver/MogoReceiver.java | 2 + 5 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MogoControllerIntentHandler.java 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 1aa9a224eb..05fbe60ff6 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 @@ -386,6 +386,7 @@ public class MogoServices implements IMogoMapListener, mIntentManager.registerIntentListener( ServiceConst.COMMAND_BACK, this ); mIntentManager.registerIntentListener( MogoReceiver.ACTION_AUTO_NAVI_RECEIVER, this ); mIntentManager.registerIntentListener( MogoReceiver.ACTION_AUTO_NAVI_SEND, this ); + mIntentManager.registerIntentListener( MogoReceiver.ACTION_MOGO, this ); mADASController = MarkerServiceHandler.getADASController(); mLauncher = MarkerServiceHandler.getLauncher(); @@ -479,6 +480,7 @@ public class MogoServices implements IMogoMapListener, filter.addAction( Intent.ACTION_CLOSE_SYSTEM_DIALOGS ); filter.addAction( MogoReceiver.ACTION_AUTO_NAVI_RECEIVER ); filter.addAction( MogoReceiver.ACTION_AUTO_NAVI_SEND ); + filter.addAction( MogoReceiver.ACTION_MOGO ); try { context.getApplicationContext().registerReceiver( mAIAssistReceiver, filter ); Logger.i( TAG, "register voice receiver." ); diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/AccStatusIntentHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/AccStatusIntentHandler.java index 6bdcfa4e2e..088cb16919 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/AccStatusIntentHandler.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/AccStatusIntentHandler.java @@ -70,9 +70,9 @@ class AccStatusIntentHandler implements IntentHandler { } Logger.d( TAG, "acc status: %s", state ); MarkerServiceHandler.getMogoStatusManager().setAccStatus( ServiceConst.TYPE, accOn ); - if ( accOn ) { + if ( state == ACC_ON ) { LauncherCardRefresher.getInstance( context ).start(); - } else { + } else if ( state == ACC_OFF ) { LauncherCardRefresher.getInstance( context ).stop(); } } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/IntentHandlerFactory.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/IntentHandlerFactory.java index ea84b182e2..1f9939807f 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/IntentHandlerFactory.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/IntentHandlerFactory.java @@ -37,6 +37,7 @@ public class IntentHandlerFactory { mHandlers.put( MogoReceiver.ACTIION_ADAS, ADASStatusIntentHandler.getInstance() ); mHandlers.put( MogoReceiver.ACTION_VOICE_READY, new AIAssistIntentHandler() ); mHandlers.put( ServiceConst.COMMAND_BACK, WholeVoiceCommandIntentHandler.getInstance() ); + mHandlers.put( MogoReceiver.ACTION_MOGO, new MogoControllerIntentHandler() ); } private static final class InstanceHolder { diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MogoControllerIntentHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MogoControllerIntentHandler.java new file mode 100644 index 0000000000..237c93580e --- /dev/null +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MogoControllerIntentHandler.java @@ -0,0 +1,37 @@ +package com.mogo.module.service.intent; + +import android.content.Context; +import android.content.Intent; + +import com.mogo.utils.logger.LogLevel; +import com.mogo.utils.logger.Logger; +import com.mogo.utils.network.NetConfig; + +public +/** + * @author congtaowang + * @since 2020/8/17 + * + * 描述 + */ +class MogoControllerIntentHandler implements IntentHandler { + + public static final String KEY_OPER = "oper"; + public static final int TYPE_OPER_OPEN_LOG = 1; + public static final int TYPE_OPER_CLOSE_LOG = 2; + + @Override + public void handle( Context context, Intent intent ) { + int oper = intent.getIntExtra( KEY_OPER, 0 ); + switch ( oper ) { + case TYPE_OPER_OPEN_LOG: + Logger.init( LogLevel.DEBUG ); + NetConfig.instance().setLoggable( true ); + break; + case TYPE_OPER_CLOSE_LOG: + Logger.init( LogLevel.OFF ); + NetConfig.instance().setLoggable( false ); + break; + } + } +} diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/MogoReceiver.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/MogoReceiver.java index 411d36b927..d1c1876a1e 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/MogoReceiver.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/MogoReceiver.java @@ -58,6 +58,8 @@ public class MogoReceiver extends BroadcastReceiver { // 接受高德发过来的广播 public static final String ACTION_AUTO_NAVI_SEND = "AUTONAVI_STANDARD_BROADCAST_SEND"; + public static final String ACTION_MOGO = "com.mogo.ACTION"; + private IMogoIntentManager mMogoIntentManager; public MogoReceiver(Context context) { From 6ccea8cca5c69c620d9cd41816726a846b30dff3 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Tue, 18 Aug 2020 10:08:23 +0800 Subject: [PATCH 36/74] opt --- .../mogo/module/monitor/MogoMonitorConst.java | 15 +++++++++++++++ .../mogo/module/monitor/MogoMonitorProvider.java | 12 +++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/MogoMonitorConst.java b/modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/MogoMonitorConst.java index 41e54354ae..4094dbc823 100644 --- a/modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/MogoMonitorConst.java +++ b/modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/MogoMonitorConst.java @@ -6,6 +6,21 @@ class MogoMonitorConst { public static final int LOG_PUSH_TYPE = 500000; + /** + * 开始抓日志 + */ public static final int START_CATCH_LOG = 1; + /** + * 结束抓日志 + */ public static final int STOP_CATCH_LOG = 2; + + /** + * 本应用设置,打开日志 + */ + public static final int LOCAL_CONFIG_OPEN_LOG = 3; + /** + * 本应用设置,关闭日志 + */ + public static final int LOCAL_CONFIG_CLOSE_LOG = 4; } diff --git a/modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/MogoMonitorProvider.java b/modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/MogoMonitorProvider.java index 5cee06832c..c9dc25d70e 100644 --- a/modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/MogoMonitorProvider.java +++ b/modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/MogoMonitorProvider.java @@ -5,12 +5,14 @@ import android.util.ArrayMap; import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.launcher.ARouter; +import com.mogo.commons.debug.DebugConfig; import com.mogo.service.IMogoServiceApis; import com.mogo.service.MogoServicePaths; import com.mogo.service.connection.IMogoOnMessageListener; import com.mogo.service.monitor.IMogoMonitorProvider; import com.mogo.utils.logger.LogLevel; import com.mogo.utils.logger.Logger; +import com.mogo.utils.network.NetConfig; import com.zhidao.loglib.ILogListener; import com.zhidao.loglib.LogInfoManager; import com.zhidao.loglib.bean.RemoteLogPushContent; @@ -82,6 +84,12 @@ public class MogoMonitorProvider implements IMogoMonitorProvider, IMogoOnMessage } closeLoggerLevel(); break; + case MogoMonitorConst.LOCAL_CONFIG_OPEN_LOG: + openLoggerLevel(); + break; + case MogoMonitorConst.LOCAL_CONFIG_CLOSE_LOG: + closeLoggerLevel(); + break; default: break; } @@ -107,6 +115,7 @@ public class MogoMonitorProvider implements IMogoMonitorProvider, IMogoOnMessage */ private void openLoggerLevel(){ Logger.init(LogLevel.DEBUG); + NetConfig.instance().setLoggable( true ); } /** @@ -114,7 +123,8 @@ public class MogoMonitorProvider implements IMogoMonitorProvider, IMogoOnMessage */ private void closeLoggerLevel(){ if (!isInManualCatchLog && managerCache.size() == 0) { - Logger.init( BuildConfig.DEBUG ? LogLevel.DEBUG : LogLevel.OFF ); + Logger.init( DebugConfig.isDebug() ? LogLevel.DEBUG : LogLevel.OFF ); + NetConfig.instance().setLoggable( DebugConfig.isDebug() ); } } From f25ed65f6a976c8a9c93a25fa32f37fe02fd0f3b Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Tue, 18 Aug 2020 10:09:09 +0800 Subject: [PATCH 37/74] =?UTF-8?q?1.=20=E8=B0=83=E6=95=B4tts=E6=92=AD?= =?UTF-8?q?=E6=8A=A5=E7=AD=96=E7=95=A5=E4=B8=BA=E9=BB=98=E8=AE=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/module/service/launchercard/LauncherCardRefresher.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefresher.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefresher.java index 0128368112..25f11bd9fa 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefresher.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefresher.java @@ -209,7 +209,7 @@ class LauncherCardRefresher { return; } Logger.d( TAG, msg ); - AIAssist.getInstance( mContext ).speakTTSVoice( msg, VoicePreemptType.PREEMPT_TYPE_NEXT, null ); + AIAssist.getInstance( mContext ).speakTTSVoice( msg ); } private void notifyLauncherCard( String info ) { From 7ebc0b086214e8dadaadc7d47e746062e8bf17c6 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Tue, 18 Aug 2020 13:11:07 +0800 Subject: [PATCH 38/74] opt --- modules/mogo-module-monitor/build.gradle | 3 +- .../mogo/module/monitor/MogoMonitorConst.java | 14 ++++ .../module/monitor/MogoMonitorProvider.java | 81 +++++++------------ .../monitor/bean/RemoteLogPushContent.java | 53 ++++++++++++ .../monitor/dialog/ILogDialogListener.java | 17 ++++ .../module/monitor/dialog/LogDebugDialog.java | 46 +++++++++++ .../main/res/drawable/log_debug_dialog_bg.xml | 13 +++ .../res/drawable/log_debug_retry_btn_bg.xml | 17 ++++ .../res/drawable/log_debug_start_btn_bg.xml | 17 ++++ .../res/drawable/log_debug_stop_btn_bg.xml | 17 ++++ .../src/main/res/layout/dialog_log_debug.xml | 76 +++++++++++++++++ .../com/mogo/module/share/ShareControl.java | 1 + 12 files changed, 303 insertions(+), 52 deletions(-) create mode 100644 modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/bean/RemoteLogPushContent.java create mode 100644 modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/dialog/ILogDialogListener.java create mode 100644 modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/dialog/LogDebugDialog.java create mode 100644 modules/mogo-module-monitor/src/main/res/drawable/log_debug_dialog_bg.xml create mode 100644 modules/mogo-module-monitor/src/main/res/drawable/log_debug_retry_btn_bg.xml create mode 100644 modules/mogo-module-monitor/src/main/res/drawable/log_debug_start_btn_bg.xml create mode 100644 modules/mogo-module-monitor/src/main/res/drawable/log_debug_stop_btn_bg.xml create mode 100644 modules/mogo-module-monitor/src/main/res/layout/dialog_log_debug.xml diff --git a/modules/mogo-module-monitor/build.gradle b/modules/mogo-module-monitor/build.gradle index d91c74e164..02099054e3 100644 --- a/modules/mogo-module-monitor/build.gradle +++ b/modules/mogo-module-monitor/build.gradle @@ -35,7 +35,8 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation rootProject.ext.dependencies.mogologlib + implementation rootProject.ext.dependencies.androidxappcompat + implementation rootProject.ext.dependencies.androidxconstraintlayout implementation rootProject.ext.dependencies.arouter annotationProcessor rootProject.ext.dependencies.aroutercompiler if (Boolean.valueOf(RELEASE)) { diff --git a/modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/MogoMonitorConst.java b/modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/MogoMonitorConst.java index 41e54354ae..138952c65e 100644 --- a/modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/MogoMonitorConst.java +++ b/modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/MogoMonitorConst.java @@ -8,4 +8,18 @@ class MogoMonitorConst { public static final int START_CATCH_LOG = 1; public static final int STOP_CATCH_LOG = 2; + /** + * 本应用设置,打开日志 + */ + public static final int LOCAL_CONFIG_OPEN_LOG = 3; + /** + * 本应用设置,关闭日志 + */ + public static final int LOCAL_CONFIG_CLOSE_LOG = 4; + + + public static final String BROADCAST_START_CATCH_LOG = "com.mogo.controller.action" + + ".START_CATCH_LOG"; + public static final String BROADCAST_STOP_CATCH_LOG = "com.mogo.controller.action" + + ".STOP_CATCH_LOG"; } diff --git a/modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/MogoMonitorProvider.java b/modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/MogoMonitorProvider.java index 5cee06832c..83e03c85bb 100644 --- a/modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/MogoMonitorProvider.java +++ b/modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/MogoMonitorProvider.java @@ -1,58 +1,53 @@ package com.zhidao.mogo.module.monitor; import android.content.Context; +import android.content.Intent; import android.util.ArrayMap; import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.launcher.ARouter; +import com.mogo.commons.debug.DebugConfig; import com.mogo.service.IMogoServiceApis; import com.mogo.service.MogoServicePaths; import com.mogo.service.connection.IMogoOnMessageListener; import com.mogo.service.monitor.IMogoMonitorProvider; import com.mogo.utils.logger.LogLevel; import com.mogo.utils.logger.Logger; -import com.zhidao.loglib.ILogListener; -import com.zhidao.loglib.LogInfoManager; -import com.zhidao.loglib.bean.RemoteLogPushContent; -import com.zhidao.loglib.dialog.ILogDialogListener; -import com.zhidao.loglib.upload.UploadManager; -import com.zhidao.loglib.util.Constant; -import com.zhidao.loglib.util.LogInfoManagerFactory; -import com.zhidao.loglib.util.LoggingNotice; +import com.mogo.utils.network.NetConfig; +import com.zhidao.mogo.module.monitor.bean.RemoteLogPushContent; +import com.zhidao.mogo.module.monitor.dialog.ILogDialogListener; +import com.zhidao.mogo.module.monitor.dialog.LogDebugDialog; import java.util.Map; /** * 应用监控模块provider + * * @author tongchenfei */ @Route(path = MogoMonitorConst.MODULE_PATH) -public class MogoMonitorProvider implements IMogoMonitorProvider, IMogoOnMessageListener, ILogDialogListener , ILogListener { +public class MogoMonitorProvider implements IMogoMonitorProvider, + IMogoOnMessageListener, ILogDialogListener { private static final String TAG = MogoMonitorConst.MODULE_NAME; - private LogInfoManager manualCatchLog = null; - private Map managerCache = new ArrayMap<>(); private Context context; - + private LogDebugDialog logDebugDialog; @Override public void showLogDebugDialog() { - if (manualCatchLog == null) { - manualCatchLog = LogInfoManagerFactory.createManualLogInfoManager(context,this); - } - manualCatchLog.showDebugWindow().setDialogListener(this); + logDebugDialog.show(); } @Override public void init(Context context) { IMogoServiceApis apis = (IMogoServiceApis) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation(context); - apis.getSocketManagerApi(context).registerOnMessageListener(MogoMonitorConst.LOG_PUSH_TYPE,this); + apis.getSocketManagerApi(context).registerOnMessageListener(MogoMonitorConst.LOG_PUSH_TYPE, this); } @Override public void resetActivityContext(Context context) { this.context = context; - UploadManager.getInstance().init(context); - LoggingNotice.getInstance().init(context); + logDebugDialog = new LogDebugDialog(context); + logDebugDialog.setDialogListener(this); } @Override @@ -63,23 +58,17 @@ public class MogoMonitorProvider implements IMogoMonitorProvider, IMogoOnMessage @Override public void onMsgReceived(RemoteLogPushContent obj) { Logger.d(TAG, "收到push消息: " + obj); - switch (obj.getType()){ + switch (obj.getType()) { case MogoMonitorConst.START_CATCH_LOG: - if (managerCache.containsKey(obj.getPkgName())) { - Logger.d(TAG, "这个包名的日志正在抓了: " + obj); - return; - } - openLoggerLevel(); - LogInfoManager infoManager = - LogInfoManagerFactory.createPushLogInfoManager(context, obj,this); - infoManager.start(); - managerCache.put(obj.getPkgName(), infoManager); + onLogStart(); break; case MogoMonitorConst.STOP_CATCH_LOG: - LogInfoManager stopManager = managerCache.remove(obj.getPkgName()); - if (stopManager != null) { - stopManager.stop(); - } + onLogStop(); + break; + case MogoMonitorConst.LOCAL_CONFIG_OPEN_LOG: + openLoggerLevel(); + break; + case MogoMonitorConst.LOCAL_CONFIG_CLOSE_LOG: closeLoggerLevel(); break; default: @@ -90,41 +79,31 @@ public class MogoMonitorProvider implements IMogoMonitorProvider, IMogoOnMessage @Override public void onLogStart() { // 这个是通过对话框点击开始的回调 - isInManualCatchLog = true; + Logger.d(TAG,"开始抓取日志===="); + context.sendBroadcast(new Intent(MogoMonitorConst.BROADCAST_START_CATCH_LOG)); openLoggerLevel(); } @Override public void onLogStop() { // 这个是通过对话框点击结束的回调 - isInManualCatchLog = false; + Logger.d(TAG,"结束抓取日志===="); + context.sendBroadcast(new Intent(MogoMonitorConst.BROADCAST_STOP_CATCH_LOG)); closeLoggerLevel(); } - private boolean isInManualCatchLog = false; /** * 放开Logger的限制 */ - private void openLoggerLevel(){ + private void openLoggerLevel() { Logger.init(LogLevel.DEBUG); } /** * 根据状态收紧Logger的限制 */ - private void closeLoggerLevel(){ - if (!isInManualCatchLog && managerCache.size() == 0) { - Logger.init( BuildConfig.DEBUG ? LogLevel.DEBUG : LogLevel.OFF ); - } - } - - @Override - public void onClose(String pkgName) { - if (pkgName.equals(Constant.MANUAL_PKG_NAME)) { - onLogStop(); - }else{ - LogInfoManager stopManager = managerCache.remove(pkgName); - closeLoggerLevel(); - } + private void closeLoggerLevel() { + Logger.init(DebugConfig.isDebug() ? LogLevel.DEBUG : LogLevel.OFF); + NetConfig.instance().setLoggable(DebugConfig.isDebug()); } } diff --git a/modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/bean/RemoteLogPushContent.java b/modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/bean/RemoteLogPushContent.java new file mode 100644 index 0000000000..29bcbacc1a --- /dev/null +++ b/modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/bean/RemoteLogPushContent.java @@ -0,0 +1,53 @@ +package com.zhidao.mogo.module.monitor.bean; + +public class RemoteLogPushContent { + private int type; + /** + * 日志抓取时长,单位是分钟 + */ + private int duration; + private String cmd; + private String pkgName; + + public int getType() { + return type; + } + + public void setType(int type) { + this.type = type; + } + + public String getCmd() { + return cmd; + } + + public void setCmd(String cmd) { + this.cmd = cmd; + } + + public int getDuration() { + return duration; + } + + public void setDuration(int duration) { + this.duration = duration; + } + + public String getPkgName() { + return pkgName; + } + + public void setPkgName(String pkgName) { + this.pkgName = pkgName; + } + + @Override + public String toString() { + return "RemoteLogPushContent{" + + "type=" + type + + ", duration=" + duration + + ", cmd='" + cmd + '\'' + + ", pkgName='" + pkgName + '\'' + + '}'; + } +} diff --git a/modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/dialog/ILogDialogListener.java b/modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/dialog/ILogDialogListener.java new file mode 100644 index 0000000000..8a97de2cb4 --- /dev/null +++ b/modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/dialog/ILogDialogListener.java @@ -0,0 +1,17 @@ +package com.zhidao.mogo.module.monitor.dialog; + +/** + * Log调试对话框操作回调 + * @author tongchenfei + */ +public interface ILogDialogListener { + /** + * 点击了开始抓日志 + */ + void onLogStart(); + + /** + * 点击了结束抓日志 + */ + void onLogStop(); +} diff --git a/modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/dialog/LogDebugDialog.java b/modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/dialog/LogDebugDialog.java new file mode 100644 index 0000000000..b26eb35859 --- /dev/null +++ b/modules/mogo-module-monitor/src/main/java/com/zhidao/mogo/module/monitor/dialog/LogDebugDialog.java @@ -0,0 +1,46 @@ +package com.zhidao.mogo.module.monitor.dialog; + +import android.content.Context; + +import androidx.annotation.NonNull; + +import com.mogo.module.common.dialog.BaseFloatDialog; +import com.zhidao.mogo.module.monitor.R; + +/** + * 日志手动调用开始结束的对话框,兼容了智慧出行,覆盖adas浮窗 + * + * @author tongchenfei + */ +public class LogDebugDialog extends BaseFloatDialog { + public LogDebugDialog(@NonNull Context context) { + super(context); + setContentView(R.layout.dialog_log_debug); + findViewById(R.id.btnStart).setOnClickListener(v -> { + if (dialogListener != null) { + dialogListener.onLogStart(); + } + dismiss(); + }); + findViewById(R.id.btnStop).setOnClickListener(v->{ + if (dialogListener != null) { + dialogListener.onLogStop(); + } + + dismiss(); + }); + findViewById(R.id.btnForceClearNotice).setOnClickListener(v->{ + dismiss(); + }); + findViewById(R.id.btnRetryFlow).setOnClickListener(v->{ + dismiss(); + }); + } + + private ILogDialogListener dialogListener; + + public void setDialogListener(ILogDialogListener dialogListener) { + this.dialogListener = dialogListener; + } + +} diff --git a/modules/mogo-module-monitor/src/main/res/drawable/log_debug_dialog_bg.xml b/modules/mogo-module-monitor/src/main/res/drawable/log_debug_dialog_bg.xml new file mode 100644 index 0000000000..012558ce6d --- /dev/null +++ b/modules/mogo-module-monitor/src/main/res/drawable/log_debug_dialog_bg.xml @@ -0,0 +1,13 @@ + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-monitor/src/main/res/drawable/log_debug_retry_btn_bg.xml b/modules/mogo-module-monitor/src/main/res/drawable/log_debug_retry_btn_bg.xml new file mode 100644 index 0000000000..0cb65e7650 --- /dev/null +++ b/modules/mogo-module-monitor/src/main/res/drawable/log_debug_retry_btn_bg.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-monitor/src/main/res/drawable/log_debug_start_btn_bg.xml b/modules/mogo-module-monitor/src/main/res/drawable/log_debug_start_btn_bg.xml new file mode 100644 index 0000000000..c21ba027d9 --- /dev/null +++ b/modules/mogo-module-monitor/src/main/res/drawable/log_debug_start_btn_bg.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-monitor/src/main/res/drawable/log_debug_stop_btn_bg.xml b/modules/mogo-module-monitor/src/main/res/drawable/log_debug_stop_btn_bg.xml new file mode 100644 index 0000000000..d8e32b922f --- /dev/null +++ b/modules/mogo-module-monitor/src/main/res/drawable/log_debug_stop_btn_bg.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-monitor/src/main/res/layout/dialog_log_debug.xml b/modules/mogo-module-monitor/src/main/res/layout/dialog_log_debug.xml new file mode 100644 index 0000000000..fd3a32aa17 --- /dev/null +++ b/modules/mogo-module-monitor/src/main/res/layout/dialog_log_debug.xml @@ -0,0 +1,76 @@ + + + + + + +