[Title] change selection listener
authorjihye kim <jihye1128.kim@samsung.com>
Mon, 9 Apr 2012 09:25:54 +0000 (18:25 +0900)
committerjihye kim <jihye1128.kim@samsung.com>
Mon, 9 Apr 2012 09:25:54 +0000 (18:25 +0900)
[Type] bug fix
[Module] event injector
[Priority] major
[Jira#]
[Redmine#]
[Problem]
[Cause]
[Solution]
[TestCase]

org.tizen.device/META-INF/MANIFEST.MF
org.tizen.device/src/org/tizen/device/battery/page/BatteryPage.java
org.tizen.device/src/org/tizen/device/earjack/page/EarjackPage.java
org.tizen.device/src/org/tizen/device/rssi/page/RssiPage.java
org.tizen.device/src/org/tizen/device/usb/page/UsbPage.java
org.tizen.injector/src/org/tizen/injector/view/InjectorView.java
org.tizen.location.core/src/org/tizen/location/core/injector/LocationInjector.java
org.tizen.nfc/META-INF/MANIFEST.MF
org.tizen.nfc/src/org/tizen/nfc/page/NfcPage.java
org.tizen.sensor.light/META-INF/MANIFEST.MF
org.tizen.sensor.light/src/org/tizen/sensor/light/page/LightPage.java

index 9e0c0d3..98c04be 100644 (file)
@@ -9,6 +9,7 @@ Require-Bundle: org.tizen.injector,
  org.eclipse.swt;bundle-version="3.6.2",
  org.tizen.common,
  org.tizen.common.connection,
- org.eclipse.core.runtime;bundle-version="3.7.0"
+ org.eclipse.core.runtime;bundle-version="3.7.0",
+ org.eclipse.core.commands;bundle-version="3.6.0"
 Import-Package: org.tizen.sdblib,
  org.eclipse.ui.plugin
index 22900cf..72d0c07 100644 (file)
@@ -41,6 +41,7 @@ import org.eclipse.swt.widgets.Text;
 import org.tizen.injector.protocol.sensor.TestSensorMessage;
 import org.tizen.injector.provider.AbstractInjectorItem;
 import org.tizen.injector.provider.AbstractInjectorPage;
+import org.tizen.injector.view.InjectorView;
 import org.tizen.common.connection.ConnectionPlugin;
 import org.tizen.common.connection.ConnectionPlugin.ISelectionListener;
 import org.tizen.common.util.DialogUtil;
@@ -65,7 +66,7 @@ public class BatteryPage extends AbstractInjectorPage implements ISelectionListe
        @Override
        protected void createContents() {
                currentDevice = ConnectionPlugin.getDefault().getCurrentDevice();
-               ConnectionPlugin.getDefault().addSelectionListener(this);
+               InjectorView.getDefault().addSelectionListener(this);
                sensorOn = 0;
                
                Composite mainComposite = formUtil.createComposite(parent, 3);
@@ -125,7 +126,7 @@ public class BatteryPage extends AbstractInjectorPage implements ISelectionListe
                                }
                        }
                }
