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 f97277df3..9edd9d8f2 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 @@ -388,6 +388,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick private void onConfig() { HistoryDialog.create(this).readOnly().type(1).show(); + hideControl(); } private void onAction() { diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index 754349347..ed5bb475e 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -394,6 +394,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDown.Listener private void onConfig() { HistoryDialog.create(this).readOnly().type(1).show(); + hideControl(); } private void onInvert() { diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/custom/CustomKeyDown.java b/app/src/mobile/java/com/fongmi/android/tv/ui/custom/CustomKeyDown.java index b6e5582d0..ecfa1b093 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/custom/CustomKeyDown.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/custom/CustomKeyDown.java @@ -12,6 +12,7 @@ import android.view.WindowManager; import androidx.annotation.NonNull; import com.fongmi.android.tv.App; +import com.fongmi.android.tv.Setting; import com.fongmi.android.tv.utils.ResUtil; import com.fongmi.android.tv.utils.Util; @@ -153,9 +154,9 @@ public class CustomKeyDown extends GestureDetector.SimpleOnGestureListener imple private void checkFunc(MotionEvent e1, MotionEvent e2, float velocityY) { if (e1.getY() - e2.getY() > DISTANCE && Math.abs(velocityY) > VELOCITY) { - videoView.animate().translationYBy(-ResUtil.dp2px(24)).setDuration(150).withStartAction(() -> animating = true).withEndAction(() -> videoView.animate().translationY(0).setDuration(100).withStartAction(listener::onFlingUp).withEndAction(() -> animating = false).start()).start(); + videoView.animate().translationYBy(ResUtil.dp2px(Setting.isInvert() ? 24 : -24)).setDuration(150).withStartAction(() -> animating = true).withEndAction(() -> videoView.animate().translationY(0).setDuration(100).withStartAction(listener::onFlingUp).withEndAction(() -> animating = false).start()).start(); } else if (e2.getY() - e1.getY() > DISTANCE && Math.abs(velocityY) > VELOCITY) { - videoView.animate().translationYBy(ResUtil.dp2px(24)).setDuration(150).withStartAction(() -> animating = true).withEndAction(() -> videoView.animate().translationY(0).setDuration(100).withStartAction(listener::onFlingDown).withEndAction(() -> animating = false).start()).start(); + videoView.animate().translationYBy(ResUtil.dp2px(Setting.isInvert() ? -24 : 24)).setDuration(150).withStartAction(() -> animating = true).withEndAction(() -> videoView.animate().translationY(0).setDuration(100).withStartAction(listener::onFlingDown).withEndAction(() -> animating = false).start()).start(); } } diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/HistoryDialog.java b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/HistoryDialog.java index 7b1d38eb4..c4d844415 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/HistoryDialog.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/HistoryDialog.java @@ -2,6 +2,7 @@ package com.fongmi.android.tv.ui.dialog; import android.app.Activity; import android.view.LayoutInflater; +import android.view.WindowManager; import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.Fragment; @@ -16,11 +17,12 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder; public class HistoryDialog implements ConfigAdapter.OnClickListener { - private final DialogHistoryBinding binding; private final ConfigCallback callback; - private final AlertDialog dialog; + private DialogHistoryBinding binding; private ConfigAdapter adapter; + private AlertDialog dialog; private boolean readOnly; + private boolean full; private int type; public static HistoryDialog create(Activity activity) { @@ -38,14 +40,19 @@ public class HistoryDialog implements ConfigAdapter.OnClickListener { public HistoryDialog(Activity activity) { this.callback = (ConfigCallback) activity; - this.binding = DialogHistoryBinding.inflate(LayoutInflater.from(activity)); - this.dialog = new MaterialAlertDialogBuilder(activity).setView(binding.getRoot()).create(); + this.full = true; + init(activity); } public HistoryDialog(Fragment fragment) { this.callback = (ConfigCallback) fragment; - this.binding = DialogHistoryBinding.inflate(LayoutInflater.from(fragment.getContext())); - this.dialog = new MaterialAlertDialogBuilder(fragment.requireActivity()).setView(binding.getRoot()).create(); + init(fragment.requireActivity()); + } + + private void init(Activity activity) { + this.binding = DialogHistoryBinding.inflate(LayoutInflater.from(activity)); + this.dialog = new MaterialAlertDialogBuilder(activity).setView(binding.getRoot()).create(); + this.adapter = new ConfigAdapter(this); } public HistoryDialog readOnly() { @@ -59,16 +66,18 @@ public class HistoryDialog implements ConfigAdapter.OnClickListener { } private void setRecyclerView() { - adapter = new ConfigAdapter(this); binding.recycler.setItemAnimator(null); binding.recycler.setHasFixedSize(false); binding.recycler.addItemDecoration(new SpaceItemDecoration(1, 8)); binding.recycler.setAdapter(adapter.readOnly(readOnly).addAll(type)); - if (readOnly && type == 1) binding.recycler.setMaxHeight(ResUtil.dp2px(264)); + if (full) binding.recycler.setMaxHeight(ResUtil.dp2px(264)); } private void setDialog() { if (adapter.getItemCount() == 0) return; + WindowManager.LayoutParams params = dialog.getWindow().getAttributes(); + if (full && ResUtil.isLand(dialog.getContext())) params.width = (int) (ResUtil.getScreenWidth() * 0.5f); + dialog.getWindow().setAttributes(params); dialog.getWindow().setDimAmount(0); dialog.show(); } diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/PassDialog.java b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/PassDialog.java index 5e1e724bd..ebe11c33e 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/PassDialog.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/PassDialog.java @@ -44,7 +44,7 @@ public class PassDialog extends BaseDialog { private void onPass() { String pass = binding.pass.getText().toString().trim(); - if (pass.length() > 0) callback.setPass(pass); + if (!pass.isEmpty()) callback.setPass(pass); dismiss(); }