summaryrefslogtreecommitdiffstats
path: root/samples/SupportLeanbackDemos
diff options
context:
space:
mode:
authorCraig Stout <cstout@google.com>2014-07-29 16:05:04 -0700
committerCraig Stout <cstout@google.com>2014-08-08 11:28:03 -0700
commitd67f91cc954ae963a226e555acca7f5b3d593d32 (patch)
tree9716a5119e9b8415df586679946b7a583c582f50 /samples/SupportLeanbackDemos
parent6c2688459d7520191d4e529036b7f6cd5707e26c (diff)
downloadandroid_development-d67f91cc954ae963a226e555acca7f5b3d593d32.tar.gz
android_development-d67f91cc954ae963a226e555acca7f5b3d593d32.tar.bz2
android_development-d67f91cc954ae963a226e555acca7f5b3d593d32.zip
More features.
Add background. Add fading enable/disable. Add track switching. Change-Id: Ia3495a6ce98498c734cb225bec93403ac734c89c
Diffstat (limited to 'samples/SupportLeanbackDemos')
-rw-r--r--samples/SupportLeanbackDemos/res/drawable-xhdpi/bg.png (renamed from samples/SupportLeanbackDemos/res/drawable-xhdpi/grid_bg.png)bin400386 -> 400386 bytes
-rw-r--r--samples/SupportLeanbackDemos/res/layout/playback_controls.xml21
-rw-r--r--samples/SupportLeanbackDemos/src/com/example/android/leanback/PlaybackOverlayFragment.java27
-rw-r--r--samples/SupportLeanbackDemos/src/com/example/android/leanback/VerticalGridActivity.java3
4 files changed, 40 insertions, 11 deletions
diff --git a/samples/SupportLeanbackDemos/res/drawable-xhdpi/grid_bg.png b/samples/SupportLeanbackDemos/res/drawable-xhdpi/bg.png
index 476c698ec..476c698ec 100644
--- a/samples/SupportLeanbackDemos/res/drawable-xhdpi/grid_bg.png
+++ b/samples/SupportLeanbackDemos/res/drawable-xhdpi/bg.png
Binary files differ
diff --git a/samples/SupportLeanbackDemos/res/layout/playback_controls.xml b/samples/SupportLeanbackDemos/res/layout/playback_controls.xml
index 357184cb4..0c9f43cbb 100644
--- a/samples/SupportLeanbackDemos/res/layout/playback_controls.xml
+++ b/samples/SupportLeanbackDemos/res/layout/playback_controls.xml
@@ -15,9 +15,20 @@
limitations under the License.
-->
-<fragment xmlns:android="http://schemas.android.com/apk/res/android"
- android:name="com.example.android.leanback.PlaybackOverlayFragment"
- android:id="@+id/playback_controls_fragment"
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
- android:layout_height="match_parent"
-/>
+ android:layout_height="match_parent" >
+
+ <ImageView
+ android:id="@+id/media_content"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:src="@drawable/bg" />
+
+ <fragment
+ android:id="@+id/playback_controls_fragment"
+ android:name="com.example.android.leanback.PlaybackOverlayFragment"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+
+</FrameLayout> \ No newline at end of file
diff --git a/samples/SupportLeanbackDemos/src/com/example/android/leanback/PlaybackOverlayFragment.java b/samples/SupportLeanbackDemos/src/com/example/android/leanback/PlaybackOverlayFragment.java
index 6c157c41b..74ab02cbb 100644
--- a/samples/SupportLeanbackDemos/src/com/example/android/leanback/PlaybackOverlayFragment.java
+++ b/samples/SupportLeanbackDemos/src/com/example/android/leanback/PlaybackOverlayFragment.java
@@ -15,6 +15,7 @@ package com.example.android.leanback;
import android.content.Context;
import android.content.res.Resources;
+import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Handler;
import android.support.v17.leanback.widget.Action;
@@ -28,6 +29,7 @@ import android.support.v17.leanback.widget.PlaybackControlsRow.ThumbsDownAction;
import android.support.v17.leanback.widget.PlaybackControlsRow.ShuffleAction;
import android.support.v17.leanback.widget.PlaybackControlsRowPresenter;
import android.support.v17.leanback.widget.HeaderItem;
+import android.support.v17.leanback.widget.VerticalGridView;
import android.support.v17.leanback.widget.ListRow;
import android.support.v17.leanback.widget.ListRowPresenter;
import android.support.v17.leanback.widget.OnActionClickedListener;
@@ -43,6 +45,7 @@ public class PlaybackOverlayFragment extends android.support.v17.leanback.app.Pl
private static final int PRIMARY_CONTROLS = 7;
private static final boolean SHOW_IMAGE = PRIMARY_CONTROLS <= 5;
private static final int TOTAL_TIME_MS = 15 * 1000;
+ private static final int BACKGROUND_TYPE = PlaybackOverlayFragment.BG_LIGHT;
private static final int NUM_ROWS = 3;
private ArrayObjectAdapter mRowsAdapter;
@@ -54,6 +57,8 @@ public class PlaybackOverlayFragment extends android.support.v17.leanback.app.Pl
private ThumbsDownAction mThumbsDownAction;
private ShuffleAction mShuffleAction;
private PlaybackControlsRow mPlaybackControlsRow;
+ private Drawable mDetailsDrawable;
+ private Drawable mOtherDrawable;
private Handler mHandler;
private Runnable mRunnable;
@@ -64,6 +69,9 @@ public class PlaybackOverlayFragment extends android.support.v17.leanback.app.Pl
mHandler = new Handler();
+ setBackgroundType(BACKGROUND_TYPE);
+ setFadingEnabled(false);
+
setupRows();
}
@@ -100,8 +108,10 @@ public class PlaybackOverlayFragment extends android.support.v17.leanback.app.Pl
mPlaybackControlsRow.setCurrentTime(0);
}
startProgressAutomation();
+ setFadingEnabled(true);
} else {
stopProgressAutomation();
+ setFadingEnabled(false);
}
}
if (action instanceof PlaybackControlsRow.MultiAction) {
@@ -134,8 +144,9 @@ public class PlaybackOverlayFragment extends android.support.v17.leanback.app.Pl
mPlaybackControlsRow = new PlaybackControlsRow();
}
if (SHOW_IMAGE) {
- mPlaybackControlsRow.setImageDrawable(context.getResources().getDrawable(
- R.drawable.details_img));
+ mDetailsDrawable = context.getResources().getDrawable(R.drawable.details_img);
+ mOtherDrawable = context.getResources().getDrawable(R.drawable.img16x9);
+ mPlaybackControlsRow.setImageDrawable(mDetailsDrawable);
}
mPlaybackControlsRow.setPrimaryActionsAdapter(mPrimaryActionsAdapter);
mPlaybackControlsRow.setSecondaryActionsAdapter(mSecondaryActionsAdapter);
@@ -193,10 +204,16 @@ public class PlaybackOverlayFragment extends android.support.v17.leanback.app.Pl
@Override
public void run() {
int currentTime = mPlaybackControlsRow.getCurrentTime() + updateFreq;
- mPlaybackControlsRow.setCurrentTime(currentTime);
- if (totalTime <= 0 || totalTime > currentTime) {
- mHandler.postDelayed(this, updateFreq);
+ if (totalTime > 0 && totalTime <= currentTime) {
+ currentTime = 0;
+ mPlaybackControlsRow.setCurrentTime(0);
+ mPlaybackControlsRow.setImageDrawable(
+ mPlaybackControlsRow.getImageDrawable() == mDetailsDrawable ?
+ mOtherDrawable : mDetailsDrawable);
+ mRowsAdapter.notifyArrayItemRangeChanged(0, 1);
}
+ mPlaybackControlsRow.setCurrentTime(currentTime);
+ mHandler.postDelayed(this, updateFreq);
}
};
mHandler.postDelayed(mRunnable, updateFreq);
diff --git a/samples/SupportLeanbackDemos/src/com/example/android/leanback/VerticalGridActivity.java b/samples/SupportLeanbackDemos/src/com/example/android/leanback/VerticalGridActivity.java
index c5262b99d..5107be5f5 100644
--- a/samples/SupportLeanbackDemos/src/com/example/android/leanback/VerticalGridActivity.java
+++ b/samples/SupportLeanbackDemos/src/com/example/android/leanback/VerticalGridActivity.java
@@ -24,6 +24,7 @@ public class VerticalGridActivity extends Activity
{
super.onCreate(savedInstanceState);
setContentView(R.layout.vertical_grid);
- getWindow().setBackgroundDrawableResource(R.drawable.grid_bg);
+ // TODO: use BackgroundManager here
+ getWindow().setBackgroundDrawableResource(R.drawable.bg);
}
}