[6.2.6]
[taxi-u-p] [动画修改]
@@ -29,7 +29,7 @@ class BigFrameAnimatorContainer (resId: Int,
|
||||
private var mSoftReferenceImageView: SoftReference<ImageView>? = null // 软引用ImageView,以便及时释放掉
|
||||
private var mHandler: Handler? = null
|
||||
private var mDelayMillis = 0
|
||||
private var mOnAnimationStoppedListener: OnAnimationStoppedListener? = null//播放停止监听
|
||||
var mOnAnimationStoppedListener: OnAnimationStoppedListener? = null//播放停止监听
|
||||
var isOnce:Boolean = false
|
||||
|
||||
private val readQueue = ArrayBlockingQueue<Pair<Bitmap,BitmapFactory.Options>>(8,true)
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
package com.mogo.och.taxi.passenger.ui
|
||||
|
||||
import android.animation.Animator
|
||||
import android.animation.AnimatorListenerAdapter
|
||||
import android.animation.AnimatorSet
|
||||
import android.animation.ObjectAnimator
|
||||
import android.annotation.SuppressLint
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
@@ -20,7 +25,9 @@ import com.mogo.och.common.module.utils.RxUtils
|
||||
import com.mogo.och.common.module.voice.VoiceNotice
|
||||
import com.mogo.och.taxi.passenger.R
|
||||
import com.mogo.och.taxi.passenger.presenter.BaseTaxiPassengerPresenter
|
||||
import com.mogo.och.taxi.passenger.ui.arrived.ArrivedView
|
||||
import com.mogo.och.taxi.passenger.ui.bottom.BottomBar
|
||||
import com.mogo.och.taxi.passenger.ui.checkstartautopilot.ChekAndStartAutopilotView
|
||||
import com.mogo.och.taxi.passenger.ui.statusview.StatusBarView
|
||||
import io.reactivex.disposables.Disposable
|
||||
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.arrivedView
|
||||
@@ -36,6 +43,7 @@ import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.pcnActionView
|
||||
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.romaDistanceView
|
||||
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.romaPView
|
||||
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.rv_location_center
|
||||
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.speedView
|
||||
|
||||
/**
|
||||
* 网约车基础Fragment,主要负责布局通用界面,处理站点面板和通话面板互斥情况
|
||||
@@ -169,6 +177,22 @@ class TaxiPassengerBaseFragment() :
|
||||
}
|
||||
|
||||
}
|
||||
arrivedView.arrivedVisilityChangeListenr = object :ArrivedView.ArrivedVisilityChangeListenr{
|
||||
override fun isShow(show: Boolean) {
|
||||
CallerLogger.d(M_TAXI_P + TAG, "arrived ${show}")
|
||||
if(arrivedView.visibility==View.GONE&&chekAndStartAutopilotView.visibility==View.GONE){
|
||||
showOrHide(true)
|
||||
}
|
||||
}
|
||||
}
|
||||
chekAndStartAutopilotView.checkAndStartVisilityChangeListenr = object :ChekAndStartAutopilotView.CheckAndStartVisilityChangeListenr{
|
||||
override fun isShow(show: Boolean) {
|
||||
CallerLogger.d(M_TAXI_P + TAG, "check and startAutopilot ${show}")
|
||||
if(arrivedView.visibility==View.GONE&&chekAndStartAutopilotView.visibility==View.GONE){
|
||||
showOrHide(true)
|
||||
}
|
||||
}
|
||||
}
|
||||
view?.viewTreeObserver?.addOnWindowFocusChangeListener {
|
||||
if(it){
|
||||
CallerLogger.d(M_TAXI_P + TAG, "windows获取焦点")
|
||||
@@ -245,23 +269,52 @@ class TaxiPassengerBaseFragment() :
|
||||
|
||||
fun setOverMapDebug(){
|
||||
overMapView.setDebugMode(true)
|
||||
showOrHide(true)
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示或者隐藏到达乘客站点的洁面
|
||||
* ① 取消订单 可有可无
|
||||
* ② 到达上车点 隐藏到达终点的页面(上一个订单没有评价)
|
||||
* ③ 到达目的地 显示到达终点的页面
|
||||
* ④ debug 使用
|
||||
*
|
||||
* @param isShow true 展示 false 隐藏
|
||||
*/
|
||||
fun showOrHideArrivedEndLayout(isShow: Boolean) {
|
||||
chekAndStartAutopilotView.visibility = View.GONE
|
||||
if (isShow) {
|
||||
exitFullVideoScreen(true)
|
||||
arrivedView.aniArrived(true)
|
||||
showOrHide(false)
|
||||
RxUtils.createSubscribe(500) {
|
||||
arrivedView.setDataAndStartAnimation()
|
||||
VoiceNotice.showNotice("已到达目的地,带好随身物品,右侧下车更安全!期待下次再见", AIAssist.LEVEL2)
|
||||
}
|
||||
} else {
|
||||
showOrHide(true)
|
||||
arrivedView.aniArrived(false)
|
||||
}
|
||||
}
|
||||
|
||||
fun showOrHideCheckAndStartAutopilotView(status:Int){
|
||||
arrivedView.visibility = View.GONE
|
||||
when (status) {
|
||||
0 -> {
|
||||
chekAndStartAutopilotView.visibility = View.VISIBLE
|
||||
statusBarView?.visibility = View.GONE
|
||||
chekAndStartAutopilotView.resetCheckView()
|
||||
if(chekAndStartAutopilotView.visibility == View.GONE){
|
||||
showOrHide(false)
|
||||
}
|
||||
chekAndStartAutopilotView.aniCheckAndStartAutopilot(true,0)
|
||||
}
|
||||
1 -> {
|
||||
chekAndStartAutopilotView.visibility = View.VISIBLE
|
||||
statusBarView?.visibility = View.GONE
|
||||
chekAndStartAutopilotView.startAnimation2StartAutopilit()
|
||||
if(chekAndStartAutopilotView.visibility == View.GONE){
|
||||
showOrHide(false)
|
||||
}
|
||||
chekAndStartAutopilotView.aniCheckAndStartAutopilot(true,1)
|
||||
}
|
||||
2 -> {
|
||||
chekAndStartAutopilotView.visibility = View.GONE
|
||||
statusBarView?.visibility = View.VISIBLE
|
||||
chekAndStartAutopilotView.aniCheckAndStartAutopilot(false,2)
|
||||
showOrHide(true)
|
||||
chekAndStartAutopilotView.resetCheckView()
|
||||
}
|
||||
else -> {}
|
||||
@@ -280,28 +333,6 @@ class TaxiPassengerBaseFragment() :
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 显示或者隐藏到达乘客站点的洁面
|
||||
* ① 取消订单 可有可无
|
||||
* ② 到达上车点 隐藏到达终点的页面(上一个订单没有评价)
|
||||
* ③ 到达目的地 显示到达终点的页面
|
||||
* ④ debug 使用
|
||||
*
|
||||
* @param isShow true 展示 false 隐藏
|
||||
*/
|
||||
fun showOrHideArrivedEndLayout(isShow: Boolean) {
|
||||
if (isShow) {
|
||||
exitFullVideoScreen(true)
|
||||
arrivedView.visibility = View.VISIBLE
|
||||
RxUtils.createSubscribe(500) {
|
||||
arrivedView.setDataAndStartAnimation()
|
||||
VoiceNotice.showNotice("已到达目的地,带好随身物品,右侧下车更安全!期待下次再见", AIAssist.LEVEL2)
|
||||
}
|
||||
} else {
|
||||
arrivedView.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
|
||||
private fun exitFullVideoScreen(resetVideoPlayer: Boolean) {
|
||||
infoVideoView.exitFullScreenMode(resetVideoPlayer)
|
||||
}
|
||||
@@ -316,6 +347,136 @@ class TaxiPassengerBaseFragment() :
|
||||
bottom.setCheckIndex(BottomBar.SelectView.OVERMAPVIEW)
|
||||
}
|
||||
|
||||
private fun showOrHide(isShow: Boolean){
|
||||
val animatorSet = AnimatorSet()
|
||||
val allAnimator = mutableListOf<Animator>()
|
||||
allAnimator.addAll(aniStatusBar(isShow))
|
||||
allAnimator.addAll(aniBottomBar(isShow))
|
||||
|
||||
allAnimator.addAll(aniSpeedSettingRow(isShow,speedView))
|
||||
allAnimator.addAll(aniSpeedSettingRow(isShow,romaPView))
|
||||
allAnimator.addAll(aniSpeedSettingRow(isShow,romaDistanceView))
|
||||
allAnimator.addAll(aniSpeedSettingRow(isShow,ck_setting))
|
||||
|
||||
allAnimator.addAll(aniOrderInfo(isShow))
|
||||
animatorSet.playTogether(allAnimator)
|
||||
animatorSet.start()
|
||||
}
|
||||
|
||||
@SuppressLint("ObjectAnimatorBinding")
|
||||
fun aniStatusBar(show:Boolean):List<Animator>{
|
||||
val statusBar = mutableListOf<Animator>()
|
||||
val translationYStart: Float
|
||||
val translationYEnd: Float
|
||||
val alphaStart: Float
|
||||
val alphaEnd: Float
|
||||
if(show){
|
||||
translationYStart = -statusBarView!!.height.toFloat()
|
||||
translationYEnd = 0f
|
||||
alphaStart = 0.3f
|
||||
alphaEnd = 1f
|
||||
}else{
|
||||
translationYStart = 0f
|
||||
translationYEnd = -statusBarView!!.height.toFloat()
|
||||
alphaStart = 1f
|
||||
alphaEnd = 0.3f
|
||||
}
|
||||
statusBar.add(ObjectAnimator.ofFloat(statusBarView, "translationY", translationYStart, translationYEnd).apply {
|
||||
duration = 1000
|
||||
})
|
||||
//ofFloatMove.duration = 1000
|
||||
statusBar.add( ObjectAnimator.ofFloat(statusBarView, "alpha", alphaStart, alphaEnd).apply {
|
||||
duration = 1000
|
||||
})
|
||||
return statusBar
|
||||
}
|
||||
|
||||
private fun aniBottomBar(show:Boolean):List<Animator>{
|
||||
val statusBar = mutableListOf<Animator>()
|
||||
val translationYStart: Float
|
||||
val translationYEnd: Float
|
||||
val alphaStart: Float
|
||||
val alphaEnd: Float
|
||||
if(show){
|
||||
translationYStart = bottom!!.height.toFloat()
|
||||
translationYEnd = 0f
|
||||
alphaStart = 0.3f
|
||||
alphaEnd = 1f
|
||||
}else{
|
||||
translationYStart = 0f
|
||||
translationYEnd = bottom!!.height.toFloat()
|
||||
alphaStart = 1f
|
||||
alphaEnd = 0.3f
|
||||
}
|
||||
|
||||
statusBar.add(ObjectAnimator.ofFloat(bottom, "translationY", translationYStart, translationYEnd).apply {
|
||||
duration = 1000
|
||||
})
|
||||
statusBar.add(ObjectAnimator.ofFloat(bottom, "alpha", alphaStart, alphaEnd).apply {
|
||||
duration = 1000
|
||||
})
|
||||
return statusBar
|
||||
}
|
||||
|
||||
private fun aniSpeedSettingRow(show:Boolean,view:View):List<Animator>{
|
||||
val statusBar = mutableListOf<Animator>()
|
||||
val translationYStart: Float
|
||||
val translationYEnd: Float
|
||||
val alphaStart: Float
|
||||
val alphaEnd: Float
|
||||
if(show){
|
||||
translationYStart = -view.height.toFloat()
|
||||
translationYEnd = 0f
|
||||
alphaStart = 0.0f
|
||||
alphaEnd = 1f
|
||||
}else{
|
||||
translationYStart = 0f
|
||||
translationYEnd = -view.height.toFloat()
|
||||
alphaStart = 1f
|
||||
alphaEnd = 0.0f
|
||||
}
|
||||
|
||||
statusBar.add(ObjectAnimator.ofFloat(view, "translationY", translationYStart, translationYEnd).apply {
|
||||
duration = 1000
|
||||
})
|
||||
statusBar.add(ObjectAnimator.ofFloat(view, "alpha", alphaStart, alphaEnd).apply {
|
||||
duration = 1000
|
||||
})
|
||||
return statusBar
|
||||
}
|
||||
private fun aniOrderInfo(show:Boolean):List<Animator>{
|
||||
val statusBar = mutableListOf<Animator>()
|
||||
val translationYStart: Float
|
||||
val translationYEnd: Float
|
||||
val alphaStart: Float
|
||||
val alphaEnd: Float
|
||||
if(show){
|
||||
translationYStart = itinerary.height.toFloat()/5
|
||||
translationYEnd = 0f
|
||||
alphaStart = 0.0f
|
||||
alphaEnd = 1f
|
||||
}else{
|
||||
translationYStart = 0f
|
||||
translationYEnd = itinerary.height.toFloat()/5
|
||||
alphaStart = 1f
|
||||
alphaEnd = 0.0f
|
||||
}
|
||||
|
||||
statusBar.add(ObjectAnimator.ofFloat(itinerary, "translationY", translationYStart, translationYEnd).apply {
|
||||
duration = 1000
|
||||
})
|
||||
statusBar.add(ObjectAnimator.ofFloat(itinerary, "alpha", alphaStart, alphaEnd).apply {
|
||||
duration = 1000
|
||||
})
|
||||
return statusBar
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
companion object {
|
||||
@JvmField
|
||||
val TAG = "TaxiPassengerBaseFragment"
|
||||
|
||||
@@ -1,16 +1,22 @@
|
||||
package com.mogo.och.taxi.passenger.ui.arrived
|
||||
|
||||
import android.animation.Animator
|
||||
import android.animation.AnimatorListenerAdapter
|
||||
import android.animation.ObjectAnimator
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import com.mogo.eagle.core.utilcode.kotlin.onClick
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.och.common.module.utils.BigFrameAnimatorContainer
|
||||
import com.mogo.och.common.module.utils.FrameAnimatorContainer
|
||||
import com.mogo.och.common.module.utils.RxUtils
|
||||
import com.mogo.och.taxi.passenger.R
|
||||
import com.mogo.och.taxi.passenger.ui.TaxiPassengerBaseFragment
|
||||
import com.mogo.och.taxi.passenger.widget.WindowRelativeLayout
|
||||
import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder
|
||||
import io.reactivex.disposables.Disposable
|
||||
@@ -18,6 +24,8 @@ import kotlinx.android.synthetic.main.taxt_u_p_arrived_end_panel.view.aciv_bg
|
||||
import kotlinx.android.synthetic.main.taxt_u_p_arrived_end_panel.view.aciv_close
|
||||
import kotlinx.android.synthetic.main.taxt_u_p_arrived_end_panel.view.actv_endstation
|
||||
import kotlinx.android.synthetic.main.taxt_u_p_arrived_end_panel.view.v_video_right_rear_view
|
||||
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.arrivedView
|
||||
import kotlinx.android.synthetic.main.taxt_u_p_check_startautopilot.view.aciv_check_autopilot
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -38,7 +46,9 @@ class ArrivedView : WindowRelativeLayout, ArrivedViewModel.ArrivedViewCallback {
|
||||
|
||||
private val gsyVideoOptionBuilder = GSYVideoOptionBuilder()
|
||||
|
||||
private var taxiPxiaozhiLove: FrameAnimatorContainer?=null
|
||||
private var taxiPxiaozhiLove: BigFrameAnimatorContainer?=null
|
||||
|
||||
var arrivedVisilityChangeListenr:ArrivedVisilityChangeListenr?=null
|
||||
|
||||
|
||||
private fun initView() {
|
||||
@@ -49,8 +59,8 @@ class ArrivedView : WindowRelativeLayout, ArrivedViewModel.ArrivedViewCallback {
|
||||
visibility = View.GONE
|
||||
}
|
||||
|
||||
taxiPxiaozhiLove = FrameAnimatorContainer(R.array.arrived_dest, 18,aciv_bg)
|
||||
taxiPxiaozhiLove?.setOnAnimStopListener(object : FrameAnimatorContainer.OnAnimationStoppedListener{
|
||||
taxiPxiaozhiLove = BigFrameAnimatorContainer(R.array.arrived_dest, 31,aciv_bg,isOnce = true)
|
||||
taxiPxiaozhiLove?.setOnAnimStopListener(object : BigFrameAnimatorContainer.OnAnimationStoppedListener{
|
||||
override fun AnimationStopped() {
|
||||
d(SceneConstant.M_TAXI_P + TAG, "动画暂停")
|
||||
}
|
||||
@@ -60,14 +70,16 @@ class ArrivedView : WindowRelativeLayout, ArrivedViewModel.ArrivedViewCallback {
|
||||
override fun onVisibilityAggregated(isVisible: Boolean) {
|
||||
super.onVisibilityAggregated(isVisible)
|
||||
d(SceneConstant.M_TAXI_P + TAG, "展示---:${isVisible}")
|
||||
if(isVisible){
|
||||
if (isVisible) {
|
||||
taxiPxiaozhiLove = BigFrameAnimatorContainer(R.array.arrived_dest, 31,aciv_bg,isOnce = true)
|
||||
taxiPxiaozhiLove?.start()
|
||||
v_video_right_rear_view.resetView()
|
||||
taxiPxiaozhiLove?.reStart()
|
||||
}else{
|
||||
} else {
|
||||
v_video_right_rear_view.resetView()
|
||||
taxiPxiaozhiLove?.stop()
|
||||
taxiPxiaozhiLove = null
|
||||
RxUtils.disposeSubscribe(subscribe)
|
||||
}
|
||||
arrivedVisilityChangeListenr?.isShow(isVisible)
|
||||
}
|
||||
|
||||
override fun onAttachedToWindow() {
|
||||
@@ -105,4 +117,37 @@ class ArrivedView : WindowRelativeLayout, ArrivedViewModel.ArrivedViewCallback {
|
||||
actv_endstation.text = stationName
|
||||
}
|
||||
|
||||
fun aniArrived(show:Boolean){
|
||||
RxUtils.createSubscribe(500) {
|
||||
val alphaStart: Float
|
||||
val alphaEnd: Float
|
||||
if(show){
|
||||
alphaStart = 0.0f
|
||||
alphaEnd = 1f
|
||||
visibility = View.VISIBLE
|
||||
}else{
|
||||
alphaStart = 1f
|
||||
alphaEnd = 0.0f
|
||||
visibility = View.GONE
|
||||
}
|
||||
ObjectAnimator.ofFloat(this@ArrivedView, "alpha", alphaStart, alphaEnd).apply {
|
||||
duration = 2000
|
||||
addListener(object :AnimatorListenerAdapter(){
|
||||
override fun onAnimationEnd(animation: Animator) {
|
||||
CallerLogger.d(TaxiPassengerBaseFragment.TAG,"onAnimationEndcarrivedView")
|
||||
if(show){
|
||||
visibility = View.VISIBLE
|
||||
}else{
|
||||
visibility = View.GONE
|
||||
}
|
||||
}
|
||||
})
|
||||
}.start()
|
||||
}
|
||||
}
|
||||
|
||||
interface ArrivedVisilityChangeListenr{
|
||||
fun isShow(show: Boolean)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,5 +1,8 @@
|
||||
package com.mogo.och.taxi.passenger.ui.checkstartautopilot
|
||||
|
||||
import android.animation.Animator
|
||||
import android.animation.AnimatorListenerAdapter
|
||||
import android.animation.ObjectAnimator
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
@@ -11,7 +14,9 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.och.common.module.utils.BigFrameAnimatorContainer
|
||||
import com.mogo.och.taxi.passenger.R
|
||||
import com.mogo.och.taxi.passenger.ui.arrived.ArrivedView
|
||||
import com.mogo.och.taxi.passenger.widget.WindowRelativeLayout
|
||||
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.chekAndStartAutopilotView
|
||||
import kotlinx.android.synthetic.main.taxt_u_p_check_startautopilot.view.aciv_check_autopilot
|
||||
import kotlinx.android.synthetic.main.taxt_u_p_check_startautopilot.view.checkPhoneNumber
|
||||
import kotlinx.android.synthetic.main.taxt_u_p_check_startautopilot.view.startAutopilotClose
|
||||
@@ -46,6 +51,9 @@ class ChekAndStartAutopilotView : WindowRelativeLayout,
|
||||
|
||||
private var aniCheck2StartAutopilotView: BigFrameAnimatorContainer? = null
|
||||
|
||||
var checkAndStartVisilityChangeListenr: CheckAndStartVisilityChangeListenr?=null
|
||||
|
||||
|
||||
private fun initView(context: Context) {
|
||||
d(SceneConstant.M_TAXI_P + TAG, "initView")
|
||||
LayoutInflater.from(context).inflate(R.layout.taxt_u_p_check_startautopilot, this, true)
|
||||
@@ -60,9 +68,15 @@ class ChekAndStartAutopilotView : WindowRelativeLayout,
|
||||
if (isVisible) {
|
||||
aniCheck2StartAutopilotView =
|
||||
BigFrameAnimatorContainer(R.array.check2startautopilt, 39, aciv_check_autopilot, true)
|
||||
aniCheck2StartAutopilotView?.mOnAnimationStoppedListener = object : BigFrameAnimatorContainer.OnAnimationStoppedListener{
|
||||
override fun AnimationStopped() {
|
||||
startAutopilotView.showStartAutopilot()
|
||||
}
|
||||
}
|
||||
} else {
|
||||
aniCheck2StartAutopilotView = null
|
||||
}
|
||||
checkAndStartVisilityChangeListenr?.isShow(isVisible)
|
||||
}
|
||||
|
||||
override fun onAttachedToWindow() {
|
||||
@@ -107,4 +121,47 @@ class ChekAndStartAutopilotView : WindowRelativeLayout,
|
||||
aniCheck2StartAutopilotView?.start()
|
||||
}
|
||||
|
||||
fun aniCheckAndStartAutopilot(show:Boolean,status:Int){
|
||||
val alphaStart: Float
|
||||
val alphaEnd: Float
|
||||
if(show){
|
||||
alphaStart = 0.0f
|
||||
alphaEnd = 1f
|
||||
visibility = View.VISIBLE
|
||||
}else{
|
||||
alphaStart = 1f
|
||||
alphaEnd = 0.0f
|
||||
visibility = View.GONE
|
||||
}
|
||||
when (status) {
|
||||
0 -> {
|
||||
checkPhoneNumber.visibility = View.VISIBLE
|
||||
startAutopilotView.visibility = View.GONE
|
||||
startAutopilotClose.visibility = View.GONE
|
||||
ObjectAnimator.ofFloat(this@ChekAndStartAutopilotView, "alpha", alphaStart, alphaEnd).apply {
|
||||
duration = 3000
|
||||
}.start()
|
||||
}
|
||||
1 -> {
|
||||
checkPhoneNumber.visibility = View.GONE
|
||||
startAutopilotView.visibility = View.VISIBLE
|
||||
startAutopilotClose.visibility = View.VISIBLE
|
||||
aniCheck2StartAutopilotView?.start()
|
||||
}
|
||||
2 -> {
|
||||
checkPhoneNumber.visibility = View.VISIBLE
|
||||
startAutopilotView.visibility = View.GONE
|
||||
startAutopilotClose.visibility = View.GONE
|
||||
return
|
||||
}
|
||||
else -> {}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
interface CheckAndStartVisilityChangeListenr{
|
||||
fun isShow(show: Boolean)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -66,7 +66,7 @@ class StartAutopilotView : WindowRelativeLayout, StartAutopilotViewModel.StartAu
|
||||
}
|
||||
})
|
||||
taxiPStartAutopilot = FrameAnimatorContainer(
|
||||
R.array.taxi_p_start_autopilot, 15, taxi_p_autopilot_btn_bg, true
|
||||
R.array.taxi_p_start_autopilot, 15, taxi_p_autopilot_btn_bg, true, initFirstFrame = false
|
||||
)
|
||||
taxiPStartAutopilot?.setOnAnimStopListener(object :
|
||||
FrameAnimatorContainer.OnAnimationStoppedListener {
|
||||
@@ -128,6 +128,32 @@ class StartAutopilotView : WindowRelativeLayout, StartAutopilotViewModel.StartAu
|
||||
}
|
||||
}
|
||||
|
||||
override fun onVisibilityAggregated(isVisible: Boolean) {
|
||||
super.onVisibilityAggregated(isVisible)
|
||||
if(isVisible){
|
||||
taxi_p_start_autopilot.background = null
|
||||
taxi_p_start_autopilot.text = resources.getString(R.string.taxi_p_start_autopilot_txt)
|
||||
}else{
|
||||
unableStartAutopilot()
|
||||
goneAllDoorState()
|
||||
resetView()
|
||||
CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "onDetachedFromWindow")
|
||||
}
|
||||
}
|
||||
|
||||
private fun resetView() {
|
||||
taxi_p_autopilot_starting.visibility = View.GONE
|
||||
taxi_p_autopilot_btn_bg.visibility = View.GONE
|
||||
taxi_p_start_autopilot.visibility = View.GONE
|
||||
}
|
||||
|
||||
fun showStartAutopilot(){
|
||||
taxi_p_autopilot_starting.visibility = View.VISIBLE
|
||||
taxi_p_autopilot_btn_bg.visibility = View.VISIBLE
|
||||
taxi_p_start_autopilot.visibility = View.VISIBLE
|
||||
taxiPStartAutopilot?.reStart()
|
||||
}
|
||||
|
||||
override fun onAttachedToWindow() {
|
||||
super.onAttachedToWindow()
|
||||
CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "onAttachedToWindow")
|
||||
@@ -198,13 +224,6 @@ class StartAutopilotView : WindowRelativeLayout, StartAutopilotViewModel.StartAu
|
||||
actv_rear_right_door.visibility = GONE
|
||||
}
|
||||
|
||||
override fun onDetachedFromWindow() {
|
||||
CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "onDetachedFromWindow")
|
||||
unableStartAutopilot()
|
||||
goneAllDoorState()
|
||||
super.onDetachedFromWindow()
|
||||
}
|
||||
|
||||
override fun unableStartAutopilotByDoorState() {
|
||||
unableStartAutopilot()
|
||||
}
|
||||
|
||||
|
After Width: | Height: | Size: 808 KiB |
|
After Width: | Height: | Size: 801 KiB |
|
After Width: | Height: | Size: 861 KiB |
|
After Width: | Height: | Size: 867 KiB |
|
After Width: | Height: | Size: 842 KiB |
|
After Width: | Height: | Size: 800 KiB |
|
After Width: | Height: | Size: 759 KiB |
|
After Width: | Height: | Size: 723 KiB |
|
After Width: | Height: | Size: 822 KiB |
|
After Width: | Height: | Size: 736 KiB |
|
After Width: | Height: | Size: 726 KiB |
|
After Width: | Height: | Size: 745 KiB |
|
After Width: | Height: | Size: 804 KiB |
|
After Width: | Height: | Size: 804 KiB |
|
After Width: | Height: | Size: 840 KiB |
|
After Width: | Height: | Size: 869 KiB |
|
After Width: | Height: | Size: 685 KiB |
|
After Width: | Height: | Size: 749 KiB |
|
After Width: | Height: | Size: 754 KiB |
|
After Width: | Height: | Size: 768 KiB |
|
After Width: | Height: | Size: 694 KiB |
|
After Width: | Height: | Size: 698 KiB |
|
After Width: | Height: | Size: 675 KiB |
|
After Width: | Height: | Size: 731 KiB |
|
After Width: | Height: | Size: 640 KiB |
|
After Width: | Height: | Size: 678 KiB |
|
After Width: | Height: | Size: 663 KiB |
|
After Width: | Height: | Size: 700 KiB |
|
After Width: | Height: | Size: 566 KiB |
|
After Width: | Height: | Size: 580 KiB |
|
After Width: | Height: | Size: 623 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 11 KiB |
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<gradient android:endColor="@color/taxi_p_5D6A8C" android:centerColor="@color/taxi_p_995D6A8C" android:startColor="@color/taxi_p_005D6A8C" android:angle="270"/>
|
||||
<gradient android:endColor="@color/taxi_p_876E788B" android:startColor="@android:color/transparent" android:angle="270"/>
|
||||
</shape>
|
||||
@@ -46,7 +46,7 @@
|
||||
android:textSize="@dimen/dp_55"
|
||||
app:layout_constraintBottom_toTopOf="@+id/tv_passenger_start"
|
||||
app:layout_constraintStart_toStartOf="@+id/iv_passenger_start_boll"
|
||||
android:text="乘客数:2位" />
|
||||
tools:text="乘客数:2位" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_passenger_start"
|
||||
@@ -61,7 +61,7 @@
|
||||
app:layout_constraintEnd_toStartOf="@+id/numberCheckView"
|
||||
app:layout_constraintStart_toStartOf="@+id/iv_passenger_start_boll"
|
||||
app:layout_constraintTop_toTopOf="@+id/iv_passenger_start_boll"
|
||||
android:text="起 点 : 衡山科学城" />
|
||||
tools:text="起 点 : 衡山科学城" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_passenger_start_boll"
|
||||
@@ -104,7 +104,7 @@
|
||||
app:layout_constraintEnd_toStartOf="@+id/numberCheckView"
|
||||
app:layout_constraintStart_toStartOf="@+id/iv_passenger_end_boll"
|
||||
app:layout_constraintTop_toTopOf="@+id/iv_passenger_end_boll"
|
||||
android:text="终 点 : 石鼓收费站" />
|
||||
tools:text="终 点 : 石鼓收费站" />
|
||||
|
||||
<com.mogo.och.taxi.passenger.widget.NumberCheckView
|
||||
android:id="@+id/numberCheckView"
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
android:layout_marginTop="@dimen/dp_150"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:src="@drawable/light_00003"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
@@ -24,14 +26,18 @@
|
||||
android:layout_width="1000dp"
|
||||
android:layout_height="500dp"
|
||||
android:clickable="false"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
android:src="@drawable/image_00000_0"
|
||||
android:layout_marginBottom="@dimen/dp_62"
|
||||
android:layout_marginBottom="@dimen/dp_12"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/taxi_p_start_autopilot"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
android:layout_width="@dimen/taxi_p_start_autopilot_btn_width"
|
||||
android:layout_height="@dimen/dp_152"
|
||||
android:gravity="center"
|
||||
|
||||
@@ -228,26 +228,41 @@
|
||||
|
||||
|
||||
<string-array name="arrived_dest">
|
||||
<item>@drawable/check2startautopilt_000</item>
|
||||
<item>@drawable/check2startautopilt_001</item>
|
||||
<item>@drawable/check2startautopilt_002</item>
|
||||
<item>@drawable/check2startautopilt_003</item>
|
||||
<item>@drawable/check2startautopilt_004</item>
|
||||
<item>@drawable/check2startautopilt_005</item>
|
||||
<item>@drawable/check2startautopilt_006</item>
|
||||
<item>@drawable/check2startautopilt_007</item>
|
||||
<item>@drawable/check2startautopilt_008</item>
|
||||
<item>@drawable/check2startautopilt_009</item>
|
||||
<item>@drawable/arrive_dest_000</item>
|
||||
<item>@drawable/arrive_dest_001</item>
|
||||
<item>@drawable/arrive_dest_002</item>
|
||||
<item>@drawable/arrive_dest_003</item>
|
||||
<item>@drawable/arrive_dest_004</item>
|
||||
<item>@drawable/arrive_dest_005</item>
|
||||
<item>@drawable/arrive_dest_006</item>
|
||||
<item>@drawable/arrive_dest_007</item>
|
||||
<item>@drawable/arrive_dest_008</item>
|
||||
<item>@drawable/arrive_dest_009</item>
|
||||
|
||||
<item>@drawable/check2startautopilt_010</item>
|
||||
<item>@drawable/check2startautopilt_011</item>
|
||||
<item>@drawable/check2startautopilt_012</item>
|
||||
<item>@drawable/check2startautopilt_013</item>
|
||||
<item>@drawable/check2startautopilt_014</item>
|
||||
<item>@drawable/check2startautopilt_015</item>
|
||||
<item>@drawable/check2startautopilt_016</item>
|
||||
<item>@drawable/check2startautopilt_017</item>
|
||||
<item>@drawable/check2startautopilt_018</item>
|
||||
<item>@drawable/arrive_dest_011</item>
|
||||
<item>@drawable/arrive_dest_011</item>
|
||||
<item>@drawable/arrive_dest_012</item>
|
||||
<item>@drawable/arrive_dest_013</item>
|
||||
<item>@drawable/arrive_dest_014</item>
|
||||
<item>@drawable/arrive_dest_015</item>
|
||||
<item>@drawable/arrive_dest_016</item>
|
||||
<item>@drawable/arrive_dest_017</item>
|
||||
<item>@drawable/arrive_dest_018</item>
|
||||
<item>@drawable/arrive_dest_019</item>
|
||||
|
||||
<item>@drawable/arrive_dest_020</item>
|
||||
<item>@drawable/arrive_dest_021</item>
|
||||
<item>@drawable/arrive_dest_022</item>
|
||||
<item>@drawable/arrive_dest_023</item>
|
||||
<item>@drawable/arrive_dest_024</item>
|
||||
<item>@drawable/arrive_dest_025</item>
|
||||
<item>@drawable/arrive_dest_026</item>
|
||||
<item>@drawable/arrive_dest_027</item>
|
||||
<item>@drawable/arrive_dest_028</item>
|
||||
<item>@drawable/arrive_dest_029</item>
|
||||
|
||||
|
||||
<item>@drawable/arrive_dest_030</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="check2startautopilt">
|
||||
|
||||
@@ -54,6 +54,7 @@
|
||||
<color name="taxi_p_333333">#333333</color>
|
||||
<color name="taxi_p_995D6A8C">#995D6A8C</color>
|
||||
<color name="taxi_p_B37E90BF">#B37E90BF</color>
|
||||
<color name="taxi_p_876E788B">#876E788B</color>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -13,10 +13,10 @@ if (!isAndroidTest) {
|
||||
apply from: rootProject.file('gradle/bytex/bytex_log_chain.gradle')
|
||||
apply from: rootProject.file('gradle/bytex/bytex_sticky_service.gradle')
|
||||
apply from: rootProject.file('gradle/bytex/bytex_thread_opt.gradle')
|
||||
apply from: rootProject.file('gradle/bytex/bytex_lancetx.gradle')
|
||||
// apply from: rootProject.file('gradle/bytex/bytex_lancetx.gradle')
|
||||
apply from: rootProject.file('gradle/bytex/bytex_apm.gradle')
|
||||
apply from: rootProject.file('gradle/bytex/bytex_systrace.gradle')
|
||||
apply from: rootProject.file('gradle/bytex/bytex_matrix.gradle')
|
||||
// apply from: rootProject.file('gradle/bytex/bytex_matrix.gradle')
|
||||
apply from: rootProject.file('gradle/bytex/bytex_handler_proxy.gradle')
|
||||
// apply from: rootProject.file('gradle/bytex/bytex_btrace.gradle')
|
||||
}
|
||||
|
||||