diff --git a/OCH/mogo-och-bus-passenger/src/m1/AndroidManifest.xml b/OCH/mogo-och-bus-passenger/src/m1/AndroidManifest.xml
deleted file mode 100644
index 7856cbfee4..0000000000
--- a/OCH/mogo-och-bus-passenger/src/m1/AndroidManifest.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OCH/mogo-och-bus-passenger/src/m1/java/com/mogo/och/bus/passenger/provider/StatusViewManager.java b/OCH/mogo-och-bus-passenger/src/m1/java/com/mogo/och/bus/passenger/provider/StatusViewManager.java
new file mode 100644
index 0000000000..3355370d12
--- /dev/null
+++ b/OCH/mogo-och-bus-passenger/src/m1/java/com/mogo/och/bus/passenger/provider/StatusViewManager.java
@@ -0,0 +1,34 @@
+package com.mogo.och.bus.passenger.provider;
+
+import android.content.Context;
+import android.view.View;
+
+import com.mogo.och.bus.passenger.view.statusbar.StatusBarView;
+
+import androidx.annotation.NonNull;
+
+import com.alibaba.android.arouter.facade.annotation.Route;
+import com.mogo.eagle.core.data.constants.MogoServicePaths;
+import com.mogo.eagle.core.function.api.hmi.view.IStatusViewLayout;
+
+/**
+ * @author congtaowang
+ * @since 2020-01-06
+ *
+ * 根据优先级控制显示 window view.
+ */
+@Route( path = MogoServicePaths.PATH_STATUS_VIEW_MANAGER )
+public class StatusViewManager implements IStatusViewLayout {
+
+
+ @NonNull
+ @Override
+ public View getStatusView(Context context) {
+ return new StatusBarView(context);
+ }
+
+ @Override
+ public void init(Context context) {
+
+ }
+}
diff --git a/OCH/mogo-och-bus-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1HomeActivity.kt b/OCH/mogo-och-bus-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1HomeActivity.kt
deleted file mode 100644
index 0b91b5d2cd..0000000000
--- a/OCH/mogo-och-bus-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1HomeActivity.kt
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.mogo.och.bus.passenger.ui
-
-import android.os.Bundle
-import com.mogo.eagle.core.function.main.MainLauncherActivity
-import com.mogo.och.bus.passenger.view.statusbar.StatusBarView
-
-class M1HomeActivity : MainLauncherActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- statusBar = StatusBarView(this)
- super.onCreate(savedInstanceState)
- }
-}
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.kt
index 7cd3cc458d..a8a8fa246f 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.kt
@@ -25,6 +25,7 @@ import com.mogo.eagle.core.data.deva.chain.ChainConstant
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
+import com.mogo.eagle.core.function.call.hmi.CallerHmiFloatViewManager
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager.getMapUIController
import com.mogo.eagle.core.function.call.startup.CallerStartUpManager.initStageTwo
@@ -97,7 +98,8 @@ open class MainActivity : MvpActivity(), MainView,
decorView.clipToPadding = false
var statusBarView = decorView.findViewWithTag("status_bar")
if (statusBarView == null) {
- statusBarView = statusBar
+ val statusBar = CallerHmiFloatViewManager.getView(this)
+ statusBarView = statusBar?:StatusBarView(this)
statusBarView.setTag("status_bar")
}
val statusBarLP = FrameLayout.LayoutParams(
@@ -109,19 +111,6 @@ open class MainActivity : MvpActivity(), MainView,
decorView.addView(statusBarView, statusBarLP)
}
- /**
- * 修改statusBar重新赋值
- * @return StatusBarView
- */
- protected var statusBar: View?=null
- get() {
- return if (field == null) {
- StatusBarView(this)
- }else{
- field
- }
- }
-
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
calculateStartTime()
diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MogoServicePaths.java b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MogoServicePaths.java
index f319c9556a..6e4f6af620 100644
--- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MogoServicePaths.java
+++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MogoServicePaths.java
@@ -35,6 +35,12 @@ public class MogoServicePaths {
@Deprecated
public static final String PATH_FLOAT_VIEW_MANAGER = "/floatview/api";
+ /**
+ * Status View
+ */
+ @Keep
+ public static final String PATH_STATUS_VIEW_MANAGER = "/statusview/api";
+
/**
* v2x 模块
*/
diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/view/IStatusViewLayout.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/view/IStatusViewLayout.kt
new file mode 100644
index 0000000000..f91632b809
--- /dev/null
+++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/view/IStatusViewLayout.kt
@@ -0,0 +1,18 @@
+package com.mogo.eagle.core.function.api.hmi.view
+
+import android.content.Context
+import android.view.View
+import android.widget.FrameLayout
+import com.alibaba.android.arouter.facade.template.IProvider
+
+/**
+ * 设置状态栏View
+ */
+interface IStatusViewLayout : IProvider{
+
+ /**
+ * 提供状态栏View
+ */
+ fun getStatusView(context: Context):View
+
+}
\ No newline at end of file
diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiFloatViewManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiFloatViewManager.kt
index abec4372d0..29226aa672 100644
--- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiFloatViewManager.kt
+++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiFloatViewManager.kt
@@ -1,9 +1,12 @@
package com.mogo.eagle.core.function.call.hmi
+import android.content.Context
import android.view.View
import android.widget.FrameLayout
import com.alibaba.android.arouter.launcher.ARouter
import com.mogo.eagle.core.data.constants.MogoServicePaths.PATH_FLOAT_VIEW_MANAGER
+import com.mogo.eagle.core.data.constants.MogoServicePaths.PATH_STATUS_VIEW_MANAGER
+import com.mogo.eagle.core.function.api.hmi.view.IStatusViewLayout
import com.mogo.eagle.core.function.api.hmi.view.IViewLayoutSet
/**
@@ -14,6 +17,9 @@ object CallerHmiFloatViewManager {
private val floatViewProviderApi
get() = ARouter.getInstance().build(PATH_FLOAT_VIEW_MANAGER)
.navigation() as? IViewLayoutSet
+ private val statusViewProviderApi
+ get() = ARouter.getInstance().build(PATH_STATUS_VIEW_MANAGER)
+ .navigation() as? IStatusViewLayout
fun addView(view: View, params: FrameLayout.LayoutParams, movable: Boolean) {
floatViewProviderApi?.addView(view, params, movable)
@@ -22,4 +28,8 @@ object CallerHmiFloatViewManager {
fun removeView(view: View) {
floatViewProviderApi?.removeView(view)
}
+
+ fun getView(context:Context):View?{
+ return statusViewProviderApi?.getStatusView(context)
+ }
}
\ No newline at end of file