This commit is contained in:
tongchenfei
2020-04-23 18:38:22 +08:00
parent bd145b0555
commit a66db673f1

View File

@@ -20,6 +20,7 @@ import com.mogo.utils.storage.SharedPrefsMgr
import com.zhidao.auto.platform.util.DeviceUtil
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
import java.util.*
/**
* 故障求助管理类,相关故障求助操作的具体实现类
@@ -94,14 +95,16 @@ object SeekHelpManager {
isSeekHelp -> {
// 正在求助中,进行异常提示
toast("已发布故障求助,请耐心等待")
aiAssist?.speakTTSVoice("已发布故障求助,请耐心等待")
isSeeking = false
aiAssist?.speakTTSVoice("已发布故障求助,请耐心等待")
seekHelpSuccess()
}
getSeekAmountByLimitTime() >= SEEK_RECORD_LIMIT_AMOUNT -> {
// 超过限制时间内的限制次数,进行异常提示
toast("已在求助状态,请勿连续发布哦")
aiAssist?.speakTTSVoice("已在求助状态,请勿连续发布哦")
isSeeking = false
seekHelpSuccess()
}
else -> {
// 没有异常情况,开始故障求助
@@ -136,10 +139,10 @@ object SeekHelpManager {
*/
private fun getSeekAmountByLimitTime(): Int {
val current = SystemClock.elapsedRealtime()
val recordIterator = seekRecordList.iterator()
while (recordIterator.hasNext()) {
if ((current - recordIterator.next().recordTime) >= SEEK_RECORD_LIMIT_TIME) {
recordIterator.remove()
val iterator = seekRecordList.iterator()
while (iterator.hasNext()) {
if ((current - iterator.next().recordTime) >= SEEK_RECORD_LIMIT_TIME) {
iterator.remove()
}
}
return seekRecordList.size
@@ -164,9 +167,7 @@ object SeekHelpManager {
aiAssist?.speakTTSVoice("已发布求助信息,将为你通知其他车主")
toast("已发布求助信息,将为你通知其他车主")
seekRecordList.add(SeekRecord(SystemClock.elapsedRealtime()))
seekListenerList.forEach {
it.onSeekHelpSuccess()
}
seekHelpSuccess()
isSeeking = false
}
@@ -189,11 +190,22 @@ object SeekHelpManager {
})
}
private fun seekHelpSuccess(){
val iterator = seekListenerList.iterator()
while (iterator.hasNext()) {
iterator.next().onSeekHelpSuccess()
}
}
private fun seekHelpFail() {
isSeekHelp = false
seekListenerList.forEach {
it.onSeekHelpFail()
val iterator = seekListenerList.iterator()
while (iterator.hasNext()) {
iterator.next().onSeekHelpFail()
}
// seekListenerList.forEach {
// it.onSeekHelpFail()
// }
toast("求助上报失败,请稍后重试")
aiAssist?.speakTTSVoice("求助上报失败,请稍后重试")
}