diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java index af80d8815..f3c40a3df 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java @@ -33,7 +33,7 @@ import com.fongmi.android.tv.ui.custom.CustomSelector; import com.fongmi.android.tv.ui.presenter.FuncPresenter; import com.fongmi.android.tv.ui.presenter.HistoryPresenter; import com.fongmi.android.tv.ui.presenter.ProgressPresenter; -import com.fongmi.android.tv.ui.presenter.TitlePresenter; +import com.fongmi.android.tv.ui.presenter.HeaderPresenter; import com.fongmi.android.tv.ui.presenter.VodPresenter; import com.fongmi.android.tv.utils.Clock; import com.fongmi.android.tv.utils.Notify; @@ -45,7 +45,6 @@ import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; -import java.util.ArrayList; import java.util.List; public class HomeActivity extends BaseActivity implements VodPresenter.OnClickListener, FuncPresenter.OnClickListener, HistoryPresenter.OnClickListener { @@ -89,14 +88,14 @@ public class HomeActivity extends BaseActivity implements VodPresenter.OnClickLi mBinding.recycler.addOnChildViewHolderSelectedListener(new OnChildViewHolderSelectedListener() { @Override public void onChildViewHolderSelected(@NonNull RecyclerView parent, @Nullable RecyclerView.ViewHolder child, int position, int subposition) { - mBinding.time.setVisibility(position == 1 ? View.VISIBLE : View.GONE); + mBinding.toolbar.setVisibility(position == 0 ? View.VISIBLE : View.GONE); } }); } private void setRecyclerView() { CustomSelector selector = new CustomSelector(); - selector.addPresenter(Integer.class, new TitlePresenter()); + selector.addPresenter(Integer.class, new HeaderPresenter()); selector.addPresenter(String.class, new ProgressPresenter()); selector.addPresenter(ListRow.class, new CustomRowPresenter(16), VodPresenter.class); selector.addPresenter(ListRow.class, new CustomRowPresenter(16), FuncPresenter.class); @@ -115,7 +114,6 @@ public class HomeActivity extends BaseActivity implements VodPresenter.OnClickLi } private void setAdapter() { - mAdapter.add(R.string.app_name); mAdapter.add(getFuncRow()); mAdapter.add(R.string.home_history); mAdapter.add(R.string.home_recommend); @@ -129,13 +127,11 @@ public class HomeActivity extends BaseActivity implements VodPresenter.OnClickLi } private void addVideo(Result result) { - List rows = new ArrayList<>(); for (List items : Lists.partition(result.getList(), 5)) { ArrayObjectAdapter adapter = new ArrayObjectAdapter(new VodPresenter(this)); adapter.setItems(items, null); - rows.add(new ListRow(adapter)); + mAdapter.add(new ListRow(adapter)); } - mAdapter.addAll(mAdapter.size(), rows); } private ListRow getFuncRow() { @@ -241,8 +237,8 @@ public class HomeActivity extends BaseActivity implements VodPresenter.OnClickLi if (mHistoryPresenter.isDelete()) { mHistoryPresenter.setDelete(false); mHistoryAdapter.notifyArrayItemRangeChanged(0, mHistoryAdapter.size()); - } else if (mBinding.recycler.getSelectedPosition() != 1) { - mBinding.recycler.smoothScrollToPosition(1); + } else if (mBinding.recycler.getSelectedPosition() != 0) { + mBinding.recycler.smoothScrollToPosition(0); } else if (!mConfirmExit) { mConfirmExit = true; Notify.show(R.string.app_exit); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/TitlePresenter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/HeaderPresenter.java similarity index 63% rename from app/src/leanback/java/com/fongmi/android/tv/ui/presenter/TitlePresenter.java rename to app/src/leanback/java/com/fongmi/android/tv/ui/presenter/HeaderPresenter.java index 6fe1c1659..1963ee0ed 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/TitlePresenter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/HeaderPresenter.java @@ -6,19 +6,19 @@ import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.leanback.widget.Presenter; -import com.fongmi.android.tv.databinding.AdapterTitleBinding; +import com.fongmi.android.tv.databinding.AdapterHeaderBinding; import com.fongmi.android.tv.utils.ResUtil; -public class TitlePresenter extends Presenter { +public class HeaderPresenter extends Presenter { @Override public Presenter.ViewHolder onCreateViewHolder(ViewGroup parent) { - return new TitlePresenter.ViewHolder(AdapterTitleBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)); + return new HeaderPresenter.ViewHolder(AdapterHeaderBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)); } @Override public void onBindViewHolder(Presenter.ViewHolder viewHolder, Object object) { - TitlePresenter.ViewHolder holder = (TitlePresenter.ViewHolder) viewHolder; + HeaderPresenter.ViewHolder holder = (HeaderPresenter.ViewHolder) viewHolder; holder.binding.text.setText(object instanceof String ? object.toString() : ResUtil.getString((int) object)); } @@ -28,9 +28,9 @@ public class TitlePresenter extends Presenter { public static class ViewHolder extends Presenter.ViewHolder { - private final AdapterTitleBinding binding; + private final AdapterHeaderBinding binding; - public ViewHolder(@NonNull AdapterTitleBinding binding) { + public ViewHolder(@NonNull AdapterHeaderBinding binding) { super(binding.getRoot()); this.binding = binding; } diff --git a/app/src/leanback/res/layout/activity_home.xml b/app/src/leanback/res/layout/activity_home.xml index f9df484e8..dde927a5f 100644 --- a/app/src/leanback/res/layout/activity_home.xml +++ b/app/src/leanback/res/layout/activity_home.xml @@ -1,9 +1,40 @@ - + android:keepScreenOn="true" + android:orientation="vertical"> + + + + + + + + - - + android:paddingStart="24dp" + android:paddingTop="8dp" + android:paddingEnd="24dp" + android:paddingBottom="24dp" /> - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/leanback/res/layout/adapter_title.xml b/app/src/leanback/res/layout/adapter_header.xml similarity index 88% rename from app/src/leanback/res/layout/adapter_title.xml rename to app/src/leanback/res/layout/adapter_header.xml index 40bfff3ca..c4b0e4a9a 100644 --- a/app/src/leanback/res/layout/adapter_title.xml +++ b/app/src/leanback/res/layout/adapter_header.xml @@ -6,4 +6,4 @@ android:layout_height="wrap_content" android:textColor="@color/white" android:textSize="24sp" - tools:text="@string/app_name" /> \ No newline at end of file + tools:text="@string/home_recommend" /> \ No newline at end of file