From 8404054d329ccba754ad632de01b11c256a34481 Mon Sep 17 00:00:00 2001 From: FongMi Date: Mon, 31 Oct 2022 12:00:25 +0800 Subject: [PATCH] Home support menu key --- .../com/fongmi/android/tv/ui/activity/HomeActivity.java | 8 ++++++++ .../com/fongmi/android/tv/ui/activity/VodActivity.java | 4 ++-- app/src/main/java/com/fongmi/android/tv/utils/Utils.java | 4 ++++ 3 files changed, 14 insertions(+), 2 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 017152189..da9a4e027 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 @@ -4,6 +4,7 @@ import android.app.Activity; import android.content.Intent; import android.os.Handler; import android.os.Looper; +import android.view.KeyEvent; import android.view.View; import androidx.annotation.NonNull; @@ -42,6 +43,7 @@ import com.fongmi.android.tv.utils.Notify; import com.fongmi.android.tv.utils.Prefers; import com.fongmi.android.tv.utils.ResUtil; import com.fongmi.android.tv.utils.Updater; +import com.fongmi.android.tv.utils.Utils; import com.google.common.collect.Lists; import org.greenrobot.eventbus.EventBus; @@ -281,6 +283,12 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen } } + @Override + public boolean dispatchKeyEvent(KeyEvent event) { + if (Utils.isMenuKey(event)) showDialog(); + return super.dispatchKeyEvent(event); + } + @Override protected void onResume() { super.onResume(); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VodActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VodActivity.java index 4a0e67b52..bc4b0ec53 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VodActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VodActivity.java @@ -27,6 +27,7 @@ import com.fongmi.android.tv.databinding.ActivityVodBinding; import com.fongmi.android.tv.ui.fragment.VodFragment; import com.fongmi.android.tv.ui.presenter.TypePresenter; import com.fongmi.android.tv.utils.ResUtil; +import com.fongmi.android.tv.utils.Utils; import com.google.gson.Gson; import java.util.ArrayList; @@ -131,8 +132,7 @@ public class VodActivity extends BaseActivity { @Override public boolean dispatchKeyEvent(KeyEvent event) { - boolean isMenuUp = event.getAction() == KeyEvent.ACTION_UP && event.getKeyCode() == KeyEvent.KEYCODE_MENU; - if (isMenuUp) updateFilter(mResult.getTypes().get(mBinding.pager.getCurrentItem())); + if (Utils.isMenuKey(event)) updateFilter(mResult.getTypes().get(mBinding.pager.getCurrentItem())); return super.dispatchKeyEvent(event); } diff --git a/app/src/main/java/com/fongmi/android/tv/utils/Utils.java b/app/src/main/java/com/fongmi/android/tv/utils/Utils.java index 7c8963bf7..d331e1abc 100644 --- a/app/src/main/java/com/fongmi/android/tv/utils/Utils.java +++ b/app/src/main/java/com/fongmi/android/tv/utils/Utils.java @@ -53,6 +53,10 @@ public class Utils { return event.getKeyCode() >= KeyEvent.KEYCODE_0 && event.getKeyCode() <= KeyEvent.KEYCODE_9 || event.getKeyCode() >= KeyEvent.KEYCODE_NUMPAD_0 && event.getKeyCode() <= KeyEvent.KEYCODE_NUMPAD_9; } + public static boolean isMenuKey(KeyEvent event) { + return event.getAction() == KeyEvent.ACTION_UP && event.getKeyCode() == KeyEvent.KEYCODE_MENU; + } + public static void hideSystemUI(Activity activity) { int flags = View.SYSTEM_UI_FLAG_LOW_PROFILE | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; activity.getWindow().getDecorView().setSystemUiVisibility(flags);