From 502b649ffcd47584380e386613eb482f2f0d1cf1 Mon Sep 17 00:00:00 2001 From: FongMi Date: Thu, 18 May 2023 00:14:14 +0800 Subject: [PATCH] [leanback] support back when load config --- .../android/tv/ui/activity/HomeActivity.java | 14 ++++++++++---- .../android/tv/ui/activity/LiveActivity.java | 10 +++++++--- .../android/tv/ui/custom/ProgressLayout.java | 4 ++++ 3 files changed, 21 insertions(+), 7 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 fb24426e4..090f9ca86 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 @@ -208,6 +208,12 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen return -1; } + private void setConfirm() { + confirm = true; + Notify.show(R.string.app_exit); + App.post(() -> confirm = false, 2000); + } + @Override public void onItemClick(Func item) { switch (item.getResId()) { @@ -355,14 +361,14 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen @Override public void onBackPressed() { - if (mHistoryPresenter.isDelete()) { + if (mBinding.progressLayout.isProgress()) { + mBinding.progressLayout.showContent(); + } else if (mHistoryPresenter.isDelete()) { setHistoryDelete(false); } else if (mBinding.recycler.getSelectedPosition() != 0) { mBinding.recycler.scrollToPosition(0); } else if (!confirm) { - confirm = true; - Notify.show(R.string.app_exit); - App.post(() -> confirm = false, 2000); + setConfirm(); } else { finish(); } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index 7270019dd..fba0d62ac 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -618,6 +618,12 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick hideCenter(); } + private void setConfirm() { + confirm = true; + Notify.show(R.string.app_exit); + App.post(() -> confirm = false, 2000); + } + @Override public boolean dispatchKeyEvent(KeyEvent event) { if (isVisible(mBinding.control.getRoot())) setR2Callback(); @@ -753,9 +759,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick } else if (isVisible(mBinding.recycler)) { hideUI(); } else if (!confirm) { - confirm = true; - Notify.show(R.string.app_exit); - App.post(() -> confirm = false, 2000); + setConfirm(); } else { super.onBackPressed(); } diff --git a/app/src/main/java/com/fongmi/android/tv/ui/custom/ProgressLayout.java b/app/src/main/java/com/fongmi/android/tv/ui/custom/ProgressLayout.java index 5d5bea3f5..85db3b9d9 100644 --- a/app/src/main/java/com/fongmi/android/tv/ui/custom/ProgressLayout.java +++ b/app/src/main/java/com/fongmi/android/tv/ui/custom/ProgressLayout.java @@ -84,6 +84,10 @@ public class ProgressLayout extends RelativeLayout { else showContent(); } + public boolean isProgress() { + return mState == State.PROGRESS; + } + public void switchState(State state) { if (mState == state) return; mState = state;