Optimize live

release
jhengazuki 6 months ago
parent 237e5832e6
commit d4db567a6b
  1. 1
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  2. 1
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  3. 5
      app/src/mobile/java/com/fongmi/android/tv/ui/custom/CustomKeyDown.java
  4. 25
      app/src/mobile/java/com/fongmi/android/tv/ui/dialog/HistoryDialog.java
  5. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/dialog/PassDialog.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() {

@ -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() {

@ -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();
}
}

@ -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();
}

@ -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();
}

Loading…
Cancel
Save