Merge changes Ife2ffbed,I3bd8b266 into nyc-dev

am: 3a1d9d5f06

* commit '3a1d9d5f06913525e5dc157abb9bc1cdb6a81315':
  Showcase app: added a video playing at the end of GuidedStepFragment workflow
  Showcase app: Fixed video fragment not showing video. Updated Settings and deprecated APIs for the app to be installable on L.

Change-Id: I2335daa33dde0f4d21616f2aea4525563da1c302
This commit is contained in:
Keyvan Amiri
2016-05-13 17:47:01 +00:00
committed by android-build-merger
7 changed files with 54 additions and 23 deletions

View File

@@ -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 <code>true</code> if uri represents a new media; <code>false</code>
* 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 <code>true</code> if path represents a new media; <code>false</code>
* 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 <code>startPlayback(1)</code>.
*

View File

@@ -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();
}
}

View File

@@ -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()

View File

@@ -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();
}
}

View File

@@ -45,7 +45,7 @@
<color name="song_row_favorite_color">#FF6E40</color>
<color name="app_guidedstep_actions_background">#C03800</color>
<color name="app_guidedstep_subactions_background">#C03800</color>
<color name="app_guidedstep_subactions_background">#732200</color>
<color name="app_guidedstep_dialog_actions_background">#263238</color>
<color name="settings_card_background">#0277BD</color>
<color name="settings_card_background_focussed">#01579B</color>

View File

@@ -56,6 +56,7 @@
<string name="wizard_example_watch_now">Watch now</string>
<string name="wizard_example_later">Later</string>
<string name="wizard_example_watch_now_clicked">\'Watch now\' clicked.</string>
<string name="wizard_example_later_clicked">\'Later\' clicked.</string>
<string name="wizard_example_new_payment_guidance_title">New credit card</string>
<string name="wizard_example_new_payment_guidance_description">Enter new credit card information here</string>
<string name="wizard_example_input_credit">Input Payment Type</string>

View File

@@ -87,9 +87,9 @@
<Preference
android:selectable="false"
android:summary="Hier steht ein voelligst sinnfreier Text den ja sowieso niemandhier lesen kann. Deshalb macht es auch keinen Unterschied ob hier sinnvolles und nicht so sinnvolles Zeug steht. Hm... Sasha, du kannst das vielleicht lesen und denkst dir jetzt auch, dass ich voll haengen geblieben bin, oder?... ^_^"></Preference>
<Preference
android:title="Force Stop"
android:key="pref_force_stop"><!-- Start an Intent --></Preference>
<SwitchPreference
android:title="Notifications"
android:key="pref_force_stop"><!-- Start an Intent --></SwitchPreference>
<Preference
android:title="Uninstall"
android:key="pref_uninstall"><!-- Start an Intent --></Preference>