Merge remote-tracking branch 'origin/dev' into dev
# Conflicts: # modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java
3
.idea/gradle.xml
generated
@@ -31,9 +31,6 @@
|
||||
<option value="$PROJECT_DIR$/modules/mogo-module-back" />
|
||||
<option value="$PROJECT_DIR$/modules/mogo-module-common" />
|
||||
<option value="$PROJECT_DIR$/modules/mogo-module-extensions" />
|
||||
<option value="$PROJECT_DIR$/modules/mogo-module-gps-simulator" />
|
||||
<option value="$PROJECT_DIR$/modules/mogo-module-gps-simulator-debug" />
|
||||
<option value="$PROJECT_DIR$/modules/mogo-module-gps-simulator-noop" />
|
||||
<option value="$PROJECT_DIR$/modules/mogo-module-guide" />
|
||||
<option value="$PROJECT_DIR$/modules/mogo-module-left-panel" />
|
||||
<option value="$PROJECT_DIR$/modules/mogo-module-left-panel-noop" />
|
||||
|
||||
@@ -121,6 +121,8 @@ android {
|
||||
buildConfigField 'boolean', 'IS_MAP_BASED', 'true'
|
||||
// 是否加载引导模块
|
||||
buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'true'
|
||||
// 分享时是否隐藏 adas
|
||||
buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'false'
|
||||
|
||||
}
|
||||
// f系列-分体机
|
||||
@@ -144,6 +146,8 @@ android {
|
||||
buildConfigField 'boolean', 'IS_MAP_BASED', 'true'
|
||||
// 是否加载引导模块
|
||||
buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'true'
|
||||
// 分享时是否隐藏 adas
|
||||
buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'false'
|
||||
}
|
||||
// e系列,采用Launcher方案
|
||||
e8xx {
|
||||
@@ -166,6 +170,8 @@ android {
|
||||
buildConfigField 'boolean', 'IS_MAP_BASED', 'true'
|
||||
// 是否加载引导模块
|
||||
buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'true'
|
||||
// 分享时是否隐藏 adas
|
||||
buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'false'
|
||||
}
|
||||
// 同上
|
||||
em4 {
|
||||
@@ -188,6 +194,8 @@ android {
|
||||
buildConfigField 'boolean', 'IS_MAP_BASED', 'true'
|
||||
// 是否加载引导模块
|
||||
buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'true'
|
||||
// 分享时是否隐藏 adas
|
||||
buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'false'
|
||||
}
|
||||
// e系列-2+32,对标D系列2+32,采用独立app的形式
|
||||
em3 {
|
||||
@@ -210,6 +218,8 @@ android {
|
||||
buildConfigField 'boolean', 'IS_MAP_BASED', 'true'
|
||||
// 是否加载引导模块
|
||||
buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'true'
|
||||
// 分享时是否隐藏 adas
|
||||
buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'false'
|
||||
}
|
||||
// e系列-1+16,对标D系列1+16,采用独立app形式
|
||||
em1 {
|
||||
@@ -232,6 +242,8 @@ android {
|
||||
buildConfigField 'boolean', 'IS_MAP_BASED', 'false'
|
||||
// 是否加载引导模块
|
||||
buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'false'
|
||||
// 分享时是否隐藏 adas
|
||||
buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'false'
|
||||
}
|
||||
// e系列-1+16,对标D系列1+16,采用独立app形式
|
||||
em2 {
|
||||
@@ -254,6 +266,8 @@ android {
|
||||
buildConfigField 'boolean', 'IS_MAP_BASED', 'false'
|
||||
// 是否加载引导模块
|
||||
buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'false'
|
||||
// 分享时是否隐藏 adas
|
||||
buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'false'
|
||||
}
|
||||
// d系列
|
||||
d8xx {
|
||||
@@ -276,6 +290,8 @@ android {
|
||||
buildConfigField 'boolean', 'IS_MAP_BASED', 'true'
|
||||
// 是否加载引导模块
|
||||
buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'true'
|
||||
// 分享时是否隐藏 adas
|
||||
buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'true'
|
||||
}
|
||||
// d系列 2 + 32
|
||||
d80x {
|
||||
@@ -298,6 +314,8 @@ android {
|
||||
buildConfigField 'boolean', 'IS_MAP_BASED', 'true'
|
||||
// 是否加载引导模块
|
||||
buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'true'
|
||||
// 分享时是否隐藏 adas
|
||||
buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'true'
|
||||
}
|
||||
// d系列 1+16 版本
|
||||
d82x {
|
||||
@@ -320,6 +338,8 @@ android {
|
||||
buildConfigField 'boolean', 'IS_MAP_BASED', 'false'
|
||||
// 是否加载引导模块
|
||||
buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'false'
|
||||
// 分享时是否隐藏 adas
|
||||
buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'true'
|
||||
}
|
||||
// 比亚迪
|
||||
bydauto {
|
||||
@@ -342,6 +362,8 @@ android {
|
||||
buildConfigField 'boolean', 'IS_MAP_BASED', 'true'
|
||||
// 是否加载引导模块
|
||||
buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'true'
|
||||
// 分享时是否隐藏 adas
|
||||
buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'false'
|
||||
}
|
||||
qa {
|
||||
dimension "env"
|
||||
@@ -425,7 +447,7 @@ dependencies {
|
||||
apply from: "./functions/perform.gradle"
|
||||
apply from: "./functions/baseservices.gradle"
|
||||
apply from: "./functions/socketpush.gradle"
|
||||
apply from: "./functions/gpssimulator.gradle"
|
||||
// apply from: "./functions/gpssimulator.gradle"
|
||||
apply from: "./functions/leftpanel.gradle"
|
||||
apply from: "./functions/skin.gradle"
|
||||
apply from: "./functions/crashreport.gradle"
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
project.dependencies {
|
||||
if (Boolean.valueOf(RELEASE)) {
|
||||
debugImplementation rootProject.ext.dependencies.gpssimulatordebug
|
||||
debugImplementation rootProject.ext.dependencies.gpssimulatornoop
|
||||
releaseImplementation rootProject.ext.dependencies.gpssimulatornoop
|
||||
} else {
|
||||
debugImplementation project(':modules:mogo-module-gps-simulator-debug')
|
||||
debugImplementation project(':modules:mogo-module-gps-simulator-noop')
|
||||
releaseImplementation project(':modules:mogo-module-gps-simulator-noop')
|
||||
}
|
||||
}
|
||||
@@ -86,7 +86,6 @@ public class MogoApplication extends AbsMogoApplication {
|
||||
MogoModulePaths.addBaseModule( new MogoModule( V2XConst.PATH_V2X_UI, V2XConst.MODULE_NAME ) );
|
||||
MogoModulePaths.addBaseModule( new MogoModule( MogoServicePaths.PATH_STRATEGY_SHARE, "StrategyShare" ) );
|
||||
MogoModulePaths.addBaseModule( new MogoModule( MogoServicePaths.PATH_GAODE_AIMLESS_SHARE, "GaoDeAimlessShare" ) );
|
||||
MogoModulePaths.addBaseModule( new MogoModule( MogoServicePaths.PATH_EVENT_PANEL, "EventPanel" ) );
|
||||
MogoModulePaths.addBaseModule( new MogoModule( MogoServicePaths.PATH_MOGO_MONITOR, "MogoMonitor" ) );
|
||||
MogoModulePaths.addModule( new MogoModule( PushUIConstants.PATH, PushUIConstants.NAME ) );
|
||||
|
||||
@@ -130,6 +129,7 @@ public class MogoApplication extends AbsMogoApplication {
|
||||
DebugConfig.setSupportLauncherCardRefreshStrategy( BuildConfig.IS_SUPPORT_LAUNCHER_CARD_REFRESH_STRATEGY );
|
||||
DebugConfig.setMapBased( BuildConfig.IS_MAP_BASED );
|
||||
DebugConfig.setNeedLoadGuideModule( BuildConfig.IS_NEED_LOAD_GUIDE_MODULE );
|
||||
DebugConfig.setNeedHideAdasWhenShare( BuildConfig.IS_NEED_HIDE_ADAS_WHEN_SHARE );
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -154,7 +154,7 @@ ext {
|
||||
gpssimulatornoop : "com.mogo.module:module-gps-simulator-noop:${MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION}",
|
||||
|
||||
adasapi : "com.zhidao.autopilot.support:adas:1.0.6.5",
|
||||
adasconfigapi : "com.zhidao.adasconfig:adasconfig:1.1.5",
|
||||
adasconfigapi : "com.zhidao.adasconfig:adasconfig:1.1.5.2",
|
||||
|
||||
// 个人中心的SDK
|
||||
personalsdk : "com.zhidaoauto.person.info:data:1.0.1",
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package com.mogo.commons.debug;
|
||||
|
||||
import com.mogo.utils.logger.Logger;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2019-12-23
|
||||
@@ -318,4 +316,14 @@ public class DebugConfig {
|
||||
public static boolean isNeedLoadGuideModule() {
|
||||
return isNeedLoadGuideModule;
|
||||
}
|
||||
|
||||
private static boolean isNeedHideAdasWhenShare = false;
|
||||
|
||||
public static boolean isNeedHideAdasWhenShare() {
|
||||
return isNeedHideAdasWhenShare;
|
||||
}
|
||||
|
||||
public static void setNeedHideAdasWhenShare( boolean isNeedHideAdas ) {
|
||||
DebugConfig.isNeedHideAdasWhenShare = isNeedHideAdas;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -129,7 +129,7 @@ TTS_NOOP_VERSION=2.0.7
|
||||
|
||||
######## 外部依赖引用
|
||||
# 车聊聊
|
||||
CARCHATTING_VERSION=1.6.8-SNAPSHOT
|
||||
CARCHATTING_VERSION=1.8.5-SNAPSHOT
|
||||
# 车聊聊接口
|
||||
CARCHATTINGPROVIDER_VERSION=1.1.7
|
||||
# loglib
|
||||
|
||||
@@ -460,9 +460,11 @@ public class AMapNaviViewWrapper implements IMogoMapView,
|
||||
break;
|
||||
case Type_Light:
|
||||
options.setNaviNight( false );
|
||||
options.setAutoNaviViewNightMode( false );
|
||||
break;
|
||||
case Type_Night:
|
||||
options.setNaviNight( true );
|
||||
options.setAutoNaviViewNightMode( false );
|
||||
break;
|
||||
case Type_AUTO_LIGHT_Night:
|
||||
options.setNaviNight( false );
|
||||
@@ -875,6 +877,12 @@ public class AMapNaviViewWrapper implements IMogoMapView,
|
||||
try {
|
||||
LatLngBounds latLngBounds = MogoMapUtils.getLatLngBounds( carPosition, lonLats, lockCarPosition );
|
||||
if ( !lockCarPosition ) {
|
||||
changeMyLocationType2UnFollow();
|
||||
try {
|
||||
bnHooker.clearAllMessages();
|
||||
} catch ( Exception e ) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
loseLockMode();
|
||||
}
|
||||
mMapView.getMap().moveCamera( CameraUpdateFactory.newLatLngBoundsRect( latLngBounds, bound.left, bound.right, bound.top, bound.bottom ) );
|
||||
|
||||
@@ -1,14 +1,8 @@
|
||||
package com.zhidao.roadcondition.model
|
||||
|
||||
class CityStrategy {
|
||||
|
||||
var video: Video
|
||||
var pic: Pic
|
||||
|
||||
constructor(video: Video, pic: Pic) {
|
||||
this.video = video
|
||||
this.pic = pic
|
||||
}
|
||||
class CityStrategy(video: Video, pic: Pic) {
|
||||
var video: Video? = video
|
||||
var pic: Pic? = pic
|
||||
}
|
||||
|
||||
fun Video.getMaxSpeed(): Int {
|
||||
|
||||
@@ -3,6 +3,4 @@ package com.zhidao.roadcondition.model
|
||||
/**
|
||||
* 城市策略实体
|
||||
*/
|
||||
class Results(var cityStrategy: CityStrategy) {
|
||||
|
||||
}
|
||||
class Results(var cityStrategy: CityStrategy)
|
||||
@@ -18,7 +18,7 @@ class ResponseFunction<T> : Function<BaseResponse<T>, T> {
|
||||
}
|
||||
|
||||
override fun apply(t: BaseResponse<T>): T {
|
||||
if (t == null || !t.isSuccess(baseUrl)) {
|
||||
if (!t.isSuccess(baseUrl)) {
|
||||
throw ApiException(t.code, t.msg)
|
||||
}
|
||||
return t.result
|
||||
|
||||
@@ -45,7 +45,7 @@ object CosCallbackMapController : CosStatusCallback {
|
||||
|
||||
fun unregisterCallbacks(paths: Map<String, String>?) {
|
||||
paths?.let {
|
||||
it?.keys?.let { keys ->
|
||||
it.keys.let { keys ->
|
||||
keys.forEach { path ->
|
||||
unregisterCallback(path)
|
||||
}
|
||||
@@ -54,9 +54,7 @@ object CosCallbackMapController : CosStatusCallback {
|
||||
}
|
||||
|
||||
override fun onStartUpload(eventId: String?, localPath: String?) {
|
||||
map[localPath]?.let {
|
||||
it.onStartUpload(eventId, localPath)
|
||||
}
|
||||
map[localPath]?.onStartUpload(eventId, localPath)
|
||||
}
|
||||
|
||||
override fun uploadCosFailed(cosPath: String?, eventId: String?, localPath: String?) {
|
||||
|
||||
@@ -75,7 +75,7 @@ class CosStatusController : CosStatusCallback {
|
||||
|
||||
private fun sendGetInfoFailedReceiver(type: String) {
|
||||
Log.d(CarCorderController.TAG, "sendGetInfoFailedReceiver ------>")
|
||||
var intent = Intent()
|
||||
val intent = Intent()
|
||||
intent.action = "com.zhidao.roadcondition.getinfo.failed"
|
||||
intent.putExtra("type", type)
|
||||
AbsMogoApplication.getApp().applicationContext.sendBroadcast(intent)
|
||||
@@ -95,11 +95,11 @@ class CosStatusController : CosStatusCallback {
|
||||
// }
|
||||
// }
|
||||
} else {
|
||||
if (localPath!!.endsWith("mp4") || localPath!!.contains("Thumbnail")) {
|
||||
if (localPath!!.endsWith("mp4") || localPath.contains("Thumbnail")) {
|
||||
CosCallbackMapController.uploadFailed?.invoke()
|
||||
}
|
||||
CosCallbackMapController.unregisterCallback(localPath)
|
||||
InformationUploadController.release(entity?.id)
|
||||
InformationUploadController.release(entity.id)
|
||||
// deletePicFile(localPath)
|
||||
}
|
||||
}
|
||||
@@ -114,7 +114,7 @@ class CosStatusController : CosStatusCallback {
|
||||
Log.d(TAG, "uploadCosCompleted downloadUrl = $downloadUrl")
|
||||
Log.d(TAG, "uploadCosCompleted cosPath = $cosPath")
|
||||
trackUploadCos(1)
|
||||
if (localPath!!.endsWith("mp4") || localPath!!.contains("Thumbnail")) {
|
||||
if (localPath!!.endsWith("mp4") || localPath.contains("Thumbnail")) {
|
||||
//如果是视频文件或者缩略图文件
|
||||
if (localPath.endsWith("mp4")) {
|
||||
videoAndThumbMap["video"] = downloadUrl!!
|
||||
@@ -127,7 +127,7 @@ class CosStatusController : CosStatusCallback {
|
||||
if (videoAndThumbMap.size == 2) {
|
||||
trackUploadCos(4)
|
||||
Log.d(TAG, "videoAndThumbMap.size == 2 ")
|
||||
var locationInfo = LocationUtil.getInstance().getLocationInfo()
|
||||
val locationInfo = LocationUtil.getInstance().getLocationInfo()
|
||||
val locationStr: String = Gson().toJson(locationInfo)
|
||||
Log.d(TAG, "locationStr = $locationStr")
|
||||
//上传录像以及缩略图成功
|
||||
@@ -155,7 +155,7 @@ class CosStatusController : CosStatusCallback {
|
||||
}
|
||||
|
||||
private fun sendInformation(type: Int, map: Map<String, String>) {
|
||||
Log.d(TAG, "isCustomSend = ${entity?.isCustom}")
|
||||
Log.d(TAG, "isCustomSend = ${entity.isCustom}")
|
||||
// if (entity?.isCustom) {
|
||||
// InformationUploadController.cosResourceReady(type, map, entity?.isCustom, entity?.id) {
|
||||
// CosCallbackMapController.mainService?.sendCustomResult(it)
|
||||
|
||||
@@ -75,7 +75,7 @@ object InformationUploadController {
|
||||
}
|
||||
}
|
||||
|
||||
private fun tryUploadInformation(ir: InformationResource?) {
|
||||
// private fun tryUploadInformation(ir: InformationResource?) {
|
||||
// synchronized(locker) {
|
||||
// ir?.let {
|
||||
// if (!it.isReady()) {
|
||||
@@ -106,7 +106,7 @@ object InformationUploadController {
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
}
|
||||
// }
|
||||
|
||||
fun release(id: Long) {
|
||||
val target = informationCache.remove(id)
|
||||
|
||||
@@ -75,15 +75,8 @@ class MainService : Service() {
|
||||
private var mLatitude: Double = 0.0
|
||||
lateinit var serviceApis: IMogoServiceApis
|
||||
|
||||
//发送主动上报结果广播给外部
|
||||
// fun sendCustomResult(result: Boolean) {
|
||||
// var intent = Intent(customResultAction)
|
||||
// intent.putExtra("isSuccess", result)
|
||||
// sendBroadcast(intent)
|
||||
// }
|
||||
|
||||
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
|
||||
Log.d(TAG, "onStartCommand -----------> ")
|
||||
//清理多媒体资源和sp策略数据
|
||||
clearStrategyType(this)
|
||||
//初始化埋点
|
||||
@@ -95,7 +88,7 @@ class MainService : Service() {
|
||||
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" )
|
||||
Log.d(TAG, "onStartCommand speed = $speed")
|
||||
if (intent != null) {
|
||||
params = intent.getParcelableExtra("params")
|
||||
params?.let {
|
||||
@@ -105,18 +98,12 @@ class MainService : Service() {
|
||||
mLongitude = it.lon
|
||||
mLatitude = it.lat
|
||||
Log.d(TAG, "onStartCommand shareType = $shareType --fromType = $fromType --mainInfoId = $mainInfoId -- mLongitude = $mLongitude --mLatitude = $mLatitude --it.duration = ${it.duration} ")
|
||||
// if (shareType == TANLU_ROAD_CONGESTION || shareType == TANLU_TRAFFIC_CHECK || shareType == TANLU_ROAD_CLOSURE || shareType == TANLU_ROAD_CURRENT
|
||||
// || shareType == TANLU_ROAD_PONDING || shareType == TANLU_ROAD_ICING || shareType == TANLU_ROAD_HEAVY_FOG
|
||||
// || shareType == TANLU_ROAD_ACCIDENT || shareType == TANLU_ROAD_WORK
|
||||
// ) {
|
||||
// takePhoto(1, false, true)
|
||||
if (fromType == UPLOAD_FROM_STRATEGY_ACCIDENT_AUTO || fromType == UPLOAD_FROM_STRATEGY_BLOCK_AUTO) {
|
||||
// 如果是策略上报,isCustom = false
|
||||
takeVideo(it.duration)
|
||||
} else {
|
||||
takeVideo(it.duration, isCustom = true, id = id)
|
||||
}
|
||||
// }
|
||||
if (fromType == UPLOAD_FROM_STRATEGY_ACCIDENT_AUTO || fromType == UPLOAD_FROM_STRATEGY_BLOCK_AUTO) {
|
||||
// 如果是策略上报,isCustom = false
|
||||
takeVideo(it.duration)
|
||||
} else {
|
||||
takeVideo(it.duration, isCustom = true, id = id)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Log.e(TAG, "intent == null ")
|
||||
@@ -132,11 +119,10 @@ class MainService : Service() {
|
||||
if (p1.action == alarmBroadAction) {
|
||||
if (p1.getIntExtra("AlarmType", 1) == AlarmTypePic) {
|
||||
//拍照
|
||||
var number = p1.getLongExtra("number", 1)
|
||||
takePhoto(number, true)
|
||||
takePhoto(true)
|
||||
} else {
|
||||
//录像
|
||||
var duration = p1.getIntExtra("duration", 3)
|
||||
val duration = p1.getIntExtra("duration", 3)
|
||||
takeVideo(duration, true)
|
||||
}
|
||||
}
|
||||
@@ -211,20 +197,6 @@ class MainService : Service() {
|
||||
// )
|
||||
}
|
||||
|
||||
private fun sendMarkerInfoReceiver(lat: Double, lon: Double, imageUrl: String?, type: String?) {
|
||||
// Log.e("MainService", "sendMarkerInfoReceiver ------> type = $type ")
|
||||
// Log.e("MainService", "sendMarkerInfoReceiver ------> fromType = $fromType ")
|
||||
// Log.e("MainService", "sendMarkerInfoReceiver ------> isCustom = $isCustom ")
|
||||
// var intent = Intent()
|
||||
// intent.action = "com.zhidao.roadcondition.marker.info"
|
||||
// intent.putExtra("type", type)
|
||||
// intent.putExtra("imageUrl", imageUrl)
|
||||
// intent.putExtra("lat", lat)
|
||||
// intent.putExtra("lon", lon)
|
||||
// intent.putExtra("custom", isCustom)
|
||||
// intent.putExtra("fromType", fromType)
|
||||
// sendBroadcast(intent)
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化定位监听
|
||||
@@ -266,7 +238,7 @@ class MainService : Service() {
|
||||
Log.d("MainService", "handleReportStrategy picType = $picType ---videoType = $videoType")
|
||||
shareType = TANLU_ROAD_CURRENT
|
||||
if (picType == 1) {
|
||||
takePhoto(1)
|
||||
takePhoto()
|
||||
} else if (picType == 2) {
|
||||
postPhotoAlarmTask(true)
|
||||
}
|
||||
@@ -291,7 +263,7 @@ class MainService : Service() {
|
||||
}
|
||||
|
||||
//获取图片
|
||||
private fun takePhoto(picNum: Long, isInterval: Boolean = false, isCustom: Boolean = false) {
|
||||
private fun takePhoto(isInterval: Boolean = false, isCustom: Boolean = false) {
|
||||
Log.d("MainService", "takePhoto -----1----->")
|
||||
//判断是否授权
|
||||
// if (isAuthorization(BaseApplication.getAppContext())) {
|
||||
@@ -389,7 +361,7 @@ class MainService : Service() {
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
unregisterReceiver(mAlarmBroadCast)
|
||||
unregisterReceiver(mCustomSendBroadCast)
|
||||
// unregisterReceiver(mCustomSendBroadCast)
|
||||
CarCorderController.release()
|
||||
CosCallbackMapController.release()
|
||||
LatLngStickyEventBus.getInstance().unregister(this)
|
||||
|
||||
@@ -18,7 +18,7 @@ import kotlinx.coroutines.runBlocking
|
||||
class MainServiceController {
|
||||
|
||||
companion object {
|
||||
var TAG = this.javaClass.name
|
||||
var TAG = this::class.java.name
|
||||
}
|
||||
|
||||
//逆地理编码是否重试
|
||||
@@ -57,69 +57,69 @@ class MainServiceController {
|
||||
}
|
||||
|
||||
//将数据同步到sharePreference中
|
||||
fun syncStrategiesData(strategy: CityStrategy) {
|
||||
if (strategy?.pic != null && strategy.video!=null) {
|
||||
setStrategyType(AbsMogoApplication.getApp().applicationContext, strategy.pic.strategyType, "pic")
|
||||
setStrategyType(AbsMogoApplication.getApp().applicationContext, strategy.video.strategyType, "video")
|
||||
private fun syncStrategiesData(strategy: CityStrategy) {
|
||||
if (strategy.pic != null && strategy.video!=null) {
|
||||
setStrategyType(AbsMogoApplication.getApp().applicationContext, strategy.pic!!.strategyType, "pic")
|
||||
setStrategyType(AbsMogoApplication.getApp().applicationContext, strategy.video!!.strategyType, "video")
|
||||
setStrategyFrequency(
|
||||
AbsMogoApplication.getApp().applicationContext,
|
||||
strategy.pic.strategyType,
|
||||
strategy.pic!!.strategyType,
|
||||
"pic",
|
||||
strategy.pic.reportType
|
||||
strategy.pic!!.reportType
|
||||
)
|
||||
setStrategyFrequency(
|
||||
AbsMogoApplication.getApp().applicationContext,
|
||||
strategy.video.strategyType,
|
||||
strategy.video!!.strategyType,
|
||||
"video",
|
||||
strategy.video.reportType
|
||||
strategy.video!!.reportType
|
||||
)
|
||||
setStrategyInterval(
|
||||
AbsMogoApplication.getApp().applicationContext,
|
||||
strategy.pic.strategyType,
|
||||
strategy.pic!!.strategyType,
|
||||
"pic",
|
||||
strategy.pic.reportTimeInterval * 60 * 1000L
|
||||
strategy.pic!!.reportTimeInterval * 60 * 1000L
|
||||
)
|
||||
setStrategyInterval(
|
||||
AbsMogoApplication.getApp().applicationContext,
|
||||
strategy.video.strategyType,
|
||||
strategy.video!!.strategyType,
|
||||
"video",
|
||||
strategy.video.reportTimeInterval * 60 * 1000L
|
||||
strategy.video!!.reportTimeInterval * 60 * 1000L
|
||||
)
|
||||
setStrategyValidity(
|
||||
AbsMogoApplication.getApp().applicationContext,
|
||||
strategy.pic.strategyType,
|
||||
strategy.pic!!.strategyType,
|
||||
"pic",
|
||||
strategy.pic.infoTimeout
|
||||
strategy.pic!!.infoTimeout
|
||||
)
|
||||
setStrategyValidity(
|
||||
AbsMogoApplication.getApp().applicationContext,
|
||||
strategy.video.strategyType,
|
||||
strategy.video!!.strategyType,
|
||||
"video",
|
||||
strategy.video.infoTimeout
|
||||
strategy.video!!.infoTimeout
|
||||
)
|
||||
setStrategyMaxSpeed(
|
||||
AbsMogoApplication.getApp().applicationContext,
|
||||
strategy.pic.strategyType,
|
||||
strategy.pic!!.strategyType,
|
||||
"pic",
|
||||
strategy.pic.getMaxSpeed()
|
||||
strategy.pic!!.getMaxSpeed()
|
||||
)
|
||||
setStrategyMaxSpeed(
|
||||
AbsMogoApplication.getApp().applicationContext,
|
||||
strategy.video.strategyType,
|
||||
strategy.video!!.strategyType,
|
||||
"video",
|
||||
strategy.video.getMaxSpeed()
|
||||
strategy.video!!.getMaxSpeed()
|
||||
)
|
||||
setStrategyMinSpeed(
|
||||
AbsMogoApplication.getApp().applicationContext,
|
||||
strategy.pic.strategyType,
|
||||
strategy.pic!!.strategyType,
|
||||
"pic",
|
||||
strategy.pic.minSpeed
|
||||
strategy.pic!!.minSpeed
|
||||
)
|
||||
setStrategyMinSpeed(
|
||||
AbsMogoApplication.getApp().applicationContext,
|
||||
strategy.video.strategyType,
|
||||
strategy.video!!.strategyType,
|
||||
"video",
|
||||
strategy.video.minSpeed
|
||||
strategy.video!!.minSpeed
|
||||
)
|
||||
} else {
|
||||
Log.d(TAG, "strategy Data is null")
|
||||
@@ -145,8 +145,8 @@ class MainServiceController {
|
||||
mFromType = fromType
|
||||
mPoiType = poiType
|
||||
|
||||
var locationInfo = LocationUtil.getInstance().getLocationInfo()
|
||||
if (locationInfo.address.isNullOrEmpty()) {
|
||||
val locationInfo = LocationUtil.getInstance().getLocationInfo()
|
||||
if (locationInfo.address.isEmpty()) {
|
||||
Log.d(TAG, " sendInformationMessage locationInfo.address = $locationInfo.address")
|
||||
trackUploadGeo(1)
|
||||
geoLocation(type, url, locationInfo, isCustom,trafficInfoType, isShare, customSend,poiType,mainInfoId,speed, longitude,latitude)
|
||||
@@ -210,11 +210,9 @@ class MainServiceController {
|
||||
strategyeModel.uploadInformation(informationBody)
|
||||
}
|
||||
onSuccess {
|
||||
if (it.result != null) {
|
||||
Log.i(TAG, "upload success id = " + it.result.id)
|
||||
if (mFromType == "6") {
|
||||
sendUgcStatusReceiver(it.result.id, mPoiType, mFromType)
|
||||
}
|
||||
Log.i(TAG, "upload success id = " + it.result.id)
|
||||
if (mFromType == "6") {
|
||||
sendUgcStatusReceiver(it.result.id, mPoiType, mFromType)
|
||||
}
|
||||
trackUploadServer(1)
|
||||
customSend?.invoke(true)
|
||||
|
||||
@@ -39,8 +39,8 @@ const val CarNet_Geo:String = "CarNet_Geo_Location" //上传服务端, type=1开
|
||||
const val CarNet_live_broadcast = "CarNet_live_broadcast" // 地图页面点击直播(在线可直播车机)
|
||||
//自定义埋点
|
||||
@DebugLog
|
||||
fun trackNormalEvent(event: String, data: MutableMap<String, Any>?, context: Context = AbsMogoApplication.getApp().applicationContext) {
|
||||
var data = data
|
||||
fun trackNormalEvent(event: String, _data: MutableMap<String, Any>?, context: Context = AbsMogoApplication.getApp().applicationContext) {
|
||||
var data = _data
|
||||
if (data == null) {
|
||||
data = HashMap()
|
||||
}
|
||||
|
||||
@@ -138,10 +138,10 @@ fun getCompressVideoPath(): String {
|
||||
* 保存图片到本地
|
||||
*/
|
||||
fun saveImageToSdcard(bmp: Bitmap): Boolean {
|
||||
var currentFile: File
|
||||
lateinit var fos: FileOutputStream
|
||||
val currentFile: File
|
||||
var fos: FileOutputStream? = null
|
||||
|
||||
var picFile = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)
|
||||
val picFile = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)
|
||||
picFile.mkdirs()
|
||||
|
||||
val builder = StringBuilder()
|
||||
@@ -162,9 +162,7 @@ fun saveImageToSdcard(bmp: Bitmap): Boolean {
|
||||
return false
|
||||
} finally {
|
||||
try {
|
||||
if (fos != null) {
|
||||
fos.close()
|
||||
}
|
||||
fos?.close()
|
||||
} catch (e: IOException) {
|
||||
e.printStackTrace()
|
||||
return false
|
||||
|
||||
@@ -72,7 +72,7 @@ class LocationUtil private constructor() {
|
||||
private var locationClient: AMapLocationClient? = null
|
||||
private var locationOption: AMapLocationClientOption? = null
|
||||
private var speedListener: SpeedListener? = null
|
||||
private var locationInfo: LocationInfo = LocationInfo()
|
||||
private var locationInfo: LocationInfo? = null
|
||||
private var speed: Float = 0.0f
|
||||
|
||||
fun initLocation() {
|
||||
@@ -125,24 +125,21 @@ class LocationUtil private constructor() {
|
||||
*/
|
||||
private var locationListener: AMapLocationListener = AMapLocationListener { location ->
|
||||
if (null != location) {
|
||||
locationInfo.longitude = location.longitude
|
||||
locationInfo.latitude = location.latitude
|
||||
locationInfo.address = location.address
|
||||
locationInfo.time = location.time
|
||||
locationInfo.provinceName = location.province
|
||||
locationInfo.cityName = location.city
|
||||
locationInfo.cityCode = location.cityCode
|
||||
locationInfo.areaName = location.district
|
||||
locationInfo.areaCode = location.adCode
|
||||
locationInfo.street = location.street
|
||||
locationInfo.direction = location.bearing
|
||||
listener?.let {
|
||||
it.onChanged(locationInfo)
|
||||
}
|
||||
locationInfo = LocationInfo()
|
||||
locationInfo!!.longitude = location.longitude
|
||||
locationInfo!!.latitude = location.latitude
|
||||
locationInfo!!.address = location.address
|
||||
locationInfo!!.time = location.time
|
||||
locationInfo!!.provinceName = location.province
|
||||
locationInfo!!.cityName = location.city
|
||||
locationInfo!!.cityCode = location.cityCode
|
||||
locationInfo!!.areaName = location.district
|
||||
locationInfo!!.areaCode = location.adCode
|
||||
locationInfo!!.street = location.street
|
||||
locationInfo!!.direction = location.bearing
|
||||
listener?.onChanged(locationInfo!!)
|
||||
speed = location.speed
|
||||
speedListener?.let {
|
||||
it.onSpeedGet(location.speed)
|
||||
}
|
||||
speedListener?.onSpeedGet(location.speed)
|
||||
} else {
|
||||
Log.d(TAG, "定位失败 -> location is null")
|
||||
}
|
||||
@@ -160,13 +157,12 @@ class LocationUtil private constructor() {
|
||||
|
||||
fun getLocationInfo(): LocationInfo {
|
||||
return if (null != locationInfo) {
|
||||
locationInfo
|
||||
locationInfo!!
|
||||
} else {
|
||||
if (null == locationClient) {
|
||||
locationClient = AMapLocationClient(mContext)
|
||||
this.locationClient = locationClient
|
||||
}
|
||||
var location = locationClient!!.lastKnownLocation
|
||||
val location = locationClient!!.lastKnownLocation
|
||||
location.toLocInfo(location)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.zhidao.roadcondition.util
|
||||
|
||||
import kotlinx.coroutines.*
|
||||
|
||||
@ObsoleteCoroutinesApi
|
||||
@PublishedApi
|
||||
internal var ThreadPool =
|
||||
newFixedThreadPoolContext(Runtime.getRuntime().availableProcessors() * 2, "ThreadPool")
|
||||
@@ -11,16 +12,17 @@ internal var ThreadPool =
|
||||
* 在主线程中顺序执行,协程函数,一般用于最外层
|
||||
* 该函数会阻塞代码继续执行
|
||||
*/
|
||||
inline fun taskBlockOnMainThread(delayTime: Long = 0, noinline job: suspend () -> Unit) = runBlocking {
|
||||
delay(delayTime)
|
||||
job()
|
||||
}
|
||||
//inline fun taskBlockOnMainThread(delayTime: Long = 0, noinline job: suspend () -> Unit) = runBlocking {
|
||||
// delay(delayTime)
|
||||
// job()
|
||||
//}
|
||||
|
||||
/**
|
||||
* 并发执行,常用于最外层
|
||||
* 特点带返回值
|
||||
*/
|
||||
inline fun <T> taskAsync(delayTime: Long = 0, noinline job: suspend () -> T) = GlobalScope.async(ThreadPool) {
|
||||
@ObsoleteCoroutinesApi
|
||||
fun <T> taskAsync(delayTime: Long = 0, job: suspend () -> T) = GlobalScope.async(ThreadPool) {
|
||||
delay(delayTime)
|
||||
job()
|
||||
}
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
<dimen name="module_apps_navigator_icon_width">160px</dimen>
|
||||
<dimen name="module_apps_navigator_icon_height">160px</dimen>
|
||||
<dimen name="module_apps_navigator_icon_divider">30px</dimen>
|
||||
<dimen name="module_apps_navigator_icon_divider">10px</dimen>
|
||||
<dimen name="module_apps_voice_icon_width">100px</dimen>
|
||||
<dimen name="module_apps_voice_icon_height">100px</dimen>
|
||||
</resources>
|
||||
@@ -66,15 +66,15 @@ class CallChatApi {
|
||||
driverInfo.setSn( onlineCar.getUserInfo().getSn() );
|
||||
driverInfo.setUserHead( onlineCar.getUserInfo().getUserHead() );
|
||||
driverInfo.setUserName( onlineCar.getUserInfo().getUserName() );
|
||||
mApiProvider.showUserWindow( TAG, driverInfo, context );
|
||||
if ( mApiProvider != null ) {
|
||||
mApiProvider.showUserWindow( TAG, driverInfo, context );
|
||||
}
|
||||
}
|
||||
|
||||
public void hideUserWindow( Context context ) {
|
||||
if ( mApiProvider != null ) {
|
||||
if ( mApiProvider == null ) {
|
||||
Logger.e( TAG, "no call chat api instance." );
|
||||
return;
|
||||
}
|
||||
if ( mApiProvider == null ) {
|
||||
Logger.e( TAG, "no call chat api instance." );
|
||||
return;
|
||||
}
|
||||
mApiProvider.hideUserWindow( TAG, context, null );
|
||||
}
|
||||
|
||||
@@ -77,6 +77,11 @@ public class CustomRatingBar extends LinearLayout {
|
||||
* */
|
||||
private StepSize stepSize;
|
||||
|
||||
/*
|
||||
*添加资源(空白心是白色还是灰色自定义属性)
|
||||
* */
|
||||
private boolean otherHeartImg;
|
||||
|
||||
@Override
|
||||
public boolean isClickable() {
|
||||
return mClickable;
|
||||
@@ -159,14 +164,21 @@ public class CustomRatingBar extends LinearLayout {
|
||||
context.getResources().getDimension(R.dimen.heart_ratingbar_height));
|
||||
elementPadding = mTypedArray.getDimension(R.styleable.CustomRatingBar_elenmentPadding,
|
||||
context.getResources().getDimension(R.dimen.ratingbar_padding));
|
||||
/*
|
||||
* 白天模式下 热心指数(白色)和个人中心(灰色)使用不同的资源
|
||||
* 默认灰色
|
||||
* */
|
||||
otherHeartImg = mTypedArray.getBoolean(R.styleable.CustomRatingBar_OtherHeartImg, true);
|
||||
|
||||
elementStep = mTypedArray.getFloat(R.styleable.CustomRatingBar_elenmentStep, 1.0f);
|
||||
stepSize = StepSize.fromStep(mTypedArray.getInt(R.styleable.CustomRatingBar_stepSize, 1));
|
||||
elementCount = mTypedArray.getInteger(R.styleable.CustomRatingBar_elenmentCount, 5);
|
||||
stepSize = StepSize.Half;
|
||||
|
||||
Drawable drawable_empty_default = ContextCompat.getDrawable(context, R.drawable.icon_heart_unchoose);
|
||||
Drawable drawable_harf_default = ContextCompat.getDrawable(context, R.drawable.icon_heart_second);
|
||||
Drawable drawable_empty_default = ContextCompat.getDrawable(context,
|
||||
otherHeartImg == false ? R.drawable.icon_heart_unchoose : R.drawable.icon_heart_unchoose_other);
|
||||
Drawable drawable_half_default = ContextCompat.getDrawable(context,
|
||||
otherHeartImg == false ? R.drawable.icon_heart_second : R.drawable.icon_heart_second_other);
|
||||
Drawable drawable_fill_default = ContextCompat.getDrawable(context, R.drawable.icon_heart_choose);
|
||||
|
||||
Drawable drawable_empty = mTypedArray.getDrawable(R.styleable.CustomRatingBar_elenmentEmpty);
|
||||
@@ -175,7 +187,7 @@ public class CustomRatingBar extends LinearLayout {
|
||||
|
||||
elementEmptyDrawable = drawable_empty != null ? drawable_empty : drawable_empty_default;
|
||||
elementFillDrawable = drawable_half != null ? drawable_half : drawable_fill_default;
|
||||
elementHarfDrawable = drawable_fill != null ? drawable_fill : drawable_harf_default;
|
||||
elementHarfDrawable = drawable_fill != null ? drawable_fill : drawable_half_default;
|
||||
mClickable = mTypedArray.getBoolean(R.styleable.CustomRatingBar_clickable, false);
|
||||
mTypedArray.recycle();
|
||||
for (int i = 0; i < elementCount; ++i) {
|
||||
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 822 B |
|
After Width: | Height: | Size: 771 B |
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@drawable/module_common_icon_close_press" android:state_pressed="true" />
|
||||
<item android:drawable="@drawable/module_common_icon_close" android:state_pressed="false" />
|
||||
<item android:drawable="@drawable/module_common_icon_close" />
|
||||
</selector>
|
||||
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
@@ -38,6 +38,7 @@
|
||||
<enum name="Half" value="0" />
|
||||
<enum name="Full" value="1" />
|
||||
</attr>
|
||||
<attr name="OtherHeartImg" format="boolean" />
|
||||
|
||||
</declare-styleable>
|
||||
</resources>
|
||||
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<style name="BaseFloatDialogStyle" parent="@android:style/Theme.Dialog">
|
||||
<item name="android:windowIsFloating">true</item>
|
||||
<item name="android:windowFrame">@null</item>
|
||||
@@ -15,8 +16,6 @@
|
||||
<item name="android:borderlessButtonStyle">@android:color/transparent</item>
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
<style name="customHeartHeartRatingBarStyle" parent="@style/Widget.AppCompat.RatingBar">
|
||||
<item name="android:maxWidth">@dimen/heart_ratingbar_width</item>
|
||||
<item name="android:minWidth">@dimen/heart_ratingbar_width</item>
|
||||
@@ -28,5 +27,4 @@
|
||||
<item name="android:progressDrawable">@drawable/module_commons_heart_ratingbar_drawable</item>
|
||||
</style>
|
||||
|
||||
|
||||
</resources>
|
||||
@@ -47,7 +47,7 @@ import java.util.List;
|
||||
* <p>
|
||||
* 描述:加载各个模块
|
||||
*/
|
||||
public class MainActivity extends MvpActivity<MainView, MainPresenter> implements MainView,
|
||||
public class MainActivity extends MvpActivity< MainView, MainPresenter > implements MainView,
|
||||
IMogoLocationListener,
|
||||
IMogoMarkerClickListener,
|
||||
IMogoADASControlStatusChangedListener {
|
||||
@@ -69,16 +69,16 @@ public class MainActivity extends MvpActivity<MainView, MainPresenter> implement
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
if (!DebugConfig.isMapBased()) {
|
||||
if ( !DebugConfig.isMapBased() ) {
|
||||
return R.layout.module_main_activity_main_no_map;
|
||||
}
|
||||
return R.layout.module_main_activity_main;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void beforeSetContentView(Bundle savedInstanceState) {
|
||||
protected void beforeSetContentView( Bundle savedInstanceState ) {
|
||||
init();
|
||||
installSkinManager(savedInstanceState);
|
||||
installSkinManager( savedInstanceState );
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -86,120 +86,120 @@ public class MainActivity extends MvpActivity<MainView, MainPresenter> implement
|
||||
*
|
||||
* @param savedInstanceState
|
||||
*/
|
||||
private void installSkinManager(Bundle savedInstanceState) {
|
||||
mServiceApis.getMapServiceApi().getMapViewInstanceHandler().createMapViewInstance(this);
|
||||
mServiceApis.getSkinSupportInstallerApi().install(getApplication());
|
||||
mServiceApis.getSkinSupportInstallerApi().onCompensateActivityCreated(this, savedInstanceState);
|
||||
private void installSkinManager( Bundle savedInstanceState ) {
|
||||
mServiceApis.getMapServiceApi().getMapViewInstanceHandler().createMapViewInstance( this );
|
||||
mServiceApis.getSkinSupportInstallerApi().install( getApplication() );
|
||||
mServiceApis.getSkinSupportInstallerApi().onCompensateActivityCreated( this, savedInstanceState );
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initViews() {
|
||||
|
||||
getWindow().setBackgroundDrawable(null);
|
||||
getWindow().setBackgroundDrawable( null );
|
||||
|
||||
mApps = findViewById(R.id.module_main_id_apps_fragment_container);
|
||||
mEntrance = findViewById(R.id.module_main_id_entrance_fragment_container);
|
||||
mEventPanel = findViewById(R.id.module_main_id_event_panel_fragment_container);
|
||||
mFloatingLayout = findViewById(R.id.module_main_id_floating_view);
|
||||
mLeftShadowFrame = findViewById(R.id.module_main_id_map_left_shadow_frame);
|
||||
mCoverUpLayout = findViewById(R.id.module_main_id_cover_up);
|
||||
mLeftPanelLayout = findViewById(R.id.module_main_id_left_panel_fragment_container);
|
||||
mHistoryMessagePanel = findViewById(R.id.module_main_id_message_history_fragment_container);
|
||||
mApps = findViewById( R.id.module_main_id_apps_fragment_container );
|
||||
mEntrance = findViewById( R.id.module_main_id_entrance_fragment_container );
|
||||
mEventPanel = findViewById( R.id.module_main_id_event_panel_fragment_container );
|
||||
mFloatingLayout = findViewById( R.id.module_main_id_floating_view );
|
||||
mLeftShadowFrame = findViewById( R.id.module_main_id_map_left_shadow_frame );
|
||||
mCoverUpLayout = findViewById( R.id.module_main_id_cover_up );
|
||||
mLeftPanelLayout = findViewById( R.id.module_main_id_left_panel_fragment_container );
|
||||
mHistoryMessagePanel = findViewById( R.id.module_main_id_message_history_fragment_container );
|
||||
|
||||
// 避免事件穿透导致地图被滑动
|
||||
mLeftShadowFrame.setOnClickListener(view -> {
|
||||
});
|
||||
FloatingViewHandler.init(mFloatingLayout);
|
||||
mLeftShadowFrame.setOnClickListener( view -> {
|
||||
} );
|
||||
FloatingViewHandler.init( mFloatingLayout );
|
||||
|
||||
mServiceApis.getOnlineCarPanelApi().initContainer(R.id.module_main_id_message_history_fragment_container, this);
|
||||
if (CallChatApi.getInstance().getApiProvider() != null) {
|
||||
mServiceApis.getOnlineCarPanelApi().initContainer( R.id.module_main_id_message_history_fragment_container, this );
|
||||
if ( CallChatApi.getInstance().getApiProvider() != null ) {
|
||||
CallChatApi.getInstance().getApiProvider().initVehicleTeamContainer("init", R.id.module_main_id_message_history_fragment_container, this);
|
||||
}
|
||||
}
|
||||
|
||||
// 隐藏布局
|
||||
protected void hideLayout() {
|
||||
mEntrance.setVisibility(View.GONE);
|
||||
mEventPanel.setVisibility(View.GONE);
|
||||
mFloatingLayout.setVisibility(View.GONE);
|
||||
mEntrance.setVisibility( View.GONE );
|
||||
mEventPanel.setVisibility( View.GONE );
|
||||
mFloatingLayout.setVisibility( View.GONE );
|
||||
}
|
||||
|
||||
// 显示布局
|
||||
protected void showLayout() {
|
||||
mEntrance.setVisibility(View.VISIBLE);
|
||||
mEventPanel.setVisibility(View.VISIBLE);
|
||||
mFloatingLayout.setVisibility(View.VISIBLE);
|
||||
mEntrance.setVisibility( View.VISIBLE );
|
||||
mEventPanel.setVisibility( View.VISIBLE );
|
||||
mFloatingLayout.setVisibility( View.VISIBLE );
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
ContextHolderUtil.holdContext(this);
|
||||
protected void onCreate( @Nullable Bundle savedInstanceState ) {
|
||||
super.onCreate( savedInstanceState );
|
||||
ContextHolderUtil.holdContext( this );
|
||||
mPresenter.postLoadModuleMsg();
|
||||
}
|
||||
|
||||
private void init() {
|
||||
if (mServiceApis == null) {
|
||||
if ( mServiceApis == null ) {
|
||||
mServiceApis = MogoApisHandler.getInstance().getApis();
|
||||
}
|
||||
mServiceApis.getShareManager().resetContext(this);
|
||||
mServiceApis.getAuthManagerApi().showAuth(this);
|
||||
mServiceApis.getShareManager().resetContext( this );
|
||||
mServiceApis.getAuthManagerApi().showAuth( this );
|
||||
|
||||
mMogoStatusManager = mServiceApis.getStatusManagerApi();
|
||||
mMogoStatusManager.setMainPageLaunchedStatus(TAG, true);
|
||||
AutopilotServiceManage.getInstance().init(getContext());
|
||||
mMogoStatusManager.setMainPageLaunchedStatus( TAG, true );
|
||||
AutopilotServiceManage.getInstance().init( getContext() );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadModules() {
|
||||
final long start = System.currentTimeMillis();
|
||||
|
||||
MogoModulesManager.getInstance().init(this);
|
||||
MogoModulesManager.getInstance().init( this );
|
||||
loadSplash();
|
||||
|
||||
|
||||
if (DebugConfig.isMapBased()) {
|
||||
if (mServiceApis.getMapServiceApi() != null) {
|
||||
mServiceApis.getMapServiceApi().getHostListenerRegister().registerHostMapListener(EventDispatchCenter.getInstance());
|
||||
mServiceApis.getMapServiceApi().getHostListenerRegister().registerHostNaviListener(EventDispatchCenter.getInstance());
|
||||
mServiceApis.getMapServiceApi().getHostListenerRegister().registerHostAimlessModeListener(EventDispatchCenter.getInstance());
|
||||
mServiceApis.getMapServiceApi().getHostListenerRegister().registerMarkerClickListener(this);
|
||||
if ( DebugConfig.isMapBased() ) {
|
||||
if ( mServiceApis.getMapServiceApi() != null ) {
|
||||
mServiceApis.getMapServiceApi().getHostListenerRegister().registerHostMapListener( EventDispatchCenter.getInstance() );
|
||||
mServiceApis.getMapServiceApi().getHostListenerRegister().registerHostNaviListener( EventDispatchCenter.getInstance() );
|
||||
mServiceApis.getMapServiceApi().getHostListenerRegister().registerHostAimlessModeListener( EventDispatchCenter.getInstance() );
|
||||
mServiceApis.getMapServiceApi().getHostListenerRegister().registerMarkerClickListener( this );
|
||||
}
|
||||
}
|
||||
|
||||
if (DebugConfig.isSkinSupported()) {
|
||||
if ( DebugConfig.isSkinSupported() ) {
|
||||
initAdasControlStatusListener();
|
||||
}
|
||||
|
||||
if (DebugConfig.isMapBased()) {
|
||||
EventDispatchCenter.getInstance().setMapLoadedCallback(() -> {
|
||||
Logger.d(TAG, "map loaded." + Thread.currentThread().getName());
|
||||
if ( DebugConfig.isMapBased() ) {
|
||||
EventDispatchCenter.getInstance().setMapLoadedCallback( () -> {
|
||||
Logger.d( TAG, "map loaded." + Thread.currentThread().getName() );
|
||||
resetMapCenterPoint();
|
||||
loadOthersModules();
|
||||
Log.i("timer", "cost " + (System.currentTimeMillis() - start) + "ms");
|
||||
});
|
||||
MogoModulesManager.getInstance().loadMapModule(R.id.module_main_id_map_fragment_container);
|
||||
Log.i( "timer", "cost " + ( System.currentTimeMillis() - start ) + "ms" );
|
||||
} );
|
||||
MogoModulesManager.getInstance().loadMapModule( R.id.module_main_id_map_fragment_container );
|
||||
} else {
|
||||
loadOthersModules();
|
||||
}
|
||||
|
||||
mMogoFragmentManager = mServiceApis.getFragmentManagerApi();
|
||||
mMogoFragmentManager.init(this, R.id.module_main_id_search_fragment);
|
||||
mMogoFragmentManager.initMessageHistoryContainerId(R.id.module_main_id_message_history_fragment_container);
|
||||
mMogoFragmentManager.registerMainFragmentStackTransactionListener((size) -> {
|
||||
if (size == 0) {
|
||||
mMogoFragmentManager.init( this, R.id.module_main_id_search_fragment );
|
||||
mMogoFragmentManager.initMessageHistoryContainerId( R.id.module_main_id_message_history_fragment_container );
|
||||
mMogoFragmentManager.registerMainFragmentStackTransactionListener( ( size ) -> {
|
||||
if ( size == 0 ) {
|
||||
showLayout();
|
||||
} else if (size == 1) {
|
||||
} else if ( size == 1 ) {
|
||||
hideLayout();
|
||||
}
|
||||
});
|
||||
} );
|
||||
|
||||
}
|
||||
|
||||
private void resetMapCenterPoint() {
|
||||
// 右移地图中心点
|
||||
MapCenterPointStrategy.init();
|
||||
MapCenterPointStrategy.setMapCenterPointByScene(mServiceApis.getMapServiceApi().getMapUIController(), Scene.AIMLESS);
|
||||
MapCenterPointStrategy.setMapCenterPointByScene( mServiceApis.getMapServiceApi().getMapUIController(), Scene.AIMLESS );
|
||||
}
|
||||
|
||||
private void loadOthersModules() {
|
||||
@@ -213,66 +213,66 @@ public class MainActivity extends MvpActivity<MainView, MainPresenter> implement
|
||||
}
|
||||
|
||||
private void initAdasControlStatusListener() {
|
||||
mServiceApis.getRegisterCenterApi().registerADASControlStatusChangedListener(TAG, this);
|
||||
AdasConfigApiController.getInstance().registerAdasSettingUiListener(EventDispatchCenter.getInstance());
|
||||
AdasConfigApiController.getInstance().registerAdasSettingSkinModelListener(EventDispatchCenter.getInstance());
|
||||
AdasConfigApiController.getInstance().init(getApplicationContext());
|
||||
LoggerController.setPrinterLog(DebugConfig.isDebug());
|
||||
mServiceApis.getRegisterCenterApi().registerADASControlStatusChangedListener( TAG, this );
|
||||
AdasConfigApiController.getInstance().registerAdasSettingUiListener( EventDispatchCenter.getInstance() );
|
||||
AdasConfigApiController.getInstance().registerAdasSettingSkinModelListener( EventDispatchCenter.getInstance() );
|
||||
AdasConfigApiController.getInstance().init( getApplicationContext() );
|
||||
LoggerController.setPrinterLog( DebugConfig.isDebug() );
|
||||
}
|
||||
|
||||
private void startBaseService() {
|
||||
Intent intent = new Intent(this, MogoMainService.class);
|
||||
startService(intent);
|
||||
Intent intent = new Intent( this, MogoMainService.class );
|
||||
startService( intent );
|
||||
}
|
||||
|
||||
protected void loadContainerModules() {
|
||||
MogoModulesManager.getInstance().loadEntrancesModule(R.id.module_main_id_entrance_fragment_container);
|
||||
MogoModulesManager.getInstance().loadEventPanelModule(R.id.module_main_id_event_panel_fragment_container);
|
||||
MogoModulesManager.getInstance().loadLeftPanelModule(R.id.module_main_id_left_panel_fragment_container);
|
||||
MogoModulesManager.getInstance().loadEntrancesModule( R.id.module_main_id_entrance_fragment_container );
|
||||
MogoModulesManager.getInstance().loadEventPanelModule( R.id.module_main_id_event_panel_fragment_container );
|
||||
MogoModulesManager.getInstance().loadLeftPanelModule( R.id.module_main_id_left_panel_fragment_container );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void hideCoverUpLayout() {
|
||||
Logger.d(TAG, "隐藏遮罩");
|
||||
mCoverUpLayout.setVisibility(View.GONE);
|
||||
Logger.d( TAG, "隐藏遮罩" );
|
||||
mCoverUpLayout.setVisibility( View.GONE );
|
||||
mServiceApis.getAdasControllerApi().showADAS();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadCardModules() {
|
||||
List<IMogoModuleProvider> providers = MogoModulesManager.getInstance().loadCardsModule();
|
||||
List< IMogoModuleProvider > providers = MogoModulesManager.getInstance().loadCardsModule();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadSplash() {
|
||||
MogoModulesManager.getInstance().loadSplashModule(R.id.module_main_id_splash_container);
|
||||
MogoModulesManager.getInstance().loadSplashModule( R.id.module_main_id_splash_container );
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
protected MainPresenter createPresenter() {
|
||||
return new MainPresenter(this);
|
||||
return new MainPresenter( this );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLocationChanged(MogoLocation location) {
|
||||
EventDispatchCenter.getInstance().onLocationChanged(location);
|
||||
public void onLocationChanged( MogoLocation location ) {
|
||||
EventDispatchCenter.getInstance().onLocationChanged( location );
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onMarkerClicked(IMogoMarker marker) {
|
||||
EventDispatchCenter.getInstance().onMarkerClicked(marker);
|
||||
public boolean onMarkerClicked( IMogoMarker marker ) {
|
||||
EventDispatchCenter.getInstance().onMarkerClicked( marker );
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMapUiModeChanged(EnumMapUI mapUI) {
|
||||
switch (mapUI) {
|
||||
public void onMapUiModeChanged( EnumMapUI mapUI ) {
|
||||
switch ( mapUI ) {
|
||||
case Type_Night:
|
||||
mServiceApis.getSkinSupportInstallerApi().loadSkin(SkinMode.Night);
|
||||
mServiceApis.getSkinSupportInstallerApi().loadSkin( SkinMode.Night );
|
||||
break;
|
||||
case Type_Light:
|
||||
mServiceApis.getSkinSupportInstallerApi().loadSkin(SkinMode.Light);
|
||||
mServiceApis.getSkinSupportInstallerApi().loadSkin( SkinMode.Light );
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -280,26 +280,26 @@ public class MainActivity extends MvpActivity<MainView, MainPresenter> implement
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
mMogoStatusManager.setMainPageResumeStatus(TAG, true);
|
||||
mMogoStatusManager.setMainPageIsBackgroundStatus(TAG, false);
|
||||
if (mCoverUpLayout.getVisibility() != View.VISIBLE) {
|
||||
mMogoStatusManager.setMainPageResumeStatus( TAG, true );
|
||||
mMogoStatusManager.setMainPageIsBackgroundStatus( TAG, false );
|
||||
if ( mCoverUpLayout.getVisibility() != View.VISIBLE ) {
|
||||
mServiceApis.getAdasControllerApi().showADAS();
|
||||
}
|
||||
if (mServiceApis.getLauncherApi() != null) {
|
||||
mServiceApis.getLauncherApi().setFloatButtonVisible(false);
|
||||
if ( mServiceApis.getLauncherApi() != null ) {
|
||||
mServiceApis.getLauncherApi().setFloatButtonVisible( false );
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
mMogoStatusManager.setMainPageResumeStatus(TAG, false);
|
||||
mMogoStatusManager.setMainPageResumeStatus( TAG, false );
|
||||
mServiceApis.getAuthManagerApi().dismiss();
|
||||
if (shouldCloseADASPanelWhenPause()) {
|
||||
if ( shouldCloseADASPanelWhenPause() ) {
|
||||
mServiceApis.getAdasControllerApi().closeADAS();
|
||||
}
|
||||
if (mServiceApis.getLauncherApi() != null) {
|
||||
mServiceApis.getLauncherApi().setFloatButtonVisible(true);
|
||||
if ( mServiceApis.getLauncherApi() != null ) {
|
||||
mServiceApis.getLauncherApi().setFloatButtonVisible( true );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -313,18 +313,18 @@ public class MainActivity extends MvpActivity<MainView, MainPresenter> implement
|
||||
@Override
|
||||
protected void onStop() {
|
||||
super.onStop();
|
||||
mMogoStatusManager.setMainPageIsBackgroundStatus(TAG, true);
|
||||
mMogoStatusManager.setMainPageIsBackgroundStatus( TAG, true );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
if (mMogoFragmentManager == null
|
||||
|| mMogoFragmentManager.getStackSize() <= 0) {
|
||||
if (DebugConfig.isLauncher()) {
|
||||
if ( mMogoFragmentManager == null
|
||||
|| mMogoFragmentManager.getStackSize() <= 0 ) {
|
||||
if ( DebugConfig.isLauncher() ) {
|
||||
doWhenBackPressed();
|
||||
return;
|
||||
} else {
|
||||
if (doWhenBackPressed()) {
|
||||
if ( doWhenBackPressed() ) {
|
||||
return;
|
||||
}
|
||||
super.onBackPressed();
|
||||
@@ -339,14 +339,14 @@ public class MainActivity extends MvpActivity<MainView, MainPresenter> implement
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onNewIntent(Intent intent) {
|
||||
super.onNewIntent(intent);
|
||||
mPresenter.handleSchemeIntent(intent, true);
|
||||
protected void onNewIntent( Intent intent ) {
|
||||
super.onNewIntent( intent );
|
||||
mPresenter.handleSchemeIntent( intent, true );
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoServiceApis getApis() {
|
||||
if (mServiceApis == null) {
|
||||
if ( mServiceApis == null ) {
|
||||
mServiceApis = MogoApisHandler.getInstance().getApis();
|
||||
}
|
||||
return mServiceApis;
|
||||
@@ -359,19 +359,19 @@ public class MainActivity extends MvpActivity<MainView, MainPresenter> implement
|
||||
mServiceApis.getMapServiceApi().getHostListenerRegister().unregisterHostAimlessModeListener();
|
||||
mServiceApis.getMapServiceApi().getHostListenerRegister().unregisterHostNaviListener();
|
||||
mServiceApis.getMapServiceApi().getHostListenerRegister().unregisterHostMapListener();
|
||||
mMogoStatusManager.setMainPageLaunchedStatus(TAG, false);
|
||||
mMogoStatusManager.setMainPageIsBackgroundStatus(TAG, false);
|
||||
mMogoStatusManager.setMainPageLaunchedStatus( TAG, false );
|
||||
mMogoStatusManager.setMainPageIsBackgroundStatus( TAG, false );
|
||||
mMogoFragmentManager.unregisterMainFragmentStackTransactionListener();
|
||||
mMogoFragmentManager = null;
|
||||
mServiceApis.getMapServiceApi().getMapViewInstanceHandler().destroy();
|
||||
AdasConfigApiController.getInstance().release();
|
||||
mServiceApis.getAdasControllerApi().release();
|
||||
Logger.d(TAG, "destroy.");
|
||||
Logger.d( TAG, "destroy." );
|
||||
mServiceApis.getRefreshStrategyControllerApi().clearAllData();
|
||||
AIAssist.getInstance(this).release();
|
||||
AIAssist.getInstance( this ).release();
|
||||
mServiceApis.getOnlineCarPanelApi().clear();
|
||||
if (CallChatApi.getInstance().getApiProvider() != null) {
|
||||
CallChatApi.getInstance().getApiProvider().initVehicleTeamContainer("init", 0, null);
|
||||
if ( CallChatApi.getInstance().getApiProvider() != null ) {
|
||||
// CallChatApi.getInstance().getApiProvider().initVehicleTeamContainer("init", 0, null);
|
||||
}
|
||||
ContextHolderUtil.releaseContext();
|
||||
MogoModulesManager.getInstance().onDestroy();
|
||||
|
||||
@@ -6,6 +6,7 @@ import android.content.Context;
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.mogo.module.common.MogoApisHandler;
|
||||
import com.mogo.module.common.MogoModule;
|
||||
import com.mogo.module.common.MogoModulePaths;
|
||||
import com.mogo.module.main.MainActivity;
|
||||
@@ -127,9 +128,7 @@ public class MogoModulesManager implements MogoModulesHandler {
|
||||
|
||||
@Override
|
||||
public void loadEventPanelModule( int containerId ) {
|
||||
IMogoModuleProvider provider = ( IMogoModuleProvider ) ARouter.getInstance()
|
||||
.build( MogoServicePaths.PATH_EVENT_PANEL )
|
||||
.navigation( getContext() );
|
||||
IMogoModuleProvider provider = MogoApisHandler.getInstance().getApis().getEventPanelManager();
|
||||
addFragment( provider, containerId );
|
||||
}
|
||||
|
||||
|
||||
@@ -31,4 +31,9 @@
|
||||
<dimen name="module_ext_top_view_max_width">1920px</dimen>
|
||||
|
||||
<dimen name="module_main_panel_margin_right">0px</dimen>
|
||||
<!--事件面板-->
|
||||
<dimen name="module_main_event_panel_fragment_paddingTop">2px</dimen>
|
||||
<dimen name="module_main_event_panel_fragment_paddingBottom">2px</dimen>
|
||||
<dimen name="module_main_event_panel_fragment_paddingLeft">6px</dimen>
|
||||
<dimen name="module_main_event_panel_fragment_paddingRight">6px</dimen>
|
||||
</resources>
|
||||
@@ -33,6 +33,6 @@
|
||||
<!--事件面板-->
|
||||
<dimen name="module_main_event_panel_fragment_paddingTop">2px</dimen>
|
||||
<dimen name="module_main_event_panel_fragment_paddingBottom">2px</dimen>
|
||||
<dimen name="module_main_event_panel_fragment_paddingLeft">6px</dimen>
|
||||
<dimen name="module_main_event_panel_fragment_paddingRight">6px</dimen>
|
||||
<dimen name="module_main_event_panel_fragment_paddingLeft">2px</dimen>
|
||||
<dimen name="module_main_event_panel_fragment_paddingRight">4px</dimen>
|
||||
</resources>
|
||||
@@ -26,6 +26,7 @@ class AutoNaviBroadcastIntentHandler implements IMogoIntentListener {
|
||||
|
||||
// 接收高德
|
||||
public static final String AUTONAVI_STANDARD_BROADCAST_SEND = "AUTONAVI_STANDARD_BROADCAST_SEND";
|
||||
private EnumMapUI mLastAMapUiType = null;
|
||||
|
||||
public void register( IMogoIntentManager manager ) {
|
||||
manager.registerIntentListener( AUTONAVI_STANDARD_BROADCAST_RECV, this );
|
||||
@@ -131,11 +132,17 @@ class AutoNaviBroadcastIntentHandler implements IMogoIntentListener {
|
||||
// 高德改变黑夜白天模式后,传递给launcher,顺便改变其他
|
||||
if ( extraState == 37 ) {
|
||||
// 白天模式
|
||||
mLastAMapUiType = EnumMapUI.Type_Light;
|
||||
MogoApisHandler.getInstance().getApis().getAdasControllerApi().changeAdasControlMode( EnumMapUI.Type_Light );
|
||||
} else if ( extraState == 38 ) {
|
||||
// 夜间模式
|
||||
mLastAMapUiType = EnumMapUI.Type_Night;
|
||||
MogoApisHandler.getInstance().getApis().getAdasControllerApi().changeAdasControlMode( EnumMapUI.Type_Night );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public EnumMapUI getLastAMapUiType() {
|
||||
return mLastAMapUiType;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -103,6 +103,10 @@ class MapControlCommandHandler {
|
||||
return;
|
||||
}
|
||||
|
||||
if ( mCallback.getAMapLastType() == ui ) {
|
||||
return;
|
||||
}
|
||||
|
||||
int KEY_TYPE = 10048;
|
||||
int state = 0;//2黑夜;1白天 ;0自动
|
||||
switch ( ui ) {
|
||||
|
||||
@@ -296,6 +296,14 @@ public class MapPresenter extends Presenter< MapView > implements
|
||||
mRegisterCenter.registerADASControlStatusChangedListener( TAG, this );
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumMapUI getAMapLastType() {
|
||||
if ( mAutoNaviReceiver != null ) {
|
||||
return mAutoNaviReceiver.getLastAMapUiType();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private void initBroadcast() {
|
||||
mAutoNaviReceiver = new AutoNaviBroadcastIntentHandler();
|
||||
mAutoNaviReceiver.setCallback( this );
|
||||
|
||||
@@ -36,4 +36,7 @@ public interface OnMapControlCallback {
|
||||
|
||||
// 缩放地图
|
||||
void onZoomMap( boolean zoomIn );
|
||||
|
||||
// 高德地图上次类型
|
||||
EnumMapUI getAMapLastType();
|
||||
}
|
||||
@@ -101,7 +101,9 @@ public class MediaWindow2 implements IMusicView , IMogoStatusChangedListener {
|
||||
}
|
||||
}
|
||||
};
|
||||
ServiceMediaHandler.getCarsChattingApis().registerCallWindowStatusListener( MediaConstants.MODULE_TYPE, mContext, mCallProviderResponse);
|
||||
if ( ServiceMediaHandler.getCarsChattingApis() != null ) {
|
||||
ServiceMediaHandler.getCarsChattingApis().registerCallWindowStatusListener( MediaConstants.MODULE_TYPE, mContext, mCallProviderResponse);
|
||||
}
|
||||
isFirstPlay = true;
|
||||
}
|
||||
|
||||
@@ -344,7 +346,9 @@ public class MediaWindow2 implements IMusicView , IMogoStatusChangedListener {
|
||||
|
||||
public void onDestroy(){
|
||||
Logger.d(TAG, "onDestroy");
|
||||
ServiceMediaHandler.getCarsChattingApis().unRegisterCallWindowStatusListener( MediaConstants.MODULE_TYPE, mContext);
|
||||
if ( ServiceMediaHandler.getCarsChattingApis() != null ) {
|
||||
ServiceMediaHandler.getCarsChattingApis().unRegisterCallWindowStatusListener( MediaConstants.MODULE_TYPE, mContext);
|
||||
}
|
||||
ServiceMediaHandler.getIMogoStatusManager().unregisterStatusChangedListener(MediaConstants.MODULE_TYPE, StatusDescriptor.ACC_STATUS,this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,14 +58,14 @@ dependencies {
|
||||
implementation rootProject.ext.dependencies.mogocommons
|
||||
implementation rootProject.ext.dependencies.mogoserviceapi
|
||||
implementation rootProject.ext.dependencies.modulecommon
|
||||
implementation rootProject.ext.dependencies.gpssimulator
|
||||
// implementation rootProject.ext.dependencies.gpssimulator
|
||||
} else {
|
||||
implementation project(":libraries:mogo-map-api")
|
||||
implementation project(":foudations:mogo-utils")
|
||||
implementation project(":foudations:mogo-commons")
|
||||
implementation project(':services:mogo-service-api')
|
||||
implementation project(':modules:mogo-module-common')
|
||||
implementation project(':modules:mogo-module-gps-simulator')
|
||||
// implementation project(':modules:mogo-module-gps-simulator')
|
||||
}
|
||||
implementation 'com.zhidaoauto.voice.controller:api:1.0.2'
|
||||
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
package com.mogo.module.navi.constants;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.mogo.commons.AbsMogoApplication;
|
||||
import com.mogo.map.location.IMogoLocationClient;
|
||||
import com.mogo.map.marker.IMogoMarkerManager;
|
||||
import com.mogo.map.navi.IMogoNavi;
|
||||
import com.mogo.map.uicontroller.IMogoMapUIController;
|
||||
import com.mogo.module.common.MogoApisHandler;
|
||||
import com.mogo.module.gps.simulator.IMogoGpsSimulatorManager;
|
||||
import com.mogo.module.navi.cp.PersonalInfoManagerImpl;
|
||||
import com.mogo.service.IMogoServiceApis;
|
||||
import com.mogo.service.analytics.IMogoAnalytics;
|
||||
@@ -31,7 +29,7 @@ public class SearchApisHolder {
|
||||
private static final String TAG = "SearchApisHolder";
|
||||
|
||||
private static IMogoServiceApis sApis;
|
||||
private static IMogoGpsSimulatorManager sGpsSimulatorManager;
|
||||
// private static IMogoGpsSimulatorManager sGpsSimulatorManager;
|
||||
|
||||
private static PersonalInfoManagerImpl mPersonalInfoManager;
|
||||
|
||||
@@ -86,12 +84,12 @@ public class SearchApisHolder {
|
||||
return getApis().getSettingManagerApi();
|
||||
}
|
||||
|
||||
public static IMogoGpsSimulatorManager getGpsSimulatorManager() {
|
||||
if ( sGpsSimulatorManager == null ) {
|
||||
sGpsSimulatorManager = ARouter.getInstance().navigation( IMogoGpsSimulatorManager.class );
|
||||
}
|
||||
return sGpsSimulatorManager;
|
||||
}
|
||||
// public static IMogoGpsSimulatorManager getGpsSimulatorManager() {
|
||||
// if ( sGpsSimulatorManager == null ) {
|
||||
// sGpsSimulatorManager = ARouter.getInstance().navigation( IMogoGpsSimulatorManager.class );
|
||||
// }
|
||||
// return sGpsSimulatorManager;
|
||||
// }
|
||||
|
||||
public static IMogoSearchManager getSearchManager() {
|
||||
return getApis().getSearchManagerApi();
|
||||
|
||||
@@ -221,11 +221,11 @@ class NaviSettingFragment : BaseFragment(), OnCheckedChangeListener {
|
||||
|
||||
SettingManager.setGpsSimulator(isChecked)
|
||||
|
||||
if (isChecked) {
|
||||
SearchApisHolder.getGpsSimulatorManager().open()
|
||||
} else {
|
||||
SearchApisHolder.getGpsSimulatorManager().close()
|
||||
}
|
||||
// if (isChecked) {
|
||||
// SearchApisHolder.getGpsSimulatorManager().open()
|
||||
// } else {
|
||||
// SearchApisHolder.getGpsSimulatorManager().close()
|
||||
// }
|
||||
}
|
||||
tb_navi.isChecked = SettingManager.isMonitor()
|
||||
tb_gps.isChecked = SettingManager.isGpsSimulator()
|
||||
|
||||
@@ -60,7 +60,7 @@ dependencies {
|
||||
api rootProject.ext.dependencies.mogocommons
|
||||
api rootProject.ext.dependencies.mogoserviceapi
|
||||
implementation rootProject.ext.dependencies.modulecommon
|
||||
implementation rootProject.ext.dependencies.gpssimulator
|
||||
// implementation rootProject.ext.dependencies.gpssimulator
|
||||
} else {
|
||||
api project(":libraries:mogo-map")
|
||||
api project(":libraries:mogo-map-api")
|
||||
@@ -68,7 +68,7 @@ dependencies {
|
||||
api project(":foudations:mogo-commons")
|
||||
api project(':services:mogo-service-api')
|
||||
implementation project(':modules:mogo-module-common')
|
||||
implementation project(':modules:mogo-module-gps-simulator')
|
||||
// implementation project(':modules:mogo-module-gps-simulator')
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@ import com.mogo.map.uicontroller.IMogoMapUIController;
|
||||
import com.mogo.module.common.MogoApisHandler;
|
||||
import com.mogo.module.common.entity.MarkerResponse;
|
||||
import com.mogo.module.common.entity.MarkerShowEntity;
|
||||
import com.mogo.module.gps.simulator.IMogoGpsSimulatorManager;
|
||||
import com.mogo.module.service.marker.MapMarkerManager;
|
||||
import com.mogo.service.IMogoServiceApis;
|
||||
import com.mogo.service.adas.IMogoADASController;
|
||||
@@ -59,11 +58,11 @@ public class MarkerServiceHandler {
|
||||
private static IMogoLauncher sLauncher;
|
||||
private static IMogoFragmentManager sFragmentManager;
|
||||
private static ICarsChattingProvider sCarChatting;
|
||||
private static IMogoGpsSimulatorManager sGpsSimulatorManager;
|
||||
// private static IMogoGpsSimulatorManager sGpsSimulatorManager;
|
||||
|
||||
public static synchronized void init( final Context context ) {
|
||||
|
||||
if ( sGpsSimulatorManager != null ) {
|
||||
if ( sCarChatting != null ) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -89,7 +88,7 @@ public class MarkerServiceHandler {
|
||||
|
||||
MapMarkerManager.getInstance().init( context );
|
||||
|
||||
sGpsSimulatorManager = ARouter.getInstance().navigation( IMogoGpsSimulatorManager.class );
|
||||
// sGpsSimulatorManager = ARouter.getInstance().navigation( IMogoGpsSimulatorManager.class );
|
||||
}
|
||||
|
||||
public static IMogoServiceApis getApis() {
|
||||
@@ -168,9 +167,9 @@ public class MarkerServiceHandler {
|
||||
return sCarChatting;
|
||||
}
|
||||
|
||||
public static IMogoGpsSimulatorManager getGpsSimulatorManager() {
|
||||
return sGpsSimulatorManager;
|
||||
}
|
||||
// public static IMogoGpsSimulatorManager getGpsSimulatorManager() {
|
||||
// return sGpsSimulatorManager;
|
||||
// }
|
||||
|
||||
//TODO -------------以下方法是临时过度使用的,后面统一使用,getMapMarkerManager进行调用
|
||||
|
||||
|
||||
@@ -412,7 +412,9 @@ public class MogoServices implements IMogoMapListener,
|
||||
MogoApisHandler.getInstance().getApis().getAdasControllerApi().setSettingStatus(false);
|
||||
MogoApisHandler.getInstance().getApis().getEventPanelManager().hidePanel();
|
||||
carsChattingProvider = (ICarsChattingProvider) ARouter.getInstance().build(CallChattingProviderConstant.CAR_CALL_PROVIDER).navigation();
|
||||
carsChattingProvider.hideUserWindow("MOGO_COMMON_SERVICE", mContext, mCallProviderResponse);
|
||||
if ( carsChattingProvider != null ) {
|
||||
carsChattingProvider.hideUserWindow("MOGO_COMMON_SERVICE", mContext, mCallProviderResponse);
|
||||
}
|
||||
}
|
||||
|
||||
public void init(Context context) {
|
||||
|
||||
@@ -2,7 +2,6 @@ package com.mogo.module.service.intent;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.graphics.Color;
|
||||
import android.net.Uri;
|
||||
@@ -26,7 +25,6 @@ import com.mogo.map.search.geo.MogoRegeocodeResult;
|
||||
import com.mogo.map.search.geo.query.MogoRegeocodeQuery;
|
||||
import com.mogo.module.common.dialog.WMDialog;
|
||||
import com.mogo.module.service.MarkerServiceHandler;
|
||||
import com.mogo.module.service.MogoServiceProvider;
|
||||
import com.mogo.module.service.R;
|
||||
import com.mogo.service.entrance.ButtonIndex;
|
||||
import com.mogo.utils.TipToast;
|
||||
@@ -327,12 +325,12 @@ public class MockIntentHandler implements IntentHandler {
|
||||
} );
|
||||
}
|
||||
break;
|
||||
case 15:
|
||||
MarkerServiceHandler.getGpsSimulatorManager().open();
|
||||
break;
|
||||
case 16:
|
||||
MarkerServiceHandler.getGpsSimulatorManager().close();
|
||||
break;
|
||||
// case 15:
|
||||
// MarkerServiceHandler.getGpsSimulatorManager().open();
|
||||
// break;
|
||||
// case 16:
|
||||
// MarkerServiceHandler.getGpsSimulatorManager().close();
|
||||
// break;
|
||||
case 17:
|
||||
DebugConfig.setRequestOnlineCarData( intent.getBooleanExtra( "status", true ) );
|
||||
break;
|
||||
|
||||
@@ -129,6 +129,7 @@ class LauncherCardRefresher {
|
||||
switch ( msg.what ) {
|
||||
case MSG_WAIT_NETWORK:
|
||||
trtRequestNetworkConfigStrategy();
|
||||
break;
|
||||
case MSG_LOAD_NET_CONFIG:
|
||||
loadNetworkConfigStrategy();
|
||||
break;
|
||||
@@ -526,9 +527,18 @@ class LauncherCardRefresher {
|
||||
} else if ( datum instanceof TtsConfigData.NearRoads ) {
|
||||
result = handleNearRoadsTtsConfig( ( ( TtsConfigData.NearRoads ) datum ) );
|
||||
} else if ( datum instanceof TtsConfigData.OnlineCarVsExplorerWay ) {
|
||||
result = handleExplorerWayTtsConfig( ( ( TtsConfigData.OnlineCarVsExplorerWay ) datum ) );
|
||||
if ( !result ) {
|
||||
if ( node.type == LauncherCardRefreshType.ExplorerWay ) {
|
||||
result = handleExplorerWayTtsConfig( ( ( TtsConfigData.OnlineCarVsExplorerWay ) datum ) );
|
||||
if ( !result ) {
|
||||
node.type = LauncherCardRefreshType.OnlineCar;
|
||||
result = handleOnlineCarTtsConfig( ( ( TtsConfigData.OnlineCarVsExplorerWay ) datum ) );
|
||||
}
|
||||
} else if( node.type == LauncherCardRefreshType.OnlineCar ){
|
||||
result = handleOnlineCarTtsConfig( ( ( TtsConfigData.OnlineCarVsExplorerWay ) datum ) );
|
||||
if ( !result ) {
|
||||
node.type = LauncherCardRefreshType.ExplorerWay;
|
||||
result = handleExplorerWayTtsConfig( ( ( TtsConfigData.OnlineCarVsExplorerWay ) datum ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( result ) {
|
||||
@@ -594,7 +604,7 @@ class LauncherCardRefresher {
|
||||
String tts = mContext.getString( R.string.module_service_launcher_card_tips );
|
||||
String info = mContext.getString( R.string.module_service_launcher_card_info );
|
||||
speakTTS( String.format( tts, explorerWay.poiTotal, LauncherCardRefreshType.ExplorerWay.getDesc() ), false );
|
||||
notifyRefreshChanged( String.format( info, explorerWay.poiTotal, LauncherCardRefreshType.ExplorerWay ), explorerWay.poiTotal, tts );
|
||||
notifyRefreshChanged( String.format( info, explorerWay.poiTotal, LauncherCardRefreshType.ExplorerWay.getDesc() ), explorerWay.poiTotal, tts );
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -611,7 +621,7 @@ class LauncherCardRefresher {
|
||||
String tts = mContext.getString( R.string.module_service_launcher_card_tips );
|
||||
String info = mContext.getString( R.string.module_service_launcher_card_info );
|
||||
speakTTS( String.format( tts, onlineCar.carTotal, LauncherCardRefreshType.OnlineCar.getDesc() ), false );
|
||||
notifyRefreshChanged( String.format( info, onlineCar.carTotal, LauncherCardRefreshType.OnlineCar ), onlineCar.carTotal, tts );
|
||||
notifyRefreshChanged( String.format( info, onlineCar.carTotal, LauncherCardRefreshType.OnlineCar.getDesc() ), onlineCar.carTotal, tts );
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -113,24 +113,26 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
|
||||
MarkerServiceHandler.getActionManager().registerBizActionDoneListener( this );
|
||||
MarkerServiceHandler.getApis().getRegisterCenterApi().registerADASControlStatusChangedListener( TAG, this );
|
||||
|
||||
CallChatApi.getInstance().getApiProvider().registerUserWindowStatusListener( TAG, mContext, new ICallChatResponse() {
|
||||
if ( CallChatApi.getInstance().getApiProvider() != null ) {
|
||||
CallChatApi.getInstance().getApiProvider().registerUserWindowStatusListener( TAG, mContext, new ICallChatResponse() {
|
||||
|
||||
@Override
|
||||
public void userWindowStatus( boolean show ) {
|
||||
try {
|
||||
if ( mLastCheckMarker == null ) {
|
||||
return;
|
||||
@Override
|
||||
public void userWindowStatus( boolean show ) {
|
||||
try {
|
||||
if ( mLastCheckMarker == null ) {
|
||||
return;
|
||||
}
|
||||
if ( TextUtils.equals( mLastCheckMarker.getOwner(), ModuleNames.CARD_TYPE_USER_DATA )
|
||||
&& !show ) {
|
||||
closeMarker( mLastCheckMarker );
|
||||
}
|
||||
} catch ( Exception e ) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
if ( TextUtils.equals( mLastCheckMarker.getOwner(), ModuleNames.CARD_TYPE_USER_DATA )
|
||||
&& !show ) {
|
||||
closeMarker( mLastCheckMarker );
|
||||
}
|
||||
} catch ( Exception e ) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
} );
|
||||
} );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -194,7 +194,9 @@ public class UserDataMarkerInfoWindowAdapter implements IMogoInfoWindowAdapter {
|
||||
params.put( CallChattingProviderConstant.CCPROVIDER_LON, location.getLon() + "" );
|
||||
}
|
||||
Logger.d( TAG, "call parameters: %s", params );
|
||||
MarkerServiceHandler.getCarChatting().call( params );
|
||||
if ( MarkerServiceHandler.getCarChatting() != null ) {
|
||||
MarkerServiceHandler.getCarChatting().call( params );
|
||||
}
|
||||
}
|
||||
|
||||
protected void loadImageHeader( final MarkerShowEntity markerShowEntity ) {
|
||||
|
||||
@@ -78,7 +78,9 @@ class OnlineCarPanelAdapter extends RecyclerView.Adapter<OnlineCarPanelAdapter.V
|
||||
params.put(CallChattingProviderConstant.CCPROVIDER_LAT, location.getLat() + "");
|
||||
params.put(CallChattingProviderConstant.CCPROVIDER_LON, location.getLon() + "");
|
||||
ICarsChattingProvider carChatting = MarkerServiceHandler.getCarChatting();
|
||||
carChatting.call(params);
|
||||
if ( carChatting != null ) {
|
||||
carChatting.call(params);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -32,53 +32,53 @@ public class CarIconDisplayStrategy {
|
||||
|
||||
// F 系列才有这个帧动画
|
||||
public static final int[] sFrame = {
|
||||
R.drawable.v_to_x_warning_circle_orange_00000,
|
||||
R.drawable.v_to_x_warning_circle_orange_00001,
|
||||
R.drawable.v_to_x_warning_circle_orange_00002,
|
||||
R.drawable.v_to_x_warning_circle_orange_00003,
|
||||
R.drawable.v_to_x_warning_circle_orange_00004,
|
||||
R.drawable.v_to_x_warning_circle_orange_00005,
|
||||
R.drawable.v_to_x_warning_circle_orange_00006,
|
||||
R.drawable.v_to_x_warning_circle_orange_00007,
|
||||
R.drawable.v_to_x_warning_circle_orange_00008,
|
||||
R.drawable.v_to_x_warning_circle_orange_00009,
|
||||
R.drawable.v_to_x_warning_circle_orange_00010,
|
||||
R.drawable.v_to_x_warning_circle_orange_00011,
|
||||
R.drawable.v_to_x_warning_circle_orange_00012,
|
||||
R.drawable.v_to_x_warning_circle_orange_00013,
|
||||
R.drawable.v_to_x_warning_circle_orange_00014,
|
||||
R.drawable.v_to_x_warning_circle_orange_00015,
|
||||
R.drawable.v_to_x_warning_circle_orange_00016,
|
||||
R.drawable.v_to_x_warning_circle_orange_00017,
|
||||
R.drawable.v_to_x_warning_circle_orange_00018,
|
||||
R.drawable.v_to_x_warning_circle_orange_00019,
|
||||
R.drawable.v_to_x_warning_circle_orange_00020,
|
||||
R.drawable.v_to_x_warning_circle_orange_00023,
|
||||
R.drawable.v_to_x_warning_circle_orange_00024,
|
||||
R.drawable.v_to_x_warning_circle_orange_00025,
|
||||
R.drawable.v_to_x_warning_circle_orange_00026,
|
||||
R.drawable.v_to_x_warning_circle_orange_00027,
|
||||
R.drawable.v_to_x_warning_circle_orange_00028,
|
||||
R.drawable.v_to_x_warning_circle_orange_00029,
|
||||
R.drawable.v_to_x_warning_circle_orange_00030,
|
||||
R.drawable.v_to_x_warning_circle_orange_00031,
|
||||
R.drawable.v_to_x_warning_circle_orange_00032,
|
||||
R.drawable.v_to_x_warning_circle_orange_00033,
|
||||
R.drawable.v_to_x_warning_circle_orange_00034,
|
||||
R.drawable.v_to_x_warning_circle_orange_00035,
|
||||
R.drawable.v_to_x_warning_circle_orange_00036,
|
||||
R.drawable.v_to_x_warning_circle_orange_00037,
|
||||
R.drawable.v_to_x_warning_circle_orange_00038,
|
||||
R.drawable.v_to_x_warning_circle_orange_00039,
|
||||
R.drawable.v_to_x_warning_circle_orange_00040,
|
||||
R.drawable.v_to_x_warning_circle_orange_00041,
|
||||
R.drawable.v_to_x_warning_circle_orange_00042,
|
||||
R.drawable.v_to_x_warning_circle_orange_00043,
|
||||
R.drawable.v_to_x_warning_circle_orange_00044,
|
||||
R.drawable.v_to_x_warning_circle_orange_00045,
|
||||
R.drawable.v_to_x_warning_circle_orange_00046,
|
||||
R.drawable.v_to_x_warning_circle_orange_00047,
|
||||
R.drawable.v_to_x_warning_circle_orange_00048
|
||||
R.drawable.module_service_ic_warning_circle_orange_00000,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00001,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00002,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00003,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00004,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00005,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00006,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00007,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00008,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00009,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00010,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00011,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00012,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00013,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00014,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00015,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00016,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00017,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00018,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00019,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00020,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00021,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00022,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00023,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00024,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00025,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00026,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00027,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00028,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00029,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00030,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00031,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00032,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00033,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00034,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00035,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00036,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00037,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00038,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00039,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00040,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00041,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00042,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00043,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00044,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00045,
|
||||
R.drawable.module_service_ic_warning_circle_orange_00046
|
||||
};
|
||||
|
||||
private static volatile CarIconDisplayStrategy sInstance;
|
||||
|
||||
|
Before Width: | Height: | Size: 434 B |
|
Before Width: | Height: | Size: 434 B |
|
Before Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 4.9 KiB |
|
Before Width: | Height: | Size: 4.9 KiB |
|
Before Width: | Height: | Size: 4.7 KiB |
|
Before Width: | Height: | Size: 4.9 KiB |
|
Before Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 4.9 KiB |
|
Before Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 5.2 KiB |
|
Before Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 6.3 KiB |
|
Before Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 6.8 KiB |
|
Before Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 6.5 KiB |
|
Before Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 5.2 KiB |
|
Before Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 6.5 KiB |