diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/SeekHelpManager.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/SeekHelpManager.kt index 5fba742d6d..70050fb729 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/SeekHelpManager.kt +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/SeekHelpManager.kt @@ -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("求助上报失败,请稍后重试") }