summaryrefslogtreecommitdiff
path: root/MusicDemo/src/main/java/com/example/android/musicservicedemo/QueueFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'MusicDemo/src/main/java/com/example/android/musicservicedemo/QueueFragment.java')
-rw-r--r--MusicDemo/src/main/java/com/example/android/musicservicedemo/QueueFragment.java50
1 files changed, 13 insertions, 37 deletions
diff --git a/MusicDemo/src/main/java/com/example/android/musicservicedemo/QueueFragment.java b/MusicDemo/src/main/java/com/example/android/musicservicedemo/QueueFragment.java
index 233b282..5d2525b 100644
--- a/MusicDemo/src/main/java/com/example/android/musicservicedemo/QueueFragment.java
+++ b/MusicDemo/src/main/java/com/example/android/musicservicedemo/QueueFragment.java
@@ -17,7 +17,6 @@ package com.example.android.musicservicedemo;
import android.app.Fragment;
import android.content.ComponentName;
-import android.media.MediaMetadata;
import android.media.browse.MediaBrowser;
import android.media.session.MediaController;
import android.media.session.MediaSession;
@@ -35,12 +34,11 @@ import com.example.android.musicservicedemo.utils.LogHelper;
import java.util.List;
/**
- * A class that shows the queue to the user
+ * A class that shows the Media Queue to the user.
*/
public class QueueFragment extends Fragment {
- private static final String TAG = QueueFragment.class.getSimpleName() + "BLAH";
- private static final String ARGS_MEDIA_ID = "media_id";
+ private static final String TAG = QueueFragment.class.getSimpleName();
private ImageButton mSkipNext;
private ImageButton mSkipPrevious;
@@ -50,17 +48,18 @@ public class QueueFragment extends Fragment {
private MediaController.TransportControls mTransportControls;
private MediaController mMediaController;
private PlaybackState mPlaybackState;
- private boolean mConnected;
private QueueAdapter mQueueAdapter;
- private String mMediaId;
- private ListView mListView;
private MediaBrowser.ConnectionCallback mConnectionCallback =
new MediaBrowser.ConnectionCallback() {
@Override
public void onConnected() {
- LogHelper.d(TAG, "onConnected: session token " + mMediaBrowser.getSessionToken());
+ LogHelper.d(TAG, "onConnected: session token ", mMediaBrowser.getSessionToken());
+
+ if (mMediaBrowser.getSessionToken() == null) {
+ throw new IllegalArgumentException("No Session token");
+ }
mMediaController = new MediaController(getActivity(),
mMediaBrowser.getSessionToken());
@@ -70,12 +69,6 @@ public class QueueFragment extends Fragment {
getActivity().setMediaController(mMediaController);
mPlaybackState = mMediaController.getPlaybackState();
- long activeItemId = MediaSession.QueueItem.UNKNOWN_ID;
- if (mPlaybackState != null) {
- activeItemId = mPlaybackState.getActiveQueueItemId();
- }
- mQueueAdapter.setActiveQueueItemId(activeItemId);
-
List<MediaSession.QueueItem> queue = mMediaController.getQueue();
if (queue != null) {
mQueueAdapter.clear();
@@ -83,16 +76,12 @@ public class QueueFragment extends Fragment {
mQueueAdapter.addAll(queue);
mQueueAdapter.notifyDataSetChanged();
}
-
- LogHelper.d(TAG, "got playback state " + mPlaybackState);
- mConnected = true;
onPlaybackStateChanged(mPlaybackState);
}
@Override
public void onConnectionFailed() {
LogHelper.d(TAG, "onConnectionFailed");
- mConnected = false;
}
@Override
@@ -100,7 +89,6 @@ public class QueueFragment extends Fragment {
LogHelper.d(TAG, "onConnectionSuspended");
mMediaController.unregisterCallback(mSessionCallback);
mTransportControls = null;
- mConnected = false;
mMediaController = null;
getActivity().setMediaController(null);
}
@@ -120,14 +108,14 @@ public class QueueFragment extends Fragment {
if (state == null) {
return;
}
- LogHelper.d(TAG, "Received playback state change to state " + state.getState());
+ LogHelper.d(TAG, "Received playback state change to state ", state.getState());
mPlaybackState = state;
QueueFragment.this.onPlaybackStateChanged(state);
}
@Override
public void onQueueChanged(List<MediaSession.QueueItem> queue) {
- LogHelper.d(TAG, "onQueueChanged " + queue);
+ LogHelper.d(TAG, "onQueueChanged ", queue);
if (queue != null) {
mQueueAdapter.clear();
mQueueAdapter.notifyDataSetInvalidated();
@@ -137,15 +125,10 @@ public class QueueFragment extends Fragment {
}
};
- public static QueueFragment newInstance(String mediaId) {
- QueueFragment fragment = new QueueFragment();
- Bundle args = new Bundle();
- args.putString(ARGS_MEDIA_ID, mediaId);
- fragment.setArguments(args);
- return fragment;
+ public static QueueFragment newInstance() {
+ return new QueueFragment();
}
-
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
@@ -165,7 +148,7 @@ public class QueueFragment extends Fragment {
mQueueAdapter = new QueueAdapter(getActivity());
- mListView = (ListView) rootView.findViewById(R.id.list_view);
+ ListView mListView = (ListView) rootView.findViewById(R.id.list_view);
mListView.setAdapter(mQueueAdapter);
mListView.setFocusable(true);
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@@ -173,14 +156,9 @@ public class QueueFragment extends Fragment {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
MediaSession.QueueItem item = mQueueAdapter.getItem(position);
mTransportControls.skipToQueueItem(item.getQueueId());
- mQueueAdapter.setActiveQueueItemId(item.getQueueId());
- mQueueAdapter.notifyDataSetChanged();
}
});
- Bundle args = getArguments();
- mMediaId = args.getString(ARGS_MEDIA_ID);
-
mMediaBrowser = new MediaBrowser(getActivity(),
new ComponentName(getActivity(), MusicService.class),
mConnectionCallback, null);
@@ -188,7 +166,6 @@ public class QueueFragment extends Fragment {
return rootView;
}
-
@Override
public void onResume() {
super.onResume();
@@ -210,7 +187,7 @@ public class QueueFragment extends Fragment {
private void onPlaybackStateChanged(PlaybackState state) {
- LogHelper.d(TAG, "onPlaybackStateChanged " + state);
+ LogHelper.d(TAG, "onPlaybackStateChanged ", state);
if (state == null) {
return;
}
@@ -289,7 +266,6 @@ public class QueueFragment extends Fragment {
skipToNext();
break;
}
-
}
};