diff --git a/samples/SupportLeanbackShowcase/app/src/main/AndroidManifest.xml b/samples/SupportLeanbackShowcase/app/src/main/AndroidManifest.xml
index ec5220bc7..df351806c 100644
--- a/samples/SupportLeanbackShowcase/app/src/main/AndroidManifest.xml
+++ b/samples/SupportLeanbackShowcase/app/src/main/AndroidManifest.xml
@@ -17,7 +17,7 @@
android:icon="@mipmap/app_banner_sample_app"
android:label="@string/app_name"
android:largeHeap="true"
- android:theme="@style/Theme.Example.Leanback">
+ android:theme="@style/Theme.Example.LeanbackLauncher">
+
+
+
+
diff --git a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/MainFragment.java b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/MainFragment.java
index 42a7cc7e0..643259def 100644
--- a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/MainFragment.java
+++ b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/MainFragment.java
@@ -14,29 +14,23 @@
package android.support.v17.leanback.supportleanbackshowcase.app;
-import android.app.Fragment;
import android.content.Intent;
-import android.graphics.drawable.ColorDrawable;
-import android.graphics.drawable.Drawable;
import android.os.Bundle;
-import android.os.Handler;
-import android.support.v17.leanback.app.BackgroundManager;
import android.support.v17.leanback.app.BrowseFragment;
+import android.support.v17.leanback.supportleanbackshowcase.R;
+import android.support.v17.leanback.supportleanbackshowcase.app.cards.CardExampleActivity;
import android.support.v17.leanback.supportleanbackshowcase.app.details.DetailViewExampleActivity;
import android.support.v17.leanback.supportleanbackshowcase.app.dialog.DialogExampleActivity;
-import android.support.v17.leanback.supportleanbackshowcase.app.media.MusicConsumptionExampleFragment;
-import android.support.v17.leanback.supportleanbackshowcase.app.media.VideoConsumptionExampleFragment;
-import android.support.v17.leanback.supportleanbackshowcase.app.media.VideoSurfaceFragment;
+import android.support.v17.leanback.supportleanbackshowcase.app.grid.GridExampleActivity;
+import android.support.v17.leanback.supportleanbackshowcase.app.media.MusicExampleActivity;
+import android.support.v17.leanback.supportleanbackshowcase.app.media.VideoExampleActivity;
import android.support.v17.leanback.supportleanbackshowcase.app.settings.SettingsExampleActivity;
import android.support.v17.leanback.supportleanbackshowcase.app.wizard.WizardExampleActivity;
-import android.support.v17.leanback.supportleanbackshowcase.utils.Constants;
-import android.support.v17.leanback.supportleanbackshowcase.models.Movie;
-import android.support.v17.leanback.supportleanbackshowcase.utils.PicassoBackgroundManagerTarget;
-import android.support.v17.leanback.supportleanbackshowcase.R;
-import android.support.v17.leanback.supportleanbackshowcase.utils.Utils;
+import android.support.v17.leanback.supportleanbackshowcase.cards.presenters.CardPresenterSelector;
import android.support.v17.leanback.supportleanbackshowcase.models.Card;
import android.support.v17.leanback.supportleanbackshowcase.models.CardRow;
-import android.support.v17.leanback.supportleanbackshowcase.cards.presenters.CardPresenterSelector;
+import android.support.v17.leanback.supportleanbackshowcase.models.Movie;
+import android.support.v17.leanback.supportleanbackshowcase.utils.Utils;
import android.support.v17.leanback.widget.ArrayObjectAdapter;
import android.support.v17.leanback.widget.ListRow;
import android.support.v17.leanback.widget.ListRowPresenter;
@@ -46,50 +40,23 @@ import android.support.v17.leanback.widget.Presenter;
import android.support.v17.leanback.widget.PresenterSelector;
import android.support.v17.leanback.widget.Row;
import android.support.v17.leanback.widget.RowPresenter;
-import android.util.DisplayMetrics;
-import android.util.Log;
import com.google.gson.Gson;
-import com.squareup.picasso.Picasso;
-import com.squareup.picasso.Target;
-
-import java.net.URI;
-import java.util.Timer;
-import java.util.TimerTask;
public class MainFragment extends BrowseFragment {
- public static final String VIDEO_SURFACE_FRAGMENT_TAG = "VIDEO_SURFACE";
- private static final String TAG = "MainFragment";
- private static final int BACKGROUND_UPDATE_DELAY = 300;
- private static final int DEFAULT_BACKGROUND_IMAGE = R.drawable.default_background;
- private final Handler mHandler = new Handler();
private ArrayObjectAdapter mRowsAdapter;
- private Target mBackgroundTarget;
- private Timer mBackgroundTimer;
- private URI mBackgroundURI;
- private BackgroundManager mBackgroundManager;
- private DisplayMetrics mMetrics;
- @Override public void onActivityCreated(Bundle savedInstanceState) {
- if (Constants.LOCAL_LOGD) Log.d(TAG, "onActivityCreated");
+ @Override
+ public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
- setupBackgroundManager();
setupUIElements();
setupRowAdapter();
setupEventListeners();
}
- @Override public void onDestroy() {
- super.onDestroy();
- if (null != mBackgroundTimer) {
- if (Constants.LOCAL_LOGD) Log.d(TAG, "onDestroy: " + mBackgroundTimer.toString());
- mBackgroundTimer.cancel();
- }
- }
-
private void setupRowAdapter() {
mRowsAdapter = new ArrayObjectAdapter(new ListRowPresenter());
createRows();
@@ -114,18 +81,6 @@ public class MainFragment extends BrowseFragment {
return new ListRow(listRowAdapter);
}
- private void setupBackgroundManager() {
- mBackgroundManager = BackgroundManager.getInstance(getActivity());
- mBackgroundManager.setThemeDrawableResourceId(DEFAULT_BACKGROUND_IMAGE);
- mBackgroundManager.attach(getActivity().getWindow());
-
- mBackgroundTarget = new PicassoBackgroundManagerTarget(mBackgroundManager);
- mMetrics = new DisplayMetrics();
- getActivity().getWindowManager().getDefaultDisplay().getMetrics(mMetrics);
- getView().setBackgroundResource(R.drawable.bg_living_room_wide);
- //updateBackgroundImage(R.drawable.bg_living_room_wide);
- }
-
private void setupUIElements() {
setTitle(getString(R.string.browse_title));
setBadgeDrawable(getResources().getDrawable(R.drawable.title_android_tv, null));
@@ -139,53 +94,24 @@ public class MainFragment extends BrowseFragment {
setOnItemViewSelectedListener(new ItemViewSelectedListener());
}
- protected void updateBackgroundImage(URI uri) {
- // Deactivated until we decide whether to load a background image from an URL or resource. @hahnr
- if (true) return;
- Picasso.with(getActivity()).load(uri.toString())
- .resize(mMetrics.widthPixels, mMetrics.heightPixels).centerCrop()
- .error(DEFAULT_BACKGROUND_IMAGE).into(mBackgroundTarget);
- }
-
- protected void updateBackgroundImage(Drawable drawable) {
- mBackgroundManager.setDrawable(drawable);
- }
-
- protected void updateBackgroundImage(int resId) {
- mBackgroundManager.setDrawable(getResources().getDrawable(resId, null));
- }
-
- private void startBackgroundTimer() {
- if (null != mBackgroundTimer) {
- mBackgroundTimer.cancel();
- }
- mBackgroundTimer = new Timer();
- mBackgroundTimer.schedule(new UpdateBackgroundTask(), BACKGROUND_UPDATE_DELAY);
- }
-
private final class ItemViewClickedListener implements OnItemViewClickedListener {
- @Override public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
- RowPresenter.ViewHolder rowViewHolder, Row row) {
+ @Override
+ public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
+ RowPresenter.ViewHolder rowViewHolder, Row row) {
Card card = (Card) item;
int id = card.getId();
switch (id) {
case 0: {
- updateBackgroundImage(new ColorDrawable(
- getResources().getColor(R.color.card_examples_background)));
- Fragment fragment = new CardExampleFragment();
- getFragmentManager().beginTransaction()
- .replace(R.id.fragmentContainer, fragment)
- .addToBackStack(null).commit();
+ Intent intent = new Intent(getActivity().getBaseContext(),
+ CardExampleActivity.class);
+ startActivity(intent);
break;
}
case 2: {
- updateBackgroundImage(
- getResources().getDrawable(R.drawable.background_canyon, null));
- Fragment fragment = new GridExample();
- getFragmentManager().beginTransaction()
- .replace(R.id.fragmentContainer, fragment)
- .addToBackStack(null).commit();
+ Intent intent = new Intent(getActivity().getBaseContext(),
+ GridExampleActivity.class);
+ startActivity(intent);
break;
}
case 3: {
@@ -195,23 +121,15 @@ public class MainFragment extends BrowseFragment {
break;
}
case 4: {
- updateBackgroundImage(
- getResources().getDrawable(R.drawable.background_canyon, null));
- Fragment fragment = new VideoConsumptionExampleFragment();
- getFragmentManager().beginTransaction()
- .replace(R.id.fragmentContainer, new VideoSurfaceFragment(),
- VIDEO_SURFACE_FRAGMENT_TAG)
- .add(R.id.fragmentContainer, fragment).addToBackStack(null)
- .commit();
+ Intent intent = new Intent(getActivity().getBaseContext(),
+ VideoExampleActivity.class);
+ startActivity(intent);
break;
}
case 5: {
- updateBackgroundImage(
- getResources().getDrawable(R.drawable.background_sax, null));
- Fragment fragment = new MusicConsumptionExampleFragment();
- getFragmentManager().beginTransaction()
- .replace(R.id.fragmentContainer, fragment)
- .addToBackStack(null).commit();
+ Intent intent = new Intent(getActivity().getBaseContext(),
+ MusicExampleActivity.class);
+ startActivity(intent);
break;
}
case 6: {
@@ -254,21 +172,9 @@ public class MainFragment extends BrowseFragment {
private final class ItemViewSelectedListener implements OnItemViewSelectedListener {
- @Override public void onItemSelected(Presenter.ViewHolder itemViewHolder, Object item,
- RowPresenter.ViewHolder rowViewHolder, Row row) {
- }
- }
-
- private class UpdateBackgroundTask extends TimerTask {
-
- @Override public void run() {
- mHandler.post(new Runnable() {
- @Override public void run() {
- if (mBackgroundURI != null) {
- updateBackgroundImage(mBackgroundURI);
- }
- }
- });
+ @Override
+ public void onItemSelected(Presenter.ViewHolder itemViewHolder, Object item,
+ RowPresenter.ViewHolder rowViewHolder, Row row) {
}
}
}
diff --git a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/cards/CardExampleActivity.java b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/cards/CardExampleActivity.java
new file mode 100644
index 000000000..7b8225fe7
--- /dev/null
+++ b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/cards/CardExampleActivity.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package android.support.v17.leanback.supportleanbackshowcase.app.cards;
+
+import android.app.Activity;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
+import android.os.Bundle;
+import android.support.v17.leanback.app.GuidedStepFragment;
+import android.support.v17.leanback.supportleanbackshowcase.R;
+import android.support.v17.leanback.supportleanbackshowcase.app.dialog.DialogExampleFragment;
+
+/**
+ * TODO: Javadoc
+ */
+public class CardExampleActivity extends Activity {
+
+ @Override public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_cards_example);
+ }
+}
diff --git a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/CardExampleFragment.java b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/cards/CardExampleFragment.java
similarity index 98%
rename from samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/CardExampleFragment.java
rename to samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/cards/CardExampleFragment.java
index 7e1646f09..a7b3f9771 100644
--- a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/CardExampleFragment.java
+++ b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/cards/CardExampleFragment.java
@@ -12,7 +12,7 @@
* the License.
*/
-package android.support.v17.leanback.supportleanbackshowcase.app;
+package android.support.v17.leanback.supportleanbackshowcase.app.cards;
import android.os.Bundle;
import android.support.v17.leanback.app.BrowseFragment;
@@ -39,8 +39,6 @@ import com.google.gson.Gson;
*/
public class CardExampleFragment extends BrowseFragment {
- private static final String TAG = "CardExampleFragment";
-
private ArrayObjectAdapter mRowsAdapter;
@Override public void onActivityCreated(Bundle savedInstanceState) {
diff --git a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/details/DetailViewExampleFragment.java b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/details/DetailViewExampleFragment.java
index 9c541e237..7f9e77a30 100644
--- a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/details/DetailViewExampleFragment.java
+++ b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/details/DetailViewExampleFragment.java
@@ -148,7 +148,7 @@ public class DetailViewExampleFragment extends DetailsFragment implements OnItem
null);
getView().setBackgroundColor(backgroundColor);
} else {
- getView().setBackgroundResource(R.drawable.background_canyon);
+ getView().setBackground(null);
}
}
}
diff --git a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/GridExample.java b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/grid/GridExample.java
similarity index 97%
rename from samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/GridExample.java
rename to samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/grid/GridExample.java
index 1c6177ff1..e8cf3eba3 100644
--- a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/GridExample.java
+++ b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/grid/GridExample.java
@@ -12,7 +12,7 @@
* the License.
*/
-package android.support.v17.leanback.supportleanbackshowcase.app;
+package android.support.v17.leanback.supportleanbackshowcase.app.grid;
import android.os.Bundle;
import android.support.v17.leanback.app.VerticalGridFragment;
@@ -32,9 +32,8 @@ import com.google.gson.Gson;
*/
public class GridExample extends VerticalGridFragment {
- private static final String TAG = "GridExample";
private static final int COLUMNS = 4;
- private static final int ZOOM_FACTOR = FocusHighlight.ZOOM_FACTOR_NONE;
+ private static final int ZOOM_FACTOR = FocusHighlight.ZOOM_FACTOR_MEDIUM;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
diff --git a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/grid/GridExampleActivity.java b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/grid/GridExampleActivity.java
new file mode 100644
index 000000000..e2d0887af
--- /dev/null
+++ b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/grid/GridExampleActivity.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package android.support.v17.leanback.supportleanbackshowcase.app.grid;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.support.v17.leanback.supportleanbackshowcase.R;
+
+/**
+ * TODO: Javadoc
+ */
+public class GridExampleActivity extends Activity {
+
+ @Override public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_grid_example);
+ }
+}
diff --git a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/media/MusicExampleActivity.java b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/media/MusicExampleActivity.java
new file mode 100644
index 000000000..3107ed615
--- /dev/null
+++ b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/media/MusicExampleActivity.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package android.support.v17.leanback.supportleanbackshowcase.app.media;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.support.v17.leanback.supportleanbackshowcase.R;
+
+/**
+ * TODO: Javadoc
+ */
+public class MusicExampleActivity extends Activity {
+
+ @Override public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_music_example);
+ }
+}
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 991a95f39..9a40635cf 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
@@ -37,12 +37,14 @@ public class VideoConsumptionExampleFragment extends PlaybackOverlayFragment imp
private ArrayObjectAdapter mRowsAdapter;
private MediaPlayerGlue mGlue;
- @Override public void onCreate(Bundle savedInstanceState) {
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mGlue = new VideoMediaPlayerGlue(getActivity(), this) {
- @Override protected void onRowChanged(PlaybackControlsRow row) {
+ @Override
+ protected void onRowChanged(PlaybackControlsRow row) {
if (mRowsAdapter == null) return;
mRowsAdapter.notifyArrayItemRangeChanged(0, 1);
}
@@ -55,10 +57,11 @@ public class VideoConsumptionExampleFragment extends PlaybackOverlayFragment imp
mGlue.setMediaSource(URL);
Fragment videoSurfaceFragment = getFragmentManager()
- .findFragmentByTag(MainFragment.VIDEO_SURFACE_FRAGMENT_TAG);
+ .findFragmentByTag(VideoExampleActivity.VIDEO_SURFACE_FRAGMENT_TAG);
SurfaceView surface = (SurfaceView) videoSurfaceFragment.getView();
surface.getHolder().addCallback(new SurfaceHolder.Callback() {
- @Override public void surfaceCreated(SurfaceHolder holder) {
+ @Override
+ public void surfaceCreated(SurfaceHolder holder) {
mGlue.setDisplay(holder);
}
@@ -67,7 +70,8 @@ public class VideoConsumptionExampleFragment extends PlaybackOverlayFragment imp
// Nothing to do
}
- @Override public void surfaceDestroyed(SurfaceHolder holder) {
+ @Override
+ public void surfaceDestroyed(SurfaceHolder holder) {
}
});
@@ -75,12 +79,14 @@ public class VideoConsumptionExampleFragment extends PlaybackOverlayFragment imp
addPlaybackControlsRow();
}
- @Override public void onStart() {
+ @Override
+ public void onStart() {
super.onStart();
mGlue.enableProgressUpdating(mGlue.hasValidMedia() && mGlue.isMediaPlaying());
}
- @Override public void onStop() {
+ @Override
+ public void onStop() {
super.onStop();
mGlue.enableProgressUpdating(false);
mGlue.reset();
@@ -95,14 +101,16 @@ public class VideoConsumptionExampleFragment extends PlaybackOverlayFragment imp
setOnItemViewClickedListener(this);
}
- @Override public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
- RowPresenter.ViewHolder rowViewHolder, Row row) {
+ @Override
+ public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
+ RowPresenter.ViewHolder rowViewHolder, Row row) {
if (!(item instanceof Action)) return;
mGlue.onActionClicked((Action) item);
}
- @Override public void onMediaFileFinishedPlaying(MediaPlayerGlue.MetaData metaData) {
+ @Override
+ public void onMediaFileFinishedPlaying(MediaPlayerGlue.MetaData metaData) {
mGlue.startPlayback();
}
diff --git a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/media/VideoExampleActivity.java b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/media/VideoExampleActivity.java
new file mode 100644
index 000000000..63eef8219
--- /dev/null
+++ b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/media/VideoExampleActivity.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package android.support.v17.leanback.supportleanbackshowcase.app.media;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.support.v17.leanback.supportleanbackshowcase.R;
+
+/**
+ * TODO: Javadoc
+ */
+public class VideoExampleActivity extends Activity {
+
+ public static final String VIDEO_SURFACE_FRAGMENT_TAG = "VIDEO_SURFACE";
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_video_example);
+
+
+ getFragmentManager().beginTransaction()
+ .replace(R.id.videoFragment, new VideoSurfaceFragment(), VIDEO_SURFACE_FRAGMENT_TAG)
+ .add(R.id.videoFragment, new VideoConsumptionExampleFragment())
+ .commit();
+ }
+}
diff --git a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/settings/SettingsExampleFragment.java b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/settings/SettingsExampleFragment.java
index 72766d1c2..b9bb77f6a 100644
--- a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/settings/SettingsExampleFragment.java
+++ b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/settings/SettingsExampleFragment.java
@@ -18,7 +18,6 @@ import android.app.Fragment;
import android.content.Context;
import android.os.Bundle;
import android.support.v14.preference.PreferenceFragment;
-import android.support.v17.leanback.supportleanbackshowcase.utils.Constants;
import android.support.v17.leanback.supportleanbackshowcase.R;
import android.support.v17.preference.LeanbackPreferenceFragment;
import android.support.v17.preference.LeanbackSettingsFragment;
@@ -26,13 +25,13 @@ import android.support.v7.preference.DialogPreference;
import android.support.v7.preference.ListPreference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
-import android.util.Log;
+import android.widget.Toast;
+import java.util.Arrays;
import java.util.Stack;
public class SettingsExampleFragment extends LeanbackSettingsFragment implements DialogPreference.TargetFragment {
- public static final String TAG = "SettingsExampleFragment";
private final Stack fragments = new Stack();
@Override
@@ -50,12 +49,6 @@ public class SettingsExampleFragment extends LeanbackSettingsFragment implements
public boolean onPreferenceStartScreen(PreferenceFragment preferenceFragment,
PreferenceScreen preferenceScreen) {
PreferenceFragment frag = buildPreferenceFragment(R.xml.prefs, preferenceScreen.getKey());
- if ("prefs_wifi_screen_key".equals(preferenceScreen.getKey())) {
- ListPreference pref = (ListPreference)preferenceScreen.findPreference("prefs_wifi_key");
- pref.setEntries(new String[] {"Wi-Fi Network 01"});
- pref.setEntryValues(new String[] {"01"});
- if (Constants.LOCAL_LOGD) Log.d(TAG, "pref: " + pref);
- }
startPreferenceFragment(frag);
return true;
}
@@ -87,6 +80,18 @@ public class SettingsExampleFragment extends LeanbackSettingsFragment implements
}
}
+ @Override
+ public boolean onPreferenceTreeClick(Preference preference) {
+ final String[] keys = {"prefs_wifi_connect_wps", "prefs_date", "prefs_time",
+ "prefs_date_time_use_timezone", "app_banner_sample_app", "pref_force_stop",
+ "pref_uninstall", "pref_more_info"};
+ if (Arrays.asList(keys).contains(preference.getKey())) {
+ Toast.makeText(getActivity(), "Implement your own action handler.", Toast.LENGTH_SHORT).show();
+ return true;
+ }
+ return super.onPreferenceTreeClick(preference);
+ }
+
@Override
public void onAttach(Context context) {
fragments.push(this);
diff --git a/samples/SupportLeanbackShowcase/app/src/main/res/drawable-xhdpi/background_food.jpg b/samples/SupportLeanbackShowcase/app/src/main/res/drawable-xhdpi/background_food.jpg
new file mode 100644
index 000000000..cbe05f83b
Binary files /dev/null and b/samples/SupportLeanbackShowcase/app/src/main/res/drawable-xhdpi/background_food.jpg differ
diff --git a/samples/SupportLeanbackShowcase/app/src/main/res/layout/activity_cards_example.xml b/samples/SupportLeanbackShowcase/app/src/main/res/layout/activity_cards_example.xml
new file mode 100644
index 000000000..cbcfe0539
--- /dev/null
+++ b/samples/SupportLeanbackShowcase/app/src/main/res/layout/activity_cards_example.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/samples/SupportLeanbackShowcase/app/src/main/res/layout/activity_detail_example.xml b/samples/SupportLeanbackShowcase/app/src/main/res/layout/activity_detail_example.xml
index 1dd92d8c9..cb7d66954 100644
--- a/samples/SupportLeanbackShowcase/app/src/main/res/layout/activity_detail_example.xml
+++ b/samples/SupportLeanbackShowcase/app/src/main/res/layout/activity_detail_example.xml
@@ -16,6 +16,7 @@
-->
+
+
+
+
+
\ No newline at end of file
diff --git a/samples/SupportLeanbackShowcase/app/src/main/res/layout/activity_main.xml b/samples/SupportLeanbackShowcase/app/src/main/res/layout/activity_main.xml
index 9d2eda6c7..e3c6889e2 100644
--- a/samples/SupportLeanbackShowcase/app/src/main/res/layout/activity_main.xml
+++ b/samples/SupportLeanbackShowcase/app/src/main/res/layout/activity_main.xml
@@ -21,5 +21,6 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:deviceIds="tv"
+ android:background="@drawable/bg_living_room_wide"
tools:ignore="MergeRootFrame">
diff --git a/samples/SupportLeanbackShowcase/app/src/main/res/layout/activity_music_example.xml b/samples/SupportLeanbackShowcase/app/src/main/res/layout/activity_music_example.xml
new file mode 100644
index 000000000..30f150161
--- /dev/null
+++ b/samples/SupportLeanbackShowcase/app/src/main/res/layout/activity_music_example.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/samples/SupportLeanbackShowcase/app/src/main/res/layout/activity_video_example.xml b/samples/SupportLeanbackShowcase/app/src/main/res/layout/activity_video_example.xml
new file mode 100644
index 000000000..89e4e6e51
--- /dev/null
+++ b/samples/SupportLeanbackShowcase/app/src/main/res/layout/activity_video_example.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/samples/SupportLeanbackShowcase/app/src/main/res/values/arrays.xml b/samples/SupportLeanbackShowcase/app/src/main/res/values/arrays.xml
index f4877e823..9933ba7e1 100644
--- a/samples/SupportLeanbackShowcase/app/src/main/res/values/arrays.xml
+++ b/samples/SupportLeanbackShowcase/app/src/main/res/values/arrays.xml
@@ -33,4 +33,12 @@
- This description becomes visible only on focus.
- This description becomes visible only on focus.
+
+ - Wi-Fi network 1
+ - Wi-Fi network 2
+ - Wi-Fi network 3
+ - Wi-Fi network 4
+ - Wi-Fi network 5
+ - Wi-Fi network 6
+
\ No newline at end of file
diff --git a/samples/SupportLeanbackShowcase/app/src/main/res/values/styles.xml b/samples/SupportLeanbackShowcase/app/src/main/res/values/styles.xml
index 490f442d1..6739eafd7 100644
--- a/samples/SupportLeanbackShowcase/app/src/main/res/values/styles.xml
+++ b/samples/SupportLeanbackShowcase/app/src/main/res/values/styles.xml
@@ -42,6 +42,10 @@
- invisible
+
+
diff --git a/samples/SupportLeanbackShowcase/app/src/main/res/values/themes.xml b/samples/SupportLeanbackShowcase/app/src/main/res/values/themes.xml
index 8d5551592..086ae2341 100644
--- a/samples/SupportLeanbackShowcase/app/src/main/res/values/themes.xml
+++ b/samples/SupportLeanbackShowcase/app/src/main/res/values/themes.xml
@@ -23,11 +23,15 @@
- true
- true
- true
- - @color/search_color
+ - #00A2B8
- @color/accent
- @style/PreferenceThemeOverlay.v14
+
+
diff --git a/samples/SupportLeanbackShowcase/app/src/main/res/xml/prefs.xml b/samples/SupportLeanbackShowcase/app/src/main/res/xml/prefs.xml
index 71cd5320d..e69c4e2d5 100644
--- a/samples/SupportLeanbackShowcase/app/src/main/res/xml/prefs.xml
+++ b/samples/SupportLeanbackShowcase/app/src/main/res/xml/prefs.xml
@@ -1,5 +1,6 @@
-
+
+
-
-
-
-
+
-
-
-
-
+
+
+
+
+
+
+
+