package com.iwedia.service.system;
import android.os.RemoteException;
import android.util.Log;
import com.iwedia.comm.system.IPictureSettings;
import com.iwedia.dtv.picture.FilmModeDetection;
import com.iwedia.dtv.picture.PictureFineMotionMode;
import com.iwedia.dtv.picture.PictureMode;
import com.iwedia.dtv.picture.PictureNoiseReductionMode;
import com.iwedia.dtv.types.AspectRatioMode;
import com.iwedia.service.IWEDIAService;
/**
* MW picture settings.
*
* @author Marko Zivanovic
*/
public class PictureSettings extends IPictureSettings.Stub {
private static final boolean DEBUG = true;
private static final String LOG_TAG = "PictureSettings";
/**
* Return active picture mode.
*/
@Override
public int getActivePictureMode() throws RemoteException {
if (DEBUG) {
Log.e(LOG_TAG, "getActivePictureMode");
}
return IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.getPictureMode(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute()).getValue();
}
/**
* Sets active picture mode.
*/
@Override
public void setActivePictureMode(int pictureMode) throws RemoteException {
IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.setPictureMode(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute(),
PictureMode.values()[pictureMode]);
}
/**
* Returns active aspect ratio.
*/
@Override
public AspectRatioMode getAspectRatioMode() throws RemoteException {
if (DEBUG) {
Log.e(LOG_TAG, "getAspectRatioMode");
}
return IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.getAspectRatioMode(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute());
}
/**
* Sets active aspect ratio.
*
* @param aspectRatio
* enums {@link com.iwedia.comm.enums.AspectRatio}
*/
@Override
public void setAspectRatioMode(AspectRatioMode aspectRatioMode)
throws RemoteException {
if (DEBUG)
Log.e(LOG_TAG,
"setActiveAspectRatio (" + aspectRatioMode.getValue() + ")");
IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.setAspectRatioMode(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute(), aspectRatioMode);
}
/**
* Returns active color temperature.
*/
@Override
public int getActiveColorTemperature() throws RemoteException {
if (DEBUG) {
Log.e(LOG_TAG, "getActiveColorTemperature");
}
return IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.getColor(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute());
}
/**
* Sets active color temperature.
*/
@Override
public void setActiveColorTemperature(int colorTemperature)
throws RemoteException {
if (DEBUG)
Log.e(LOG_TAG, "setActiveColorTemperature (" + colorTemperature
+ ")");
IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.setColor(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute(), colorTemperature);
}
/**
* Gets active noise reduction.
*/
@Override
public int getActiveNoiseReduction() throws RemoteException {
return IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.getNoiseReductionMode(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute()).getValue();
}
/**
* Sets active noise reduction.
*/
@Override
public void setActiveNoiseReduction(int noiseReduction)
throws RemoteException {
IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.setNoiseReductionMode(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute(),
PictureNoiseReductionMode.values()[noiseReduction]);
}
/**
* Gets active film mode.
*/
@Override
public int getActiveFilmMode() throws RemoteException {
return IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.getFilmMode(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute()).getValue();
}
/**
* Sets active film mode.
*/
@Override
public void setActiveFilmMode(int filmMode) throws RemoteException {
IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.setFilmMode(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute(),
FilmModeDetection.values()[filmMode]);
}
/**
* Gets active fine motion.
*/
@Override
public int getActiveFineMotion() throws RemoteException {
return IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.getFineMotionMode(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute()).getValue();
}
/**
* Sets active fine mode.
*/
@Override
public void setActiveFineMode(int fineMode) throws RemoteException {
IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.setFineMotionMode(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute(),
PictureFineMotionMode.values()[fineMode]);
}
/**
* Returns active theme.
*/
@Override
public String getActiveTheme() throws RemoteException {
// TODO Auto-generated method stub
return null;
}
/**
* Sets active theme.
*/
@Override
public void setActiveTheme(String theme) throws RemoteException {
// TODO Auto-generated method stub
}
/**
* Returns sharpness.
*/
@Override
public int getSharpness() throws RemoteException {
return IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.getSharpness(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute());
}
/**
* Sets sharpness.
*/
@Override
public void setSharpness(double sharpness) throws RemoteException {
IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.setSharpness(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute(), (int) sharpness);
}
/**
* Returns dynamic backlight.
*/
@Override
public boolean isDynamicBacklight() throws RemoteException {
return IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.getDynamicBacklight(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute());
}
/**
* Sets dynamic backlight.
*/
@Override
public void setDynamicBacklight(boolean dynamicBacklight)
throws RemoteException {
IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.setDynamicBacklight(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute(), dynamicBacklight);
}
/**
* Returns hue.
*/
@Override
public int getHue() throws RemoteException {
return IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.getHue(IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute());
}
/**
* Returns saturation.
*/
@Override
public int getSaturation() throws RemoteException {
return IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.getSaturation(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute());
}
/**
* Sets brightness.
*/
@Override
public void setBrightness(int arg0) throws RemoteException {
IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.setBrightness(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute(), arg0);
}
/**
* Sets color.
*/
@Override
public void setColor(int arg0) throws RemoteException {
// TODO Auto-generated method stub
}
/**
* Sets contrast.
*/
@Override
public void setContrast(int arg0) throws RemoteException {
IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.setContrast(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute(), arg0);
}
/**
* Sets hue.
*/
@Override
public void setHue(int arg0) throws RemoteException {
IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.setHue(IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute(), arg0);
}
/**
* sets saturation.
*/
@Override
public void setSaturation(int arg0) throws RemoteException {
IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.setSaturation(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute(), arg0);
}
/**
* Sets backlight.
*/
@Override
public void setsBacklight(int arg0) throws RemoteException {
IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.setBackLight(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute(), arg0);
}
/**
* Returns backlight.
*/
@Override
public int getBacklight() throws RemoteException {
return IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.getBackLight(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute());
}
/**
* Returns brightness.
*/
@Override
public int getBrightness() throws RemoteException {
return IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.getBrightness(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute());
}
/**
* Returns color.
*/
@Override
public int getColor() throws RemoteException {
return IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.getColor(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute());
}
/**
* Returns contrast.
*/
@Override
public int getContrast() throws RemoteException {
return IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.getContrast(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute());
}
/**
* Sets all parameters to default values.
*/
@Override
public void setPictureMenuDefaultSettings() throws RemoteException {
IWEDIAService
.getInstance()
.getDTVManager()
.getPictureControl()
.setPictureMenuDefaultSettings(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentLiveRoute());
}
}