mirror of
https://github.com/mediathekview/zapp.git
synced 2024-09-20 04:12:14 +02:00
Delay stream play when swiping through channels
This commit is contained in:
parent
247998a9ae
commit
e23880fc4e
@ -6,6 +6,7 @@ import android.graphics.drawable.Drawable;
|
||||
import android.media.MediaPlayer;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.util.Log;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
@ -15,6 +16,7 @@ import android.widget.ProgressBar;
|
||||
import android.widget.VideoView;
|
||||
|
||||
import butterknife.BindDrawable;
|
||||
import butterknife.BindInt;
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import butterknife.OnTouch;
|
||||
@ -37,10 +39,21 @@ public class ChannelDetailActivity extends FullscreenActivity {
|
||||
protected @BindDrawable(android.R.drawable.ic_media_pause) Drawable pauseIcon;
|
||||
protected @BindDrawable(android.R.drawable.ic_media_play) Drawable playIcon;
|
||||
|
||||
protected @BindInt(R.integer.play_stream_delay_millis) int playStreamDelayMillis;
|
||||
|
||||
private final Handler playHandler = new Handler();
|
||||
private ChannelDetailAdapter channelDetailAdapter;
|
||||
private ChannelModel currentChannel;
|
||||
private boolean isPlaying = false;
|
||||
|
||||
|
||||
private final Runnable playRunnable = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
play();
|
||||
}
|
||||
};
|
||||
|
||||
private final MediaPlayer.OnErrorListener videoErrorListener = new MediaPlayer.OnErrorListener() {
|
||||
@Override
|
||||
public boolean onError(MediaPlayer mediaPlayer, int what, int extra) {
|
||||
@ -78,7 +91,7 @@ public class ChannelDetailActivity extends FullscreenActivity {
|
||||
public void OnItemSelected(ChannelModel channel) {
|
||||
currentChannel = channel;
|
||||
setTitle(channel.getName());
|
||||
play();
|
||||
playDelayed();
|
||||
}
|
||||
};
|
||||
|
||||
@ -163,6 +176,13 @@ public class ChannelDetailActivity extends FullscreenActivity {
|
||||
return false;
|
||||
}
|
||||
|
||||
private void playDelayed() {
|
||||
videoView.pause();
|
||||
progressView.setVisibility(View.VISIBLE);
|
||||
playHandler.removeCallbacks(playRunnable);
|
||||
playHandler.postDelayed(playRunnable, playStreamDelayMillis);
|
||||
}
|
||||
|
||||
private void play() {
|
||||
Log.d(TAG, "play: " + currentChannel.getName());
|
||||
isPlaying = true;
|
||||
|
4
app/src/main/res/values/integers.xml
Normal file
4
app/src/main/res/values/integers.xml
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<integer name="play_stream_delay_millis">750</integer>
|
||||
</resources>
|
Loading…
Reference in New Issue
Block a user