package cn.com.basic.face.service; import org.xutils.http.RequestParams; import org.xutils.x; import java.io.File; import java.io.FileWriter; import java.util.List; import cn.com.basic.face.base.BaseApplication; import cn.com.basic.face.base.MainActivity; import cn.com.basic.face.discern.common.BaseCommonCallBack; import cn.com.basic.face.discern.common.CommonVariables; import cn.com.basic.face.discern.common.SqliteSqlBean; import cn.com.basic.face.discern.query.item.SurveillanceQueryItem; import cn.com.basic.face.discern.query.item.UnknownQueryItem; import cn.com.basic.face.service.sqlite.SurveillanceDao; import cn.com.basic.face.util.AppApi; import cn.com.basic.face.util.FileUtil; import cn.com.basic.face.util.SqliteSqlUtil; import cn.com.basic.face.util.SurveillanceQueryItemUtil; import cn.com.basic.face.util.UnknownSurveillanceQueryItemUtil; public class SurveillanceMng { private static SurveillanceMng instance = new SurveillanceMng(); public static SurveillanceMng getInstance() { return instance; } public void addOfflineBitmap(final List bitmapList, final byte[] rawData, final String cameraInOrOut) { SurveillanceDao.getInstance().saveOfflineUnknownToLocal(bitmapList, rawData, cameraInOrOut); UnknownSurveillanceQueryItemUtil.getInstance().addItems(bitmapList); } public static class SurveillanceListThread extends Thread { @Override public void run() { try { while (true) { MainActivity.getInstance().runOnUiThread(new Runnable() { @Override public void run() { if (BaseApplication.getInstance().networkAvailable()) { SurveillanceQueryItemUtil.getInstance().removeTimeoutItemAndShow(); } else { UnknownSurveillanceQueryItemUtil.getInstance().removeTimeoutItemAndShow(); } } }); Thread.sleep(1000*60*5); } } catch (Exception e) { e.printStackTrace(); } } } int fileIndex = 1; public void addBitmap(final List bitmapList, final byte[] byteArray, int len, final String cameraInOrOut, byte[] surveillancePhotoBytes) { if (!BaseApplication.deviceAvailable) { return; } try { if (fileIndex > 30) { fileIndex = 1; } fileIndex++; RequestParams params = new RequestParams(); File rawSurveillancePhotoFile = FileUtil.writeToFile("rawSurveillancePhotoFile_"+fileIndex, byteArray); File surveillancePhotoFile = FileUtil.writeToFile("surveillancePhotoFile_"+fileIndex, surveillancePhotoBytes); params.addBodyParameter("InOrOutCamera", cameraInOrOut + ""); params.addBodyParameter("deviceId", BaseApplication.getInstance().getAndroidDevice().getDeviceId()); params.addBodyParameter("rawSurveillancePhoto", rawSurveillancePhotoFile); params.addBodyParameter("surveillancePhoto", surveillancePhotoFile); File path = BaseApplication.getInstance().getFilesDir(); if (!rawSurveillancePhotoFile.exists()) { rawSurveillancePhotoFile.createNewFile(); } File f0 = new File(path, "f0"); if (!f0.exists()) { f0.createNewFile(); } FileWriter fw0 = new FileWriter(f0); fw0.write("test1"); fw0.close(); params.setUri(AppApi.BASE_URL + AppApi.SURVEILLANCE_UPLOAD); params.addBodyParameter("f0", f0); params.addBodyParameter("rawSurveillancePhoto", rawSurveillancePhotoFile); params.addBodyParameter("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId()); x.http().post(params, new BaseCommonCallBack() { @Override public void success() { try { SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class)); SurveillanceQueryItemUtil.getInstance().addItems(resultBean.getList(SurveillanceQueryItem.class), bitmapList, cameraInOrOut); } catch(Exception e) { e.printStackTrace(); } } }); }catch(Exception e) { e.printStackTrace(); } } public void removePhotoFileWhenStorageIsSlow() { } }