summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNagesh Susarla <nageshs@google.com>2014-11-11 20:54:51 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-11-11 20:54:52 +0000
commitd025a0272babbd56c301d773fd16c4b00f5f6428 (patch)
tree8941dd8cb87c410323b1d359c52cc66149b396fc
parentdce3ccc533270340f57223a7c2685947762cfcbb (diff)
parent236b66bed42f4b09298237362ec1fcae595fbc77 (diff)
downloaddemos-d025a0272babbd56c301d773fd16c4b00f5f6428.tar.gz
Merge "Minor cleanup to fix a few things in the media sample" into lmp-dev
-rw-r--r--MusicDemo/src/main/java/com/example/android/musicservicedemo/BrowseFragment.java8
-rw-r--r--MusicDemo/src/main/java/com/example/android/musicservicedemo/MusicPlayerActivity.java2
-rw-r--r--MusicDemo/src/main/java/com/example/android/musicservicedemo/QueueAdapter.java4
-rw-r--r--MusicDemo/src/main/java/com/example/android/musicservicedemo/QueueFragment.java50
-rw-r--r--MusicDemo/src/main/res/layout/fragment_list.xml2
-rw-r--r--MusicDemo/src/main/res/layout/media_list_item.xml (renamed from MusicDemo/src/main/res/layout/list_item.xml)2
-rw-r--r--MusicDemo/src/main/res/values/dimens.xml4
7 files changed, 26 insertions, 46 deletions
diff --git a/MusicDemo/src/main/java/com/example/android/musicservicedemo/BrowseFragment.java b/MusicDemo/src/main/java/com/example/android/musicservicedemo/BrowseFragment.java
index 2b98263..1218c81 100644
--- a/MusicDemo/src/main/java/com/example/android/musicservicedemo/BrowseFragment.java
+++ b/MusicDemo/src/main/java/com/example/android/musicservicedemo/BrowseFragment.java
@@ -68,7 +68,6 @@ public class BrowseFragment extends Fragment {
mBrowserAdapter.clear();
mBrowserAdapter.notifyDataSetInvalidated();
for (MediaBrowser.MediaItem item : children) {
- LogHelper.d(TAG, "MediaItem: -> " + item.getDescription().getDescription());
mBrowserAdapter.add(item);
}
mBrowserAdapter.notifyDataSetChanged();
@@ -91,6 +90,9 @@ public class BrowseFragment extends Fragment {
mMediaId = mMediaBrowser.getRoot();
}
mMediaBrowser.subscribe(mMediaId, mSubscriptionCallback);
+ if (mMediaBrowser.getSessionToken() == null) {
+ throw new IllegalArgumentException("No Session token");
+ }
MediaController mediaController = new MediaController(getActivity(),
mMediaBrowser.getSessionToken());
getActivity().setMediaController(mediaController);
@@ -167,7 +169,7 @@ public class BrowseFragment extends Fragment {
private static class BrowseAdapter extends ArrayAdapter<MediaBrowser.MediaItem> {
public BrowseAdapter(Context context) {
- super(context, R.layout.list_item, new ArrayList<MediaBrowser.MediaItem>());
+ super(context, R.layout.media_list_item, new ArrayList<MediaBrowser.MediaItem>());
}
static class ViewHolder {
@@ -183,7 +185,7 @@ public class BrowseFragment extends Fragment {
if (convertView == null) {
convertView = LayoutInflater.from(getContext())
- .inflate(R.layout.list_item, parent, false);
+ .inflate(R.layout.media_list_item, parent, false);
holder = new ViewHolder();
holder.mImageView = (ImageView) convertView.findViewById(R.id.play_eq);
holder.mImageView.setVisibility(View.GONE);
diff --git a/MusicDemo/src/main/java/com/example/android/musicservicedemo/MusicPlayerActivity.java b/MusicDemo/src/main/java/com/example/android/musicservicedemo/MusicPlayerActivity.java
index 7a2f8fb..39c46c4 100644
--- a/MusicDemo/src/main/java/com/example/android/musicservicedemo/MusicPlayerActivity.java
+++ b/MusicDemo/src/main/java/com/example/android/musicservicedemo/MusicPlayerActivity.java
@@ -46,7 +46,7 @@ public class MusicPlayerActivity extends Activity
public void onMediaItemSelected(MediaBrowser.MediaItem item) {
if (item.isPlayable()) {
getMediaController().getTransportControls().playFromMediaId(item.getMediaId(), null);
- QueueFragment queueFragment = QueueFragment.newInstance(item.getMediaId());
+ QueueFragment queueFragment = QueueFragment.newInstance();
getFragmentManager().beginTransaction()
.replace(R.id.container, queueFragment)
.addToBackStack(null)
diff --git a/MusicDemo/src/main/java/com/example/android/musicservicedemo/QueueAdapter.java b/MusicDemo/src/main/java/com/example/android/musicservicedemo/QueueAdapter.java
index 9c7870b..d1f6ac5 100644
--- a/MusicDemo/src/main/java/com/example/android/musicservicedemo/QueueAdapter.java
+++ b/MusicDemo/src/main/java/com/example/android/musicservicedemo/QueueAdapter.java
@@ -35,7 +35,7 @@ public class QueueAdapter extends ArrayAdapter<MediaSession.QueueItem> {
private long mActiveQueueItemId = MediaSession.QueueItem.UNKNOWN_ID;
public QueueAdapter(Activity context) {
- super(context, R.layout.list_item, new ArrayList<MediaSession.QueueItem>());
+ super(context, R.layout.media_list_item, new ArrayList<MediaSession.QueueItem>());
}
public void setActiveQueueItemId(long id) {
@@ -53,7 +53,7 @@ public class QueueAdapter extends ArrayAdapter<MediaSession.QueueItem> {
if (convertView == null) {
convertView = LayoutInflater.from(getContext())
- .inflate(R.layout.list_item, parent, false);
+ .inflate(R.layout.media_list_item, parent, false);
holder = new ViewHolder();
holder.mImageView = (ImageView) convertView.findViewById(R.id.play_eq);
holder.mTitleView = (TextView) convertView.findViewById(R.id.title);
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;
}
-
}
};
diff --git a/MusicDemo/src/main/res/layout/fragment_list.xml b/MusicDemo/src/main/res/layout/fragment_list.xml
index a40240f..c169fec 100644
--- a/MusicDemo/src/main/res/layout/fragment_list.xml
+++ b/MusicDemo/src/main/res/layout/fragment_list.xml
@@ -17,7 +17,7 @@
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:padding="16dp">
+ android:padding="@dimen/fragment_list_padding">
<LinearLayout
android:id="@+id/controls"
diff --git a/MusicDemo/src/main/res/layout/list_item.xml b/MusicDemo/src/main/res/layout/media_list_item.xml
index 729628f..72c0ccf 100644
--- a/MusicDemo/src/main/res/layout/list_item.xml
+++ b/MusicDemo/src/main/res/layout/media_list_item.xml
@@ -31,7 +31,7 @@
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeight"
android:mode="twoLine"
- android:padding="4dp"
+ android:padding="@dimen/list_item_padding"
android:orientation="vertical">
<TextView
diff --git a/MusicDemo/src/main/res/values/dimens.xml b/MusicDemo/src/main/res/values/dimens.xml
index f905809..e57a8c9 100644
--- a/MusicDemo/src/main/res/values/dimens.xml
+++ b/MusicDemo/src/main/res/values/dimens.xml
@@ -15,5 +15,7 @@
limitations under the License.
-->
<resources>
- <dimen name="margin_text_view">6dip</dimen>
+ <dimen name="fragment_list_padding">16dp</dimen>
+ <dimen name="list_item_padding">4dp</dimen>
+ <dimen name="margin_text_view">6dp</dimen>
</resources>