diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/AIViewModel.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/AIViewModel.kt index a44fcf8155..a78c8e14df 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/AIViewModel.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/AIViewModel.kt @@ -122,9 +122,21 @@ class AIViewModel : ViewModel(), AIMessageManager.AIMessageListener, IWakeUpList llmResultJob = viewModelScope.launch(Dispatchers.IO) { V2XRepository.llmResultFlow.collect { result -> + if (result.queryId.startsWith("AUTO")) { + return@collect + } + if (result.aiMsg.eventType != "workflow_finished") { + return@collect + } Log.d(TAG, "llm result: $result") val title = result.aiMsg?.title ?: "" - val suggestion = result.aiMsg?.suggestion ?: result.answer ?: "" + val suggestion1 = result.aiMsg?.suggestion + val answer = result.answer + val suggestion = if(suggestion1.isNullOrEmpty()){ + answer + }else{ + suggestion1 + } val msg = msgList.findLast { it.id == result.queryId } @@ -133,33 +145,18 @@ class AIViewModel : ViewModel(), AIMessageManager.AIMessageListener, IWakeUpList return@collect } - if (result.aiMsg?.data != null) { - val data: MGCommonTitleBean? = result.aiMsg?.parseData() - val content = data?.title ?: "" - AIMessage.QA( - id = result.queryId, - title = title, - tts = content, - answer = content, - question = "", - pictureUrl = result.imgUrls.getOrNull(0) ?: "", - pictureUrlList = result.imgUrls, - ) - }else{ - AIMessageManager.post( - AIMessage.QA( - id = result.queryId, - title = result.answer, - tts = result.answer, - answer = suggestion, - question = msg.question, - state = AIMessage.QA.QuestionState.FINISH, - pictureUrl = result.imgUrls.getOrNull(0) ?: "", - pictureUrlList = result.imgUrls - ) - ) - } - + AIMessageManager.post( + AIMessage.QA( + id = result.queryId, + title = result.answer, + tts = result.answer, + answer = suggestion, + question = msg.question, + state = AIMessage.QA.QuestionState.FINISH, + pictureUrl = result.imgUrls.getOrNull(0) ?: "", + pictureUrlList = result.imgUrls + ) + ) } } } diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/adapter/AIMessageViewHolder.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/adapter/AIMessageViewHolder.kt index c9b82721e3..6633fdf3d7 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/adapter/AIMessageViewHolder.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/adapter/AIMessageViewHolder.kt @@ -136,11 +136,19 @@ class QAViewHolder(val binding: View) : MessageViewHolder(binding) { tvPncActionDesc.visibility = View.GONE tvTitleImage.visibility = View.VISIBLE }else{ - tvTitle.text = item.title - tvPncActionDesc.text = item.answer - tvTitle.visibility = View.VISIBLE - tvPncActionDesc.visibility = View.VISIBLE - tvTitleImage.visibility = View.VISIBLE + if(item.title.isNullOrEmpty()){ + tvTitle.text = item.title + tvPncActionDesc.text = item.answer + tvTitle.visibility = View.VISIBLE + tvPncActionDesc.visibility = View.GONE + tvTitleImage.visibility = View.VISIBLE + }else { + tvTitle.text = item.title + tvPncActionDesc.text = item.answer + tvTitle.visibility = View.VISIBLE + tvPncActionDesc.visibility = View.VISIBLE + tvTitleImage.visibility = View.VISIBLE + } } handleTimestamp(item, tvTimestamp) diff --git a/OCH/taxi/unmanned-passenger/src/main/res/layout/item_ai_msg_qa.xml b/OCH/taxi/unmanned-passenger/src/main/res/layout/item_ai_msg_qa.xml index 7a34262925..e39e88465f 100644 --- a/OCH/taxi/unmanned-passenger/src/main/res/layout/item_ai_msg_qa.xml +++ b/OCH/taxi/unmanned-passenger/src/main/res/layout/item_ai_msg_qa.xml @@ -100,6 +100,7 @@ android:visibility="gone" tools:visibility="visible" android:textStyle="bold" + android:singleLine="true" style="@style/AIMsgTextTitle" tools:text="前方道路施工" />