[leanback] fix live bug

pull/123/head
FongMi 3 years ago
parent d7d97d7e99
commit c335fedd47
  1. 15
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  2. 4
      app/src/leanback/res/drawable/shape_bottom_sheet.xml
  3. 8
      app/src/leanback/res/layout/dialog_pass.xml
  4. 7
      app/src/leanback/res/layout/dialog_track.xml

@ -125,11 +125,11 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
mR2 = this::hideControl;
mR3 = this::setChannelActivated;
mR4 = this::setTraffic;
mHides = new ArrayList<>();
mPlayers = new Players().init();
mKeyDown = CustomKeyDownLive.create(this);
mFormatDate = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
mFormatTime = new SimpleDateFormat("yyyy-MM-ddHH:mm", Locale.getDefault());
mHides = new ArrayList<>();
setRecyclerView();
setVideoView();
setViewModel();
@ -223,6 +223,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
private void setPosition(int[] position) {
if (position[0] == -1) return;
if (mGroupAdapter.size() == 1) return;
if (position[0] >= mGroupAdapter.size()) return;
mGroup = (Group) mGroupAdapter.get(position[0]);
mBinding.group.setSelectedPosition(position[0]);
if (mGroup.getChannel().isEmpty()) return;
@ -233,12 +234,12 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
private void setPosition() {
if (mChannel == null) return;
Group group = mChannel.getGroup();
int position = mGroupAdapter.indexOf(group);
mGroup = mChannel.getGroup();
int position = mGroupAdapter.indexOf(mGroup);
boolean change = mBinding.group.getSelectedPosition() != position;
if (change) mBinding.group.setSelectedPosition(position);
if (change) mChannelAdapter.setItems(group.getChannel(), null);
mBinding.channel.setSelectedPosition(group.getPosition());
if (change) mChannelAdapter.setItems(mGroup.getChannel(), null);
mBinding.channel.setSelectedPosition(mGroup.getPosition());
}
private void onChildSelected(@Nullable RecyclerView.ViewHolder child, Group group) {
@ -390,8 +391,8 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
@Override
public void onItemClick(Group item) {
mChannelAdapter.setItems(mGroup.getChannel(), null);
mBinding.channel.setSelectedPosition(mGroup.getPosition());
mChannelAdapter.setItems(item.getChannel(), null);
mBinding.channel.setSelectedPosition(item.getPosition());
if (!item.isKeep() || ++count < 5 || mHides.isEmpty()) return;
App.removeCallbacks(mR0);
PassDialog.show(this);

@ -8,8 +8,4 @@
android:topLeftRadius="12dp"
android:topRightRadius="12dp" />
<padding
android:bottom="8dp"
android:top="8dp" />
</shape>

@ -2,18 +2,15 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/white"
android:fitsSystemWindows="true"
android:gravity="center"
android:orientation="horizontal"
android:paddingTop="4dp"
android:paddingBottom="4dp">
android:padding="16dp">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/pass"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:layout_marginEnd="16dp"
android:layout_weight="1"
android:background="@null"
android:hint="@string/live_pass"
@ -27,7 +24,6 @@
android:id="@+id/positive"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:background="@drawable/selector_text"
android:focusable="true"
android:focusableInTouchMode="true"

@ -4,9 +4,6 @@
android:id="@+id/recycler"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="16dp"
android:paddingTop="8dp"
android:paddingEnd="16dp"
android:paddingBottom="8dp"
android:padding="16dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:maxHeight="206dp" />
app:maxHeight="220dp" />
Loading…
Cancel
Save