@Override
  public void onClick(View v) {

    switch (v.getId()) {
      case R.id.bottombar_play:

      case R.id.btn_play:
        if (MediaController.getInstance().getPlayingSongDetail() != null) PlayPauseEvent(v);
        break;

      case R.id.btn_forward:
        if (MediaController.getInstance().getPlayingSongDetail() != null)
          MediaController.getInstance().playNextSong();
        break;

      case R.id.btn_backward:
        if (MediaController.getInstance().getPlayingSongDetail() != null)
          MediaController.getInstance().playPreviousSong();
        break;

      case R.id.btn_suffel:
        break;

      case R.id.btn_toggle:
        break;

      case R.id.bottombar_img_Favorite:
        if (MediaController.getInstance().getPlayingSongDetail() != null) {
          MediaController.getInstance()
              .storeFavoritePlay(
                  context,
                  MediaController.getInstance().getPlayingSongDetail(),
                  v.isSelected() ? 0 : 1);
          v.setSelected(!v.isSelected());
          DMPlayerUtility.animateHeartButton(v);
          findViewById(R.id.like).setSelected(!v.isSelected());
          DMPlayerUtility.animatePhotoLike(findViewById(R.id.big_like), findViewById(R.id.like));
        }
        break;

      default:
        break;
    }
  }
    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {

      ViewHolder mViewHolder;
      if (convertView == null) {
        mViewHolder = new ViewHolder();
        convertView = layoutInflater.inflate(R.layout.item_song, null);
        mViewHolder.song_row = (LinearLayout) convertView.findViewById(R.id.song_row);
        mViewHolder.textViewSongName = (TextView) convertView.findViewById(R.id.song_name);
        mViewHolder.textViewSongArtisNameAndDuration =
            (TextView) convertView.findViewById(R.id.song_details);
        mViewHolder.imageSongThm = (ImageView) convertView.findViewById(R.id.song_icon_art);
        mViewHolder.imagemore = (ImageView) convertView.findViewById(R.id.song_icon_option_more);
        convertView.setTag(mViewHolder);
      } else {
        mViewHolder = (ViewHolder) convertView.getTag();
      }
      SongDetail mDetail = songList.get(position);

      String audioDuration = "";
      try {
        audioDuration = DMPlayerUtility.getAudioDuration(Long.parseLong(mDetail.getDuration()));
      } catch (NumberFormatException e) {
        e.printStackTrace();
      }

      mViewHolder.textViewSongArtisNameAndDuration.setText(
          (audioDuration.isEmpty() ? "" : audioDuration + " | ") + mDetail.getArtist());
      mViewHolder.textViewSongName.setText(mDetail.getTitle());
      String contentURI = "content://media/external/audio/media/" + mDetail.getId() + "/albumart";
      imageLoader.displayImage(contentURI, mViewHolder.imageSongThm, options);

      convertView.setOnClickListener(
          new View.OnClickListener() {

            @Override
            public void onClick(View v) {

              SongDetail mDetail = songList.get(position);
              if (mDetail != null) {
                if (MediaController.getInstance().isPlayingAudio(mDetail)
                    && !MediaController.getInstance().isAudioPaused()) {
                  MediaController.getInstance().pauseAudio(mDetail);
                } else {
                  MediaController.getInstance()
                      .setPlaylist(songList, mDetail, (int) tagFor, (int) id);
                }
              }
            }
          });
      mViewHolder.imagemore.setColorFilter(Color.DKGRAY);
      mViewHolder.imagemore.setImageAlpha(255);

      mViewHolder.imagemore.setOnClickListener(
          new View.OnClickListener() {

            @Override
            public void onClick(View v) {
              try {
                PopupMenu popup = new PopupMenu(context, v);
                popup.getMenuInflater().inflate(R.menu.list_item_option, popup.getMenu());
                popup.show();
                popup.setOnMenuItemClickListener(
                    new PopupMenu.OnMenuItemClickListener() {
                      @Override
                      public boolean onMenuItemClick(MenuItem item) {

                        switch (item.getItemId()) {
                          case R.id.playnext:
                            break;
                          case R.id.addtoque:
                            break;
                          case R.id.addtoplaylist:
                            break;
                          case R.id.gotoartis:
                            break;
                          case R.id.gotoalbum:
                            break;
                          case R.id.delete:
                            break;
                          default:
                            break;
                        }

                        return true;
                      }
                    });
              } catch (Exception e) {
                e.printStackTrace();
              }
            }
          });
      return convertView;
    }
 // Catch  theme changed from settings
 public void theme() {
   sp = getSharedPreferences("VALUES", Context.MODE_PRIVATE);
   int theme = sp.getInt("THEME", 0);
   DMPlayerUtility.settingTheme(context, theme);
 }