Merge "More features." into lmp-dev

This commit is contained in:
Craig Stout
2014-08-11 15:14:42 +00:00
committed by Android (Google) Code Review
4 changed files with 40 additions and 11 deletions

View File

Before

Width:  |  Height:  |  Size: 391 KiB

After

Width:  |  Height:  |  Size: 391 KiB

View File

@@ -15,9 +15,20 @@
limitations under the License. limitations under the License.
--> -->
<fragment xmlns:android="http://schemas.android.com/apk/res/android" <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:name="com.example.android.leanback.PlaybackOverlayFragment"
android:id="@+id/playback_controls_fragment"
android:layout_width="match_parent" 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>

View File

@@ -15,6 +15,7 @@ package com.example.android.leanback;
import android.content.Context; import android.content.Context;
import android.content.res.Resources; import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.support.v17.leanback.widget.Action; 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.PlaybackControlsRow.ShuffleAction;
import android.support.v17.leanback.widget.PlaybackControlsRowPresenter; import android.support.v17.leanback.widget.PlaybackControlsRowPresenter;
import android.support.v17.leanback.widget.HeaderItem; 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.ListRow;
import android.support.v17.leanback.widget.ListRowPresenter; import android.support.v17.leanback.widget.ListRowPresenter;
import android.support.v17.leanback.widget.OnActionClickedListener; 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 int PRIMARY_CONTROLS = 7;
private static final boolean SHOW_IMAGE = PRIMARY_CONTROLS <= 5; private static final boolean SHOW_IMAGE = PRIMARY_CONTROLS <= 5;
private static final int TOTAL_TIME_MS = 15 * 1000; 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 static final int NUM_ROWS = 3;
private ArrayObjectAdapter mRowsAdapter; private ArrayObjectAdapter mRowsAdapter;
@@ -54,6 +57,8 @@ public class PlaybackOverlayFragment extends android.support.v17.leanback.app.Pl
private ThumbsDownAction mThumbsDownAction; private ThumbsDownAction mThumbsDownAction;
private ShuffleAction mShuffleAction; private ShuffleAction mShuffleAction;
private PlaybackControlsRow mPlaybackControlsRow; private PlaybackControlsRow mPlaybackControlsRow;
private Drawable mDetailsDrawable;
private Drawable mOtherDrawable;
private Handler mHandler; private Handler mHandler;
private Runnable mRunnable; private Runnable mRunnable;
@@ -64,6 +69,9 @@ public class PlaybackOverlayFragment extends android.support.v17.leanback.app.Pl
mHandler = new Handler(); mHandler = new Handler();
setBackgroundType(BACKGROUND_TYPE);
setFadingEnabled(false);
setupRows(); setupRows();
} }
@@ -100,8 +108,10 @@ public class PlaybackOverlayFragment extends android.support.v17.leanback.app.Pl
mPlaybackControlsRow.setCurrentTime(0); mPlaybackControlsRow.setCurrentTime(0);
} }
startProgressAutomation(); startProgressAutomation();
setFadingEnabled(true);
} else { } else {
stopProgressAutomation(); stopProgressAutomation();
setFadingEnabled(false);
} }
} }
if (action instanceof PlaybackControlsRow.MultiAction) { if (action instanceof PlaybackControlsRow.MultiAction) {
@@ -134,8 +144,9 @@ public class PlaybackOverlayFragment extends android.support.v17.leanback.app.Pl
mPlaybackControlsRow = new PlaybackControlsRow(); mPlaybackControlsRow = new PlaybackControlsRow();
} }
if (SHOW_IMAGE) { if (SHOW_IMAGE) {
mPlaybackControlsRow.setImageDrawable(context.getResources().getDrawable( mDetailsDrawable = context.getResources().getDrawable(R.drawable.details_img);
R.drawable.details_img)); mOtherDrawable = context.getResources().getDrawable(R.drawable.img16x9);
mPlaybackControlsRow.setImageDrawable(mDetailsDrawable);
} }
mPlaybackControlsRow.setPrimaryActionsAdapter(mPrimaryActionsAdapter); mPlaybackControlsRow.setPrimaryActionsAdapter(mPrimaryActionsAdapter);
mPlaybackControlsRow.setSecondaryActionsAdapter(mSecondaryActionsAdapter); mPlaybackControlsRow.setSecondaryActionsAdapter(mSecondaryActionsAdapter);
@@ -193,10 +204,16 @@ public class PlaybackOverlayFragment extends android.support.v17.leanback.app.Pl
@Override @Override
public void run() { public void run() {
int currentTime = mPlaybackControlsRow.getCurrentTime() + updateFreq; int currentTime = mPlaybackControlsRow.getCurrentTime() + updateFreq;
mPlaybackControlsRow.setCurrentTime(currentTime); if (totalTime > 0 && totalTime <= currentTime) {
if (totalTime <= 0 || totalTime > currentTime) { currentTime = 0;
mHandler.postDelayed(this, updateFreq); 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); mHandler.postDelayed(mRunnable, updateFreq);

View File

@@ -24,6 +24,7 @@ public class VerticalGridActivity extends Activity
{ {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.vertical_grid); setContentView(R.layout.vertical_grid);
getWindow().setBackgroundDrawableResource(R.drawable.grid_bg); // TODO: use BackgroundManager here
getWindow().setBackgroundDrawableResource(R.drawable.bg);
} }
} }