public void onPlayerStateChanged(PlayerStateChanged playerStateChanged) { PlayerState playerState = playerStateChanged.getPlayerState(); boolean playlistPlaying = isContentPlaying() && playerState.playing; Action action = (Action) actionsAdapter.get(0); action.setLabel1(playlistPlaying ? getResources().getString(R.string.lb_playback_controls_pause) : getResources().getString(R.string.lb_playback_controls_play)); actionsAdapter.notifyArrayItemRangeChanged(0, 1); }
private void sortHeaders() { for (int i = 0; i < mRowsAdapter.size() - 1; i++) { for (int j = i + 1; j < mRowsAdapter.size() - 1; j++) { ListRow listRow1 = (ListRow) mRowsAdapter.get(i); ListRow listRow2 = (ListRow) mRowsAdapter.get(j); if ((int) listRow2.getHeaderItem().getName().charAt(0) < (int) listRow1.getHeaderItem().getName().charAt(0)) { int index1 = mRowsAdapter.indexOf(listRow1); int index2 = mRowsAdapter.indexOf(listRow2); mRowsAdapter.replace(index1, listRow2); mRowsAdapter.replace(index2, listRow1); } } } }
@Override public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item, RowPresenter.ViewHolder rowViewHolder, Row row) { if (item instanceof Track) { String trackUri = ((Track) item).uri; SpotifyPlayerController spotifyPlayerController = SpotifyTvApplication.getInstance().getSpotifyPlayerController(); if (spotifyPlayerController.getPlayingState().isCurrentTrack(trackUri)) { spotifyPlayerController.togglePauseResume(); } else { // get song and following ones List<String> trackUris = new ArrayList<>(); List<TrackSimple> tracks = new ArrayList<TrackSimple>(); for (int i = mTopTrackAdapter.indexOf(item); i < mTopTrackAdapter.size() && i < Constants.MAX_SONGS_PLAYED; i++) { tracks.add((TrackSimple) mTopTrackAdapter.get(i)); trackUris.add(((Track) mTopTrackAdapter.get(i)).uri); } spotifyPlayerController.play(trackUri, trackUris, tracks); } } else { SpotifyTvApplication.getInstance().launchDetailScreen(getActivity(), item); } } });
@Override public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item, RowPresenter.ViewHolder rowViewHolder, Row row) { if (item instanceof Track) { String trackUri = ((Track) item).uri; SpotifyPlayerController spotifyPlayerController = SpotifyTvApplication.getInstance().getSpotifyPlayerController(); if (spotifyPlayerController.getPlayingState().isCurrentTrack(trackUri)) { spotifyPlayerController.togglePauseResume(); } else { // get song and following ones List<TrackSimple> tracks = new ArrayList<>(); List<String> trackUris = new ArrayList<>(); for (int i = mTrackRowAdapter.indexOf(item); i < mTrackRowAdapter.size() && i < Constants.MAX_SONGS_PLAYED; i++) { tracks.add((TrackSimple) mTrackRowAdapter.get(i)); trackUris.add(((Track) mTrackRowAdapter.get(i)).uri); } spotifyPlayerController.play(trackUri, trackUris, tracks); } } else { SpotifyTvApplication.getInstance().launchDetailScreen(getActivity(), item); } } });