Fix focus when no parse layout

pull/102/head
FongMi 3 years ago
parent 3edd8ca21d
commit 8586f0ebe0
  1. 8
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
  2. 4
      app/src/leanback/java/com/fongmi/android/tv/ui/custom/ConfigDialog.java
  3. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/custom/SiteDialog.java
  4. 2
      app/src/leanback/res/layout/adapter_parse.xml
  5. 12
      app/src/leanback/res/layout/adapter_site.xml
  6. 8
      app/src/leanback/res/layout/dialog_config.xml
  7. 1
      app/src/leanback/res/layout/view_controller_bottom.xml

@ -184,6 +184,7 @@ public class DetailActivity extends BaseActivity implements KeyDown.Listener {
boolean useParse = (result.getPlayUrl().isEmpty() && ApiConfig.get().getFlags().contains(result.getFlag())) || result.getJx() == 1;
mControl.parseLayout.setVisibility(useParse ? View.VISIBLE : View.GONE);
Players.get().setMediaSource(result, useParse);
resetFocus(useParse);
});
mSiteViewModel.result.observe(this, result -> {
if (result.getList().isEmpty()) mBinding.progressLayout.showEmpty();
@ -191,6 +192,13 @@ public class DetailActivity extends BaseActivity implements KeyDown.Listener {
});
}
private void resetFocus(boolean useParse) {
mControl.exoProgress.setNextFocusUpId(useParse ? R.id.parse : R.id.next);
for (int i = 0; i < mControl.playLayout.getChildCount(); i++) {
mControl.playLayout.getChildAt(i).setNextFocusDownId(useParse ? R.id.parse : com.google.android.exoplayer2.ui.R.id.exo_progress);
}
}
private void getDetail() {
mSiteViewModel.detailContent(getKey(), getId());
}

@ -44,7 +44,7 @@ public class ConfigDialog implements DialogInterface.OnDismissListener {
private void initDialog() {
WindowManager.LayoutParams params = dialog.getWindow().getAttributes();
params.width = (int) (ResUtil.getScreenWidthPx() * 0.65f);
params.width = (int) (ResUtil.getScreenWidthPx() * 0.7f);
dialog.getWindow().setAttributes(params);
dialog.getWindow().setDimAmount(0);
dialog.setOnDismissListener(this);
@ -55,7 +55,7 @@ public class ConfigDialog implements DialogInterface.OnDismissListener {
String address = Server.get().getAddress(false);
binding.text.setText(Prefers.getUrl());
binding.text.setSelection(binding.text.getText().length());
binding.code.setImageBitmap(QRCode.getBitmap(address, 180, 0));
binding.code.setImageBitmap(QRCode.getBitmap(address, 200, 0));
binding.info.setText(ResUtil.getString(R.string.dialog_config_info, address));
}

@ -38,7 +38,7 @@ public class SiteDialog implements SitePresenter.OnClickListener {
private void initDialog() {
WindowManager.LayoutParams params = dialog.getWindow().getAttributes();
params.width = (int) (ResUtil.getScreenWidthPx() * 0.45f);
params.height = (int) (ResUtil.getScreenHeightPx() * 0.8f);
params.height = (int) (ResUtil.getScreenHeightPx() * 0.85f);
dialog.getWindow().setAttributes(params);
dialog.getWindow().setDimAmount(0);
dialog.show();

@ -8,7 +8,7 @@
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center"
android:nextFocusUp="@id/next"
android:nextFocusUp="@id/playLayout"
android:nextFocusDown="@id/exo_progress"
android:singleLine="true"
android:textColor="@color/white"

@ -7,7 +7,7 @@
<TextView
android:id="@+id/text"
android:layout_width="0dp"
android:layout_height="48dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/selector_text"
android:ellipsize="marquee"
@ -23,23 +23,25 @@
<ImageView
android:id="@+id/search"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginEnd="12dp"
android:background="@drawable/selector_text"
android:focusable="true"
android:focusableInTouchMode="true"
android:padding="8dp"
android:scaleType="center"
android:src="@drawable/ic_search_on" />
<ImageView
android:id="@+id/filter"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/selector_text"
android:focusable="true"
android:focusableInTouchMode="true"
android:padding="8dp"
android:scaleType="center"
android:src="@drawable/ic_filter_on" />

@ -6,22 +6,22 @@
<ImageView
android:id="@+id/code"
android:layout_width="180dp"
android:layout_height="180dp"
android:layout_width="200dp"
android:layout_height="200dp"
android:scaleType="fitXY" />
<TextView
android:id="@+id/info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginStart="16dp"
android:layout_toEndOf="@+id/code"
android:lineSpacingExtra="4dp"
android:paddingStart="4dp"
android:paddingEnd="4dp"
android:text="@string/dialog_config_info"
android:textColor="@color/grey_700"
android:textSize="16sp" />
android:textSize="18sp" />
<EditText
android:id="@+id/text"

@ -16,6 +16,7 @@
android:paddingBottom="8dp">
<LinearLayout
android:id="@+id/playLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"

Loading…
Cancel
Save