diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/provider/StatusViewManager.java b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/provider/StatusViewManager.java index 34a11778aa..90f569d3af 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/provider/StatusViewManager.java +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/provider/StatusViewManager.java @@ -20,15 +20,16 @@ import com.mogo.eagle.core.function.api.hmi.view.IStatusViewLayout; @Route( path = MogoServicePaths.PATH_STATUS_VIEW_MANAGER ) public class StatusViewManager implements IStatusViewLayout { + private StatusBarView statusBarView; @NonNull @Override public View getStatusView(Context context) { - return new StatusBarView(context); + return statusBarView; } @Override public void init(Context context) { - + statusBarView = new StatusBarView(context); } } diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/MainFragment.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/MainFragment.kt index ef56945ea5..4203fac99b 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/MainFragment.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/MainFragment.kt @@ -5,10 +5,13 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import com.alibaba.android.arouter.launcher.ARouter import com.amap.api.maps.model.LatLng import com.mogo.commons.AbsMogoApplication import com.mogo.commons.mvp.MvpFragment import com.mogo.eagle.core.data.config.HdMapBuildConfig +import com.mogo.eagle.core.data.constants.MogoServicePaths +import com.mogo.eagle.core.function.api.hmi.view.IStatusViewLayout import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager.getMapUIController import com.mogo.eagle.core.function.hmi.ui.msgbox.MMsgBoxButtonView import com.mogo.eagle.core.function.view.SiteMarkerBean @@ -24,6 +27,7 @@ import com.mogo.och.bus.passenger.ui.bottom.BottomBar import com.mogo.och.bus.passenger.ui.bottom.BottomClickView import com.mogo.och.bus.passenger.ui.dialogfragment.M1CarUserNoOrderFragment import com.mogo.och.bus.passenger.ui.dialogfragment.NoviceGuidanceFragment +import com.mogo.och.bus.passenger.ui.statusbar.StatusBarView import com.mogo.och.bus.passenger.utils.ToastCharterUtils import com.mogo.och.common.module.biz.constant.LoginStatusManager import kotlinx.android.synthetic.main.m1_main_fragment.* @@ -36,8 +40,7 @@ import java.lang.ref.WeakReference * @author: wangmingjun * @date: 2022/4/12 */ -class MainFragment : - MvpFragment() { +class MainFragment : MvpFragment() { private var m1CarUserNoOrderFragment: WeakReference? = null private var noviceGuidanceFragment: WeakReference? = null @@ -59,7 +62,16 @@ class MainFragment : } } + private var statusBarView: StatusBarView? = null + override fun getLayoutId(): Int { + (ARouter.getInstance().build(MogoServicePaths.PATH_STATUS_VIEW_MANAGER) + .navigation() as? IStatusViewLayout)?.apply { + val statusView = getStatusView(requireContext()) + if (statusView is StatusBarView) { + statusBarView = statusView + } + } return R.layout.m1_main_fragment } @@ -115,6 +127,7 @@ class MainFragment : BottomBar.SelectView.VIDEO -> showBizView(showVideo = true) else -> { showBizView() + statusBarView?.setBackgroudColor(R.color.bus_p_m1_80ffffff) } } return false @@ -157,21 +170,25 @@ class MainFragment : ) { if (orderinfo) { biz_orderinfo.visibility = View.VISIBLE + statusBarView?.setBackgroudColor(R.color.bus_p_m1_80ffffff) } else { biz_orderinfo.visibility = View.GONE } if (softControl) { biz_softcontrol.visibility = View.VISIBLE + statusBarView?.setBackgroudColor(R.color.bus_p_m1_40ffffff) } else { biz_softcontrol.visibility = View.GONE } if (selectLine) { biz_selectline.visibility = View.VISIBLE + statusBarView?.setBackgroudColor(R.color.bus_p_m1_80ffffff) } else { biz_selectline.visibility = View.GONE } if (showVideo) { biz_video.visibility = View.VISIBLE + statusBarView?.setBackgroudColor(R.color.bus_p_m1_40ffffff) } else { biz_video.visibility = View.GONE } @@ -208,7 +225,7 @@ class MainFragment : omvOverMap.onResume() UiThreadHandler.postDelayed({ getMapUIController()?.setAllGesturesEnabled(false) - },200) + }, 200) } override fun onSaveInstanceState(outState: Bundle) { diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/statusbar/StatusBarView.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/statusbar/StatusBarView.kt index 3da32a8467..633bbf8290 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/statusbar/StatusBarView.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/bus/passenger/ui/statusbar/StatusBarView.kt @@ -6,6 +6,7 @@ import android.os.SystemClock import android.util.AttributeSet import android.view.LayoutInflater import android.view.ViewGroup +import androidx.annotation.ColorRes import androidx.constraintlayout.widget.ConstraintLayout import androidx.core.content.ContextCompat import chassis.ChassisStatesOuterClass @@ -64,6 +65,10 @@ class StatusBarView @JvmOverloads constructor( isFocusable = true } + fun setBackgroudColor(@ColorRes color:Int){ + setBackgroundColor(ContextCompat.getColor(context,color)) + } + override fun onAttachedToWindow() { super.onAttachedToWindow() post { diff --git a/OCH/charter/passenger/src/main/res/drawable-nodpi/charter_p_car_light.png b/OCH/charter/passenger/src/main/res/drawable-nodpi/charter_p_car_light.png new file mode 100644 index 0000000000..3d4acc9951 Binary files /dev/null and b/OCH/charter/passenger/src/main/res/drawable-nodpi/charter_p_car_light.png differ diff --git a/OCH/charter/passenger/src/main/res/layout/m1_main_fragment.xml b/OCH/charter/passenger/src/main/res/layout/m1_main_fragment.xml index 34c8d162de..e3fcc1ec3a 100644 --- a/OCH/charter/passenger/src/main/res/layout/m1_main_fragment.xml +++ b/OCH/charter/passenger/src/main/res/layout/m1_main_fragment.xml @@ -19,6 +19,7 @@ android:layout_height="match_parent" app:bottomPadding="200" app:carDrawable="@drawable/bug_p_overmap_car_model" + app:compassDrawable="@drawable/charter_p_car_light" app:isClearArrived="true" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" diff --git a/OCH/charter/passenger/src/main/res/values/color.xml b/OCH/charter/passenger/src/main/res/values/color.xml index c0a5c39c1e..cbf9937b31 100644 --- a/OCH/charter/passenger/src/main/res/values/color.xml +++ b/OCH/charter/passenger/src/main/res/values/color.xml @@ -50,6 +50,7 @@ #91EFF6FF #CCFFFFFF #80FFFFFF + #40FFFFFF #F0E0EFFF #66000000 \ No newline at end of file