From 7d7aef140fd92ee6c5a81768fddba29cfc2af2a3 Mon Sep 17 00:00:00 2001 From: greatim Date: Tue, 4 Nov 2014 14:20:52 +0900 Subject: [PATCH] INTERNAL: change the way to get api map change the wat to get api map To get api map, now we use profile command of sdb Change-Id: I0e0792922e1955cecbc2c4c6a482d80d384847c3 Signed-off-by: greatim --- .../common/AnalyzerShellCommands.java | 1 + .../communicator/CommunicatorUtils.java | 67 ++++++---------------- .../tizen/dynamicanalyzer/model/DeviceInfo.java | 2 +- 3 files changed, 18 insertions(+), 52 deletions(-) diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerShellCommands.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerShellCommands.java index 0f94308..a7845f8 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerShellCommands.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerShellCommands.java @@ -47,6 +47,7 @@ public class AnalyzerShellCommands { public static final String DACOMMAND_FIND_UNITTEST = "profile findunittest"; public static final String DACOMMAND_CHECK_VERSION = "profile getversion"; public static final String DACOMMAND_READLINK = "profile readlink "; + public static final String DACOMMAND_GETAPI = "profile getapi"; // direct shell command public static final String CMD_FIND_IME = "/usr/bin/pkginfo --arg-flt 10 http://tizen.org/category/ime"; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/CommunicatorUtils.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/CommunicatorUtils.java index 4dcd0f7..4895c8a 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/CommunicatorUtils.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/CommunicatorUtils.java @@ -284,7 +284,7 @@ public class CommunicatorUtils { public static int getRemotePort(IDevice device) { int remotePort = -1; - + // add error check long start = System.currentTimeMillis(); while ((System.currentTimeMillis() - start) < PORT_WAIT_TIME) { @@ -471,63 +471,28 @@ public class CommunicatorUtils { return null; } - public static List getApiMap(IDevice device) { - try { - device.becomeSuperUser(true); - } catch (TimeoutException e) { - e.printStackTrace(); - } catch (SdbCommandRejectedException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - - String nDeviceName = CommonUtil.getNormalizedFilename(device.getSerialNumber()); - String apiFilePath = PathManager.DA_TEMP_FOLDER_PATH + File.separator + nDeviceName - + CommonConstants.UNDERBAR + AnalyzerConstants.API_NAME_FILE_NAME; + public static List getApis(IDevice device) { + final List lines = new ArrayList(); - SyncResult res = CommunicatorUtils.pull(device, PathConstants.DA_API_MAP_PATH, apiFilePath); - if (null != res && res.isOk()) { - Logger.debug("api map copying success!!");//$NON-NLS-1$ - } else { - Logger.debug("Failed to get " + apiFilePath); //$NON-NLS-1$ - return null; - } + CommunicatorUtils.execHostCommand(device, AnalyzerShellCommands.DACOMMAND_GETAPI, + new MultiLineReceiver() { + @Override + public void processNewLines(String[] newlines) { + for (int i = 0; i < newlines.length; i++) { + lines.add(newlines[i]); + } + } + }); List apiMap = new ArrayList(); apiMap.add("unknown"); - File file = new File(apiFilePath); - if (!file.exists()) { - Logger.debug("file open failed..."); - return null; + for (int i = 0; i < lines.size(); i++) { + String input = lines.get(i); + String[] splitLine = input.trim().split(CommonConstants.SPACE, 2); + apiMap.add(new String(splitLine[1])); } - FileInputStream fis = null; - InputStreamReader isr = null; - BufferedReader reader = null; - try { - fis = new FileInputStream(file); - isr = new InputStreamReader(fis); - reader = new BufferedReader(isr); - - String input = null; - while (null != (input = reader.readLine())) { - String[] splitLine = input.trim().split(CommonConstants.SPACE, 2); - apiMap.add(new String(splitLine[1])); - } - - } catch (FileNotFoundException e) { - e.printStackTrace(); - return null; - } catch (IOException e) { - e.printStackTrace(); - return null; - } catch (ArrayIndexOutOfBoundsException e) { - e.printStackTrace(); - } finally { - CommonUtil.tryClose(reader, isr, fis); - } return apiMap; } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/DeviceInfo.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/DeviceInfo.java index 4fa51f4..a28d2a2 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/DeviceInfo.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/DeviceInfo.java @@ -65,7 +65,7 @@ public class DeviceInfo { public DeviceInfo(IDevice device) { this.device = device; - statusInfo = new DeviceStatusInfo(CommunicatorUtils.getApiMap(device)); + statusInfo = new DeviceStatusInfo(CommunicatorUtils.getApis(device)); } public void setSelectedPackageID(String id) { -- 2.7.4