-               
+
                radioButton[0].addSelectionListener(new SelectionAdapter() {
                        @Override
                        public void widgetSelected(SelectionEvent e) {
index 4e6d726..a079a5d 100644 (file)
@@ -39,6 +39,7 @@ import org.tizen.sdblib.IDevice;
 import org.tizen.injector.protocol.sensor.TestSensorMessage;
 import org.tizen.injector.provider.AbstractInjectorItem;
 import org.tizen.injector.provider.AbstractInjectorPage;
+import org.tizen.injector.view.InjectorView;
 
 public class EarjackPage extends AbstractInjectorPage implements ISelectionListener {
 
@@ -54,7 +55,7 @@ public class EarjackPage extends AbstractInjectorPage implements ISelectionListe
 
        @Override
        protected void createContents() {
-               ConnectionPlugin.getDefault().addSelectionListener(this);
+               InjectorView.getDefault().addSelectionListener(this);
                currentDevice = ConnectionPlugin.getDefault().getCurrentDevice();
                
                Composite mainComposite = formUtil.createComposite(parent, 6);
index b27ddca..aeeed4f 100644 (file)
@@ -43,6 +43,7 @@ import org.tizen.sdblib.IDevice;
 import org.tizen.injector.protocol.sensor.TestSensorMessage;
 import org.tizen.injector.provider.AbstractInjectorItem;
 import org.tizen.injector.provider.AbstractInjectorPage;
+import org.tizen.injector.view.InjectorView;
 
 public class RssiPage extends AbstractInjectorPage implements ISelectionListener {     
        private Text sliderText;
@@ -58,7 +59,7 @@ public class RssiPage extends AbstractInjectorPage implements ISelectionListener
 
        @Override
        protected void createContents() {
-               ConnectionPlugin.getDefault().addSelectionListener(this);
+               InjectorView.getDefault().addSelectionListener(this);
                currentDevice = ConnectionPlugin.getDefault().getCurrentDevice();
                
                Composite mainComposite = formUtil.createComposite(parent, 3);
index 49cd215..66a2624 100644 (file)
@@ -40,6 +40,7 @@ import org.tizen.sdblib.IDevice;
 import org.tizen.injector.protocol.sensor.TestSensorMessage;
 import org.tizen.injector.provider.AbstractInjectorItem;
 import org.tizen.injector.provider.AbstractInjectorPage;
+import org.tizen.injector.view.InjectorView;
 
 public class UsbPage extends AbstractInjectorPage implements ISelectionListener {
 
@@ -55,10 +56,10 @@ public class UsbPage extends AbstractInjectorPage implements ISelectionListener
 
        @Override
        protected void createContents() {
-               ConnectionPlugin.getDefault().addSelectionListener(this);
+               InjectorView.getDefault().addSelectionListener(this);
                currentDevice = ConnectionPlugin.getDefault().getCurrentDevice();
                sensorOn = false;
-       
+
                Composite mainComposite = formUtil.createComposite(parent, 5);
                radioButton = new Button[2];
                radioButton[0] = formUtil.createButton(mainComposite, UsbConstants.inject, SWT.RADIO);
@@ -132,8 +133,11 @@ public class UsbPage extends AbstractInjectorPage implements ISelectionListener
                // TODO Auto-generated method stub
                currentDevice = ConnectionPlugin.getDefault().getCurrentDevice();
                
+               // initialize - USB disconnection
                radioButton[0].setSelection(false);
                radioButton[1].setSelection(true);
+               sensorOn = false;
+               sendMessage(0);
        }
 
 //     @Override
index 5e3dd17..30153a0 100644 (file)
@@ -46,19 +46,16 @@ import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.forms.widgets.Section;\r
 import org.eclipse.ui.part.ViewPart;\r
 import org.eclipse.ui.progress.UIJob;\r
-\r
+import org.tizen.common.connection.ConnectionPlugin;\r
+import org.tizen.common.connection.ConnectionPlugin.ISelectionListener;\r
 import org.tizen.injector.Injector;\r
 import org.tizen.injector.provider.AbstractInjectorItem;\r
-import org.tizen.injector.socket.LocationSocket;\r
-import org.tizen.injector.socket.SensorUDPSocket;\r
 import org.tizen.injector.socket.TelephonySocket;\r
 import org.tizen.injector.sourceProvider.InjectorStateProvider;\r
 import org.tizen.injector.util.FormPageUtil;\r
-import org.tizen.common.connection.ConnectionPlugin;\r
-import org.tizen.common.connection.ConnectionPlugin.ISelectionListener;\r
-import org.tizen.common.util.DialogUtil;\r
 import org.tizen.sdblib.FileListingService.FileEntry;\r
 import org.tizen.sdblib.IDevice;\r
+import org.tizen.sdblib.Log;\r
 \r
 public class InjectorView extends ViewPart implements\r
 ISelectionListener {\r
@@ -83,8 +80,16 @@ ISelectionListener {
        private ArrayList<FormPageUtil> formUtilList = new ArrayList<FormPageUtil>();\r
        private ArrayList<ArrayList<Composite>> compositeArrayList = new ArrayList<ArrayList<Composite>>();\r
 \r
+       private final ArrayList<ISelectionListener> listeners = new ArrayList<ISelectionListener>();\r
+       private static InjectorView view = null;\r
+\r
+       public static InjectorView getDefault() {\r
+               return view;\r
+       }\r
+\r
        @Override\r
        public void createPartControl(Composite parent) {\r
+               view = this;\r
                getCategories();\r
 \r
                TabFolder tabFolder = createTabFolder(parent);\r
@@ -361,30 +366,51 @@ ISelectionListener {
                {\r
                        currentDevice = null;\r
                        disconnect();\r
+                       notifySelectionListeners(selectedEntry);\r
                        return;\r
-               }\r
-               else if (!selectedEntry.getFileListingService().getDevice().isEmulator())\r
+               } else if (!selectedEntry.getFileListingService().getDevice().isEmulator()) {\r
                        return;\r
+               }\r
                \r
                if(currentDevice == null && selectedEntry.getName() != null)\r
                {\r
                        connect();\r
                        currentDevice = ConnectionPlugin.getDefault().getCurrentDevice();\r
-                       return;\r
-               }\r
-\r
-               if (currentDevice.getSerialNumber() != selectedEntry.getName()) {\r
+               } else if (currentDevice.getSerialNumber() != selectedEntry.getName()) {\r
                        disconnect_finished = false;\r
                        disconnect();\r
                        connect();\r
                        currentDevice = ConnectionPlugin.getDefault().getCurrentDevice();\r
-                       return;\r
-               }\r
-               else if(activated == false)\r
+               } else if(activated == false)\r
                {\r
                        connect();\r
                        currentDevice = ConnectionPlugin.getDefault().getCurrentDevice();\r
+               } else if (currentDevice.getSerialNumber() == selectedEntry.getName()) {\r
                        return;\r
                }\r
+\r
+               notifySelectionListeners(selectedEntry);\r
+       }\r
+\r
+       public void addSelectionListener(ISelectionListener listener) {\r
+               listeners.add(listener);\r
+       }\r
+\r
+       public void removeSelectionListener(ISelectionListener listener) {\r
+               listeners.remove(listener);\r
+       }\r
+       \r
+       public void notifySelectionListeners(FileEntry file) {\r
+               \r
+               ISelectionListener[] listenersCopy = listeners.toArray(\r
+                               new ISelectionListener[listeners.size()]);\r
+               \r
+               for (ISelectionListener listener : listenersCopy)       {\r
+                       try {\r
+                               listener.selectionChanged(file);                        \r
+                       } catch (Exception e) {\r
+                               Log.e("ConnectionPlugin", e);\r
+                       }\r
+              }\r
        }\r
 }\r
index 189b35b..49e10a1 100644 (file)
@@ -41,6 +41,7 @@ import org.tizen.sdblib.IDevice;
 import org.tizen.sdblib.SyncService;
 import org.tizen.sdblib.SyncService.SyncResult;
 //import org.tizen.location.core.injector.DebugLog;
+import org.tizen.injector.view.InjectorView;
 import org.tizen.location.core.model.GeoLocationVO;
 import org.tizen.location.core.protocol.GeoLocation;
 
@@ -53,7 +54,7 @@ public class LocationInjector implements ISelectionListener {
        private final String setManualMode      = "vconftool set -t int db/location/replay/ReplayMode 2"; // MANUAL MODE
 
        public LocationInjector() {
-               ConnectionPlugin.getDefault().addSelectionListener(this);
+               InjectorView.getDefault().addSelectionListener(this);
 //             TargetConnectionControl.addTargetConnectionListener(this);
        }
 
index 386a511..08695a4 100644 (file)
@@ -9,6 +9,7 @@ Require-Bundle: org.tizen.injector,
  org.eclipse.swt;bundle-version="3.6.2",
  org.tizen.common,
  org.tizen.common.connection,
- org.eclipse.core.runtime;bundle-version="3.7.0"
+ org.eclipse.core.runtime;bundle-version="3.7.0",
+ org.eclipse.core.commands;bundle-version="3.6.0"
 Import-Package: org.tizen.sdblib,
  org.eclipse.ui.plugin
index 5b9a71a..b3636ce 100644 (file)
@@ -41,13 +41,13 @@ import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.swt.widgets.Text;
-
-import org.tizen.injector.provider.AbstractInjectorItem;
-import org.tizen.injector.provider.AbstractInjectorPage;
 import org.tizen.common.connection.ConnectionPlugin;
 import org.tizen.common.connection.ConnectionPlugin.ISelectionListener;
 import org.tizen.common.connection.ui.TizenRemoteFileDialog;
 import org.tizen.common.connection.ui.TizenRemoteFileDialog.TizenRemoteFileDialogResult;
+import org.tizen.injector.provider.AbstractInjectorItem;
+import org.tizen.injector.provider.AbstractInjectorPage;
+import org.tizen.injector.view.InjectorView;
 import org.tizen.sdblib.FileListingService.FileEntry;
 import org.tizen.sdblib.IDevice;
 import org.tizen.sdblib.MultiLineReceiver;
@@ -105,8 +105,8 @@ public class NfcPage extends AbstractInjectorPage implements ISelectionListener
        @Override
        protected void createContents()
        {
+               InjectorView.getDefault().addSelectionListener(this);
                currentDevice = ConnectionPlugin.getDefault().getCurrentDevice();
-               ConnectionPlugin.getDefault().addSelectionListener(this);
 
                shell = parent.getShell();
 
index aced67d..adf6082 100644 (file)
@@ -13,4 +13,5 @@ Import-Package:
  org.tizen.sdblib
 Require-Bundle: org.tizen.injector,
  org.eclipse.swt;bundle-version="3.5.2",
- org.eclipse.core.runtime;bundle-version="3.7.0"
+ org.eclipse.core.runtime;bundle-version="3.7.0",
+ org.eclipse.core.commands;bundle-version="3.6.0"
index 4486cae..c3ddc46 100644 (file)
@@ -48,6 +48,7 @@ import org.tizen.sdblib.IDevice;
 import org.tizen.injector.protocol.sensor.TestSensorMessage;
 import org.tizen.injector.provider.AbstractInjectorItem;
 import org.tizen.injector.provider.AbstractInjectorPage;
+import org.tizen.injector.view.InjectorView;
 
 public class LightPage extends AbstractInjectorPage implements ISelectionListener {
        private Text sliderText;
@@ -71,7 +72,7 @@ public class LightPage extends AbstractInjectorPage implements ISelectionListene
        
        @Override
        protected void createContents() {
-               ConnectionPlugin.getDefault().addSelectionListener(this);
+               InjectorView.getDefault().addSelectionListener(this);
                currentDevice = ConnectionPlugin.getDefault().getCurrentDevice();
                
 //             Composite mainComposite = formUtil.createComposite(parent, 3);