|
|
|
|
@ -19,6 +19,7 @@ import com.fongmi.bear.model.SiteViewModel; |
|
|
|
|
import com.fongmi.bear.ui.custom.CustomRowPresenter; |
|
|
|
|
import com.fongmi.bear.ui.custom.CustomSelector; |
|
|
|
|
import com.fongmi.bear.ui.presenter.FuncPresenter; |
|
|
|
|
import com.fongmi.bear.ui.presenter.ProgressPresenter; |
|
|
|
|
import com.fongmi.bear.ui.presenter.TitlePresenter; |
|
|
|
|
import com.fongmi.bear.ui.presenter.VodPresenter; |
|
|
|
|
import com.fongmi.bear.utils.ResUtil; |
|
|
|
|
@ -47,7 +48,7 @@ public class HomeActivity extends BaseActivity { |
|
|
|
|
setRecyclerView(); |
|
|
|
|
setViewModel(); |
|
|
|
|
setAdapter(); |
|
|
|
|
getContent(); |
|
|
|
|
getVideo(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
@ -57,7 +58,8 @@ public class HomeActivity extends BaseActivity { |
|
|
|
|
|
|
|
|
|
private void setRecyclerView() { |
|
|
|
|
CustomSelector selector = new CustomSelector(); |
|
|
|
|
selector.addPresenter(String.class, new TitlePresenter()); |
|
|
|
|
selector.addPresenter(Integer.class, new TitlePresenter()); |
|
|
|
|
selector.addPresenter(String.class, new ProgressPresenter()); |
|
|
|
|
selector.addPresenter(ListRow.class, new CustomRowPresenter(16), VodPresenter.class); |
|
|
|
|
selector.addPresenter(ListRow.class, new CustomRowPresenter(16), FuncPresenter.class); |
|
|
|
|
mBinding.recycler.setVerticalSpacing(ResUtil.dp2px(16)); |
|
|
|
|
@ -67,6 +69,7 @@ public class HomeActivity extends BaseActivity { |
|
|
|
|
private void setViewModel() { |
|
|
|
|
mSiteViewModel = new ViewModelProvider(this).get(SiteViewModel.class); |
|
|
|
|
mSiteViewModel.mResult.observe(this, result -> { |
|
|
|
|
mAdapter.remove("progress"); |
|
|
|
|
for (List<Vod> items : result.partition()) { |
|
|
|
|
ArrayObjectAdapter adapter = new ArrayObjectAdapter(new VodPresenter(items.size())); |
|
|
|
|
adapter.addAll(0, items); |
|
|
|
|
@ -76,15 +79,16 @@ public class HomeActivity extends BaseActivity { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void setAdapter() { |
|
|
|
|
mAdapter.add(ResUtil.getString(R.string.app_name)); |
|
|
|
|
mAdapter.add(R.string.app_name); |
|
|
|
|
mAdapter.add(getFuncRow()); |
|
|
|
|
mAdapter.add(ResUtil.getString(R.string.home_recent)); |
|
|
|
|
mAdapter.add(ResUtil.getString(R.string.home_recommend)); |
|
|
|
|
mAdapter.add(R.string.home_recent); |
|
|
|
|
mAdapter.add(R.string.home_recommend); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void getContent() { |
|
|
|
|
private void getVideo() { |
|
|
|
|
if (mAdapter.size() > 4) mAdapter.removeItems(4, mAdapter.size() - 4); |
|
|
|
|
mSiteViewModel.homeContent(); |
|
|
|
|
mAdapter.add("progress"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private ListRow getFuncRow() { |
|
|
|
|
@ -113,6 +117,6 @@ public class HomeActivity extends BaseActivity { |
|
|
|
|
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { |
|
|
|
|
super.onActivityResult(requestCode, resultCode, data); |
|
|
|
|
if (resultCode != RESULT_OK) return; |
|
|
|
|
getContent(); |
|
|
|
|
getVideo(); |
|
|
|
|
} |
|
|
|
|
} |