diff --git a/app/build.gradle b/app/build.gradle index 6329f1c110..19b4d87013 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -373,8 +373,19 @@ dependencies { apply from: "./functions/widgets.gradle" apply from: "./functions/tts.gradle" +// implementation group: "com.tencent.matrix", name: "matrix-trace-canary", version:'0.6.6', changing: true + } +//apply plugin: 'com.tencent.matrix-plugin' +//matrix { +// trace { +// enable = true //if you don't want to use trace canary, set false +// baseMethodMapFile = "${project.buildDir}/matrix_output/Debug.methodmap" +// blackListFile = "${project.projectDir}/matrixTrace/blackMethodList.txt" +// } +//} + android.applicationVariants.all { variant -> def buildTime = new Date().format("yyyyMMdd", TimeZone.getTimeZone("GMT+08:00")) def flavor = variant.productFlavors.collect { it.name }.join('-') diff --git a/build.gradle b/build.gradle index d210cb3ce4..0891543e2b 100644 --- a/build.gradle +++ b/build.gradle @@ -21,6 +21,7 @@ buildscript { classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.71' classpath "com.alibaba:arouter-register:1.0.2" classpath 'com.hujiang.aspectjx:gradle-android-plugin-aspectjx:2.0.4' +// classpath ("com.tencent.matrix:matrix-gradle-plugin:0.6.6") { changing = true } // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } diff --git a/gradle.properties b/gradle.properties index 79795072ab..343c7e7243 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,7 +7,30 @@ # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. #org.gradle.jvmargs=-Xmx1536m +org.gradle.daemon=true +org.gradle.configureondemand=true +org.gradle.parallel=true org.gradle.jvmargs=-Xmx4096m + +#开启gradle缓存 +org.gradle.caching=true +android.enableBuildCache=true + +#开启kotlin的增量和并行编译 +kotlin.incremental=true +kotlin.incremental.java=true +kotlin.caching.enabled=true +#开启kotlin并行编译 +kotlin.parallel.tasks.in.project=true + +#优化kapt +#并行运行kapt1.2.60版本以上支持 +kapt.use.worker.api=true +#增量编译 kapt1.3.30版本以上支持 +kapt.incremental.apt=true +#kapt avoiding 如果用kapt依赖的内容没有变化,会完全重用编译内容,省掉app:kaptGenerateStubsDebugKotlin的时间 +kapt.include.compile.classpath=false + # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects @@ -18,7 +41,7 @@ org.gradle.jvmargs=-Xmx4096m android.useAndroidX=true # Automatically convert third-party libraries to use AndroidX android.enableJetifier=true -org.gradle.parallel=true + ## maven 配置 RELEASE_REPOSITORY_URL=http://nexus.zhidaoauto.com/repository/maven-releases/ @@ -29,84 +52,84 @@ PASSWORD=xintai2018 RELEASE=false # 模块版本 ## 工程内模块 -MOGO_COMMONS_VERSION=2.0.2 -MOGO_UTILS_VERSION=2.0.0 -MAP_AMAP_VERSION=2.0.0 -MAP_AUTONAVI_VERSION=2.0.0 -MOGO_MAP_VERSION=2.0.0 -MOGO_MAP_API_VERSION=2.0.0 -MOGO_SERVICE_VERSION=2.0.0 -MOGO_SERVICE_API_VERSION=2.0.2 -MOGO_CONNECTION_VERSION=2.0.0 -MOGO_MODULE_APPS_VERSION=2.0.0 -MOGO_MODULE_NAVI_VERSION=2.0.0 -MOGO_MODULE_SHARE_VERSION=2.0.0 -MOGO_MODULE_COMMON_VERSION=2.0.0 -MOGO_MODULE_MAIN_VERSION=2.0.0 -MOGO_MODULE_MAP_VERSION=2.0.0 -MOGO_MODULE_SERVICE_VERSION=2.0.0 -MOGO_MODULE_EXTENSIONS_VERSION=2.0.0 -MOGO_MODULE_SEARCH_VERSION=2.0.0 -MOGO_MODULE_BACK_VERSION=2.0.0 -MOGO_MODULE_GPS_SIMULATOR_VERSION=2.0.0 -MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION=2.0.0 -MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION=2.0.0 -MOGO_MODULE_AUTHORIZE_VERSION=2.0.0 -MOGO_MODULE_GUIDE_VERSION=2.0.0 -MOGO_MODULE_MEDIA_VERSION=2.0.0 -MOGO_MODULE_MAIN_LAUNCHER_VERSION = 2.0.0 -MOGO_MODULE_MAIN_INDEPENDENT_VERSION = 2.0.0 -MOGO_MODULE_V2X_VERSION=2.0.0 +MOGO_COMMONS_VERSION=2.0.6 +MOGO_UTILS_VERSION=2.0.6 +MAP_AMAP_VERSION=2.0.6 +MAP_AUTONAVI_VERSION=2.0.6 +MOGO_MAP_VERSION=2.0.6 +MOGO_MAP_API_VERSION=2.0.6 +MOGO_SERVICE_VERSION=2.0.6 +MOGO_SERVICE_API_VERSION=2.0.6 +MOGO_CONNECTION_VERSION=2.0.6 +MOGO_MODULE_APPS_VERSION=2.0.6 +MOGO_MODULE_NAVI_VERSION=2.0.6 +MOGO_MODULE_SHARE_VERSION=2.0.6 +MOGO_MODULE_COMMON_VERSION=2.0.6 +MOGO_MODULE_MAIN_VERSION=2.0.6 +MOGO_MODULE_MAP_VERSION=2.0.6 +MOGO_MODULE_SERVICE_VERSION=2.0.6 +MOGO_MODULE_EXTENSIONS_VERSION=2.0.6 +MOGO_MODULE_SEARCH_VERSION=2.0.6 +MOGO_MODULE_BACK_VERSION=2.0.6 +MOGO_MODULE_GPS_SIMULATOR_VERSION=2.0.6 +MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION=2.0.6 +MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION=2.0.6 +MOGO_MODULE_AUTHORIZE_VERSION=2.0.6 +MOGO_MODULE_GUIDE_VERSION=2.0.6 +MOGO_MODULE_MEDIA_VERSION=2.0.6 +MOGO_MODULE_MAIN_LAUNCHER_VERSION=2.0.6 +MOGO_MODULE_MAIN_INDEPENDENT_VERSION=2.0.6 +MOGO_MODULE_V2X_VERSION=2.0.6 # 基础服务实现:passport、socket、location -MOGO_BASE_SERVICES_APK_VERSION = 2.0.0 -MOGO_BASE_SERVICES_SDK_VERSION = 2.0.0 +MOGO_BASE_SERVICES_APK_VERSION=2.0.6 +MOGO_BASE_SERVICES_SDK_VERSION=2.0.6 ## 工程外部模块 # 探路 -MOGO_MODULE_TANLU_VERSION=2.0.0 +MOGO_MODULE_TANLU_VERSION=2.0.6 # 视频引导 -MOGO_MODULE_GUIDESHOW_VERSION=2.0.0 +MOGO_MODULE_GUIDESHOW_VERSION=2.0.6 # 推送 -MOGO_MODULE_PUSH_VERSION=2.0.0 -MOGO_MODULE_PUSH_BASE_VERSION=2.0.0 -MOGO_MODULE_PUSH_NOOP_VERSION=2.0.0 +MOGO_MODULE_PUSH_VERSION=2.0.6 +MOGO_MODULE_PUSH_BASE_VERSION=2.0.6 +MOGO_MODULE_PUSH_NOOP_VERSION=2.0.6 # 探路上报和分享模块 -TANLULIB_VERSION=2.0.0 -MOGO_TANLU_API_VERSION=2.0.0 +TANLULIB_VERSION=2.0.6 +MOGO_TANLU_API_VERSION=2.0.6 #左侧面板模块 -MOGO_MODULE_LEFT_PANEL_VERSION=2.0.0 -MOGO_MODULE_LEFT_PANEL_NOOP_VERSION=2.0.0 +MOGO_MODULE_LEFT_PANEL_VERSION=2.0.6 +MOGO_MODULE_LEFT_PANEL_NOOP_VERSION=2.0.6 # 小控件 -MOGO_MODULE_WIDGETS_VERSION=2.0.0 +MOGO_MODULE_WIDGETS_VERSION=2.0.6 # obu -MOGO_MODULE_OBU_VERSION=2.0.0 +MOGO_MODULE_OBU_VERSION=2.0.6 # 皮肤 -MOGO_SKIN_SUPPORT_VERSION=2.0.0 -MOGO_SKIN_LIGHT_VERSION=2.0.0 -MOGO_SKIN_SUPPORT_IMPL_VERSION=2.0.0 -MOGO_SKIN_SUPPORT_NOOP_VERSION=2.0.0 -SKIN_SUPPORT_VERSION=2.0.0 -SKIN_SUPPORT_APPCOMPAT_VERSION=2.0.0 -SKIN_SUPPORT_CARDVIEW_VERSION=2.0.0 -SKIN_SUPPORT_CONSTRAINT_LAYOUT_VERSION=2.0.0 -SKIN_SUPPORT_DESIGN_VERSION=2.0.0 +MOGO_SKIN_SUPPORT_VERSION=2.0.6 +MOGO_SKIN_LIGHT_VERSION=2.0.6 +MOGO_SKIN_SUPPORT_IMPL_VERSION=2.0.6 +MOGO_SKIN_SUPPORT_NOOP_VERSION=2.0.6 +SKIN_SUPPORT_VERSION=2.0.6 +SKIN_SUPPORT_APPCOMPAT_VERSION=2.0.6 +SKIN_SUPPORT_CARDVIEW_VERSION=2.0.6 +SKIN_SUPPORT_CONSTRAINT_LAYOUT_VERSION=2.0.6 +SKIN_SUPPORT_DESIGN_VERSION=2.0.6 # 闪屏页 -MOGO_MODULE_SPLASH_VERSION=2.0.0 -MOGO_MODULE_SPLASH_NOOP_VERSION=2.0.0 +MOGO_MODULE_SPLASH_VERSION=2.0.6 +MOGO_MODULE_SPLASH_NOOP_VERSION=2.0.6 # monitor -MOGO_MODULE_MONITOR_VERSION=2.0.0 +MOGO_MODULE_MONITOR_VERSION=2.0.6 # bugly -CRASHREPORT_VERSION=2.0.0 -CRASHREPORT_BUGLY_VERSION=2.0.0 -CRASHREPORT_NOOP_VERSION=2.0.0 +CRASHREPORT_VERSION=2.0.6 +CRASHREPORT_BUGLY_VERSION=2.0.6 +CRASHREPORT_NOOP_VERSION=2.0.6 ## tts -TTS_BASE_VERSION=1.0.0 -TTS_DI_VERSION=1.0.0 -TTS_ZHI_VERSION=1.0.0 -TTS_NOOP_VERSION=1.0.0 +TTS_BASE_VERSION=2.0.6 +TTS_DI_VERSION=2.0.6 +TTS_ZHI_VERSION=2.0.6 +TTS_NOOP_VERSION=2.0.6 ######## 外部依赖引用 # 车聊聊 -CARCHATTING_VERSION=1.9.9 +CARCHATTING_VERSION=2.0.2 # 车聊聊接口 CARCHATTINGPROVIDER_VERSION=1.4.1 # loglib 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 2d5e744af4..19a3d1ecf9 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 @@ -900,7 +900,6 @@ public class AMapNaviViewWrapper implements IMogoMapView, mLastDriveLocationShadow = location; } else { if ( ( int ) location.getBearing() == 0 - && mCurrentUIMode == EnumMapUI.NorthUP_2D && mLastDriveLocationShadow != null ) { if ( mMyLocationMarker == null ) { initMyLocationMarker(); diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapWrapper.java index ceccf22eb6..b22bfc46a6 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapWrapper.java @@ -48,7 +48,9 @@ public class AMapWrapper implements IMogoMap { mContext = context; mUIcontroller = controller; // 设置实现自定义 info window - mAMap.setInfoWindowAdapter( new AMapInfoWindowAdapter() ); + if(mAMap!=null) { + mAMap.setInfoWindowAdapter(new AMapInfoWindowAdapter()); + } AMapUIController.getInstance().initClient( mUIcontroller ); } diff --git a/libraries/tanlulib/build.gradle b/libraries/tanlulib/build.gradle index 93ed35b31b..dba6a1d3df 100644 --- a/libraries/tanlulib/build.gradle +++ b/libraries/tanlulib/build.gradle @@ -3,6 +3,7 @@ apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' apply plugin: 'android-aspectjx' +apply plugin: 'com.alibaba.arouter' android { @@ -73,9 +74,11 @@ dependencies { if (Boolean.valueOf(RELEASE)) { compileOnly rootProject.ext.dependencies.mogocommons compileOnly rootProject.ext.dependencies.mogomap + compileOnly rootProject.ext.dependencies.mogoserviceapi } else { implementation project(':modules:mogo-module-common') implementation project(':libraries:mogo-map') + implementation project(':services:mogo-service-api') } } diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/model/InformationBody.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/model/InformationBody.kt index 1d4c23725f..720e1da08e 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/model/InformationBody.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/model/InformationBody.kt @@ -21,5 +21,6 @@ data class InformationBody( val isShare: Boolean, // 是否分享给附近车机 val direction: Float, val poiType: String, //类型分类 - val mainInfoId: Long //事件id + val mainInfoId: Long, //事件id + val speed: Float //车速 ) \ No newline at end of file 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 1e214e38c2..8aa47180e3 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 @@ -19,6 +19,7 @@ import com.zhidao.roadcondition.util.StrategyPreferenceUtil.Companion.getStrateg import com.zhidao.roadcondition.util.StrategyPreferenceUtil.Companion.getStrategyMinSpeed import com.zhidao.roadcondition.util.StrategyPreferenceUtil.Companion.getStrategyType import java.io.File +import kotlin.math.abs /** * @description 记录仪相关操作 @@ -35,6 +36,7 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { var mFromType: String = "" private var mLongitude: Double = 0.0 private var mLatitude: Double = 0.0 + var mSpeed: Float = 0f private var getVideoFailed: (() -> Unit)? = null private var interceptors: ArrayList = ArrayList(1) @@ -72,7 +74,8 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { mainInfoId: Long, fromType: String, longitude: Double, - latitude: Double + latitude: Double, + speed: Float ) { Log.d(TAG, "takePhoto ---------- type = $type --- mType = $mType ---fromType = $fromType") this.mType = type @@ -80,6 +83,7 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { this.mFromType = fromType this.mLongitude = longitude this.mLatitude = latitude + this.mSpeed = speed CustomStatusHandler.offerPhotoStatus(isCustom) zdCarCoderController.takePhoto(photoType, cameraId, haveVoice) trackGetPhoto(1) @@ -98,14 +102,16 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { mainInfoId: Long, fromType: String, longitude: Double, - latitude: Double + latitude: Double, + speed: Float ) { - Log.d(TAG, "takeVideo -------- isCustom = $isCustom ---mFromType = $mFromType ---type = $type" ) + Log.d(TAG, "takeVideo -------- isCustom = $isCustom ---mFromType = $mFromType ---type = $type ---speed = $speed" ) this.mType = type this.mainInfoId = mainInfoId this.mFromType = fromType this.mLongitude = longitude this.mLatitude = latitude + this.mSpeed = speed if (DebugConfig.getCarMachineType() == 0) { //自研车机 outputVideoPath = getCompressVideoPath() CustomStatusHandler.offerVideoStatus(TakeEntity(isCustom, id,fromType)) @@ -128,7 +134,8 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { entity, mainInfoId, mLongitude, - mLatitude + mLatitude, + mSpeed ) //地图上打点 @@ -169,16 +176,16 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { // TANLU_ROAD_WORK // ) // ) { - taskAsync(1_500) { - try { +// taskAsync(1_500) { +// try { // VoiceController.speakVoice("上报失败") // if (isCustom) { // sendGetInfoFailedReceiver(mType) // } - } catch (e: java.lang.Exception) { - e.printStackTrace() - } - } +// } catch (e: java.lang.Exception) { +// e.printStackTrace() +// } +// } //获取图片失败也上报,图片不打点 if (isCustom) { @@ -189,7 +196,8 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { entity, mainInfoId, mLongitude, - mLatitude + mLatitude, + mSpeed ) } // } @@ -215,24 +223,24 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { return } - var minSpeedPic = + val minSpeedPic = getStrategyMinSpeed( AbsMogoApplication.getApp().applicationContext, "pic", getStrategyType("pic") ) - var maxSpeedPic = + val maxSpeedPic = getStrategyMaxSpeed( AbsMogoApplication.getApp().applicationContext, "pic", getStrategyType("pic") ) - var speed = LocationUtil.getInstance().getSpeed() + val speed = LocationUtil.getInstance().getSpeed() if (!TextUtils.isEmpty(mType)) { Log.d(TAG, "onTakePhotoSuccess mType != null") CosStatusController().uploadFile(mutableListOf(photoPath as String), entity, mType, mainInfoId, mFromType, mLongitude, - mLatitude) + mLatitude, mSpeed) } else { Log.d(TAG, "onTakePhotoSuccess mType == null") Log.d( @@ -240,8 +248,8 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { "onTakePhotoSuccess maxSpeedPic = $maxSpeedPic ---> speed = $speed ---->minSpeedPic= $minSpeedPic" ) if (maxSpeedPic == -1) { - if (speed >= (Math.abs(minSpeedPic) / 3.6f)) { - Log.d(TAG, "onTakePhotoSuccess abs =" + (Math.abs(minSpeedPic) / 3.6f)) + if (speed >= (abs(minSpeedPic) / 3.6f)) { + Log.d(TAG, "onTakePhotoSuccess abs =" + (abs(minSpeedPic) / 3.6f)) CosStatusController().uploadFile( mutableListOf(photoPath as String), entity, @@ -249,7 +257,8 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { mainInfoId, mFromType, mLongitude, - mLatitude + mLatitude, + mSpeed ) } } @@ -264,7 +273,8 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { mainInfoId, mFromType, mLongitude, - mLatitude + mLatitude, + mSpeed ) } } @@ -274,9 +284,9 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { //获取视频成功 override fun onTakeVideoSuccess(camera: Int, videoPath: String?) { - var thumbnailPath = + val thumbnailPath = AbsMogoApplication.getApp().applicationContext.filesDir.parent + File.separator + "Thumbnail${System.currentTimeMillis()}.jpg" - var isSuccess = getVideoThumbnail(videoPath!!, thumbnailPath) + val isSuccess = getVideoThumbnail(videoPath!!, thumbnailPath) Log.d( TAG, "getVideo onTakeVideoSuccess===$videoPath -----> isSuccess= $isSuccess ----> mType = $mType --- mainInfoId = $mainInfoId" @@ -291,39 +301,39 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { } if (isSuccess) { - var minSpeedVideo = getStrategyMinSpeed( + val minSpeedVideo = getStrategyMinSpeed( AbsMogoApplication.getApp().applicationContext, "video", getStrategyType("video") ) - var maxSpeedVideo = getStrategyMaxSpeed( + val maxSpeedVideo = getStrategyMaxSpeed( AbsMogoApplication.getApp().applicationContext, "video", getStrategyType("video") ) - var speed = LocationUtil.getInstance().getSpeed() + val speed = LocationUtil.getInstance().getSpeed() entity?.let { - if (entity.isCustom) { - compressVideo(videoPath, thumbnailPath, entity) + if (it.isCustom) { + compressVideo(videoPath, thumbnailPath, it) }else if (entity.fromType in STRATEGY_UPLOAD_TYPE_ARRAY) { // 属于策略上报 - compressVideo(videoPath, thumbnailPath, entity) + compressVideo(videoPath, thumbnailPath, it) } else { Log.d( TAG, "onTakeVideoSuccess maxSpeedVideo = $maxSpeedVideo --->speed= $speed + minSpeedVideo = $minSpeedVideo" ) if (maxSpeedVideo == -1) { - Log.d(TAG, "onTakeVideoSuccess 111 abs =" + (Math.abs(minSpeedVideo) / 3.6f)) - if (speed >= (Math.abs(minSpeedVideo) / 3.6f)) { + Log.d(TAG, "onTakeVideoSuccess 111 abs =" + (abs(minSpeedVideo) / 3.6f)) + if (speed >= (abs(minSpeedVideo) / 3.6f)) { //获取视频以及缩略图成功,开始上报 - compressVideo(videoPath, thumbnailPath, entity) + compressVideo(videoPath, thumbnailPath, it) } } if (minSpeedVideo > 0 && maxSpeedVideo > 0) { Log.d(TAG, "onTakeVideoSuccess minSpeedVideo > 0 -- speed = $speed") if ((speed >= (minSpeedVideo / 3.6f)) && speed <= (maxSpeedVideo / 3.6f)) { - compressVideo(videoPath, thumbnailPath, entity) + compressVideo(videoPath, thumbnailPath, it) } } } @@ -333,7 +343,7 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { } } - var videoAndThumbMap: MutableMap = mutableMapOf() + private var videoAndThumbMap: MutableMap = mutableMapOf() //获取视频失败 override fun onTakeVideoFail(camera: Int) { @@ -361,7 +371,8 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { entity, mainInfoId, mLongitude, - mLatitude + mLatitude, + mSpeed ) //地图上打点 @@ -377,12 +388,12 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { /** * 压缩视频并且上传 */ - fun compressVideo(videoPath: String, thumbnailPath: String, entity: TakeEntity) { + private fun compressVideo(videoPath: String, thumbnailPath: String, entity: TakeEntity) { Log.d( TAG, - "outputVideoPath = " + outputVideoPath + ">> videoPath=" + videoPath + " isCustom = ${entity?.isCustom}" + "outputVideoPath = " + outputVideoPath + ">> videoPath=" + videoPath + " isCustom = ${entity.isCustom}" ) - var startTime = System.currentTimeMillis() + val startTime = System.currentTimeMillis() Thread(Runnable { try { VideoProcessor.processor(AbsMogoApplication.getApp().applicationContext) @@ -402,7 +413,8 @@ object CarCorderController : TakePhotoCallback, TakeVideoCallback { mainInfoId, mFromType, mLongitude, - mLatitude + mLatitude, + mSpeed ) //删除压缩前的视频 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 d07e501c69..b92c298059 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 @@ -41,10 +41,11 @@ class CosStatusController : CosStatusCallback { private var mFromType: String = "" private var mLongitude: Double = 0.0 private var mLatitude: Double = 0.0 + var mSpeed: Float = 0f //上传文件 fun uploadFile(picPath: MutableList?, entity: TakeEntity, type: String, mainInfoId: Long, - fromType: String, longitude: Double, latitude: Double) { + fromType: String, longitude: Double, latitude: Double, speed: Float) { CosCallbackMapController.registerCallback(picPath, this) // CosLogger.setLogStatus(true) @@ -54,7 +55,8 @@ class CosStatusController : CosStatusCallback { this.mFromType = fromType this.mLongitude = longitude this.mLatitude = latitude - Log.d(TAG, "uploadFile type===$type ---- mainInfoId =$mainInfoId ----mFromType = $mFromType ---- picPath = $picPath ") + this.mSpeed = speed + Log.d(TAG, "uploadFile type===$type ---- mainInfoId =$mainInfoId ----mFromType = $mFromType ---- picPath = $picPath --speed = $speed") trackUploadCos(3) if(picPath == null){ return @@ -171,7 +173,8 @@ class CosStatusController : CosStatusCallback { entity, mainInfoId, mLongitude, - mLatitude + mLatitude, + mSpeed ) } Log.d(TAG, "delete file: $localPath") @@ -186,7 +189,7 @@ class CosStatusController : CosStatusCallback { // CosCallbackMapController.mainService?.sendCustomResult(it) // } // } else { - sendInformationDirectly(type, map, mType, entity, mainInfoId, mLongitude, mLatitude) + sendInformationDirectly(type, map, mType, entity, mainInfoId, mLongitude, mLatitude, mSpeed) // } } @@ -200,7 +203,8 @@ class CosStatusController : CosStatusCallback { entity: TakeEntity?, mainInfoId: Long, longitude: Double, - latitude: Double + latitude: Double, + speed: Float ) { Log.d(TAG, "sendInformationDirectly poiType= $poiType ---- mainInfoId= $mainInfoId") //开始上传 @@ -212,6 +216,7 @@ class CosStatusController : CosStatusCallback { isCustom = it, poiType = poiType, mainInfoId = mainInfoId, + speed = speed, longitude = longitude, latitude = latitude ) { success -> 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 e43b1bc9f5..e0c14ed1c3 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 @@ -44,7 +44,7 @@ object InformationUploadController { it.cosParameter = cosParameter it.isCustomSend = isCustomSend it.callback = callback - tryUploadInformation(it) +// tryUploadInformation(it) } } @@ -71,7 +71,7 @@ object InformationUploadController { it.informationType = informationType it.newsType = newsType it.operType = operType - tryUploadInformation(it) +// tryUploadInformation(it) } } 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 b08225ddde..d6c6b67b52 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 @@ -9,8 +9,11 @@ import android.content.Intent import android.content.IntentFilter import android.os.IBinder import android.util.Log +import com.alibaba.android.arouter.launcher.ARouter import com.elegant.analytics.Analytics import com.mogo.commons.AbsMogoApplication +import com.mogo.service.IMogoServiceApis +import com.mogo.service.MogoServicePaths import com.mogo.utils.logger.Logger import com.mogo.utils.storage.SharedPrefsMgr import com.zhidao.cosupload.manager.CosUploadManagerImpl @@ -41,6 +44,7 @@ class MainService : Service() { companion object { fun launchService(context: Context, params: UploadParams?) { + val intent = Intent(context, MainService::class.java).apply { Log.e("MainService", "launchService type = $params") putExtra("params", params) @@ -63,11 +67,13 @@ class MainService : Service() { var shareType: String = "type" var fromType: String = "" var isCustom: Boolean = false + var speed: Float = 0f var params: UploadParams? = null var mainInfoId: Long = 0 private var mLongitude: Double = 0.0 private var mLatitude: Double = 0.0 + lateinit var serviceApis: IMogoServiceApis //发送主动上报结果广播给外部 // fun sendCustomResult(result: Boolean) { @@ -87,7 +93,9 @@ class MainService : Service() { .init(BuildConfig.APPLICATION_ID, 0) //初始化语音 VoiceController.initVoice() - + serviceApis = ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation(this) as IMogoServiceApis + speed = serviceApis.getMapServiceApi().getSingletonLocationClient(this).getLastKnowLocation().getSpeed() + Log.d(TAG, "onStartCommand speed = $speed" ) if (intent != null) { params = intent.getParcelableExtra("params") params?.let { @@ -292,7 +300,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, mLongitude, mLatitude) + CarCorderController.takePhoto(1, 1, false, isCustom, TANLU_ROAD_CURRENT, mainInfoId, fromType, mLongitude, mLatitude, speed) }) // } @@ -311,7 +319,7 @@ class MainService : Service() { Log.d("MainService", "takeVideo --------1---->") // if (isAuthorization(BaseApplication.getAppContext())) { // log(TAG, "takeVideo --------2---->") - CarCorderController.takeVideo(1, duration, isCustom, id, shareType, mainInfoId, fromType, mLongitude, mLatitude) + CarCorderController.takeVideo(1, duration, isCustom, id, shareType, mainInfoId, fromType, mLongitude, mLatitude, speed) // } 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 551ee77343..6c24c22682 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 @@ -231,6 +231,7 @@ class MainServiceController { isShare:Boolean = false, poiType:String, mainInfoId:Long, + speed: Float, longitude: Double, latitude: Double, customSend: ((Boolean) -> Unit)? = null @@ -244,10 +245,10 @@ class MainServiceController { if (locationInfo.address.isNullOrEmpty()) { Log.d(TAG, " sendInformationMessage locationInfo.address = $locationInfo.address") trackUploadGeo(1) - geoLocation(type, url, locationInfo, isCustom,trafficInfoType, isShare, customSend,poiType,mainInfoId,longitude,latitude) + geoLocation(type, url, locationInfo, isCustom,trafficInfoType, isShare, customSend,poiType,mainInfoId,speed, longitude,latitude) } else { postInformationMessage( - getInformationBody(type, url, locationInfo, isCustom, trafficInfoType, isShare,poiType,mainInfoId,longitude,latitude), + getInformationBody(type, url, locationInfo, isCustom, trafficInfoType, isShare,poiType,mainInfoId,longitude,latitude, speed), customSend ) } @@ -265,6 +266,7 @@ class MainServiceController { customSend: ((Boolean) -> Unit)? = null, poiType: String, mainInfoId: Long, + speed: Float, longitude: Double, latitude: Double ) { @@ -273,20 +275,20 @@ class MainServiceController { .geoCodeLocation(locationInfo.toLatLngPoint(), { Log.d(TAG, "geoLocation -------start -->") postInformationMessage( - getInformationBody(type, url, locationInfo, isCustom, trafficInfoType, isShare, poiType,mainInfoId,longitude,latitude), + getInformationBody(type, url, locationInfo, isCustom, trafficInfoType, isShare, poiType,mainInfoId,longitude,latitude, speed), customSend ) }, { //转换失败的情况下再重试一次 Log.d(TAG, "geoLocation -------true-->") geoRetryed = if (!geoRetryed) { - geoLocation(type, url, locationInfo, isCustom, trafficInfoType, isShare, customSend, poiType,mainInfoId,longitude,latitude) + geoLocation(type, url, locationInfo, isCustom, trafficInfoType, isShare, customSend, poiType,mainInfoId,speed, longitude,latitude) true } else { //如果两次都失败,直接上报服务端 Log.d(TAG, "geoLocation ---- postInformationMessage ---false-->") postInformationMessage( - getInformationBody(type, url, locationInfo, isCustom, trafficInfoType, isShare, poiType,mainInfoId,longitude,latitude), + getInformationBody(type, url, locationInfo, isCustom, trafficInfoType, isShare, poiType,mainInfoId,longitude,latitude,speed), customSend ) 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 58352ad7c6..834dd0005a 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 @@ -32,7 +32,8 @@ fun getInformationBody( poiType: String, mainInfoId: Long, longitude: Double, - latitude: Double + latitude: Double, + speed: Float ): InformationBody { var jsonArray = JsonArray() var type: Int @@ -70,7 +71,8 @@ fun getInformationBody( isShare, locationInfo.direction, poiType, - mainInfoId + mainInfoId, + speed ) } diff --git a/main-extensions/mogo-module-main-independent/src/main/java/com/zhidao/mogo/module/main/independent/MainIndependentActivity.java b/main-extensions/mogo-module-main-independent/src/main/java/com/zhidao/mogo/module/main/independent/MainIndependentActivity.java index 53b3136c4a..d02c248b56 100644 --- a/main-extensions/mogo-module-main-independent/src/main/java/com/zhidao/mogo/module/main/independent/MainIndependentActivity.java +++ b/main-extensions/mogo-module-main-independent/src/main/java/com/zhidao/mogo/module/main/independent/MainIndependentActivity.java @@ -23,7 +23,7 @@ public class MainIndependentActivity extends MainActivity { protected void onCreate( @Nullable Bundle savedInstanceState ) { super.onCreate( savedInstanceState ); // 独立app需要在onCreate里面增加处理scheme的情况 - mPresenter.handleSchemeIntent( getIntent() ); + mPresenter.handleSchemeIntent( getIntent(), false ); } @Override 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 c5db25251a..a2f84bb756 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 @@ -5,6 +5,7 @@ import android.view.Gravity; import android.view.WindowManager; import com.mogo.commons.AbsMogoApplication; +import com.mogo.commons.debug.DebugConfig; import com.mogo.module.common.MogoApisHandler; import com.mogo.module.common.wm.WindowManagerView; import com.mogo.service.IMogoServiceApis; @@ -15,6 +16,9 @@ public class BackToMainHomeManager { private static final String TAG = "BackToMainHomeManager"; public static void backToLauncher() { + if (!DebugConfig.isLauncher()) { + return; + } Intent intent2 = new Intent(); // 是否发自系统消息 diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerExploreWay.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerExploreWay.java index e4c719eb8c..a21132d754 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerExploreWay.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerExploreWay.java @@ -30,6 +30,8 @@ public class MarkerExploreWay implements Serializable { //上报类型:1-用户上报,2-后台上报 3-三方上报 private String uploadType; + private boolean fabulous; + // http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=42321443 // 1 需要用户判断是否拥堵 进行UGC问答 private int infoCheckNode; @@ -200,6 +202,14 @@ public class MarkerExploreWay implements Serializable { this.infoCheckNode = infoCheckNode; } + public boolean isFabulous() { + return fabulous; + } + + public void setFabulous(boolean fabulous) { + this.fabulous = fabulous; + } + @Override public String toString() { return "MarkerExploreWay{" + @@ -218,6 +228,7 @@ public class MarkerExploreWay implements Serializable { ", userInfo=" + userInfo + ", items=" + items + ", uploadType='" + uploadType + '\'' + + ", fabulous=" + fabulous + ", infoCheckNode=" + infoCheckNode + '}'; } diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/V2XEventZanData.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/V2XEventZanData.java new file mode 100644 index 0000000000..0301db0b9a --- /dev/null +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/V2XEventZanData.java @@ -0,0 +1,51 @@ +package com.mogo.module.common.entity; + +import com.mogo.utils.sqlite.annotation.DbDatabase; +import com.mogo.utils.sqlite.annotation.DbField; +import com.mogo.utils.sqlite.annotation.DbTable; + +/** + * V2X 被点赞的事件 + * + * @author donghongyu + */ +@DbDatabase(dbName = "MoGoScenario.db") +@DbTable(tableName = "tb_event_zan") +public class V2XEventZanData { + + /** + * 事件ID + */ + @DbField(fieldName = "eventId") + public String eventId; + + /** + * 触发时间 + */ + @DbField(fieldName = "triggerTime") + public Long triggerTime; + + public String getEventId() { + return eventId; + } + + public void setEventId(String eventId) { + this.eventId = eventId; + } + + public Long getTriggerTime() { + return triggerTime; + } + + public void setTriggerTime(Long triggerTime) { + this.triggerTime = triggerTime; + } + + @Override + public String toString() { + return "V2XEventZanData{" + + "eventId=" + eventId + + ", triggerTime=" + triggerTime + + '}'; + } +} 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 d7cab5bbb4..8403901eef 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 @@ -230,7 +230,6 @@ public class CustomRatingBar extends LinearLayout { layout.setMargins(0, 0, Math.round(elementPadding), 0);//设置每颗星星在线性布局的间距 imageView.setLayoutParams(layout); imageView.setAdjustViewBounds(true); - imageView.setScaleType(ImageView.ScaleType.FIT_XY); imageView.setImageDrawable(elementEmptyDrawable); imageView.setMinimumWidth((int) elementWidth); imageView.setMaxWidth((int) elementWidth); diff --git a/modules/mogo-module-common/src/main/res/values/colors.xml b/modules/mogo-module-common/src/main/res/values/colors.xml index d73639033d..0856fc721d 100644 --- a/modules/mogo-module-common/src/main/res/values/colors.xml +++ b/modules/mogo-module-common/src/main/res/values/colors.xml @@ -3,4 +3,5 @@ #7f000000 #FFFFFF #FFFFFF + #FFFFFF \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml index 97b5c3903e..434ab6b7c4 100644 --- a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml +++ b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml @@ -146,8 +146,8 @@ android:background="@drawable/module_ext_dw_common_corner_bkg" android:gravity="center" android:text="前方\n实况" - android:textColor="#FFFFFF" - android:textSize="@dimen/module_ext_navi_exit_textSize" + android:textColor="@color/module_commons_FFF_333" + android:textSize="@dimen/v2x_cancel_help_text_size" android:textStyle="bold" android:visibility="gone" tools:visibility="visible" /> @@ -160,8 +160,8 @@ android:background="@drawable/module_ext_dw_common_corner_bkg" android:gravity="center" android:text="取消\n求助" - android:textColor="#FFFFFF" - android:textSize="@dimen/module_ext_navi_exit_textSize" + android:textColor="@color/module_commons_FFF_333" + android:textSize="@dimen/v2x_cancel_help_text_size" android:textStyle="bold" android:visibility="gone" tools:visibility="visible" /> diff --git a/modules/mogo-module-extensions/src/main/res/values-xhdpi-1920x1000/dimens.xml b/modules/mogo-module-extensions/src/main/res/values-xhdpi-1920x1000/dimens.xml index 75f2f2b1fa..25cd518534 100644 --- a/modules/mogo-module-extensions/src/main/res/values-xhdpi-1920x1000/dimens.xml +++ b/modules/mogo-module-extensions/src/main/res/values-xhdpi-1920x1000/dimens.xml @@ -52,6 +52,7 @@ 32px 60px 32px + 30px 20px diff --git a/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml index 1fa92b0372..7e1bb606da 100644 --- a/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml @@ -52,6 +52,7 @@ 32px 60px 32px + 30px 20px diff --git a/modules/mogo-module-extensions/src/main/res/values/dimens.xml b/modules/mogo-module-extensions/src/main/res/values/dimens.xml index fcf04ade3f..99476d878e 100644 --- a/modules/mogo-module-extensions/src/main/res/values/dimens.xml +++ b/modules/mogo-module-extensions/src/main/res/values/dimens.xml @@ -53,6 +53,7 @@ 20px 30px 16px + 14px 8px @@ -60,7 +61,7 @@ 32px 32px - 78px + 0px 22px 28px @@ -171,4 +172,5 @@ 10px 22px 16px + \ No newline at end of file diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideFragment.kt index dac7b8733e..1e67d33689 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideFragment.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideFragment.kt @@ -43,6 +43,7 @@ class GuideFragment : MvpFragment(), GuideC adapter = GuideAdapter(this) moduleGuideViewPager.adapter = adapter (moduleGuideViewPager.getChildAt(0) as RecyclerView).layoutManager!!.isItemPrefetchEnabled = false + @Suppress("DEPRECATION") moduleGuideIndicator.setSliderColor(context!!.resources.getColor(R.color.module_guide_indicator_dark), context!!.resources.getColor(R.color.module_guide_indicator_white)) .setSliderWidth(context!!.resources.getDimension(R.dimen.dp_22)) .setSlideMode(IndicatorSlideMode.NORMAL) diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFiveFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFiveFragment.kt index 341bbda15d..64b3a4d15e 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFiveFragment.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFiveFragment.kt @@ -30,6 +30,7 @@ class GuideStageFiveFragment : MvpFragment> { override fun initViews() { if(!DebugConfig.isLauncher()){ + @Suppress("DEPRECATION") moduleGuidePageFive.background = context!!.resources!!.getDrawable(R.mipmap.module_guide_item_stage_five) } } diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFourFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFourFragment.kt index 434bb09496..0b703259fb 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFourFragment.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageFourFragment.kt @@ -30,6 +30,7 @@ class GuideStageFourFragment : MvpFragment> { override fun initViews() { if(!DebugConfig.isLauncher()){ + @Suppress("DEPRECATION") moduleGuidePageFour.background = context!!.resources!!.getDrawable(R.mipmap.module_guide_item_stage_four) } } diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageOneFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageOneFragment.kt index b609a9b0b0..6844e29fc7 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageOneFragment.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageOneFragment.kt @@ -31,6 +31,7 @@ class GuideStageOneFragment : MvpFragment> { override fun initViews() { containerFragment?.visibleRight() if(!DebugConfig.isLauncher()){ + @Suppress("DEPRECATION") moduleGuidePageOne.background = context!!.resources!!.getDrawable(R.mipmap.module_guide_item_stage_one) } } diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageThreeFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageThreeFragment.kt index 1d8e35d73a..88238ecc21 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageThreeFragment.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageThreeFragment.kt @@ -30,6 +30,7 @@ class GuideStageThreeFragment : MvpFragment> { override fun initViews() { if(!DebugConfig.isLauncher()){ + @Suppress("DEPRECATION") moduleGuidePageThree.background = context!!.resources!!.getDrawable(R.mipmap.module_guide_item_stage_three) } } diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageTwoFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageTwoFragment.kt index 1986051ca3..37e7a8d29a 100644 --- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageTwoFragment.kt +++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/guide/GuideStageTwoFragment.kt @@ -30,6 +30,7 @@ class GuideStageTwoFragment : MvpFragment> { override fun initViews() { if(!DebugConfig.isLauncher()){ + @Suppress("DEPRECATION") moduleGuidePageTwo.background = context!!.resources!!.getDrawable(R.mipmap.module_guide_item_stage_two) } } diff --git a/modules/mogo-module-left-panel-noop/src/main/java/com/zhidao/mogo/module/left/panel/LeftPanelProvider.kt b/modules/mogo-module-left-panel-noop/src/main/java/com/zhidao/mogo/module/left/panel/LeftPanelProvider.kt index 808dda1171..60a4a2e26b 100644 --- a/modules/mogo-module-left-panel-noop/src/main/java/com/zhidao/mogo/module/left/panel/LeftPanelProvider.kt +++ b/modules/mogo-module-left-panel-noop/src/main/java/com/zhidao/mogo/module/left/panel/LeftPanelProvider.kt @@ -1,3 +1,5 @@ +@file:Suppress("DEPRECATION") + package com.zhidao.mogo.module.left.panel import android.content.Context 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 5fb6e38e93..b4629ddcc8 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 @@ -334,7 +334,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme @Override protected void onNewIntent( Intent intent ) { super.onNewIntent( intent ); - mPresenter.handleSchemeIntent( intent ); + mPresenter.handleSchemeIntent( intent, true ); } @Override diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainPresenter.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainPresenter.java index ace4b835ad..6d3c6a4a66 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainPresenter.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainPresenter.java @@ -61,8 +61,8 @@ public class MainPresenter extends Presenter< MainView > { mMsgHandler.sendMessageDelayed( msg, 100 ); } - public void handleSchemeIntent( Intent intent ) { - SchemeIntent.getInstance().handle( intent ); + public void handleSchemeIntent( Intent intent, boolean isOnNewIntent ) { + SchemeIntent.getInstance().handle( intent, isOnNewIntent ); } public void initADAS(){ diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/SchemeIntent.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/SchemeIntent.java index f7a08caf37..91948e0e15 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/SchemeIntent.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/SchemeIntent.java @@ -88,7 +88,12 @@ public class SchemeIntent implements IMogoStatusChangedListener { } - public void handle( Intent intent ) { + /** + * 处理scheme + * @param intent 跳转的intent + * @param isOnNewIntent 根据这个参数判断是从onCreate过来还是从onNewIntent过来,从而可以在{@link #isDelay(Intent, boolean)}里面确定延时逻辑,如果是从onNewIntent过来是不需要延时的 + */ + public void handle( Intent intent, boolean isOnNewIntent ) { if ( intent == null || intent.getData() == null ) { return; } @@ -100,8 +105,8 @@ public class SchemeIntent implements IMogoStatusChangedListener { if ( !mApis.getStatusManagerApi().isMainPageOnResume() ) { long delay = 0L; - if ( isNaviIntent( intent ) ) { - delay = 2_000L; + if ( isDelay( intent, isOnNewIntent ) ) { + delay = 5_000L; } mNextIntent = new IntentWrapper( intent, delay ); mApis.getLauncherApi().backToLauncher( mContext ); @@ -127,13 +132,13 @@ public class SchemeIntent implements IMogoStatusChangedListener { mNextIntent = null; } - private boolean isNaviIntent( Intent intent ) { - if ( intent == null || intent.getData() == null ) { + private boolean isDelay(Intent intent, boolean isOnNewIntent ) { + if ( isOnNewIntent || intent == null || intent.getData() == null ) { return false; } Uri target = intent.getData(); String type = target.getQueryParameter( "type" ); - return TextUtils.equals( TYPE_NAVI, type ); + return TextUtils.equals(TYPE_NAVI, type) || TextUtils.equals(TYPE_SHOW_SHARE_PANEL, type); } private void handleSwitch2Action( Uri target ) { @@ -225,7 +230,7 @@ public class SchemeIntent implements IMogoStatusChangedListener { if ( mNextIntent == null ) { return; } - handle( mNextIntent.mIntent ); + handle( mNextIntent.mIntent, false ); }, mNextIntent.mDelay ); } } diff --git a/modules/mogo-module-map/src/main/java/com/mogo/module/map/AutoNaviBroadcastIntentHandler.java b/modules/mogo-module-map/src/main/java/com/mogo/module/map/AutoNaviBroadcastIntentHandler.java index 4ddc0f947f..bc1fa9ac87 100644 --- a/modules/mogo-module-map/src/main/java/com/mogo/module/map/AutoNaviBroadcastIntentHandler.java +++ b/modules/mogo-module-map/src/main/java/com/mogo/module/map/AutoNaviBroadcastIntentHandler.java @@ -5,6 +5,7 @@ import android.text.TextUtils; import com.mogo.map.navi.MogoNaviConfig; import com.mogo.map.uicontroller.EnumMapUI; +import com.mogo.module.common.MogoApisHandler; import com.mogo.service.intent.IMogoIntentListener; import com.mogo.service.intent.IMogoIntentManager; import com.mogo.utils.logger.Logger; @@ -20,15 +21,21 @@ class AutoNaviBroadcastIntentHandler implements IMogoIntentListener { public static final String TAG = "AutoNaviBroadcastReceiver"; + // 发送高德:部分是小智语音发给高德的,这里顺便接收处理,都是历史遗留问题 public static final String AUTONAVI_STANDARD_BROADCAST_RECV = "AUTONAVI_STANDARD_BROADCAST_RECV"; + // 接收高德 + public static final String AUTONAVI_STANDARD_BROADCAST_SEND = "AUTONAVI_STANDARD_BROADCAST_SEND"; + public void register( IMogoIntentManager manager ) { manager.registerIntentListener( AUTONAVI_STANDARD_BROADCAST_RECV, this ); + manager.registerIntentListener( AUTONAVI_STANDARD_BROADCAST_SEND, this ); } - public void unregister(IMogoIntentManager manager ) { + public void unregister( IMogoIntentManager manager ) { mCallback = null; manager.unregisterIntentListener( AUTONAVI_STANDARD_BROADCAST_RECV, this ); + manager.unregisterIntentListener( AUTONAVI_STANDARD_BROADCAST_SEND, this ); } private OnMapControlCallback mCallback; @@ -47,7 +54,8 @@ class AutoNaviBroadcastIntentHandler implements IMogoIntentListener { Logger.d( TAG, "action = %s, keyType=%s, type=%s, operType=%s", action, keyType, type, operaType ); - if ( !TextUtils.equals( action, AUTONAVI_STANDARD_BROADCAST_RECV ) ) { + if ( !TextUtils.equals( action, AUTONAVI_STANDARD_BROADCAST_RECV ) + && !TextUtils.equals( action, AUTONAVI_STANDARD_BROADCAST_SEND ) ) { return; } @@ -68,6 +76,9 @@ class AutoNaviBroadcastIntentHandler implements IMogoIntentListener { } } } else if ( keyType == 10048 ) { + if ( !intent.getBooleanExtra( "callback", true ) ) { + return; + } //0:自动; 1:白天; 2:黑夜; int dayNightMode = intent.getIntExtra( "EXTRA_DAY_NIGHT_MODE", -1 ); if ( dayNightMode == 0 ) { @@ -117,6 +128,16 @@ class AutoNaviBroadcastIntentHandler implements IMogoIntentListener { .highSpeed( prefer == 20 ) .avoidSpeed( prefer == 3 ); mCallback.onReCalculatePath( config ); + } else if ( keyType == 10019 ) { + int extraState = intent.getIntExtra( "EXTRA_STATE", -1 ); + // 高德改变黑夜白天模式后,传递给launcher,顺便改变其他 + if ( extraState == 37 ) { + // 白天模式 + MogoApisHandler.getInstance().getApis().getAdasControllerApi().changeAdasControlMode( EnumMapUI.Type_Light ); + } else if ( extraState == 38 ) { + // 夜间模式 + MogoApisHandler.getInstance().getApis().getAdasControllerApi().changeAdasControlMode( EnumMapUI.Type_Night ); + } } } } diff --git a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapControlCommandHandler.java b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapControlCommandHandler.java index e8a38b4c45..94d8c5d59a 100644 --- a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapControlCommandHandler.java +++ b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapControlCommandHandler.java @@ -1,5 +1,8 @@ package com.mogo.module.map; +import android.content.Intent; + +import com.mogo.commons.AbsMogoApplication; import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.utils.logger.Logger; @@ -52,6 +55,7 @@ class MapControlCommandHandler { case VoiceConstants.CMD_MAP_DAY_TIME_MODE_UN_WAKEUP: case VoiceConstants.CMD_MAP_DAY_TIME_MODE: mCallback.onDayNightModeChanged( EnumMapUI.Type_Light ); + notifyAMap( EnumMapUI.Type_Light ); break; case VoiceConstants.CMD_MAP_HISTORY_UN_WAKEUP: case VoiceConstants.CMD_MAP_HISTORY: @@ -63,10 +67,12 @@ class MapControlCommandHandler { case VoiceConstants.CMD_MAP_NIGHT_MODE_UN_WAKEUP: case VoiceConstants.CMD_MAP_NIGHT_MODE: mCallback.onDayNightModeChanged( EnumMapUI.Type_Night ); + notifyAMap( EnumMapUI.Type_Night ); break; case VoiceConstants.CMD_MAP_AUTO_LIGHT_NIGHT_MODE_UN_WAKEUP: case VoiceConstants.CMD_MAP_AUTO_LIGHT_NIGHT_MODE: mCallback.onDayNightModeChanged( EnumMapUI.Type_AUTO_LIGHT_Night ); + notifyAMap( EnumMapUI.Type_AUTO_LIGHT_Night ); break; case VoiceConstants.CMD_MAP_DISPLAY_OVERVIEW_MODE: mCallback.onDisplayOverview(); @@ -91,4 +97,34 @@ class MapControlCommandHandler { } } + + public void notifyAMap( EnumMapUI ui ) { + if ( ui == null ) { + return; + } + + int KEY_TYPE = 10048; + int state = 0;//2黑夜;1白天 ;0自动 + switch ( ui ) { + case Type_Light: + state = 1; + break; + case Type_Night: + state = 2; + break; + case Type_AUTO_LIGHT_Night: + state = 0; + break; + default: + return; + } + Intent intent = new Intent(); + intent.setAction( "AUTONAVI_STANDARD_BROADCAST_RECV" ); + intent.putExtra( "KEY_TYPE", KEY_TYPE ); + intent.setFlags( Intent.FLAG_INCLUDE_STOPPED_PACKAGES ); + // 避免在内部再次调用 + intent.putExtra( "callback", false ); + intent.putExtra( "EXTRA_DAY_NIGHT_MODE", state ); + AbsMogoApplication.getApp().sendBroadcast( intent ); + } } diff --git a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java index f96ca3c162..0c0f8722a6 100644 --- a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java +++ b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java @@ -81,7 +81,6 @@ public class MapPresenter extends Presenter< MapView > implements public MapPresenter( MapView view ) { super( view ); - } @Override @@ -104,6 +103,7 @@ public class MapPresenter extends Presenter< MapView > implements @Override public void onMapUiModeChanged( EnumMapUI mapUI ) { mView.getUIController().changeMapMode( mapUI ); + mCustomVoiceCommandHandler.notifyAMap( mapUI ); } @Override diff --git a/modules/mogo-module-push/src/main/java/com/mogo/module/push/utils/AnalyticsUtils.kt b/modules/mogo-module-push/src/main/java/com/mogo/module/push/utils/AnalyticsUtils.kt index 4bc5fabfdd..817acd92a6 100644 --- a/modules/mogo-module-push/src/main/java/com/mogo/module/push/utils/AnalyticsUtils.kt +++ b/modules/mogo-module-push/src/main/java/com/mogo/module/push/utils/AnalyticsUtils.kt @@ -1,3 +1,5 @@ +@file:Suppress("DEPRECATION") + package com.mogo.module.push.utils import android.util.ArrayMap diff --git a/modules/mogo-module-push/src/main/java/com/mogo/module/push/view/FloatView.kt b/modules/mogo-module-push/src/main/java/com/mogo/module/push/view/FloatView.kt index 71a4f3237c..69725a94d2 100644 --- a/modules/mogo-module-push/src/main/java/com/mogo/module/push/view/FloatView.kt +++ b/modules/mogo-module-push/src/main/java/com/mogo/module/push/view/FloatView.kt @@ -2,6 +2,7 @@ package com.mogo.module.push.view import android.animation.Animator import android.animation.ObjectAnimator +import android.annotation.SuppressLint import android.content.Context import android.graphics.PixelFormat import android.os.Build @@ -87,7 +88,7 @@ class FloatView constructor( } private fun turnNextMessage() { - pushViewModel?.pushBean?.apply { + pushViewModel.pushBean?.apply { showTimeout = 0 updateTimer() } @@ -123,17 +124,17 @@ class FloatView constructor( pushTimer.text = if (bean.showTimeout > 99) "" else "${bean.showTimeout}s" // image - if (bean.imageUrl.isNullOrEmpty() && bean.QRCode.isNullOrEmpty()) { + if (bean.imageUrl.isEmpty() && bean.QRCode.isEmpty()) { pushImage.gone() - } else if (!bean.imageUrl.isNullOrEmpty()) { - var params = pushImage.layoutParams + } else if (bean.imageUrl.isNotEmpty()) { + val params = pushImage.layoutParams params.width = getImgWidth() params.height = getImgHeight() pushImage.layoutParams = params pushImage.visible() GlideApp.with(this).load(bean.imageUrl).into(pushImage) - } else if (!bean.QRCode.isNullOrEmpty()) { - var params = pushImage.layoutParams + } else if (bean.QRCode.isNotEmpty()) { + val params = pushImage.layoutParams params.width = getQrImgWidth() params.height = getQrImgHeight() pushImage.layoutParams = params @@ -167,7 +168,7 @@ class FloatView constructor( } // content - if (bean.content.isNullOrEmpty()) { + if (bean.content.isEmpty()) { pushContent.gone() } else { pushContent.text = bean.content @@ -175,7 +176,7 @@ class FloatView constructor( } // tts - if (!bean?.tts?.isNullOrEmpty()) { + if (bean.tts.isNotEmpty()) { AIAssist.getInstance(context).speakTTSVoice(bean.tts) } } @@ -185,6 +186,7 @@ class FloatView constructor( abstract fun getQrImgWidth(): Int abstract fun getQrImgHeight(): Int + @SuppressLint("SetTextI18n") override fun timer(time: Int) { Logger.d(TAG, "time = $time") pushTimer.text = "${time}s" @@ -211,7 +213,7 @@ class FloatView constructor( private var topViewStatusListener = object : IMogoTopViewStatusListener { override fun onViewRemoved(view: View?) { isAddWindow = false - if (pushViewModel?.pushBean?.showTimeout ?: 0 > 0) { + if (pushViewModel.pushBean?.showTimeout ?: 0 > 0) { if (getApis(context).statusManagerApi.isV2XShow) { // 被中断的消息,需要再次被显示一次 uiHandler.removeCallbacks(delayClosePush) @@ -332,7 +334,7 @@ class FloatView constructor( override fun setBean(bean: PushBean) { super.setBean(bean) - var paddingBottom: Int = 0 + var paddingBottom = 0 if (pushButton.isVisible) { paddingBottom = context.resources.getDimensionPixelSize(R.dimen.module_push_content_paddingBottom_vertical) @@ -467,7 +469,7 @@ class FloatView constructor( private fun updateTimer() { uiHandler.removeCallbacks(delayClosePush) - var time = pushViewModel.pushBean?.showTimeout ?: 0 + val time = pushViewModel.pushBean?.showTimeout ?: 0 if (time > 0) { pushViewModel.pushBean!!.showTimeout-- pushViewController?.timer(time) diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/ChoosePathFragment.kt b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/ChoosePathFragment.kt index 2986dbbf45..f7fd9cffef 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/ChoosePathFragment.kt +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/ChoosePathFragment.kt @@ -81,7 +81,7 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallB } override fun onCalculateSuccess() { - var calculatedStrategies = SearchApisHolder.getNaviApis().calculatedStrategies + val calculatedStrategies = SearchApisHolder.getNaviApis().calculatedStrategies if (calculatedStrategies != null && calculatedStrategies.size > 0) { mAdapter.setDatas(calculatedStrategies) mAdapter.selectTag = calculatedStrategies[0].tagId @@ -143,14 +143,14 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallB return R.layout.fragment_search_category } - var mogoTip: MogoLatLng? = null + private var mogoTip: MogoLatLng? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - mogoTip = arguments?.getParcelable(AMapConstants.KEY_PARCELABLE) + mogoTip = arguments?.getParcelable(AMapConstants.KEY_PARCELABLE) } // 是否开启导航 - var isStartedNavi = false + private var isStartedNavi = false override fun onViewCreated(view: View, savedInstanceState: Bundle?) { @@ -167,7 +167,7 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallB SearchApisHolder.getRegisterCenterApis().registerMogoNaviListener(AMapConstants.PATH_FRAGMENT_CHOOSE_PATH, this) - var arrayList = ArrayList() + val arrayList = ArrayList() mAdapter = CalculatePathAdapter(activity, arrayList) rv_search_result.layoutManager = LinearLayoutManager(activity, LinearLayoutManager.VERTICAL, false) @@ -185,7 +185,7 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallB } mAdapter.setOnClickListener { - var item = it.getTag(R.id.tag_item) as MogoCalculatePath + val item = it.getTag(R.id.tag_item) as MogoCalculatePath selectPath(item) } @@ -202,7 +202,7 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallB } private fun registerRetryVoice() { - AIAssist.getInstance(context).registerUnWakeupCommand("retry", arrayOf("重试"), this) + AIAssist.getInstance(context).registerUnWakeupCommand("retry", arrayOf("重试"), this) } private fun unregisterRetryVoice() { @@ -229,7 +229,7 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallB private fun selectPath(item: MogoCalculatePath?) { item?.let { - mAdapter.setSelectTag(item.tagId) + mAdapter.selectTag = item.tagId if (SearchApisHolder.getNaviApis().itemClickInteraction != null) { SearchApisHolder.getNaviApis().itemClickInteraction.onItemClicked(item.tagId) } @@ -265,11 +265,10 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallB } private fun choosePath(intent: Intent?) { - var dataJsonStr = intent?.getStringExtra("data") ?: "" + val dataJsonStr = intent?.getStringExtra("data") ?: "" try { - var jsonObj = JSONObject(dataJsonStr) - var routePlan = jsonObj.optString("route_choice", " ") - when (routePlan) { + val jsonObj = JSONObject(dataJsonStr) + when (jsonObj.optString("route_choice", " ")) { "fastest" -> { // 时间最短 selectItem(mTimeShortestPosition) @@ -282,19 +281,18 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallB } } } catch (e: Exception) { - + e.printStackTrace() } } companion object { - @JvmField - val TAG: String = "ChoosePathFragment" + const val TAG: String = "ChoosePathFragment" fun newInstance(searchPoi: MogoLatLng): Fragment { - var bundle = Bundle() + val bundle = Bundle() bundle.putParcelable(AMapConstants.KEY_PARCELABLE, searchPoi) - var choosePathFragment = ChoosePathFragment() + val choosePathFragment = ChoosePathFragment() choosePathFragment.arguments = bundle return choosePathFragment } 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 710d9b7437..a8f01b72d5 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 @@ -160,7 +160,7 @@ class LauncherCardRefresher { private ZhidaoRefreshModel mZhidaoRefreshModel; private LauncherCardRefreshStrategy mExplorerWayOrOnlineCarDataStrategy = new LauncherCardRefreshStrategy( - 40 * ONE_MINUTE, null, MSG_EXPLORER_WAY_OR_ONLINE_CAR_DATA + 18 * ONE_MINUTE, null, MSG_EXPLORER_WAY_OR_ONLINE_CAR_DATA ); private LauncherCardRefreshStrategy mInduceStrategy = new LauncherCardRefreshStrategy( 18 * ONE_MINUTE, mExplorerWayOrOnlineCarDataStrategy, MSG_INDUCE @@ -190,7 +190,6 @@ class LauncherCardRefresher { } mHandler.sendEmptyMessageDelayed( MSG_LOAD_NET_CONFIG, delay ); startInduceStrategy(); - SharedPrefsMgr.getInstance( mContext ).putLong( KEY_LauncherCardTipLastTipTime, System.currentTimeMillis() ); } /** @@ -218,6 +217,9 @@ class LauncherCardRefresher { if ( !mStart ) { return; } + if ( mRefreshStrategy == null ) { + return; + } mRefreshStop = false; mHandler.removeMessages( mRefreshStrategy.getMsgType() ); mHandler.sendEmptyMessageDelayed( mRefreshStrategy.getMsgType(), mRefreshStrategy.getInterval() ); @@ -238,7 +240,9 @@ class LauncherCardRefresher { } private void startNextRefreshStrategy() { - mRefreshStrategy = mRefreshStrategy.getNext(); + if ( mRefreshStrategy != null ) { + mRefreshStrategy = mRefreshStrategy.getNext(); + } restart(); } @@ -394,12 +398,8 @@ class LauncherCardRefresher { return; } - if ( mDefaultConfigCounter++ >= 1 ) { - return; - } - int counter = SharedPrefsMgr.getInstance( mContext ).getInt( KEY_LauncherCardTipCounter, 0 ); - if ( counter >= 5 ) { + if ( counter >= 1 ) { long lastTipTime = SharedPrefsMgr.getInstance( mContext ).getLong( KEY_LauncherCardTipLastTipTime, 0L ); if ( System.currentTimeMillis() - lastTipTime < 7 * ONE_DAY ) { return; @@ -417,6 +417,9 @@ class LauncherCardRefresher { } catch ( Exception e ) { e.printStackTrace(); } + if ( mDefaultConfigCounter++ >= 1 ) { + return; + } startLoopDefaultConfigStrategy(); } 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 211d122e21..ef33efad2a 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 @@ -1008,9 +1008,9 @@ public class MapMarkerManager implements IMogoMarkerClickListener, switch ( mapUI ) { case Type_Light: case Type_Night: - if ( !AppUtils.isAppForeground( mContext ) ) { - return; - } +// if ( !AppUtils.isAppForeground( mContext ) ) { +// return; +// } if ( mLastDataResult != null ) { runOnTargetThread( () -> { MarkerServiceHandler.getMarkerManager().removeMarkers( ModuleNames.CARD_TYPE_ROAD_CONDITION ); diff --git a/modules/mogo-module-service/src/main/res/layout/module_services_online_car_panel_item.xml b/modules/mogo-module-service/src/main/res/layout/module_services_online_car_panel_item.xml index ca3b363f83..1e13b077d7 100644 --- a/modules/mogo-module-service/src/main/res/layout/module_services_online_car_panel_item.xml +++ b/modules/mogo-module-service/src/main/res/layout/module_services_online_car_panel_item.xml @@ -24,6 +24,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/module_services_panel_item_nickname_marginLeft" + android:layout_marginTop="@dimen/module_services_panel_item_nickname_marginTop" android:textColor="@color/module_services_panel_item_nickname_textColor" android:textSize="@dimen/module_services_panel_item_nickname_textSize" android:textStyle="bold" @@ -37,6 +38,7 @@ android:layout_height="wrap_content" android:textColor="@color/module_services_panel_item_distance_textColor" android:textSize="@dimen/module_services_panel_item_distance_textSize" + android:layout_marginBottom="@dimen/module_services_panel_item_distance_tag_marginBottom" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="@+id/module_services_id_panel_item_nickname" android:text="@string/module_services_panel_item_distance_tag_text" /> @@ -49,7 +51,7 @@ android:textColor="@color/module_services_panel_item_nickname_textColor" android:textSize="@dimen/module_services_panel_item_distance_textSize" android:textStyle="bold" - app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintBottom_toBottomOf="@+id/module_services_id_panel_item_distance_tag" app:layout_constraintLeft_toRightOf="@+id/module_services_id_panel_item_distance_tag" tools:text="980M" /> diff --git a/modules/mogo-module-service/src/main/res/values-ldpi/dimens.xml b/modules/mogo-module-service/src/main/res/values-ldpi/dimens.xml index 0c1ef99605..730973e0ef 100644 --- a/modules/mogo-module-service/src/main/res/values-ldpi/dimens.xml +++ b/modules/mogo-module-service/src/main/res/values-ldpi/dimens.xml @@ -53,4 +53,6 @@ 17px 60px 12.5px + 3px + 3px \ No newline at end of file diff --git a/modules/mogo-module-service/src/main/res/values-mdpi/dimens.xml b/modules/mogo-module-service/src/main/res/values-mdpi/dimens.xml index 9a63e6ddca..5576dbf74f 100644 --- a/modules/mogo-module-service/src/main/res/values-mdpi/dimens.xml +++ b/modules/mogo-module-service/src/main/res/values-mdpi/dimens.xml @@ -53,4 +53,6 @@ 28px 108px 12.5px + 3px + 3px \ No newline at end of file diff --git a/modules/mogo-module-service/src/main/res/values-xhdpi-1920x1000/dimens.xml b/modules/mogo-module-service/src/main/res/values-xhdpi-1920x1000/dimens.xml index 6e500351ca..6fe1da3ee0 100644 --- a/modules/mogo-module-service/src/main/res/values-xhdpi-1920x1000/dimens.xml +++ b/modules/mogo-module-service/src/main/res/values-xhdpi-1920x1000/dimens.xml @@ -53,4 +53,6 @@ 17px 108px 22.5px + 6px + 6px \ No newline at end of file diff --git a/modules/mogo-module-service/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-service/src/main/res/values-xhdpi/dimens.xml index 717e486bf5..8e62dc5efc 100644 --- a/modules/mogo-module-service/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-service/src/main/res/values-xhdpi/dimens.xml @@ -53,4 +53,6 @@ 28px 60px 22.5px + 6px + 6px \ No newline at end of file diff --git a/modules/mogo-module-service/src/main/res/values/dimens.xml b/modules/mogo-module-service/src/main/res/values/dimens.xml index 066fdbc538..fe41b7df41 100644 --- a/modules/mogo-module-service/src/main/res/values/dimens.xml +++ b/modules/mogo-module-service/src/main/res/values/dimens.xml @@ -53,4 +53,6 @@ 17px 60px 12.5px + 3px + 3px \ No newline at end of file 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 f915233082..25ff93e4f4 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 @@ -91,6 +91,8 @@ import static com.mogo.service.share.IMogoTanluProvider.TYPE_TRAFFIC_CHECK; @Route(path = MogoServicePaths.PATH_SHARE) public class ShareControl implements IMogoShareManager, Handler.Callback { private static final String TAG = "ShareControl"; +// private static final int MSG_REAL_QUERY_SHARE_CONFIG = 1001; +// private static final long QUERY_SHARE_CONFIG_DELAY = 3_000L; private Context mContext; // private LaucherShareDialog mShareDialog; @@ -441,10 +443,13 @@ public class ShareControl implements IMogoShareManager, Handler.Callback { } private void queryShareButtonConfig() { - if (NetworkUtils.isConnected(mContext)) { - // 有网,直接请求 - MogoLocation location = - ServiceApisManager.serviceApis.getMapServiceApi().getSingletonLocationClient(mContext).getLastKnowLocation(); + if (handler.hasMessages(MSG_QUERY_SHARE_CONFIG_RETRY)) { + return; + } + MogoLocation location = + ServiceApisManager.serviceApis.getMapServiceApi().getSingletonLocationClient(mContext).getLastKnowLocation(); + if (NetworkUtils.isConnected(mContext) && location != null && !location.getAdCode().isEmpty()) { + // 有网,且有adcode,直接请求 Map params = new ArrayMap<>(); ShareConfigRequest request = new ShareConfigRequest(Utils.getSn(), location.getAdCode()); @@ -498,6 +503,7 @@ public class ShareControl implements IMogoShareManager, Handler.Callback { private static final int QUERY_SHARE_CONFIG_RETRY_TIME_THRESHOLD = 10; private void retryQueryShareConfig() { + Logger.d(TAG, "retryQueryShareConfig====" + queryShareConfigRetryTime); if (queryShareConfigRetryTime > QUERY_SHARE_CONFIG_RETRY_TIME_THRESHOLD) { // 重试次数超过QUERY_SHARE_CONFIG_RETRY_TIME_THRESHOLD,不再重试 return; 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 index 1045e2414f..f0ab2cfd02 100644 --- 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 @@ -1,3 +1,5 @@ +@file:Suppress("DEPRECATION") + package com.mogo.module.share import android.content.Context diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/TanluManager.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/TanluManager.java index 775862dce9..7aaf538804 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/TanluManager.java +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/TanluManager.java @@ -134,34 +134,6 @@ public class TanluManager implements IMogoMarkerClickListener, initListener(); } -// @Override -// public void init(Context context) { -// -// } - -// @Override -// public void searchRoadCondition(String intentStr, String data, String city, String keywords) { -// Disposable disposable = Single.create((SingleOnSubscribe) emitter -> { -// Logger.d(TAG, "searchRoadCondition---> intentStr: " + intentStr + " data: " + data + " " + -// "city: " + city + " keywords: " + keywords); -// Intent intent = new Intent(intentStr); -// intent.putExtra("data", data); -// intent.putExtra("city", city); -// intent.putExtra("keywords", keywords); -// Thread.sleep(3000); -// emitter.onSuccess(intent); -// }).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(intent -> { -// Logger.d(TAG, "searchRoadCondition---go real share"); -// realShare(intentStr, intent); -// }); -// } -// -// @Override -// public void shareSuccess(String poiType, MogoLatLng location) { -// MarkerInfo markerInfo = new MarkerInfo(poiType, "", location.lon, location.lat, true, "1"); -// EventBus.getDefault().post(markerInfo); -// } - private void initInterface() { //地图marker,地图操作 mMarkerManager = TanluServiceManager.getMapService().getMarkerManager(mContext); @@ -318,7 +290,11 @@ public class TanluManager implements IMogoMarkerClickListener, @Override public void onQueryRoadInfoSuccess(@NotNull List roadInfoList) { if (roadInfoList == null || (roadInfoList != null && roadInfoList.size() <= 0)) { - speakFailVoice("未发现" + mKeywords + "附近的特殊路况"); + if (mKeywords.equals("附近")) { + speakFailVoice("未发现附近的特殊路况"); + } else { + speakFailVoice("未发现" + mKeywords + "附近的特殊路况"); + } moveToMarcker(currentLat, currentLon); return; } @@ -335,7 +311,11 @@ public class TanluManager implements IMogoMarkerClickListener, public void onQueryRoadInfoFail(@NotNull String msg, int code) { Logger.e(TAG, "onQueryRoadInfoFail ----- msg = " + msg); // speakFailVoice(searchfaileVoiceStrings[1]); - speakFailVoice("未发现" + mKeywords + "附近的特殊路况"); + if (mKeywords.equals("附近")) { + speakFailVoice("未发现附近的特殊路况"); + } else { + speakFailVoice("未发现" + mKeywords + "附近的特殊路况"); + } moveToMarcker(currentLat, currentLon); } 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 66921a0a6f..0a4e97698c 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 @@ -38,6 +38,7 @@ object UploadHelper { // } // } else { if (ServiceApisManager.serviceApis.statusManagerApi.isUploading) { + Logger.d("UploadHelper", "upload is going -- ") // 上报即成功,当前还有正在上报的事件,仅做界面展示,不做具体操作 ServiceApisManager.serviceApis.tanluUiApi.shareSuccess(type.eventType, type.location) } else { @@ -58,7 +59,9 @@ object UploadHelper { } else { // 没网就直接提示失败 + Logger.e("UploadHelper", "upload not net ") AIAssist.getInstance(context).speakTTSVoice("分享失败,请检查网络") + @Suppress("DEPRECATION") TipToast.tip("分享失败,请检查网络", TipDrawable(context.resources.getDrawable(R.drawable.module_share_upload_fail))) } } @@ -69,9 +72,8 @@ object UploadHelper { var shareItemSum = SharedPrefsMgr.getInstance(context).getInt(KEY_CLICK_SHARE_ITEM_BUTTON, 0) val intervalTime = SharedPrefsMgr.getInstance(context).getLong(KEY_CLICK_SHARE_ITEM_TIME, 0) if (shareItemSum < VOICE_ALERT_COUNT) { - Log.d("UploadHelper", "shareItemSum = $shareItemSum --- intervalTime = $intervalTime --type = $type") + Log.d("UploadHelper", "shareItemSum = $shareItemSum --- intervalTime = $intervalTime --type = ${type}") val time = System.currentTimeMillis() - Log.d("UploadHelper", "time = $time ") if (intervalTime == 0.toLong()) { SharedPrefsMgr.getInstance(context).putLong(KEY_CLICK_SHARE_ITEM_TIME, time) SharedPrefsMgr.getInstance(context).putInt(KEY_CLICK_SHARE_ITEM_BUTTON, ++shareItemSum) diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/BlockStrategy.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/BlockStrategy.kt index c8a97b5f37..cc1e9bdbdc 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/BlockStrategy.kt +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/BlockStrategy.kt @@ -126,6 +126,8 @@ class BlockStrategy(private val context: Context, private val apis: IMogoService } else { // 记录行进距离 tripDistance += com.mogo.module.service.Utils.calculateLineDistance(lastLon, lastLat, lon, lat).toInt() + lastLon = lon + lastLat = lat val current = SystemClock.uptimeMillis() if (startRecordDistanceTime == 0L) { startRecordDistanceTime = current @@ -134,16 +136,20 @@ class BlockStrategy(private val context: Context, private val apis: IMogoService if (current - startRecordDistanceTime >= DISTANCE_RECORD_TIME) { // 超过阈值,准备判断是否拥堵 startRecordDistanceTime = 0L - if (tripDistance < 1000 && isClose() && currentSpeed < 40) { - Logger.d(TAG, "根据距离,判定为拥堵,准备上报") + if (tripDistance in 30..1000 && isClose() && currentSpeed < 40) { + Logger.d(TAG, "根据距离,判定为拥堵,准备上报, tripDistance: $tripDistance, frontDistance: $frontDistance, currentSpeed: $currentSpeed") val p = TanluUploadParams(IMogoTanluProvider.TYPE_BLOCK, IMogoTanluProvider.UPLOAD_FROM_STRATEGY_BLOCK_AUTO) val latLon = MogoLatLng(lat, lon) p.location = latLon + // 疑似拥堵埋点上报 + apis.analyticsApi.track("v2x_share_autoUpload", mapOf("type" to 1)) apis.tanluApi.uploadRoadCondition(p) } else { Logger.d(TAG, "根据距离,没有判定为拥堵, tripDistance: $tripDistance, frontDistance: $frontDistance, currentSpeed: $currentSpeed") } tripDistance = 0 + lastLat = 0.0 + lastLon = 0.0 } } } @@ -152,7 +158,9 @@ class BlockStrategy(private val context: Context, private val apis: IMogoService * 没有有效前车距离或者前车距离小于5m */ private fun isClose(): Boolean { - return frontDistance in 1..4 + val r = (frontDistance in 1..4) || (frontDistance == -1) + Logger.d(TAG,"r: $r") + return r } private fun uploadAverageSpeed(average: Float) { diff --git a/modules/mogo-module-splash/src/main/java/com/zhidao/mogo/module/splash/SplashProvider.kt b/modules/mogo-module-splash/src/main/java/com/zhidao/mogo/module/splash/SplashProvider.kt index 207206469e..b3f4d9292d 100644 --- a/modules/mogo-module-splash/src/main/java/com/zhidao/mogo/module/splash/SplashProvider.kt +++ b/modules/mogo-module-splash/src/main/java/com/zhidao/mogo/module/splash/SplashProvider.kt @@ -1,3 +1,5 @@ +@file:Suppress("DEPRECATION") + package com.zhidao.mogo.module.splash import android.content.Context diff --git a/modules/mogo-module-v2x/build.gradle b/modules/mogo-module-v2x/build.gradle index c245d03849..52c1c51a4c 100644 --- a/modules/mogo-module-v2x/build.gradle +++ b/modules/mogo-module-v2x/build.gradle @@ -22,7 +22,7 @@ android { } } ndk { - abiFilters "armeabi", "armeabi-v7a", "arm64-v8a" + abiFilters "armeabi-v7a" } } diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XBaseViewHolder.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XBaseViewHolder.java index daf41e1b83..475b80bfde 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XBaseViewHolder.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XBaseViewHolder.java @@ -1,6 +1,5 @@ package com.mogo.module.v2x.adapter.holder; -import android.content.Intent; import android.util.Log; import android.view.View; @@ -16,19 +15,20 @@ import com.mogo.map.navi.MogoTraffic; import com.mogo.module.carchattingprovider.ICarsChattingProvider; import com.mogo.module.common.entity.MarkerExploreWay; import com.mogo.module.common.entity.MarkerLocation; +import com.mogo.module.common.entity.V2XEventZanData; import com.mogo.module.v2x.V2XConst; import com.mogo.module.v2x.V2XServiceManager; import com.mogo.module.v2x.utils.ChartingUtil; import com.mogo.module.v2x.utils.RoadConditionUtils; +import com.mogo.module.v2x.utils.TimeUtils; import com.mogo.module.v2x.utils.TrackUtils; +import com.mogo.module.v2x.utils.V2XSQLiteUtils; import com.mogo.module.v2x.utils.V2XUtils; import com.mogo.utils.TipToast; import com.mogo.utils.logger.Logger; import com.zhidao.carchattingprovider.CallChattingProviderConstant; import com.zhidao.carchattingprovider.MogoDriverInfo; -import java.util.HashMap; - import static com.mogo.module.v2x.V2XConst.MODULE_NAME; /** @@ -68,10 +68,18 @@ public abstract class V2XBaseViewHolder AIAssist.getInstance(V2XUtils.getApp()).speakTTSVoice("已点赞", null); showTip("已点赞"); if (noveltyInfo != null) { + // 调用网络API接口 V2XServiceManager.getV2XMarkerService() .getV2XRefreshModel() .giveLikeLiveVideo(null, noveltyInfo.getSn()); + V2XEventZanData v2XEventZanData = new V2XEventZanData(); + v2XEventZanData.setEventId(noveltyInfo.getInfoId()); + v2XEventZanData.setTriggerTime(TimeUtils.getNowMills()); + V2XSQLiteUtils.saveEventZanLocalStory(v2XEventZanData); + + + // 上报数据统计 TrackUtils.trackV2xRoadEvent( noveltyInfo.getInfoId(), noveltyInfo.getSn(), @@ -84,23 +92,23 @@ public abstract class V2XBaseViewHolder } public void triggerIVReportHead(MarkerExploreWay noveltyInfo) { - Log.d(TAG,"点击头像"+mCarsChattingProvider); + Log.d(TAG, "点击头像" + mCarsChattingProvider); try { mCarsChattingProvider = (ICarsChattingProvider) ARouter.getInstance().build(CallChattingProviderConstant.CAR_CALL_PROVIDER).navigation(); MogoDriverInfo mogoDriverInfo = new MogoDriverInfo(); int ageNumber = noveltyInfo.getUserInfo().getAgeNumber(); mogoDriverInfo.setAge(ageNumber); String gender = noveltyInfo.getUserInfo().getGender(); - mogoDriverInfo.setGender(gender != null ? gender:null); + mogoDriverInfo.setGender(gender != null ? gender : null); String sn = noveltyInfo.getUserInfo().getSn(); - mogoDriverInfo.setSn(sn != null ? sn:""); + mogoDriverInfo.setSn(sn != null ? sn : ""); String name = noveltyInfo.getUserInfo().getUserName(); - mogoDriverInfo.setUserName(name != null ? name:""); + mogoDriverInfo.setUserName(name != null ? name : ""); mogoDriverInfo.setUserHead(noveltyInfo.getUserInfo().getUserHead()); mCarsChattingProvider.showUserWindow(MODULE_NAME, mogoDriverInfo, this.itemView.getContext()); } catch (Exception e) { - Log.d(TAG,"点击头像发生错误--triggerIVReportHead"+e); + Log.d(TAG, "点击头像发生错误--triggerIVReportHead" + e); e.printStackTrace(); } } diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XEventUgcVH.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XEventUgcVH.java index cf784c66db..00050ea54b 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XEventUgcVH.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XEventUgcVH.java @@ -147,7 +147,7 @@ public class V2XEventUgcVH extends V2XBaseViewHolder { * 对道路事件进行反馈 */ void manualMarkingTrafficJam(int status) { - AIAssist.getInstance(V2XUtils.getApp()).speakTTSVoice("已反馈", null); + AIAssist.getInstance(V2XUtils.getApp()).speakTTSVoice("谢谢,您的反馈将帮助更多车友。", null); V2XServiceManager .getV2XRefreshModel() .manualMarkingTrafficJam( diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XRoadEventVH.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XRoadEventVH.java index d92b98d136..19376eb451 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XRoadEventVH.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XRoadEventVH.java @@ -24,10 +24,9 @@ import com.mogo.module.v2x.scenario.scene.livecar.V2XRoadLiveCarScenario; import com.mogo.module.v2x.scenario.scene.road.V2XRoadEventScenario; import com.mogo.module.v2x.scenario.scene.road.V2XRoadEventWindow; import com.mogo.module.v2x.scenario.scene.road.V2XRoadVideoCarScenario; -import com.mogo.module.v2x.scenario.scene.road.V2XRoadVideoWindow; import com.mogo.module.v2x.utils.ChartingUtil; import com.mogo.module.v2x.utils.EventTypeUtils; -import com.mogo.module.v2x.utils.SpanUtils; +import com.mogo.module.v2x.utils.V2XSQLiteUtils; import com.mogo.module.v2x.view.HeartLikeView; import com.mogo.module.v2x.voice.V2XVoiceCallbackListener; import com.mogo.module.v2x.voice.V2XVoiceConstants; @@ -256,7 +255,12 @@ public class V2XRoadEventVH extends V2XBaseViewHolder { ivEventReportTrue.setVisibility(GONE); ivEventReportErr.setVisibility(GONE); - ivEventZan.setVisibility(VISIBLE); + + if (V2XSQLiteUtils.isZanEvent(mNoveltyInfo.getInfoId())) { + ivEventZan.setVisibility(GONE); + } else { + ivEventZan.setVisibility(VISIBLE); + } // 用户上报的才会展示拨打电话 if (!TextUtils.isEmpty(mNoveltyInfo.getUploadType()) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/help/V2XSeekHelpButton.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/help/V2XSeekHelpButton.java index c032668c54..00a06744ca 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/help/V2XSeekHelpButton.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/help/V2XSeekHelpButton.java @@ -54,7 +54,7 @@ public class V2XSeekHelpButton implements IV2XButton { tv = V2XServiceManager.getMogoEntranceButtonController().getButton(ButtonIndex.BUTTON2); tv.setText("取消\n求助"); tv.setVisibility(View.VISIBLE); - tv.setBackgroundResource(R.drawable.bg_v2x_event_live_show); + tv.setBackgroundResource(R.drawable.bg_v2x_cancel_help); tv.setOnClickListener(v -> { //调用取消求助接口 // TODO: 2020/5/18 回调,显示对话框 diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/V2XSQLiteUtils.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/V2XSQLiteUtils.java index 1be148ea12..374db86fa8 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/V2XSQLiteUtils.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/V2XSQLiteUtils.java @@ -1,5 +1,6 @@ package com.mogo.module.v2x.utils; +import com.mogo.module.common.entity.V2XEventZanData; import com.mogo.module.common.entity.V2XHistoryScenarioData; import com.mogo.module.v2x.V2XConst; import com.mogo.module.v2x.fragment.V2XEventPanelFragment; @@ -21,6 +22,11 @@ public class V2XSQLiteUtils { */ private static SQLIDao mScenarioHistoryDao; + /** + * 点赞数据管理 + */ + private static SQLIDao mV2XEventZanDao; + /** * 场景数据管理 */ @@ -36,6 +42,21 @@ public class V2XSQLiteUtils { return mScenarioHistoryDao; } + /** + * 点赞数据管理 + */ + public static SQLIDao getV2XEventZanDao() { + if (mV2XEventZanDao == null) { + synchronized (V2XSQLiteUtils.class) { + if (mV2XEventZanDao == null) { + mV2XEventZanDao = SQLDaoFactory.Companion.getInstance() + .getBaseDao(V2XUtils.getApp(), V2XEventZanData.class); + } + } + } + return mV2XEventZanDao; + } + /** * 删除数据库中存储的昨天的数据 */ @@ -153,4 +174,48 @@ public class V2XSQLiteUtils { e.printStackTrace(); } } + + /** + * 存储本地数据 + * + * @param v2XEventZanData 要存储的场景 + */ + public static void saveEventZanLocalStory(V2XEventZanData v2XEventZanData) { + try { + if (!isZanEvent(v2XEventZanData.eventId)) { + // 进行数据库存储 + V2XSQLiteUtils.getV2XEventZanDao().insert(v2XEventZanData); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * 判断是否已经存在 + * + * @param eventId 要判断的事件ID + * @return true-已存在,false-没存在 + */ + public static boolean isZanEvent(String eventId) { + try { + // 查询数据库,判断是否存在 + for (V2XEventZanData eventZanDatum : getEventZanData()) { + if (eventZanDatum.eventId.equals(eventId)) { + return true; + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return false; + } + + /** + * 查询当天的V2X数据 + */ + public static List getEventZanData() { + return getV2XEventZanDao().query(new V2XEventZanData()); + } + } diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/HeartLikeView.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/HeartLikeView.java index 9966c37b11..817d7c67f6 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/HeartLikeView.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/HeartLikeView.java @@ -18,7 +18,7 @@ import com.mogo.module.v2x.R; * * @author donghongyu */ -public class HeartLikeView extends LinearLayout { +public class HeartLikeView extends LinearLayout implements Animator.AnimatorListener { private ImageView mIllegalParkingLike; private AnimatorSet mAnimatorSet; @@ -46,36 +46,36 @@ public class HeartLikeView extends LinearLayout { mAnimatorSet = (AnimatorSet) AnimatorInflater.loadAnimator(getContext(), R.anim.v2x_like_heart_animation); mAnimatorSet.setTarget(mIllegalParkingLike); + mAnimatorSet.addListener(this); } - mAnimatorSet.addListener(new Animator.AnimatorListener() { - @Override - public void onAnimationStart(Animator animation) { - - } - - @Override - public void onAnimationEnd(Animator animation) { - isAnimator = false; - if (mOnClickCallListener != null) { - mOnClickCallListener.onClicked(HeartLikeView.this); - } - } - - @Override - public void onAnimationCancel(Animator animation) { - - } - - @Override - public void onAnimationRepeat(Animator animation) { - - } - }); mAnimatorSet.start(); } }); } + @Override + public void onAnimationStart(Animator animation) { + + } + + @Override + public void onAnimationEnd(Animator animation) { + isAnimator = false; + if (mOnClickCallListener != null) { + mOnClickCallListener.onClicked(HeartLikeView.this); + } + } + + @Override + public void onAnimationCancel(Animator animation) { + + } + + @Override + public void onAnimationRepeat(Animator animation) { + + } + public interface OnClickCallListener { /** * 点击回调 diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/HeartUnLikeView.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/HeartUnLikeView.java index 129b23e03a..de8765c1d4 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/HeartUnLikeView.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/HeartUnLikeView.java @@ -18,7 +18,7 @@ import com.mogo.module.v2x.R; * * @author donghongyu */ -public class HeartUnLikeView extends LinearLayout { +public class HeartUnLikeView extends LinearLayout implements Animator.AnimatorListener { private ImageView mIllegalParkingUnLike; private AnimatorSet mAnimatorSet; @@ -46,36 +46,36 @@ public class HeartUnLikeView extends LinearLayout { mAnimatorSet = (AnimatorSet) AnimatorInflater.loadAnimator(getContext(), R.anim.v2x_unlike_heart_animation); mAnimatorSet.setTarget(mIllegalParkingUnLike); + mAnimatorSet.addListener(this); } - mAnimatorSet.addListener(new Animator.AnimatorListener() { - @Override - public void onAnimationStart(Animator animation) { - - } - - @Override - public void onAnimationEnd(Animator animation) { - isAnimator = false; - if (mOnClickCallListener != null) { - mOnClickCallListener.onClicked(HeartUnLikeView.this); - } - } - - @Override - public void onAnimationCancel(Animator animation) { - - } - - @Override - public void onAnimationRepeat(Animator animation) { - - } - }); mAnimatorSet.start(); } }); } + @Override + public void onAnimationStart(Animator animation) { + + } + + @Override + public void onAnimationEnd(Animator animation) { + isAnimator = false; + if (mOnClickCallListener != null) { + mOnClickCallListener.onClicked(HeartUnLikeView.this); + } + } + + @Override + public void onAnimationCancel(Animator animation) { + + } + + @Override + public void onAnimationRepeat(Animator animation) { + + } + public interface OnClickCallListener { /** * 点击回调 diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/SimpleCoverVideoPlayer.kt b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/SimpleCoverVideoPlayer.kt index 018657a861..149bf52401 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/SimpleCoverVideoPlayer.kt +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/SimpleCoverVideoPlayer.kt @@ -159,7 +159,7 @@ class SimpleCoverVideoPlayer : StandardGSYVideoPlayer { override fun onClick(v: View?) { super.onClick(v) - Log.d("kl", "onClick160 : $mCurrentState") + Log.d("kl", "onClick160" + mCurrentState) if (mCurrentState == CURRENT_STATE_PAUSE) { onVideoResume() } else if (mCurrentState == CURRENT_STATE_PLAYING) { diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/voice/V2XVoiceConstants.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/voice/V2XVoiceConstants.java index f72f5e2e12..a34bf1a2be 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/voice/V2XVoiceConstants.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/voice/V2XVoiceConstants.java @@ -239,10 +239,10 @@ public class V2XVoiceConstants { // 封路 public static final String COMMAND_ZHIDAO_V2X_FEEDBACK_FENG_LU_YES_UN_WAKEUP = "COMMAND_ZHIDAO_V2X_FEEDBACK_FENG_LU_YES_UN_WAKEUP"; - public static final String[] COMMAND_ZHIDAO_V2X_FEEDBACK_FENG_LU_YES_UN_WAKEUP_WORDS = {"封路了", "封了", "有封路", "确定"}; + public static final String[] COMMAND_ZHIDAO_V2X_FEEDBACK_FENG_LU_YES_UN_WAKEUP_WORDS = {"封路了", "封了", "封路", "有封路", "确定"}; public static final String COMMAND_ZHIDAO_V2X_FEEDBACK_FENG_LU_NO_UN_WAKEUP = "COMMAND_ZHIDAO_V2X_FEEDBACK_FENG_LU_NO_UN_WAKEUP"; - public static final String[] COMMAND_ZHIDAO_V2X_FEEDBACK_FENG_LU_NO_UN_WAKEUP_WORDS = {"没注意", "没看到", "没有", "没封路", "取消", "关闭"}; + public static final String[] COMMAND_ZHIDAO_V2X_FEEDBACK_FENG_LU_NO_UN_WAKEUP_WORDS = {"不封路","没注意", "没看到", "没有", "没封路","无封路", "取消", "关闭"}; // 事故 @@ -250,7 +250,7 @@ public class V2XVoiceConstants { public static final String[] COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GU_YES_UN_WAKEUP_WORDS = {"有事故", "存在交通事故", "确定"}; public static final String COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GU_NO_UN_WAKEUP = "COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GU_NO_UN_WAKEUP"; - public static final String[] COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GU_NO_UN_WAKEUP_WORDS = {"没注意", "没有事故", "没看到", "没有", "取消", "关闭"}; + public static final String[] COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GU_NO_UN_WAKEUP_WORDS = {"没注意", "没有事故", "无事故", "没看到", "没有", "取消", "关闭"}; // 道路施工 @@ -258,7 +258,7 @@ public class V2XVoiceConstants { public static final String[] COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GONG_YES_UN_WAKEUP_WORDS = {"有", "在施工", "有施工", "确定"}; public static final String COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GONG_NO_UN_WAKEUP = "COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GONG_NO_UN_WAKEUP"; - public static final String[] COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GONG_NO_UN_WAKEUP_WORDS = {"没注意", "没看到", "没有施工", "很正常", "取消", "关闭"}; + public static final String[] COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GONG_NO_UN_WAKEUP_WORDS = {"没注意", "没看到", "没有施工","无施工", "很正常", "取消", "关闭"}; static { diff --git a/modules/mogo-module-v2x/src/main/res/drawable/bg_v2x_cancel_help.xml b/modules/mogo-module-v2x/src/main/res/drawable/bg_v2x_cancel_help.xml new file mode 100644 index 0000000000..8882692332 --- /dev/null +++ b/modules/mogo-module-v2x/src/main/res/drawable/bg_v2x_cancel_help.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_detail.xml b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_detail.xml index 99867b46ab..bc25522ee9 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_detail.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_detail.xml @@ -161,7 +161,7 @@ android:layout_width="@dimen/module_v2x_event_button_size_detail" android:layout_height="@dimen/module_v2x_event_button_size_detail" android:padding="@dimen/dp_15" - android:src="@drawable/v2x_selector_icon_report_err_light" + android:src="@drawable/v2x_selector_icon_report_err" android:visibility="gone" app:layout_constraintBottom_toBottomOf="@+id/ivEventLive" app:layout_constraintStart_toEndOf="@id/ivEventReportTrue" diff --git a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_scennario_history.xml b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_scennario_history.xml index da50969a5e..a119d15ca1 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_scennario_history.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_scennario_history.xml @@ -47,8 +47,9 @@ android:id="@+id/ivIconP" android:layout_width="@dimen/module_v2x_history_event_icon_size" android:layout_height="@dimen/module_v2x_history_event_icon_size" - android:layout_marginEnd="@dimen/dp_16" + android:layout_marginEnd="@dimen/dp_26" android:src="@drawable/icon_illegal_parking" + app:layout_constraintRight_toLeftOf="@+id/tvAddress" app:layout_constraintLeft_toLeftOf="@+id/tagEventType" app:layout_constraintTop_toBottomOf="@+id/tagEventType" app:layout_constraintTop_toTopOf="@+id/tvAddress" /> @@ -57,7 +58,6 @@ android:id="@+id/tvAddress" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_marginStart="@dimen/dp_12" android:layout_marginTop="@dimen/dp_24" android:layout_marginRight="@dimen/dp_30" android:ellipsize="end" diff --git a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_scennario_history_other_help.xml b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_scennario_history_other_help.xml index a7b3b43599..83ff056b82 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_scennario_history_other_help.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_scennario_history_other_help.xml @@ -11,7 +11,7 @@ android:id="@+id/tagEventType" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginStart="@dimen/module_v2x_surrounding_item_bottom_image_height" + android:layout_marginStart="@dimen/dp_36" android:layout_marginTop="@dimen/dp_24" android:background="@drawable/bg_v2x_event_type_orange" android:gravity="center" diff --git a/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_item.xml b/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_item.xml index 044f98c29d..6bf0a69a87 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_item.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_item.xml @@ -33,7 +33,7 @@ android:layout_alignTop="@+id/road_case_style" android:paddingRight="@dimen/dp_28" android:text="100" - android:textColor="#FFFFFF" + android:textColor="@color/v2x_FFF_333" android:textSize="@dimen/dp_26" /> diff --git a/modules/mogo-module-v2x/src/main/res/values-mdpi/dimens.xml b/modules/mogo-module-v2x/src/main/res/values-mdpi/dimens.xml index 4203353bf9..03bc2597eb 100644 --- a/modules/mogo-module-v2x/src/main/res/values-mdpi/dimens.xml +++ b/modules/mogo-module-v2x/src/main/res/values-mdpi/dimens.xml @@ -100,8 +100,8 @@ 19px - 574px - 480px + 572px + 486px 384px diff --git a/skin/mogo-skin-light/src/main/module-common-res/drawable-xhdpi/icon_heart_second_light.png b/skin/mogo-skin-light/src/main/module-common-res/drawable-xhdpi/icon_heart_second_light.png index 1c49555541..d671576e44 100644 Binary files a/skin/mogo-skin-light/src/main/module-common-res/drawable-xhdpi/icon_heart_second_light.png and b/skin/mogo-skin-light/src/main/module-common-res/drawable-xhdpi/icon_heart_second_light.png differ diff --git a/skin/mogo-skin-light/src/main/module-common-res/drawable-xhdpi/icon_heart_unchoose_light.png b/skin/mogo-skin-light/src/main/module-common-res/drawable-xhdpi/icon_heart_unchoose_light.png index 09ab4af9e3..003cf9aa07 100644 Binary files a/skin/mogo-skin-light/src/main/module-common-res/drawable-xhdpi/icon_heart_unchoose_light.png and b/skin/mogo-skin-light/src/main/module-common-res/drawable-xhdpi/icon_heart_unchoose_light.png differ diff --git a/skin/mogo-skin-light/src/main/module-common-res/drawable/icon_heart_second_light.png b/skin/mogo-skin-light/src/main/module-common-res/drawable/icon_heart_second_light.png index e26dbe8a7b..e805f56811 100644 Binary files a/skin/mogo-skin-light/src/main/module-common-res/drawable/icon_heart_second_light.png and b/skin/mogo-skin-light/src/main/module-common-res/drawable/icon_heart_second_light.png differ diff --git a/skin/mogo-skin-light/src/main/module-common-res/drawable/icon_heart_unchoose_light.png b/skin/mogo-skin-light/src/main/module-common-res/drawable/icon_heart_unchoose_light.png index c1dbeacc1d..d30399a22a 100644 Binary files a/skin/mogo-skin-light/src/main/module-common-res/drawable/icon_heart_unchoose_light.png and b/skin/mogo-skin-light/src/main/module-common-res/drawable/icon_heart_unchoose_light.png differ diff --git a/skin/mogo-skin-light/src/main/module-common-res/values/colors.xml b/skin/mogo-skin-light/src/main/module-common-res/values/colors.xml new file mode 100644 index 0000000000..79f8bdc355 --- /dev/null +++ b/skin/mogo-skin-light/src/main/module-common-res/values/colors.xml @@ -0,0 +1,4 @@ + + + #333333 + \ No newline at end of file diff --git a/skin/mogo-skin-light/src/main/module-v2x-res/drawable/bg_v2x_cancel_help_light.xml b/skin/mogo-skin-light/src/main/module-v2x-res/drawable/bg_v2x_cancel_help_light.xml new file mode 100644 index 0000000000..418d03a9bb --- /dev/null +++ b/skin/mogo-skin-light/src/main/module-v2x-res/drawable/bg_v2x_cancel_help_light.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/skin/mogo-skin-light/src/main/module-v2x-res/drawable/bg_v2x_event_description_light.xml b/skin/mogo-skin-light/src/main/module-v2x-res/drawable/bg_v2x_event_description_light.xml index 48d0b7deb6..79c69fb8a2 100644 --- a/skin/mogo-skin-light/src/main/module-v2x-res/drawable/bg_v2x_event_description_light.xml +++ b/skin/mogo-skin-light/src/main/module-v2x-res/drawable/bg_v2x_event_description_light.xml @@ -4,8 +4,8 @@ diff --git a/upload.sh b/upload.sh index 054ba576f4..17478021a0 100755 --- a/upload.sh +++ b/upload.sh @@ -1,4 +1,4 @@ -#!/bin/bash +!/bin/bash ./gradlew :foudations:mogo-utils:clean :foudations:mogo-utils:uploadArchives if [ $? -ne 0 ];then exit; fi @@ -6,14 +6,14 @@ if [ $? -ne 0 ];then exit; fi if [ $? -ne 0 ]; then exit; fi ./gradlew :tts:tts-base:clean :tts:tts-base:uploadArchives if [ $? -ne 0 ]; then exit; fi +./gradlew :foudations:mogo-commons:clean :foudations:mogo-commons:uploadArchives +if [ $? -ne 0 ]; then exit; fi ./gradlew :tts:tts-zhi:clean :tts:tts-zhi:uploadArchives if [ $? -ne 0 ]; then exit; fi ./gradlew :tts:tts-di:clean :tts:tts-di:uploadArchives if [ $? -ne 0 ]; then exit; fi ./gradlew :tts:tts-noop:clean :tts:tts-noop:uploadArchives if [ $? -ne 0 ]; then exit; fi -./gradlew :foudations:mogo-commons:clean :foudations:mogo-commons:uploadArchives -if [ $? -ne 0 ]; then exit; fi ./gradlew :libraries:mogo-map-api:clean :libraries:mogo-map-api:uploadArchives if [ $? -ne 0 ]; then exit; fi ./gradlew :skin:skin-support:clean :skin:skin-support:uploadArchives @@ -102,15 +102,11 @@ if [ $? -ne 0 ]; then exit; fi if [ $? -ne 0 ]; then exit; fi ./gradlew :libraries:tanlulib:clean :libraries:tanlulib:uploadArchives if [ $? -ne 0 ]; then exit; fi -./gradlew :libraries:mogo-tanlu-api:clean :libraries:mogo-tanlu-api:uploadArchives -if [ $? -ne 0 ]; then exit; fi ./gradlew :modules:mogo-module-monitor:clean :modules:mogo-module-monitor:uploadArchives if [ $? -ne 0 ]; then exit; fi ./gradlew :modules:mogo-module-splash:clean :modules:mogo-module-splash:uploadArchives if [ $? -ne 0 ]; then exit; fi ./gradlew :modules:mogo-module-splash-noop:clean :modules:mogo-module-splash-noop:uploadArchives if [ $? -ne 0 ]; then exit; fi -./gradlew :modules:mogo-module-tanlu:clean :modules:mogo-module-tanlu:uploadArchives -if [ $? -ne 0 ]; then exit; fi ./gradlew :modules:mogo-module-widgets:clean :modules:mogo-module-widgets:uploadArchives if [ $? -ne 0 ]; then exit; fi \ No newline at end of file