From 1e83fd5566697e99c3b2a7f20f2d74dc6b183c8b Mon Sep 17 00:00:00 2001 From: yangyakun Date: Mon, 13 Feb 2023 19:36:50 +0800 Subject: [PATCH] =?UTF-8?q?[m1]=20[1.0.0]=20[=E7=8A=B6=E6=80=81=E6=A0=8F?= =?UTF-8?q?=E9=80=9A=E8=BF=87Arout=E8=8E=B7=E5=8F=96]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/m1/AndroidManifest.xml | 57 ------------------- .../passenger/provider/StatusViewManager.java | 34 +++++++++++ .../och/bus/passenger/ui/M1HomeActivity.kt | 12 ---- .../eagle/core/function/main/MainActivity.kt | 17 +----- .../core/data/constants/MogoServicePaths.java | 6 ++ .../api/hmi/view/IStatusViewLayout.kt | 18 ++++++ .../call/hmi/CallerHmiFloatViewManager.kt | 10 ++++ 7 files changed, 71 insertions(+), 83 deletions(-) delete mode 100644 OCH/mogo-och-bus-passenger/src/m1/AndroidManifest.xml create mode 100644 OCH/mogo-och-bus-passenger/src/m1/java/com/mogo/och/bus/passenger/provider/StatusViewManager.java delete mode 100644 OCH/mogo-och-bus-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1HomeActivity.kt create mode 100644 core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/view/IStatusViewLayout.kt 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