diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HistoryActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HistoryActivity.java index e5ba1a083..85e8abd5a 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HistoryActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HistoryActivity.java @@ -6,6 +6,7 @@ import android.view.View; import androidx.recyclerview.widget.GridLayoutManager; import androidx.viewbinding.ViewBinding; +import com.fongmi.android.tv.App; import com.fongmi.android.tv.Product; import com.fongmi.android.tv.bean.History; import com.fongmi.android.tv.databinding.ActivityHistoryBinding; @@ -53,7 +54,10 @@ public class HistoryActivity extends BaseActivity implements HistoryAdapter.OnCl private void getHistory() { mAdapter.addAll(History.get()); - mBinding.delete.setVisibility(mAdapter.getItemCount() > 0 ? View.VISIBLE : View.GONE); + App.post(() -> { + mBinding.delete.setVisibility(mAdapter.getItemCount() > 0 ? View.VISIBLE : View.GONE); + mBinding.delete.setFocusable(true); + }, 500); mBinding.recycler.requestFocus(); } @@ -74,8 +78,18 @@ public class HistoryActivity extends BaseActivity implements HistoryAdapter.OnCl @Override public void onItemDelete(History item) { - mAdapter.delete(item.delete()); + mBinding.delete.setFocusable(false); + int index = mAdapter.delete(item.delete()); if (mAdapter.getItemCount() == 0) mAdapter.setDelete(false); + App.post(() -> { + mBinding.delete.setFocusable(true); + }, 300); + if (mAdapter.getItemCount() > 0) { + int nextIndex = index + 1; + if (index == mAdapter.getItemCount()) nextIndex = index - 1; + View view = mBinding.recycler.getLayoutManager().findViewByPosition(nextIndex); + if (view != null) view.requestFocus(); + } } @Override 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 ffad21025..c934efdd8 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 @@ -256,7 +256,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen if (mAdapter.size() > index && index > -1) mAdapter.removeItems(index, mAdapter.size() - index); if (getHome().getKey().isEmpty()) return; mViewModel.homeContent(); - mAdapter.add("progress"); + if (Setting.getHomeRecommend() == 1) mAdapter.add("progress"); } private void addVideo(Result result) { @@ -401,8 +401,10 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen @Override public void onRefresh() { + Notify.progress(this); FileUtil.clearCache(null); initConfig(); + App.post(() -> Notify.show(ResUtil.getString(R.string.config_refreshed)), 2000); } @Override diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index af81f49ef..e3eec8c20 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -397,8 +397,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List int itemCount = getEpisodeView().getAdapter().getItemCount(); if (itemCount <= 0) return; int columns = mEpisodePresenter.getNumColumns(); - int numRows = mEpisodePresenter.getNumRows(); - if (((int)Math.ceil((position + 1)/columns) + 1 == numRows) && (position + columns >= itemCount)) { + if ((position + columns >= itemCount) && ((position % columns) + 1 > (itemCount % columns))) { child.itemView.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/HistoryAdapter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/HistoryAdapter.java index 2d9b79f1d..01456faf9 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/HistoryAdapter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/HistoryAdapter.java @@ -69,11 +69,12 @@ public class HistoryAdapter extends RecyclerView.Adapter= itemCount)) { + if ((position + columns >= itemCount) && ((position % columns) + 1 > (itemCount % columns))) { child.itemView.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { diff --git a/app/src/leanback/res/layout/activity_history.xml b/app/src/leanback/res/layout/activity_history.xml index d9b01c7e9..bbe0609d8 100644 --- a/app/src/leanback/res/layout/activity_history.xml +++ b/app/src/leanback/res/layout/activity_history.xml @@ -32,6 +32,7 @@ android:layout_height="32dp" android:background="@drawable/selector_image" android:src="@drawable/ic_action_delete" + android:focusable="false" android:visibility="gone" tools:visibility="visible" /> diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 2683ae48b..335fd8784 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -152,6 +152,7 @@ 已复制 + 接口已刷新 全部 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 9dc827b5b..21163e69e 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -152,6 +152,7 @@ 已複製 + 接口已刷新 全部 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4a8a000da..d3f45f497 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -152,6 +152,7 @@ Copied + Config rereshed All diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java index fe3b77b42..2fec9dcb7 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java @@ -17,6 +17,7 @@ import androidx.viewbinding.ViewBinding; import androidx.viewpager.widget.ViewPager; import com.fongmi.android.tv.App; +import com.fongmi.android.tv.R; import com.fongmi.android.tv.Setting; import com.fongmi.android.tv.api.config.VodConfig; import com.fongmi.android.tv.bean.Class; @@ -48,6 +49,7 @@ import com.fongmi.android.tv.ui.dialog.SiteDialog; import com.fongmi.android.tv.utils.FileChooser; import com.fongmi.android.tv.utils.FileUtil; import com.fongmi.android.tv.utils.Notify; +import com.fongmi.android.tv.utils.ResUtil; import com.github.catvod.net.OkHttp; import com.github.catvod.utils.Trans; import com.google.common.net.HttpHeaders; @@ -211,6 +213,7 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal private boolean onRefresh(View view) { FileUtil.clearCache(null); if (getActivity() instanceof MainActivity) ((MainActivity) getActivity()).initConfig(); + App.post(() -> Notify.show(ResUtil.getString(R.string.config_refreshed)), 2000); return true; }