Refactor
This commit is contained in:
parent
ee031843ef
commit
937feddafa
@ -672,12 +672,13 @@ public abstract class MediaplayerActivity extends AppCompatActivity implements O
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String length;
|
||||||
if (showTimeLeft) {
|
if (showTimeLeft) {
|
||||||
txtvLength.setText("-" + Converter.getDurationStringLong((media
|
length = "-" + Converter.getDurationStringLong(media.getDuration() - media.getPosition());
|
||||||
.getDuration() - media.getPosition())));
|
|
||||||
} else {
|
} else {
|
||||||
txtvLength.setText(Converter.getDurationStringLong((media.getDuration())));
|
length = Converter.getDurationStringLong(media.getDuration());
|
||||||
}
|
}
|
||||||
|
txtvLength.setText(length);
|
||||||
|
|
||||||
SharedPreferences.Editor editor = prefs.edit();
|
SharedPreferences.Editor editor = prefs.edit();
|
||||||
editor.putBoolean(PREF_SHOW_TIME_LEFT, showTimeLeft);
|
editor.putBoolean(PREF_SHOW_TIME_LEFT, showTimeLeft);
|
||||||
@ -765,8 +766,7 @@ public abstract class MediaplayerActivity extends AppCompatActivity implements O
|
|||||||
if (rewindSecs == values[i]) {
|
if (rewindSecs == values[i]) {
|
||||||
checked = i;
|
checked = i;
|
||||||
}
|
}
|
||||||
choices[i] = String.valueOf(values[i]) + " "
|
choices[i] = String.valueOf(values[i]) + " " + getString(R.string.time_seconds);
|
||||||
+ getString(R.string.time_seconds);
|
|
||||||
}
|
}
|
||||||
choice = values[checked];
|
choice = values[checked];
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(MediaplayerActivity.this);
|
AlertDialog.Builder builder = new AlertDialog.Builder(MediaplayerActivity.this);
|
||||||
@ -807,8 +807,7 @@ public abstract class MediaplayerActivity extends AppCompatActivity implements O
|
|||||||
if (rewindSecs == values[i]) {
|
if (rewindSecs == values[i]) {
|
||||||
checked = i;
|
checked = i;
|
||||||
}
|
}
|
||||||
choices[i] = String.valueOf(values[i]) + " "
|
choices[i] = String.valueOf(values[i]) + " " + getString(R.string.time_seconds);
|
||||||
+ getString(R.string.time_seconds);
|
|
||||||
}
|
}
|
||||||
choice = values[checked];
|
choice = values[checked];
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(MediaplayerActivity.this);
|
AlertDialog.Builder builder = new AlertDialog.Builder(MediaplayerActivity.this);
|
||||||
@ -854,15 +853,13 @@ public abstract class MediaplayerActivity extends AppCompatActivity implements O
|
|||||||
float prog;
|
float prog;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onProgressChanged(SeekBar seekBar, int progress,
|
public void onProgressChanged (SeekBar seekBar,int progress, boolean fromUser) {
|
||||||
boolean fromUser) {
|
|
||||||
if (controller != null) {
|
if (controller != null) {
|
||||||
prog = controller.onSeekBarProgressChanged(seekBar, progress, fromUser,
|
prog = controller.onSeekBarProgressChanged(seekBar, progress, fromUser, txtvPosition);
|
||||||
txtvPosition);
|
|
||||||
if (showTimeLeft && prog != 0) {
|
if (showTimeLeft && prog != 0) {
|
||||||
int duration = controller.getDuration();
|
int duration = controller.getDuration();
|
||||||
txtvLength.setText("-" + Converter
|
String length = "-" + Converter.getDurationStringLong(duration - (int) (prog * duration));
|
||||||
.getDurationStringLong(duration - (int) (prog * duration)));
|
txtvLength.setText(length);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,9 +3,9 @@ package de.danoeh.antennapod.activity;
|
|||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.graphics.drawable.ColorDrawable;
|
import android.graphics.drawable.ColorDrawable;
|
||||||
import android.os.AsyncTask;
|
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.os.Handler;
|
||||||
import android.support.v4.view.WindowCompat;
|
import android.support.v4.view.WindowCompat;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.util.Pair;
|
import android.util.Pair;
|
||||||
@ -19,7 +19,8 @@ import android.widget.LinearLayout;
|
|||||||
import android.widget.ProgressBar;
|
import android.widget.ProgressBar;
|
||||||
import android.widget.SeekBar;
|
import android.widget.SeekBar;
|
||||||
|
|
||||||
import de.danoeh.antennapod.BuildConfig;
|
import java.lang.ref.WeakReference;
|
||||||
|
|
||||||
import de.danoeh.antennapod.R;
|
import de.danoeh.antennapod.R;
|
||||||
import de.danoeh.antennapod.core.feed.MediaType;
|
import de.danoeh.antennapod.core.feed.MediaType;
|
||||||
import de.danoeh.antennapod.core.service.playback.PlaybackService;
|
import de.danoeh.antennapod.core.service.playback.PlaybackService;
|
||||||
@ -39,7 +40,8 @@ public class VideoplayerActivity extends MediaplayerActivity {
|
|||||||
*/
|
*/
|
||||||
private boolean videoControlsShowing = true;
|
private boolean videoControlsShowing = true;
|
||||||
private boolean videoSurfaceCreated = false;
|
private boolean videoSurfaceCreated = false;
|
||||||
private VideoControlsHider videoControlsToggler;
|
|
||||||
|
private VideoControlsHider videoControlsHider = new VideoControlsHider(this);
|
||||||
|
|
||||||
private LinearLayout videoOverlay;
|
private LinearLayout videoOverlay;
|
||||||
private AspectRatioVideoView videoview;
|
private AspectRatioVideoView videoview;
|
||||||
@ -60,26 +62,13 @@ public class VideoplayerActivity extends MediaplayerActivity {
|
|||||||
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(0x80000000));
|
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(0x80000000));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onPause() {
|
|
||||||
super.onPause();
|
|
||||||
if (videoControlsToggler != null) {
|
|
||||||
videoControlsToggler.cancel(true);
|
|
||||||
}
|
|
||||||
if (controller != null && controller.getStatus() == PlayerStatus.PLAYING) {
|
|
||||||
controller.pause();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
if (getIntent().getAction() != null
|
if (getIntent().getAction() != null
|
||||||
&& getIntent().getAction().equals(Intent.ACTION_VIEW)) {
|
&& getIntent().getAction().equals(Intent.ACTION_VIEW)) {
|
||||||
Intent intent = getIntent();
|
Intent intent = getIntent();
|
||||||
if (BuildConfig.DEBUG)
|
Log.d(TAG, "Received VIEW intent: " + intent.getData().getPath());
|
||||||
Log.d(TAG, "Received VIEW intent: "
|
|
||||||
+ intent.getData().getPath());
|
|
||||||
ExternalMedia media = new ExternalMedia(intent.getData().getPath(),
|
ExternalMedia media = new ExternalMedia(intent.getData().getPath(),
|
||||||
MediaType.VIDEO);
|
MediaType.VIDEO);
|
||||||
Intent launchIntent = new Intent(this, PlaybackService.class);
|
Intent launchIntent = new Intent(this, PlaybackService.class);
|
||||||
@ -93,6 +82,22 @@ public class VideoplayerActivity extends MediaplayerActivity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onPause() {
|
||||||
|
super.onPause();
|
||||||
|
videoControlsHider.stop();
|
||||||
|
if (controller != null && controller.getStatus() == PlayerStatus.PLAYING) {
|
||||||
|
controller.pause();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
super.onDestroy();
|
||||||
|
videoControlsHider.stop();
|
||||||
|
videoControlsHider = null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean loadMediaInfo() {
|
protected boolean loadMediaInfo() {
|
||||||
if (!super.loadMediaInfo()) {
|
if (!super.loadMediaInfo()) {
|
||||||
@ -104,7 +109,6 @@ public class VideoplayerActivity extends MediaplayerActivity {
|
|||||||
getSupportActionBar().setTitle(media.getFeedTitle());
|
getSupportActionBar().setTitle(media.getFeedTitle());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -133,14 +137,11 @@ public class VideoplayerActivity extends MediaplayerActivity {
|
|||||||
@Override
|
@Override
|
||||||
protected void onAwaitingVideoSurface() {
|
protected void onAwaitingVideoSurface() {
|
||||||
if (videoSurfaceCreated) {
|
if (videoSurfaceCreated) {
|
||||||
if (BuildConfig.DEBUG)
|
Log.d(TAG, "Videosurface already created, setting videosurface now");
|
||||||
Log.d(TAG,
|
|
||||||
"Videosurface already created, setting videosurface now");
|
|
||||||
|
|
||||||
Pair<Integer, Integer> videoSize = controller.getVideoSize();
|
Pair<Integer, Integer> videoSize = controller.getVideoSize();
|
||||||
if (videoSize != null && videoSize.first > 0 && videoSize.second > 0) {
|
if (videoSize != null && videoSize.first > 0 && videoSize.second > 0) {
|
||||||
if (BuildConfig.DEBUG)
|
Log.d(TAG, "Width,height of video: " + videoSize.first + ", " + videoSize.second);
|
||||||
Log.d(TAG, "Width,height of video: " + videoSize.first + ", " + videoSize.second);
|
|
||||||
videoview.setVideoSize(videoSize.first, videoSize.second);
|
videoview.setVideoSize(videoSize.first, videoSize.second);
|
||||||
} else {
|
} else {
|
||||||
Log.e(TAG, "Could not determine video size");
|
Log.e(TAG, "Could not determine video size");
|
||||||
@ -156,7 +157,6 @@ public class VideoplayerActivity extends MediaplayerActivity {
|
|||||||
} else {
|
} else {
|
||||||
progressIndicator.setVisibility(View.INVISIBLE);
|
progressIndicator.setVisibility(View.INVISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -164,38 +164,23 @@ public class VideoplayerActivity extends MediaplayerActivity {
|
|||||||
progressIndicator.setVisibility(View.INVISIBLE);
|
progressIndicator.setVisibility(View.INVISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
View.OnTouchListener onVideoviewTouched = new View.OnTouchListener() {
|
View.OnTouchListener onVideoviewTouched = (v, event) -> {
|
||||||
|
if (event.getAction() == MotionEvent.ACTION_DOWN) {
|
||||||
@Override
|
videoControlsHider.stop();
|
||||||
public boolean onTouch(View v, MotionEvent event) {
|
toggleVideoControlsVisibility();
|
||||||
if (event.getAction() == MotionEvent.ACTION_DOWN) {
|
if (videoControlsShowing) {
|
||||||
if (videoControlsToggler != null) {
|
setupVideoControlsToggler();
|
||||||
videoControlsToggler.cancel(true);
|
|
||||||
}
|
|
||||||
toggleVideoControlsVisibility();
|
|
||||||
if (videoControlsShowing) {
|
|
||||||
setupVideoControlsToggler();
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@SuppressLint("NewApi")
|
@SuppressLint("NewApi")
|
||||||
void setupVideoControlsToggler() {
|
void setupVideoControlsToggler() {
|
||||||
if (videoControlsToggler != null) {
|
videoControlsHider.stop();
|
||||||
videoControlsToggler.cancel(true);
|
videoControlsHider.start();
|
||||||
}
|
|
||||||
videoControlsToggler = new VideoControlsHider();
|
|
||||||
if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD_MR1) {
|
|
||||||
videoControlsToggler
|
|
||||||
.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
|
||||||
} else {
|
|
||||||
videoControlsToggler.execute();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void toggleVideoControlsVisibility() {
|
private void toggleVideoControlsVisibility() {
|
||||||
@ -209,46 +194,6 @@ public class VideoplayerActivity extends MediaplayerActivity {
|
|||||||
videoControlsShowing = !videoControlsShowing;
|
videoControlsShowing = !videoControlsShowing;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Hides the videocontrols after a certain period of time.
|
|
||||||
*/
|
|
||||||
public class VideoControlsHider extends AsyncTask<Void, Void, Void> {
|
|
||||||
@Override
|
|
||||||
protected void onCancelled() {
|
|
||||||
videoControlsToggler = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onPostExecute(Void result) {
|
|
||||||
videoControlsToggler = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static final int WAITING_INTERVALL = 5000;
|
|
||||||
private static final String TAG = "VideoControlsToggler";
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onProgressUpdate(Void... values) {
|
|
||||||
if (videoControlsShowing) {
|
|
||||||
if (BuildConfig.DEBUG)
|
|
||||||
Log.d(TAG, "Hiding video controls");
|
|
||||||
getSupportActionBar().hide();
|
|
||||||
hideVideoControls();
|
|
||||||
videoControlsShowing = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected Void doInBackground(Void... params) {
|
|
||||||
try {
|
|
||||||
Thread.sleep(WAITING_INTERVALL);
|
|
||||||
} catch (InterruptedException e) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
publishProgress();
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private final SurfaceHolder.Callback surfaceHolderCallback = new SurfaceHolder.Callback() {
|
private final SurfaceHolder.Callback surfaceHolderCallback = new SurfaceHolder.Callback() {
|
||||||
@Override
|
@Override
|
||||||
@ -259,15 +204,13 @@ public class VideoplayerActivity extends MediaplayerActivity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void surfaceCreated(SurfaceHolder holder) {
|
public void surfaceCreated(SurfaceHolder holder) {
|
||||||
if (BuildConfig.DEBUG)
|
Log.d(TAG, "Videoview holder created");
|
||||||
Log.d(TAG, "Videoview holder created");
|
|
||||||
videoSurfaceCreated = true;
|
videoSurfaceCreated = true;
|
||||||
if (controller.getStatus() == PlayerStatus.PLAYING) {
|
if (controller.getStatus() == PlayerStatus.PLAYING) {
|
||||||
if (controller.serviceAvailable()) {
|
if (controller.serviceAvailable()) {
|
||||||
controller.setVideoSurface(holder);
|
controller.setVideoSurface(holder);
|
||||||
} else {
|
} else {
|
||||||
Log.e(TAG,
|
Log.e(TAG, "Could'nt attach surface to mediaplayer - reference to service was null");
|
||||||
"Could'nt attach surface to mediaplayer - reference to service was null");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -275,8 +218,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void surfaceDestroyed(SurfaceHolder holder) {
|
public void surfaceDestroyed(SurfaceHolder holder) {
|
||||||
if (BuildConfig.DEBUG)
|
Log.d(TAG, "Videosurface was destroyed");
|
||||||
Log.d(TAG, "Videosurface was destroyed");
|
|
||||||
videoSurfaceCreated = false;
|
videoSurfaceCreated = false;
|
||||||
controller.notifyVideoSurfaceAbandoned();
|
controller.notifyVideoSurfaceAbandoned();
|
||||||
}
|
}
|
||||||
@ -286,9 +228,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
|
|||||||
@Override
|
@Override
|
||||||
protected void onReloadNotification(int notificationCode) {
|
protected void onReloadNotification(int notificationCode) {
|
||||||
if (notificationCode == PlaybackService.EXTRA_CODE_AUDIO) {
|
if (notificationCode == PlaybackService.EXTRA_CODE_AUDIO) {
|
||||||
if (BuildConfig.DEBUG)
|
Log.d(TAG, "ReloadNotification received, switching to Audioplayer now");
|
||||||
Log.d(TAG,
|
|
||||||
"ReloadNotification received, switching to Audioplayer now");
|
|
||||||
finish();
|
finish();
|
||||||
startActivity(new Intent(this, AudioplayerActivity.class));
|
startActivity(new Intent(this, AudioplayerActivity.class));
|
||||||
}
|
}
|
||||||
@ -297,9 +237,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
|
|||||||
@Override
|
@Override
|
||||||
public void onStartTrackingTouch(SeekBar seekBar) {
|
public void onStartTrackingTouch(SeekBar seekBar) {
|
||||||
super.onStartTrackingTouch(seekBar);
|
super.onStartTrackingTouch(seekBar);
|
||||||
if (videoControlsToggler != null) {
|
videoControlsHider.stop();
|
||||||
videoControlsToggler.cancel(true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -356,7 +294,6 @@ public class VideoplayerActivity extends MediaplayerActivity {
|
|||||||
return R.layout.videoplayer_activity;
|
return R.layout.videoplayer_activity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void setScreenOn(boolean enable) {
|
protected void setScreenOn(boolean enable) {
|
||||||
super.setScreenOn(enable);
|
super.setScreenOn(enable);
|
||||||
@ -366,4 +303,38 @@ public class VideoplayerActivity extends MediaplayerActivity {
|
|||||||
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
|
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static class VideoControlsHider extends Handler {
|
||||||
|
|
||||||
|
private static final int DELAY = 5000;
|
||||||
|
|
||||||
|
private WeakReference<VideoplayerActivity> activity;
|
||||||
|
|
||||||
|
public VideoControlsHider(VideoplayerActivity activity) {
|
||||||
|
this.activity = new WeakReference<>(activity);
|
||||||
|
}
|
||||||
|
|
||||||
|
private final Runnable hideVideoControls = () -> {
|
||||||
|
VideoplayerActivity vpa = activity.get();
|
||||||
|
if(vpa == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (vpa.videoControlsShowing) {
|
||||||
|
Log.d(TAG, "Hiding video controls");
|
||||||
|
vpa.getSupportActionBar().hide();
|
||||||
|
vpa.hideVideoControls();
|
||||||
|
vpa.videoControlsShowing = false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public void start() {
|
||||||
|
this.postDelayed(hideVideoControls, DELAY);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void stop() {
|
||||||
|
this.removeCallbacks(hideVideoControls);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -77,7 +77,9 @@
|
|||||||
android:layout_toLeftOf="@+id/txtvLength"
|
android:layout_toLeftOf="@+id/txtvLength"
|
||||||
android:layout_toRightOf="@+id/txtvPosition"
|
android:layout_toRightOf="@+id/txtvPosition"
|
||||||
android:max="500" />
|
android:max="500" />
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
@ -18,7 +18,6 @@ import android.text.TextUtils;
|
|||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.util.Pair;
|
import android.util.Pair;
|
||||||
import android.view.SurfaceHolder;
|
import android.view.SurfaceHolder;
|
||||||
import android.view.View;
|
|
||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
import android.widget.ImageButton;
|
import android.widget.ImageButton;
|
||||||
import android.widget.SeekBar;
|
import android.widget.SeekBar;
|
||||||
@ -78,18 +77,18 @@ public abstract class PlaybackController {
|
|||||||
this.activity = activity;
|
this.activity = activity;
|
||||||
this.reinitOnPause = reinitOnPause;
|
this.reinitOnPause = reinitOnPause;
|
||||||
schedExecutor = new ScheduledThreadPoolExecutor(SCHED_EX_POOLSIZE,
|
schedExecutor = new ScheduledThreadPoolExecutor(SCHED_EX_POOLSIZE,
|
||||||
r -> {
|
r -> {
|
||||||
Thread t = new Thread(r);
|
Thread t = new Thread(r);
|
||||||
t.setPriority(Thread.MIN_PRIORITY);
|
t.setPriority(Thread.MIN_PRIORITY);
|
||||||
return t;
|
return t;
|
||||||
}, new RejectedExecutionHandler() {
|
}, new RejectedExecutionHandler() {
|
||||||
@Override
|
@Override
|
||||||
public void rejectedExecution(Runnable r,
|
public void rejectedExecution(Runnable r,
|
||||||
ThreadPoolExecutor executor) {
|
ThreadPoolExecutor executor) {
|
||||||
Log.w(TAG,
|
Log.w(TAG,
|
||||||
"Rejected execution of runnable in schedExecutor");
|
"Rejected execution of runnable in schedExecutor");
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -415,7 +414,6 @@ public abstract class PlaybackController {
|
|||||||
|
|
||||||
Log.d(TAG, "status: " + status.toString());
|
Log.d(TAG, "status: " + status.toString());
|
||||||
switch (status) {
|
switch (status) {
|
||||||
|
|
||||||
case ERROR:
|
case ERROR:
|
||||||
postStatusMsg(R.string.player_error_msg);
|
postStatusMsg(R.string.player_error_msg);
|
||||||
handleError(MediaPlayer.MEDIA_ERROR_UNKNOWN);
|
handleError(MediaPlayer.MEDIA_ERROR_UNKNOWN);
|
||||||
@ -575,37 +573,32 @@ public abstract class PlaybackController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public OnClickListener newOnPlayButtonClickListener() {
|
public OnClickListener newOnPlayButtonClickListener() {
|
||||||
return new OnClickListener() {
|
return v -> {
|
||||||
@Override
|
if (playbackService == null) {
|
||||||
public void onClick(View v) {
|
Log.w(TAG, "Play/Pause button was pressed, but playbackservice was null!");
|
||||||
if (playbackService != null) {
|
return;
|
||||||
switch (status) {
|
}
|
||||||
case PLAYING:
|
switch (status) {
|
||||||
playbackService.pause(true, reinitOnPause);
|
case PLAYING:
|
||||||
break;
|
playbackService.pause(true, reinitOnPause);
|
||||||
case PAUSED:
|
break;
|
||||||
case PREPARED:
|
case PAUSED:
|
||||||
playbackService.resume();
|
case PREPARED:
|
||||||
break;
|
playbackService.resume();
|
||||||
case PREPARING:
|
break;
|
||||||
playbackService.setStartWhenPrepared(!playbackService
|
case PREPARING:
|
||||||
.isStartWhenPrepared());
|
playbackService.setStartWhenPrepared(!playbackService
|
||||||
if (reinitOnPause
|
.isStartWhenPrepared());
|
||||||
&& playbackService.isStartWhenPrepared() == false) {
|
if (reinitOnPause
|
||||||
playbackService.reinit();
|
&& playbackService.isStartWhenPrepared() == false) {
|
||||||
}
|
playbackService.reinit();
|
||||||
break;
|
}
|
||||||
case INITIALIZED:
|
break;
|
||||||
playbackService.setStartWhenPrepared(true);
|
case INITIALIZED:
|
||||||
playbackService.prepare();
|
playbackService.setStartWhenPrepared(true);
|
||||||
break;
|
playbackService.prepare();
|
||||||
}
|
break;
|
||||||
} else {
|
|
||||||
Log.w(TAG,
|
|
||||||
"Play/Pause button was pressed, but playbackservice was null!");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user