diff --git a/app/src/main/java/com/yizhuan/erban/home/fragment/GameHomeFragment.java b/app/src/main/java/com/yizhuan/erban/home/fragment/GameHomeFragment.java index 28018b278..d9e9d6f58 100644 --- a/app/src/main/java/com/yizhuan/erban/home/fragment/GameHomeFragment.java +++ b/app/src/main/java/com/yizhuan/erban/home/fragment/GameHomeFragment.java @@ -664,7 +664,6 @@ public class GameHomeFragment extends BaseMvpFragment homePlayList; private boolean isLoading = false; private HomePlayAdapter playAdapter; @@ -101,24 +109,54 @@ public class HomePlayFragment extends BaseFragment{ getHomPlay(); } + @SuppressLint("CheckResult") private void getHomPlay(){ GameHomeModel.get().getHomePlay().subscribe((serviceResult, throwable) -> { if (throwable != null) { isLoading = false; } else { isLoading = false; - List info = serviceResult; - if (ListUtils.isListEmpty(info)) { + homePlayList = serviceResult; + if (ListUtils.isListEmpty(homePlayList)) { showNoData(R.drawable.icon_common_failure, "这里什么都没有"); }else { hideStatus(); + playAdapter.setNewData(homePlayList); + refreshData(); } - playAdapter.setNewData(info); - playAdapter.notifyDataSetChanged(); } }); } + private void refreshData(){ + int REFRESH_SPEED = InitialModel.get().getDynamicRefresh() > 0?InitialModel.get().getDynamicRefresh()*1000:3000;//默认3秒 + + LogUtils.e("REFRESH_SPEED"+REFRESH_SPEED); + if (ListUtils.isListEmpty(homePlayList) || runnable != null){ + return; + } + runnable = new Runnable() { + @Override + public void run() { + if (getActivity() != null) { + playAdapter.addData(0,homePlayList.get(homePlayList.size()-1)); + playAdapter.remove(homePlayList.size()-1); + handler.postDelayed(this, REFRESH_SPEED); + } + } + }; + handler.postDelayed(runnable,REFRESH_SPEED); + } + + @Subscribe(threadMode = ThreadMode.MAIN) + public void onAutoRunningEvent(HomeDynamicEvent event) { + if (event.isRunning()){ + stopTimer(); + }else { + refreshData(); + } + } + @Override public void onReloadData() { loadData(); @@ -151,4 +189,20 @@ public class HomePlayFragment extends BaseFragment{ unbinder.unbind(); } + private void stopTimer(){ + handler.removeCallbacks(runnable); + runnable = null; + } + + @Override + public void onDestroy() { + super.onDestroy(); + stopTimer(); + } + + @Override + public void onPause() { + super.onPause(); + stopTimer(); + } } diff --git a/core/build.gradle b/core/build.gradle index 81afbf087..37e2fa1f9 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -98,7 +98,7 @@ dependencies { api 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:5.1.6' // 声网 - api 'io.agora.rtc:full-sdk:3.0.0' + api 'io.agora.rtc:full-sdk:3.0.1' // 易盾 api 'com.netease.mobsec:netmobsecLib:4.2.4.1@aar' diff --git a/gradle.properties b/gradle.properties index 906c3db22..92526d41f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -21,5 +21,5 @@ with_jenkins=false #\u6253\u652F\u6301x86\u7684\u6A21\u62DF\u5668\u5305\u4F7F\u7528 ndk_abi_filters=arm -version_name=1.0.4 -version_code=104 \ No newline at end of file +version_name=1.0.5 +version_code=105 \ No newline at end of file