package com.iwedia.service.hbb;
import android.os.RemoteException;
import com.iwedia.comm.IHbbTvCallback;
import com.iwedia.comm.IHbbTvControl;
import com.iwedia.dtv.types.InternalException;
import com.iwedia.service.IWEDIAService;
import com.iwedia.service.proxyservice.IDTVInterface;
public class HbbTvControl extends IHbbTvControl.Stub implements IDTVInterface {
public static IHbbTvCallback mHbbTVCallback;
@Override
public void setCallbackHbb(IHbbTvCallback hbbCallback)
throws RemoteException {
mHbbTVCallback = hbbCallback;
}
private static com.iwedia.dtv.hbbtv.IHbbTvCallback hbbTvCallback = new com.iwedia.dtv.hbbtv.IHbbTvCallback() {
@Override
public void createApplication(String uri) {
if (mHbbTVCallback != null) {
try {
mHbbTVCallback.createApplication(uri);
} catch (RemoteException e) {
e.printStackTrace();
}
}
}
@Override
public void destroyApplication() {
if (mHbbTVCallback != null) {
try {
mHbbTVCallback.destroyApplication();
} catch (RemoteException e) {
e.printStackTrace();
}
}
}
@Override
public void hideApplication() {
if (mHbbTVCallback != null) {
try {
mHbbTVCallback.hideApplication();
} catch (RemoteException e) {
e.printStackTrace();
}
}
}
@Override
public void setKeyMask(int mask) {
if (mHbbTVCallback != null) {
try {
mHbbTVCallback.setKeyMask(mask);
} catch (RemoteException e) {
e.printStackTrace();
}
}
}
@Override
public void showApplication() {
if (mHbbTVCallback != null) {
try {
mHbbTVCallback.showApplication();
} catch (RemoteException e) {
e.printStackTrace();
}
}
}
};
public static com.iwedia.dtv.hbbtv.IHbbTvCallback getHbbTvCallback() {
return hbbTvCallback;
}
@Override
public void unsetCallbackHbb(IHbbTvCallback arg0) throws RemoteException {
mHbbTVCallback = null;
}
@Override
public boolean isHbbEnabled() throws RemoteException {
return IWEDIAService
.getInstance()
.getDTVManager()
.getHbbTvControl()
.isHbbTvEnabled(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute());
}
@Override
public boolean enableHBB() throws RemoteException {
try {
IWEDIAService
.getInstance()
.getDTVManager()
.getHbbTvControl()
.enableHbbTv(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute());
} catch (InternalException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
@Override
public boolean disableHBB() throws RemoteException {
try {
IWEDIAService
.getInstance()
.getDTVManager()
.getHbbTvControl()
.disableHbbTv(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute());
} catch (InternalException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
@Override
public boolean deselectHBBTVComponent() throws RemoteException {
try {
IWEDIAService
.getInstance()
.getDTVManager()
.getHbbTvControl()
.deselectHbbTvComponent(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute());
} catch (InternalException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
@Override
public boolean isHBBTVComponentSelected() throws RemoteException {
return IWEDIAService
.getInstance()
.getDTVManager()
.getHbbTvControl()
.isHbbTvComponentSelected(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute());
}
@Override
public boolean selectHBBTVComponent() throws RemoteException {
try {
IWEDIAService
.getInstance()
.getDTVManager()
.getHbbTvControl()
.selectHbbTvComponent(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute());
} catch (InternalException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
@Override
public void channelZapping(boolean status) {
// TODO Auto-generated method stub
}
@Override
public boolean notifyAppMngr(int arg0, String arg1) throws RemoteException {
try {
IWEDIAService
.getInstance()
.getDTVManager()
.getHbbTvControl()
.notifyAppMngr(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute(), arg0, arg1);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InternalException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return true;
}
@Override
public int getHbbState() throws RemoteException {
return IWEDIAService.getInstance().getDTVManager().getHbbTvControl()
.getHbbState();
}
}