diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseOchBusTabFragment.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseOchBusTabFragment.java index 1ff52a0d9c..5423cd0db1 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseOchBusTabFragment.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseOchBusTabFragment.java @@ -204,8 +204,7 @@ public abstract class BaseOchBusTabFragment { // onShow() - CallerHmiManager.INSTANCE.showBadCaseEntrance(mBadcaseBtn); - return null; }, + return mBadcaseBtn; }, () -> { // onHide() return null; }); } diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseOchTaxiTabFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseOchTaxiTabFragment.java index 76097c420e..74d909f48f 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseOchTaxiTabFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseOchTaxiTabFragment.java @@ -137,8 +137,7 @@ public abstract class BaseOchTaxiTabFragment { // onShow() - CallerHmiManager.INSTANCE.showBadCaseEntrance(mBadcaseBtn); - return null; }, + return mBadcaseBtn; }, () -> { // onHide() return null; }); diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt index 878899b6a8..265f440c2a 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt @@ -94,7 +94,7 @@ class MoGoHmiFragment : MvpFragment private var autoPilotBadCaseView: AutoPilotBadCaseView? = null - private var onBadCaseShow: (() -> Unit)? = null + private var onBadCaseShow: (() -> View)? = null private var onBadCaseHide: (() -> Unit)? = null companion object { @@ -318,19 +318,12 @@ class MoGoHmiFragment : MvpFragment } dismissBadCaseEntryAfterSomeTime() } else { - onBadCaseShow?.invoke() - } - } - } - - override fun showBadCaseEntrance(entrance: View) { - entrance.lifecycleOwner.lifecycle.addObserver(badCaseEntranceObserver) - autoPilotBadCaseEntrance = entrance - lifecycleScope.launch { - withContext(Dispatchers.IO) { - val dao = Repository.dao() - dao.getAllUnConsumedRecords()?.first()?.let { - showBadCaseEntrance(it) + val view = onBadCaseShow?.invoke() + if (view != null) { + view.lifecycleOwner.lifecycle.addObserver(badCaseEntranceObserver) + view.visibility = View.GONE + autoPilotBadCaseEntrance = view + showBadCaseEntrance(record) } } } @@ -344,7 +337,7 @@ class MoGoHmiFragment : MvpFragment } } - override fun registerBadCaseCallback(onShow: () -> Unit, onHide: (() -> Unit)?) { + override fun registerBadCaseCallback(onShow: () -> View, onHide: (() -> Unit)?) { onBadCaseShow = onShow onBadCaseHide = onHide } diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoWaringProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoWaringProvider.kt index 50ded93312..bf8cad29ac 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoWaringProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoWaringProvider.kt @@ -181,16 +181,10 @@ interface IMoGoWaringProvider { fun showAdUpgradeStatus(upgradeMode : Int,downloadStatus : Int,currentProgress : Int,totalProgress : Int ,downloadVersion : String,upgradeStatus : Int) - - /** - * 显示BadCase入口 - */ - fun showBadCaseEntrance(entrance: View) - /** * 注册badcase入口展示和隐藏的回调 * 当[onShow]被调用时,调用[showBadCaseEntrance] * [onHide]回调不用关心,可以不注册 */ - fun registerBadCaseCallback(onShow:() -> Unit, onHide: (() -> Unit)?) + fun registerBadCaseCallback(onShow:() -> View, onHide: (() -> Unit)?) } \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt index 04ffc50d4e..15f74ffd6e 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt @@ -257,19 +257,12 @@ object CallerHmiManager : CallerBase() { waringProviderApi?.showAdUpgradeStatus(upgradeMode,downloadStatus, currentProgress, totalProgress, downloadVersion, upgradeStatus) } - /** - * 显示BadCase入口 - */ - fun showBadCaseEntrance(entrance: View) { - waringProviderApi?.showBadCaseEntrance(entrance) - } - /** * 注册badcase入口展示和隐藏的回调 - * 当[onShow]被调用时,调用[showBadCaseEntrance] + * 当[onShow]被调用时, 表示达到展示条件,返回展示的入口控件 * [onHide]回调不用关心,可以不注册 */ - fun registerBadCaseCallback(onShow:() -> Unit, onHide: (() -> Unit)?) { + fun registerBadCaseCallback(onShow:() -> View, onHide: (() -> Unit)?) { waringProviderApi?.registerBadCaseCallback(onShow, onHide) }