package com.samsung.tizen.sensor.light.page;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Slider;
import org.eclipse.swt.widgets.Text;
import com.samsung.tizen.common.connection.ConnectionPlugin;
import com.samsung.tizen.common.connection.ConnectionPlugin.ISelectionListener;
+import com.samsung.tizen.common.util.DialogUtil;
import com.samsung.tizen.sdblib.FileListingService.FileEntry;
import com.samsung.tizen.sdblib.IDevice;
import com.samsung.tizen.injector.protocol.sensor.TestSensorMessage;
public class LightPage extends AbstractInjectorPage implements ISelectionListener {
private Text sliderText;
+ private Text luxText;
+ private Button injectLux;
private Slider slider;
private final String sensorNumber = "3\n";
private final String lightLevel = "Level";
- private int sendData;
+ private int luxData = 65535, levelData;
private IDevice currentDevice;
public LightPage(AbstractInjectorItem item, String name) {
super(item, name);
}
+ public static boolean checkNumberFormat(String noStr) {
+ Pattern luxPattern = Pattern.compile( "[^0-9]");
+ Matcher matcher = luxPattern.matcher(noStr);
+ return matcher.find();
+ }
+
@Override
protected void createContents() {
ConnectionPlugin.getDefault().addSelectionListener(this);
currentDevice = ConnectionPlugin.getDefault().getCurrentDevice();
- Composite mainComposite = formUtil.createComposite(parent, 3);
+ Composite mainComposite = formUtil.createComposite(parent, 3);
formUtil.createLabel(mainComposite, lightLevel);
slider = formUtil.createSlider(mainComposite, SWT.HORIZONTAL);
slider.setValues(10, 1, 11, 1, 1, 1);
GridData gd = new GridData(GridData.BEGINNING, GridData.CENTER, false, false);
gd.widthHint = 20;
sliderText.setLayoutData(gd);
- sendData = slider.getSelection();
- sendMessage(sendData);
+ levelData = slider.getSelection();
slider.addSelectionListener(new SelectionListener() {
@Override
public void widgetDefaultSelected(SelectionEvent e) {
}
@Override
public void widgetSelected(SelectionEvent e) {
- sendData = slider.getSelection();
- sliderText.setText(Integer.toString(sendData));
- sendMessage(sendData);
+ levelData = slider.getSelection();
+ sliderText.setText(Integer.toString(levelData));
+ sendMessage(1, levelData);
}
});
+
+ Composite mainComposite2 = formUtil.createComposite(parent, 100);
+ formUtil.createLabel(mainComposite2, "Lux ");
+ luxText = formUtil.createText(mainComposite2, "");
+ luxText.setTextLimit(5);
+ Composite buttonComposite = formUtil.createComposite(mainComposite2);
+ injectLux = formUtil.createButton(buttonComposite, "Inject", SWT.PUSH);
+ injectLux.addSelectionListener(new SelectionAdapter(){
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ String number = luxText.getText().trim();
+ if(number==null||number.length()==0)
+ return;
+
+ if(checkNumberFormat(number) || Double.parseDouble(number) <= 0 || Double.parseDouble(number) > 65535)
+ {
+ DialogUtil.openMessageDialog("Please enter the correct value.\nLux can be entered in the range of 1 to 65535.");
+ return;
+ }
+ luxData = Integer.parseInt(number);
+ sendMessage(2, luxData);
+ }
+ });
+
boolean connected = checkDeviceConnectedAlready();
if (connected == true) {
connect();
// TODO Auto-generated method stub
}
- public void sendMessage(int level) {
- TestSensorMessage msg = new TestSensorMessage(level);
+
+ public void sendMessage(int label, int data) {
+ TestSensorMessage msg = new TestSensorMessage(label, data);
try {
// sensorSocket.send(sensorNumber + msg.getMessage());
injectorSocket.sendSensor(sensorNumber + msg.getMessage());
disconnect();
connect();
}
+ sendMessage(1, levelData);
+ sendMessage(2, luxData);
}
}
+
package com.samsung.tizen.sensor.proximity.page;
-import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Slider;
+import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.SWT;
import com.samsung.tizen.common.connection.ConnectionPlugin;
import com.samsung.tizen.injector.provider.AbstractInjectorPage;
public class ProximityPage extends AbstractInjectorPage implements ISelectionListener {
-
- private Button radioButton[];
+ private Text sliderText;
+ private Slider slider;
private final String sensorNumber = "2\n";
+ private final String proxiDistance = "Distance";
+ private int sendData;
private IDevice currentDevice = null;
public ProximityPage(AbstractInjectorItem item, String name) {
ConnectionPlugin.getDefault().addSelectionListener(this);
currentDevice = ConnectionPlugin.getDefault().getCurrentDevice();
- Composite mainComposite = formUtil.createComposite(parent, 5);
- radioButton = new Button[2];
- radioButton[0] = formUtil.createButton(mainComposite, ProximityConstants.ON, SWT.RADIO);
- radioButton[1] = formUtil.createButton(mainComposite, ProximityConstants.OFF, SWT.RADIO);
- radioButton[1].setSelection(true);
- for( int i = 0 ; i < radioButton.length ; i++ ) {
- if(radioButton[i].getSelection()) {
- if( i == 0 ) { // On
- sendMessage(1);
- }
- else { // Off
- sendMessage(0);
- }
+ Composite mainComposite = formUtil.createComposite(parent, 3);
+ formUtil.createLabel(mainComposite, proxiDistance);
+ slider = formUtil.createSlider(mainComposite, SWT.HORIZONTAL);
+ slider.setValues(0, 0, 9, 1, 1, 1);
+ slider.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
+ sliderText = formUtil.createText(mainComposite, Integer.toString(slider.getSelection()));
+ sliderText.setEditable(false);
+ GridData gd = new GridData(GridData.BEGINNING, GridData.CENTER, false, false);
+ gd.widthHint = 20;
+ sliderText.setLayoutData(gd);
+ sendData = slider.getSelection();
+ sendMessage(sendData);
+ slider.addSelectionListener(new SelectionListener() {
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e) {
+ // TODO Auto-generated method stub
}
- }
- radioButton[0].addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
- for( int i = 0 ; i < radioButton.length ; i++ ) {
- if(radioButton[i].getSelection()) {
- if( i == 0 ) { // On
- sendMessage(1);
- }
- else { // Off
- sendMessage(0);
- }
- }
- super.widgetSelected(e);
- }
+ sendData = slider.getSelection();
+ sliderText.setText(Integer.toString(sendData));
+ sendMessage(sendData);
}
});
-
+
boolean connected = checkDeviceConnectedAlready();
if (connected == true) {
connect();
}
- public void sendMessage(int on) {
- TestSensorMessage msg = new TestSensorMessage(on);
+ public void sendMessage(int distance) {
+ TestSensorMessage msg = new TestSensorMessage(distance);
try {
// sensorSocket.send(sensorNumber + msg.getMessage());
injectorSocket.sendSensor(sensorNumber + msg.getMessage());
}
}
}
+