[taxi-p]
[check startautopilot arrived stop xiaozhi]
This commit is contained in:
yangyakun
2023-12-24 23:16:32 +08:00
parent 10ec802ada
commit b9275a3aab
3 changed files with 28 additions and 23 deletions

View File

@@ -10,7 +10,6 @@ import com.mogo.eagle.core.data.msgbox.MsgBoxType
import com.mogo.eagle.core.data.msgbox.VoiceMsg
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
import com.mogo.eagle.core.function.main.MainPresenter
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.scene.SceneConstant
import com.mogo.eagle.core.utilcode.mogo.permissions.PermissionsDialogUtils
@@ -24,6 +23,7 @@ import com.mogo.tts.base.zhi.AsrTextBean
import com.mogo.tts.base.zhi.AvatarManager
import com.mogo.tts.base.zhi.CallbackWidget
import com.mogo.tts.base.zhi.ZhiRecordWinUi
import java.util.concurrent.atomic.AtomicBoolean
class ZhiView @JvmOverloads constructor(
context: Context,
@@ -40,6 +40,7 @@ class ZhiView @JvmOverloads constructor(
@Volatile
private var status = ZhiRecordWinUi.RecordStatus.STATUS_SILENCE
private var animalState = AnimalState.Normal
private val enableZhi = AtomicBoolean(true)
init {
val xiaozhiNormal = currentAnim.getData(R.array.xiaozhi_normal)
val xiaozhiThink = currentAnim.getData(R.array.xiaozhi_think)
@@ -111,7 +112,9 @@ class ZhiView @JvmOverloads constructor(
return@setOnClickListener
}
if (PermissionUtil.checkPermission(context,Manifest.permission.RECORD_AUDIO)) {
AvatarManager.wakeupXiaoZhi()
if(enableZhi.get()) {
AvatarManager.wakeupXiaoZhi()
}
}else{
//申请悬浮窗权限
val shouldShowRequestPermissionRationale = ActivityUtils.getTopActivity()
@@ -130,6 +133,16 @@ class ZhiView @JvmOverloads constructor(
}
}
fun setZhiEnable(enable:Boolean){
if(enable){// 可用
enableZhi.set(true)
AvatarManager.enableXiaoZhi(false)
}else{// 不可用
enableZhi.set(false)
AvatarManager.enableXiaoZhi(true)
}
}
override fun onWindowFocusChanged(hasWindowFocus: Boolean) {
super.onWindowFocusChanged(hasWindowFocus)
CallerLogger.d(SceneConstant.M_OCHCOMMON + TAG, "焦点与否:${hasWindowFocus}")

View File

@@ -16,23 +16,18 @@ 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.scene.SceneConstant.Companion.M_TAXI_P
import com.mogo.eagle.core.utilcode.util.DeviceUtils
import com.mogo.eagle.core.utilcode.util.OverlayViewUtils
import com.mogo.map.listener.IMogoMapListener
import com.mogo.map.uicontroller.VisualAngleMode
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.callback.ITaxiPassengerCommonValueCallback
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.check.TaxiPassengerCheckView
import com.mogo.och.taxi.passenger.ui.checkstartautopilot.ChekAndStartAutopilotView
import com.mogo.och.taxi.passenger.ui.startautopilot.StartAutopilotView
import com.mogo.och.taxi.passenger.ui.statusview.StatusBarView
import io.reactivex.disposables.Disposable
import kotlinx.android.synthetic.main.taxi_p_base_fragment.*
import java.lang.ref.WeakReference
/**
* 网约车基础Fragment主要负责布局通用界面处理站点面板和通话面板互斥情况
@@ -159,6 +154,9 @@ class TaxiPassengerBaseFragment() :
CallerLogger.d(M_TAXI_P + TAG, "arrived ${show}")
if(arrivedView.visibility==View.GONE&&chekAndStartAutopilotView.visibility==View.GONE){
showOrHide(true,"到达目的地页面隐藏")
aciv_xiaozhi_normal.setZhiEnable(true)
}else{
aciv_xiaozhi_normal.setZhiEnable(false)
}
}
}
@@ -167,6 +165,9 @@ class TaxiPassengerBaseFragment() :
CallerLogger.d(M_TAXI_P + TAG, "check and startAutopilot ${show}")
if(arrivedView.visibility==View.GONE&&chekAndStartAutopilotView.visibility==View.GONE){
showOrHide(true,"手机号check+startautopilot页面隐藏")
aciv_xiaozhi_normal.setZhiEnable(true)
}else{
aciv_xiaozhi_normal.setZhiEnable(false)
}
}
}

View File

@@ -1,7 +1,6 @@
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
@@ -20,7 +19,6 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_
import com.mogo.eagle.core.utilcode.util.DeviceUtils
import com.mogo.map.listener.IMogoMapListener
import com.mogo.map.uicontroller.VisualAngleMode
import com.mogo.och.common.module.utils.FrameAnimatorContainer
import com.mogo.och.common.module.utils.RxUtils
import com.mogo.och.common.module.voice.VoiceNotice
import com.mogo.och.taxi.passenger.R
@@ -30,6 +28,7 @@ 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.aciv_xiaozhi_normal
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.arrivedView
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.bottom
import kotlinx.android.synthetic.main.taxt_u_p_base_fragment.chekAndStartAutopilotView
@@ -57,8 +56,6 @@ class TaxiPassengerBaseFragment() :
MvpFragment<TaxiPassengerBaseFragment?, BaseTaxiPassengerPresenter?>(), IMogoMapListener,
TaxiPassengerTaxiView {
private var createProgressDialogAnim: FrameAnimatorContainer?=null
private var tipXiaoZhiDelay: Disposable?=null
private var statusBarView: StatusBarView? = null
@@ -90,12 +87,6 @@ class TaxiPassengerBaseFragment() :
}
}
// createProgressDialogAnim = FrameAnimatorContainer(R.array.xiaozhi_normal, 20,aciv_xiaozhi_normal)
// createProgressDialogAnim?.setOnAnimStopListener(object : FrameAnimatorContainer.OnAnimationStoppedListener{
// override fun AnimationStopped() {
// CallerLogger.d(M_TAXI_P + TAG, "动画暂停")
// }
// })
}
private fun initListener() {
@@ -182,6 +173,9 @@ class TaxiPassengerBaseFragment() :
CallerLogger.d(M_TAXI_P + TAG, "arrived ${show}")
if(arrivedView.visibility==View.GONE&&chekAndStartAutopilotView.visibility==View.GONE){
showOrHide(true)
aciv_xiaozhi_normal.setZhiEnable(true)
}else{
aciv_xiaozhi_normal.setZhiEnable(false)
}
}
}
@@ -190,16 +184,17 @@ class TaxiPassengerBaseFragment() :
CallerLogger.d(M_TAXI_P + TAG, "check and startAutopilot ${show}")
if(arrivedView.visibility==View.GONE&&chekAndStartAutopilotView.visibility==View.GONE){
showOrHide(true)
aciv_xiaozhi_normal.setZhiEnable(true)
}else{
aciv_xiaozhi_normal.setZhiEnable(false)
}
}
}
view?.viewTreeObserver?.addOnWindowFocusChangeListener {
if(it){
CallerLogger.d(M_TAXI_P + TAG, "windows获取焦点")
createProgressDialogAnim?.start()
}else{
CallerLogger.d(M_TAXI_P + TAG, "window失去焦点")
createProgressDialogAnim?.stop()
}
}
}
@@ -209,8 +204,6 @@ class TaxiPassengerBaseFragment() :
mapBizView!!.onResume()
overMapView.onResume()
CallerLogger.d(M_TAXI_P + TAG, "onResume")
createProgressDialogAnim?.start()
}
override fun createPresenter(): BaseTaxiPassengerPresenter {
@@ -232,7 +225,6 @@ class TaxiPassengerBaseFragment() :
mapBizView!!.onPause()
overMapView?.onPause()
CallerLogger.d(M_TAXI_P + TAG, "onPause")
createProgressDialogAnim?.stop()
}
override fun onDestroyView() {
@@ -314,7 +306,6 @@ class TaxiPassengerBaseFragment() :
}
2 -> {
chekAndStartAutopilotView.aniCheckAndStartAutopilot(false,2)
showOrHide(true)
chekAndStartAutopilotView.resetCheckView()
}
else -> {}