From 385b687cc1a0a8f6de2320af6b6e0d654cd658ed Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期五, 18 十一月 2022 11:56:40 +0800
Subject: [PATCH] changes

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/newnova/utils/NovaAPIUtil.java |  348 ++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 269 insertions(+), 79 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/newnova/utils/NovaAPIUtil.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/newnova/utils/NovaAPIUtil.java
index 2d005fd..9d3efe8 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/newnova/utils/NovaAPIUtil.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/newnova/utils/NovaAPIUtil.java
@@ -3,8 +3,9 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.sandu.common.execption.BusinessException;
+import com.sandu.common.file.config.NovaFileConfig;
 import com.sandu.common.util.SpringContextHolder;
-import com.sandu.ximon.admin.newnova.conf.FilePathConfig;
+import com.sandu.ximon.admin.newnova.conf.ProgramPathConfig;
 import com.sandu.ximon.admin.newnova.param.NewNovaStatusParam;
 import com.sandu.ximon.admin.newnova.param.ProgramPrarm;
 import com.sandu.ximon.admin.newnova.vo.*;
@@ -12,7 +13,9 @@
 import com.sandu.ximon.dao.bo.NewNovaInfoBo;
 import com.sandu.ximon.dao.domain.NewNovaLed;
 import com.sun.jna.Native;
+import org.joda.time.DateTime;
 
