package com.joyplus.mediaplayer; import java.util.ArrayList; import java.util.List; import com.joyplus.tvhelper.utils.Log; public class JoyplusMediaPlayerStateTrack { private boolean Debug = false; private String TAG = "JoyplusMediaPlayerStateTrack"; private List<JoyplusMediaPlayerListener> mListenerList=new ArrayList<JoyplusMediaPlayerListener>(); public void registerListener(JoyplusMediaPlayerListener listener){ if(listener != null){ synchronized(mListenerList){ mListenerList.add(listener); } } } public void unregisterListener(JoyplusMediaPlayerListener listener){ if(listener != null){ synchronized(mListenerList){ mListenerList.remove(listener); } } } public void unregisterAllListener(){ synchronized(mListenerList){ mListenerList = new ArrayList<JoyplusMediaPlayerListener>(); } } public void notifyMediaInfo(final MediaInfo info){ if(Debug)Log.d(TAG,"notifyMediaInfo("+info.toString()+")"); synchronized(mListenerList){ new Runnable(){ @Override public void run() { // TODO Auto-generated method stub for(JoyplusMediaPlayerListener listener:mListenerList){ listener.MediaInfo(info); } } }.run(); } } public void notifyMediaCompletion(){ if(Debug)Log.d(TAG,"notifyMediaCompletion()"); synchronized(mListenerList){ new Runnable(){ @Override public void run() { // TODO Auto-generated method stub for(JoyplusMediaPlayerListener listener:mListenerList){ listener.MediaCompletion(); } } }.run(); } } public void notifyMediaError(){ if(Debug)Log.d(TAG,"notifyMediaError()"); synchronized(mListenerList){ new Runnable(){ @Override public void run() { // TODO Auto-generated method stub for(JoyplusMediaPlayerListener listener:mListenerList){ listener.ErrorInfo(); } } }.run(); } } public void NoProcessCommend(final String commend){ if(Debug)Log.d(TAG,"NoProcessCommend("+commend+")"); synchronized(mListenerList){ new Runnable(){ @Override public void run() { // TODO Auto-generated method stub for(JoyplusMediaPlayerListener listener:mListenerList){ listener.NoProcess(commend); } } }.run(); } } }