public void removeData(final PlaylistData data, final MusicData musicData) { ArrayList<AbstractSong> playlists = getAllItems(); if (musicData == null) { if (data.getSongs().equals(playbackService.getArrayPlayback())) { playbackService.stopPressed(); } if (data.isExpanded()) { playlists.removeAll(data.getSongs()); } data.deletePlaylist(getContext(), data.getId()); playlists.remove(playlists.indexOf(data)); } else { data.removeFromPlaylist(getContext(), data.getId(), musicData.getId()); ((PlaylistData) playlists.get(playlists.indexOf(data))).getSongs().remove(musicData); playlists.remove(musicData); playbackService.remove(musicData); } if (null != musicData && ((PlaylistData) playlists.get(playlists.indexOf(data))).getSongs().size() == 0) { ((PlaylistData) playlists.get(playlists.indexOf(data))).setExpanded(false); } adapter.remove(data); updateAdapter(playlists); }