From: GiWoong Kim Date: Sat, 5 Oct 2013 03:50:51 +0000 (+0900) Subject: communication: close the data stream X-Git-Tag: Tizen_Studio_1.3_Release_p2.3.1~704^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=84a61ea9491475897ef57ce478a482b5700cd755;p=sdk%2Femulator%2Fqemu.git communication: close the data stream close the data stream when emulator is shutting down & remove some warnings & etc Change-Id: I0474e1bbb03c40ef6ed712c055fe8d231edd62e5 Signed-off-by: GiWoong Kim --- 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 8ad232d3b0..a3a8068bf6 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 @@ -184,7 +184,8 @@ public class EmulatorShmSkin extends EmulatorSkin { } public void getPixelsFromSharedMemory() { - int result = getPixels(arrayFramebuffer); + //int result = + getPixels(arrayFramebuffer); //logger.info("getPixels native function returned " + result); communicator.sendToQEMU( 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 9242ea9505..2519524832 100755 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java @@ -193,7 +193,10 @@ public class EmulatorSkin { int style = SWT.NO_TRIM | SWT.DOUBLE_BUFFERED; this.shell = new Shell(Display.getDefault(), style); if (isOnTop == true) { - SkinUtil.setTopMost(shell, true); + if (SkinUtil.setTopMost(shell, true) == false) { + logger.info("failed to set top most"); + this.isOnTop = false; + } } this.displayCanvasStyle = displayCanvasStyle; 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 dc51352893..c8b3a2f7e1 100755 --- 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 @@ -87,10 +87,10 @@ public class SocketCommunicator implements ICommunicator { 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 LONG_WAIT_INTERVAL = 3; /* milli-seconds */ + public final static int LONG_WAIT_LIMIT = 3000; /* milli-seconds */ + public final static int SHORT_WAIT_INTERVAL = 1; /* milli-seconds */ + public final static int SHORT_WAIT_LIMIT = 2000; /* milli-seconds */ public final static int MAX_SEND_QUEUE_SIZE = 100000; @@ -105,8 +105,8 @@ public class SocketCommunicator implements ICommunicator { private EmulatorSkin skin; private Socket socket; - private DataInputStream dis; - private DataOutputStream dos; + private DataInputStream sockInputStream; + private DataOutputStream sockOutputStream; private AtomicInteger heartbeatCount; private boolean isTerminated; @@ -138,24 +138,24 @@ public class SocketCommunicator implements ICommunicator { this.skin = skin; this.screenShotDataTransfer = new DataTranfer(); - this.screenShotDataTransfer.sleep = SCREENSHOT_WAIT_INTERVAL; - this.screenShotDataTransfer.maxWaitTime = SCREENSHOT_WAIT_LIMIT; + this.screenShotDataTransfer.sleep = LONG_WAIT_INTERVAL; + this.screenShotDataTransfer.maxWaitTime = LONG_WAIT_LIMIT; this.detailInfoTransfer = new DataTranfer(); - this.detailInfoTransfer.sleep = DETAIL_INFO_WAIT_INTERVAL; - this.detailInfoTransfer.maxWaitTime = DETAIL_INFO_WAIT_LIMIT; + this.detailInfoTransfer.sleep = SHORT_WAIT_INTERVAL; + this.detailInfoTransfer.maxWaitTime = SHORT_WAIT_LIMIT; this.progressDataTransfer = new DataTranfer(); - this.progressDataTransfer.sleep = SCREENSHOT_WAIT_INTERVAL; - this.progressDataTransfer.maxWaitTime = SCREENSHOT_WAIT_LIMIT; + this.progressDataTransfer.sleep = SHORT_WAIT_INTERVAL; + this.progressDataTransfer.maxWaitTime = SHORT_WAIT_LIMIT; this.brightnessDataTransfer = new DataTranfer(); - this.brightnessDataTransfer.sleep = SCREENSHOT_WAIT_INTERVAL; - this.brightnessDataTransfer.maxWaitTime = SCREENSHOT_WAIT_LIMIT; + this.brightnessDataTransfer.sleep = LONG_WAIT_INTERVAL; + this.brightnessDataTransfer.maxWaitTime = LONG_WAIT_LIMIT; this.ecpTransfer = new DataTranfer(); - this.ecpTransfer.sleep = SCREENSHOT_WAIT_INTERVAL; - this.ecpTransfer.maxWaitTime = SCREENSHOT_WAIT_LIMIT; + this.ecpTransfer.sleep = LONG_WAIT_INTERVAL; + this.ecpTransfer.maxWaitTime = LONG_WAIT_LIMIT; this.heartbeatCount = new AtomicInteger(0); //this.heartbeatExecutor = Executors.newSingleThreadScheduledExecutor(); @@ -224,8 +224,8 @@ public class SocketCommunicator implements ICommunicator { }; try { - dis = new DataInputStream(socket.getInputStream()); - dos = new DataOutputStream(socket.getOutputStream()); + sockInputStream = new DataInputStream(socket.getInputStream()); + sockOutputStream = new DataOutputStream(socket.getOutputStream()); } catch (IOException e) { logger.log(Level.SEVERE, e.getMessage(), e); terminate(); @@ -280,10 +280,9 @@ public class SocketCommunicator implements ICommunicator { } try { - - int reqId = dis.readInt(); - short cmd = dis.readShort(); - int length = dis.readInt(); + int reqId = sockInputStream.readInt(); + short cmd = sockInputStream.readShort(); + int length = sockInputStream.readInt(); if (logger.isLoggable(Level.FINE)) { logger.fine("[Socket] read - reqId:" + reqId + @@ -299,7 +298,7 @@ public class SocketCommunicator implements ICommunicator { continue; } - switch ( command ) { + switch (command) { case HEART_BEAT: { resetHeartbeatCount(); @@ -311,14 +310,14 @@ public class SocketCommunicator implements ICommunicator { break; } case SCREEN_SHOT_DATA: { - logger.info( "received SCREEN_SHOT_DATA from QEMU." ); - receiveData( screenShotDataTransfer, length ); + logger.info("received SCREEN_SHOT_DATA from QEMU."); + receiveData(screenShotDataTransfer, length ); break; } case DETAIL_INFO_DATA: { - logger.info( "received DETAIL_INFO_DATA from QEMU." ); - receiveData( detailInfoTransfer, length ); + logger.info("received DETAIL_INFO_DATA from QEMU."); + receiveData( detailInfoTransfer, length); break; } @@ -443,7 +442,7 @@ public class SocketCommunicator implements ICommunicator { break; } default: { - logger.severe("Unknown command from QEMU. command:" + cmd); + logger.severe("Unknown command from QEMU. command : " + cmd); break; } } @@ -465,7 +464,7 @@ public class SocketCommunicator implements ICommunicator { dataTransfer.timer.cancel(); } - byte[] data = readData(dis, length); + byte[] data = readData(sockInputStream, length); if (null != data) { logger.info("finished receiving data from QEMU."); @@ -490,7 +489,6 @@ public class SocketCommunicator implements ICommunicator { BufferedInputStream bfis = new BufferedInputStream(is, length); byte[] data = new byte[length]; - int read = 0; int total = 0; @@ -510,7 +508,7 @@ public class SocketCommunicator implements ICommunicator { } } - logger.info("finished reading stream. read:" + total); + logger.info("finished reading stream. read : " + total); return data; } @@ -582,7 +580,6 @@ public class SocketCommunicator implements ICommunicator { private void sendToQEMUInternal(SkinSendData sendData) { try { - if (null == sendData) { return; } @@ -609,8 +606,8 @@ public class SocketCommunicator implements ICommunicator { dataOutputStream.flush(); - dos.write(bao.toByteArray()); - dos.flush(); + sockOutputStream.write(bao.toByteArray()); + sockOutputStream.flush(); bao.reset(); @@ -736,13 +733,11 @@ public class SocketCommunicator implements ICommunicator { } IOUtil.closeSocket(socket); + IOUtil.close(sockInputStream); + IOUtil.close(sockOutputStream); - try { - bao.close(); - dataOutputStream.close(); - } catch (IOException e) { - e.printStackTrace(); - } + IOUtil.close(bao); + IOUtil.close(dataOutputStream); synchronized (this) { skin.shutdown(); @@ -751,7 +746,6 @@ public class SocketCommunicator implements ICommunicator { } class SkinSendData { - private SendCommand command; private ISendData data; @@ -767,5 +761,4 @@ class SkinSendData { public ISendData getSendData() { return data; } - } diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/custom/GeneralKeyWindow.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/custom/GeneralKeyWindow.java index 7c15bf0100..fb784f4ca2 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/custom/GeneralKeyWindow.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/custom/GeneralKeyWindow.java @@ -100,13 +100,8 @@ public class GeneralKeyWindow extends SkinWindow { this.skin = skin; this.parent = skin.getShell(); - if (SwtUtil.isMacPlatform() == false) { - this.shell = new Shell(parent, - SWT.NO_TRIM | SWT.RESIZE | SWT.TOOL); - } else { - this.shell = new Shell(parent.getDisplay(), - SWT.NO_TRIM | SWT.RESIZE | SWT.TOOL); - } + this.shell = new Shell(parent.getDisplay() /* for Mac & Always on Top */, + SWT.NO_TRIM | SWT.RESIZE | SWT.TOOL | SWT.NO_FOCUS); this.imageRegistry = new GeneralKeyWindowImageRegistry(shell.getDisplay()); this.frameMaker = new SkinPatches(PATCH_IMAGES_PATH); diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/screenshot/ShmScreenShotWindow.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/screenshot/ShmScreenShotWindow.java index 7fa310e424..401b55516b 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/screenshot/ShmScreenShotWindow.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/screenshot/ShmScreenShotWindow.java @@ -62,8 +62,9 @@ public class ShmScreenShotWindow extends ScreenShotDialog { int height = config.getArgInt(ArgsConstants.RESOLUTION_HEIGHT); int[] arrayFramebuffer = new int[width * height]; - int result = - ((EmulatorShmSkin) emulatorSkin).getPixels(arrayFramebuffer); + + //int result = + ((EmulatorShmSkin) emulatorSkin).getPixels(arrayFramebuffer); //logger.info("getPixels native function returned " + result); ImageData imageData = new ImageData(width, height, 24, paletteData_ARGB); diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/util/SkinUtil.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/util/SkinUtil.java index 6d267216a3..924d979883 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/util/SkinUtil.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/util/SkinUtil.java @@ -1017,6 +1017,8 @@ public class SkinUtil { return false; } + logger.info("set Always on Top : " + isOnTop); + /* internal/Library.java::arch() */ String osArch = System.getProperty("os.arch"); /* $NON-NLS-1$ */