pull/123/head
FongMi 3 years ago
parent 1cbaffc776
commit 5474a1af50
  1. 42
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  2. 2
      app/src/leanback/res/layout/adapter_channel.xml
  3. 1
      app/src/leanback/res/layout/adapter_group.xml
  4. 2
      app/src/main/res/layout/view_live_info.xml

@ -87,6 +87,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
@Override
protected void initEvent() {
EventBus.getDefault().register(this);
getPlayerView().setOnClickListener(view -> toggle());
mBinding.group.addOnChildViewHolderSelectedListener(new OnChildViewHolderSelectedListener() {
@Override
public void onChildViewHolderSelected(@NonNull RecyclerView parent, @Nullable RecyclerView.ViewHolder child, int position, int subposition) {
@ -109,7 +110,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
private void getLive() {
int[] position = LiveConfig.get().getKeep();
mGroupAdapter.setItems(LiveConfig.get().getHome().getGroups(), null);
if (position[0] == -1) mBinding.recycler.setVisibility(View.VISIBLE);
if (position[0] == -1) showUI();
else setPosition(position);
}
@ -121,6 +122,12 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
onItemClick(getChannel());
}
private void toggle() {
if (isVisible(mBinding.recycler)) hideUI();
else showUI();
hideInfo();
}
@Override
public void onItemClick(Group item) {
mChannelAdapter.setItems(item.getChannel(), null);
@ -131,9 +138,22 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
public void onItemClick(Channel item) {
getGroup().setPosition(mBinding.channel.getSelectedPosition());
LiveConfig.get().setKeep(getGroup(), item);
mBinding.recycler.setVisibility(View.GONE);
mPlayers.start(item);
showInfo(item);
getUrl(item);
hideUI();
}
private void getUrl(Channel item) {
mPlayers.start(item);
}
private void hideUI() {
mBinding.recycler.setVisibility(View.GONE);
}
private void showUI() {
mBinding.recycler.setVisibility(View.VISIBLE);
mBinding.channel.requestFocus();
}
private void hideInfo() {
@ -190,7 +210,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
@Override
public void onKeyLeft() {
Channel item = getChannel().prevLine();
if (item.getUrls().size() > 1) mPlayers.start(item);
if (item.getUrls().size() > 1) getUrl(item);
mBinding.info.getRoot().setVisibility(View.VISIBLE);
mBinding.info.line.setText(item.getLineText());
}
@ -198,16 +218,15 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
@Override
public void onKeyRight() {
Channel item = getChannel().nextLine();
if (item.getUrls().size() > 1) mPlayers.start(item);
if (item.getUrls().size() > 1) getUrl(item);
mBinding.info.getRoot().setVisibility(View.VISIBLE);
mBinding.info.line.setText(item.getLineText());
}
@Override
public void onKeyCenter() {
mBinding.recycler.setVisibility(View.VISIBLE);
mBinding.channel.requestFocus();
hideInfo();
showUI();
}
@Override
@ -233,15 +252,16 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
break;
default:
if (!event.isRetry() || mPlayers.addRetry() > 1) onError();
else mPlayers.start(getChannel());
else getUrl(getChannel());
break;
}
}
private void onError() {
mPlayers.setRetry(0);
if (isVisible(mBinding.recycler)) return;
if (getChannel().isLastLine()) onKeyDown();
else mPlayers.start(getChannel().nextLine());
else getUrl(getChannel().nextLine());
}
@Override
@ -261,9 +281,9 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
@Override
public void onBackPressed() {
if (isVisible(mBinding.info.getRoot())) {
mBinding.info.getRoot().setVisibility(View.GONE);
hideInfo();
} else if (isVisible(mBinding.recycler)) {
mBinding.recycler.setVisibility(View.GONE);
hideUI();
} else {
super.onBackPressed();
}

@ -37,8 +37,6 @@
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:letterSpacing="0.05"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:textColor="@color/white"
android:textSize="16sp"

@ -24,6 +24,7 @@
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:letterSpacing="0.05"
android:singleLine="true"
android:textColor="@color/white"

@ -72,7 +72,7 @@
android:letterSpacing="0.05"
android:singleLine="true"
android:text="@string/live_epg_empty"
android:textColor="@color/grey_50"
android:textColor="@color/grey_200"
android:textSize="16sp"
android:textStyle="bold"
tools:text="下個節目:喜劇之王" />

Loading…
Cancel
Save