diff --git a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/media/MediaPlayerGlue.java b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/media/MediaPlayerGlue.java
index 7713c1a0c..f64899e5d 100644
--- a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/media/MediaPlayerGlue.java
+++ b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/media/MediaPlayerGlue.java
@@ -133,8 +133,10 @@ public abstract class MediaPlayerGlue extends PlaybackControlGlue implements
*/
public void setupControlsRowPresenter(PlaybackControlsRowPresenter presenter) {
// TODO: hahnr@ move into resources
- presenter.setProgressColor(getContext().getColor(R.color.player_progress_color));
- presenter.setBackgroundColor(getContext().getColor(R.color.player_background_color));
+ presenter.setProgressColor(getContext().getResources().getColor(
+ R.color.player_progress_color));
+ presenter.setBackgroundColor(getContext().getResources().getColor(
+ R.color.player_background_color));
}
@Override public PlaybackControlsRowPresenter createControlsRowAndPresenter() {
@@ -284,13 +286,34 @@ public abstract class MediaPlayerGlue extends PlaybackControlGlue implements
}
/**
- * @see MediaPlayer#setDataSource(Context, Uri)
+ * Sets the media source of the player witha given URI.
+ * @see MediaPlayer#setDataSource(String)
+ * @return Returns true if uri represents a new media; false
+ * otherwise.
*/
- public void setMediaSource(Uri uri) {
+ public boolean setMediaSource(Uri uri) {
if (mMediaSourceUri != null && mMediaSourceUri.equals(uri)) {
- return;
+ return false;
}
mMediaSourceUri = uri;
+ return true;
+ }
+
+ /**
+ * Sets the media source of the player with a String path URL.
+ * @see MediaPlayer#setDataSource(String)
+ * @return Returns true if path represents a new media; false
+ * otherwise.
+ */
+ public boolean setMediaSource(String path) {
+ if (mMediaSourcePath != null && mMediaSourcePath.equals(mMediaSourcePath)) {
+ return false;
+ }
+ mMediaSourcePath = path;
+ return true;
+ }
+
+ public void prepareMediaForPlaying() {
reset();
try {
if (mMediaSourceUri != null) mPlayer.setDataSource(getContext(), mMediaSourceUri);
@@ -323,13 +346,6 @@ public abstract class MediaPlayerGlue extends PlaybackControlGlue implements
onStateChanged();
}
- /**
- * @see MediaPlayer#setDataSource(String)
- */
- public void setMediaSource(String path) {
- mMediaSourcePath = path;
- }
-
/**
* Call to startPlayback(1).
*
diff --git a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/media/MusicConsumptionExampleFragment.java b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/media/MusicConsumptionExampleFragment.java
index 885ebd778..0650cfc64 100644
--- a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/media/MusicConsumptionExampleFragment.java
+++ b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/media/MusicConsumptionExampleFragment.java
@@ -105,6 +105,7 @@ public class MusicConsumptionExampleFragment extends PlaybackOverlayFragment imp
Uri uri = Utils.getResourceUri(getActivity(), song.getFileResource(getActivity()));
mGlue.setMetaData(metaData);
mGlue.setMediaSource(uri);
+ mGlue.prepareMediaForPlaying();
addPlaybackControlsRow();
}
@@ -149,11 +150,12 @@ public class MusicConsumptionExampleFragment extends PlaybackOverlayFragment imp
vh.getMediaItemNameView().setTextColor(favoriteTextColor);
vh.getMediaItemDurationView().setTextColor(favoriteTextColor);
} else {
- vh.getMediaItemNumberView().setTextAppearance(
+ Context context = vh.getMediaItemNumberView().getContext();
+ vh.getMediaItemNumberView().setTextAppearance(context,
R.style.TextAppearance_Leanback_PlaybackMediaItemNumber);
- vh.getMediaItemNameView().setTextAppearance(
+ vh.getMediaItemNameView().setTextAppearance(context,
R.style.TextAppearance_Leanback_PlaybackMediaItemName);
- vh.getMediaItemDurationView().setTextAppearance(
+ vh.getMediaItemDurationView().setTextAppearance(context,
R.style.TextAppearance_Leanback_PlaybackMediaItemDuration);
}
}
@@ -302,7 +304,10 @@ public class MusicConsumptionExampleFragment extends PlaybackOverlayFragment imp
Uri uri = Utils.getResourceUri(getActivity(), song.getFileResource(getActivity()));
mGlue.setMetaData(metaData);
- mGlue.setMediaSource(uri);
+
+ if (mGlue.setMediaSource(uri)) {
+ mGlue.prepareMediaForPlaying();
+ }
mGlue.startPlayback();
}
}
diff --git a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/media/VideoConsumptionExampleFragment.java b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/media/VideoConsumptionExampleFragment.java
index dec391313..ca33b4268 100644
--- a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/media/VideoConsumptionExampleFragment.java
+++ b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/media/VideoConsumptionExampleFragment.java
@@ -55,6 +55,7 @@ public class VideoConsumptionExampleFragment extends PlaybackOverlayFragment imp
metaData.setTitle("Diving with Sharks");
mGlue.setMetaData(metaData);
mGlue.setMediaSource(URL);
+ mGlue.prepareMediaForPlaying();
Fragment videoSurfaceFragment = getFragmentManager()
diff --git a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/wizard/WizardExample4thStepFragment.java b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/wizard/WizardExample4thStepFragment.java
index ec2980984..b0cb9aa91 100644
--- a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/wizard/WizardExample4thStepFragment.java
+++ b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/wizard/WizardExample4thStepFragment.java
@@ -14,11 +14,14 @@
package android.support.v17.leanback.supportleanbackshowcase.app.wizard;
+import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v17.leanback.supportleanbackshowcase.R;
+import android.support.v17.leanback.supportleanbackshowcase.app.media.VideoExampleActivity;
import android.support.v17.leanback.widget.GuidanceStylist;
import android.support.v17.leanback.widget.GuidedAction;
+import android.support.v4.app.ActivityOptionsCompat;
import android.widget.Toast;
import java.util.List;
@@ -60,10 +63,15 @@ public class WizardExample4thStepFragment extends WizardExampleBaseStepFragment
@Override
public void onGuidedActionClicked(GuidedAction action) {
- if (ACTION_ID_WATCH == action.getId()) {
- Toast.makeText(getActivity(), getString(R.string.wizard_example_watch_now_clicked),
+ if (action.getId() == ACTION_ID_WATCH) {
+ finishGuidedStepFragments();
+ Intent intent = new Intent(getActivity().getBaseContext(),
+ VideoExampleActivity.class);
+ startActivity(intent);
+ } else if (action.getId() == ACTION_ID_LATER) {
+ Toast.makeText(getActivity(), getString(R.string.wizard_example_later_clicked),
Toast.LENGTH_SHORT).show();
+ finishGuidedStepFragments();
}
- getActivity().finish();
}
}
diff --git a/samples/SupportLeanbackShowcase/app/src/main/res/values/colors.xml b/samples/SupportLeanbackShowcase/app/src/main/res/values/colors.xml
index 10d0973a1..8526c76a4 100644
--- a/samples/SupportLeanbackShowcase/app/src/main/res/values/colors.xml
+++ b/samples/SupportLeanbackShowcase/app/src/main/res/values/colors.xml
@@ -45,7 +45,7 @@
#FF6E40
#C03800
- #C03800
+ #732200
#263238
#0277BD
#01579B
diff --git a/samples/SupportLeanbackShowcase/app/src/main/res/values/strings.xml b/samples/SupportLeanbackShowcase/app/src/main/res/values/strings.xml
index 33981d68d..0921d66fc 100644
--- a/samples/SupportLeanbackShowcase/app/src/main/res/values/strings.xml
+++ b/samples/SupportLeanbackShowcase/app/src/main/res/values/strings.xml
@@ -56,6 +56,7 @@
Watch now
Later
\'Watch now\' clicked.
+ \'Later\' clicked.
New credit card
Enter new credit card information here
Input Payment Type
diff --git a/samples/SupportLeanbackShowcase/app/src/main/res/xml/prefs.xml b/samples/SupportLeanbackShowcase/app/src/main/res/xml/prefs.xml
index e69c4e2d5..f0edd0eb1 100644
--- a/samples/SupportLeanbackShowcase/app/src/main/res/xml/prefs.xml
+++ b/samples/SupportLeanbackShowcase/app/src/main/res/xml/prefs.xml
@@ -87,9 +87,9 @@
-
+