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 0c3453fa9..ea3c0a712 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
@@ -58,7 +58,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
private ArrayObjectAdapter mHistoryAdapter;
private HistoryPresenter mHistoryPresenter;
private SiteViewModel mViewModel;
- private boolean mConfirmExit;
+ private boolean confirm;
@Override
protected ViewBinding getBinding() {
@@ -70,12 +70,12 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
WallConfig.get().init();
LiveConfig.get().init();
ApiConfig.get().init().load(getCallback());
+ mBinding.progressLayout.showProgress();
Updater.create(this).start();
Server.get().start();
setRecyclerView();
setViewModel();
setAdapter();
- setFocus();
}
@Override
@@ -115,26 +115,29 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
mHistoryAdapter = new ArrayObjectAdapter(mHistoryPresenter = new HistoryPresenter(this));
}
- private void setFocus() {
- mBinding.recycler.requestFocus();
- App.post(() -> mBinding.title.setFocusable(true), 500);
- }
-
private Callback getCallback() {
return new Callback() {
@Override
public void success() {
+ mBinding.progressLayout.showContent();
getHistory();
getVideo();
+ setFocus();
}
@Override
public void error(int resId) {
+ mBinding.progressLayout.showContent();
Notify.show(resId);
+ setFocus();
}
};
}
+ private void setFocus() {
+ App.post(() -> mBinding.recycler.requestFocus(), 500);
+ }
+
private void getVideo() {
int index = getRecommendIndex();
mViewModel.getResult().setValue(Result.empty());
@@ -316,10 +319,10 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
mHistoryAdapter.notifyArrayItemRangeChanged(0, mHistoryAdapter.size());
} else if (mBinding.recycler.getSelectedPosition() != 0) {
mBinding.recycler.scrollToPosition(0);
- } else if (!mConfirmExit) {
- mConfirmExit = true;
+ } else if (!confirm) {
+ confirm = true;
Notify.show(R.string.app_exit);
- App.post(() -> mConfirmExit = false, 1000);
+ App.post(() -> confirm = false, 1000);
} 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 20ece9848..7eb830dfa 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
@@ -165,6 +165,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
getPlayerView().setResizeMode(Prefers.getLiveScale());
getPlayerView().setOnClickListener(view -> onToggle());
getPlayerView().setOnLongClickListener(view -> onLongPress());
+ mControl.home.setVisibility(LiveConfig.isOnly() ? View.GONE : View.VISIBLE);
mControl.scale.setText(ResUtil.getStringArray(R.array.select_scale)[Prefers.getLiveScale()]);
mControl.speed.setText(mPlayers.getSpeed());
}
@@ -181,6 +182,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
private void setPosition(int[] position) {
if (position[0] == -1) return;
+ if (mGroupAdapter.size() == 1) return;
mGroup = (Group) mGroupAdapter.get(position[0]);
mBinding.group.setSelectedPosition(position[0]);
mGroup.setPosition(position[1]);
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 61372f276..0ebb5c0ec 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
@@ -35,6 +35,7 @@ public class CustomTitleView extends AppCompatTextView {
public void setListener(Listener listener) {
this.listener = listener;
+ setOnClickListener(v -> listener.showDialog());
}
@Override
diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/ArrayPresenter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/ArrayPresenter.java
index 950b9b5b9..86604c34e 100644
--- a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/ArrayPresenter.java
+++ b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/ArrayPresenter.java
@@ -43,7 +43,8 @@ public class ArrayPresenter extends Presenter {
String text = object.toString();
holder.binding.text.setText(text);
if (text.equals(reverse)) setOnClickListener(holder, view -> mListener.onRevSort());
- if (text.equals(backward) || text.equals(forward)) setOnClickListener(holder, view -> mListener.onRevPlay(holder.binding.text));
+ else if (text.equals(backward) || text.equals(forward)) setOnClickListener(holder, view -> mListener.onRevPlay(holder.binding.text));
+ else setOnClickListener(holder, null);
}
@Override
diff --git a/app/src/leanback/res/layout/activity_home.xml b/app/src/leanback/res/layout/activity_home.xml
index a992ab94d..fcce1b518 100644
--- a/app/src/leanback/res/layout/activity_home.xml
+++ b/app/src/leanback/res/layout/activity_home.xml
@@ -21,6 +21,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start"
+ android:focusable="true"
android:text="@string/app_name"
android:textColor="@color/white"
android:textSize="24sp" />
@@ -36,17 +37,23 @@
-
+ android:layout_height="match_parent">
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/fongmi/android/tv/api/LiveConfig.java b/app/src/main/java/com/fongmi/android/tv/api/LiveConfig.java
index 2e35eb3a1..d1fa907e7 100644
--- a/app/src/main/java/com/fongmi/android/tv/api/LiveConfig.java
+++ b/app/src/main/java/com/fongmi/android/tv/api/LiveConfig.java
@@ -41,6 +41,10 @@ public class LiveConfig {
return get().getLives().indexOf(get().getHome());
}
+ public static boolean isOnly() {
+ return get().getLives().size() == 1;
+ }
+
public static boolean isEmpty() {
return get().getHome() == null;
}