+import java.io.File;
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -28,7 +31,7 @@
 public class NovaAPIUtil {
 
 
-    private FilePathConfig filePathConfig;
+    private ProgramPathConfig filePathConfig;
 
     private Map<String, Boolean> loginSn = new HashMap();
 
@@ -39,7 +42,7 @@
     private static String loginInfo = null;
 
     private NovaAPIUtil() {
-        filePathConfig = SpringContextHolder.getBean(FilePathConfig.class);
+        filePathConfig = SpringContextHolder.getBean(ProgramPathConfig.class);
         String rootDir = filePathConfig.getOutPutPath();
         instance = (ViplexCore) Native.loadLibrary(filePathConfig.getStringPath(), ViplexCore.class);
         System.setProperty("jna.encoding", "UTF-8");
@@ -51,7 +54,7 @@
         System.out.println(instance.nvInit(rootDir, companyInfo));
 
 
-//        login("MZVA51930N2113017308");//todo 鎵嬪姩鐧诲綍杩樻槸鑷姩鐧诲綍
+//        login("MZVA51930N2113017308");
     }
 
     public static NovaAPIUtil getInstanceUtil() {
@@ -67,8 +70,14 @@
 
     /**
      * 鐧诲綍
+     * loginType
+     * 0锛氱櫥闄嗗埌灞忎綋绠$悊
+     * 1锛氱櫥闄嗗埌绯荤粺璁剧疆锛堟殫闂ㄧ櫥褰曪級
+     * 2锛氱櫥闄嗗埌璇婃柇妯″潡
+     * 3锛歀CT鐧诲綍
+     * 5锛氬叕缃慡DK鐧诲綍
      */
-    public StatusVO login(String sn) {
+    public StatusVO login(String sn, Integer loginType) {
 
         StatusVO searchVO = new StatusVO();
         System.out.println("ViplexCore Demo nvSearchTerminalAsync(鎼滅储) begin... ");
@@ -87,7 +96,7 @@
             }
         });
         try {
-            countDownLatch1.await();
+            countDownLatch1.await(10000, TimeUnit.MILLISECONDS);
         } catch (InterruptedException e) {
             throw new RuntimeException(e);
         }
@@ -95,15 +104,19 @@
         if (loginSn.get(sn) != null && loginSn.get(sn)) {
             return new StatusVO(0);
         }
-        if (!loginInfo.contains(String.format("\"sn\":\"%s\",", sn))) {
+        if (loginInfo == null) {
+            return new StatusVO(10086);
+        }
+        if (!loginInfo.contains(String.format("\"sn\":\"%s\",", sn)) && loginType == 0) {
             //鏈悳绱㈠埌灞忓箷  鐧诲綍涓嶆垚鍔�
+            System.out.println("loginType : " + loginType);
             return new StatusVO(10086);
         }
 
         StatusVO statusVO = new StatusVO();
 
         System.out.println("ViplexCore Demo nvLoginAsync(鐧诲綍) begin... ");
-        String loginParam = String.format("{\"sn\":\"%s\",\"username\":\"admin\",\"rememberPwd\":0,\"password\":\"123456\",\"loginType\":0}", sn);
+        String loginParam = String.format("{\"sn\":\"%s\",\"username\":\"admin\",\"rememberPwd\":0,\"password\":\"123456\",\"loginType\":" + loginType + "}", sn);
 
         CountDownLatch countDownLatch2 = new CountDownLatch(1);
         instance.nvLoginAsync(loginParam, new ViplexCore.CallBack() {
@@ -112,8 +125,8 @@
             public void dataCallBack(int code, String data) {
                 statusVO.setStatusCode(code);
                 statusVO.setStatusData(data);
-                System.out.println("\nViplexCore Demo code:" + code);
-                System.out.println("\nViplexCore Demo data:" + data);
+                System.out.println("\nViplexCore 鐧诲綍 code:" + code);
+                System.out.println("\nViplexCore 鐧诲綍 data:" + data);
                 countDownLatch2.countDown();
             }
 
@@ -180,6 +193,7 @@
         System.out.println("ViplexCore Demo nvSetPageProgramAsync(缂栬緫鑺傜洰) begin... ");
         StatusVO statusVO = new StatusVO();
         CountDownLatch countDownLatch = new CountDownLatch(1);
+        System.out.println("editProgram: " + JSON.toJSONString(programInfoVO));
         instance.nvSetPageProgramAsync(JSON.toJSONString(programInfoVO), new ViplexCore.CallBack() {
             @Override
             public void dataCallBack(int code, String data) {
@@ -199,6 +213,42 @@
 
         return statusVO;
     }
+
+
+    /**
+     * 鍒朵綔澶氶〉鑺傜洰
+     *
+     * @param pageInfo
+     * @return
+     */
+    public StatusVO editPrograms(int pid, List<Map> pageInfo) {
+        ProgramsInfoVO programInfoVO = new ProgramsInfoVO();
+        programInfoVO.setProgramID(pid);
+        programInfoVO.setSceneItems(pageInfo);
+        System.out.println("ViplexCore Demo nvSetPageProgramAsync(缂栬緫鑺傜洰) begin... ");
+        StatusVO statusVO = new StatusVO();
+        CountDownLatch countDownLatch = new CountDownLatch(1);
+        System.out.println("editProgram: " + JSON.toJSONString(programInfoVO));
+        instance.nvSetPageProgramsAsync(JSON.toJSONString(programInfoVO), new ViplexCore.CallBack() {
+            @Override
+            public void dataCallBack(int code, String data) {
+                statusVO.setStatusCode(code);
+                statusVO.setStatusData(data);
+                System.out.println("\nViplexCore 缂栬緫澶氶〉鑺傜洰 code:" + code);
+                System.out.println("\nViplexCore 缂栬緫澶氶〉鑺傜洰 data:" + data);
+                countDownLatch.countDown();
+            }
+
+        });
+        try {
+            countDownLatch.await(30000, TimeUnit.MILLISECONDS);
+        } catch (InterruptedException e) {
+            throw new RuntimeException(e);
+        }
+
+        return statusVO;
+    }
+
 
 
     /**
@@ -243,15 +293,16 @@
     public List<TrasfromStatusVO> trasfromProgram(ProgramPrarm pageInfo) {
 
         TransfromProgramVO transfromProgramVO = new TransfromProgramVO();
-        transfromProgramVO.setProgramName("鑺傜洰01");
+        transfromProgramVO.setProgramName(pageInfo.getProgramMsg().getName());
         //璁剧疆鑺傜洰鍐呭
         TransfromProgramVO.SendProgramFilePathsDTO sendProgramFilePaths = new TransfromProgramVO.SendProgramFilePathsDTO();
         //鑺傜洰
         sendProgramFilePaths.setProgramPath(filePathConfig.getOutPutPath() + "/program" + pageInfo.getProgramID());
         //鏂囦欢
-        Map<String, String> mediasPath = new HashMap();
-        mediasPath.put("C:/Users/Administrator/Desktop/novaWin/demo/java/test.png", "test.png");
-        sendProgramFilePaths.setMediasPath(mediasPath);
+//        Map<String, String> mediasPath = new HashMap();
+//        mediasPath.put("C:/Users/Administrator/Desktop/novaWin/demo/java/test.png", "test.png");
+//        sendProgramFilePaths.setMediasPath(mediasPath);
+        sendProgramFilePaths.setMediasPath(pageInfo.getFileMap());
 
         transfromProgramVO.setSendProgramFilePaths(sendProgramFilePaths);
         //鑺傜洰鏍囪瘑
@@ -277,10 +328,16 @@
                     }
                     transfromProgramVO.setSn(sn);
                     System.out.println(transfromProgramVO);
-
+                    StatusVO login = login(sn, 0);
                     //鎺ㄩ�佺粨鏋�
                     TrasfromStatusVO trasfromStatusVO = new TrasfromStatusVO();
                     trasfromStatusVO.setSn(sn);
+                    if (login.getStatusCode() != 0) {
+                        trasfromStatusVO.setStatusCode(login.getStatusCode());
+                        trasfromStatusVO.setStatusData(login.getStatusData());
+                        return;
+                    }
+                    System.out.println("program: " + JSON.toJSONString(transfromProgramVO));
                     instance.nvStartTransferProgramAsync(JSON.toJSONString(transfromProgramVO), new ViplexCore.CallBack() {
                         @Override
                         public void dataCallBack(int code, String data) {
@@ -316,12 +373,17 @@
         return svoList;
     }
 
+
+
+
+
     /**
      * 鏌ヨ鍦ㄧ嚎鐘舵��
      *
      * @return
      */
-    public List<NewNovaLed> getOnlineStatus(List<NewNovaLed> newNovaListBos) {
+    public List<NewNovaLed> getOnlineStatus(List<NewNovaLed> newNovaListBos, boolean onlineStatus) {
+        List<NewNovaLed> online = new ArrayList<>();
         //璁剧疆寮�鍏冲睆鐘舵��
         newNovaListBos.forEach(led -> {
             //鑾峰彇淇℃伅涔嬪墠鍏堢櫥褰�
@@ -329,11 +391,12 @@
             new Thread(new Runnable() {
                 @Override
                 public void run() {
-                    StatusVO login = login(led.getSn());
+                    StatusVO login = login(led.getSn(), 0);
                     if (login.getStatusCode() == 0) {
                         //鐧婚檰鎴愬姛 璁剧疆涓哄湪绾�
                         led.setIsOnline(1);
                         led.setOnlineSign(1);
+                        online.add(led);
                     } else {
                         led.setIsOnline(0);
                     }
@@ -346,6 +409,9 @@
                 throw new RuntimeException(e);
             }
         });
+        if (onlineStatus) {
+            return online;
+        }
         return newNovaListBos;
     }
 
@@ -356,7 +422,7 @@
 
     public NewNovaLed getInfo(NewNovaLed led) {
         System.out.println("ViplexCore Demo nvGetProductInfoAsync(鑾峰彇灞忓箷淇℃伅) begin... ");
-        StatusVO login = login(led.getSn());
+        StatusVO login = login(led.getSn(), 0);
 
         StatusVO result = new StatusVO();
         if (login.getStatusCode() == 0) {
@@ -393,7 +459,6 @@
         }
         NewNovaInfoBo newNovaInfoBo = JSON.parseObject(result.getStatusData(), NewNovaInfoBo.class);
         led.setInfo(newNovaInfoBo);
-        System.out.println(JSON.toJSONString(led.getInfo()) + "--------");
         return led;
     }
 
@@ -437,6 +502,52 @@
 
         return newNovaLsit;
     }
+
+
+    /**
+     * 璁剧疆寮�鍏冲睆
+     */
+    public boolean setPowerStatus(NewNovaStatusParam param) {
+
+        System.out.println("ViplexCore Demo nvSetScreenPowerStateAsync(璁剧疆灞忓箷寮�鍏�) begin... ");
+        CountDownLatch countDownLatch = new CountDownLatch(1);
+        StatusVO login = login(param.getSn(), 0);
+        String status = "CLOSE";
+        if (param.getPowerStatus() == 1) {
+            status = "OPEN";
+        }
+        if (login.getStatusCode() == 0) {
+            String jsonStr = "{\n" +
+                    "  \"sn\":\"" + param.getSn() + "\",\n" +
+                    "  \"taskInfo\":{\n" +
+                    "    \"state\":\"" + status + "\"\n" +
+                    "  }\n" +
+                    "}";
+            instance.nvSetScreenPowerStateAsync(jsonStr, new ViplexCore.CallBack() {
+                @Override
+                public void dataCallBack(int code, String data) {
+
+                    System.out.println("\nViplexCore 璁剧疆灞忓箷寮�鍏� code:" + code);
+                    System.out.println("\nViplexCore 璁剧疆灞忓箷寮�鍏� data:" + data);
+                    countDownLatch.countDown();
+                    if (code == 0) {
+                        login.setStatusCode(10086);
+                    }
+                }
+            });
+            try {
+                countDownLatch.await();
+            } catch (InterruptedException e) {
+                throw new RuntimeException(e);
+            }
+        }
+        if (login.getStatusCode() == 10086) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
 
     /**
      * 鑾峰彇闊抽噺
@@ -486,11 +597,11 @@
 
         System.out.println("ViplexCore Demo nvSetScreenBrightnessAsync(Volume) begin... ");
         CountDownLatch countDownLatch = new CountDownLatch(1);
-        StatusVO login = login(param.getSn());
+        StatusVO login = login(param.getSn(), 0);
         if (login.getStatusCode() == 0) {
             String jsonStr = "{\n" +
                     "  \"sn\":\"" + param.getSn() + "\",\n" +
-                    "  \"screenBrightnessInfo\":{\n" +
+                    "  \"volumeInfo\":{\n" +
                     "    \"ratio\":" + param.getVolume() + "\n" +
                     "  }\n" +
                     "}";
@@ -568,7 +679,7 @@
 
         System.out.println("ViplexCore Demo nvSetScreenBrightnessAsync(璁剧疆浜害) begin... ");
         CountDownLatch countDownLatch = new CountDownLatch(1);
-        StatusVO login = login(param.getSn());
+        StatusVO login = login(param.getSn(), 0);
         if (login.getStatusCode() == 0) {
             String jsonStr = "{\n" +
                     "  \"sn\":\"" + param.getSn() + "\",\n" +
@@ -620,10 +731,15 @@
                         @Override
                         public void dataCallBack(int code, String data) {
 
-                            System.out.println("\nViplexCore 鑾峰彇浜害 code:" + code);
-                            System.out.println("\nViplexCore 鑾峰彇浜害 data:" + data);
+                            System.out.println("\nViplexCore 鑾峰彇鍚屾 code:" + code);
+                            System.out.println("\nViplexCore 鑾峰彇鍚屾 data:" + data);
                             if (code == 0) {
-                                newNova.setSync(1);
+                                boolean enable = (boolean) JSON.parseObject(data, Map.class).get("enable");
+                                if (enable) {
+                                    newNova.setSync(1);
+                                }
+                            } else {
+                                newNova.setSync(-1);
                             }
                             countDownLatch.countDown();
                         }
@@ -656,11 +772,15 @@
             new Thread(new Runnable() {
                 @Override
                 public void run() {
-                    //鎺ㄩ�佺粨鏋�
-                    instance.nvSetSyncPlayAsync("{\n" +
+                    login(newNova.getSn(), 0);
+                    String str = "{\n" +
                             "  \"sn\":\"" + newNova.getSn() + "\",\n" +
                             "  \"enable\":" + param.isSync() + "\n" +
-                            "}", new ViplexCore.CallBack() {
+                            "}";
+
+                    System.out.println("str : " + str);
+                    //鎺ㄩ�佺粨鏋�
+                    instance.nvSetSyncPlayAsync(str, new ViplexCore.CallBack() {
                         @Override
                         public void dataCallBack(int code, String data) {
 
@@ -695,52 +815,59 @@
             throw new BusinessException("閲嶅惎璁惧涓嶈兘涓虹┖ !");
         }
         param.getNovaList().forEach(newNova -> {
-            CountDownLatch countDownLatch = new CountDownLatch(1);
-            new Thread(new Runnable() {
-                @Override
-                public void run() {
-                    //鎺ㄩ�佺粨鏋�
-                    instance.nvSetReBootTaskAsync("{\n" +
-                            "  \"sn\":\"" + newNova.getSn() + "\",\n" +
-                            "  \"taskInfo\":{\n" +
-                            "    \"type\":\"REBOOT\",\n" +
-                            "    \"source\":{\n" +
-                            "      \"type\":0,\n" +
-                            "      \"platform\":4\n" +
-                            "    },\n" +
-                            "    \"executionType\":\"IMMEDIATELY\",\n" +
-                            "    \"reason\":\"Just to reboot\",\n" +
-                            "    \"conditions\":[\n" +
-                            "      {\n" +
-                            "        \"cron\":[\n" +
-                            "          \"0 15 10 ? * *\",\n" +
-                            "          \"0 0 12 * * ?\"\n" +
-                            "        ],\n" +
-                            "        \"enable\":false\n" +
-                            "      }\n" +
-                            "    ]\n" +
-                            "  }\n" +
-                            "}", new ViplexCore.CallBack() {
+                    CountDownLatch countDownLatch = new CountDownLatch(1);
+                    new Thread(new Runnable() {
                         @Override
-                        public void dataCallBack(int code, String data) {
-
-                            System.out.println("\nViplexCore 閲嶅惎 code:" + code);
-                            System.out.println("\nViplexCore 閲嶅惎 data:" + data);
-                            if (code == 0) {
-                                newNova.setStatus(true);
+                        public void run() {
+                            StatusVO login = login(newNova.getSn(), 1);
+                            if (login.getStatusCode() != 0) {
+                                countDownLatch.countDown();
+                                return;
                             }
-                            countDownLatch.countDown();
-                        }
-                    });
+                            //鎺ㄩ�佺粨鏋�
+                            instance.nvSetReBootTaskAsync("{\n" +
+                                    "  \"sn\":\"" + newNova.getSn() + "\",\n" +
+                                    "  \"taskInfo\":{\n" +
+                                    "    \"type\":\"REBOOT\",\n" +
+                                    "    \"source\":{\n" +
+                                    "      \"type\":0,\n" +
+                                    "      \"platform\":4\n" +
+                                    "    },\n" +
+                                    "    \"executionType\":\"IMMEDIATELY\",\n" +
+                                    "    \"reason\":\"Just to reboot\",\n" +
+                                    "    \"conditions\":[\n" +
+                                    "      {\n" +
+                                    "        \"cron\":[\n" +
+                                    "          \"0 15 10 ? * *\",\n" +
+                                    "          \"0 0 12 * * ?\"\n" +
+                                    "        ],\n" +
+                                    "        \"enable\":false\n" +
+                                    "      }\n" +
+                                    "    ]\n" +
+                                    "  }\n" +
+                                    "}", new ViplexCore.CallBack() {
+                                @Override
+                                public void dataCallBack(int code, String data) {
 
+                                    System.out.println("\nViplexCore 閲嶅惎 code:" + code);
+                                    System.out.println("\nViplexCore 閲嶅惎 data:" + data);
+                                    if (code == 0) {
+                                        newNova.setStatus(true);
+                                    }
+                                    countDownLatch.countDown();
+                                }
+                            });
+
+                        }
+                    }).start();
+                    try {
+                        countDownLatch.await(30000, TimeUnit.MILLISECONDS);
+                    } catch (InterruptedException e) {
+                        throw new RuntimeException(e);
+                    }
+                    login(newNova.getSn(), 0);
                 }
-            }).start();
-            try {
-                countDownLatch.await(30000, TimeUnit.MILLISECONDS);
-            } catch (InterruptedException e) {
-                throw new RuntimeException(e);
-            }
-        });
+        );
 
         return param.getNovaList();
     }
@@ -761,9 +888,9 @@
             new Thread(new Runnable() {
                 @Override
                 public void run() {
-                    //鎺ㄩ�佺粨鏋�
-                    instance.nvSetNetTimingInfoAsync("{\n" +
-                            "  \"sn\":\"" + newNova.getSn() + "\",\n" +
+//                    login(newNova.getSn(), 0);
+                    String ntpStr="{\n" +
+                            "  \"sn\":\""+newNova.getSn()+"\",\n" +
                             "  \"TimingInfo\":{\n" +
                             "    \"source\":{\n" +
                             "      \"type\":1,\n" +
@@ -774,19 +901,25 @@
                             "        \"type\":\"NTP_CONFIG\",\n" +
                             "        \"action\":4,\n" +
                             "        \"data\":{\n" +
-                            "          \"enable\":" + param.isNtp() + ",\n" +
-                            "          \"server\":\"http://ntpsss.net\"\n" +
+                            "          \"enable\":"+param.isNtp()+",\n" +
+                            "          \"server\":\"http://ntp1.aliyun.com\"\n" +
                             "        }\n" +
                             "      }\n" +
                             "    ]\n" +
                             "  }\n" +
-                            "}", new ViplexCore.CallBack() {
+                            "}";
+                    System.out.println("ntpStr"+ ntpStr);
+
+                    //鎺ㄩ�佺粨鏋�
+                    instance.nvSetNetTimingInfoAsync(ntpStr, new ViplexCore.CallBack() {
                         @Override
                         public void dataCallBack(int code, String data) {
 
-                            System.out.println("\nViplexCore 閲嶅惎 code:" + code);
-                            System.out.println("\nViplexCore 閲嶅惎 data:" + data);
-                            if (code == 0) {
+                            System.out.println("\nViplexCore ntp code:" + code);
+                            System.out.println("\n鏃堕棿 ntp :" + DateTime.now());
+                            System.out.println("\nViplexCore ntp data:" + data);
+                            if (code == 0 && data.contains("\"status\":1")) {
+                                System.out.println("results: " + data.contains("\"status\":1"));
                                 newNova.setStatus(true);
                             }
                             countDownLatch.countDown();
@@ -805,4 +938,61 @@
         return param.getNovaList();
     }
 
+
+    /**
+     * 鎴睆
+     */
+    public List<NewNovaStatusParam.NovascreenShotDTO> screenShot(NewNovaStatusParam param) {
+
+        System.out.println("ViplexCore Demo nvDownLoadScreenshotAsync(鎴睆) begin... ");
+        NovaFileConfig config = SpringContextHolder.getBean(NovaFileConfig.class);
+        String shotPath = config.getScreenShotPath();
+        param.getScreenShotList().forEach(newNova -> {
+            CountDownLatch countDownLatch = new CountDownLatch(1);
+            new Thread(new Runnable() {
+
+                @Override
+                public void run() {
+                    login(newNova.getSn(), 0);
+                    String pictureName = newNova.getSn() + ".png";
+                    String str = "{\n" +
+                            "  \"sn\":\"" + newNova.getSn() + "\",\n" +
+                            "  \"width\":400,\n" +
+                            "  \"height\":400,\n" +
+                            "  \"downLoadDirectoryPath\":\"" + shotPath.replace(File.separator, "/") + "\",\n" +
+                            "  \"pictureName\":\"" + pictureName + "\",\n" +
+                            "  \"pictureType\":0\n" +
+                            "}";
+                    System.out.println("str" + str);
+                    //鎺ㄩ�佺粨鏋�
+                    instance.nvDownLoadScreenshotAsync(str, new ViplexCore.CallBack() {
+                        @Override
+                        public void dataCallBack(int code, String data) {
+
+                            System.out.println("\nViplexCore 鎴睆 code:" + code);
+                            System.out.println("\nViplexCore 鎴睆 data:" + data);
+                            newNova.setCode(code);
+                            if (code == 0) {
+                                String img = config.getScreenShotPath() + pictureName;
+                                newNova.setScreenShot(config.getFileUrl() + img.replace(config.getUploadRootPath(), "").replace(File.separator, "/"));
+                            } else {
+                                newNova.setScreenShot(data);
+                            }
+                            countDownLatch.countDown();
+                        }
+                    });
+
+                }
+            }).start();
+            try {
+                countDownLatch.await(30000, TimeUnit.MILLISECONDS);
+            } catch (InterruptedException e) {
+                throw new RuntimeException(e);
+            }
+        });
+
+        return param.getScreenShotList();
+    }
+
+
 }

--
Gitblit v1.9.3