默认配置拉到数据就立刻刷新到桌面

This commit is contained in:
wangcongtao
2020-08-31 16:12:57 +08:00
parent eb54d72671
commit 6cc954343b

View File

@@ -67,7 +67,7 @@ class LauncherCardRefresher {
public static final long ONE_MINUTE = 60 * 1000L; public static final long ONE_MINUTE = 60 * 1000L;
public static final long ONE_DAY = 24 * 60 * ONE_MINUTE; public static final long ONE_DAY = 24 * 60 * ONE_MINUTE;
private String mLaunchTTSText; private String mLaunchTTSText;
private long mDefaultTTSPlayInterval = 30 * ONE_MINUTE; private long mDefaultTTSPlayInterval = 3 * ONE_MINUTE;
private LauncherCardAdvertisementData.LauncherCardAdvertisement mDefaultLauncherCardConfig; private LauncherCardAdvertisementData.LauncherCardAdvertisement mDefaultLauncherCardConfig;
private List< LauncherCardAdvertisementData.LauncherCardAdvertisement > mAdvertisements; private List< LauncherCardAdvertisementData.LauncherCardAdvertisement > mAdvertisements;
@@ -119,7 +119,7 @@ class LauncherCardRefresher {
loadNetworkConfigStrategy(); loadNetworkConfigStrategy();
break; break;
case MSG_REFRESH_DEFAULT_CARD: case MSG_REFRESH_DEFAULT_CARD:
renderDefaultLauncherCardConfig(); renderDefaultLauncherCardConfig( false );
mRefreshStrategy = mRefreshStrategy.getNext(); mRefreshStrategy = mRefreshStrategy.getNext();
restart(); restart();
break; break;
@@ -134,7 +134,7 @@ class LauncherCardRefresher {
} }
break; break;
case MSG_START_LOOP_DEFAULT_CARD: case MSG_START_LOOP_DEFAULT_CARD:
renderDefaultLauncherCardConfig(); renderDefaultLauncherCardConfig( false );
break; break;
case MSG_REFRESH_ADVERTISEMENT: case MSG_REFRESH_ADVERTISEMENT:
int index = msg.arg1;// 当前广告索引 int index = msg.arg1;// 当前广告索引
@@ -154,7 +154,7 @@ class LauncherCardRefresher {
new LauncherCardRefreshStrategy( new LauncherCardRefreshStrategy(
3 * ONE_MINUTE, 3 * ONE_MINUTE,
new LauncherCardRefreshStrategy( new LauncherCardRefreshStrategy(
20 * ONE_MINUTE, 5 * ONE_MINUTE,
null, null,
MSG_EXPLORER_WAY_OR_ONLINE_CAR_DATA ), MSG_EXPLORER_WAY_OR_ONLINE_CAR_DATA ),
MSG_INDUCE ), MSG_INDUCE ),
@@ -327,8 +327,10 @@ class LauncherCardRefresher {
* 1. 刷新默认卡片样式 * 1. 刷新默认卡片样式
* <p> * <p>
* 2. 播报默认卡片语音 * 2. 播报默认卡片语音
*
* @param sendConfigOnly 仅发送配置到
*/ */
private void renderDefaultLauncherCardConfig() { private void renderDefaultLauncherCardConfig( boolean sendConfigOnly ) {
if ( mDefaultLauncherCardConfig != null ) { if ( mDefaultLauncherCardConfig != null ) {
long curr = System.currentTimeMillis(); long curr = System.currentTimeMillis();
if ( mDefaultLauncherCardConfig.endTime > curr && mDefaultLauncherCardConfig.startTime < curr ) { if ( mDefaultLauncherCardConfig.endTime > curr && mDefaultLauncherCardConfig.startTime < curr ) {
@@ -351,6 +353,10 @@ class LauncherCardRefresher {
} }
} }
if ( sendConfigOnly ) {
return;
}
if ( mDefaultConfigCounter++ >= 3 ) { if ( mDefaultConfigCounter++ >= 3 ) {
return; return;
} }
@@ -358,7 +364,7 @@ class LauncherCardRefresher {
int counter = SharedPrefsMgr.getInstance( mContext ).getInt( KEY_LauncherCardTipCounter, 0 ); int counter = SharedPrefsMgr.getInstance( mContext ).getInt( KEY_LauncherCardTipCounter, 0 );
if ( counter >= 5 ) { if ( counter >= 5 ) {
long lastTipTime = SharedPrefsMgr.getInstance( mContext ).getLong( KEY_LauncherCardTipLastTipTime, 0L ); long lastTipTime = SharedPrefsMgr.getInstance( mContext ).getLong( KEY_LauncherCardTipLastTipTime, 0L );
if ( System.currentTimeMillis() - lastTipTime < 10 * ONE_DAY ) { if ( System.currentTimeMillis() - lastTipTime < 10 * ONE_MINUTE ) {
return; return;
} else { } else {
SharedPrefsMgr.getInstance( mContext ).putInt( KEY_LauncherCardTipCounter, 0 ); SharedPrefsMgr.getInstance( mContext ).putInt( KEY_LauncherCardTipCounter, 0 );
@@ -454,6 +460,7 @@ class LauncherCardRefresher {
} }
if ( launcherCardAdvertisement.cardType == LauncherCardAdvertisementData.TYPE_DEFAULT_CONFIG ) { if ( launcherCardAdvertisement.cardType == LauncherCardAdvertisementData.TYPE_DEFAULT_CONFIG ) {
mDefaultLauncherCardConfig = launcherCardAdvertisement; mDefaultLauncherCardConfig = launcherCardAdvertisement;
renderDefaultLauncherCardConfig( true );
} else if ( launcherCardAdvertisement.cardType == LauncherCardAdvertisementData.TYPE_ACTIVITY ) { } else if ( launcherCardAdvertisement.cardType == LauncherCardAdvertisementData.TYPE_ACTIVITY ) {
long curr = System.currentTimeMillis(); long curr = System.currentTimeMillis();
if ( curr > launcherCardAdvertisement.startTime && curr < launcherCardAdvertisement.endTime ) { if ( curr > launcherCardAdvertisement.startTime && curr < launcherCardAdvertisement.endTime ) {