|
@@ -77,6 +77,8 @@ public class HomeCardFragment extends BaseMVPFragment<FgHomeCardLayoutBinding, H
|
|
|
private ArrayList<AlbumListBean> allAlbumDatas;
|
|
|
private ExpandAndCollapseAnimPopupWindow mPopupWindow;
|
|
|
|
|
|
+ private AlbumDetailBean currentData;
|
|
|
+
|
|
|
@Override
|
|
|
protected void initView(View rootView) {
|
|
|
Utils.setHeadView(mViewBinding.viewStatusBar, requireContext(), 0);
|
|
@@ -215,12 +217,16 @@ public class HomeCardFragment extends BaseMVPFragment<FgHomeCardLayoutBinding, H
|
|
|
mViewBinding.tvName.setText(data.getTenantName());
|
|
|
}
|
|
|
|
|
|
- private int currentStatus = Constants.HOME_PAGE_STATUS_EMPTY;
|
|
|
+ private int currentStatus = -1;
|
|
|
private ArrayList<HomePageType> currentPageTypeList;
|
|
|
|
|
|
private void load(AlbumDetailBean data) {
|
|
|
int tenantAlbumStatus = data.isStatus() ? Constants.HOME_PAGE_STATUS_HASLOCK : Constants.HOME_PAGE_STATUS_UNLOCK;
|
|
|
ArrayList<HomePageType> pageList = new ArrayList<>();
|
|
|
+ if (data.getCoursewareCounts() > 0) {
|
|
|
+ //云教程
|
|
|
+ pageList.add(HomePageType.ACCOMPANY_HELP);
|
|
|
+ }
|
|
|
if (data.getSubjectCounts() > 0) {
|
|
|
//声部训练
|
|
|
pageList.add(HomePageType.SUBJECT_PRACTICE);
|
|
@@ -233,11 +239,7 @@ public class HomeCardFragment extends BaseMVPFragment<FgHomeCardLayoutBinding, H
|
|
|
//合奏训练
|
|
|
pageList.add(HomePageType.ALL_PRACTICE);
|
|
|
}
|
|
|
- if (data.getSubjectCounts() > 0) {
|
|
|
- //云教程
|
|
|
- pageList.add(HomePageType.ACCOMPANY_HELP);
|
|
|
- }
|
|
|
- if (!isNeedRefresh(tenantAlbumStatus, pageList)) {
|
|
|
+ if (!isNeedRefresh(data.getId(), data.getTenantGroupAlbumId(), tenantAlbumStatus, pageList)) {
|
|
|
return;
|
|
|
}
|
|
|
this.currentPageTypeList = pageList;
|
|
@@ -252,13 +254,20 @@ public class HomeCardFragment extends BaseMVPFragment<FgHomeCardLayoutBinding, H
|
|
|
CardAnimFragment cardAnimFragment = CardAnimFragment.newInstance(page.getValue(), page.getType(), defaultAlbumId, tenantGroupAlbumId, tenantAlbumStatus);
|
|
|
list.add(cardAnimFragment);
|
|
|
}
|
|
|
+ this.currentData = data;
|
|
|
this.currentStatus = tenantAlbumStatus;
|
|
|
mCardPageAdapter.setFragments(list);
|
|
|
mViewBinding.viewPager.setAdapter(mCardPageAdapter);
|
|
|
// mCardPageAdapter.notifyDataSetChanged();
|
|
|
}
|
|
|
|
|
|
- private boolean isNeedRefresh(int status, ArrayList<HomePageType> pageList) {
|
|
|
+ private boolean isNeedRefresh(String defaultAlbumId, String tenantGroupAlbumId, int status, ArrayList<HomePageType> pageList) {
|
|
|
+ if (currentData != null && !TextUtils.equals(tenantGroupAlbumId, currentData.getTenantGroupAlbumId())) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ if (currentData != null && !TextUtils.equals(defaultAlbumId, currentData.getId())) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
if (mCardPageAdapter.getItemCount() != pageList.size() || currentStatus != status) {
|
|
|
return true;
|
|
|
}
|
|
@@ -326,6 +335,10 @@ public class HomeCardFragment extends BaseMVPFragment<FgHomeCardLayoutBinding, H
|
|
|
this.tenantGroupAlbumId = defaultSelectAlbum.getTenantGroupAlbumId();
|
|
|
UserHelper.setCustomCache(UserHelper.DEFAULT_ALBUM_ID, tenantGroupAlbumId);
|
|
|
mViewBinding.tvSwitchAlbum.setText(defaultSelectAlbum.getName());
|
|
|
+ getAlbumDetail(defaultSelectAlbum.getTenantGroupAlbumId());
|
|
|
+ }
|
|
|
+
|
|
|
+ private void getAlbumDetail(String tenantGroupAlbumId) {
|
|
|
presenter.getAlbumDetail(tenantGroupAlbumId);
|
|
|
}
|
|
|
|