From e947d60e18cb83205c6972b4923a8edb0557e3cd Mon Sep 17 00:00:00 2001 From: yangyakun Date: Thu, 31 Jul 2025 18:16:44 +0800 Subject: [PATCH] =?UTF-8?q?[8.2.0]=20[=E7=AE=97=E8=B7=AF]=20[=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E6=9D=A1=E4=BB=B6]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/routingselect/RoutingSelectView.kt | 34 ++++++++++++++++-- .../res/routing/layout/biz_taxi_select.xml | 30 +++++----------- .../drawable-nodpi/shuttle_refresh_task.png | Bin 3 files changed, 41 insertions(+), 23 deletions(-) rename {OCH/shuttle/driver_weaknet => core/mogo-core-res}/src/main/res/drawable-nodpi/shuttle_refresh_task.png (100%) mode change 100755 => 100644 diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/routingselect/RoutingSelectView.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/routingselect/RoutingSelectView.kt index be7c5e1319..0baaf9be6d 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/routingselect/RoutingSelectView.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/routingselect/RoutingSelectView.kt @@ -1,5 +1,7 @@ package com.mogo.och.biz.routing.ui.routingselect +import android.animation.ObjectAnimator +import android.animation.ValueAnimator import android.content.Context import android.util.AttributeSet import android.view.LayoutInflater @@ -10,6 +12,7 @@ import androidx.lifecycle.findViewTreeViewModelStoreOwner import com.mogo.eagle.core.utilcode.kotlin.onClick import com.mogo.eagle.core.utilcode.mogo.view.SpacesItemDecoration import com.mogo.eagle.core.utilcode.util.ToastUtils +import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.och.biz.R import com.mogo.och.biz.routing.bean.GrayLineBean import com.mogo.och.biz.routing.bean.StartGrayAndQueryContrailRsp @@ -17,7 +20,9 @@ import com.mogo.och.common.module.wigets.WrapContentLinearLayoutManager import com.mogo.och.biz.routing.ui.RoutingSwitchModel import com.mogo.och.biz.routing.ui.routingselect.RoutingSelectModel.SwtichRoutingViewCallback import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager -import kotlinx.android.synthetic.main.biz_taxi_select.view.actv_refresh +import com.mogo.och.common.module.manager.loop.BizLoopManager +import com.mogo.och.common.module.utils.ResourcesUtils +import kotlinx.android.synthetic.main.biz_taxi_select.view.aciv_refresh_task import kotlinx.android.synthetic.main.biz_taxi_select.view.include_empty import kotlinx.android.synthetic.main.biz_taxi_select.view.include_error import kotlinx.android.synthetic.main.biz_taxi_select.view.switch_routing_rv @@ -47,6 +52,11 @@ class RoutingSelectView: ConstraintLayout, SwtichRoutingViewCallback { private val mRoutingLineList: MutableList = ArrayList() private var mCurrentChosenPosition: Int = -1 + private var animator: ObjectAnimator?=null + + private var animatorStart = System.currentTimeMillis() + + init { @@ -75,8 +85,17 @@ class RoutingSelectView: ConstraintLayout, SwtichRoutingViewCallback { } }) - actv_refresh.onClick { + aciv_refresh_task.onClick { viewModel?.queryRoutingGrayLineList() + aciv_refresh_task.isEnabled = false + animatorStart = System.currentTimeMillis() + if(animator==null) { + animator = ObjectAnimator.ofFloat(aciv_refresh_task, "rotation", 0f, 360f) + animator?.setDuration(1000) // 设置动画持续时间 + animator?.repeatCount = ValueAnimator.INFINITE // 设置动画无限重复 + animator?.repeatMode = ValueAnimator.RESTART // 设置重复模式 + } + animator?.start() } } @@ -133,10 +152,12 @@ class RoutingSelectView: ConstraintLayout, SwtichRoutingViewCallback { override fun onQueryRoutingGrayLineListSuccess(data: MutableList) { onRoutingGrayLineListChanged(data) + cancleAni() } override fun onQueryRoutingGrayLineListFailed(errorStr: String) { showErrorView() + cancleAni() } override fun onStartGrayTaskAndQueryContrailSuccess(data: StartGrayAndQueryContrailRsp) { @@ -147,4 +168,13 @@ class RoutingSelectView: ConstraintLayout, SwtichRoutingViewCallback { swtichViewModel?.showRoutingSelectView() } + private fun cancleAni(){ + val endTime = System.currentTimeMillis() + val dex = (1000-(endTime - animatorStart)).takeIf { it>=0 }?:0 + UiThreadHandler.postDelayed({ + animator?.cancel() + aciv_refresh_task.isEnabled = true + },dex, UiThreadHandler.MODE.QUEUE,) + } + } diff --git a/OCH/common/biz/src/main/res/routing/layout/biz_taxi_select.xml b/OCH/common/biz/src/main/res/routing/layout/biz_taxi_select.xml index 33b5e67b83..fd2ce8f974 100644 --- a/OCH/common/biz/src/main/res/routing/layout/biz_taxi_select.xml +++ b/OCH/common/biz/src/main/res/routing/layout/biz_taxi_select.xml @@ -20,27 +20,15 @@ android:layout_width="wrap_content" android:layout_height="wrap_content"/> - - - - +