Changed playlist to automatically scroll to current item in playlist on change.
This commit is contained in:
parent
99f72ee862
commit
8a08fb00ec
2 changed files with 14 additions and 2 deletions
|
@ -110,6 +110,7 @@ public class RouteFragment extends MediaRouteDiscoveryFragment implements
|
||||||
mMediaRouterPlayService = (MediaRouterPlayServiceBinder) service;
|
mMediaRouterPlayService = (MediaRouterPlayServiceBinder) service;
|
||||||
mMediaRouterPlayService.getService().setRouterFragment(RouteFragment.this);
|
mMediaRouterPlayService.getService().setRouterFragment(RouteFragment.this);
|
||||||
mPlaylistAdapter.addAll(mMediaRouterPlayService.getService().getPlaylist());
|
mPlaylistAdapter.addAll(mMediaRouterPlayService.getService().getPlaylist());
|
||||||
|
receiveIsPlaying(mMediaRouterPlayService.getService().getCurrentTrack());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onServiceDisconnected(ComponentName className) {
|
public void onServiceDisconnected(ComponentName className) {
|
||||||
|
@ -447,9 +448,17 @@ public class RouteFragment extends MediaRouteDiscoveryFragment implements
|
||||||
: "0" + Integer.toString(seconds));
|
: "0" + Integer.toString(seconds));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sent by MediaRouterPlayService when playback of a new track is started.
|
||||||
|
*
|
||||||
|
* @param track Index of the track in the playlist.
|
||||||
|
*/
|
||||||
|
public void receiveIsPlaying(int track) {
|
||||||
|
mListView.smoothScrollToPosition(track);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Receives information from MediaRouterPlayService about playback status.
|
* Receives information from MediaRouterPlayService about playback status.
|
||||||
* TODO: doc
|
|
||||||
*/
|
*/
|
||||||
public void receivePlaybackStatus(MediaItemStatus status) {
|
public void receivePlaybackStatus(MediaItemStatus status) {
|
||||||
int currentTime = (int) status.getContentPosition() / 1000;
|
int currentTime = (int) status.getContentPosition() / 1000;
|
||||||
|
|
|
@ -84,7 +84,7 @@ public class MediaRouterPlayService extends Service {
|
||||||
/**
|
/**
|
||||||
* The track that is currently being played.
|
* The track that is currently being played.
|
||||||
*/
|
*/
|
||||||
private int mCurrentTrack;
|
private int mCurrentTrack = -1;
|
||||||
|
|
||||||
private String mItemId;
|
private String mItemId;
|
||||||
|
|
||||||
|
@ -230,6 +230,9 @@ public class MediaRouterPlayService extends Service {
|
||||||
|
|
||||||
new CreateNotificationTask().execute(mPlaylist.get(mCurrentTrack)
|
new CreateNotificationTask().execute(mPlaylist.get(mCurrentTrack)
|
||||||
.getFirstPropertyValue(DIDLObject.Property.UPNP.ALBUM_ART_URI.class));
|
.getFirstPropertyValue(DIDLObject.Property.UPNP.ALBUM_ART_URI.class));
|
||||||
|
|
||||||
|
if (mRouterFragment.get() != null)
|
||||||
|
mRouterFragment.get().receiveIsPlaying(mCurrentTrack);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue