Merge "Revert "SupportLeanbackDemo: support delay loading page fragment data"" into nyc-dev

This commit is contained in:
Dake Gu
2016-05-04 22:38:07 +00:00
committed by Android (Google) Code Review
2 changed files with 50 additions and 68 deletions

View File

@@ -228,7 +228,7 @@ public class BrowseFragment extends android.support.v17.leanback.app.BrowseFragm
public Fragment createFragment(Object rowObj) {
Row row = (Row) rowObj;
if (row.getHeaderItem().getId() == HEADER_ID1) {
return new SampleRowsFragment();
return new SampleFragment();
} else if (row.getHeaderItem().getId() == HEADER_ID2) {
return new SampleRowsFragment();
} else if (row.getHeaderItem().getId() == HEADER_ID3) {
@@ -239,30 +239,30 @@ public class BrowseFragment extends android.support.v17.leanback.app.BrowseFragm
}
}
public static class PageFragmentAdapterImpl extends MainFragmentAdapter<SampleFragment> {
public PageFragmentAdapterImpl(SampleFragment fragment) {
super(fragment);
setScalingEnabled(true);
}
@Override
public void setEntranceTransitionState(boolean state) {
getFragment().setEntranceTransitionState(state);
}
}
public static class SampleRowsFragment extends RowsFragment {
final CardPresenter mCardPresenter = new CardPresenter();
final CardPresenter mCardPresenter2 = new CardPresenter(R.style.MyImageCardViewTheme);
void loadFragmentData() {
ArrayObjectAdapter adapter = (ArrayObjectAdapter) getAdapter();
public SampleRowsFragment() {
ArrayObjectAdapter adapter = new ArrayObjectAdapter(new ListRowPresenter());
for (int i = 0; i < 4; i++) {
ListRow row = new ListRow(new HeaderItem("Row " + i), createListRowAdapter(i));
adapter.add(row);
}
if (getMainFragmentAdapter() != null) {
getMainFragmentAdapter().getFragmentHost().notifyDataReady(getMainFragmentAdapter());
}
}
public SampleRowsFragment() {
ArrayObjectAdapter adapter = new ArrayObjectAdapter(new ListRowPresenter());
setAdapter(adapter);
// simulates late data loading:
new Handler().postDelayed(new Runnable() {
public void run() {
loadFragmentData();
}
}, 500);
setOnItemViewClickedListener(new OnItemViewClickedListener() {
@Override
@@ -274,12 +274,12 @@ public class BrowseFragment extends android.support.v17.leanback.app.BrowseFragm
Intent intent;
Bundle bundle;
if (((PhotoItem) item).getImageResourceId() == R.drawable.gallery_photo_6) {
GuidedStepFragment.add(getActivity().getFragmentManager(),
GuidedStepFragment.add(getFragmentManager(),
new GuidedStepHalfScreenActivity.FirstStepFragment(),
R.id.lb_guidedstep_host);
return;
} else if (((PhotoItem) item).getImageResourceId() == R.drawable.gallery_photo_5) {
GuidedStepFragment.add(getActivity().getFragmentManager(),
GuidedStepFragment.add(getFragmentManager(),
new GuidedStepActivity.FirstStepFragment(), R.id.lb_guidedstep_host);
return;
} else if (((PhotoItem) item).getImageResourceId() == R.drawable.gallery_photo_8) {
@@ -339,19 +339,6 @@ public class BrowseFragment extends android.support.v17.leanback.app.BrowseFragm
}
}
public static class PageFragmentAdapterImpl extends MainFragmentAdapter<SampleFragment> {
public PageFragmentAdapterImpl(SampleFragment fragment) {
super(fragment);
setScalingEnabled(true);
}
@Override
public void setEntranceTransitionState(boolean state) {
getFragment().setEntranceTransitionState(state);
}
}
public static class SampleFragment extends Fragment implements MainFragmentAdapterProvider {
final PageFragmentAdapterImpl mMainFragmentAdapter = new PageFragmentAdapterImpl(this);
@@ -386,10 +373,14 @@ public class BrowseFragment extends android.support.v17.leanback.app.BrowseFragm
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
// static layout has view and data ready immediately
public void onStart() {
super.onStart();
mMainFragmentAdapter.getFragmentHost().notifyViewCreated(mMainFragmentAdapter);
mMainFragmentAdapter.getFragmentHost().notifyDataReady(mMainFragmentAdapter);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
setEntranceTransitionState(mEntranceTransitionState);
}
@Override

View File

@@ -230,7 +230,7 @@ public class BrowseSupportFragment extends android.support.v17.leanback.app.Brow
public Fragment createFragment(Object rowObj) {
Row row = (Row) rowObj;
if (row.getHeaderItem().getId() == HEADER_ID1) {
return new SampleRowsSupportFragment();
return new SampleFragment();
} else if (row.getHeaderItem().getId() == HEADER_ID2) {
return new SampleRowsSupportFragment();
} else if (row.getHeaderItem().getId() == HEADER_ID3) {
@@ -241,30 +241,30 @@ public class BrowseSupportFragment extends android.support.v17.leanback.app.Brow
}
}
public static class PageFragmentAdapterImpl extends MainFragmentAdapter<SampleFragment> {
public PageFragmentAdapterImpl(SampleFragment fragment) {
super(fragment);
setScalingEnabled(true);
}
@Override
public void setEntranceTransitionState(boolean state) {
getFragment().setEntranceTransitionState(state);
}
}
public static class SampleRowsSupportFragment extends RowsSupportFragment {
final CardPresenter mCardPresenter = new CardPresenter();
final CardPresenter mCardPresenter2 = new CardPresenter(R.style.MyImageCardViewTheme);
void loadFragmentData() {
ArrayObjectAdapter adapter = (ArrayObjectAdapter) getAdapter();
public SampleRowsSupportFragment() {
ArrayObjectAdapter adapter = new ArrayObjectAdapter(new ListRowPresenter());
for (int i = 0; i < 4; i++) {
ListRow row = new ListRow(new HeaderItem("Row " + i), createListRowAdapter(i));
adapter.add(row);
}
if (getMainFragmentAdapter() != null) {
getMainFragmentAdapter().getFragmentHost().notifyDataReady(getMainFragmentAdapter());
}
}
public SampleRowsSupportFragment() {
ArrayObjectAdapter adapter = new ArrayObjectAdapter(new ListRowPresenter());
setAdapter(adapter);
// simulates late data loading:
new Handler().postDelayed(new Runnable() {
public void run() {
loadFragmentData();
}
}, 500);
setOnItemViewClickedListener(new OnItemViewClickedListener() {
@Override
@@ -276,12 +276,12 @@ public class BrowseSupportFragment extends android.support.v17.leanback.app.Brow
Intent intent;
Bundle bundle;
if (((PhotoItem) item).getImageResourceId() == R.drawable.gallery_photo_6) {
GuidedStepSupportFragment.add(getActivity().getFragmentManager(),
GuidedStepSupportFragment.add(getFragmentManager(),
new GuidedStepSupportHalfScreenActivity.FirstStepFragment(),
R.id.lb_guidedstep_host);
return;
} else if (((PhotoItem) item).getImageResourceId() == R.drawable.gallery_photo_5) {
GuidedStepSupportFragment.add(getActivity().getFragmentManager(),
GuidedStepSupportFragment.add(getFragmentManager(),
new GuidedStepSupportActivity.FirstStepFragment(), R.id.lb_guidedstep_host);
return;
} else if (((PhotoItem) item).getImageResourceId() == R.drawable.gallery_photo_8) {
@@ -341,19 +341,6 @@ public class BrowseSupportFragment extends android.support.v17.leanback.app.Brow
}
}
public static class PageFragmentAdapterImpl extends MainFragmentAdapter<SampleFragment> {
public PageFragmentAdapterImpl(SampleFragment fragment) {
super(fragment);
setScalingEnabled(true);
}
@Override
public void setEntranceTransitionState(boolean state) {
getFragment().setEntranceTransitionState(state);
}
}
public static class SampleFragment extends Fragment implements MainFragmentAdapterProvider {
final PageFragmentAdapterImpl mMainFragmentAdapter = new PageFragmentAdapterImpl(this);
@@ -388,10 +375,14 @@ public class BrowseSupportFragment extends android.support.v17.leanback.app.Brow
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
// static layout has view and data ready immediately
public void onStart() {
super.onStart();
mMainFragmentAdapter.getFragmentHost().notifyViewCreated(mMainFragmentAdapter);
mMainFragmentAdapter.getFragmentHost().notifyDataReady(mMainFragmentAdapter);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
setEntranceTransitionState(mEntranceTransitionState);
}
@Override