[Title]modified gui and operation of light and proximity sensor
authorsungmin82.ha <sungmin82.ha@samsung.com>
Thu, 9 Feb 2012 11:24:32 +0000 (20:24 +0900)
committersungmin82.ha <sungmin82.ha@samsung.com>
Thu, 9 Feb 2012 11:25:58 +0000 (20:25 +0900)
[Type]Enhancement
[Module]event injector light, proximity sensor
[Priority]Major
[Jira#] // Jira Issue Number
[Redmine#]  // Redmine Isuue Number
[Problem]  // Problem Description
[Cause]  // Cause Description
[Solution] // Solution Description
[TestCase]  // Executed the test-target (How to)

Change-Id: Icd86df16fe5a3a31daf19a5164df30ea0a9bd8fe

com.samsung.tizen.injector/src/com/samsung/tizen/injector/socket/TelephonySocket.java
com.samsung.tizen.sensor.light/src/com/samsung/tizen/sensor/light/page/LightPage.java
com.samsung.tizen.sensor.proximity/src/com/samsung/tizen/sensor/proximity/page/ProximityPage.java

index 9391c8b..80184e2 100644 (file)
@@ -100,6 +100,7 @@ public class TelephonySocket {
                        currentDevice = ConnectionPlugin.getDefault().getCurrentDevice();
                        if(currentDevice == null)
                                return;
+                       
                        String str_localport = currentDevice.getSerialNumber();
                        port = Integer.parseInt(str_localport.substring(9, str_localport.length())) + 3;
                        socket.connect(new InetSocketAddress(ip, port), 1000);
@@ -216,6 +217,9 @@ public class TelephonySocket {
                boolean result = false;
                try {
                        String str = "telephony\n";
+                       if(output == null)
+                               return result;
+                       
                        output.write(str.getBytes(), 0, str.length());
                        output.flush();
                        
@@ -246,6 +250,9 @@ public class TelephonySocket {
                boolean result = false;
                try {
                        String str = "sensor\n\n\n\n";
+                       if(output == null)
+                               return result;
+                       
                        output.write(str.getBytes(), 0, str.length());
                        output.flush();
                        
@@ -410,3 +417,4 @@ public class TelephonySocket {
                }
        }
 }
+
index 4de6615..b4f7186 100644 (file)
 
 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;
@@ -45,22 +51,30 @@ import com.samsung.tizen.injector.provider.AbstractInjectorPage;
 
 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);
@@ -70,8 +84,7 @@ public class LightPage extends AbstractInjectorPage implements ISelectionListene
                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) {
@@ -79,12 +92,36 @@ public class LightPage extends AbstractInjectorPage implements ISelectionListene
                        }
                        @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();
@@ -103,8 +140,9 @@ public class LightPage extends AbstractInjectorPage implements ISelectionListene
                // 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());
@@ -150,5 +188,8 @@ public class LightPage extends AbstractInjectorPage implements ISelectionListene
                        disconnect();
                        connect();
                }
+               sendMessage(1, levelData);
+               sendMessage(2, luxData);
        }
 }
+
index 67f0290..0e62596 100644 (file)
 
 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;
@@ -43,9 +45,11 @@ import com.samsung.tizen.injector.provider.AbstractInjectorItem;
 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) {
@@ -58,38 +62,31 @@ public class ProximityPage extends AbstractInjectorPage implements ISelectionLis
                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();
@@ -109,8 +106,8 @@ public class ProximityPage extends AbstractInjectorPage implements ISelectionLis
                
        }
 
-       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());
@@ -157,3 +154,4 @@ public class ProximityPage extends AbstractInjectorPage implements ISelectionLis
                }
        }
 }
+