// ICustomerApi.aidl
package com.tcl.customerapi;

import com.tcl.customerapi.ICallBack;
import com.tcl.customerapi.IAppObserver;
import com.tcl.customerapi.IOTAProgressListener;

// Declare any non-default types here with import statements

interface ICustomerApi {
	String getCurrentInputSource() ;
	void setCurrentInputSource(String value);

	int  getCurrentTVChannel();
	void  setCurrentTVChannel(int value);

	boolean scaleWindow(int x,int y,int w,int h);

	void setPowerOnTVChannel( int value);
	int getPowerOnTVChannel();

	void setPowerOnInputSource( String value);
	String  getPowerOnInputSource();

	void setPowerOnVolume(int value);
	int  getPowerOnVolume();

	void setFastboot(int value);
	int getFastboot();

	void setKeylock( boolean value);
	boolean getKeylock();

	int getBrightness();
	void setBrightness(int value);

	int getBacklight();
	void setBacklight(int value);

	int getContrast();
	void setContrast(int value);

	void setCec(boolean value);
	boolean getCec();

	void setPowerOnPicture(String value);
	void setPowerOnBootanimation(String value);
	void setPowerOnVideo(String value);
	void setDefaultDisplay(boolean value);
	boolean getDefaultDisplay();


	void powerOffSystem();
	void rebootSystem();
	void setPowerOnMode(String value);
	String getPowerOnMode();

	void channelBackup(String value);
	void channelRestore(String value);

	int getPowerPM();
	void setPowerPM(int value);

	int getLed();
	void setLed(int value);

	boolean getUart();
	void setUart(boolean value);

	int getMaxVolume();
	void setMaxVolume(int value);

	String getMac();
	void setMac(int arg1,int arg2,int arg3,int arg4,int arg5,int arg6);

	boolean getAutoRedirectionStatus();
	void setAutoRedirectionStatus(boolean value);

	String getAutoRedirectionApp();
	void setAutoRedirectionApp(String value);

	int getAutoRedirectionTime();
	void setAutoRedirectionTime(int value);



	void setTrace(boolean value);
	boolean getTrace();

	void setMemoryClean(int value);
	int getMemoryClean();

	void setCamera(boolean value);
	boolean getCamera();

	void setCameraTime(int value);
	int getCameraTime();

	void setCameraPosit(int value);
	int getCameraPosit();

	void setCameraSize(int value);
	int getCameraSize();

	int getHotelMode();
	void setHotelMode(int value);

	void setLauncher(String value);
	String getLauncher();

	void setRoom(String value);
	String getRoom();

	void setHotelId(String value);
	String getHotelId();

	void setTVSource(String value);
	String getTVSource();

	void setServiceIp(String value);
	String getServiceIp();

	void setPort(int value);
	int getPort();

	void setLogin(String value);
	String getLogin();

	void setRegister();

	void setURL(String value);
	String getURL();

	void setUrlDuration(int value);
	int getUrlDuration();

	String getSoftwareVersion();

	void setFactroyInit(boolean value);
	boolean getFactroyInit();

	void setCallBack(ICallBack value);

	void setDefaultLogoBootanimation();

	boolean getScreenStatus();

	void simulateKeyboard(int keyCode);

    List<String> getChannelListStr();

    boolean takeScreenshot(String path);

    boolean getAudioMuteStatus();
    void setAudioMuteStatus(boolean status);

    int getAudioVolumeValue();
    void setAudioVolumeValue(int value);

    void setPictureFormatValue(int mode);
    int getPictureFormatValue();

	boolean channelData2System(String path);

	boolean setPowerOnDisplay(int index, String path);

	int getChannelSize(String type);

	String getDeviceID();

	boolean setPowerOnAdbootanimation(String path);
	boolean setPowerOnAnimtemplet(String path);
	boolean setHotelData(String value);
	String getHotelData();
	boolean setSystemLogo();
	boolean setSystemBootanimation();
	int getPowerOnLogoStatus();
	int getPowerOnBootanimation();
	String getUSBMountPath();
	boolean isBootCompleted();
	boolean bootResourse2USB();
	void syncNetTime();
	void clearPatchBootanimation();
	void activeKeyByKeycode(boolean enable,int key);
	String getModelName();
	String getClientType();
	int getProjectID();
	void setTvReturnKeyEnable(boolean enable);
	boolean getTvReturnKeyEnable();
    String[] getLaunchersList();
    boolean setScreenDisplay(boolean value);

    boolean installPackage(String path ,IAppObserver observer);
    boolean uninstallPackage(String packageName,  IAppObserver observer);
	boolean setScreenOrientation(int value);
	boolean verifyOTA(String path,IOTAProgressListener listener);
	boolean installOTA(String path);
	String getOtaVersion();
	void setProjectId(String password,int projectId);

	int getPictureProportion();

	String getUSBPermit();
	void setUSBPermit(boolean value);

	int getGraphicBacklight();
	void setGraphicBacklight(int value);

	boolean setRtcWakeup(int year, int month, int day, int week, int hour,int minute, int second);
	boolean setRtcTime(int year, int month, int day, int week, int hour,int minute, int second);
	void disableRtcWakeup();
	double getAlarmTime();

	boolean sourceDetect(String sourceName);
	boolean setAutoSelect(int value);
	int getAutoSelect();
	double getRTCSysTime();
	boolean setGPIO(int index, int value);

	void activeKeyByKeycodeList(boolean enable,inout List<String> key,String className,String packageName);
}
