From 7935856842bffa768e99ea90e417bc91bb265a07 Mon Sep 17 00:00:00 2001 From: "giwoong.kim" Date: Fri, 12 Apr 2013 18:08:54 +0900 Subject: [PATCH] communication: give priority to the sendToQemu give priority to the sendToQemu function for skin Signed-off-by: GiWoong Kim --- .../tizen/emulator/skin/EmulatorFingers.java | 27 ++++-- .../tizen/emulator/skin/EmulatorShmSkin.java | 26 +++--- .../org/tizen/emulator/skin/EmulatorSkin.java | 51 +++++++---- .../emulator/skin/comm/ICommunicator.java | 5 +- .../skin/comm/sock/SocketCommunicator.java | 84 ++++++++++--------- .../tizen/emulator/skin/custom/KeyWindow.java | 6 +- .../skin/dialog/DetailInfoDialog.java | 10 ++- .../layout/GeneralPurposeSkinComposer.java | 3 +- .../skin/layout/PhoneShapeSkinComposer.java | 13 +-- .../skin/screenshot/SdlScreenShotWindow.java | 2 +- tizen/src/skin/maruskin_server.c | 8 +- 11 files changed, 136 insertions(+), 99 deletions(-) diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorFingers.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorFingers.java index ccc6c90837..98517274bb 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorFingers.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorFingers.java @@ -251,7 +251,8 @@ public class EmulatorFingers { mouseEventData = new MouseEventData( MouseButtonType.LEFT.value(), MouseEventType.PRESS.value(), originX, originY, x, y, grabFingerID - 1); - communicator.sendToQEMU(SendCommand.SEND_MOUSE_EVENT, mouseEventData); + communicator.sendToQEMU( + SendCommand.SEND_MOUSE_EVENT, mouseEventData, false); } } @@ -267,7 +268,8 @@ public class EmulatorFingers { mouseEventData = new MouseEventData( MouseButtonType.LEFT.value(), MouseEventType.PRESS.value(), originX, originY, x, y, 0); - communicator.sendToQEMU(SendCommand.SEND_MOUSE_EVENT, mouseEventData); + communicator.sendToQEMU( + SendCommand.SEND_MOUSE_EVENT, mouseEventData, false); } else if ((finger = getFingerPointSearch(x, y)) != null) { /* check the position of previous touch event */ @@ -282,7 +284,8 @@ public class EmulatorFingers { mouseEventData = new MouseEventData( MouseButtonType.LEFT.value(), MouseEventType.RELEASE.value(), originX, originY, finger.x, finger.y, this.fingerCntMax - 1); - communicator.sendToQEMU(SendCommand.SEND_MOUSE_EVENT, mouseEventData); + communicator.sendToQEMU( + SendCommand.SEND_MOUSE_EVENT, mouseEventData, false); finger.originX = originX; finger.originY = originY; @@ -293,7 +296,8 @@ public class EmulatorFingers { mouseEventData = new MouseEventData( MouseButtonType.LEFT.value(), MouseEventType.PRESS.value(), originX, originY, x, y, this.fingerCntMax - 1); - communicator.sendToQEMU(SendCommand.SEND_MOUSE_EVENT, mouseEventData); + communicator.sendToQEMU( + SendCommand.SEND_MOUSE_EVENT, mouseEventData, false); } } } @@ -303,7 +307,8 @@ public class EmulatorFingers { mouseEventData = new MouseEventData( MouseButtonType.LEFT.value(), MouseEventType.PRESS.value(), originX, originY, x, y, this.fingerCnt - 1); - communicator.sendToQEMU(SendCommand.SEND_MOUSE_EVENT, mouseEventData); + communicator.sendToQEMU( + SendCommand.SEND_MOUSE_EVENT, mouseEventData, false); } } else if (touchType == MouseEventType.RELEASE.value()) { /* released */ logger.info("mouse up for multi touch"); @@ -360,7 +365,8 @@ public class EmulatorFingers { mouseEventData = new MouseEventData( MouseButtonType.LEFT.value(), MouseEventType.PRESS.value(), originX, originY, finger.x, finger.y, i); - communicator.sendToQEMU(SendCommand.SEND_MOUSE_EVENT, mouseEventData); + communicator.sendToQEMU( + SendCommand.SEND_MOUSE_EVENT, mouseEventData, false); /* logger.info(String.format( "id %d finger multi-touch dragging = (%d, %d)", @@ -388,7 +394,8 @@ public class EmulatorFingers { mouseEventData = new MouseEventData( MouseButtonType.LEFT.value(), MouseEventType.PRESS.value(), originX, originY, x, y, 0); - communicator.sendToQEMU(SendCommand.SEND_MOUSE_EVENT, mouseEventData); + communicator.sendToQEMU( + SendCommand.SEND_MOUSE_EVENT, mouseEventData, false); } else if ((finger = this.getFingerPointSearch(x, y)) != null) { /* check the position of previous touch event */ @@ -406,7 +413,8 @@ public class EmulatorFingers { mouseEventData = new MouseEventData( MouseButtonType.LEFT.value(), MouseEventType.PRESS.value(), originX, originY, x, y, this.fingerCnt - 1); - communicator.sendToQEMU(SendCommand.SEND_MOUSE_EVENT, mouseEventData); + communicator.sendToQEMU( + SendCommand.SEND_MOUSE_EVENT, mouseEventData, false); } } else if (touchType == MouseEventType.RELEASE.value()) { /* released */ logger.info("mouse up for multi touch"); @@ -506,7 +514,8 @@ public class EmulatorFingers { MouseEventData mouseEventData = new MouseEventData( MouseButtonType.LEFT.value(), MouseEventType.RELEASE.value(), 0, 0, finger.x, finger.y, finger.id - 1); - communicator.sendToQEMU(SendCommand.SEND_MOUSE_EVENT, mouseEventData); + communicator.sendToQEMU( + SendCommand.SEND_MOUSE_EVENT, mouseEventData, false); } finger.id = 0; diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorShmSkin.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorShmSkin.java index 62a866636d..c88c77d6c2 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorShmSkin.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorShmSkin.java @@ -69,9 +69,10 @@ public class EmulatorShmSkin extends EmulatorSkin { private Display display; private int widthFB; private int heightFB; + private int sizeFramebuffer; private int[] arrayFramebuffer; - private ImageData imageData; - private Image framebuffer; + private ImageData dataFramebuffer; + private Image imageFramebuffer; private volatile boolean stopRequest; private Runnable runnable; @@ -81,9 +82,13 @@ public class EmulatorShmSkin extends EmulatorSkin { this.display = Display.getDefault(); this.widthFB = widthFB; this.heightFB = heightFB; - this.arrayFramebuffer = new int[widthFB * heightFB]; - this.imageData = new ImageData(widthFB, heightFB, COLOR_DEPTH, paletteData); - this.framebuffer = new Image(Display.getDefault(), imageData); + this.sizeFramebuffer = widthFB * heightFB; + this.arrayFramebuffer = new int[sizeFramebuffer]; + + this.dataFramebuffer = + new ImageData(widthFB, heightFB, COLOR_DEPTH, paletteData); + this.imageFramebuffer = + new Image(Display.getDefault(), dataFramebuffer); setDaemon(true); setWaitIntervalTime(30); @@ -112,7 +117,6 @@ public class EmulatorShmSkin extends EmulatorSkin { stopRequest = false; Image temp; - int sizeFramebuffer = widthFB * heightFB; while (!stopRequest) { synchronized(this) { @@ -127,10 +131,10 @@ public class EmulatorShmSkin extends EmulatorSkin { int result = getPixels(arrayFramebuffer); /* from shared memory */ //logger.info("getPixels native function returned " + result); - imageData.setPixels(0, 0, sizeFramebuffer, arrayFramebuffer, 0); + dataFramebuffer.setPixels(0, 0, sizeFramebuffer, arrayFramebuffer, 0); - temp = framebuffer; - framebuffer = new Image(display, imageData); + temp = imageFramebuffer; + imageFramebuffer = new Image(display, dataFramebuffer); temp.dispose(); if (display.isDisposed() == false) { @@ -210,7 +214,7 @@ public class EmulatorShmSkin extends EmulatorSkin { } if (currentState.getCurrentAngle() == 0) { /* portrait */ - e.gc.drawImage(pollThread.framebuffer, + e.gc.drawImage(pollThread.imageFramebuffer, 0, 0, pollThread.widthFB, pollThread.heightFB, 0, 0, x, y); @@ -256,7 +260,7 @@ public class EmulatorShmSkin extends EmulatorSkin { e.gc.getTransform(oldtransform); /* set to new transfrom */ e.gc.setTransform(transform); - e.gc.drawImage(pollThread.framebuffer, + e.gc.drawImage(pollThread.imageFramebuffer, 0, 0, pollThread.widthFB, pollThread.heightFB, 0, 0, x, y); /* back to old transform */ diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java index e5f7f903c7..433bc97ec9 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java @@ -464,7 +464,7 @@ public class EmulatorSkin { event.doit = false; if (null != communicator) { - communicator.sendToQEMU(SendCommand.CLOSE, null); + communicator.sendToQEMU(SendCommand.CLOSE, null, false); } } } @@ -524,7 +524,8 @@ public class EmulatorSkin { DisplayStateData lcdStateData = new DisplayStateData( currentState.getCurrentScale(), currentState.getCurrentRotationId()); - communicator.sendToQEMU(SendCommand.CHANGE_LCD_STATE, lcdStateData); + communicator.sendToQEMU( + SendCommand.CHANGE_LCD_STATE, lcdStateData, false); } }; @@ -599,7 +600,8 @@ public class EmulatorSkin { KeyEventData keyEventData = new KeyEventData( KeyEventType.RELEASED.value(), data.keycode, data.stateMask, data.keyLocation); - communicator.sendToQEMU(SendCommand.SEND_KEY_EVENT, keyEventData); + communicator.sendToQEMU( + SendCommand.SEND_KEY_EVENT, keyEventData, false); logger.info("auto release : keycode=" + keyEventData.keycode + ", stateMask=" + keyEventData.stateMask + @@ -686,7 +688,8 @@ public class EmulatorSkin { MouseButtonType.LEFT.value(), eventType, e.x, e.y, geometry[0], geometry[1], 0); - communicator.sendToQEMU(SendCommand.SEND_MOUSE_EVENT, mouseEventData); + communicator.sendToQEMU( + SendCommand.SEND_MOUSE_EVENT, mouseEventData, false); } } }; @@ -731,7 +734,8 @@ public class EmulatorSkin { MouseButtonType.LEFT.value(), MouseEventType.RELEASE.value(), e.x, e.y, geometry[0], geometry[1], 0); - communicator.sendToQEMU(SendCommand.SEND_MOUSE_EVENT, mouseEventData); + communicator.sendToQEMU( + SendCommand.SEND_MOUSE_EVENT, mouseEventData, false); } else if (2 == e.button) { /* wheel button */ logger.info("wheelUp in display"); } @@ -776,7 +780,8 @@ public class EmulatorSkin { MouseButtonType.LEFT.value(), MouseEventType.PRESS.value(), e.x, e.y, geometry[0], geometry[1], 0); - communicator.sendToQEMU(SendCommand.SEND_MOUSE_EVENT, mouseEventData); + communicator.sendToQEMU( + SendCommand.SEND_MOUSE_EVENT, mouseEventData, false); } } @@ -810,7 +815,8 @@ public class EmulatorSkin { MouseButtonType.WHEEL.value(), eventType, e.x, e.y, geometry[0], geometry[1], e.count); - communicator.sendToQEMU(SendCommand.SEND_MOUSE_EVENT, mouseEventData); + communicator.sendToQEMU( + SendCommand.SEND_MOUSE_EVENT, mouseEventData, false); } }; @@ -850,7 +856,8 @@ public class EmulatorSkin { KeyEventData keyEventData = new KeyEventData( KeyEventType.RELEASED.value(), disappearKeycode, disappearStateMask, disappearKeyLocation); - communicator.sendToQEMU(SendCommand.SEND_KEY_EVENT, keyEventData); + communicator.sendToQEMU( + SendCommand.SEND_KEY_EVENT, keyEventData, false); removePressedKey(keyEventData); @@ -877,7 +884,8 @@ public class EmulatorSkin { KeyEventData keyEventData = new KeyEventData( KeyEventType.RELEASED.value(), keyCode, stateMask, e.keyLocation); - communicator.sendToQEMU(SendCommand.SEND_KEY_EVENT, keyEventData); + communicator.sendToQEMU( + SendCommand.SEND_KEY_EVENT, keyEventData, false); removePressedKey(keyEventData); } @@ -925,7 +933,8 @@ public class EmulatorSkin { KeyEventData keyEventData = new KeyEventData(KeyEventType.RELEASED.value(), previousKeyCode, previousStateMask, previous.keyLocation); - communicator.sendToQEMU(SendCommand.SEND_KEY_EVENT, keyEventData); + communicator.sendToQEMU( + SendCommand.SEND_KEY_EVENT, keyEventData, false); removePressedKey(keyEventData); } @@ -980,7 +989,8 @@ public class EmulatorSkin { KeyEventData keyEventData = new KeyEventData( KeyEventType.PRESSED.value(), keyCode, stateMask, e.keyLocation); - communicator.sendToQEMU(SendCommand.SEND_KEY_EVENT, keyEventData); + communicator.sendToQEMU( + SendCommand.SEND_KEY_EVENT, keyEventData, false); addPressedKey(keyEventData); } @@ -1304,7 +1314,8 @@ public class EmulatorSkin { ee.getMessage(), SWT.ICON_ERROR, config); } - communicator.sendToQEMU(SendCommand.OPEN_SHELL, null); + communicator.sendToQEMU( + SendCommand.OPEN_SHELL, null, false); } } ); @@ -1319,7 +1330,8 @@ public class EmulatorSkin { @Override public void widgetSelected(SelectionEvent e) { logger.info("Close Menu is selected"); - communicator.sendToQEMU(SendCommand.CLOSE, null); + communicator.sendToQEMU( + SendCommand.CLOSE, null, false); } } ); @@ -1433,7 +1445,8 @@ public class EmulatorSkin { DisplayStateData lcdStateData = new DisplayStateData(currentState.getCurrentScale(), rotationId); - communicator.sendToQEMU(SendCommand.CHANGE_LCD_STATE, lcdStateData); + communicator.sendToQEMU( + SendCommand.CHANGE_LCD_STATE, lcdStateData, false); } }; @@ -1507,7 +1520,8 @@ public class EmulatorSkin { DisplayStateData lcdStateData = new DisplayStateData(scale, currentState.getCurrentRotationId()); - communicator.sendToQEMU(SendCommand.CHANGE_LCD_STATE, lcdStateData); + communicator.sendToQEMU( + SendCommand.CHANGE_LCD_STATE, lcdStateData, false); } }; @@ -1537,7 +1551,8 @@ public class EmulatorSkin { logger.info("Ram dump menu is selected"); communicator.setRamdumpFlag(true); - communicator.sendToQEMU(SendCommand.RAM_DUMP, null); + communicator.sendToQEMU( + SendCommand.RAM_DUMP, null, false); RamdumpDialog ramdumpDialog; try { @@ -1616,8 +1631,8 @@ public class EmulatorSkin { isOnKbd = on; logger.info("Host Keyboard " + isOnKbd); - communicator.sendToQEMU( - SendCommand.HOST_KBD, new BooleanData(on, SendCommand.HOST_KBD.toString())); + communicator.sendToQEMU(SendCommand.HOST_KBD, + new BooleanData(on, SendCommand.HOST_KBD.toString()), false); } } diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/comm/ICommunicator.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/comm/ICommunicator.java index 30ca206f43..129711db65 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/comm/ICommunicator.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/comm/ICommunicator.java @@ -297,8 +297,7 @@ public interface ICommunicator extends Runnable { } } - public void sendToQEMU( SendCommand command, ISendData data ); - + public void sendToQEMU(SendCommand command, ISendData data, boolean urgent); + public void terminate(); - } diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/comm/sock/SocketCommunicator.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/comm/sock/SocketCommunicator.java index 5f3e7348d2..3caace2b34 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/comm/sock/SocketCommunicator.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/comm/sock/SocketCommunicator.java @@ -1,7 +1,7 @@ /** * * - * Copyright (C) 2011 - 2012 Samsung Electronics Co., Ltd. All rights reserved. + * Copyright (C) 2011 - 2013 Samsung Electronics Co., Ltd. All rights reserved. * * Contact: * GiWoong Kim @@ -83,13 +83,13 @@ public class SocketCommunicator implements ICommunicator { } - public static final int HEART_BEAT_INTERVAL = 1; //second + public static final int HEART_BEAT_INTERVAL = 1; /* seconds */ public static final int HEART_BEAT_EXPIRE = 15; - public final static int SCREENSHOT_WAIT_INTERVAL = 3; // milli-seconds - public final static int SCREENSHOT_WAIT_LIMIT = 3000; // milli-seconds - public final static int DETAIL_INFO_WAIT_INTERVAL = 1; // milli-seconds - public final static int DETAIL_INFO_WAIT_LIMIT = 3000; // milli-seconds + public final static int SCREENSHOT_WAIT_INTERVAL = 3; /* milli-seconds */ + public final static int SCREENSHOT_WAIT_LIMIT = 3000; /* milli-seconds */ + public final static int DETAIL_INFO_WAIT_INTERVAL = 1; /* milli-seconds */ + public final static int DETAIL_INFO_WAIT_LIMIT = 3000; /* milli-seconds */ public final static int MAX_SEND_QUEUE_SIZE = 100000; @@ -240,7 +240,7 @@ public class SocketCommunicator implements ICommunicator { StartData startData = new StartData(initialData, width, height, scale, rotation); logger.info("StartData" + startData); - sendToQEMU( SendCommand.SEND_START, startData ); + sendToQEMU(SendCommand.SEND_START, startData, false); } catch ( IOException e ) { logger.log( Level.SEVERE, e.getMessage(), e ); @@ -296,10 +296,12 @@ public class SocketCommunicator implements ICommunicator { switch ( command ) { case HEART_BEAT: { resetHeartbeatCount(); - if ( logger.isLoggable( Level.FINE ) ) { - logger.fine( "received HEAR_BEAT from QEMU." ); + + if (logger.isLoggable(Level.FINE)) { + logger.fine("received HEAR_BEAT from QEMU."); } - sendToQEMU( SendCommand.RESPONSE_HEART_BEAT, null ); + + sendToQEMU(SendCommand.RESPONSE_HEART_BEAT, null, true); break; } case SCREEN_SHOT_DATA: { @@ -387,7 +389,7 @@ public class SocketCommunicator implements ICommunicator { } case SHUTDOWN: { logger.info("received RESPONSE_SHUTDOWN from QEMU."); - sendToQEMU(SendCommand.RESPONSE_SHUTDOWN, null); + sendToQEMU(SendCommand.RESPONSE_SHUTDOWN, null, false); terminate(); break; } @@ -467,32 +469,10 @@ public class SocketCommunicator implements ICommunicator { } - public synchronized DataTranfer sendToQEMU( - SendCommand command, ISendData data, boolean useDataTransfer) { - - DataTranfer dataTranfer = null; - - if ( useDataTransfer ) { - - if ( SendCommand.SCREEN_SHOT.equals( command ) ) { - dataTranfer = resetDataTransfer( screenShotDataTransfer ); - } else if ( SendCommand.DETAIL_INFO.equals( command ) ) { - dataTranfer = resetDataTransfer( detailInfoTransfer ); - } - } - - sendToQEMU( command, data ); - - return dataTranfer; - - } - - private DataTranfer resetDataTransfer( final DataTranfer dataTransfer ) { - - synchronized ( dataTransfer ) { - - if ( dataTransfer.isTransferState ) { - logger.severe( "Already transter state for getting data." ); + private DataTranfer resetDataTransfer(final DataTranfer dataTransfer) { + synchronized(dataTransfer) { + if (dataTransfer.isTransferState) { + logger.severe("Already transter state for getting data."); return null; } @@ -504,7 +484,7 @@ public class SocketCommunicator implements ICommunicator { TimerTask timerTask = new TimerTask() { @Override public void run() { - synchronized ( dataTransfer ) { + synchronized(dataTransfer) { dataTransfer.isTransferState = false; dataTransfer.timer = null; dataTransfer.receivedData = null; @@ -518,15 +498,37 @@ public class SocketCommunicator implements ICommunicator { } } - + + public synchronized DataTranfer sendDataToQEMU( + SendCommand command, ISendData data, boolean useDataTransfer) { + DataTranfer dataTranfer = null; + + if (useDataTransfer) { + if (SendCommand.SCREEN_SHOT.equals(command)) { + dataTranfer = resetDataTransfer(screenShotDataTransfer); + } else if (SendCommand.DETAIL_INFO.equals(command)) { + dataTranfer = resetDataTransfer(detailInfoTransfer); + } + } + + sendToQEMU(command, data, false); + + return dataTranfer; + } + @Override - public void sendToQEMU(SendCommand command, ISendData data) { + public void sendToQEMU(SendCommand command, ISendData data, boolean urgent) { synchronized(sendQueue) { if (MAX_SEND_QUEUE_SIZE < sendQueue.size()) { logger.warning( "Send queue size exceeded max value, do not push data into send queue."); } else { - sendQueue.add(new SkinSendData(command, data)); + if (urgent == true) { + sendQueue.addFirst(new SkinSendData(command, data)); + } else { + sendQueue.add(new SkinSendData(command, data)); + } + sendQueue.notifyAll(); } } diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/custom/KeyWindow.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/custom/KeyWindow.java index 0eb30aa8ae..ec5ee13b51 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/custom/KeyWindow.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/custom/KeyWindow.java @@ -248,14 +248,16 @@ public class KeyWindow extends SkinWindow { public void mouseDown(MouseEvent e) { KeyEventData keyEventData = new KeyEventData( KeyEventType.PRESSED.value(), keycode, 0, 0); - communicator.sendToQEMU(SendCommand.SEND_HARD_KEY_EVENT, keyEventData); + communicator.sendToQEMU( + SendCommand.SEND_HARD_KEY_EVENT, keyEventData, false); } @Override public void mouseUp(MouseEvent e) { KeyEventData keyEventData = new KeyEventData( KeyEventType.RELEASED.value(), keycode, 0, 0); - communicator.sendToQEMU(SendCommand.SEND_HARD_KEY_EVENT, keyEventData); + communicator.sendToQEMU( + SendCommand.SEND_HARD_KEY_EVENT, keyEventData, false); } @Override diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/dialog/DetailInfoDialog.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/dialog/DetailInfoDialog.java index d85c7370cd..3718d46366 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/dialog/DetailInfoDialog.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/dialog/DetailInfoDialog.java @@ -1,7 +1,7 @@ /** * Display the emulator detail information * - * Copyright (C) 2011 - 2012 Samsung Electronics Co., Ltd. All rights reserved. + * Copyright (C) 2011 - 2013 Samsung Electronics Co., Ltd. All rights reserved. * * Contact: * GiWoong Kim @@ -74,7 +74,8 @@ public class DetailInfoDialog extends SkinDialog { public final static String VALUE_SUPPORTED = "Supported"; public final static String VALUE_NOTSUPPORTED = "Not Supported"; - private Logger logger = SkinLogger.getSkinLogger( DetailInfoDialog.class ).getLogger(); + private Logger logger = + SkinLogger.getSkinLogger(DetailInfoDialog.class).getLogger(); private SocketCommunicator communicator; private EmulatorConfig config; @@ -207,8 +208,9 @@ public class DetailInfoDialog extends SkinDialog { String infoData = null; - DataTranfer dataTranfer = communicator.sendToQEMU( SendCommand.DETAIL_INFO, null, true ); - byte[] receivedData = communicator.getReceivedData( dataTranfer ); + DataTranfer dataTranfer = + communicator.sendDataToQEMU(SendCommand.DETAIL_INFO, null, true); + byte[] receivedData = communicator.getReceivedData(dataTranfer); if ( null != receivedData ) { infoData = new String( receivedData ); diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/GeneralPurposeSkinComposer.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/GeneralPurposeSkinComposer.java index 08e75c4611..1d05518e39 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/GeneralPurposeSkinComposer.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/GeneralPurposeSkinComposer.java @@ -373,7 +373,8 @@ public class GeneralPurposeSkinComposer implements ISkinComposer { while skipping of framebuffer drawing */ DisplayStateData lcdStateData = new DisplayStateData( currentState.getCurrentScale(), currentState.getCurrentRotationId()); - skin.communicator.sendToQEMU(SendCommand.CHANGE_LCD_STATE, lcdStateData); + skin.communicator.sendToQEMU( + SendCommand.CHANGE_LCD_STATE, lcdStateData, false); } /* general shell does not support native transparency, diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/PhoneShapeSkinComposer.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/PhoneShapeSkinComposer.java index 349d35c2fb..42906ba20c 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/PhoneShapeSkinComposer.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/PhoneShapeSkinComposer.java @@ -279,7 +279,8 @@ public class PhoneShapeSkinComposer implements ISkinComposer { while skipping of framebuffer drawing */ DisplayStateData lcdStateData = new DisplayStateData( currentState.getCurrentScale(), currentState.getCurrentRotationId()); - skin.communicator.sendToQEMU(SendCommand.CHANGE_LCD_STATE, lcdStateData); + skin.communicator.sendToQEMU( + SendCommand.CHANGE_LCD_STATE, lcdStateData, false); } /* general shell does not support native transparency, @@ -395,7 +396,8 @@ public class PhoneShapeSkinComposer implements ISkinComposer { /* send event */ KeyEventData keyEventData = new KeyEventData( KeyEventType.RELEASED.value(), pressedHWKey.getKeyCode(), 0, 0); - communicator.sendToQEMU(SendCommand.SEND_HARD_KEY_EVENT, keyEventData); + communicator.sendToQEMU( + SendCommand.SEND_HARD_KEY_EVENT, keyEventData, false); currentState.setCurrentPressedHWKey(null); @@ -431,7 +433,8 @@ public class PhoneShapeSkinComposer implements ISkinComposer { /* send event */ KeyEventData keyEventData = new KeyEventData( KeyEventType.PRESSED.value(), hwKey.getKeyCode(), 0, 0); - communicator.sendToQEMU(SendCommand.SEND_HARD_KEY_EVENT, keyEventData); + communicator.sendToQEMU( + SendCommand.SEND_HARD_KEY_EVENT, keyEventData, false); currentState.setCurrentPressedHWKey(hwKey); @@ -447,9 +450,9 @@ public class PhoneShapeSkinComposer implements ISkinComposer { if (gc != null) { gc.drawImage(currentState.getCurrentKeyPressedImage(), hwKey.getRegion().x, hwKey.getRegion().y, - hwKey.getRegion().width, hwKey.getRegion().height, //src + hwKey.getRegion().width, hwKey.getRegion().height, /* src */ hwKey.getRegion().x, hwKey.getRegion().y, - hwKey.getRegion().width, hwKey.getRegion().height); //dst + hwKey.getRegion().width, hwKey.getRegion().height); /* dst */ gc.dispose(); diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/screenshot/SdlScreenShotWindow.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/screenshot/SdlScreenShotWindow.java index d482afce7d..7cbc728530 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/screenshot/SdlScreenShotWindow.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/screenshot/SdlScreenShotWindow.java @@ -59,7 +59,7 @@ public class SdlScreenShotWindow extends ScreenShotDialog { } protected void capture() throws ScreenShotException { - DataTranfer dataTranfer = communicator.sendToQEMU( + DataTranfer dataTranfer = communicator.sendDataToQEMU( SendCommand.SCREEN_SHOT, null, true); byte[] receivedData = communicator.getReceivedData(dataTranfer); diff --git a/tizen/src/skin/maruskin_server.c b/tizen/src/skin/maruskin_server.c index 17458a8ad2..4c76bbc757 100644 --- a/tizen/src/skin/maruskin_server.c +++ b/tizen/src/skin/maruskin_server.c @@ -923,16 +923,16 @@ static void* run_skin_server(void* args) break; } case RECV_RESPONSE_HEART_BEAT: { + pthread_mutex_lock(&mutex_recv_heartbeat_count); + recv_heartbeat_count = 0; + pthread_mutex_unlock(&mutex_recv_heartbeat_count); + log_cnt += sprintf(log_buf + log_cnt, "RECV_RESPONSE_HEART_BEAT ==\n"); #if 0 TRACE(log_buf); #endif TRACE("recv HB req_id:%d\n", req_id); - pthread_mutex_lock(&mutex_recv_heartbeat_count); - recv_heartbeat_count = 0; - pthread_mutex_unlock(&mutex_recv_heartbeat_count); - break; } case RECV_OPEN_SHELL: { -- 2.34.1