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 0c490f98c..0363babbf 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
@@ -25,7 +25,7 @@ import com.fongmi.android.tv.model.LiveViewModel;
import com.fongmi.android.tv.player.Players;
import com.fongmi.android.tv.player.source.Force;
import com.fongmi.android.tv.ui.custom.CustomKeyDownLive;
-import com.fongmi.android.tv.ui.custom.CustomLiveGridView;
+import com.fongmi.android.tv.ui.custom.CustomLiveListView;
import com.fongmi.android.tv.ui.presenter.ChannelPresenter;
import com.fongmi.android.tv.ui.presenter.GroupPresenter;
import com.fongmi.android.tv.utils.Clock;
@@ -40,7 +40,7 @@ import org.greenrobot.eventbus.ThreadMode;
import java.util.ArrayList;
import java.util.List;
-public class LiveActivity extends BaseActivity implements GroupPresenter.OnClickListener, ChannelPresenter.OnClickListener, CustomKeyDownLive.Listener, CustomLiveGridView.Callback {
+public class LiveActivity extends BaseActivity implements GroupPresenter.OnClickListener, ChannelPresenter.OnClickListener, CustomKeyDownLive.Listener, CustomLiveListView.Callback {
private ActivityLiveBinding mBinding;
private ArrayObjectAdapter mChannelAdapter;
@@ -185,12 +185,11 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
private void showInfo() {
mHandler.removeCallbacks(mR1);
- mBinding.info.name.setSelected(true);
+ mHandler.postDelayed(mR1, 5000);
mBinding.info.name.setText(mChannel.getName());
mBinding.info.line.setText(mChannel.getLineText());
mBinding.info.number.setText(mChannel.getNumber());
mBinding.info.getRoot().setVisibility(View.VISIBLE);
- mHandler.postDelayed(mR1, 5000);
}
@Override
@@ -282,16 +281,16 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
@Override
public void onKeyLeft() {
if (mChannel.getUrls().size() == 1) return;
- mBinding.info.getRoot().setVisibility(View.VISIBLE);
- mBinding.info.line.setText(mChannel.prevLine().getLineText());
+ mChannel.prevLine();
+ showInfo();
getUrl();
}
@Override
public void onKeyRight() {
if (mChannel.getUrls().size() == 1) return;
- mBinding.info.getRoot().setVisibility(View.VISIBLE);
- mBinding.info.line.setText(mChannel.nextLine().getLineText());
+ mChannel.nextLine();
+ showInfo();
getUrl();
}
diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomLiveGridView.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomLiveListView.java
similarity index 72%
rename from app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomLiveGridView.java
rename to app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomLiveListView.java
index 8f0c517ea..d231b4c9d 100644
--- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomLiveGridView.java
+++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomLiveListView.java
@@ -12,19 +12,19 @@ import androidx.leanback.widget.VerticalGridView;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.utils.Utils;
-public class CustomLiveGridView extends VerticalGridView {
+public class CustomLiveListView extends VerticalGridView {
private Callback listener;
- public CustomLiveGridView(@NonNull Context context) {
+ public CustomLiveListView(@NonNull Context context) {
super(context);
}
- public CustomLiveGridView(@NonNull Context context, @Nullable AttributeSet attrs) {
+ public CustomLiveListView(@NonNull Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}
- public CustomLiveGridView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyle) {
+ public CustomLiveListView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@@ -32,25 +32,27 @@ public class CustomLiveGridView extends VerticalGridView {
this.listener = listener;
}
- private void moveTop() {
+ private boolean onKeyDown() {
listener.setUITimer();
- if (getSelectedPosition() != getAdapter().getItemCount() - 1) return;
+ if (getSelectedPosition() != getAdapter().getItemCount() - 1) return false;
if (getId() == R.id.channel) setSelectedPosition(0);
else listener.nextGroup();
+ return true;
}
- private void moveBottom() {
+ private boolean onKeyUp() {
listener.setUITimer();
- if (getSelectedPosition() != 0) return;
+ if (getSelectedPosition() != 0) return false;
if (getId() == R.id.channel) setSelectedPosition(getAdapter().getItemCount());
else listener.prevGroup();
+ return true;
}
@Override
public boolean dispatchKeyEvent(@NonNull KeyEvent event) {
if (getVisibility() == View.GONE || event.getAction() != KeyEvent.ACTION_DOWN) return super.dispatchKeyEvent(event);
- if (Utils.isUpKey(event)) moveBottom();
- else if (Utils.isDownKey(event)) moveTop();
+ if (Utils.isDownKey(event)) return onKeyDown();
+ if (Utils.isUpKey(event)) return onKeyUp();
return super.dispatchKeyEvent(event);
}
diff --git a/app/src/leanback/res/layout/activity_live.xml b/app/src/leanback/res/layout/activity_live.xml
index 80fa09f34..1f6495bff 100644
--- a/app/src/leanback/res/layout/activity_live.xml
+++ b/app/src/leanback/res/layout/activity_live.xml
@@ -59,7 +59,7 @@
android:orientation="horizontal"
android:visibility="gone">
-
-