速度不进行传递、只有在蘑菇咨询和影视娱乐 再传递里程信息、1s只传递一条信息
This commit is contained in:
@@ -194,7 +194,7 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback
|
||||
}
|
||||
|
||||
/**
|
||||
* 订单轮询
|
||||
* 订单轮询 初始化主Fragment的Presenter init 调用
|
||||
*/
|
||||
public void startOrStopOrderLoop(){
|
||||
if (NetworkUtils.isConnected(mContext)) {
|
||||
@@ -202,6 +202,9 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 关闭订单轮训 页面摧毁时
|
||||
*/
|
||||
public void release() {
|
||||
startOrStopOrderLoop(false);
|
||||
startOrStopQueryOrderRemaining(false);
|
||||
@@ -255,6 +258,11 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback
|
||||
CallLimitingVelocityListenerManager.INSTANCE.removeListener(limitingVelocityListener);
|
||||
}
|
||||
|
||||
/**
|
||||
* 订单轮训
|
||||
* @param start true 开启订单轮训
|
||||
* false 关闭订单轮训
|
||||
*/
|
||||
private void startOrStopOrderLoop(boolean start) {
|
||||
CallerLogger.INSTANCE.d(M_TAXI_P + TAG, "startOrStopOrderLoop() " + start);
|
||||
if (start) {
|
||||
@@ -671,6 +679,9 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询订单剩余里程和时间
|
||||
*/
|
||||
public void queryOrderRemaining(){
|
||||
if (mCurrentOCHOrder == null) return;
|
||||
TaxiPassengerServiceManager.getInstance().queryOrderRemaining(mContext, mCurrentOCHOrder.orderNo, new TaxiPassengerServiceCallback<TaxiPassengerOrderQueryRemainingResp>() {
|
||||
|
||||
@@ -126,7 +126,9 @@ public class TaxiPassengerModelLoopManager {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 轮训查下 查询订单剩余里程和时间
|
||||
*/
|
||||
public void startQueryOrderRemainingtLoop() {
|
||||
if (mQueryOrderRemainingDisposable != null && !mQueryOrderRemainingDisposable.isDisposed()) {
|
||||
return;
|
||||
|
||||
@@ -119,7 +119,8 @@ public class BaseTaxiPassengerPresenter extends Presenter<TaxiPassengerBaseFragm
|
||||
|
||||
@Override
|
||||
public void onCarLocationChanged(Location location) {
|
||||
LeftMenuOpen.INSTANCE.callCallBack(-1,-1,location.getSpeed());
|
||||
// 速度不用展示
|
||||
// LeftMenuOpen.INSTANCE.callCallBack(-1,-1,location.getSpeed());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -17,6 +17,9 @@ import com.mogo.och.taxi.passenger.mulprocess.BinderCursor
|
||||
import com.mogo.och.taxi.passenger.mulprocess.BinderProvider
|
||||
import com.mogo.och.taxi.passenger.mulprocess.ICallback
|
||||
import com.mogo.och.taxi.passenger.mulprocess.ILeftMenuService
|
||||
import rx.Observable
|
||||
import rx.Observer
|
||||
import rx.schedulers.Schedulers
|
||||
|
||||
|
||||
@SuppressLint("StaticFieldLeak")
|
||||
@@ -38,6 +41,11 @@ object LeftMenuOpen {
|
||||
|
||||
private var icallbacks: RemoteCallbackList<ICallback> = RemoteCallbackList<ICallback>()
|
||||
|
||||
var checkIndex = OverlayLeftViewUtils.LIVE
|
||||
private var lastClickTime = 0L
|
||||
private const val FAST_CLICK_DELAY_TIME = 1000 // 防止事件发送过快
|
||||
|
||||
|
||||
fun setValue(
|
||||
windowView: View,
|
||||
wl: WindowManager.LayoutParams?,
|
||||
@@ -70,7 +78,8 @@ object LeftMenuOpen {
|
||||
val iterator = dragList.iterator()
|
||||
while (iterator.hasNext()) {
|
||||
val next = iterator.next()
|
||||
unRegisterDragView(next)
|
||||
unRegisterDragView(next,false)
|
||||
iterator.remove()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -169,8 +178,10 @@ object LeftMenuOpen {
|
||||
}
|
||||
}
|
||||
|
||||
fun unRegisterDragView(view: View?) {
|
||||
dragList.remove(view)
|
||||
fun unRegisterDragView(view: View?,remove:Boolean) {
|
||||
if(remove) {
|
||||
dragList.remove(view)
|
||||
}
|
||||
view?.let {
|
||||
it.setOnTouchListener(null)
|
||||
it.setOnClickListener(null)
|
||||
@@ -220,15 +231,29 @@ object LeftMenuOpen {
|
||||
}
|
||||
|
||||
fun callCallBack(meters: Long,timeInSecond: Long,speed:Float){
|
||||
val len = icallbacks.beginBroadcast()
|
||||
for (i in 0 until len) {
|
||||
try {
|
||||
icallbacks.getBroadcastItem(i).onResult(meters,timeInSecond,speed)
|
||||
} catch (e: RemoteException) {
|
||||
e.printStackTrace()
|
||||
if(checkIndex == OverlayLeftViewUtils.CONSULT||checkIndex == OverlayLeftViewUtils.MOVIE) {
|
||||
if (System.currentTimeMillis() - lastClickTime < FAST_CLICK_DELAY_TIME){
|
||||
return
|
||||
}
|
||||
lastClickTime = System.currentTimeMillis()
|
||||
|
||||
Observable.empty<String?>().subscribeOn(Schedulers.io())
|
||||
.subscribe(object : Observer<String?> {
|
||||
override fun onCompleted() {
|
||||
val len = icallbacks.beginBroadcast()
|
||||
for (i in 0 until len) {
|
||||
try {
|
||||
icallbacks.getBroadcastItem(i).onResult(meters, timeInSecond, speed)
|
||||
} catch (e: RemoteException) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
}
|
||||
icallbacks.finishBroadcast()
|
||||
}
|
||||
override fun onError(e: Throwable?) {}
|
||||
override fun onNext(t: String?) {}
|
||||
})
|
||||
}
|
||||
icallbacks.finishBroadcast()
|
||||
}
|
||||
|
||||
fun invoKeyByEventType(typeID:Int){
|
||||
|
||||
@@ -105,6 +105,7 @@ object OverlayLeftViewUtils {
|
||||
|
||||
val liveSelected = object :ListAdapter.OnTabSelectListener{
|
||||
override fun onSelect(isCurrentProcess:Boolean) {
|
||||
LeftMenuOpen.checkIndex = LIVE
|
||||
if(isCurrentProcess) {
|
||||
close(view, windowManager)
|
||||
}else {
|
||||
@@ -124,6 +125,7 @@ object OverlayLeftViewUtils {
|
||||
|
||||
val overViewSelected = object :ListAdapter.OnTabSelectListener{
|
||||
override fun onSelect(isCurrentProcess:Boolean) {
|
||||
LeftMenuOpen.checkIndex = OVERVIEW
|
||||
if(isCurrentProcess) {
|
||||
close(view, windowManager)
|
||||
}else {
|
||||
@@ -143,6 +145,7 @@ object OverlayLeftViewUtils {
|
||||
|
||||
val consultSelect = object :ListAdapter.OnTabSelectListener{
|
||||
override fun onSelect(isCurrentProcess:Boolean) {
|
||||
LeftMenuOpen.checkIndex = CONSULT
|
||||
if(isCurrentProcess) {
|
||||
close(view, windowManager)
|
||||
//计算订单起点和终点距离
|
||||
@@ -154,6 +157,7 @@ object OverlayLeftViewUtils {
|
||||
|
||||
val entertainmentSelect = object :ListAdapter.OnTabSelectListener{
|
||||
override fun onSelect(isCurrentProcess:Boolean) {
|
||||
LeftMenuOpen.checkIndex = MOVIE
|
||||
if(isCurrentProcess) {
|
||||
close(view, windowManager)
|
||||
val sumDis = SharedPrefsMgr.getInstance(context).getInt(TaxiPassengerConst.SP_KEY_ORDER_SUM_DIS, 0)
|
||||
@@ -178,6 +182,9 @@ object OverlayLeftViewUtils {
|
||||
windowManager!!.addView(overlayView, params)
|
||||
checkProcess()
|
||||
isShowing = true
|
||||
} catch (e: WindowManager.BadTokenException) {
|
||||
isShowing = true;
|
||||
dismissOverlayView(false)
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
@@ -260,7 +267,7 @@ object OverlayLeftViewUtils {
|
||||
}
|
||||
|
||||
fun removeDragTarget(view: View?){
|
||||
LeftMenuOpen.unRegisterDragView(view)
|
||||
LeftMenuOpen.unRegisterDragView(view,true)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -365,6 +372,10 @@ object OverlayLeftViewUtils {
|
||||
}
|
||||
}
|
||||
|
||||
fun getStatus():Boolean{
|
||||
return isShowing
|
||||
}
|
||||
|
||||
/**
|
||||
* 移除覆盖View在Activity上面
|
||||
*/
|
||||
@@ -387,7 +398,12 @@ object OverlayLeftViewUtils {
|
||||
try {
|
||||
if (windowManager != null && overlayView != null) {
|
||||
windowManager!!.removeViewImmediate(overlayView)
|
||||
params = null
|
||||
}
|
||||
if(windowManager!=null){
|
||||
windowManager = null
|
||||
}
|
||||
if(params!=null){
|
||||
params = null
|
||||
}
|
||||
if (overlayView!=null) {
|
||||
|
||||
@@ -16,10 +16,10 @@ import com.mogo.och.common.module.utils.NumberFormatUtil
|
||||
import com.mogo.och.taxi.passenger.R
|
||||
import com.mogo.och.taxi.passenger.bean.TaxiPassengerVideoPlay
|
||||
import com.mogo.och.taxi.passenger.constant.TaxiPassengerConst
|
||||
import com.mogo.och.taxi.passenger.event.FinishActivity
|
||||
import com.mogo.och.taxi.passenger.mulprocess.ICallback
|
||||
import com.mogo.och.taxi.passenger.ui.leftmenu.LeftMenuOpen
|
||||
import com.mogo.och.taxi.passenger.ui.leftmenu.OverlayLeftViewUtils
|
||||
import com.mogo.och.taxi.passenger.event.FinishActivity
|
||||
import com.mogo.och.taxi.passenger.ui.video.layoutmanage.CarouselLayoutManager
|
||||
import com.mogo.och.taxi.passenger.ui.video.layoutmanage.CarouselZoomPostLayoutListener
|
||||
import com.mogo.och.taxi.passenger.ui.video.layoutmanage.CenterScrollListener
|
||||
@@ -33,7 +33,14 @@ import com.shuyu.gsyvideoplayer.video.base.GSYVideoView
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import org.greenrobot.eventbus.Subscribe
|
||||
import org.greenrobot.eventbus.ThreadMode
|
||||
import java.util.*
|
||||
import rx.Observable
|
||||
import rx.Observer
|
||||
import rx.Subscription
|
||||
import rx.android.schedulers.AndroidSchedulers
|
||||
import rx.schedulers.Schedulers
|
||||
import java.util.Calendar
|
||||
import java.util.concurrent.TimeUnit
|
||||
import kotlin.collections.ArrayList
|
||||
import kotlin.math.floor
|
||||
|
||||
|
||||
@@ -44,6 +51,7 @@ class VideoActivity : AppCompatActivity() {
|
||||
private lateinit var clContain: ConstraintLayout
|
||||
private lateinit var acivTitleIcon: AppCompatImageView
|
||||
private lateinit var tvTitle: TextView
|
||||
private var subscribe: Subscription?=null
|
||||
|
||||
private val arrayListOf = ArrayList<TaxiPassengerVideoPlay>()
|
||||
|
||||
@@ -297,7 +305,7 @@ class VideoActivity : AppCompatActivity() {
|
||||
acivTitleIcon = findViewById(R.id.aciv_title_icon)
|
||||
tvTitle = findViewById(R.id.tv_mogo_consult)
|
||||
acivTitleIcon.setOnClickListener {
|
||||
finish()
|
||||
//finish()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -344,7 +352,25 @@ class VideoActivity : AppCompatActivity() {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
subscribe = Observable.interval(0, 8, TimeUnit.SECONDS)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(object : Observer<Long> {
|
||||
override fun onCompleted() {}
|
||||
override fun onError(e: Throwable?) {}
|
||||
override fun onNext(t: Long?) {
|
||||
if (!OverlayLeftViewUtils.getStatus()) {
|
||||
when (videotype){
|
||||
VIDEOTYPE_CONSULT -> {
|
||||
OverlayLeftViewUtils.showOverlayView(this@VideoActivity,isOpen = false, checkIndex = OverlayLeftViewUtils.CONSULT)
|
||||
}
|
||||
VIDEOTYPE_MOIES -> {
|
||||
OverlayLeftViewUtils.showOverlayView(this@VideoActivity,isOpen = false, checkIndex = OverlayLeftViewUtils.MOVIE)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
override fun onPause() {
|
||||
@@ -361,6 +387,11 @@ class VideoActivity : AppCompatActivity() {
|
||||
}
|
||||
}
|
||||
}
|
||||
subscribe?.let {
|
||||
if(it.isUnsubscribed){
|
||||
it.unsubscribe()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
|
||||
Reference in New Issue
Block a user