Switching from Adaptable to Provider interface.
Change-Id: I3cc09fc1959bf2ddf09d71437c33df47a113f790
This commit is contained in:
@@ -17,23 +17,21 @@ import android.app.Fragment;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.support.v17.leanback.app.Adaptable;
|
|
||||||
import android.support.v17.leanback.app.GuidedStepFragment;
|
import android.support.v17.leanback.app.GuidedStepFragment;
|
||||||
import android.support.v17.leanback.app.RowsFragment;
|
import android.support.v17.leanback.app.RowsFragment;
|
||||||
import android.support.v17.leanback.widget.ArrayObjectAdapter;
|
import android.support.v17.leanback.widget.ArrayObjectAdapter;
|
||||||
|
import android.support.v17.leanback.widget.DividerRow;
|
||||||
import android.support.v17.leanback.widget.HeaderItem;
|
import android.support.v17.leanback.widget.HeaderItem;
|
||||||
import android.support.v17.leanback.widget.ImageCardView;
|
import android.support.v17.leanback.widget.ImageCardView;
|
||||||
import android.support.v17.leanback.widget.DividerRow;
|
|
||||||
import android.support.v17.leanback.widget.SectionRow;
|
|
||||||
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.OnItemViewClickedListener;
|
import android.support.v17.leanback.widget.OnItemViewClickedListener;
|
||||||
import android.support.v17.leanback.widget.OnItemViewSelectedListener;
|
import android.support.v17.leanback.widget.OnItemViewSelectedListener;
|
||||||
import android.support.v17.leanback.widget.PageRow;
|
import android.support.v17.leanback.widget.PageRow;
|
||||||
import android.support.v17.leanback.widget.Presenter;
|
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.Row;
|
||||||
import android.support.v17.leanback.widget.RowPresenter;
|
import android.support.v17.leanback.widget.RowPresenter;
|
||||||
|
import android.support.v17.leanback.widget.SectionRow;
|
||||||
import android.support.v4.app.ActivityOptionsCompat;
|
import android.support.v4.app.ActivityOptionsCompat;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
@@ -47,6 +45,7 @@ public class BrowseFragment extends android.support.v17.leanback.app.BrowseFragm
|
|||||||
private static final int NUM_ROWS = 8;
|
private static final int NUM_ROWS = 8;
|
||||||
private static final long HEADER_ID1 = 1001;
|
private static final long HEADER_ID1 = 1001;
|
||||||
private static final long HEADER_ID2 = 1002;
|
private static final long HEADER_ID2 = 1002;
|
||||||
|
private static final long HEADER_ID3 = 1003;
|
||||||
|
|
||||||
private ArrayObjectAdapter mRowsAdapter;
|
private ArrayObjectAdapter mRowsAdapter;
|
||||||
private BackgroundHelper mBackgroundHelper = new BackgroundHelper();
|
private BackgroundHelper mBackgroundHelper = new BackgroundHelper();
|
||||||
@@ -132,6 +131,8 @@ public class BrowseFragment extends android.support.v17.leanback.app.BrowseFragm
|
|||||||
|
|
||||||
mRowsAdapter.add(new DividerRow());
|
mRowsAdapter.add(new DividerRow());
|
||||||
mRowsAdapter.add(new PageRow(new HeaderItem(HEADER_ID2, "Page Row 1")));
|
mRowsAdapter.add(new PageRow(new HeaderItem(HEADER_ID2, "Page Row 1")));
|
||||||
|
|
||||||
|
mRowsAdapter.add(new PageRow(new HeaderItem(HEADER_ID3, "Page Row 2")));
|
||||||
}
|
}
|
||||||
|
|
||||||
private ArrayObjectAdapter createListRowAdapter(int i) {
|
private ArrayObjectAdapter createListRowAdapter(int i) {
|
||||||
@@ -166,6 +167,14 @@ public class BrowseFragment extends android.support.v17.leanback.app.BrowseFragm
|
|||||||
"Leanback",
|
"Leanback",
|
||||||
"open BrowseActivity",
|
"open BrowseActivity",
|
||||||
R.drawable.gallery_photo_8));
|
R.drawable.gallery_photo_8));
|
||||||
|
listRowAdapter.add(new PhotoItem(
|
||||||
|
"Leanback",
|
||||||
|
"open BrowseActivity",
|
||||||
|
R.drawable.gallery_photo_8));
|
||||||
|
listRowAdapter.add(new PhotoItem(
|
||||||
|
"Leanback",
|
||||||
|
"open BrowseActivity",
|
||||||
|
R.drawable.gallery_photo_8));
|
||||||
return listRowAdapter;
|
return listRowAdapter;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -214,6 +223,8 @@ public class BrowseFragment extends android.support.v17.leanback.app.BrowseFragm
|
|||||||
return new SampleFragment();
|
return new SampleFragment();
|
||||||
} else if (row.getHeaderItem().getId() == HEADER_ID2) {
|
} else if (row.getHeaderItem().getId() == HEADER_ID2) {
|
||||||
return new SampleRowsFragment();
|
return new SampleRowsFragment();
|
||||||
|
} else if (row.getHeaderItem().getId() == HEADER_ID3) {
|
||||||
|
return new SampleFragment();
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
@@ -247,13 +258,35 @@ public class BrowseFragment extends android.support.v17.leanback.app.BrowseFragm
|
|||||||
|
|
||||||
setOnItemViewClickedListener(new OnItemViewClickedListener() {
|
setOnItemViewClickedListener(new OnItemViewClickedListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onItemClicked(
|
public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item, RowPresenter.ViewHolder rowViewHolder, Row row) {
|
||||||
Presenter.ViewHolder itemViewHolder,
|
Intent intent;
|
||||||
Object item,
|
Bundle bundle;
|
||||||
RowPresenter.ViewHolder rowViewHolder, Row row) {
|
if (((PhotoItem) item).getImageResourceId() == R.drawable.gallery_photo_6) {
|
||||||
Intent intent = new Intent(
|
GuidedStepFragment.add(getFragmentManager(),
|
||||||
itemViewHolder.view.getContext(), GuidedStepActivity.class);
|
new GuidedStepHalfScreenActivity.FirstStepFragment(),
|
||||||
startActivity(intent);
|
R.id.lb_guidedstep_host);
|
||||||
|
return;
|
||||||
|
} else if (((PhotoItem) item).getImageResourceId() == R.drawable.gallery_photo_5) {
|
||||||
|
GuidedStepFragment.add(getFragmentManager(),
|
||||||
|
new GuidedStepActivity.FirstStepFragment(), R.id.lb_guidedstep_host);
|
||||||
|
return;
|
||||||
|
} else if (((PhotoItem) item).getImageResourceId() == R.drawable.gallery_photo_8) {
|
||||||
|
intent = new Intent(getActivity(), BrowseActivity.class);
|
||||||
|
bundle = ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity())
|
||||||
|
.toBundle();
|
||||||
|
} else if (((PhotoItem) item).getImageResourceId() == R.drawable.gallery_photo_7) {
|
||||||
|
intent = new Intent(getActivity(), RowsActivity.class);
|
||||||
|
bundle = ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity())
|
||||||
|
.toBundle();
|
||||||
|
} else {
|
||||||
|
intent = new Intent(getActivity(), DetailsActivity.class);
|
||||||
|
intent.putExtra(DetailsActivity.EXTRA_ITEM, (PhotoItem) item);
|
||||||
|
bundle = ActivityOptionsCompat.makeSceneTransitionAnimation(
|
||||||
|
getActivity(),
|
||||||
|
((ImageCardView) itemViewHolder.view).getMainImageView(),
|
||||||
|
DetailsActivity.SHARED_ELEMENT_NAME).toBundle();
|
||||||
|
}
|
||||||
|
getActivity().startActivity(intent, bundle);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -294,7 +327,7 @@ public class BrowseFragment extends android.support.v17.leanback.app.BrowseFragm
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class SampleFragment extends Fragment implements Adaptable {
|
public static class SampleFragment extends Fragment implements MainFragmentAdapterProvider {
|
||||||
|
|
||||||
final PageFragmentAdapterImpl mMainFragmentAdapter = new PageFragmentAdapterImpl(this);
|
final PageFragmentAdapterImpl mMainFragmentAdapter = new PageFragmentAdapterImpl(this);
|
||||||
|
|
||||||
@@ -339,13 +372,8 @@ public class BrowseFragment extends android.support.v17.leanback.app.BrowseFragm
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageFragmentAdapterImpl getAdapter(Class clazz) {
|
public MainFragmentAdapter getMainFragmentAdapter() {
|
||||||
if (clazz == MainFragmentAdapter.class) {
|
|
||||||
return mMainFragmentAdapter;
|
return mMainFragmentAdapter;
|
||||||
}
|
}
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,23 +19,21 @@ import android.support.v4.app.Fragment;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.support.v17.leanback.app.Adaptable;
|
|
||||||
import android.support.v17.leanback.app.GuidedStepSupportFragment;
|
import android.support.v17.leanback.app.GuidedStepSupportFragment;
|
||||||
import android.support.v17.leanback.app.RowsSupportFragment;
|
import android.support.v17.leanback.app.RowsSupportFragment;
|
||||||
import android.support.v17.leanback.widget.ArrayObjectAdapter;
|
import android.support.v17.leanback.widget.ArrayObjectAdapter;
|
||||||
|
import android.support.v17.leanback.widget.DividerRow;
|
||||||
import android.support.v17.leanback.widget.HeaderItem;
|
import android.support.v17.leanback.widget.HeaderItem;
|
||||||
import android.support.v17.leanback.widget.ImageCardView;
|
import android.support.v17.leanback.widget.ImageCardView;
|
||||||
import android.support.v17.leanback.widget.DividerRow;
|
|
||||||
import android.support.v17.leanback.widget.SectionRow;
|
|
||||||
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.OnItemViewClickedListener;
|
import android.support.v17.leanback.widget.OnItemViewClickedListener;
|
||||||
import android.support.v17.leanback.widget.OnItemViewSelectedListener;
|
import android.support.v17.leanback.widget.OnItemViewSelectedListener;
|
||||||
import android.support.v17.leanback.widget.PageRow;
|
import android.support.v17.leanback.widget.PageRow;
|
||||||
import android.support.v17.leanback.widget.Presenter;
|
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.Row;
|
||||||
import android.support.v17.leanback.widget.RowPresenter;
|
import android.support.v17.leanback.widget.RowPresenter;
|
||||||
|
import android.support.v17.leanback.widget.SectionRow;
|
||||||
import android.support.v4.app.ActivityOptionsCompat;
|
import android.support.v4.app.ActivityOptionsCompat;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
@@ -49,6 +47,7 @@ public class BrowseSupportFragment extends android.support.v17.leanback.app.Brow
|
|||||||
private static final int NUM_ROWS = 8;
|
private static final int NUM_ROWS = 8;
|
||||||
private static final long HEADER_ID1 = 1001;
|
private static final long HEADER_ID1 = 1001;
|
||||||
private static final long HEADER_ID2 = 1002;
|
private static final long HEADER_ID2 = 1002;
|
||||||
|
private static final long HEADER_ID3 = 1003;
|
||||||
|
|
||||||
private ArrayObjectAdapter mRowsAdapter;
|
private ArrayObjectAdapter mRowsAdapter;
|
||||||
private BackgroundHelper mBackgroundHelper = new BackgroundHelper();
|
private BackgroundHelper mBackgroundHelper = new BackgroundHelper();
|
||||||
@@ -134,6 +133,8 @@ public class BrowseSupportFragment extends android.support.v17.leanback.app.Brow
|
|||||||
|
|
||||||
mRowsAdapter.add(new DividerRow());
|
mRowsAdapter.add(new DividerRow());
|
||||||
mRowsAdapter.add(new PageRow(new HeaderItem(HEADER_ID2, "Page Row 1")));
|
mRowsAdapter.add(new PageRow(new HeaderItem(HEADER_ID2, "Page Row 1")));
|
||||||
|
|
||||||
|
mRowsAdapter.add(new PageRow(new HeaderItem(HEADER_ID3, "Page Row 2")));
|
||||||
}
|
}
|
||||||
|
|
||||||
private ArrayObjectAdapter createListRowAdapter(int i) {
|
private ArrayObjectAdapter createListRowAdapter(int i) {
|
||||||
@@ -168,6 +169,14 @@ public class BrowseSupportFragment extends android.support.v17.leanback.app.Brow
|
|||||||
"Leanback",
|
"Leanback",
|
||||||
"open BrowseSupportActivity",
|
"open BrowseSupportActivity",
|
||||||
R.drawable.gallery_photo_8));
|
R.drawable.gallery_photo_8));
|
||||||
|
listRowAdapter.add(new PhotoItem(
|
||||||
|
"Leanback",
|
||||||
|
"open BrowseSupportActivity",
|
||||||
|
R.drawable.gallery_photo_8));
|
||||||
|
listRowAdapter.add(new PhotoItem(
|
||||||
|
"Leanback",
|
||||||
|
"open BrowseSupportActivity",
|
||||||
|
R.drawable.gallery_photo_8));
|
||||||
return listRowAdapter;
|
return listRowAdapter;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -216,6 +225,8 @@ public class BrowseSupportFragment extends android.support.v17.leanback.app.Brow
|
|||||||
return new SampleFragment();
|
return new SampleFragment();
|
||||||
} else if (row.getHeaderItem().getId() == HEADER_ID2) {
|
} else if (row.getHeaderItem().getId() == HEADER_ID2) {
|
||||||
return new SampleRowsSupportFragment();
|
return new SampleRowsSupportFragment();
|
||||||
|
} else if (row.getHeaderItem().getId() == HEADER_ID3) {
|
||||||
|
return new SampleFragment();
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
@@ -249,13 +260,35 @@ public class BrowseSupportFragment extends android.support.v17.leanback.app.Brow
|
|||||||
|
|
||||||
setOnItemViewClickedListener(new OnItemViewClickedListener() {
|
setOnItemViewClickedListener(new OnItemViewClickedListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onItemClicked(
|
public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item, RowPresenter.ViewHolder rowViewHolder, Row row) {
|
||||||
Presenter.ViewHolder itemViewHolder,
|
Intent intent;
|
||||||
Object item,
|
Bundle bundle;
|
||||||
RowPresenter.ViewHolder rowViewHolder, Row row) {
|
if (((PhotoItem) item).getImageResourceId() == R.drawable.gallery_photo_6) {
|
||||||
Intent intent = new Intent(
|
GuidedStepSupportFragment.add(getFragmentManager(),
|
||||||
itemViewHolder.view.getContext(), GuidedStepSupportActivity.class);
|
new GuidedStepSupportHalfScreenActivity.FirstStepFragment(),
|
||||||
startActivity(intent);
|
R.id.lb_guidedstep_host);
|
||||||
|
return;
|
||||||
|
} else if (((PhotoItem) item).getImageResourceId() == R.drawable.gallery_photo_5) {
|
||||||
|
GuidedStepSupportFragment.add(getFragmentManager(),
|
||||||
|
new GuidedStepSupportActivity.FirstStepFragment(), R.id.lb_guidedstep_host);
|
||||||
|
return;
|
||||||
|
} else if (((PhotoItem) item).getImageResourceId() == R.drawable.gallery_photo_8) {
|
||||||
|
intent = new Intent(getActivity(), BrowseSupportActivity.class);
|
||||||
|
bundle = ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity())
|
||||||
|
.toBundle();
|
||||||
|
} else if (((PhotoItem) item).getImageResourceId() == R.drawable.gallery_photo_7) {
|
||||||
|
intent = new Intent(getActivity(), RowsSupportActivity.class);
|
||||||
|
bundle = ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity())
|
||||||
|
.toBundle();
|
||||||
|
} else {
|
||||||
|
intent = new Intent(getActivity(), DetailsSupportActivity.class);
|
||||||
|
intent.putExtra(DetailsSupportActivity.EXTRA_ITEM, (PhotoItem) item);
|
||||||
|
bundle = ActivityOptionsCompat.makeSceneTransitionAnimation(
|
||||||
|
getActivity(),
|
||||||
|
((ImageCardView) itemViewHolder.view).getMainImageView(),
|
||||||
|
DetailsSupportActivity.SHARED_ELEMENT_NAME).toBundle();
|
||||||
|
}
|
||||||
|
getActivity().startActivity(intent, bundle);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -296,7 +329,7 @@ public class BrowseSupportFragment extends android.support.v17.leanback.app.Brow
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class SampleFragment extends Fragment implements Adaptable {
|
public static class SampleFragment extends Fragment implements MainFragmentAdapterProvider {
|
||||||
|
|
||||||
final PageFragmentAdapterImpl mMainFragmentAdapter = new PageFragmentAdapterImpl(this);
|
final PageFragmentAdapterImpl mMainFragmentAdapter = new PageFragmentAdapterImpl(this);
|
||||||
|
|
||||||
@@ -341,13 +374,8 @@ public class BrowseSupportFragment extends android.support.v17.leanback.app.Brow
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageFragmentAdapterImpl getAdapter(Class clazz) {
|
public MainFragmentAdapter getMainFragmentAdapter() {
|
||||||
if (clazz == MainFragmentAdapter.class) {
|
|
||||||
return mMainFragmentAdapter;
|
return mMainFragmentAdapter;
|
||||||
}
|
}
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user