From 5cd97f821127fa8e693a3fddc03f5c9b34b34d7f Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Fri, 17 Jan 2020 12:51:59 +0800 Subject: [PATCH] opt --- .../java/com/mogo/module/service/MogoServiceProvider.java | 5 ++++- .../mogo/module/tanlu/fragment/TanluCardViewFragment.java | 2 +- .../mogo/service/impl/statusmanager/MogoStatusManager.java | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java index b813426215..3e298773b4 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java @@ -143,7 +143,6 @@ public class MogoServiceProvider implements IMogoModuleProvider, public void onSuccess() { // 用户手动操作地图刷新成功后,设置状态为 true,引发延时策略 mStatusManager.setUserInteractionStatus( ServiceConst.TYPE, true, true ); - mStatusManager.setUserInteractionStatus( ServiceConst.TYPE, false, false ); } @Override @@ -464,6 +463,9 @@ public class MogoServiceProvider implements IMogoModuleProvider, if ( mStatusManager.isSearchUIShow() ) { return; } + if ( mStatusManager.isUserInteracted() ) { + return; + } Logger.d( TAG, mAutoRefreshCallback == callback ? "触发自动刷新" : "触发手动刷新" ); Logger.i( TAG, "刷新半径 = %d, 点 = %s", radius, latLng ); mRefreshModel.refreshData( latLng, radius, mLastZoomLevel >= 10 ? 5 : 10, callback ); @@ -498,6 +500,7 @@ public class MogoServiceProvider implements IMogoModuleProvider, if ( isTrue ) { mRefreshRemainingTime += mAutoRefreshStrategy.getInterruptInterval(); Logger.i( TAG, "用户状态改变,自动刷新时间延时,%s ms后自动刷新", mRefreshRemainingTime ); + mStatusManager.setUserInteractionStatus( ServiceConst.TYPE, false, false ); } break; case SEARCH_UI: diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java index e89b78471c..b838c6a60e 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java @@ -965,6 +965,7 @@ public class TanluCardViewFragment extends MvpFragment> String cityCode = TanluServiceHandler.getLocationClient().getLastKnowLocation().getCityCode(); //移动到具体位置 + mMogoStatusManager.setUserInteractionStatus(TanluConstants.MODEL_NAME, true, true); MogoLatLng latLng = new MogoLatLng(lat, lon); mMApUIController.moveToCenter(latLng); @@ -990,7 +991,6 @@ public class TanluCardViewFragment extends MvpFragment> List informationList = o.getResult().getInformations(); //清除探路之前的数据 mMarkerManager.removeMarkers(TanluConstants.MODEL_NAME); - mMogoStatusManager.setUserInteractionStatus(TanluConstants.MODEL_NAME, true, false); //打点 ArrayList optionList = new ArrayList<>(); diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java b/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java index 46e80203e0..6ad9ce6645 100644 --- a/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java @@ -121,6 +121,8 @@ public class MogoStatusManager implements IMogoStatusManager { invokeStatusChangedListener( StatusDescriptor.USER_INTERACTED, interrupt ); } recordStatusModifier( tag, StatusDescriptor.USER_INTERACTED ); + // 用户交互是瞬时性的 + mStatus.put( StatusDescriptor.USER_INTERACTED, false ); } @Override