diff --git a/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWallView.java b/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWallView.java index 5f7a43896..971969b09 100644 --- a/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWallView.java +++ b/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWallView.java @@ -62,7 +62,7 @@ public class CustomWallView extends FrameLayout implements DefaultLifecycleObser player = new ExoPlayer.Builder(getContext()).build(); player.setRepeatMode(Player.REPEAT_MODE_ALL); player.setPlayWhenReady(true); - player.setVolume(0); + player.mute(); } @Subscribe(threadMode = ThreadMode.MAIN) 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 95e3b67b5..967c4aa5d 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 @@ -1002,17 +1002,17 @@ public class LiveActivity extends BaseActivity implements CustomKeyDown.Listener @Override public void onSpeedUp() { - if (mPlayers.isLive() || !mPlayers.isPlaying()) return; - mBinding.control.action.speed.setText(mPlayers.setSpeed(Setting.getSpeed())); - mBinding.widget.speed.startAnimation(ResUtil.getAnim(R.anim.forward)); + if (mPlayers.isLive()) return; + if (!mPlayers.isPlaying()) return; mBinding.widget.speed.setVisibility(View.VISIBLE); + mBinding.widget.speed.startAnimation(ResUtil.getAnim(R.anim.forward)); + mBinding.control.action.speed.setText(mPlayers.setSpeed(Setting.getSpeed())); } @Override public void onSpeedEnd() { - mBinding.control.action.speed.setText(mPlayers.setSpeed(1.0f)); - mBinding.widget.speed.setVisibility(View.GONE); mBinding.widget.speed.clearAnimation(); + mBinding.control.action.speed.setText(mPlayers.setSpeed(1.0f)); } @Override @@ -1024,11 +1024,6 @@ public class LiveActivity extends BaseActivity implements CustomKeyDown.Listener else mBinding.widget.brightIcon.setImageResource(R.drawable.ic_widget_bright_high); } - @Override - public void onBrightEnd() { - mBinding.widget.bright.setVisibility(View.GONE); - } - @Override public void onVolume(int progress) { mBinding.widget.volume.setVisibility(View.VISIBLE); @@ -1038,11 +1033,6 @@ public class LiveActivity extends BaseActivity implements CustomKeyDown.Listener else mBinding.widget.volumeIcon.setImageResource(R.drawable.ic_widget_volume_high); } - @Override - public void onVolumeEnd() { - mBinding.widget.volume.setVisibility(View.GONE); - } - @Override public void onFlingUp() { if (Setting.isInvert()) nextChannel(); @@ -1067,10 +1057,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDown.Listener @Override public void onSeekEnd(long time) { if (mPlayers.isLive()) return; - mBinding.widget.seek.setVisibility(View.GONE); mPlayers.seek(time); - showProgress(); - onPlay(); } @Override @@ -1085,6 +1072,14 @@ public class LiveActivity extends BaseActivity implements CustomKeyDown.Listener else showControl(); } + @Override + public void onTouchEnd() { + mBinding.widget.seek.setVisibility(View.GONE); + mBinding.widget.speed.setVisibility(View.GONE); + mBinding.widget.bright.setVisibility(View.GONE); + mBinding.widget.volume.setVisibility(View.GONE); + } + @Override public void onShare(CharSequence title) { mPlayers.share(this, title); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index c60cf8341..42df09db4 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -1482,16 +1482,15 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo @Override public void onSpeedUp() { if (!mPlayers.isPlaying()) return; - mBinding.control.action.speed.setText(mPlayers.setSpeed(Setting.getSpeed())); - mBinding.widget.speed.startAnimation(ResUtil.getAnim(R.anim.forward)); mBinding.widget.speed.setVisibility(View.VISIBLE); + mBinding.widget.speed.startAnimation(ResUtil.getAnim(R.anim.forward)); + mBinding.control.action.speed.setText(mPlayers.setSpeed(Setting.getSpeed())); } @Override public void onSpeedEnd() { - mBinding.control.action.speed.setText(mPlayers.setSpeed(mHistory.getSpeed())); - mBinding.widget.speed.setVisibility(View.GONE); mBinding.widget.speed.clearAnimation(); + mBinding.control.action.speed.setText(mPlayers.setSpeed(mHistory.getSpeed())); } @Override @@ -1503,11 +1502,6 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo else mBinding.widget.brightIcon.setImageResource(R.drawable.ic_widget_bright_high); } - @Override - public void onBrightEnd() { - mBinding.widget.bright.setVisibility(View.GONE); - } - @Override public void onVolume(int progress) { mBinding.widget.volume.setVisibility(View.VISIBLE); @@ -1517,11 +1511,6 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo else mBinding.widget.volumeIcon.setImageResource(R.drawable.ic_widget_volume_high); } - @Override - public void onVolumeEnd() { - mBinding.widget.volume.setVisibility(View.GONE); - } - @Override public void onFlingUp() { checkNext(); @@ -1542,10 +1531,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo @Override public void onSeekEnd(long time) { - mBinding.widget.seek.setVisibility(View.GONE); mPlayers.seek(time); - showProgress(); - onPlay(); } @Override @@ -1568,6 +1554,14 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo } } + @Override + public void onTouchEnd() { + mBinding.widget.seek.setVisibility(View.GONE); + mBinding.widget.speed.setVisibility(View.GONE); + mBinding.widget.bright.setVisibility(View.GONE); + mBinding.widget.volume.setVisibility(View.GONE); + } + @Override public void onShare(CharSequence title) { mPlayers.share(this, title); 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 fc7ce53a0..8df82c42e 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 @@ -32,7 +32,6 @@ public class CustomKeyDown extends GestureDetector.SimpleOnGestureListener imple private boolean changeScale; private boolean changeTime; private boolean animating; - private boolean center; private boolean touch; private boolean lock; private float bright; @@ -55,10 +54,9 @@ public class CustomKeyDown extends GestureDetector.SimpleOnGestureListener imple } public boolean onTouchEvent(MotionEvent e) { - if (changeTime && e.getAction() == MotionEvent.ACTION_UP) onSeekEnd(); + if (e.getAction() == MotionEvent.ACTION_UP) listener.onTouchEnd(); if (changeSpeed && e.getAction() == MotionEvent.ACTION_UP) listener.onSpeedEnd(); - if (changeBright && e.getAction() == MotionEvent.ACTION_UP) listener.onBrightEnd(); - if (changeVolume && e.getAction() == MotionEvent.ACTION_UP) listener.onVolumeEnd(); + if (changeTime && e.getAction() == MotionEvent.ACTION_UP) listener.onSeekEnd(time); return e.getPointerCount() == 2 ? scaleDetector.onTouchEvent(e) : detector.onTouchEvent(e); } @@ -79,34 +77,43 @@ public class CustomKeyDown extends GestureDetector.SimpleOnGestureListener imple return scale; } + private boolean isMultiple(MotionEvent e) { + return e.getPointerCount() > 1; + } + private boolean isEdge(MotionEvent e) { return ResUtil.isEdge(activity, e, ResUtil.dp2px(24)); } + private boolean isSide(MotionEvent e) { + int four = ResUtil.getScreenWidth(activity) / 4; + return !(e.getX() > four) || !(e.getX() < four * 3); + } + @Override public boolean onDown(@NonNull MotionEvent e) { - if (isEdge(e) || changeScale || lock || e.getPointerCount() > 1) return true; + if (isMultiple(e) || isEdge(e) || changeScale || lock) return true; volume = manager.getStreamVolume(AudioManager.STREAM_MUSIC); bright = Util.getBrightness(activity); changeBright = false; changeVolume = false; changeSpeed = false; changeTime = false; - center = false; touch = true; + time = 0; return true; } @Override public void onLongPress(@NonNull MotionEvent e) { - if (isEdge(e) || changeScale || lock || e.getPointerCount() > 1) return; - changeSpeed = true; + if (isMultiple(e) || isEdge(e) || changeScale || lock) return; listener.onSpeedUp(); + changeSpeed = true; } @Override public boolean onScroll(MotionEvent e1, @NonNull MotionEvent e2, float distanceX, float distanceY) { - if (isEdge(e1) || changeScale || lock || e1.getPointerCount() > 1) return true; + if (isMultiple(e1) || isEdge(e1) || changeSpeed || changeScale || lock) return true; float deltaX = e2.getX() - e1.getX(); float deltaY = e1.getY() - e2.getY(); if (touch) checkFunc(distanceX, distanceY, e2); @@ -118,36 +125,28 @@ public class CustomKeyDown extends GestureDetector.SimpleOnGestureListener imple @Override public boolean onDoubleTap(@NonNull MotionEvent e) { - if (isEdge(e) || changeScale || e.getPointerCount() > 1) return true; + if (isMultiple(e) || isEdge(e) || changeScale) return true; listener.onDoubleTap(); return true; } @Override public boolean onSingleTapConfirmed(@NonNull MotionEvent e) { - if (isEdge(e) || changeScale || e.getPointerCount() > 1) return true; + if (isMultiple(e) || isEdge(e) || changeScale) return true; listener.onSingleTap(); return true; } @Override public boolean onFling(MotionEvent e1, @NonNull MotionEvent e2, float velocityX, float velocityY) { - if (isEdge(e1) || changeScale || !center || animating || e1.getPointerCount() > 1) return true; + if (isMultiple(e1) || isEdge(e1) || isSide(e1) || changeScale || animating || lock) return true; checkFunc(e1, e2); return true; } - private void onSeekEnd() { - listener.onSeekEnd(time); - changeTime = false; - time = 0; - } - private void checkFunc(float distanceX, float distanceY, MotionEvent e2) { - int four = ResUtil.getScreenWidth(activity) / 4; - if (e2.getX() > four && e2.getX() < four * 3) center = true; - else if (Math.abs(distanceX) < Math.abs(distanceY)) checkSide(e2); if (Math.abs(distanceX) >= Math.abs(distanceY)) changeTime = true; + else if (isSide(e2)) checkSide(e2); touch = false; } @@ -220,12 +219,8 @@ public class CustomKeyDown extends GestureDetector.SimpleOnGestureListener imple void onBright(int progress); - void onBrightEnd(); - void onVolume(int progress); - void onVolumeEnd(); - void onFlingUp(); void onFlingDown(); @@ -237,5 +232,7 @@ public class CustomKeyDown extends GestureDetector.SimpleOnGestureListener imple void onSingleTap(); void onDoubleTap(); + + void onTouchEnd(); } } \ No newline at end of file