naman14 / Timber

Material Design Music Player
6.99k stars 2.16k forks source link

No repeat single track symbol #51

Open Aaditya21396 opened 8 years ago

Aaditya21396 commented 8 years ago

There is no icon to represent Repeat single track v/s. repeat all in list.

ColaAndroid commented 7 years ago

In YOURAPPLICATIONNAME/nowplaying/JAVAS (all fragments in this folder where the updateRepeatState function is already available except the BaseNowplayingFragment.java) in the following function replace the complete current function with the following:

    public void updateRepeatState() {
        if (MusicPlayer.getRepeatMode() == 0 && getActivity() != null) {
            MaterialDrawableBuilder builder = MaterialDrawableBuilder.with(getActivity())
                    .setIcon(MaterialDrawableBuilder.IconValue.REPEAT_OFF)
                    .setSizeDp(30);

            if (getActivity() != null) {
                if (MusicPlayer.getRepeatMode() == 0) {
                    builder.setColor(Config.textColorPrimary(getActivity(), ateKey));
                } else builder.setColor(Config.accentColor(getActivity(), ateKey));
            }

            repeat.setImageDrawable(builder.build());
            repeat.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    MusicPlayer.cycleRepeat();
                    updateRepeatState();
                    updateShuffleState();
                }
            });
        }
        if (MusicPlayer.getRepeatMode() == 1 && getActivity() != null) {
            MaterialDrawableBuilder builder1 = MaterialDrawableBuilder.with(getActivity())
                    .setIcon(MaterialDrawableBuilder.IconValue.REPEAT_ONCE)
                    .setSizeDp(30);

            if (getActivity() != null) {
                if (MusicPlayer.getRepeatMode() == 1) {
                    builder1.setColor(Config.textColorPrimary(getActivity(), ateKey));
                } else builder1.setColor(Config.accentColor(getActivity(), ateKey));
            }

            repeat.setImageDrawable(builder1.build());
            repeat.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    MusicPlayer.cycleRepeat();
                    updateRepeatState();
                    updateShuffleState();
                }
            });
        }
        if (MusicPlayer.getRepeatMode() == 2 && getActivity() != null) {
            MaterialDrawableBuilder builder2 = MaterialDrawableBuilder.with(getActivity())
                    .setIcon(MaterialDrawableBuilder.IconValue.REPEAT)
                    .setSizeDp(30);

            if (getActivity() != null) {
                if (MusicPlayer.getRepeatMode() == 2) {
                    builder2.setColor(Config.textColorPrimary(getActivity(), ateKey));
                } else builder2.setColor(Config.accentColor(getActivity(), ateKey));
            }

            repeat.setImageDrawable(builder2.build());
            repeat.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    MusicPlayer.cycleRepeat();
                    updateRepeatState();
                    updateShuffleState();
                }
            });
        }
    }