protected boolean handleRemoteAction(String action,Bundle extras){
  if (action == null || action.isEmpty()) {
    return false;
  }
switch (action) {
case RemoteActions.ACTION_PLAY_PAUSE:
    performPlayPause();
  break;
case RemoteActions.ACTION_NEXT:
performNext();
break;
case RemoteActions.ACTION_PREVIOUS:
performPrevious();
break;
case RemoteActions.ACTION_REPEAT:
performRepeat();
break;
case RemoteActions.ACTION_SHUFFLE:
performShuffle();
break;
case RemoteActions.ACTION_STOP:
performStop();
break;
case RemoteActions.ACTION_SEEK_STARTED:
performSeekStarted();
break;
case RemoteActions.ACTION_SEEK_ENDED:
performSeekEnded(extras.getLong(RemoteActions.ACTION_EXTRA_SEEK_POSITION,0));
break;
case RemoteActions.ACTION_ALLOWED_TYPE_CHANGED:
updateAllowedMediaType(extras.getInt(RemoteActions.ACTION_EXTRA_ALLOWED_TYPE));
break;
default :
return false;
}
return true;
}

protected boolean handleRemoteAction ( String action , Bundle extras ) { if ( action == null || action . isEmpty ( ) ) { return false ; } switch ( action ) { case RemoteActions . ACTION_PLAY_PAUSE : performPlayPause ( ) ; break ; case RemoteActions . ACTION_NEXT : performNext ( ) ; break ; case RemoteActions . ACTION_PREVIOUS : performPrevious ( ) ; break ; case RemoteActions . ACTION_REPEAT : performRepeat ( ) ; break ; case RemoteActions . ACTION_SHUFFLE : performShuffle ( ) ; break ; case RemoteActions . ACTION_STOP : performStop ( ) ; break ; case RemoteActions . ACTION_SEEK_STARTED : performSeekStarted ( ) ; break ; case RemoteActions . ACTION_SEEK_ENDED : performSeekEnded ( extras . getLong ( RemoteActions . ACTION_EXTRA_SEEK_POSITION , 0 ) ) ; break ; case RemoteActions . ACTION_ALLOWED_TYPE_CHANGED : updateAllowedMediaType ( extras . getInt ( RemoteActions . ACTION_EXTRA_ALLOWED_TYPE ) ) ; break ; default : return false ; } return true ; }
handles the remote actions from the big notification and media controls to control the media playback
