[mobile] support double tap to forward and rewind

pull/123/head
FongMi 3 years ago
parent d0d81c3df4
commit b57ccc1a4b
  1. 28
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
  2. 46
      app/src/mobile/res/layout/view_widget_vod.xml

@ -89,6 +89,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
private Runnable mR1;
private Runnable mR2;
private Runnable mR3;
private Runnable mR4;
public static void push(Activity activity, String url) {
start(activity, "push_agent", url, url);
@ -198,6 +199,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
mR1 = this::hideControl;
mR2 = this::setTraffic;
mR3 = this::setOrient;
mR4 = this::onPlay;
setRecyclerView();
setVideoView();
setViewModel();
@ -618,6 +620,16 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
mBinding.widget.error.setVisibility(View.GONE);
}
private void showState(int resId) {
mBinding.widget.action.setImageResource(resId);
mBinding.widget.state.setVisibility(View.VISIBLE);
mBinding.widget.position.setText(mPlayers.getPositionTime(0));
}
private void hideState() {
mBinding.widget.state.setVisibility(View.GONE);
}
private void showControl() {
mBinding.control.parse.setVisibility(isFullscreen() && isUseParse() ? View.VISIBLE : View.GONE);
mBinding.control.action.setVisibility(isFullscreen() ? View.VISIBLE : View.GONE);
@ -783,15 +795,13 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
}
private void onPause(boolean visible) {
mBinding.widget.state.setVisibility(visible ? View.VISIBLE : View.GONE);
mBinding.widget.duration.setText(mPlayers.getDurationTime());
mBinding.widget.position.setText(mPlayers.getPositionTime(0));
if (visible) showState(R.drawable.ic_control_play);
mPlayers.pause();
}
private void onPlay() {
mBinding.widget.state.setVisibility(View.GONE);
mPlayers.play();
hideState();
}
private boolean isFullscreen() {
@ -871,15 +881,15 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
@Override
public void onDoubleTapLeft() {
mPlayers.seekTo(-15 * 1000);
showProgress();
onPlay();
showState(R.drawable.ic_widget_rewind);
App.post(mR4, 500);
}
@Override
public void onDoubleTapRight() {
mPlayers.seekTo(15 * 1000);
showProgress();
onPlay();
showState(R.drawable.ic_widget_forward);
App.post(mR4, 500);
}
@Override
@ -961,6 +971,6 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
protected void onDestroy() {
super.onDestroy();
mPlayers.release();
App.removeCallbacks(mR1, mR2, mR3);
App.removeCallbacks(mR1, mR2, mR3, mR4);
}
}

@ -59,49 +59,27 @@
android:id="@+id/state"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_gravity="end|top"
android:layout_margin="16dp"
android:gravity="center"
android:orientation="vertical"
android:orientation="horizontal"
android:visibility="gone"
tools:visibility="visible">
<ImageView
android:id="@+id/action"
android:layout_width="48dp"
android:layout_height="48dp"
android:scaleType="fitCenter"
android:src="@drawable/ic_control_play" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/position"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/white"
android:textSize="12sp"
tools:text="00:00:00" />
android:layout_marginEnd="4dp"
android:src="@drawable/ic_widget_rewind" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="2dp"
android:layout_marginEnd="2dp"
android:text="/"
android:textColor="@color/white"
android:textSize="12sp" />
<TextView
android:id="@+id/duration"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/white"
android:textSize="12sp"
tools:text="00:00:00" />
<TextView
android:id="@+id/position"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/white"
android:textSize="12sp"
tools:text="00:00:00" />
</LinearLayout>
</LinearLayout>
</FrameLayout>
Loading…
Cancel
Save