public final static int MSG_TARGET_INFO = 0x0007;\r
public final static int MSG_SWAP_INST_ADD = 0x0008;\r
public final static int MSG_SWAP_INST_REMOVE = 0x0009;\r
+ public final static int MSG_GET_SCREENSHOT = 0x0010;\r
\r
public final static int MSG_KEEP_ALIVE_ACK = 0x1001;\r
public final static int MSG_START_ACK = 0x1002;\r
return null;
}
+ public static HostResult sendScreenShotMessage() {
+ if (isSWAPVersion()) {
+ return ((Communicator30) currentDevice.getCommunicator())
+ .sendScreenShotRequest();
+ }
+ return null;
+ }
+
public static HostResult sendKeepAliveMessage(DeviceInfo device) {
return device.getCommunicator().sendKeepAliveMessage(device);
}
}
}
+ public HostResult sendScreenShotRequest() {
+ byte[] msg = ByteUtils.getByte(AnalyzerConstants.MSG_GET_SCREENSHOT, 0,
+ 0);
+ HostResult result = HostResult.SUCCESS;
+ Socket controlSock = DACommunicator.getSelectedDevice()
+ .getControlSock();
+
+ try {
+ if (null != controlSock && !controlSock.isClosed()) {
+ controlSock.getOutputStream().write(msg);
+ } else {
+ System.out.println("control socket is closed");
+ result = HostResult.ERR_CONTROL_SOCKET_CONNECTION_CLOSED;
+ }
+ } catch (SocketException e) {
+ result = HostResult.ERR_EXCEPTION_OCCURRED;
+ result.setMessage(e.getMessage());
+ e.printStackTrace();
+ return result;
+ } catch (SocketTimeoutException e) {
+ result = HostResult.ERR_EXCEPTION_OCCURRED;
+ result.setMessage(e.getMessage());
+ e.printStackTrace();
+ return result;
+ } catch (IOException e) {
+ result = HostResult.ERR_EXCEPTION_OCCURRED;
+ result.setMessage(e.getMessage());
+ e.printStackTrace();
+ return result;
+ } finally {
+ blocked = false;
+ }
+ return result;
+ }
+
public HostResult sendSWAPMessage(int messageId,
List<BinarySettingData> settings) {
HashMap<String, BinaryInfo> targetBinInfoMap = BinarySettingManager
import org.eclipse.nebula.widgets.grid.GridColumn;
import org.eclipse.nebula.widgets.grid.GridItem;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseListener;
import org.eclipse.swt.events.SelectionEvent;
inputText.setBackground(ColorResources.RED);
info.setText("Invalid path");
}
+ }
+ };
+
+ private KeyListener inputKeyListener = new KeyListener() {
+
+ @Override
+ public void keyReleased(KeyEvent e) {
+ if (e.keyCode == 13) {
+ goButtonClickListener.handleClickEvent(null);
+ inputText.setSelection(inputText.getText().length());
+ }
+ }
- // FileEntry file = device.getFileEntry(path);
- // if (null == file || (!file.isDirectory() && !file.isRoot())) {
- // System.out.println("target path is invalid");
- // inputText.setBackground(ColorResources.RED);
- // info.setText("Invalid path");
- // return;
- // }
- // inputText.setBackground(ColorResources.WHITE);
- // current = file;
- // updateData();
+ @Override
+ public void keyPressed(KeyEvent e) {
}
};
data.right = new FormAttachment(100, -80);
data.height = 18;
inputText.setLayoutData(data);
+ inputText.addKeyListener(inputKeyListener);
goButton = new DAButton(this, SWT.NONE);
data = new FormData();
import org.eclipse.nebula.widgets.grid.GridColumn;
import org.eclipse.nebula.widgets.grid.GridItem;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseListener;
import org.eclipse.swt.events.SelectionEvent;
inputText.setBackground(ColorResources.RED);
info.setText("Invalid path");
}
- // File file = new File(path);
- // if (!file.exists() || !file.isDirectory()) {
- // System.out.println("target path is invalid");
- // inputText.setBackground(ColorResources.RED);
- // info.setText("Invalid path");
- // return;
- // }
- // inputText.setBackground(ColorResources.WHITE);
- // current = file;
- // updateData();
+ }
+ };
+
+ private KeyListener inputKeyListener = new KeyListener() {
+
+ @Override
+ public void keyReleased(KeyEvent e) {
+ if (e.keyCode == 13) {
+ goButtonClickListener.handleClickEvent(null);
+ inputText.setSelection(inputText.getText().length());
+ }
+ }
+
+ @Override
+ public void keyPressed(KeyEvent e) {
}
};
data.right = new FormAttachment(100, -80);
data.height = 18;
inputText.setLayoutData(data);
+ inputText.addKeyListener(inputKeyListener);
goButton = new DAButton(this, SWT.NONE);
data = new FormData();
}
return result;
}
+
}
public static final int ABOUT_BUTTON = 5;
public static final int CONFIG_BUTTON = 6;
public static final int SETTING_BUTTON = 7;
+ public static final int SCREENSHOT_BUTTON = 8;
String selectedDevice = null;
PackageInfo selectedApp = null;
private DACustomButton openTraceButton;
private DACustomButton replayButton;
private DACustomButton configButton;
+ private DACustomButton screenshotButton;
private DACustomButton aboutButton;
}
});
+ screenshotButton
+ .addClickListener(new DACustomButtonClickEventListener() {
+
+ @Override
+ public void handleClickEvent(DACustomButton button) {
+ DACommunicator.sendScreenShotMessage();
+ }
+ });
+
aboutButton.addClickListener(new DACustomButtonClickEventListener() {
@Override
configButton.setToolTipText(ShortCutManager.COOLBAR_AREA_SETTING);
buttons.put(CONFIG_BUTTON, configButton);
+ // Creates screenshot button
+ screenshotButton = new DACustomButton(parent,
+ ImageResources.SCREEN_SHOT_NORMAL,
+ ImageResources.SCREEN_SHOT_PUSH,
+ ImageResources.SCREEN_SHOT_HOVER,
+ ImageResources.SCREEN_SHOT_DISABLE);
+ screenshotButton.setToolTipText("Capture screen");
+ buttons.put(SCREENSHOT_BUTTON, screenshotButton);
+
// Creates about button.
aboutButton = new DACustomButton(parent, ImageResources.ABOUT,
ImageResources.ABOUT_PUSH, ImageResources.ABOUT_HOVER,
data.height = 30;
configButton.setLayoutData(data);
-// data = new FormData();
-// data.top = new FormAttachment(0, 4);
-// data.right = new FormAttachment(configButton, 0);
-// data.width = 34; // 31
-// data.height = 30;
-// binarySettingsButton.setLayoutData(data);
+ data = new FormData();
+ data.top = new FormAttachment(0, 4);
+ data.right = new FormAttachment(configButton, 0);
+ data.width = 34; // 31
+ data.height = 30;
+ screenshotButton.setLayoutData(data);
data = new FormData();
data.top = new FormAttachment(0, 4);
- data.right = new FormAttachment(configButton, -5);
+ data.right = new FormAttachment(screenshotButton, -5);
data.width = 32;
data.height = 30;
viewSourceButton.setLayoutData(data);
setRepalyButtonEnable(enabled);
}
-// public void setBinarySettingsButtonEnablement(boolean enabled) {
-// binarySettingsButton.setButtonEnabled(enabled);
-// }
+ // public void setBinarySettingsButtonEnablement(boolean enabled) {
+ // binarySettingsButton.setButtonEnabled(enabled);
+ // }
public void startTimer() {
timerClock.start();