//package com.basic.security.utils; //import android.os.SystemClock; //import android.text.TextUtils; // //import com.basic.security.activity.MainActivity; //import com.basic.security.base.BaseApplication; //import com.basic.security.manager.AlarmManager; //import com.basic.security.utils.Constants; //import com.google.gson.JsonArray; //import com.google.gson.JsonElement; //import com.google.gson.JsonObject; //import com.google.gson.JsonParseException; //import com.google.gson.JsonParser; // //import java.io.BufferedInputStream; //import java.io.BufferedOutputStream; //import java.io.ByteArrayOutputStream; //import java.net.Socket; //import java.util.ArrayList; //import java.util.Collections; //import java.util.Comparator; //import java.util.HashMap; //import java.util.LinkedList; //import java.util.List; //import java.util.Map; // //public class SocketAcceptedClient extends Thread { // // Socket mSocket; // byte[] buff = new byte[1*1024*1024]; // ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); // public static boolean needRestart = false; // List> newRemoteAlarmList = null; // // private static final int MAX_BUFFER = 15; // // private static LinkedList mRgbCameraQueue = new LinkedList(); // // public SocketAcceptedClient(Socket client) { // mSocket = client; // } // // public Comparator> mapComparator = new Comparator>() { // public int compare(Map m1, Map m2) { // try { // double score1 = Double.parseDouble(m1.get("likePer")); // double score2 = Double.parseDouble(m2.get("likePer")); // return (int)(score1 - score2); // } catch (Exception e) { // e.printStackTrace(); // } // return 0; // } // }; // // public void parseJson(String msg) { // // JsonParser parser = new JsonParser(); // boolean isJSON = true; // JsonElement element = null; // try { // element = parser.parse(msg); // } catch (JsonParseException e) { // System.out.println("exception: "+ msg + " " + e); // isJSON = false; // } // newRemoteAlarmList = new ArrayList<>(); // if (isJSON && element != null) { // Object obj = element.getAsJsonObject(); // JsonArray dataList = (JsonArray) ((JsonObject) obj).get("datalist"); // for (int i = 0; i < dataList.size(); i++) { // JsonObject je = (JsonObject)dataList.get(i); // Map newRemoteAlarm = new HashMap<>(); // for(Map.Entry entry : je.entrySet()) { // Object value = entry.getValue(); // String key = entry.getKey(); // if (value != null) { // if ("baseInfo".equals(key)) { // List> matchPersonMapList = new ArrayList<>(); // List matchPersonStrList = new ArrayList<>(); // String matchPersonListStr = ""; // if (value instanceof JsonArray) { // JsonArray matchPersonList = (JsonArray)value; // for (int ii = 0; ii < matchPersonList.size(); ii++ ) { // JsonObject matchPerson = (JsonObject)matchPersonList.get(ii); // Map matchPersonMap = new HashMap<>(); // // for(Map.Entry matchPersonEntry : matchPerson.entrySet()) { // String matchPersonKey = matchPersonEntry.getKey(); // Object matchPersonValue = matchPersonEntry.getValue(); // if (matchPersonValue != null) { // String matchPersonValueStr = matchPersonValue.toString(); // if (matchPersonValueStr.startsWith("\"")) { // matchPersonValueStr = matchPersonValueStr.substring(1); // } // if (matchPersonValueStr.endsWith("\"")) { // matchPersonValueStr = matchPersonValueStr.substring(0, matchPersonValueStr.length() - 1); // } // matchPersonMap.put(matchPersonKey, matchPersonValueStr); // } else { // matchPersonMap.put(matchPersonKey, ""); // } // } // matchPersonMap.put("mathPersonStr", matchPersonMap.get("tableName")+ " " + matchPersonMap.get("personName")); // matchPersonMapList.add(matchPersonMap); // } // Collections.sort(matchPersonMapList, mapComparator); // for (Map matchPersonMap : matchPersonMapList) { // matchPersonStrList.add(matchPersonMap.get("mathPersonStr")); // } // matchPersonListStr = TextUtils.join("`", matchPersonStrList); // } // newRemoteAlarm.put("matchPersonListStr", matchPersonListStr); // } else { // newRemoteAlarm.put(entry.getKey(), value.toString()); // } // } // } // newRemoteAlarmList.add(newRemoteAlarm); // } //// // if (newRemoteAlarmList != null && newRemoteAlarmList.size() > 0) { //// System.out.println("receive"); //// if (1==1) { //// return; //// } // AlarmManager.renameKeys(newRemoteAlarmList); // if (AlarmManager.saveRemoteAlarmListToSqlite(newRemoteAlarmList) > 0) { // ((MainActivity) BaseApplication.getApplication().activity).fragment_home.refreshGridView(); // } // } else { // if (((MainActivity)BaseApplication.getApplication().activity).currentFragment == // ((MainActivity)BaseApplication.getApplication().activity).fragment_home) { // ToastUtil.show("获取报警数据失败"); // } // } // } // } // // @Override // public void run() { // try { // BufferedOutputStream outputStream = new BufferedOutputStream(mSocket.getOutputStream()); // BufferedInputStream inputStream = new BufferedInputStream(mSocket.getInputStream()); // String msg = ""; // int len = 0; // while ((len = inputStream.read(buff)) != -1) { // for (int i1 = 0; i1