package com.iwedia.gui.callbacks;
import android.os.Handler;
import android.os.Message;
import android.os.RemoteException;
import android.util.Log;
import com.iwedia.comm.IDlnaCallback;
import com.iwedia.gui.MainActivity;
public class DLNACallBack extends IDlnaCallback.Stub {
private static final String TAG = "DLNACallBack";
/** Messages */
private static final int HBB_DIALOG = 0;
/** Instance of MainActivity */
private MainActivity mActivity = null;
/** Instance of CallBack Handler. */
private CallBackHandler mCallBackHandler = null;
/** Handler */
private Handler mHandler = null;
public DLNACallBack(CallBackHandler callBackHandler, MainActivity activity) {
mCallBackHandler = callBackHandler;
mActivity = activity;
initializeHandler();
}
@Override
public void dlnaPauseRendererEvent() throws RemoteException {
Log.i(TAG, "dlnaPauseRendererEvent");
mActivity.getRendererController().pause();
}
@Override
public void dlnaResumeRendererEvent() throws RemoteException {
Log.i(TAG, "dlnaResumeRendererEvent");
mActivity.getRendererController().resume();
}
@Override
public void dlnaStopRendererEvent() throws RemoteException {
Log.i(TAG, "dlnaStopRendererEvent");
mActivity.getRendererController().stop();
}
@Override
public void dlnaPositionRendererEvent() throws RemoteException {
Log.i(TAG, "dlnaPositionRendererEvent");
mActivity.getRendererController().setElapsedTime();
}
@Override
public void dlnaSeekToRendererEvent(int milliseconds)
throws RemoteException {
Log.i(TAG, "dlnaSeekToRendererEvent");
mActivity.getRendererController().seekTo(milliseconds);
}
@Override
public void dlnaPlayRendererEvent(String uri, String friendlyName,
String mime) throws RemoteException {
Log.i(TAG, "dlnaPlayRendererEvent");
Message.obtain(mHandler, HBB_DIALOG);
mActivity.getRendererController().play(uri, friendlyName, mime);
}
private void initializeHandler() {
mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case HBB_DIALOG: {
if (0 != (MainActivity.getKeySet())) {
final int command = 0;
final String param = "EXIT";
try {
if (MainActivity.service.getHbbTvControl()
.notifyAppMngr(command, param)) {
MainActivity.webDialog.getHbbTVView()
.setAlpha((float) 0.00);
MainActivity.setKeySet(0);
}
} catch (RemoteException e) {
e.printStackTrace();
}
}
break;
}
default: {
break;
}
}
}
};
}
}