diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 8e9756d758..b59a552525 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -77,6 +77,7 @@ diff --git a/app/build.gradle b/app/build.gradle index f7e1fb318a..c505195521 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -425,7 +425,7 @@ dependencies { apply from: "./functions/perform.gradle" apply from: "./functions/baseservices.gradle" apply from: "./functions/socketpush.gradle" - apply from: "./functions/gpssimulator.gradle" +// apply from: "./functions/gpssimulator.gradle" apply from: "./functions/leftpanel.gradle" apply from: "./functions/skin.gradle" apply from: "./functions/crashreport.gradle" diff --git a/app/functions/gpssimulator.gradle b/app/functions/gpssimulator.gradle index c33febbc07..c957d2300b 100644 --- a/app/functions/gpssimulator.gradle +++ b/app/functions/gpssimulator.gradle @@ -2,10 +2,10 @@ project.dependencies { if (Boolean.valueOf(RELEASE)) { - debugImplementation rootProject.ext.dependencies.gpssimulatordebug + debugImplementation rootProject.ext.dependencies.gpssimulatornoop releaseImplementation rootProject.ext.dependencies.gpssimulatornoop } else { - debugImplementation project(':modules:mogo-module-gps-simulator-debug') + debugImplementation project(':modules:mogo-module-gps-simulator-noop') releaseImplementation project(':modules:mogo-module-gps-simulator-noop') } } \ 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 6faee498cb..3bfce8ee6e 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -86,7 +86,6 @@ public class MogoApplication extends AbsMogoApplication { MogoModulePaths.addBaseModule( new MogoModule( V2XConst.PATH_V2X_UI, V2XConst.MODULE_NAME ) ); MogoModulePaths.addBaseModule( new MogoModule( MogoServicePaths.PATH_STRATEGY_SHARE, "StrategyShare" ) ); MogoModulePaths.addBaseModule( new MogoModule( MogoServicePaths.PATH_GAODE_AIMLESS_SHARE, "GaoDeAimlessShare" ) ); - MogoModulePaths.addBaseModule( new MogoModule( MogoServicePaths.PATH_EVENT_PANEL, "EventPanel" ) ); MogoModulePaths.addBaseModule( new MogoModule( MogoServicePaths.PATH_MOGO_MONITOR, "MogoMonitor" ) ); MogoModulePaths.addModule( new MogoModule( PushUIConstants.PATH, PushUIConstants.NAME ) ); diff --git a/config.gradle b/config.gradle index a33d074f2e..ad3efe1d74 100644 --- a/config.gradle +++ b/config.gradle @@ -154,7 +154,7 @@ ext { gpssimulatornoop : "com.mogo.module:module-gps-simulator-noop:${MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION}", adasapi : "com.zhidao.autopilot.support:adas:1.0.6.5", - adasconfigapi : "com.zhidao.adasconfig:adasconfig:1.1.5", + adasconfigapi : "com.zhidao.adasconfig:adasconfig:1.1.5.2", // 个人中心的SDK personalsdk : "com.zhidaoauto.person.info:data:1.0.1", diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java index 1653a18a3c..c585fe4f00 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java @@ -460,9 +460,11 @@ public class AMapNaviViewWrapper implements IMogoMapView, break; case Type_Light: options.setNaviNight( false ); + options.setAutoNaviViewNightMode( false ); break; case Type_Night: options.setNaviNight( true ); + options.setAutoNaviViewNightMode( false ); break; case Type_AUTO_LIGHT_Night: options.setNaviNight( false ); @@ -875,6 +877,12 @@ public class AMapNaviViewWrapper implements IMogoMapView, try { LatLngBounds latLngBounds = MogoMapUtils.getLatLngBounds( carPosition, lonLats, lockCarPosition ); if ( !lockCarPosition ) { + changeMyLocationType2UnFollow(); + try { + bnHooker.clearAllMessages(); + } catch ( Exception e ) { + e.printStackTrace(); + } loseLockMode(); } mMapView.getMap().moveCamera( CameraUpdateFactory.newLatLngBoundsRect( latLngBounds, bound.left, bound.right, bound.top, bound.bottom ) ); diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/model/CityStrategy.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/model/CityStrategy.kt index 9454ac339f..1730027756 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/model/CityStrategy.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/model/CityStrategy.kt @@ -1,14 +1,8 @@ package com.zhidao.roadcondition.model -class CityStrategy { - - var video: Video - var pic: Pic - - constructor(video: Video, pic: Pic) { - this.video = video - this.pic = pic - } +class CityStrategy(video: Video, pic: Pic) { + var video: Video? = video + var pic: Pic? = pic } fun Video.getMaxSpeed(): Int { diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/model/Results.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/model/Results.kt index 85f9cdd10d..cce437439f 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/model/Results.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/model/Results.kt @@ -3,6 +3,4 @@ package com.zhidao.roadcondition.model /** * 城市策略实体 */ -class Results(var cityStrategy: CityStrategy) { - -} \ No newline at end of file +class Results(var cityStrategy: CityStrategy) \ No newline at end of file diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/net/ResponseFunction.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/net/ResponseFunction.kt index d74722b99b..e9b92acf8a 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/net/ResponseFunction.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/net/ResponseFunction.kt @@ -18,7 +18,7 @@ class ResponseFunction : Function, T> { } override fun apply(t: BaseResponse): T { - if (t == null || !t.isSuccess(baseUrl)) { + if (!t.isSuccess(baseUrl)) { throw ApiException(t.code, t.msg) } return t.result diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/CosCallbackMapController.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/CosCallbackMapController.kt index b81c988bff..819debe980 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/CosCallbackMapController.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/CosCallbackMapController.kt @@ -45,7 +45,7 @@ object CosCallbackMapController : CosStatusCallback { fun unregisterCallbacks(paths: Map?) { paths?.let { - it?.keys?.let { keys -> + it.keys.let { keys -> keys.forEach { path -> unregisterCallback(path) } @@ -54,9 +54,7 @@ object CosCallbackMapController : CosStatusCallback { } override fun onStartUpload(eventId: String?, localPath: String?) { - map[localPath]?.let { - it.onStartUpload(eventId, localPath) - } + map[localPath]?.onStartUpload(eventId, localPath) } override fun uploadCosFailed(cosPath: String?, eventId: String?, localPath: String?) { 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 ae433565f4..6aaa000d64 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 @@ -75,7 +75,7 @@ class CosStatusController : CosStatusCallback { private fun sendGetInfoFailedReceiver(type: String) { Log.d(CarCorderController.TAG, "sendGetInfoFailedReceiver ------>") - var intent = Intent() + val intent = Intent() intent.action = "com.zhidao.roadcondition.getinfo.failed" intent.putExtra("type", type) AbsMogoApplication.getApp().applicationContext.sendBroadcast(intent) @@ -95,11 +95,11 @@ class CosStatusController : CosStatusCallback { // } // } } else { - if (localPath!!.endsWith("mp4") || localPath!!.contains("Thumbnail")) { + if (localPath!!.endsWith("mp4") || localPath.contains("Thumbnail")) { CosCallbackMapController.uploadFailed?.invoke() } CosCallbackMapController.unregisterCallback(localPath) - InformationUploadController.release(entity?.id) + InformationUploadController.release(entity.id) // deletePicFile(localPath) } } @@ -114,7 +114,7 @@ class CosStatusController : CosStatusCallback { Log.d(TAG, "uploadCosCompleted downloadUrl = $downloadUrl") Log.d(TAG, "uploadCosCompleted cosPath = $cosPath") trackUploadCos(1) - if (localPath!!.endsWith("mp4") || localPath!!.contains("Thumbnail")) { + if (localPath!!.endsWith("mp4") || localPath.contains("Thumbnail")) { //如果是视频文件或者缩略图文件 if (localPath.endsWith("mp4")) { videoAndThumbMap["video"] = downloadUrl!! @@ -127,7 +127,7 @@ class CosStatusController : CosStatusCallback { if (videoAndThumbMap.size == 2) { trackUploadCos(4) Log.d(TAG, "videoAndThumbMap.size == 2 ") - var locationInfo = LocationUtil.getInstance().getLocationInfo() + val locationInfo = LocationUtil.getInstance().getLocationInfo() val locationStr: String = Gson().toJson(locationInfo) Log.d(TAG, "locationStr = $locationStr") //上传录像以及缩略图成功 @@ -155,7 +155,7 @@ class CosStatusController : CosStatusCallback { } private fun sendInformation(type: Int, map: Map) { - Log.d(TAG, "isCustomSend = ${entity?.isCustom}") + Log.d(TAG, "isCustomSend = ${entity.isCustom}") // if (entity?.isCustom) { // InformationUploadController.cosResourceReady(type, map, entity?.isCustom, entity?.id) { // CosCallbackMapController.mainService?.sendCustomResult(it) diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/InformationUploadController.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/InformationUploadController.kt index e0c14ed1c3..87a2328aa9 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/InformationUploadController.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/InformationUploadController.kt @@ -75,7 +75,7 @@ object InformationUploadController { } } - private fun tryUploadInformation(ir: InformationResource?) { +// private fun tryUploadInformation(ir: InformationResource?) { // synchronized(locker) { // ir?.let { // if (!it.isReady()) { @@ -106,7 +106,7 @@ object InformationUploadController { // } // } // } - } +// } fun release(id: Long) { val target = informationCache.remove(id) 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 d7db18d27f..da2ff0c096 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 @@ -132,11 +132,10 @@ class MainService : Service() { if (p1.action == alarmBroadAction) { if (p1.getIntExtra("AlarmType", 1) == AlarmTypePic) { //拍照 - var number = p1.getLongExtra("number", 1) - takePhoto(number, true) + takePhoto(true) } else { //录像 - var duration = p1.getIntExtra("duration", 3) + val duration = p1.getIntExtra("duration", 3) takeVideo(duration, true) } } @@ -211,7 +210,7 @@ class MainService : Service() { // ) } - private fun sendMarkerInfoReceiver(lat: Double, lon: Double, imageUrl: String?, type: String?) { +// private fun sendMarkerInfoReceiver(lat: Double, lon: Double, imageUrl: String?, type: String?) { // Log.e("MainService", "sendMarkerInfoReceiver ------> type = $type ") // Log.e("MainService", "sendMarkerInfoReceiver ------> fromType = $fromType ") // Log.e("MainService", "sendMarkerInfoReceiver ------> isCustom = $isCustom ") @@ -224,7 +223,7 @@ class MainService : Service() { // intent.putExtra("custom", isCustom) // intent.putExtra("fromType", fromType) // sendBroadcast(intent) - } +// } /** * 初始化定位监听 @@ -266,7 +265,7 @@ class MainService : Service() { Log.d("MainService", "handleReportStrategy picType = $picType ---videoType = $videoType") shareType = TANLU_ROAD_CURRENT if (picType == 1) { - takePhoto(1) + takePhoto() } else if (picType == 2) { postPhotoAlarmTask(true) } @@ -291,7 +290,7 @@ class MainService : Service() { } //获取图片 - private fun takePhoto(picNum: Long, isInterval: Boolean = false, isCustom: Boolean = false) { + private fun takePhoto( isInterval: Boolean = false, isCustom: Boolean = false) { Log.d("MainService", "takePhoto -----1----->") //判断是否授权 // if (isAuthorization(BaseApplication.getAppContext())) { 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 3495d69f9c..04238de2b7 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 @@ -18,7 +18,7 @@ import kotlinx.coroutines.runBlocking class MainServiceController { companion object { - var TAG = this.javaClass.name + var TAG = this::class.java.name } //逆地理编码是否重试 @@ -57,69 +57,69 @@ class MainServiceController { } //将数据同步到sharePreference中 - fun syncStrategiesData(strategy: CityStrategy) { - if (strategy?.pic != null && strategy.video!=null) { - setStrategyType(AbsMogoApplication.getApp().applicationContext, strategy.pic.strategyType, "pic") - setStrategyType(AbsMogoApplication.getApp().applicationContext, strategy.video.strategyType, "video") + private fun syncStrategiesData(strategy: CityStrategy) { + if (strategy.pic != null && strategy.video!=null) { + setStrategyType(AbsMogoApplication.getApp().applicationContext, strategy.pic!!.strategyType, "pic") + setStrategyType(AbsMogoApplication.getApp().applicationContext, strategy.video!!.strategyType, "video") setStrategyFrequency( AbsMogoApplication.getApp().applicationContext, - strategy.pic.strategyType, + strategy.pic!!.strategyType, "pic", - strategy.pic.reportType + strategy.pic!!.reportType ) setStrategyFrequency( AbsMogoApplication.getApp().applicationContext, - strategy.video.strategyType, + strategy.video!!.strategyType, "video", - strategy.video.reportType + strategy.video!!.reportType ) setStrategyInterval( AbsMogoApplication.getApp().applicationContext, - strategy.pic.strategyType, + strategy.pic!!.strategyType, "pic", - strategy.pic.reportTimeInterval * 60 * 1000L + strategy.pic!!.reportTimeInterval * 60 * 1000L ) setStrategyInterval( AbsMogoApplication.getApp().applicationContext, - strategy.video.strategyType, + strategy.video!!.strategyType, "video", - strategy.video.reportTimeInterval * 60 * 1000L + strategy.video!!.reportTimeInterval * 60 * 1000L ) setStrategyValidity( AbsMogoApplication.getApp().applicationContext, - strategy.pic.strategyType, + strategy.pic!!.strategyType, "pic", - strategy.pic.infoTimeout + strategy.pic!!.infoTimeout ) setStrategyValidity( AbsMogoApplication.getApp().applicationContext, - strategy.video.strategyType, + strategy.video!!.strategyType, "video", - strategy.video.infoTimeout + strategy.video!!.infoTimeout ) setStrategyMaxSpeed( AbsMogoApplication.getApp().applicationContext, - strategy.pic.strategyType, + strategy.pic!!.strategyType, "pic", - strategy.pic.getMaxSpeed() + strategy.pic!!.getMaxSpeed() ) setStrategyMaxSpeed( AbsMogoApplication.getApp().applicationContext, - strategy.video.strategyType, + strategy.video!!.strategyType, "video", - strategy.video.getMaxSpeed() + strategy.video!!.getMaxSpeed() ) setStrategyMinSpeed( AbsMogoApplication.getApp().applicationContext, - strategy.pic.strategyType, + strategy.pic!!.strategyType, "pic", - strategy.pic.minSpeed + strategy.pic!!.minSpeed ) setStrategyMinSpeed( AbsMogoApplication.getApp().applicationContext, - strategy.video.strategyType, + strategy.video!!.strategyType, "video", - strategy.video.minSpeed + strategy.video!!.minSpeed ) } else { Log.d(TAG, "strategy Data is null") @@ -145,8 +145,8 @@ class MainServiceController { mFromType = fromType mPoiType = poiType - var locationInfo = LocationUtil.getInstance().getLocationInfo() - if (locationInfo.address.isNullOrEmpty()) { + val locationInfo = LocationUtil.getInstance().getLocationInfo() + if (locationInfo.address.isEmpty()) { Log.d(TAG, " sendInformationMessage locationInfo.address = $locationInfo.address") trackUploadGeo(1) geoLocation(type, url, locationInfo, isCustom,trafficInfoType, isShare, customSend,poiType,mainInfoId,speed, longitude,latitude) @@ -210,11 +210,9 @@ class MainServiceController { strategyeModel.uploadInformation(informationBody) } onSuccess { - if (it.result != null) { - Log.i(TAG, "upload success id = " + it.result.id) - if (mFromType == "6") { - sendUgcStatusReceiver(it.result.id, mPoiType, mFromType) - } + Log.i(TAG, "upload success id = " + it.result.id) + if (mFromType == "6") { + sendUgcStatusReceiver(it.result.id, mPoiType, mFromType) } trackUploadServer(1) customSend?.invoke(true) diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/AnalyticsUtil.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/AnalyticsUtil.kt index 6c8ac01e1e..762810b948 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/AnalyticsUtil.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/AnalyticsUtil.kt @@ -39,8 +39,8 @@ const val CarNet_Geo:String = "CarNet_Geo_Location" //上传服务端, type=1开 const val CarNet_live_broadcast = "CarNet_live_broadcast" // 地图页面点击直播(在线可直播车机) //自定义埋点 @DebugLog -fun trackNormalEvent(event: String, data: MutableMap?, context: Context = AbsMogoApplication.getApp().applicationContext) { - var data = data +fun trackNormalEvent(event: String, _data: MutableMap?, context: Context = AbsMogoApplication.getApp().applicationContext) { + var data = _data if (data == null) { data = HashMap() } diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/FileUtil.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/FileUtil.kt index 7a4b783f14..5c1c0c90d0 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/FileUtil.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/FileUtil.kt @@ -138,10 +138,10 @@ fun getCompressVideoPath(): String { * 保存图片到本地 */ fun saveImageToSdcard(bmp: Bitmap): Boolean { - var currentFile: File - lateinit var fos: FileOutputStream + val currentFile: File + var fos: FileOutputStream? = null - var picFile = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + val picFile = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) picFile.mkdirs() val builder = StringBuilder() @@ -162,9 +162,7 @@ fun saveImageToSdcard(bmp: Bitmap): Boolean { return false } finally { try { - if (fos != null) { - fos.close() - } + fos?.close() } catch (e: IOException) { e.printStackTrace() return false diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/LocationUtil.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/LocationUtil.kt index 2e2de29b55..08a711e576 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/LocationUtil.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/LocationUtil.kt @@ -72,7 +72,7 @@ class LocationUtil private constructor() { private var locationClient: AMapLocationClient? = null private var locationOption: AMapLocationClientOption? = null private var speedListener: SpeedListener? = null - private var locationInfo: LocationInfo = LocationInfo() + private var locationInfo: LocationInfo? = null private var speed: Float = 0.0f fun initLocation() { @@ -125,24 +125,21 @@ class LocationUtil private constructor() { */ private var locationListener: AMapLocationListener = AMapLocationListener { location -> if (null != location) { - locationInfo.longitude = location.longitude - locationInfo.latitude = location.latitude - locationInfo.address = location.address - locationInfo.time = location.time - locationInfo.provinceName = location.province - locationInfo.cityName = location.city - locationInfo.cityCode = location.cityCode - locationInfo.areaName = location.district - locationInfo.areaCode = location.adCode - locationInfo.street = location.street - locationInfo.direction = location.bearing - listener?.let { - it.onChanged(locationInfo) - } + locationInfo = LocationInfo() + locationInfo!!.longitude = location.longitude + locationInfo!!.latitude = location.latitude + locationInfo!!.address = location.address + locationInfo!!.time = location.time + locationInfo!!.provinceName = location.province + locationInfo!!.cityName = location.city + locationInfo!!.cityCode = location.cityCode + locationInfo!!.areaName = location.district + locationInfo!!.areaCode = location.adCode + locationInfo!!.street = location.street + locationInfo!!.direction = location.bearing + listener?.onChanged(locationInfo!!) speed = location.speed - speedListener?.let { - it.onSpeedGet(location.speed) - } + speedListener?.onSpeedGet(location.speed) } else { Log.d(TAG, "定位失败 -> location is null") } @@ -160,13 +157,12 @@ class LocationUtil private constructor() { fun getLocationInfo(): LocationInfo { return if (null != locationInfo) { - locationInfo + locationInfo!! } else { if (null == locationClient) { locationClient = AMapLocationClient(mContext) - this.locationClient = locationClient } - var location = locationClient!!.lastKnownLocation + val location = locationClient!!.lastKnownLocation location.toLocInfo(location) } } diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/TaskCoroutines.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/TaskCoroutines.kt index e3a9566021..990f120875 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/TaskCoroutines.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/util/TaskCoroutines.kt @@ -2,6 +2,7 @@ package com.zhidao.roadcondition.util import kotlinx.coroutines.* +@ObsoleteCoroutinesApi @PublishedApi internal var ThreadPool = newFixedThreadPoolContext(Runtime.getRuntime().availableProcessors() * 2, "ThreadPool") @@ -11,16 +12,17 @@ internal var ThreadPool = * 在主线程中顺序执行,协程函数,一般用于最外层 * 该函数会阻塞代码继续执行 */ -inline fun taskBlockOnMainThread(delayTime: Long = 0, noinline job: suspend () -> Unit) = runBlocking { - delay(delayTime) - job() -} +//inline fun taskBlockOnMainThread(delayTime: Long = 0, noinline job: suspend () -> Unit) = runBlocking { +// delay(delayTime) +// job() +//} /** * 并发执行,常用于最外层 * 特点带返回值 */ -inline fun taskAsync(delayTime: Long = 0, noinline job: suspend () -> T) = GlobalScope.async(ThreadPool) { +@ObsoleteCoroutinesApi +fun taskAsync(delayTime: Long = 0, job: suspend () -> T) = GlobalScope.async(ThreadPool) { delay(delayTime) job() } \ No newline at end of file diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/api/CallChatApi.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/api/CallChatApi.java index 491fae50b7..8c66296c17 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/api/CallChatApi.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/api/CallChatApi.java @@ -66,15 +66,15 @@ class CallChatApi { driverInfo.setSn( onlineCar.getUserInfo().getSn() ); driverInfo.setUserHead( onlineCar.getUserInfo().getUserHead() ); driverInfo.setUserName( onlineCar.getUserInfo().getUserName() ); - mApiProvider.showUserWindow( TAG, driverInfo, context ); + if ( mApiProvider != null ) { + mApiProvider.showUserWindow( TAG, driverInfo, context ); + } } public void hideUserWindow( Context context ) { - if ( mApiProvider != null ) { - if ( mApiProvider == null ) { - Logger.e( TAG, "no call chat api instance." ); - return; - } + if ( mApiProvider == null ) { + Logger.e( TAG, "no call chat api instance." ); + return; } mApiProvider.hideUserWindow( TAG, context, null ); } diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/view/CustomRatingBar.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/view/CustomRatingBar.java index 8403901eef..b38917966c 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/view/CustomRatingBar.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/view/CustomRatingBar.java @@ -77,6 +77,11 @@ public class CustomRatingBar extends LinearLayout { * */ private StepSize stepSize; + /* + *添加资源(空白心是白色还是灰色自定义属性) + * */ + private boolean otherHeartImg; + @Override public boolean isClickable() { return mClickable; @@ -159,14 +164,21 @@ public class CustomRatingBar extends LinearLayout { context.getResources().getDimension(R.dimen.heart_ratingbar_height)); elementPadding = mTypedArray.getDimension(R.styleable.CustomRatingBar_elenmentPadding, context.getResources().getDimension(R.dimen.ratingbar_padding)); + /* + * 白天模式下 热心指数(白色)和个人中心(灰色)使用不同的资源 + * 默认灰色 + * */ + otherHeartImg = mTypedArray.getBoolean(R.styleable.CustomRatingBar_OtherHeartImg, true); elementStep = mTypedArray.getFloat(R.styleable.CustomRatingBar_elenmentStep, 1.0f); stepSize = StepSize.fromStep(mTypedArray.getInt(R.styleable.CustomRatingBar_stepSize, 1)); elementCount = mTypedArray.getInteger(R.styleable.CustomRatingBar_elenmentCount, 5); stepSize = StepSize.Half; - Drawable drawable_empty_default = ContextCompat.getDrawable(context, R.drawable.icon_heart_unchoose); - Drawable drawable_harf_default = ContextCompat.getDrawable(context, R.drawable.icon_heart_second); + Drawable drawable_empty_default = ContextCompat.getDrawable(context, + otherHeartImg == false ? R.drawable.icon_heart_unchoose : R.drawable.icon_heart_unchoose_other); + Drawable drawable_half_default = ContextCompat.getDrawable(context, + otherHeartImg == false ? R.drawable.icon_heart_second : R.drawable.icon_heart_second_other); Drawable drawable_fill_default = ContextCompat.getDrawable(context, R.drawable.icon_heart_choose); Drawable drawable_empty = mTypedArray.getDrawable(R.styleable.CustomRatingBar_elenmentEmpty); @@ -175,7 +187,7 @@ public class CustomRatingBar extends LinearLayout { elementEmptyDrawable = drawable_empty != null ? drawable_empty : drawable_empty_default; elementFillDrawable = drawable_half != null ? drawable_half : drawable_fill_default; - elementHarfDrawable = drawable_fill != null ? drawable_fill : drawable_harf_default; + elementHarfDrawable = drawable_fill != null ? drawable_fill : drawable_half_default; mClickable = mTypedArray.getBoolean(R.styleable.CustomRatingBar_clickable, false); mTypedArray.recycle(); for (int i = 0; i < elementCount; ++i) { diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/icon_heart_second_other.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/icon_heart_second_other.png new file mode 100644 index 0000000000..1c49555541 Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/icon_heart_second_other.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/icon_heart_unchoose_other.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/icon_heart_unchoose_other.png new file mode 100644 index 0000000000..09ab4af9e3 Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/icon_heart_unchoose_other.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable/icon_heart_second_other.png b/modules/mogo-module-common/src/main/res/drawable/icon_heart_second_other.png new file mode 100644 index 0000000000..e26dbe8a7b Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable/icon_heart_second_other.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable/icon_heart_unchoose_other.png b/modules/mogo-module-common/src/main/res/drawable/icon_heart_unchoose_other.png new file mode 100644 index 0000000000..c1dbeacc1d Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable/icon_heart_unchoose_other.png differ diff --git a/modules/mogo-module-common/src/main/res/values/attr.xml b/modules/mogo-module-common/src/main/res/values/attr.xml index c18d5a5d09..073636bd02 100644 --- a/modules/mogo-module-common/src/main/res/values/attr.xml +++ b/modules/mogo-module-common/src/main/res/values/attr.xml @@ -38,6 +38,7 @@ + \ No newline at end of file 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 047f2a7f55..aab6f7f597 100644 --- a/modules/mogo-module-common/src/main/res/values/styles.xml +++ b/modules/mogo-module-common/src/main/res/values/styles.xml @@ -1,5 +1,6 @@ + - - - \ No newline at end of file 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 0f28fa8859..2379b3e458 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 @@ -112,7 +112,9 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme FloatingViewHandler.init( mFloatingLayout ); mServiceApis.getOnlineCarPanelApi().initContainer( R.id.module_main_id_message_history_fragment_container, this ); - CallChatApi.getInstance().getApiProvider().initVehicleTeamContainer("init", R.id.module_main_id_message_history_fragment_container, this); + if ( CallChatApi.getInstance().getApiProvider() != null ) { + CallChatApi.getInstance().getApiProvider().initVehicleTeamContainer("init", R.id.module_main_id_message_history_fragment_container, this); + } } // 隐藏布局 @@ -368,7 +370,9 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme mServiceApis.getRefreshStrategyControllerApi().clearAllData(); AIAssist.getInstance( this ).release(); mServiceApis.getOnlineCarPanelApi().clear(); - CallChatApi.getInstance().getApiProvider().initVehicleTeamContainer("init", 0, null); + if ( CallChatApi.getInstance().getApiProvider() != null ) { + CallChatApi.getInstance().getApiProvider().initVehicleTeamContainer("init", 0, null); + } ContextHolderUtil.releaseContext(); MogoModulesManager.getInstance().onDestroy(); SchemeIntent.getInstance().clear(); diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java index 7b24eaced0..8f1dc8c03b 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java @@ -6,6 +6,7 @@ import android.content.Context; import androidx.fragment.app.Fragment; import com.alibaba.android.arouter.launcher.ARouter; +import com.mogo.module.common.MogoApisHandler; import com.mogo.module.common.MogoModule; import com.mogo.module.common.MogoModulePaths; import com.mogo.module.main.MainActivity; @@ -127,9 +128,7 @@ public class MogoModulesManager implements MogoModulesHandler { @Override public void loadEventPanelModule( int containerId ) { - IMogoModuleProvider provider = ( IMogoModuleProvider ) ARouter.getInstance() - .build( MogoServicePaths.PATH_EVENT_PANEL ) - .navigation( getContext() ); + IMogoModuleProvider provider = MogoApisHandler.getInstance().getApis().getEventPanelManager(); addFragment( provider, containerId ); } diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/window/MediaWindow2.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/window/MediaWindow2.java index 9b7be826f9..4bdaa9eec7 100644 --- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/window/MediaWindow2.java +++ b/modules/mogo-module-media/src/main/java/com/mogo/module/media/window/MediaWindow2.java @@ -101,7 +101,9 @@ public class MediaWindow2 implements IMusicView , IMogoStatusChangedListener { } } }; - ServiceMediaHandler.getCarsChattingApis().registerCallWindowStatusListener( MediaConstants.MODULE_TYPE, mContext, mCallProviderResponse); + if ( ServiceMediaHandler.getCarsChattingApis() != null ) { + ServiceMediaHandler.getCarsChattingApis().registerCallWindowStatusListener( MediaConstants.MODULE_TYPE, mContext, mCallProviderResponse); + } isFirstPlay = true; } @@ -344,7 +346,9 @@ public class MediaWindow2 implements IMusicView , IMogoStatusChangedListener { public void onDestroy(){ Logger.d(TAG, "onDestroy"); - ServiceMediaHandler.getCarsChattingApis().unRegisterCallWindowStatusListener( MediaConstants.MODULE_TYPE, mContext); + if ( ServiceMediaHandler.getCarsChattingApis() != null ) { + ServiceMediaHandler.getCarsChattingApis().unRegisterCallWindowStatusListener( MediaConstants.MODULE_TYPE, mContext); + } ServiceMediaHandler.getIMogoStatusManager().unregisterStatusChangedListener(MediaConstants.MODULE_TYPE, StatusDescriptor.ACC_STATUS,this); } } diff --git a/modules/mogo-module-search/build.gradle b/modules/mogo-module-search/build.gradle index b5b990719a..8470868a53 100644 --- a/modules/mogo-module-search/build.gradle +++ b/modules/mogo-module-search/build.gradle @@ -58,14 +58,14 @@ dependencies { implementation rootProject.ext.dependencies.mogocommons implementation rootProject.ext.dependencies.mogoserviceapi implementation rootProject.ext.dependencies.modulecommon - implementation rootProject.ext.dependencies.gpssimulator +// implementation rootProject.ext.dependencies.gpssimulator } else { implementation project(":libraries:mogo-map-api") implementation project(":foudations:mogo-utils") implementation project(":foudations:mogo-commons") implementation project(':services:mogo-service-api') implementation project(':modules:mogo-module-common') - implementation project(':modules:mogo-module-gps-simulator') +// implementation project(':modules:mogo-module-gps-simulator') } implementation 'com.zhidaoauto.voice.controller:api:1.0.2' diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/constants/SearchApisHolder.java b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/constants/SearchApisHolder.java index 6584886e78..138f55905e 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/constants/SearchApisHolder.java +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/constants/SearchApisHolder.java @@ -1,13 +1,11 @@ package com.mogo.module.navi.constants; -import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.commons.AbsMogoApplication; import com.mogo.map.location.IMogoLocationClient; import com.mogo.map.marker.IMogoMarkerManager; import com.mogo.map.navi.IMogoNavi; import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.module.common.MogoApisHandler; -import com.mogo.module.gps.simulator.IMogoGpsSimulatorManager; import com.mogo.module.navi.cp.PersonalInfoManagerImpl; import com.mogo.service.IMogoServiceApis; import com.mogo.service.analytics.IMogoAnalytics; @@ -31,7 +29,7 @@ public class SearchApisHolder { private static final String TAG = "SearchApisHolder"; private static IMogoServiceApis sApis; - private static IMogoGpsSimulatorManager sGpsSimulatorManager; +// private static IMogoGpsSimulatorManager sGpsSimulatorManager; private static PersonalInfoManagerImpl mPersonalInfoManager; @@ -86,12 +84,12 @@ public class SearchApisHolder { return getApis().getSettingManagerApi(); } - public static IMogoGpsSimulatorManager getGpsSimulatorManager() { - if ( sGpsSimulatorManager == null ) { - sGpsSimulatorManager = ARouter.getInstance().navigation( IMogoGpsSimulatorManager.class ); - } - return sGpsSimulatorManager; - } +// public static IMogoGpsSimulatorManager getGpsSimulatorManager() { +// if ( sGpsSimulatorManager == null ) { +// sGpsSimulatorManager = ARouter.getInstance().navigation( IMogoGpsSimulatorManager.class ); +// } +// return sGpsSimulatorManager; +// } public static IMogoSearchManager getSearchManager() { return getApis().getSearchManagerApi(); diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/NaviSettingFragment.kt b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/NaviSettingFragment.kt index 1ae8d81d6c..3b272bd6bc 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/NaviSettingFragment.kt +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/NaviSettingFragment.kt @@ -221,11 +221,11 @@ class NaviSettingFragment : BaseFragment(), OnCheckedChangeListener { SettingManager.setGpsSimulator(isChecked) - if (isChecked) { - SearchApisHolder.getGpsSimulatorManager().open() - } else { - SearchApisHolder.getGpsSimulatorManager().close() - } +// if (isChecked) { +// SearchApisHolder.getGpsSimulatorManager().open() +// } else { +// SearchApisHolder.getGpsSimulatorManager().close() +// } } tb_navi.isChecked = SettingManager.isMonitor() tb_gps.isChecked = SettingManager.isGpsSimulator() diff --git a/modules/mogo-module-service/build.gradle b/modules/mogo-module-service/build.gradle index 41ad5573e9..ef590bb3e9 100644 --- a/modules/mogo-module-service/build.gradle +++ b/modules/mogo-module-service/build.gradle @@ -60,7 +60,7 @@ dependencies { api rootProject.ext.dependencies.mogocommons api rootProject.ext.dependencies.mogoserviceapi implementation rootProject.ext.dependencies.modulecommon - implementation rootProject.ext.dependencies.gpssimulator +// implementation rootProject.ext.dependencies.gpssimulator } else { api project(":libraries:mogo-map") api project(":libraries:mogo-map-api") @@ -68,7 +68,7 @@ dependencies { api project(":foudations:mogo-commons") api project(':services:mogo-service-api') implementation project(':modules:mogo-module-common') - implementation project(':modules:mogo-module-gps-simulator') +// implementation project(':modules:mogo-module-gps-simulator') } } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java index 6e4d0bfb59..6452f73baa 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java @@ -11,7 +11,6 @@ import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.module.common.MogoApisHandler; import com.mogo.module.common.entity.MarkerResponse; import com.mogo.module.common.entity.MarkerShowEntity; -import com.mogo.module.gps.simulator.IMogoGpsSimulatorManager; import com.mogo.module.service.marker.MapMarkerManager; import com.mogo.service.IMogoServiceApis; import com.mogo.service.adas.IMogoADASController; @@ -59,11 +58,11 @@ public class MarkerServiceHandler { private static IMogoLauncher sLauncher; private static IMogoFragmentManager sFragmentManager; private static ICarsChattingProvider sCarChatting; - private static IMogoGpsSimulatorManager sGpsSimulatorManager; +// private static IMogoGpsSimulatorManager sGpsSimulatorManager; public static synchronized void init( final Context context ) { - if ( sGpsSimulatorManager != null ) { + if ( sCarChatting != null ) { return; } @@ -89,7 +88,7 @@ public class MarkerServiceHandler { MapMarkerManager.getInstance().init( context ); - sGpsSimulatorManager = ARouter.getInstance().navigation( IMogoGpsSimulatorManager.class ); +// sGpsSimulatorManager = ARouter.getInstance().navigation( IMogoGpsSimulatorManager.class ); } public static IMogoServiceApis getApis() { @@ -168,9 +167,9 @@ public class MarkerServiceHandler { return sCarChatting; } - public static IMogoGpsSimulatorManager getGpsSimulatorManager() { - return sGpsSimulatorManager; - } +// public static IMogoGpsSimulatorManager getGpsSimulatorManager() { +// return sGpsSimulatorManager; +// } //TODO -------------以下方法是临时过度使用的,后面统一使用,getMapMarkerManager进行调用 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 55c95def40..7e88cf83de 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 @@ -412,7 +412,9 @@ public class MogoServices implements IMogoMapListener, MogoApisHandler.getInstance().getApis().getAdasControllerApi().setSettingStatus(false); MogoApisHandler.getInstance().getApis().getEventPanelManager().hidePanel(); carsChattingProvider = (ICarsChattingProvider) ARouter.getInstance().build(CallChattingProviderConstant.CAR_CALL_PROVIDER).navigation(); - carsChattingProvider.hideUserWindow("MOGO_COMMON_SERVICE", mContext, mCallProviderResponse); + if ( carsChattingProvider != null ) { + carsChattingProvider.hideUserWindow("MOGO_COMMON_SERVICE", mContext, mCallProviderResponse); + } } public void init(Context context) { diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java index a7a19b4131..1bbd2b895a 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java @@ -2,7 +2,6 @@ package com.mogo.module.service.intent; import android.content.Context; import android.content.Intent; -import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Color; import android.net.Uri; @@ -26,7 +25,6 @@ import com.mogo.map.search.geo.MogoRegeocodeResult; import com.mogo.map.search.geo.query.MogoRegeocodeQuery; import com.mogo.module.common.dialog.WMDialog; import com.mogo.module.service.MarkerServiceHandler; -import com.mogo.module.service.MogoServiceProvider; import com.mogo.module.service.R; import com.mogo.service.entrance.ButtonIndex; import com.mogo.utils.TipToast; @@ -327,12 +325,12 @@ public class MockIntentHandler implements IntentHandler { } ); } break; - case 15: - MarkerServiceHandler.getGpsSimulatorManager().open(); - break; - case 16: - MarkerServiceHandler.getGpsSimulatorManager().close(); - break; +// case 15: +// MarkerServiceHandler.getGpsSimulatorManager().open(); +// break; +// case 16: +// MarkerServiceHandler.getGpsSimulatorManager().close(); +// break; case 17: DebugConfig.setRequestOnlineCarData( intent.getBooleanExtra( "status", true ) ); break; diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java index 03a09dc7d3..4900de38da 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java @@ -113,24 +113,26 @@ public class MapMarkerManager implements IMogoMarkerClickListener, MarkerServiceHandler.getActionManager().registerBizActionDoneListener( this ); MarkerServiceHandler.getApis().getRegisterCenterApi().registerADASControlStatusChangedListener( TAG, this ); - CallChatApi.getInstance().getApiProvider().registerUserWindowStatusListener( TAG, mContext, new ICallChatResponse() { + if ( CallChatApi.getInstance().getApiProvider() != null ) { + CallChatApi.getInstance().getApiProvider().registerUserWindowStatusListener( TAG, mContext, new ICallChatResponse() { - @Override - public void userWindowStatus( boolean show ) { - try { - if ( mLastCheckMarker == null ) { - return; + @Override + public void userWindowStatus( boolean show ) { + try { + if ( mLastCheckMarker == null ) { + return; + } + if ( TextUtils.equals( mLastCheckMarker.getOwner(), ModuleNames.CARD_TYPE_USER_DATA ) + && !show ) { + closeMarker( mLastCheckMarker ); + } + } catch ( Exception e ) { + e.printStackTrace(); } - if ( TextUtils.equals( mLastCheckMarker.getOwner(), ModuleNames.CARD_TYPE_USER_DATA ) - && !show ) { - closeMarker( mLastCheckMarker ); - } - } catch ( Exception e ) { - e.printStackTrace(); } - } - } ); + } ); + } } /** diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/UserDataMarkerInfoWindowAdapter.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/UserDataMarkerInfoWindowAdapter.java index 291f75dfe3..a1c20acb9d 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/UserDataMarkerInfoWindowAdapter.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/UserDataMarkerInfoWindowAdapter.java @@ -194,7 +194,9 @@ public class UserDataMarkerInfoWindowAdapter implements IMogoInfoWindowAdapter { params.put( CallChattingProviderConstant.CCPROVIDER_LON, location.getLon() + "" ); } Logger.d( TAG, "call parameters: %s", params ); - MarkerServiceHandler.getCarChatting().call( params ); + if ( MarkerServiceHandler.getCarChatting() != null ) { + MarkerServiceHandler.getCarChatting().call( params ); + } } protected void loadImageHeader( final MarkerShowEntity markerShowEntity ) { diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelAdapter.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelAdapter.java index 86beee061c..85a394305a 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelAdapter.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelAdapter.java @@ -78,7 +78,9 @@ class OnlineCarPanelAdapter extends RecyclerView.Adapter String name = noveltyInfo.getUserInfo().getUserName(); mogoDriverInfo.setUserName(name != null ? name : ""); mogoDriverInfo.setUserHead(noveltyInfo.getUserInfo().getUserHead()); - mCarsChattingProvider.showUserWindow(MODULE_NAME, mogoDriverInfo, this.itemView.getContext()); + if ( mCarsChattingProvider != null ) { + mCarsChattingProvider.showUserWindow(MODULE_NAME, mogoDriverInfo, this.itemView.getContext()); + } } catch (Exception e) { Log.d(TAG, "点击头像发生错误--triggerIVReportHead" + e); 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 3eb198c1d0..da93fa5f15 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 @@ -227,15 +227,20 @@ class V2XEventPanelFragment : MvpFragment "封路" MarkerPoiTypeEnum.FOURS_ICE -> "道路结冰" MarkerPoiTypeEnum.FOURS_FOG -> "浓雾" @@ -333,7 +337,6 @@ class V2XEventPanelFragment : MvpFragment "实时路况" else -> "实时路况" } - return typeName } /* diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/road/V2XRoadVideoWindow.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/road/V2XRoadVideoWindow.java index e096f6a17f..58d4bc587e 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/road/V2XRoadVideoWindow.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/road/V2XRoadVideoWindow.java @@ -25,6 +25,7 @@ import com.shuyu.gsyvideoplayer.utils.GSYVideoType; import com.shuyu.gsyvideoplayer.video.base.GSYVideoView; import java.util.ArrayList; + import static com.shuyu.gsyvideoplayer.utils.GSYVideoType.SCREEN_MATCH_FULL; /** @@ -72,7 +73,6 @@ public class V2XRoadVideoWindow extends RelativeLayout implements thumbnailImage = this.findViewById(R.id.thumbnail_image); simpleCoverVideoPlayer = this.findViewById(R.id.roadVideoView); GSYVideoType.setShowType(SCREEN_MATCH_FULL); - gsyVideoOptionBuilder.setCacheWithPlay(false); closeImage = this.findViewById(R.id.roadVideoClose); closeImage.setOnClickListener(v -> { close(); @@ -152,106 +152,109 @@ public class V2XRoadVideoWindow extends RelativeLayout implements } if (path.contains(".mp4")) { startPlayWithVideoUrl(path); - Bitmap firstBitmap = BitmapHelper.getVideoThumbnail(path);/*获取第一帧图*/ - - simpleCoverVideoPlayer.setVideoAllCallBack(new VideoAllCallBack() { + new Thread(new Runnable() { @Override - public void onAutoComplete(String url, Object... objects) { - complete(firstBitmap, path); - } + public void run() { + Bitmap firstBitmap = BitmapHelper.getVideoThumbnail(path);/*获取第一帧图*/ + simpleCoverVideoPlayer.setVideoAllCallBack(new VideoAllCallBack() { + @Override + public void onAutoComplete(String url, Object... objects) { + complete(firstBitmap, path); + } - @Override - public void onClickResume(String url, Object... objects) { - thumbnailImage.setVisibility(View.GONE); - playImageView.setVisibility(View.GONE); - } + @Override + public void onClickResume(String url, Object... objects) { + thumbnailImage.setVisibility(View.GONE); + playImageView.setVisibility(View.GONE); + } - @Override - public void onClickStop(String url, Object... objects) { - Log.d(TAG, "onClickStop"); - } + @Override + public void onClickStop(String url, Object... objects) { + Log.d(TAG, "onClickStop"); + } - @Override - public void onStartPrepared(String url, Object... objects) { - Log.d(TAG, "onStartPrepared"); - } + @Override + public void onStartPrepared(String url, Object... objects) { + Log.d(TAG, "onStartPrepared"); + } - @Override - public void onPrepared(String url, Object... objects) { - } + @Override + public void onPrepared(String url, Object... objects) { + } - @Override - public void onClickStartIcon(String url, Object... objects) { - } + @Override + public void onClickStartIcon(String url, Object... objects) { + } - @Override - public void onClickStartError(String url, Object... objects) { - } + @Override + public void onClickStartError(String url, Object... objects) { + } - @Override - public void onClickStopFullscreen(String url, Object... objects) { - } + @Override + public void onClickStopFullscreen(String url, Object... objects) { + } - @Override - public void onClickResumeFullscreen(String url, Object... objects) { - } + @Override + public void onClickResumeFullscreen(String url, Object... objects) { + } - @Override - public void onClickSeekbar(String url, Object... objects) { - } + @Override + public void onClickSeekbar(String url, Object... objects) { + } - @Override - public void onClickSeekbarFullscreen(String url, Object... objects) { - } + @Override + public void onClickSeekbarFullscreen(String url, Object... objects) { + } - @Override - public void onEnterFullscreen(String url, Object... objects) { - } + @Override + public void onEnterFullscreen(String url, Object... objects) { + } - @Override - public void onQuitFullscreen(String url, Object... objects) { - } + @Override + public void onQuitFullscreen(String url, Object... objects) { + } - @Override - public void onQuitSmallWidget(String url, Object... objects) { - } + @Override + public void onQuitSmallWidget(String url, Object... objects) { + } - @Override - public void onEnterSmallWidget(String url, Object... objects) { - } + @Override + public void onEnterSmallWidget(String url, Object... objects) { + } - @Override - public void onTouchScreenSeekVolume(String url, Object... objects) { - } + @Override + public void onTouchScreenSeekVolume(String url, Object... objects) { + } - @Override - public void onTouchScreenSeekPosition(String url, Object... objects) { - } + @Override + public void onTouchScreenSeekPosition(String url, Object... objects) { + } - @Override - public void onTouchScreenSeekLight(String url, Object... objects) { - } + @Override + public void onTouchScreenSeekLight(String url, Object... objects) { + } - @Override - public void onPlayError(String url, Object... objects) { - } + @Override + public void onPlayError(String url, Object... objects) { + } - @Override - public void onClickStartThumb(String url, Object... objects) { - } + @Override + public void onClickStartThumb(String url, Object... objects) { + } - @Override - public void onClickBlank(String url, Object... objects) { - } + @Override + public void onClickBlank(String url, Object... objects) { + } - @Override - public void onClickBlankFullscreen(String url, Object... objects) { - Log.d(TAG, "onClickBlankFullscreen"); + @Override + public void onClickBlankFullscreen(String url, Object... objects) { + Log.d(TAG, "onClickBlankFullscreen"); + } + }); } - }); + }).start(); } - } } diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/test/V2XTestConsoleWindow.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/test/V2XTestConsoleWindow.java index 8c172c97c0..43926689b8 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/test/V2XTestConsoleWindow.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/test/V2XTestConsoleWindow.java @@ -125,7 +125,9 @@ public class V2XTestConsoleWindow extends ConstraintLayout { mogoDriverInfo.setSn("12345678"); mogoDriverInfo.setUserName("测试"); mogoDriverInfo.setUserHead("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1600872867592&di=994e371880ca6ae2814f553e0d0e4139&imgtype=0&src=http%3A%2F%2Fp3.ssl.cdn.btime.com%2Ft014c5d8a1e5cef12ba.jpg%3Fsize%3D506x543"); - V2XServiceManager.getCarsChattingProvider().showUserWindow("CAR_CALL_USER_TO_" + V2XConst.MODULE_NAME, mogoDriverInfo, context); + if ( V2XServiceManager.getCarsChattingProvider() != null ) { + V2XServiceManager.getCarsChattingProvider().showUserWindow("CAR_CALL_USER_TO_" + V2XConst.MODULE_NAME, mogoDriverInfo, context); + } }); mBtnTriggerOpen.setOnClickListener(v -> diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/ugc/V2XEventUgcScenario.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/ugc/V2XEventUgcScenario.java index 49b45ee0df..6bf185b29c 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/ugc/V2XEventUgcScenario.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/ugc/V2XEventUgcScenario.java @@ -111,18 +111,18 @@ public class V2XEventUgcScenario extends AbsV2XScenario impl @Override public void onViewRemoved(View view) { - Logger.d(MODULE_NAME, "疲劳驾驶场景 关闭 Window 动画结束"); + //Logger.d(MODULE_NAME, "疲劳驾驶场景 关闭 Window 动画结束"); } @Override public void beforeViewAddAnim(View view) { - Logger.d(MODULE_NAME, "疲劳驾驶场景 展示 Window 开始"); + //Logger.d(MODULE_NAME, "疲劳驾驶场景 展示 Window 开始"); } @Override public void beforeViewRemoveAnim(View view) { - Logger.d(MODULE_NAME, "疲劳驾驶场景 关闭 Window 开始"); + //Logger.d(MODULE_NAME, "疲劳驾驶场景 关闭 Window 开始"); // 重置场景提示的消息 setV2XMessageEntity(null); V2XServiceManager.getMoGoV2XStatusManager().setFatigueDrivingWindowShow(TAG, false); diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/ChartingUtil.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/ChartingUtil.java index 4ee595aae9..1278314df9 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/ChartingUtil.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/ChartingUtil.java @@ -50,7 +50,9 @@ public class ChartingUtil { } Logger.d(MODULE_NAME, "调用车聊聊传入参数:\n" + params); - V2XServiceManager.getCarsChattingProvider().call(params); + if ( V2XServiceManager.getCarsChattingProvider() != null ) { + V2XServiceManager.getCarsChattingProvider().call(params); + } } catch (Exception e) { e.printStackTrace(); } @@ -73,24 +75,26 @@ public class ChartingUtil { } else { Logger.d("", "不是我的分享"); } - V2XServiceManager.getCarsChattingProvider().isOnLine( - "CAR_CALL_TO_" + V2XConst.MODULE_NAME, - V2XUtils.getApp(), - sn, - new ICallChatResponse() { - @Override - public void refuse(boolean b, int i) { + if ( V2XServiceManager.getCarsChattingProvider() != null ) { + V2XServiceManager.getCarsChattingProvider().isOnLine( + "CAR_CALL_TO_" + V2XConst.MODULE_NAME, + V2XUtils.getApp(), + sn, + new ICallChatResponse() { + @Override + public void refuse(boolean b, int i) { - } - - @Override - public void isOnLine(boolean onLine, @Nullable String errorMsg) { - Logger.e(V2XConst.MODULE_NAME, "isOnLine:" + onLine + " errorMsg:" + errorMsg); - if (chartStatusListener != null) { - chartStatusListener.canCall(onLine); } - } - }); + + @Override + public void isOnLine(boolean onLine, @Nullable String errorMsg) { + Logger.e(V2XConst.MODULE_NAME, "isOnLine:" + onLine + " errorMsg:" + errorMsg); + if (chartStatusListener != null) { + chartStatusListener.canCall(onLine); + } + } + }); + } } catch (Exception e) { e.printStackTrace(); } @@ -104,18 +108,20 @@ public class ChartingUtil { */ public static void isCanCall(ChartStatusListener chartStatusListener) { try { - V2XServiceManager.getCarsChattingProvider().canCall( - "CAR_CALL_TO_" + V2XConst.MODULE_NAME, - V2XUtils.getApp(), - new ICallChatResponse() { - @Override - public void canCall(boolean onLine) { - Logger.e(V2XConst.MODULE_NAME, "isOnLine:" + onLine); - if (chartStatusListener != null) { - chartStatusListener.canCall(onLine); + if ( V2XServiceManager.getCarsChattingProvider() != null ) { + V2XServiceManager.getCarsChattingProvider().canCall( + "CAR_CALL_TO_" + V2XConst.MODULE_NAME, + V2XUtils.getApp(), + new ICallChatResponse() { + @Override + public void canCall(boolean onLine) { + Logger.e(V2XConst.MODULE_NAME, "isOnLine:" + onLine); + if (chartStatusListener != null) { + chartStatusListener.canCall(onLine); + } } - } - }); + }); + } } catch (Exception e) { e.printStackTrace(); } diff --git a/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_description.xml b/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_description.xml index 6d3d72c99b..b0281ff0a3 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_description.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_description.xml @@ -108,7 +108,8 @@ + android:layout_height="wrap_content" + app:OtherHeartImg="false" />