[fea]
[音乐、媒体信息分离车型]
This commit is contained in:
yangyakun
2025-02-24 12:01:07 +08:00
parent faec6156a8
commit f6c5d985b4
10 changed files with 855 additions and 832 deletions

View File

@@ -42,6 +42,7 @@ import com.mogo.och.common.module.manager.loop.BizLoopManager
//import com.mogo.och.bridge.utils.CoordinateCalculateRouteUtil
//import com.mogo.och.bridge.utils.CoordinateCalculateRouteUtil
import com.mogo.och.common.module.view.DebugFloatWindow
import com.mogo.och.common.module.wigets.media.MediaBeanManager
import com.zhjt.mogo.adas.data.bean.AutopilotStatistics
import mogo.telematics.pad.MessagePad
import mogo_msg.MogoReportMsg
@@ -71,6 +72,7 @@ object DebugDataDispatch {
const val scanner = "scanner"
const val ota = "ota"
const val video = "video"
const val mediaMusic = "mediaAndMusic"
// adb shell am broadcast -a com.mogo.launcher.debug -f 0x011000000 --es type "location" --es path "1111/11111"
// adb shell am broadcast -a com.mogo.launcher.debug -f 0x011000000 --es type "globalPath" --es path "sy73.json"
@@ -100,6 +102,11 @@ object DebugDataDispatch {
}
when (type) {
mediaMusic -> {
val musicList = MediaBeanManager.getMusicList()
val mediaList = MediaBeanManager.getMediaList()
CallerLogger.d(TAG,"${mediaList}\n${musicList}")
}
video -> {
val ota = intent.getIntExtra("video",0)
// rtmp://video.zhidaozhixing.com/live/861130041693196C_2

View File

@@ -5,18 +5,16 @@ import android.media.MediaFormat
import android.net.Uri
import android.os.Environment
import android.text.TextUtils
import com.google.gson.reflect.TypeToken
import com.mogo.commons.AbsMogoApplication
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.utilcode.download.DownloadUtils
import com.mogo.eagle.core.utilcode.download.callback.IDownloadListener
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OCHCOMMON
import com.mogo.eagle.core.utilcode.util.GsonUtils
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager.EVENT_KEY_INFE_WITH_MUSIC
import com.mogo.och.common.module.utils.FileUtils
import com.mogo.och.common.module.wigets.media.MediaBeanManager
import com.mogo.och.common.module.wigets.media.MediaPlayLogger
import java.io.File
import java.io.FileOutputStream
@@ -40,10 +38,7 @@ object AuditionCacheManager {
ThreadUtils.getIoPool().execute {
val localAdDataList = mutableListOf<MusicData>()
try {
val datas: MusicDataList = GsonUtils.fromJson(
FunctionBuildConfig.musicUrlConfig, object : TypeToken<MusicDataList>() {}.type
)
localAdDataList.addAll(datas.musics)
localAdDataList.addAll(MediaBeanManager.getMusicList())
} catch (e: Exception) {
e.printStackTrace()
}

View File

@@ -1,8 +1,5 @@
package com.mogo.och.common.module.manager.audition
data class MusicDataList(val musics: MutableList<MusicData>)
/**
* 音乐文件
*/

View File

@@ -1,14 +1,106 @@
package com.mogo.och.common.module.wigets.media
data class MediaDataList(val medias: MutableList<MediaItem>)
import com.google.gson.reflect.TypeToken
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.mogo.Vehicle
import com.mogo.eagle.core.utilcode.util.GsonUtils
import com.mogo.och.common.module.manager.audition.MusicData
object MediaBeanManager {
private var datasGlobal: MediaDataWithVehicle? = null
fun getMusicList(): MutableList<MusicData> {
if (datasGlobal == null) {
datasGlobal = GsonUtils.fromJson(
FunctionBuildConfig.mediaUrlConfig,
object : TypeToken<MediaDataWithVehicle?>() {}.type
)
}
return when (AppIdentityModeUtils.getVehicle(FunctionBuildConfig.appIdentityMode)) {
Vehicle.T1T2 -> {
datasGlobal?.T1T2?.musics?:mutableListOf()
}
Vehicle.B1 -> {
datasGlobal?.B1?.musics?:mutableListOf()
}
Vehicle.B2 -> {
datasGlobal?.B1?.musics?:mutableListOf()
}
Vehicle.M1 -> {
datasGlobal?.M1?.musics?:mutableListOf()
}
else -> {
mutableListOf()
}
}
}
fun getMediaList(): MutableList<MediaItem> {
if (datasGlobal == null) {
datasGlobal = GsonUtils.fromJson(
FunctionBuildConfig.mediaUrlConfig,
object : TypeToken<MediaDataWithVehicle?>() {}.type
)
}
return when (AppIdentityModeUtils.getVehicle(FunctionBuildConfig.appIdentityMode)) {
Vehicle.T1T2 -> {
datasGlobal?.T1T2?.medias?:mutableListOf()
}
Vehicle.B1 -> {
datasGlobal?.B1?.medias?:mutableListOf()
}
Vehicle.B2 -> {
datasGlobal?.B1?.medias?:mutableListOf()
}
Vehicle.M1 -> {
datasGlobal?.M1?.medias?:mutableListOf()
}
else -> {
mutableListOf()
}
}
}
}
data class MediaDataWithVehicleList(val musicDataWithEnvList: MutableList<MediaDataWithVehicle>) {
}
data class MediaDataWithVehicle(
val B1: B1,
val B2: B2,
val T1T2: T1T2,
val M1: M1,
)
data class B1(val medias: MutableList<MediaItem>, val musics: MutableList<MusicData>)
data class B2(val medias: MutableList<MediaItem>, val musics: MutableList<MusicData>)
data class T1T2(val medias: MutableList<MediaItem>, val musics: MutableList<MusicData>)
data class M1(val medias: MutableList<MediaItem>, val musics: MutableList<MusicData>)
data class MediaBean(
val medias: MutableList<MediaItem>,
val musics: MutableList<MusicData>,
)
data class MediaItem(
var priority:Int,
var priority: Int,
var fileUrl: String,
var fileType: Int,
var coverImageUrl: String,
var title: String,
val isTemp:Boolean = false
val isTemp: Boolean = false
) {
companion object {
const val MEDIA_TYPE_IMAGE = 1

View File

@@ -195,10 +195,7 @@ object MediaDataSourceManager {
private fun getMediaDataFromLocalConfig(): List<MediaItem> {
val localAdDataList = mutableListOf<MediaItem>()
try {
val datas: MediaDataList = GsonUtils.fromJson(
FunctionBuildConfig.mediaUrlConfig, object : TypeToken<MediaDataList>() {}.type
)
localAdDataList.addAll(datas.medias)
localAdDataList.addAll(MediaBeanManager.getMediaList())
} catch (e: Exception) {
e.printStackTrace()
}