From 50366c014679029986c7e3541b98e2ad0ed04222 Mon Sep 17 00:00:00 2001 From: okjack Date: Mon, 12 Feb 2024 22:26:33 +0800 Subject: [PATCH 1/3] setting custom --- .../res/layout/activity_setting_custom.xml | 506 ++++++++++-------- 1 file changed, 275 insertions(+), 231 deletions(-) diff --git a/app/src/leanback/res/layout/activity_setting_custom.xml b/app/src/leanback/res/layout/activity_setting_custom.xml index bea0b73ce..26d8a4f6e 100644 --- a/app/src/leanback/res/layout/activity_setting_custom.xml +++ b/app/src/leanback/res/layout/activity_setting_custom.xml @@ -14,293 +14,337 @@ android:padding="24dp"> - - - - - - - - - - - - - - - - - - - - + + + + + + + + + android:layout_weight="1" + android:background="@drawable/selector_item" + android:focusable="true" + android:focusableInTouchMode="true" + android:orientation="horizontal"> + + + + + + - - - + + + + + + + + + android:layout_weight="1" + android:background="@drawable/selector_item" + android:focusable="true" + android:focusableInTouchMode="true" + android:orientation="horizontal"> + + + + + + - - - + + + + + + + + + android:layout_weight="1" + android:background="@drawable/selector_item" + android:focusable="true" + android:focusableInTouchMode="true" + android:orientation="horizontal"> + + + + + + - - - + + + + + + + + + android:layout_weight="1" + android:background="@drawable/selector_item" + android:focusable="true" + android:focusableInTouchMode="true" + android:orientation="horizontal"> + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + android:layout_weight="1" + android:background="@drawable/selector_item" + android:focusable="true" + android:focusableInTouchMode="true" + android:orientation="horizontal"> + + + + + + From 0b6ceb4b5414af200b1fcabc4965678fc99ec4de Mon Sep 17 00:00:00 2001 From: okjack Date: Tue, 13 Feb 2024 22:22:22 +0800 Subject: [PATCH 2/3] setting --- .../leanback/res/layout/activity_setting.xml | 111 ++++++++++-------- 1 file changed, 59 insertions(+), 52 deletions(-) diff --git a/app/src/leanback/res/layout/activity_setting.xml b/app/src/leanback/res/layout/activity_setting.xml index 69899f813..b9a215a20 100644 --- a/app/src/leanback/res/layout/activity_setting.xml +++ b/app/src/leanback/res/layout/activity_setting.xml @@ -214,24 +214,51 @@ - + android:layout_weight="1" + android:background="@drawable/selector_item" + android:focusable="true" + android:focusableInTouchMode="true" + android:orientation="horizontal"> + + + + + + + + + + + @@ -320,7 +356,7 @@ + tools:text="20231103" /> @@ -386,7 +422,7 @@ + tools:text="1.2.1" /> - - - - - - - - \ No newline at end of file From 7d3d828e5aa164d17867028889af1acd232083c8 Mon Sep 17 00:00:00 2001 From: okjack Date: Tue, 13 Feb 2024 22:25:14 +0800 Subject: [PATCH 3/3] episode --- .../android/tv/ui/activity/VideoActivity.java | 20 ++++++++++++------- .../leanback/res/layout/activity_video.xml | 13 ++++++------ 2 files changed, 20 insertions(+), 13 deletions(-) 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 c02c4cc2b..ecc12c20a 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 @@ -154,6 +154,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List private Clock mClock; private View mFocus1; private View mFocus2; + private boolean hasKeyEvent; public static void push(FragmentActivity activity, String text) { if (FileChooser.isValid(activity, Uri.parse(text))) file(activity, FileChooser.getPathFromUri(activity, Uri.parse(text))); @@ -366,7 +367,10 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List mBinding.flag.addOnChildViewHolderSelectedListener(new OnChildViewHolderSelectedListener() { @Override public void onChildViewHolderSelected(@NonNull RecyclerView parent, @Nullable RecyclerView.ViewHolder child, int position, int subposition) { - if (mFlagAdapter.size() > 0) setFlagActivated((Flag) mFlagAdapter.get(position)); + if (mFlagAdapter.size() > 0) { + setFlagActivated((Flag) mFlagAdapter.get(position)); + hasKeyEvent = false; + } } }); getEpisodeView().addOnChildViewHolderSelectedListener(new OnChildViewHolderSelectedListener() { @@ -378,7 +382,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List mBinding.array.addOnChildViewHolderSelectedListener(new OnChildViewHolderSelectedListener() { @Override public void onChildViewHolderSelected(@NonNull RecyclerView parent, @Nullable RecyclerView.ViewHolder child, int position, int subposition) { - if (mEpisodeAdapter.size() > getGroupSize() && position > 1) setEpisodeSelectedPosition((position - 2) * getGroupSize()); + if (mEpisodeAdapter.size() > getGroupSize() && position > 1 && hasKeyEvent) setEpisodeSelectedPosition((position - 2) * getGroupSize()); } }); } @@ -623,7 +627,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List if (isVisible(mBinding.episodeVert)) setEpisodeView(items); mEpisodeAdapter.setItems(items, null); setArrayAdapter(items.size()); - setR2Callback(); + setR2Callback(50); } private void setEpisodeView(List items) { @@ -682,7 +686,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List private void setQualityVisible(boolean visible) { mBinding.quality.setVisibility(visible ? View.VISIBLE : View.GONE); - setR2Callback(); + setR2Callback(100); } private void setQualityActivated(Result result) { @@ -744,6 +748,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List notifyItemChanged(getEpisodeView(), mEpisodeAdapter); notifyItemChanged(mBinding.quality, mQualityAdapter); notifyItemChanged(mBinding.part, mPartAdapter); + notifyItemChanged(mBinding.array, mArrayAdapter); notifyItemChanged(mBinding.flag, mFlagAdapter); } @@ -1114,8 +1119,8 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List App.post(mR1, Constant.INTERVAL_HIDE); } - private void setR2Callback() { - App.post(mR2, 500); + private void setR2Callback(long delayMillis) { + App.post(mR2, delayMillis); } private void setArtwork(String url) { @@ -1163,7 +1168,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List private void setPartAdapter(List items) { mBinding.part.setVisibility(View.VISIBLE); mPartAdapter.setItems(items, null); - setR2Callback(); + setR2Callback(1000); } private void checkFlag(Vod item) { @@ -1573,6 +1578,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List @Override public boolean dispatchKeyEvent(KeyEvent event) { + hasKeyEvent = true; if (isFullscreen() && KeyUtil.isMenuKey(event) && Setting.getFullscreenMenuKey() == 0) onToggle(); if (isFullscreen() && KeyUtil.isMenuKey(event) && Setting.getFullscreenMenuKey() == 1) onEpisodes(); if (isVisible(mBinding.control.getRoot())) setR1Callback(); diff --git a/app/src/leanback/res/layout/activity_video.xml b/app/src/leanback/res/layout/activity_video.xml index da9e23e16..d6b77fbc9 100644 --- a/app/src/leanback/res/layout/activity_video.xml +++ b/app/src/leanback/res/layout/activity_video.xml @@ -264,6 +264,7 @@ android:clipChildren="false" android:clipToPadding="false" android:layout_marginTop="12dp" + android:layout_marginBottom="12dp" android:paddingStart="24dp" android:paddingEnd="24dp" android:visibility="gone" /> @@ -286,7 +287,7 @@ android:layout_height="wrap_content" android:clipChildren="false" android:clipToPadding="false" - android:layout_marginTop="12dp" + android:layout_marginBottom="12dp" android:paddingStart="24dp" android:paddingEnd="24dp" android:visibility="gone" /> @@ -297,7 +298,7 @@ android:layout_height="wrap_content" android:clipChildren="false" android:clipToPadding="false" - android:layout_marginTop="12dp" + android:layout_marginBottom="12dp" android:paddingStart="24dp" android:paddingEnd="24dp" android:focusable="false" @@ -311,7 +312,7 @@ android:layout_height="wrap_content" android:clipChildren="false" android:clipToPadding="false" - android:layout_marginTop="12dp" + android:layout_marginBottom="12dp" android:paddingStart="24dp" android:paddingEnd="24dp" android:visibility="gone" /> @@ -322,7 +323,7 @@ android:layout_height="wrap_content" android:clipChildren="false" android:clipToPadding="false" - android:layout_marginTop="12dp" + android:layout_marginBottom="12dp" android:paddingStart="24dp" android:paddingEnd="24dp" android:focusable="false" @@ -336,7 +337,7 @@ android:layout_height="wrap_content" android:clipChildren="false" android:clipToPadding="false" - android:layout_marginTop="12dp" + android:layout_marginBottom="12dp" android:paddingStart="24dp" android:paddingEnd="24dp" android:visibility="gone" /> @@ -345,7 +346,7 @@ android:id="@+id/quick" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginTop="12dp" + android:layout_marginBottom="12dp" android:clipChildren="false" android:clipToPadding="false" android:paddingStart="24dp"