X-Git-Url: https://git.mdrn.pl/wl-app.git/blobdiff_plain/48b2fe9f7c2dc3d9aeaaa6dbfb27c7da4f3235ff..269195b3729c1bdc22e9053ee4ebca667ea8549d:/Android/app/src/main/java/com/moiseum/wolnelektury/view/player/playlist/PlayerPlaylistFragment.java diff --git a/Android/app/src/main/java/com/moiseum/wolnelektury/view/player/playlist/PlayerPlaylistFragment.java b/Android/app/src/main/java/com/moiseum/wolnelektury/view/player/playlist/PlayerPlaylistFragment.java new file mode 100644 index 0000000..c1333db --- /dev/null +++ b/Android/app/src/main/java/com/moiseum/wolnelektury/view/player/playlist/PlayerPlaylistFragment.java @@ -0,0 +1,72 @@ +package com.moiseum.wolnelektury.view.player.playlist; + +import android.os.Bundle; +import android.support.v7.widget.LinearLayoutManager; +import android.view.View; + +import com.moiseum.wolnelektury.R; +import com.moiseum.wolnelektury.base.mvp.PresenterFragment; +import com.moiseum.wolnelektury.components.ProgressRecyclerView; +import com.moiseum.wolnelektury.components.recycler.RecyclerAdapter; +import com.moiseum.wolnelektury.connection.models.MediaModel; + +import org.parceler.Parcels; + +import java.util.List; + +import butterknife.BindView; + +/** + * Created by Piotr Ostrowski on 28.05.2018. + */ +public class PlayerPlaylistFragment extends PresenterFragment implements PlayerPlaylistView { + + private static final String MEDIA_FILES_KEY = "MediaFilesKey"; + + @BindView(R.id.rvPlayerPlaylist) + ProgressRecyclerView rvPlayerPlaylist; + + private PlayerPlaylistAdapter adapter; + + public static PlayerPlaylistFragment newInstance(List mediaFiles) { + PlayerPlaylistFragment fragment = new PlayerPlaylistFragment(); + Bundle args = new Bundle(); + args.putParcelable(MEDIA_FILES_KEY, Parcels.wrap(mediaFiles)); + fragment.setArguments(args); + return fragment; + } + + @Override + protected PlayerPlaylistPresenter createPresenter() { + if (getArguments() == null || getArguments().getParcelable(MEDIA_FILES_KEY) == null) { + throw new IllegalStateException("Media files object is required at this point."); + } + return new PlayerPlaylistPresenter(Parcels.unwrap(getArguments().getParcelable(MEDIA_FILES_KEY)), this, getContext()); + } + + @Override + public int getLayoutResourceId() { + return R.layout.fragment_player_playlist; + } + + @Override + public void prepareView(View view, Bundle savedInstanceState) { + initList(rvPlayerPlaylist); + } + + @Override + public void setCurrentPlaylistItem(int position) { + adapter.selectItem(adapter.getItem(position)); + } + + public void initList(ProgressRecyclerView rvList) { + adapter = new PlayerPlaylistAdapter(getContext()); + adapter.setOnItemClickListener((item, view, position) -> getPresenter().onPlaylistItemClick(position)); + rvList.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false)); + rvList.setAdapter(adapter); + } + + public void setPlaylist(List item) { + rvPlayerPlaylist.setItems(item); + } +}