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"> - -