opt
This commit is contained in:
@@ -48,7 +48,7 @@ MOGO_MODULE_BACK_VERSION=1.0.2-SNAPSHOT
|
||||
|
||||
## 工程外部模块
|
||||
# 探路
|
||||
MOGO_MODULE_TANLU_VERSION=1.0.1-SNAPSHOT
|
||||
MOGO_MODULE_TANLU_VERSION=1.0.2-SNAPSHOT
|
||||
# 车聊聊
|
||||
CARCHATTING_VERSION=1.0.2-SNAPSHOT
|
||||
# 车聊聊接口
|
||||
@@ -64,7 +64,7 @@ MOGO_MODULE_PUSH_VERSION=1.0.0-SNAPSHOT
|
||||
# 广告资源位
|
||||
MOGO_MODULE_AD_CARD_VERSION=1.0.0-SNAPSHOT
|
||||
# 新鲜水
|
||||
MOGO_MODULE_FRESH_NEWS_VERSION=1.0.0-SNAPSHOT
|
||||
MOGO_MODULE_FRESH_NEWS_VERSION=1.0.2-SNAPSHOT
|
||||
|
||||
# 卡片效果
|
||||
CARD_LIBRARY_VERSION=1.0.0-SNAPSHOT
|
||||
@@ -157,7 +157,7 @@ public class MogoServices implements IMogoMapListener,
|
||||
return;
|
||||
}
|
||||
mRefreshRemainingTime -= ServiceConst.DECREASE_INTERVAL;
|
||||
if ( mRefreshRemainingTime == 0 ) {
|
||||
if ( mRefreshRemainingTime <= 0 ) {
|
||||
Logger.d( TAG, "move to center and refresh data." );
|
||||
invokeAutoRefresh();
|
||||
} else {
|
||||
@@ -503,7 +503,6 @@ public class MogoServices implements IMogoMapListener,
|
||||
if ( factor == 0.0f ) {
|
||||
return false;
|
||||
}
|
||||
Logger.d( TAG, "invokeRefreshWhenTranslationByUser,mLastCustomRefreshCenterLocation = %s, latLng = %s", mLastCustomRefreshCenterLocation, latLng );
|
||||
float distance = Utils.calculateLineDistance( latLng, mLastCustomRefreshCenterLocation );
|
||||
Trace.endSection();
|
||||
return distance > factor;
|
||||
@@ -592,8 +591,7 @@ public class MogoServices implements IMogoMapListener,
|
||||
switch ( descriptor ) {
|
||||
case USER_INTERACTED:
|
||||
if ( isTrue ) {
|
||||
mRefreshRemainingTime = ServiceConst.DEFAULT_AUTO_REFRESH_WHEN_INTERRUPT;
|
||||
Logger.i( TAG, "用户状态改变,下次刷新时间:%ss后", mRefreshRemainingTime );
|
||||
restartAutoRefreshAtTime( ServiceConst.DEFAULT_AUTO_REFRESH_WHEN_INTERRUPT );
|
||||
}
|
||||
break;
|
||||
case SEARCH_UI:
|
||||
@@ -636,6 +634,21 @@ public class MogoServices implements IMogoMapListener,
|
||||
}
|
||||
}
|
||||
|
||||
public void restartAutoRefreshAtTime( int time ) {
|
||||
if ( time < 0 ) {
|
||||
Logger.w( TAG, "ignore refresh request case time < 0" );
|
||||
return;
|
||||
}
|
||||
stopAutoRefreshStrategy();
|
||||
mRefreshRemainingTime = time;
|
||||
long delay = ServiceConst.DECREASE_INTERVAL;
|
||||
if( mRefreshRemainingTime < ServiceConst.DECREASE_INTERVAL ){
|
||||
delay = mRefreshRemainingTime;
|
||||
}
|
||||
mHandler.sendEmptyMessageDelayed( ServiceConst.MSG_TYPE_REFRESH_DECREASE, delay );
|
||||
Logger.i( TAG, "下次刷新时间:%ss后", mRefreshRemainingTime );
|
||||
}
|
||||
|
||||
public void refreshStrategy() {
|
||||
Logger.d( TAG, "move to center and refresh data." );
|
||||
mStatusManager.setUserInteractionStatus( ServiceConst.TYPE, true, false );
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.mogo.module.service.strategy;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.mogo.module.service.MogoServices;
|
||||
import com.mogo.service.MogoServicePaths;
|
||||
import com.mogo.service.strategy.IMogoRefreshStrategyController;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2020-03-13
|
||||
* <p>
|
||||
* 描述
|
||||
*/
|
||||
@Route( path = MogoServicePaths.PATH_REFRESH_STRATEGY_API )
|
||||
public class MogoRefreshStrategyController implements IMogoRefreshStrategyController {
|
||||
|
||||
@Override
|
||||
public void restartAutoRefreshAtTime( int delay ) {
|
||||
MogoServices.getInstance().restartAutoRefreshAtTime( delay );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init( Context context ) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -19,6 +19,7 @@ import com.mogo.service.module.IMogoSettingManager;
|
||||
import com.mogo.service.network.IMogoNetwork;
|
||||
import com.mogo.service.statusmanager.IMogoMsgCenter;
|
||||
import com.mogo.service.statusmanager.IMogoStatusManager;
|
||||
import com.mogo.service.strategy.IMogoRefreshStrategyController;
|
||||
import com.mogo.service.windowview.IMogoWindowManager;
|
||||
|
||||
/**
|
||||
@@ -146,4 +147,11 @@ public interface IMogoServiceApis extends IProvider {
|
||||
* @return
|
||||
*/
|
||||
IMogoActionManager getActionManagerApi();
|
||||
|
||||
/**
|
||||
* 获取刷新策略控制接口
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
IMogoRefreshStrategyController getRefreshStrategyControllerApi();
|
||||
}
|
||||
|
||||
@@ -148,4 +148,10 @@ public class MogoServicePaths {
|
||||
*/
|
||||
@Deprecated
|
||||
public static final String PATH_ACTION_APIS = "/mogoaction/api";
|
||||
|
||||
/**
|
||||
* 刷新策略控制
|
||||
*/
|
||||
@Deprecated
|
||||
public static final String PATH_REFRESH_STRATEGY_API = "refreshstrategy/api";
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.mogo.service.strategy;
|
||||
|
||||
import com.alibaba.android.arouter.facade.template.IProvider;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2020-03-13
|
||||
* <p>
|
||||
* 刷新策略控制
|
||||
*/
|
||||
public interface IMogoRefreshStrategyController extends IProvider {
|
||||
|
||||
/**
|
||||
* 中断当前刷新,在 delay ms 后再次刷新
|
||||
*
|
||||
* @param delay 单位(ms) 0 为则立即刷新,为负值则忽略
|
||||
*/
|
||||
void restartAutoRefreshAtTime( int delay );
|
||||
|
||||
}
|
||||
@@ -28,6 +28,7 @@ import com.mogo.service.module.IMogoSettingManager;
|
||||
import com.mogo.service.network.IMogoNetwork;
|
||||
import com.mogo.service.statusmanager.IMogoMsgCenter;
|
||||
import com.mogo.service.statusmanager.IMogoStatusManager;
|
||||
import com.mogo.service.strategy.IMogoRefreshStrategyController;
|
||||
import com.mogo.service.windowview.IMogoWindowManager;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
|
||||
@@ -135,6 +136,11 @@ public class MogoServiceApis implements IMogoServiceApis {
|
||||
return getApiInstance( IMogoActionManager.class, MogoServicePaths.PATH_ACTION_APIS );
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoRefreshStrategyController getRefreshStrategyControllerApi() {
|
||||
return getApiInstance( IMogoRefreshStrategyController.class, MogoServicePaths.PATH_REFRESH_STRATEGY_API );
|
||||
}
|
||||
|
||||
private static < T extends IProvider > T getApiInstance( Class< T > clazz, String path ) {
|
||||
T inst = SingletonsHolder.get( clazz );
|
||||
if ( inst == null ) {
|
||||
|
||||
Reference in New Issue
Block a user