public void open(final long[] list,final int position){
  launchPlayerActivity=true;
synchronized (this) {
    if (mShuffleMode == SHUFFLE_AUTO) {
      mShuffleMode=SHUFFLE_NORMAL;
    }
    final long oldId=getAudioId();
    final int listlength=list.length;
    boolean newlist=true;
    if (mPlayListLen == listlength) {
      newlist=false;
      for (int i=0; i < listlength; i++) {
        if (list[i] != mPlayList[i]) {
          newlist=true;
          break;
        }
      }
    }
    if (newlist) {
      addToPlayList(list,-1);
      notifyChange(QUEUE_CHANGED);
    }
    if (position >= 0) {
      mPlayPos=position;
    }
 else {
      mPlayPos=mShuffler.nextInt(mPlayListLen);
    }
    mHistory.clear();
    openCurrentAndNext();
    if (oldId != getAudioId()) {
      notifyChange(META_CHANGED);
    }
  }
}

public void open ( final long [ ] list , final int position ) { launchPlayerActivity = true ; synchronized ( this ) { if ( mShuffleMode == SHUFFLE_AUTO ) { mShuffleMode = SHUFFLE_NORMAL ; } final long oldId = getAudioId ( ) ; final int listlength = list . length ; boolean newlist = true ; if ( mPlayListLen == listlength ) { newlist = false ; for ( int i = 0 ; i < listlength ; i ++ ) { if ( list [ i ] != mPlayList [ i ] ) { newlist = true ; break ; } } } if ( newlist ) { addToPlayList ( list , - 1 ) ; notifyChange ( QUEUE_CHANGED ) ; } if ( position >= 0 ) { mPlayPos = position ; } else { mPlayPos = mShuffler . nextInt ( mPlayListLen ) ; } mHistory . clear ( ) ; openCurrentAndNext ( ) ; if ( oldId != getAudioId ( ) ) { notifyChange ( META_CHANGED ) ; } } }
opens a list for playback
