Merge remote-tracking branch 'origin/dev' into dev
@@ -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('-')
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
|
||||
|
||||
@@ -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')
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 //车速
|
||||
)
|
||||
@@ -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<TakePhotoInterceptor> = 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<String, String> = mutableMapOf()
|
||||
private var videoAndThumbMap: MutableMap<String, String> = 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)
|
||||
|
||||
@@ -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<String?>?, 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 ->
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
)
|
||||
|
||||
|
||||
@@ -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
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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();
|
||||
// 是否发自系统消息
|
||||
|
||||
@@ -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 +
|
||||
'}';
|
||||
}
|
||||
|
||||
@@ -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 +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
@@ -3,4 +3,5 @@
|
||||
<color name="module_commons_dlg_bkg">#7f000000</color>
|
||||
<color name="module_commons_wm_dialog_text_textColor">#FFFFFF</color>
|
||||
<color name="v2x_FFF_666">#FFFFFF</color>
|
||||
<color name="module_commons_FFF_333">#FFFFFF</color>
|
||||
</resources>
|
||||
@@ -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" />
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
<dimen name="module_ext_button_container_marginLeft">32px</dimen>
|
||||
<dimen name="module_ext_button_container_marginBottom">60px</dimen>
|
||||
<dimen name="module_ext_navi_exit_textSize">32px</dimen>
|
||||
<dimen name="v2x_cancel_help_text_size">30px</dimen>
|
||||
<dimen name="module_entrance_id_button_marginTop">20px</dimen>
|
||||
|
||||
<!-- module_ext_layout_extensions.xml-->
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
<dimen name="module_ext_button_container_marginLeft">32px</dimen>
|
||||
<dimen name="module_ext_button_container_marginBottom">60px</dimen>
|
||||
<dimen name="module_ext_navi_exit_textSize">32px</dimen>
|
||||
<dimen name="v2x_cancel_help_text_size">30px</dimen>
|
||||
<dimen name="module_entrance_id_button_marginTop">20px</dimen>
|
||||
|
||||
<!-- module_ext_layout_extensions.xml-->
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
<dimen name="module_ext_button_container_marginLeft">20px</dimen>
|
||||
<dimen name="module_ext_button_container_marginBottom">30px</dimen>
|
||||
<dimen name="module_ext_navi_exit_textSize">16px</dimen>
|
||||
<dimen name="v2x_cancel_help_text_size">14px</dimen>
|
||||
<dimen name="module_entrance_id_button_marginTop">8px</dimen>
|
||||
|
||||
<!-- module_ext_layout_extensions.xml-->
|
||||
@@ -60,7 +61,7 @@
|
||||
<dimen name="module_ext_paddingRight">32px</dimen>
|
||||
<dimen name="module_ext_paddingLeft">32px</dimen>
|
||||
|
||||
<dimen name="module_ext_notice_margin_start">78px</dimen>
|
||||
<dimen name="module_ext_notice_margin_start">0px</dimen>
|
||||
|
||||
<dimen name="module_ext_voice_textSize">22px</dimen>
|
||||
<dimen name="module_ext_time_textSize">28px</dimen>
|
||||
@@ -171,4 +172,5 @@
|
||||
<dimen name="module_ext_seek_help_notice_text_margin_start">10px</dimen>
|
||||
<dimen name="module_ext_seek_help_notice_number_text_size">22px</dimen>
|
||||
<dimen name="module_ext_seek_help_notice_bg_margin_top">16px</dimen>
|
||||
|
||||
</resources>
|
||||
@@ -43,6 +43,7 @@ class GuideFragment : MvpFragment<GuideConstract.View, GuidePresenter>(), 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)
|
||||
|
||||
@@ -30,6 +30,7 @@ class GuideStageFiveFragment : MvpFragment<IView, Presenter<IView>> {
|
||||
|
||||
override fun initViews() {
|
||||
if(!DebugConfig.isLauncher()){
|
||||
@Suppress("DEPRECATION")
|
||||
moduleGuidePageFive.background = context!!.resources!!.getDrawable(R.mipmap.module_guide_item_stage_five)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,6 +30,7 @@ class GuideStageFourFragment : MvpFragment<IView, Presenter<IView>> {
|
||||
|
||||
override fun initViews() {
|
||||
if(!DebugConfig.isLauncher()){
|
||||
@Suppress("DEPRECATION")
|
||||
moduleGuidePageFour.background = context!!.resources!!.getDrawable(R.mipmap.module_guide_item_stage_four)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@ class GuideStageOneFragment : MvpFragment<IView, Presenter<IView>> {
|
||||
override fun initViews() {
|
||||
containerFragment?.visibleRight()
|
||||
if(!DebugConfig.isLauncher()){
|
||||
@Suppress("DEPRECATION")
|
||||
moduleGuidePageOne.background = context!!.resources!!.getDrawable(R.mipmap.module_guide_item_stage_one)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,6 +30,7 @@ class GuideStageThreeFragment : MvpFragment<IView, Presenter<IView>> {
|
||||
|
||||
override fun initViews() {
|
||||
if(!DebugConfig.isLauncher()){
|
||||
@Suppress("DEPRECATION")
|
||||
moduleGuidePageThree.background = context!!.resources!!.getDrawable(R.mipmap.module_guide_item_stage_three)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,6 +30,7 @@ class GuideStageTwoFragment : MvpFragment<IView, Presenter<IView>> {
|
||||
|
||||
override fun initViews() {
|
||||
if(!DebugConfig.isLauncher()){
|
||||
@Suppress("DEPRECATION")
|
||||
moduleGuidePageTwo.background = context!!.resources!!.getDrawable(R.mipmap.module_guide_item_stage_two)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
@file:Suppress("DEPRECATION")
|
||||
|
||||
package com.zhidao.mogo.module.left.panel
|
||||
|
||||
import android.content.Context
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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(){
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
@file:Suppress("DEPRECATION")
|
||||
|
||||
package com.mogo.module.push.utils
|
||||
|
||||
import android.util.ArrayMap
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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<MogoLatLng>(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<MogoCalculatePath>()
|
||||
val arrayList = ArrayList<MogoCalculatePath>()
|
||||
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<String>("重试"), 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
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
|
||||
@@ -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" />
|
||||
|
||||
|
||||
@@ -53,4 +53,6 @@
|
||||
<dimen name="module_services_empty_tip_marginTop">17px</dimen>
|
||||
<dimen name="module_services_panel_strategy_button_marginTop">60px</dimen>
|
||||
<dimen name="module_services_panel_item_corner">12.5px</dimen>
|
||||
<dimen name="module_services_panel_item_nickname_marginTop">3px</dimen>
|
||||
<dimen name="module_services_panel_item_distance_tag_marginBottom">3px</dimen>
|
||||
</resources>
|
||||
@@ -53,4 +53,6 @@
|
||||
<dimen name="module_services_empty_tip_marginTop">28px</dimen>
|
||||
<dimen name="module_services_panel_strategy_button_marginTop">108px</dimen>
|
||||
<dimen name="module_services_panel_item_corner">12.5px</dimen>
|
||||
<dimen name="module_services_panel_item_nickname_marginTop">3px</dimen>
|
||||
<dimen name="module_services_panel_item_distance_tag_marginBottom">3px</dimen>
|
||||
</resources>
|
||||
@@ -53,4 +53,6 @@
|
||||
<dimen name="module_services_empty_tip_marginTop">17px</dimen>
|
||||
<dimen name="module_services_panel_strategy_button_marginTop">108px</dimen>
|
||||
<dimen name="module_services_panel_item_corner">22.5px</dimen>
|
||||
<dimen name="module_services_panel_item_nickname_marginTop">6px</dimen>
|
||||
<dimen name="module_services_panel_item_distance_tag_marginBottom">6px</dimen>
|
||||
</resources>
|
||||
@@ -53,4 +53,6 @@
|
||||
<dimen name="module_services_empty_tip_marginTop">28px</dimen>
|
||||
<dimen name="module_services_panel_strategy_button_marginTop">60px</dimen>
|
||||
<dimen name="module_services_panel_item_corner">22.5px</dimen>
|
||||
<dimen name="module_services_panel_item_nickname_marginTop">6px</dimen>
|
||||
<dimen name="module_services_panel_item_distance_tag_marginBottom">6px</dimen>
|
||||
</resources>
|
||||
@@ -53,4 +53,6 @@
|
||||
<dimen name="module_services_empty_tip_marginTop">17px</dimen>
|
||||
<dimen name="module_services_panel_strategy_button_marginTop">60px</dimen>
|
||||
<dimen name="module_services_panel_item_corner">12.5px</dimen>
|
||||
<dimen name="module_services_panel_item_nickname_marginTop">3px</dimen>
|
||||
<dimen name="module_services_panel_item_distance_tag_marginBottom">3px</dimen>
|
||||
</resources>
|
||||
@@ -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<String, String> 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;
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
@file:Suppress("DEPRECATION")
|
||||
|
||||
package com.mogo.module.share
|
||||
|
||||
import android.content.Context
|
||||
|
||||
@@ -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<Intent>) 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<? extends MarkerExploreWay> 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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
@file:Suppress("DEPRECATION")
|
||||
|
||||
package com.zhidao.mogo.module.splash
|
||||
|
||||
import android.content.Context
|
||||
|
||||
@@ -22,7 +22,7 @@ android {
|
||||
}
|
||||
}
|
||||
ndk {
|
||||
abiFilters "armeabi", "armeabi-v7a", "arm64-v8a"
|
||||
abiFilters "armeabi-v7a"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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<T>
|
||||
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<T>
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -147,7 +147,7 @@ public class V2XEventUgcVH extends V2XBaseViewHolder<V2XEventShowEntity> {
|
||||
* 对道路事件进行反馈
|
||||
*/
|
||||
void manualMarkingTrafficJam(int status) {
|
||||
AIAssist.getInstance(V2XUtils.getApp()).speakTTSVoice("已反馈", null);
|
||||
AIAssist.getInstance(V2XUtils.getApp()).speakTTSVoice("谢谢,您的反馈将帮助更多车友。", null);
|
||||
V2XServiceManager
|
||||
.getV2XRefreshModel()
|
||||
.manualMarkingTrafficJam(
|
||||
|
||||
@@ -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<V2XEventShowEntity> {
|
||||
|
||||
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())
|
||||
|
||||
@@ -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 回调,显示对话框
|
||||
|
||||
@@ -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<V2XHistoryScenarioData> mScenarioHistoryDao;
|
||||
|
||||
/**
|
||||
* 点赞数据管理
|
||||
*/
|
||||
private static SQLIDao<V2XEventZanData> mV2XEventZanDao;
|
||||
|
||||
/**
|
||||
* 场景数据管理
|
||||
*/
|
||||
@@ -36,6 +42,21 @@ public class V2XSQLiteUtils {
|
||||
return mScenarioHistoryDao;
|
||||
}
|
||||
|
||||
/**
|
||||
* 点赞数据管理
|
||||
*/
|
||||
public static SQLIDao<V2XEventZanData> 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<V2XEventZanData> getEventZanData() {
|
||||
return getV2XEventZanDao().query(new V2XEventZanData());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
/**
|
||||
* 点击回调
|
||||
|
||||
@@ -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 {
|
||||
/**
|
||||
* 点击回调
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_pressed="true">
|
||||
<shape android:shape="rectangle">
|
||||
<gradient android:angle="135" android:endColor="#3A435E" android:startColor="#525B7B" android:type="linear" />
|
||||
<corners android:radius="@dimen/dp_26" />
|
||||
</shape>
|
||||
</item>
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<gradient android:angle="135" android:endColor="#3A435E" android:startColor="#525B7B" android:type="linear" />
|
||||
<corners android:radius="@dimen/dp_26" />
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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" />
|
||||
|
||||
<ImageView
|
||||
@@ -56,7 +56,7 @@
|
||||
android:gravity="left"
|
||||
android:paddingRight="@dimen/dp_28"
|
||||
android:text="100"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textColor="@color/v2x_FFF_333"
|
||||
android:textSize="@dimen/dp_26" />
|
||||
|
||||
<ImageView
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
android:layout_height="@dimen/dp_88"
|
||||
android:layout_marginEnd="@dimen/dp_28"
|
||||
android:layout_marginBottom="@dimen/dp_40"
|
||||
android:background="@drawable/icon_window_close2"
|
||||
android:background="@drawable/v2x_panel_close"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent" />
|
||||
|
||||
|
||||
@@ -100,8 +100,8 @@
|
||||
<dimen name="module_v2x_event_parking_text_size">19px</dimen>
|
||||
<!--适配 V2X 弹窗 UI-->
|
||||
|
||||
<dimen name="module_v2x_event_panel_btn_x">574px</dimen>
|
||||
<dimen name="module_v2x_event_panel_in_launcher_btn_x">480px</dimen>
|
||||
<dimen name="module_v2x_event_panel_btn_x">572px</dimen>
|
||||
<dimen name="module_v2x_event_panel_in_launcher_btn_x">486px</dimen>
|
||||
<dimen name="module_v2x_event_panel_btn_y">384px</dimen>
|
||||
|
||||
<!---->
|
||||
|
||||
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 822 B After Width: | Height: | Size: 701 B |
|
Before Width: | Height: | Size: 771 B After Width: | Height: | Size: 486 B |
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="module_commons_FFF_333_light">#333333</color>
|
||||
</resources>
|
||||
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_pressed="true">
|
||||
<shape android:shape="rectangle">
|
||||
<gradient android:angle="135" android:endColor="#E6DEDEDE" android:startColor="#E6DEDEDE" android:type="linear" />
|
||||
<corners android:radius="@dimen/dp_26" />
|
||||
</shape>
|
||||
</item>
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<gradient android:angle="135" android:endColor="#E6DEDEDE" android:startColor="#E6DEDEDE" android:type="linear" />
|
||||
<corners android:radius="@dimen/dp_26" />
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
||||
@@ -4,8 +4,8 @@
|
||||
<corners android:radius="@dimen/dp_21"/>
|
||||
|
||||
<gradient
|
||||
android:startColor="#B31F7EFF"
|
||||
android:endColor="#B31E57A4"
|
||||
android:startColor="#579EFF"
|
||||
android:endColor="#357BDA"
|
||||
android:type="linear"
|
||||
android:angle="180"/>
|
||||
|
||||
|
||||
10
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
|
||||