From 6087a60f9906dd3d86a9f4ca3aa8d798e86acc8f Mon Sep 17 00:00:00 2001 From: jhengazuki Date: Sat, 23 Aug 2025 18:46:14 +0800 Subject: [PATCH] Clean --- .../android/tv/ui/activity/HomeActivity.java | 1 + .../ui/custom/CustomHorizontalGridView.java | 5 +- .../tv/ui/custom/CustomKeyDownLive.java | 16 ++--- .../tv/ui/custom/CustomKeyDownVod.java | 12 ++-- .../tv/ui/custom/CustomLeftRightLayout.java | 2 +- .../android/tv/ui/custom/CustomTitleView.java | 4 +- .../android/tv/ui/custom/CustomTypeView.java | 2 +- .../tv/ui/custom/CustomUpDownView.java | 2 +- .../android/tv/ui/custom/CustomViewPager.java | 5 +- .../com/fongmi/android/tv/utils/KeyUtil.java | 8 +++ app/src/leanback/res/layout/activity_home.xml | 58 +++++++++---------- .../android/tv/ui/custom/CustomMovement.java | 4 +- 12 files changed, 63 insertions(+), 56 deletions(-) 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 6b89cd34e..3f941e8f5 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 @@ -446,6 +446,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen @Override public boolean dispatchKeyEvent(KeyEvent event) { if (KeyUtil.isMenuKey(event)) showDialog(); + if (KeyUtil.isActionDown(event) & KeyUtil.isDownKey(event) && getCurrentFocus() == mBinding.site) return mBinding.recycler.getChildAt(0).requestFocus(); return super.dispatchKeyEvent(event); } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomHorizontalGridView.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomHorizontalGridView.java index 747a228da..bf8ff346d 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomHorizontalGridView.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomHorizontalGridView.java @@ -14,6 +14,7 @@ import androidx.annotation.Nullable; import androidx.leanback.widget.HorizontalGridView; import com.fongmi.android.tv.R; +import com.fongmi.android.tv.utils.KeyUtil; import com.fongmi.android.tv.utils.ResUtil; public class CustomHorizontalGridView extends HorizontalGridView { @@ -59,8 +60,8 @@ public class CustomHorizontalGridView extends HorizontalGridView { } public boolean executeKeyEvent(@NonNull KeyEvent event) { - if (event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_DPAD_LEFT) return arrowScroll(FOCUS_LEFT); - if (event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_DPAD_RIGHT) return arrowScroll(FOCUS_RIGHT); + if (KeyUtil.isActionDown(event) && KeyUtil.isLeftKey(event)) return arrowScroll(FOCUS_LEFT); + if (KeyUtil.isActionDown(event) && KeyUtil.isRightKey(event)) return arrowScroll(FOCUS_RIGHT); return false; } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyDownLive.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyDownLive.java index 1caab46c7..b5e97573a 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyDownLive.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyDownLive.java @@ -50,21 +50,21 @@ public class CustomKeyDownLive extends GestureDetector.SimpleOnGestureListener { } private void check(KeyEvent event) { - if (event.getAction() == KeyEvent.ACTION_DOWN && KeyUtil.isLeftKey(event)) { + if (KeyUtil.isActionDown(event) && KeyUtil.isLeftKey(event)) { listener.onSeeking(subTime()); - } else if (event.getAction() == KeyEvent.ACTION_DOWN && KeyUtil.isRightKey(event)) { + } else if (KeyUtil.isActionDown(event) && KeyUtil.isRightKey(event)) { listener.onSeeking(addTime()); - } else if (event.getAction() == KeyEvent.ACTION_DOWN && KeyUtil.isUpKey(event)) { + } else if (KeyUtil.isActionDown(event) && KeyUtil.isUpKey(event)) { listener.onKeyUp(); - } else if (event.getAction() == KeyEvent.ACTION_DOWN && KeyUtil.isDownKey(event)) { + } else if (KeyUtil.isActionDown(event) && KeyUtil.isDownKey(event)) { listener.onKeyDown(); - } else if (event.getAction() == KeyEvent.ACTION_UP && KeyUtil.isLeftKey(event)) { + } else if (KeyUtil.isActionUp(event) && KeyUtil.isLeftKey(event)) { listener.onKeyLeft(holdTime); - } else if (event.getAction() == KeyEvent.ACTION_UP && KeyUtil.isRightKey(event)) { + } else if (KeyUtil.isActionUp(event) && KeyUtil.isRightKey(event)) { listener.onKeyRight(holdTime); - } else if (event.getAction() == KeyEvent.ACTION_UP && KeyUtil.isDigitKey(event)) { + } else if (KeyUtil.isActionUp(event) && KeyUtil.isDigitKey(event)) { onKeyDown(event.getKeyCode()); - } else if (event.getAction() == KeyEvent.ACTION_UP && KeyUtil.isEnterKey(event)) { + } else if (KeyUtil.isActionUp(event) && KeyUtil.isEnterKey(event)) { listener.onKeyCenter(); } else if (KeyUtil.isMenuKey(event) || event.isLongPress() && KeyUtil.isEnterKey(event)) { listener.onMenu(); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyDownVod.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyDownVod.java index fa53df34c..7f68d66eb 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyDownVod.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomKeyDownVod.java @@ -47,19 +47,19 @@ public class CustomKeyDownVod extends GestureDetector.SimpleOnGestureListener { } private void check(KeyEvent event) { - if (event.getAction() == KeyEvent.ACTION_DOWN && KeyUtil.isLeftKey(event)) { + if (KeyUtil.isActionDown(event) && KeyUtil.isLeftKey(event)) { listener.onSeeking(subTime()); - } else if (event.getAction() == KeyEvent.ACTION_DOWN && KeyUtil.isRightKey(event)) { + } else if (KeyUtil.isActionDown(event) && KeyUtil.isRightKey(event)) { listener.onSeeking(addTime()); - } else if (event.getAction() == KeyEvent.ACTION_UP && (KeyUtil.isLeftKey(event) || KeyUtil.isRightKey(event))) { + } else if (KeyUtil.isActionUp(event) && (KeyUtil.isLeftKey(event) || KeyUtil.isRightKey(event))) { App.post(() -> listener.onSeekTo(holdTime), 250); - } else if (event.getAction() == KeyEvent.ACTION_UP && KeyUtil.isUpKey(event)) { + } else if (KeyUtil.isActionUp(event) && KeyUtil.isUpKey(event)) { if (changeSpeed) listener.onSpeedEnd(); else listener.onKeyUp(); changeSpeed = false; - } else if (event.getAction() == KeyEvent.ACTION_UP && KeyUtil.isDownKey(event)) { + } else if (KeyUtil.isActionUp(event) && KeyUtil.isDownKey(event)) { listener.onKeyDown(); - } else if (event.getAction() == KeyEvent.ACTION_UP && KeyUtil.isEnterKey(event)) { + } else if (KeyUtil.isActionUp(event) && KeyUtil.isEnterKey(event)) { listener.onKeyCenter(); } else if (event.isLongPress() && KeyUtil.isUpKey(event)) { listener.onSpeedUp(); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomLeftRightLayout.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomLeftRightLayout.java index d3d05589e..91cd77607 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomLeftRightLayout.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomLeftRightLayout.java @@ -32,7 +32,7 @@ public class CustomLeftRightLayout extends LinearLayout { } private boolean hasEvent(KeyEvent event) { - return event.getAction() == KeyEvent.ACTION_DOWN && ((leftListener != null && KeyUtil.isLeftKey(event)) || (rightListener != null && KeyUtil.isRightKey(event))); + return KeyUtil.isActionDown(event) && ((leftListener != null && KeyUtil.isLeftKey(event)) || (rightListener != null && KeyUtil.isRightKey(event))); } @Override diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomTitleView.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomTitleView.java index 1921ababf..208220c92 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomTitleView.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomTitleView.java @@ -60,8 +60,8 @@ public class CustomTitleView extends AppCompatTextView { } private void onKeyDown(KeyEvent event) { - if (event.getAction() == KeyEvent.ACTION_UP && KeyUtil.isEnterKey(event)) listener.showDialog(); - else if (event.getAction() == KeyEvent.ACTION_DOWN && KeyUtil.isUpKey(event)) onKeyUp(); + if (KeyUtil.isActionUp(event) && KeyUtil.isEnterKey(event)) listener.showDialog(); + else if (KeyUtil.isActionDown(event) && KeyUtil.isUpKey(event)) onKeyUp(); } private void onKeyUp() { diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomTypeView.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomTypeView.java index 9d04b8fb6..b3c864d31 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomTypeView.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomTypeView.java @@ -30,7 +30,7 @@ public class CustomTypeView extends AppCompatTextView { } private boolean hasEvent(KeyEvent event) { - return !coolDown && event.getAction() == KeyEvent.ACTION_DOWN && KeyUtil.isUpKey(event); + return !coolDown && KeyUtil.isActionDown(event) && KeyUtil.isUpKey(event); } @Override diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomUpDownView.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomUpDownView.java index 522f717e2..36485bce6 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomUpDownView.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomUpDownView.java @@ -32,7 +32,7 @@ public class CustomUpDownView extends AppCompatTextView { } private boolean hasEvent(KeyEvent event) { - return event.getAction() == KeyEvent.ACTION_DOWN && ((upListener != null && KeyUtil.isUpKey(event)) || (downListener != null && KeyUtil.isDownKey(event))); + return KeyUtil.isActionDown(event) && ((upListener != null && KeyUtil.isUpKey(event)) || (downListener != null && KeyUtil.isDownKey(event))); } @Override diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomViewPager.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomViewPager.java index d14b586c8..35e19c140 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomViewPager.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomViewPager.java @@ -17,6 +17,7 @@ import androidx.annotation.Nullable; import androidx.viewpager.widget.ViewPager; import com.fongmi.android.tv.R; +import com.fongmi.android.tv.utils.KeyUtil; import com.fongmi.android.tv.utils.ResUtil; public class CustomViewPager extends ViewPager { @@ -46,8 +47,8 @@ public class CustomViewPager extends ViewPager { @Override public boolean executeKeyEvent(@NonNull KeyEvent event) { if (findFocus() instanceof TextView) return false; - if (event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_DPAD_LEFT) return arrowScroll(FOCUS_LEFT); - if (event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_DPAD_RIGHT) return arrowScroll(FOCUS_RIGHT); + if (KeyUtil.isActionDown(event) && KeyUtil.isLeftKey(event)) return arrowScroll(FOCUS_LEFT); + if (KeyUtil.isActionDown(event) && KeyUtil.isRightKey(event)) return arrowScroll(FOCUS_RIGHT); return false; } diff --git a/app/src/leanback/java/com/fongmi/android/tv/utils/KeyUtil.java b/app/src/leanback/java/com/fongmi/android/tv/utils/KeyUtil.java index 32ee50b5c..67da7b323 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/utils/KeyUtil.java +++ b/app/src/leanback/java/com/fongmi/android/tv/utils/KeyUtil.java @@ -35,4 +35,12 @@ public class KeyUtil { public static boolean isMenuKey(KeyEvent event) { return event.getAction() == KeyEvent.ACTION_UP && event.getKeyCode() == KeyEvent.KEYCODE_MENU; } + + public static boolean isActionDown(KeyEvent event) { + return event.getAction() == KeyEvent.ACTION_DOWN; + } + + public static boolean isActionUp(KeyEvent event) { + return event.getAction() == KeyEvent.ACTION_UP; + } } diff --git a/app/src/leanback/res/layout/activity_home.xml b/app/src/leanback/res/layout/activity_home.xml index d957e780f..3e0a12a1f 100644 --- a/app/src/leanback/res/layout/activity_home.xml +++ b/app/src/leanback/res/layout/activity_home.xml @@ -6,56 +6,50 @@ android:layout_height="match_parent" android:orientation="vertical"> - - - - + - - - + - +