1cc671dd3caac1d0cbf3f6999ab063c9ff1f297b2Dake Gu// CHECKSTYLE:OFF Generated code
271e7e67f320b23feac784b629db17b3bcce08722Dake Gu/* This file is auto-generated from DetailsFragment.java.  DO NOT MODIFY. */
371e7e67f320b23feac784b629db17b3bcce08722Dake Gu
471e7e67f320b23feac784b629db17b3bcce08722Dake Gu/*
571e7e67f320b23feac784b629db17b3bcce08722Dake Gu * Copyright (C) 2014 The Android Open Source Project
671e7e67f320b23feac784b629db17b3bcce08722Dake Gu *
771e7e67f320b23feac784b629db17b3bcce08722Dake Gu * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
871e7e67f320b23feac784b629db17b3bcce08722Dake Gu * in compliance with the License. You may obtain a copy of the License at
971e7e67f320b23feac784b629db17b3bcce08722Dake Gu *
1071e7e67f320b23feac784b629db17b3bcce08722Dake Gu * http://www.apache.org/licenses/LICENSE-2.0
1171e7e67f320b23feac784b629db17b3bcce08722Dake Gu *
1271e7e67f320b23feac784b629db17b3bcce08722Dake Gu * Unless required by applicable law or agreed to in writing, software distributed under the License
1371e7e67f320b23feac784b629db17b3bcce08722Dake Gu * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
1471e7e67f320b23feac784b629db17b3bcce08722Dake Gu * or implied. See the License for the specific language governing permissions and limitations under
1571e7e67f320b23feac784b629db17b3bcce08722Dake Gu * the License.
1671e7e67f320b23feac784b629db17b3bcce08722Dake Gu */
1771e7e67f320b23feac784b629db17b3bcce08722Dake Gupackage com.example.android.leanback;
1871e7e67f320b23feac784b629db17b3bcce08722Dake Gu
19b7087e036a48f5a3db28d02ff7f9b97fbbc46c4fDake Guimport android.content.Context;
2071e7e67f320b23feac784b629db17b3bcce08722Dake Guimport android.content.Intent;
2171e7e67f320b23feac784b629db17b3bcce08722Dake Guimport android.os.Bundle;
2271e7e67f320b23feac784b629db17b3bcce08722Dake Guimport android.os.Handler;
2371e7e67f320b23feac784b629db17b3bcce08722Dake Guimport android.support.v17.leanback.widget.Action;
2471e7e67f320b23feac784b629db17b3bcce08722Dake Guimport android.support.v17.leanback.widget.ArrayObjectAdapter;
2571e7e67f320b23feac784b629db17b3bcce08722Dake Guimport android.support.v17.leanback.widget.ClassPresenterSelector;
2671e7e67f320b23feac784b629db17b3bcce08722Dake Guimport android.support.v17.leanback.widget.DetailsOverviewRow;
2771e7e67f320b23feac784b629db17b3bcce08722Dake Guimport android.support.v17.leanback.widget.DetailsOverviewRowPresenter;
2871e7e67f320b23feac784b629db17b3bcce08722Dake Guimport android.support.v17.leanback.widget.HeaderItem;
2971e7e67f320b23feac784b629db17b3bcce08722Dake Guimport android.support.v17.leanback.widget.ImageCardView;
3071e7e67f320b23feac784b629db17b3bcce08722Dake Guimport android.support.v17.leanback.widget.ListRow;
3171e7e67f320b23feac784b629db17b3bcce08722Dake Guimport android.support.v17.leanback.widget.ListRowPresenter;
3271e7e67f320b23feac784b629db17b3bcce08722Dake Guimport android.support.v17.leanback.widget.OnActionClickedListener;
3371e7e67f320b23feac784b629db17b3bcce08722Dake Guimport android.support.v17.leanback.widget.OnItemViewClickedListener;
3471e7e67f320b23feac784b629db17b3bcce08722Dake Guimport android.support.v17.leanback.widget.OnItemViewSelectedListener;
3571e7e67f320b23feac784b629db17b3bcce08722Dake Guimport android.support.v17.leanback.widget.Presenter;
3671e7e67f320b23feac784b629db17b3bcce08722Dake Guimport android.support.v17.leanback.widget.Row;
3771e7e67f320b23feac784b629db17b3bcce08722Dake Guimport android.support.v17.leanback.widget.RowPresenter;
3871e7e67f320b23feac784b629db17b3bcce08722Dake Guimport android.support.v17.leanback.widget.SparseArrayObjectAdapter;
39b7087e036a48f5a3db28d02ff7f9b97fbbc46c4fDake Guimport android.support.v4.app.ActivityOptionsCompat;
40b7087e036a48f5a3db28d02ff7f9b97fbbc46c4fDake Guimport android.support.v4.content.res.ResourcesCompat;
4171e7e67f320b23feac784b629db17b3bcce08722Dake Guimport android.util.Log;
4271e7e67f320b23feac784b629db17b3bcce08722Dake Guimport android.view.View;
4371e7e67f320b23feac784b629db17b3bcce08722Dake Guimport android.widget.Toast;
4471e7e67f320b23feac784b629db17b3bcce08722Dake Gu
4571e7e67f320b23feac784b629db17b3bcce08722Dake Gupublic class DetailsSupportFragment extends android.support.v17.leanback.app.DetailsSupportFragment {
4671e7e67f320b23feac784b629db17b3bcce08722Dake Gu    private static final String TAG = "leanback.DetailsSupportFragment";
4771e7e67f320b23feac784b629db17b3bcce08722Dake Gu    private static final String ITEM = "item";
4871e7e67f320b23feac784b629db17b3bcce08722Dake Gu
4971e7e67f320b23feac784b629db17b3bcce08722Dake Gu    private static final int NUM_ROWS = 3;
5071e7e67f320b23feac784b629db17b3bcce08722Dake Gu    private ArrayObjectAdapter mRowsAdapter;
5171e7e67f320b23feac784b629db17b3bcce08722Dake Gu    private PhotoItem mPhotoItem;
5271e7e67f320b23feac784b629db17b3bcce08722Dake Gu    final CardPresenter cardPresenter = new CardPresenter();
53181c8847d5a1169e26755ed690131333b7fff7e9Dake Gu    private BackgroundHelper mBackgroundHelper;
5471e7e67f320b23feac784b629db17b3bcce08722Dake Gu
5571e7e67f320b23feac784b629db17b3bcce08722Dake Gu    private static final int ACTION_PLAY = 1;
5671e7e67f320b23feac784b629db17b3bcce08722Dake Gu    private static final int ACTION_RENT = 2;
5771e7e67f320b23feac784b629db17b3bcce08722Dake Gu    private static final int ACTION_BUY = 3;
5871e7e67f320b23feac784b629db17b3bcce08722Dake Gu
5971e7e67f320b23feac784b629db17b3bcce08722Dake Gu    private static final boolean TEST_SHARED_ELEMENT_TRANSITION = true;
6071e7e67f320b23feac784b629db17b3bcce08722Dake Gu    private static final boolean TEST_ENTRANCE_TRANSITION = true;
6171e7e67f320b23feac784b629db17b3bcce08722Dake Gu
6271e7e67f320b23feac784b629db17b3bcce08722Dake Gu    private static final long TIME_TO_LOAD_OVERVIEW_ROW_MS = 1000;
6371e7e67f320b23feac784b629db17b3bcce08722Dake Gu    private static final long TIME_TO_LOAD_RELATED_ROWS_MS = 2000;
6471e7e67f320b23feac784b629db17b3bcce08722Dake Gu
6571e7e67f320b23feac784b629db17b3bcce08722Dake Gu    private Action mActionPlay;
6671e7e67f320b23feac784b629db17b3bcce08722Dake Gu    private Action mActionRent;
6771e7e67f320b23feac784b629db17b3bcce08722Dake Gu    private Action mActionBuy;
6871e7e67f320b23feac784b629db17b3bcce08722Dake Gu
6971e7e67f320b23feac784b629db17b3bcce08722Dake Gu    @Override
7071e7e67f320b23feac784b629db17b3bcce08722Dake Gu    public void onCreate(Bundle savedInstanceState) {
7171e7e67f320b23feac784b629db17b3bcce08722Dake Gu        Log.i(TAG, "onCreate");
7271e7e67f320b23feac784b629db17b3bcce08722Dake Gu        super.onCreate(savedInstanceState);
7371e7e67f320b23feac784b629db17b3bcce08722Dake Gu
74181c8847d5a1169e26755ed690131333b7fff7e9Dake Gu        mBackgroundHelper = new BackgroundHelper(getActivity());
75181c8847d5a1169e26755ed690131333b7fff7e9Dake Gu        mBackgroundHelper.attachToWindow();
76181c8847d5a1169e26755ed690131333b7fff7e9Dake Gu
77b7087e036a48f5a3db28d02ff7f9b97fbbc46c4fDake Gu        Context context = getActivity();
78b7087e036a48f5a3db28d02ff7f9b97fbbc46c4fDake Gu        setBadgeDrawable(ResourcesCompat.getDrawable(context.getResources(),
79b7087e036a48f5a3db28d02ff7f9b97fbbc46c4fDake Gu                R.drawable.ic_title, context.getTheme()));
8071e7e67f320b23feac784b629db17b3bcce08722Dake Gu        setTitle("Leanback Sample App");
8171e7e67f320b23feac784b629db17b3bcce08722Dake Gu        setOnSearchClickedListener(new View.OnClickListener() {
8271e7e67f320b23feac784b629db17b3bcce08722Dake Gu            @Override
8371e7e67f320b23feac784b629db17b3bcce08722Dake Gu            public void onClick(View view) {
8471e7e67f320b23feac784b629db17b3bcce08722Dake Gu                Intent intent = new Intent(getActivity(), SearchSupportActivity.class);
8571e7e67f320b23feac784b629db17b3bcce08722Dake Gu                startActivity(intent);
8671e7e67f320b23feac784b629db17b3bcce08722Dake Gu            }
8771e7e67f320b23feac784b629db17b3bcce08722Dake Gu        });
8871e7e67f320b23feac784b629db17b3bcce08722Dake Gu
8971e7e67f320b23feac784b629db17b3bcce08722Dake Gu        mActionPlay = new Action(ACTION_PLAY, "Play");
90b7087e036a48f5a3db28d02ff7f9b97fbbc46c4fDake Gu        mActionRent = new Action(ACTION_RENT, "Rent", "$3.99", ResourcesCompat.getDrawable(
91b7087e036a48f5a3db28d02ff7f9b97fbbc46c4fDake Gu                context.getResources(), R.drawable.ic_action_a, context.getTheme()));
9271e7e67f320b23feac784b629db17b3bcce08722Dake Gu        mActionBuy = new Action(ACTION_BUY, "Buy $9.99");
9371e7e67f320b23feac784b629db17b3bcce08722Dake Gu
9471e7e67f320b23feac784b629db17b3bcce08722Dake Gu        ClassPresenterSelector ps = new ClassPresenterSelector();
95b7087e036a48f5a3db28d02ff7f9b97fbbc46c4fDake Gu        @SuppressWarnings("deprecation")
9671e7e67f320b23feac784b629db17b3bcce08722Dake Gu        DetailsOverviewRowPresenter dorPresenter =
9771e7e67f320b23feac784b629db17b3bcce08722Dake Gu                new DetailsOverviewRowPresenter(new DetailsDescriptionPresenter());
9871e7e67f320b23feac784b629db17b3bcce08722Dake Gu        dorPresenter.setOnActionClickedListener(new OnActionClickedListener() {
9971e7e67f320b23feac784b629db17b3bcce08722Dake Gu            @Override
10071e7e67f320b23feac784b629db17b3bcce08722Dake Gu            public void onActionClicked(Action action) {
101b7087e036a48f5a3db28d02ff7f9b97fbbc46c4fDake Gu                final Context context = getActivity();
102b7087e036a48f5a3db28d02ff7f9b97fbbc46c4fDake Gu                Toast.makeText(context, action.toString(), Toast.LENGTH_SHORT).show();
10371e7e67f320b23feac784b629db17b3bcce08722Dake Gu                DetailsOverviewRow dor = (DetailsOverviewRow) mRowsAdapter.get(0);
10471e7e67f320b23feac784b629db17b3bcce08722Dake Gu                if (action.getId() == ACTION_BUY) {
10571e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    // on the UI thread, we can modify actions adapter directly
10671e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    SparseArrayObjectAdapter actions = (SparseArrayObjectAdapter)
10771e7e67f320b23feac784b629db17b3bcce08722Dake Gu                            dor.getActionsAdapter();
10871e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    actions.set(ACTION_PLAY, mActionPlay);
10971e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    actions.clear(ACTION_RENT);
11071e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    actions.clear(ACTION_BUY);
11171e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    dor.setItem(mPhotoItem.getTitle() + "(Owned)");
112b7087e036a48f5a3db28d02ff7f9b97fbbc46c4fDake Gu                    dor.setImageDrawable(ResourcesCompat.getDrawable(context.getResources(),
113b7087e036a48f5a3db28d02ff7f9b97fbbc46c4fDake Gu                            R.drawable.details_img_16x9, context.getTheme()));
11471e7e67f320b23feac784b629db17b3bcce08722Dake Gu                } else if (action.getId() == ACTION_RENT) {
11571e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    // on the UI thread, we can modify actions adapter directly
11671e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    SparseArrayObjectAdapter actions = (SparseArrayObjectAdapter)
11771e7e67f320b23feac784b629db17b3bcce08722Dake Gu                            dor.getActionsAdapter();
11871e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    actions.set(ACTION_PLAY, mActionPlay);
11971e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    actions.clear(ACTION_RENT);
12071e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    dor.setItem(mPhotoItem.getTitle() + "(Rented)");
12171e7e67f320b23feac784b629db17b3bcce08722Dake Gu                } else if (action.getId() == ACTION_PLAY) {
1228b0439505202fd21c595c21dded4cebebe8bfdeaDake Gu                    Intent intent = new Intent(context, PlaybackSupportActivity.class);
12371e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    getActivity().startActivity(intent);
12471e7e67f320b23feac784b629db17b3bcce08722Dake Gu                }
12571e7e67f320b23feac784b629db17b3bcce08722Dake Gu            }
12671e7e67f320b23feac784b629db17b3bcce08722Dake Gu        });
12771e7e67f320b23feac784b629db17b3bcce08722Dake Gu
12871e7e67f320b23feac784b629db17b3bcce08722Dake Gu        ps.addClassPresenter(DetailsOverviewRow.class, dorPresenter);
12971e7e67f320b23feac784b629db17b3bcce08722Dake Gu        ps.addClassPresenter(ListRow.class, new ListRowPresenter());
13071e7e67f320b23feac784b629db17b3bcce08722Dake Gu
13171e7e67f320b23feac784b629db17b3bcce08722Dake Gu        mRowsAdapter = new ArrayObjectAdapter(ps);
1325bcc058bb1aed2e88b38009e83084554cf2cd86bDake Gu        updateAdapter();
13371e7e67f320b23feac784b629db17b3bcce08722Dake Gu
13471e7e67f320b23feac784b629db17b3bcce08722Dake Gu        setOnItemViewClickedListener(new OnItemViewClickedListener() {
13571e7e67f320b23feac784b629db17b3bcce08722Dake Gu            @Override
13671e7e67f320b23feac784b629db17b3bcce08722Dake Gu            public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
13771e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    RowPresenter.ViewHolder rowViewHolder, Row row) {
13871e7e67f320b23feac784b629db17b3bcce08722Dake Gu                Log.i(TAG, "onItemClicked: " + item + " row " + row);
13971e7e67f320b23feac784b629db17b3bcce08722Dake Gu                if (item instanceof PhotoItem){
14071e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    Intent intent = new Intent(getActivity(), DetailsSupportActivity.class);
14171e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    intent.putExtra(DetailsSupportActivity.EXTRA_ITEM, (PhotoItem) item);
14271e7e67f320b23feac784b629db17b3bcce08722Dake Gu
14371e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    Bundle bundle = ActivityOptionsCompat.makeSceneTransitionAnimation(
14471e7e67f320b23feac784b629db17b3bcce08722Dake Gu                            getActivity(),
14571e7e67f320b23feac784b629db17b3bcce08722Dake Gu                            ((ImageCardView)itemViewHolder.view).getMainImageView(),
14671e7e67f320b23feac784b629db17b3bcce08722Dake Gu                            DetailsSupportActivity.SHARED_ELEMENT_NAME).toBundle();
14771e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    getActivity().startActivity(intent, bundle);
14871e7e67f320b23feac784b629db17b3bcce08722Dake Gu                }
14971e7e67f320b23feac784b629db17b3bcce08722Dake Gu            }
15071e7e67f320b23feac784b629db17b3bcce08722Dake Gu        });
15171e7e67f320b23feac784b629db17b3bcce08722Dake Gu        setOnItemViewSelectedListener(new OnItemViewSelectedListener() {
15271e7e67f320b23feac784b629db17b3bcce08722Dake Gu            @Override
15371e7e67f320b23feac784b629db17b3bcce08722Dake Gu            public void onItemSelected(Presenter.ViewHolder itemViewHolder, Object item,
15471e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    RowPresenter.ViewHolder rowViewHolder, Row row) {
15571e7e67f320b23feac784b629db17b3bcce08722Dake Gu                Log.i(TAG, "onItemSelected: " + item + " row " + row);
15671e7e67f320b23feac784b629db17b3bcce08722Dake Gu            }
15771e7e67f320b23feac784b629db17b3bcce08722Dake Gu        });
15871e7e67f320b23feac784b629db17b3bcce08722Dake Gu
15971e7e67f320b23feac784b629db17b3bcce08722Dake Gu        if (TEST_SHARED_ELEMENT_TRANSITION) {
16071e7e67f320b23feac784b629db17b3bcce08722Dake Gu            dorPresenter.setSharedElementEnterTransition(getActivity(),
16171e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    DetailsSupportActivity.SHARED_ELEMENT_NAME);
16271e7e67f320b23feac784b629db17b3bcce08722Dake Gu        }
16371e7e67f320b23feac784b629db17b3bcce08722Dake Gu        if (TEST_ENTRANCE_TRANSITION) {
16471e7e67f320b23feac784b629db17b3bcce08722Dake Gu            // don't run entrance transition if Activity is restored.
16571e7e67f320b23feac784b629db17b3bcce08722Dake Gu            if (savedInstanceState == null) {
16671e7e67f320b23feac784b629db17b3bcce08722Dake Gu                prepareEntranceTransition();
16771e7e67f320b23feac784b629db17b3bcce08722Dake Gu            }
16871e7e67f320b23feac784b629db17b3bcce08722Dake Gu        }
16971e7e67f320b23feac784b629db17b3bcce08722Dake Gu    }
17071e7e67f320b23feac784b629db17b3bcce08722Dake Gu
1714702556bfd15c9819a7b2af759aee0f719cd631fsusnata
17271e7e67f320b23feac784b629db17b3bcce08722Dake Gu    @Override
17371e7e67f320b23feac784b629db17b3bcce08722Dake Gu    public void onSaveInstanceState(Bundle outState) {
17471e7e67f320b23feac784b629db17b3bcce08722Dake Gu        super.onSaveInstanceState(outState);
17571e7e67f320b23feac784b629db17b3bcce08722Dake Gu        outState.putParcelable(ITEM, mPhotoItem);
17671e7e67f320b23feac784b629db17b3bcce08722Dake Gu    }
17771e7e67f320b23feac784b629db17b3bcce08722Dake Gu
17871e7e67f320b23feac784b629db17b3bcce08722Dake Gu    public void setItem(PhotoItem photoItem) {
17971e7e67f320b23feac784b629db17b3bcce08722Dake Gu        mPhotoItem = photoItem;
1805bcc058bb1aed2e88b38009e83084554cf2cd86bDake Gu        updateAdapter();
1815bcc058bb1aed2e88b38009e83084554cf2cd86bDake Gu    }
18271e7e67f320b23feac784b629db17b3bcce08722Dake Gu
1835bcc058bb1aed2e88b38009e83084554cf2cd86bDake Gu    void updateAdapter() {
1845bcc058bb1aed2e88b38009e83084554cf2cd86bDake Gu        if (mRowsAdapter == null) {
1855bcc058bb1aed2e88b38009e83084554cf2cd86bDake Gu            return;
1865bcc058bb1aed2e88b38009e83084554cf2cd86bDake Gu        }
18771e7e67f320b23feac784b629db17b3bcce08722Dake Gu        mRowsAdapter.clear();
18871e7e67f320b23feac784b629db17b3bcce08722Dake Gu        new Handler().postDelayed(new Runnable() {
189e2104f4b5c8e3ad63570306a25e61502dfe4c418Aurimas Liutikas            @Override
19071e7e67f320b23feac784b629db17b3bcce08722Dake Gu            public void run() {
191b7087e036a48f5a3db28d02ff7f9b97fbbc46c4fDake Gu                final Context context = getActivity();
19271e7e67f320b23feac784b629db17b3bcce08722Dake Gu                DetailsOverviewRow dor = new DetailsOverviewRow(mPhotoItem.getTitle());
193b7087e036a48f5a3db28d02ff7f9b97fbbc46c4fDake Gu                dor.setImageDrawable(ResourcesCompat.getDrawable(context.getResources(),
194b7087e036a48f5a3db28d02ff7f9b97fbbc46c4fDake Gu                        mPhotoItem.getImageResourceId(), context.getTheme()));
19571e7e67f320b23feac784b629db17b3bcce08722Dake Gu                SparseArrayObjectAdapter adapter = new SparseArrayObjectAdapter();
19671e7e67f320b23feac784b629db17b3bcce08722Dake Gu                adapter.set(ACTION_RENT, mActionRent);
19771e7e67f320b23feac784b629db17b3bcce08722Dake Gu                adapter.set(ACTION_BUY, mActionBuy);
19871e7e67f320b23feac784b629db17b3bcce08722Dake Gu                dor.setActionsAdapter(adapter);
19971e7e67f320b23feac784b629db17b3bcce08722Dake Gu                mRowsAdapter.add(0, dor);
20071e7e67f320b23feac784b629db17b3bcce08722Dake Gu                setSelectedPosition(0, false);
20171e7e67f320b23feac784b629db17b3bcce08722Dake Gu            }
20271e7e67f320b23feac784b629db17b3bcce08722Dake Gu        }, TIME_TO_LOAD_OVERVIEW_ROW_MS);
20371e7e67f320b23feac784b629db17b3bcce08722Dake Gu
20471e7e67f320b23feac784b629db17b3bcce08722Dake Gu        new Handler().postDelayed(new Runnable() {
205e2104f4b5c8e3ad63570306a25e61502dfe4c418Aurimas Liutikas            @Override
20671e7e67f320b23feac784b629db17b3bcce08722Dake Gu            public void run() {
20771e7e67f320b23feac784b629db17b3bcce08722Dake Gu                for (int i = 0; i < NUM_ROWS; ++i) {
20871e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    ArrayObjectAdapter listRowAdapter = new ArrayObjectAdapter(cardPresenter);
20971e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    listRowAdapter.add(new PhotoItem("Hello world", R.drawable.gallery_photo_1));
21071e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    listRowAdapter.add(new PhotoItem("This is a test", R.drawable.gallery_photo_2));
21171e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    listRowAdapter.add(new PhotoItem("Android TV", R.drawable.gallery_photo_3));
21271e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    listRowAdapter.add(new PhotoItem("Leanback", R.drawable.gallery_photo_4));
21371e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    HeaderItem header = new HeaderItem(i, "Row " + i);
21471e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    mRowsAdapter.add(new ListRow(header, listRowAdapter));
21571e7e67f320b23feac784b629db17b3bcce08722Dake Gu                }
21671e7e67f320b23feac784b629db17b3bcce08722Dake Gu                if (TEST_ENTRANCE_TRANSITION) {
21771e7e67f320b23feac784b629db17b3bcce08722Dake Gu                    startEntranceTransition();
21871e7e67f320b23feac784b629db17b3bcce08722Dake Gu                }
21971e7e67f320b23feac784b629db17b3bcce08722Dake Gu            }
22071e7e67f320b23feac784b629db17b3bcce08722Dake Gu        }, TIME_TO_LOAD_RELATED_ROWS_MS);
22171e7e67f320b23feac784b629db17b3bcce08722Dake Gu        setAdapter(mRowsAdapter);
22271e7e67f320b23feac784b629db17b3bcce08722Dake Gu    }
22371e7e67f320b23feac784b629db17b3bcce08722Dake Gu
22471e7e67f320b23feac784b629db17b3bcce08722Dake Gu    @Override
22571e7e67f320b23feac784b629db17b3bcce08722Dake Gu    public void onStart() {
22671e7e67f320b23feac784b629db17b3bcce08722Dake Gu        super.onStart();
22771e7e67f320b23feac784b629db17b3bcce08722Dake Gu        if (mPhotoItem != null) {
228181c8847d5a1169e26755ed690131333b7fff7e9Dake Gu            mBackgroundHelper.setBackground(mPhotoItem.getImageResourceId());
22971e7e67f320b23feac784b629db17b3bcce08722Dake Gu        }
23071e7e67f320b23feac784b629db17b3bcce08722Dake Gu    }
23171e7e67f320b23feac784b629db17b3bcce08722Dake Gu}
232