diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/TaxiPassengerBaseFragment.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/TaxiPassengerBaseFragment.kt
index 06eeed44f7..cf6e37f301 100644
--- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/TaxiPassengerBaseFragment.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/TaxiPassengerBaseFragment.kt
@@ -40,13 +40,11 @@ import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.cb_setting_voice
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.chekAndStartAutopilotView
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.infoVideoView
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.itinerary
-import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.lbv_go2_center
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.light_setting
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.mHomeView
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.musicBarView
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.mv_music_info
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.overMapView
-import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.speedView
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.voice_setting
/**
@@ -114,25 +112,7 @@ class TaxiPassengerBaseFragment :
}
}
}
- lbv_go2_center.setOrderIdCallback(object : LeftBarView.LeftBarCallback{
- override fun setGo2CenterClick() {
- when (bottom.getCurrentPage()) {
- BottomBar.SelectView.PRECISIONMAP -> {
- //切换到地图中间
-// mapBizView.getUI()?.let {
-// val wgs02Location = OchLocationManager.getWgs02Location()
-// it.moveToCenter(MogoLatLng(wgs02Location.latitude,wgs02Location.longitude))
-// }
- }
- BottomBar.SelectView.OVERMAPVIEW -> {
- //overMapView.displayCustomOverView()
- }
- else -> {}
- }
- }
-
- })
}
private fun initListener() {
@@ -156,9 +136,6 @@ class TaxiPassengerBaseFragment :
overMapView.visibility = View.GONE
mHomeView.visibility = View.VISIBLE
presenter?.setItineraryVisibility()
- speedView.visibility = View.VISIBLE
- lbv_go2_center.visibility = View.VISIBLE
- lbv_go2_center.showAngle()
CallerHmiManager.showTrafficLightView()
infoVideoView.visibility = View.GONE
mv_music_info.visibility = View.GONE
@@ -169,8 +146,6 @@ class TaxiPassengerBaseFragment :
overMapView.visibility = View.VISIBLE
mHomeView.visibility = View.GONE
presenter?.setItineraryVisibility()
- speedView.visibility = View.VISIBLE
- lbv_go2_center.visibility = View.GONE
//lbv_go2_center.showOnlyCenter()
CallerHmiManager.showTrafficLightView()
infoVideoView.visibility = View.GONE
@@ -182,8 +157,6 @@ class TaxiPassengerBaseFragment :
overMapView.visibility = View.GONE
mHomeView.visibility = View.GONE
presenter?.setItineraryVisibility()
- speedView.visibility = View.GONE
- lbv_go2_center.visibility = View.GONE
CallerHmiManager.hideTrafficLightView()
infoVideoView.visibility = View.VISIBLE
mv_music_info.visibility = View.GONE
@@ -194,8 +167,6 @@ class TaxiPassengerBaseFragment :
overMapView.visibility = View.GONE
mHomeView.visibility = View.GONE
presenter?.setItineraryVisibility()
- speedView.visibility = View.GONE
- lbv_go2_center.visibility = View.GONE
CallerHmiManager.hideTrafficLightView()
infoVideoView.visibility = View.GONE
mv_music_info.visibility = View.VISIBLE
@@ -394,7 +365,7 @@ class TaxiPassengerBaseFragment :
allAnimator.addAll(aniStatusBar(isShow))
allAnimator.addAll(aniBottomBar(isShow))
- allAnimator.addAll(aniSpeedSettingRow(isShow,speedView))
+ //allAnimator.addAll(aniSpeedSettingRow(isShow,speedView))
allAnimator.addAll(aniOrderInfo(isShow))
animatorSet.playTogether(allAnimator)
diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/homepage/HomeView.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/homepage/HomeView.kt
index 765fe1c97f..7bc001f0d4 100644
--- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/homepage/HomeView.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/homepage/HomeView.kt
@@ -1,12 +1,26 @@
package com.mogo.och.unmanned.passenger.ui.homepage
+import android.animation.Animator
+import android.animation.ObjectAnimator
+import android.animation.ValueAnimator
import android.content.Context
import android.os.Bundle
import android.util.AttributeSet
import android.view.LayoutInflater
import androidx.constraintlayout.widget.ConstraintLayout
+import androidx.constraintlayout.widget.Guideline
+import com.mogo.eagle.core.utilcode.kotlin.onClick
+import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
+import com.mogo.och.unmanned.passenger.ui.bar.LeftBarView
import com.mogo.och.unmanned.taxi.passenger.R
+import kotlinx.android.synthetic.main.taxi_p_home.view.acbtn_show_all
+import kotlinx.android.synthetic.main.taxi_p_home.view.acbtn_show_hdmap
import kotlinx.android.synthetic.main.taxi_p_home.view.hdMapView
+import kotlinx.android.synthetic.main.taxi_p_home.view.lbv_go2_center
+import kotlinx.android.synthetic.main.taxi_p_home.view.leftContainer
+import kotlinx.android.synthetic.main.taxi_p_home.view.leftEndGuideline
+import kotlinx.android.synthetic.main.taxi_p_home.view.midContainer
+import kotlinx.android.synthetic.main.taxi_p_home.view.midStartGuideline
class HomeView @JvmOverloads constructor(
context: Context,
@@ -15,9 +29,47 @@ class HomeView @JvmOverloads constructor(
) : ConstraintLayout(context, attrs, defStyleAttr){
+ private var isAMapShow = true
+ private var isHDMapShow = false
+ private var isReadyForShowHDMap = false
+ private var currentAnimator: ValueAnimator? = null
+
+ private var TAG = "HomeView"
+
+
private fun initView() {
LayoutInflater.from(context).inflate(R.layout.taxi_p_home, this, true)
+ initlistener()
+ }
+
+ private fun initlistener() {
+ lbv_go2_center.setOrderIdCallback(object : LeftBarView.LeftBarCallback{
+ override fun setGo2CenterClick() {
+ //切换到地图中间
+// mapBizView.getUI()?.let {
+// val wgs02Location = OchLocationManager.getWgs02Location()
+// it.moveToCenter(MogoLatLng(wgs02Location.latitude,wgs02Location.longitude))
+// }
+ //overMapView.displayCustomOverView()
+ }
+
+ })
+
+ acbtn_show_hdmap.onClick {
+ showHdMap()
+ }
+ acbtn_show_all.onClick {
+ showAmapAndHdMap()
+ }
+ }
+
+ fun showHdMap(){
+ updateViewState(true,false,true)
+ }
+
+ fun showAmapAndHdMap(){
+ updateViewState(true,true,false)
}
fun onCreate(savedInstanceState: Bundle?) {
@@ -45,6 +97,111 @@ class HomeView @JvmOverloads constructor(
}
+ private fun updateViewState(
+ showHDMapView: Boolean,
+ showAMapView: Boolean,
+ animate: Boolean = true
+ ) {
+ // 展示高德地图和高精地图
+ if (showHDMapView && showAMapView) {
+ CallerLogger.d(TAG,"展示高德地图和高精地图${showHDMapView}_$showAMapView")
+ midStartGuideline.setGuidelinePercent(0.333f)
+ if (animate) {
+ animateGuidelinePercent(
+ leftEndGuideline,
+ 0.333f,
+ 1000
+ ) {
+ lbv_go2_center.visibility = GONE
+ }
+ } else {
+ leftEndGuideline.setGuidelinePercent(0.333f)
+ lbv_go2_center.visibility = GONE
+ }
+ }
+ // 不展示高德 展示高精
+ if (showHDMapView && !showAMapView) {
+ CallerLogger.d(TAG,"展示高德 不展示高精${showHDMapView}_$showAMapView")
+ if (animate) {
+ animateGuidelinePercent(
+ leftEndGuideline,
+ 0.666f,
+ 1000,
+ end = {
+ lbv_go2_center.visibility = VISIBLE
+ }
+ )
+ } else {
+ leftEndGuideline.setGuidelinePercent(0.666f)
+ lbv_go2_center.visibility = VISIBLE
+ }
+ }
+ // 不展示高精 展示高德
+ if (!showHDMapView && showAMapView) {
+ CallerLogger.d(TAG,"展示高精 不展示高德${showHDMapView}_$showAMapView")
+ if (animate) {
+ midStartGuideline.setGuidelinePercent(0.0f)
+ animateGuidelinePercent(
+ leftEndGuideline,
+ 0.0f,
+ 1000
+ ) {
+ lbv_go2_center.visibility = GONE
+ }
+ }
+ else {
+ leftEndGuideline.setGuidelinePercent(0.0f)
+ midStartGuideline.setGuidelinePercent(0.0f)
+ lbv_go2_center.visibility = GONE
+ }
+ }
+ }
+
+ private fun animateGuidelinePercent(
+ guideline: Guideline,
+ endPercent: Float,
+ duration: Long,
+ start: (() -> Unit)? = null,
+ end: (() -> Unit)? = null
+ ) {
+ // 如果当前已有动画在运行,先取消它
+ if (currentAnimator?.isRunning == true) {
+ currentAnimator?.cancel()
+ }
+
+ val startPercent = (guideline.layoutParams as ConstraintLayout.LayoutParams).guidePercent
+ // 创建新的 ObjectAnimator
+ currentAnimator = ObjectAnimator.ofFloat(
+ guideline,
+ "guidelinePercent",
+ startPercent,
+ endPercent
+ )
+ // 设置动画时长
+ currentAnimator?.setDuration(duration)
+
+ // 设置动画回调监听器
+ currentAnimator?.addListener(object : Animator.AnimatorListener {
+ override fun onAnimationStart(animation: Animator) {
+ start?.invoke()
+ }
+
+ override fun onAnimationEnd(animation: Animator) {
+ end?.invoke()
+ }
+
+ override fun onAnimationCancel(animation: Animator) {
+ }
+
+ override fun onAnimationRepeat(animation: Animator) {
+ }
+ })
+
+ // 启动新的动画
+ currentAnimator?.start()
+ }
+
+
init {
try {
initView()
diff --git a/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_home_middle_bottom_bg.9.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_home_middle_bottom_bg.9.png
new file mode 100644
index 0000000000..c164452548
Binary files /dev/null and b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_home_middle_bottom_bg.9.png differ
diff --git a/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_home_middle_top_bg.9.png b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_home_middle_top_bg.9.png
new file mode 100644
index 0000000000..21c2f9f74b
Binary files /dev/null and b/OCH/taxi/unmanned-passenger/src/main/res/drawable-nodpi/taxi_p_home_middle_top_bg.9.png differ
diff --git a/OCH/taxi/unmanned-passenger/src/main/res/layout/taxi_p_home.xml b/OCH/taxi/unmanned-passenger/src/main/res/layout/taxi_p_home.xml
index 346611b025..bc0d779395 100644
--- a/OCH/taxi/unmanned-passenger/src/main/res/layout/taxi_p_home.xml
+++ b/OCH/taxi/unmanned-passenger/src/main/res/layout/taxi_p_home.xml
@@ -6,27 +6,6 @@
android:layout_height="match_parent"
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
-
-
-
-
-
-
-
-
+ android:layout_marginBottom="@dimen/dp_10"
+ app:layout_constraintTop_toTopOf="parent"
+ android:layout_marginStart="-6.5dp"
+ android:layout_marginEnd="-6.5dp"
+ app:layout_constraintStart_toEndOf="@+id/midStartGuideline"
+ app:layout_constraintEnd_toStartOf="@id/rightStartGuideline">
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ app:layout_constraintStart_toEndOf="@id/rightStartGuideline">
-
-
-
-
+
+
\ No newline at end of file
diff --git a/OCH/taxi/unmanned-passenger/src/main/res/layout/taxt_u_p_base_fragment.xml b/OCH/taxi/unmanned-passenger/src/main/res/layout/taxt_u_p_base_fragment.xml
index 889782b12f..5181385308 100644
--- a/OCH/taxi/unmanned-passenger/src/main/res/layout/taxt_u_p_base_fragment.xml
+++ b/OCH/taxi/unmanned-passenger/src/main/res/layout/taxt_u_p_base_fragment.xml
@@ -40,15 +40,6 @@
android:layout_width="match_parent"
android:layout_height="match_parent"/>
-
-
-
-
-
-
-
-
+
\ No newline at end of file