Example #1
0
  private void refreshPodcast() {
    if (_player == null) return;

    PlayerStatus status = PlayerStatus.getCurrentState(this);
    if (!status.hasActivePodcast()) {
      _player.stop();
      return;
    }

    if (status.getPodcastId() != _currentPodcastId) {
      _currentPodcastId = status.getPodcastId();
      if (!_player.prepare(status.getFilename(), status.getPosition())) {
        _player.stop();
        String toastMessage =
            getResources().getString(R.string.cannot_play_podcast, status.getTitle());
        Toast.makeText(this, toastMessage, Toast.LENGTH_LONG).show();
      } else {
        QueueManager.changeActivePodcast(this, status.getPodcastId());
        _lockscreenManager.setupLockscreenControls(this, status);
        showNotification();
      }
    } else {
      _player.seekTo(status.getPosition());
    }
  }
Example #2
0
 private void prepareNextPodcast() {
   PlayerStatus currentState = PlayerStatus.getCurrentState(this);
   if (!currentState.hasActivePodcast()) {
     _player.stop();
   } else {
     _player.prepare(currentState.getFilename(), currentState.getPosition());
     _currentPodcastId = currentState.getPodcastId();
   }
 }
Example #3
0
  @Override
  public int onStartCommand(Intent intent, int flags, int startId) {
    if (intent == null || intent.getExtras() == null) return START_NOT_STICKY;

    if (!intent.getExtras().containsKey(Constants.EXTRA_PLAYER_COMMAND)) return START_NOT_STICKY;

    int pauseReason = intent.getIntExtra(Constants.EXTRA_PLAYER_COMMAND_ARG, -1);

    if (_player == null && intent.getExtras().containsKey(Constants.EXTRA_PLAYER_COMMAND))
      createPlayer();
    switch (intent.getIntExtra(Constants.EXTRA_PLAYER_COMMAND, -1)) {
      case -1:
        break;
      case Constants.PLAYER_COMMAND_PLAYPAUSE:
        _player.playPause(pauseReason);
        break;
      case Constants.PLAYER_COMMAND_PLAYSTOP:
        _player.playStop();
        break;
      case Constants.PLAYER_COMMAND_PLAY:
        _player.play();
        break;
      case Constants.PLAYER_COMMAND_PAUSE:
        _player.pause(pauseReason);
        break;
      case Constants.PLAYER_COMMAND_RESUME:
        _player.unpause(pauseReason);
        break;
      case Constants.PLAYER_COMMAND_STOP:
        _player.stop();
        break;
      case Constants.PLAYER_COMMAND_REFRESHPODCAST:
        refreshPodcast();
        break;
    }

    return START_NOT_STICKY;
  }