Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Fragment1 extends Fragment implements View.OnClickListener {
- RoundedImageView imgFairytales;
- TextView txtFairytales;
- TextView txtAuthor;
- AdView mAdView;
- private ImageButton exo_pause;
- private ImageButton exo_play;
- private ImageButton btnNext;
- private ImageButton btnPrev;
- private int songsCount = 0;
- private int id;
- private int currentID;
- String songTitle;
- String songImage;
- String songFile;
- String songAuthor;
- String songText;
- static boolean isPlay = false;
- private Animation scaleAnimation = null;
- OnDataSelectListener onDataSelectListener;
- public static Fragment1 newInstance(int id, String songTitle, String songImage, String songFile, String songAuthor, String songText, int songsCount) {
- Bundle args = new Bundle();
- args.putInt("ID", id);
- args.putString("songTitle", songTitle);
- args.putString("songImage", songImage);
- args.putString("songFile", songFile);
- args.putString("songAuthor", songAuthor);
- args.putString("songText", songText);
- args.putInt("songsCount", songsCount);
- System.out.println("id on newInstance " + id); //ТУТ ЕСТЬ ЗНАЧЕНИЕ
- Fragment1 fragment1 = new Fragment1();
- fragment1.setArguments(args);
- return fragment1;
- }
- @Nullable
- @Override
- public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
- View rootView = inflater.inflate(R.layout.fragment1, container, false);
- imgFairytales = rootView.findViewById(R.id.imgFairytales);
- txtFairytales = rootView.findViewById(R.id.txtFairytales);
- txtAuthor = rootView.findViewById(R.id.txtAuthor);
- KidsPlayer.playerView = new PlayerView(getContext());
- KidsPlayer.playerView = rootView.findViewById(R.id.player);
- exo_pause = rootView.findViewById(R.id.exo_pause);
- exo_play = rootView.findViewById(R.id.exo_play);
- btnNext = rootView.findViewById(R.id.btnNext);
- btnPrev = rootView.findViewById(R.id.btnPrev);
- mAdView = rootView.findViewById(R.id.adView);
- return rootView;
- }
- @Override
- public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
- super.onViewCreated(view, savedInstanceState);
- id = getArguments().getInt("id", 0);
- songTitle = getArguments().getString("songTitle");
- songImage = getArguments().getString("songImage");
- songFile = getArguments().getString("songFile");
- songAuthor = getArguments().getString("songAuthor");
- songText = getArguments().getString("songText");
- songsCount = getArguments().getInt("songsCount");
- System.out.println("id on onViewCreated " + id); //ТУТ УЖЕ 0 ПОЛУЧАЮ
- txtFairytales.setText(songTitle);
- txtAuthor.setText(songAuthor);
- Glide.with(getActivity()).load(Uri.parse("file:///android_asset/img/" + songImage + ".jpg")).into(imgFairytales);
- startPlayerService();
- btnPrev.setOnClickListener(this);
- exo_pause.setOnClickListener(this);
- exo_play.setOnClickListener(this);
- btnNext.setOnClickListener(this);
- }
- @Override
- public void onClick(View view) {
- switch (view.getId()) {
- case R.id.btnPrev:
- onPrev();
- setScaleAnimation(view);
- break;
- case R.id.exo_pause:
- stopPlayerService();
- setScaleAnimation(view);
- break;
- case R.id.exo_play:
- startPlayerService();
- setScaleAnimation(view);
- break;
- case R.id.btnNext:
- onNext();
- setScaleAnimation(view);
- break;
- }
- }
- public void setScaleAnimation(View v) {
- scaleAnimation = AnimationUtils.loadAnimation(getActivity().getApplicationContext(), R.anim.scale);
- v.startAnimation(scaleAnimation);
- }
- public void startPlayerService() {
- Intent serviceIntent = new Intent(getActivity(), PlayerService.class);
- serviceIntent.putExtra(PlayerService.KEY_STREAM, songFile);
- serviceIntent.putExtra(PlayerService.KEY_TITLE, songTitle);
- serviceIntent.setAction(PlayerConstants.ACTION.STARTFOREGROUND_ACTION);
- getActivity().startService(serviceIntent);
- isPlay = true;
- if(exo_play.getVisibility() == View.VISIBLE) {
- exo_play.setVisibility(View.GONE);
- exo_pause.setVisibility(View.VISIBLE);
- }
- }
- private void stopPlayerService() {
- Intent serviceIntent = new Intent(getActivity(), PlayerService.class);
- serviceIntent.setAction(PlayerConstants.ACTION.STOPFOREGROUND_ACTION);
- getActivity().stopService(serviceIntent);
- isPlay = false;
- if(exo_pause.getVisibility() == View.VISIBLE) {
- exo_pause.setVisibility(View.GONE);
- exo_play.setVisibility(View.VISIBLE);
- }
- }
- public void onNext() {
- currentID = id + 1;
- if (currentID < 1) {
- btnPrev.setEnabled(false);
- } else {
- btnPrev.setEnabled(true);
- btnNext.setEnabled(true);
- selectData(currentID);
- startPlayerService();
- }
- }
- public void onPrev() {
- currentID = id - 1;
- if (currentID > songsCount) {
- btnNext.setEnabled(false);
- } else {
- btnPrev.setEnabled(true);
- btnNext.setEnabled(true);
- selectData(currentID);
- startPlayerService();
- }
- }
- private void selectData(int idSong) {
- SongDao songDao = AppDatabase.createPersistentDatabase(getActivity()).songDao();
- songDao.getById(idSong).subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new DisposableMaybeObserver<Song>() {
- @Override
- public void onSuccess(Song song) {
- id = song.getId();
- String strSongFile = song.getFilename();
- songTitle = song.getTitle();
- songImage = song.getImage();
- songAuthor = song.getAuthor();
- songText = song.getText();
- songText = songText.replace("\n", "n");
- songFile = "file:///android_asset/music/" + strSongFile + ".mp3";
- txtFairytales.setText(songTitle);
- txtAuthor.setText(songAuthor);
- Glide.with(getActivity()).load(Uri.parse("file:///android_asset/img/" + songImage + ".jpg")).into(imgFairytales);
- onDataSelectListener.onSelectData(songText);
- currentID = id;
- }
- @Override
- public void onError(Throwable e) {
- }
- @Override
- public void onComplete() {
- }
- });
- }
- public interface OnDataSelectListener{
- void onSelectData(String query);
- }
- @Override
- public void onAttach(Context context) {
- super.onAttach(context);
- try {
- onDataSelectListener = (OnDataSelectListener) getActivity();
- } catch (ClassCastException e) {
- throw new ClassCastException("Error in retrieving data. Please try again");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement