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 @@ - +