From 98301d9ab6f17a56b7c2edd47d0e1dcc78ff5535 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Wed, 27 Jan 2021 12:25:38 +0800 Subject: [PATCH] fixed conflict --- .../mogo/cloud/network/NetworkActivity.java | 75 +++++---- .../java/com/mogo/cloud/tanlu/CosUpload.java | 98 +++++++----- .../cloud/tanlu/MogoRoadSearchManager.java | 16 +- .../mogo/cloud/tanlu/MogoUploadManager.java | 29 ---- .../com/mogo/cloud/tanlu/UploadManager.java | 35 ++-- .../com/mogo/cloud/tanlu/bean/UploadInfo.java | 20 ++- .../cloud/tanlu/constant/HttpConstant.java | 2 + .../com/mogo/cloud/tanlu/utils/FileUtil.kt | 149 ++++++++++++++++++ .../mogo/cloud/tanlu/utils/TanluUtils.java | 1 + 9 files changed, 280 insertions(+), 145 deletions(-) create mode 100644 modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/utils/FileUtil.kt diff --git a/app/src/main/java/com/mogo/cloud/network/NetworkActivity.java b/app/src/main/java/com/mogo/cloud/network/NetworkActivity.java index 97e841d..a07172f 100644 --- a/app/src/main/java/com/mogo/cloud/network/NetworkActivity.java +++ b/app/src/main/java/com/mogo/cloud/network/NetworkActivity.java @@ -97,48 +97,34 @@ public class NetworkActivity extends AppCompatActivity { } public void uploadRoadInfo() { -// MogoUploadManager.getInstance(NetworkActivity.this).init(); + UploadInfo info = new UploadInfo(); -// UploadInfo info = new UploadInfo(); -// // List filePath = new ArrayList<>(); // filePath.add("/storage/emulated/0/Movies/compress_video_20210126174432.mp4"); // filePath.add("/data/user/0/com.mogo.launcher.f/Thumbnail1611654285824.jpg"); -// info.setFilePath(filePath); -// -// info.setAddr("北京市东城区小黄庄北街2号靠近中国银行"); -// info.setLongitude(116.410892); -// info.setLatitude(39.968317); -// info.setPoiType("10007"); -// info.setDirection(0); -// info.setAreaCode("110101"); -// info.setCityCode("010"); -// info.setSn("F803EB2046PZD00228"); -// -// MogoUploadManager.getInstance(NetworkActivity.this).uploadInfo(info, new ITanluUploadCallback() { -// @Override -// public void onSuccess(UploadResult result) { -// Log.d(TAG, "NetworkActivity uploadRoadInfo result.id = " + result.id); -// tvResult.setText("onSuccess - " + result.id + ""); -// } -// -// @Override -// public void onFailure(int code) { -// Log.d(TAG, "NetworkActivity uploadRoadInfo code = " + code); -// } -// -// @Override -// public void onError(Throwable e) { -// Log.d(TAG, "NetworkActivity uploadRoadInfo onError e = " + e); -// } -// }); - UploadManager.getInstance(NetworkActivity.this).init(); - UploadManager.getInstance(NetworkActivity.this).loadUpload(null, new ITanluUploadCallback() { +// info.setFilePath("/storage/emulated/0/Movies/compress_video_20210127112035.mp4"); + info.setFilePath("/storage/emulated/0/Movies/2222.png"); + + info.setAddr("北京市东城区小黄庄北街2号靠近中国银行"); + info.setLongitude(116.410892); + info.setLatitude(39.968317); + info.setPoiType("10007"); + info.setDirection(0); + info.setAreaCode("110101"); + info.setCityCode("010"); + info.setSn("F803EB2046PZD00228"); + info.setType(0); //0为图片, 1为视频 + + MogoUploadManager.getInstance(NetworkActivity.this).uploadInfo(info, new ITanluUploadCallback() { @Override public void onSuccess(BaseData result) { - Log.d(TAG, "NetworkActivity uploadRoadInfo result.id = " + result.getResult().id); - tvResult.setText(result.getResult().id + ""); + if (result != null && result.getResult() != null) { + Log.d(TAG, "NetworkActivity uploadRoadInfo result.id = " + result.getResult().id); + tvResult.setText(result.getResult().id + ""); + } else { + Log.e(TAG, "NetworkActivity uploadRoadInfo result == null"); + } } @Override @@ -151,6 +137,25 @@ public class NetworkActivity extends AppCompatActivity { Log.d(TAG, "NetworkActivity uploadRoadInfo onError e = " + e); } }); + +// UploadManager.getInstance(NetworkActivity.this).init(); +// UploadManager.getInstance(NetworkActivity.this).loadUpload(null,new ITanluUploadCallback() { +// @Override +// public void onSuccess(BaseData result) { +// Log.d(TAG, "NetworkActivity uploadRoadInfo result.id = " + result.getResult().id); +// tvResult.setText(result.getResult().id + ""); +// } +// +// @Override +// public void onFailure(int code) { +// Log.d(TAG, "NetworkActivity uploadRoadInfo code = " + code); +// } +// +// @Override +// public void onError(Throwable e) { +// Log.d(TAG, "NetworkActivity uploadRoadInfo onError e = " + e); +// } +// }); } public void queryRoadData(String sn) { diff --git a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/CosUpload.java b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/CosUpload.java index 93c1ab1..e7b3e0d 100644 --- a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/CosUpload.java +++ b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/CosUpload.java @@ -10,11 +10,18 @@ import com.mogo.cloud.tanlu.api.ITanluUploadCallback; import com.mogo.cloud.tanlu.bean.InformationBody; import com.mogo.cloud.tanlu.bean.UploadInfo; import com.mogo.cloud.tanlu.bean.UploadResult; +import com.mogo.cloud.tanlu.constant.HttpConstant; import com.zhidao.cosupload.DbPriorityConfig; import com.zhidao.cosupload.callback.CosStatusCallback; import com.zhidao.cosupload.callback.CosStatusCallbackManager; import com.zhidao.cosupload.manager.CosUploadManagerImpl; +import java.util.ArrayList; +import java.util.List; + +import static com.mogo.cloud.tanlu.utils.FileUtilKt.deletePicFile; +import static com.mogo.cloud.tanlu.utils.FileUtilKt.getVideoPicPath; +import static com.mogo.cloud.tanlu.utils.FileUtilKt.getVideoThumbnail; import static com.mogo.cloud.tanlu.utils.TanluUtils.isVideo; /** @@ -23,7 +30,6 @@ import static com.mogo.cloud.tanlu.utils.TanluUtils.isVideo; * @since 2021/1/21 */ public class CosUpload implements CosStatusCallback { - private static final String TAG = "liyz"; private static CosUpload sInstance; private Context mContext; private String mPicEventId; @@ -31,7 +37,8 @@ public class CosUpload implements CosStatusCallback { private UploadInfo mUploadInfo; private String mCosVideoUrl; private String mCosPicUrl; - + private List filePath = new ArrayList<>(); + private String videoCoverImage; private CosUpload(Context context) { mContext = context; @@ -55,54 +62,58 @@ public class CosUpload implements CosStatusCallback { } public void uploadInfo(UploadInfo info, ITanluUploadCallback callback) { - Log.d(TAG, "info.getFilePath() = " + info.getFilePath().toString()); + Log.d(HttpConstant.TANLU, "videoPath = " + info.getFilePath()); + if (isVideo(info.getFilePath())) { + videoCoverImage = getVideoPicPath(); + Log.d(HttpConstant.TANLU, "videoCoverImage = " + videoCoverImage); + boolean isSuccess = getVideoThumbnail(info.getFilePath(), videoCoverImage); + Log.d(HttpConstant.TANLU, "isSuccess = " + isSuccess); + filePath.add(info.getFilePath()); + filePath.add(videoCoverImage); + } else { + videoCoverImage = null; + filePath.add(info.getFilePath()); + } + + Log.e(HttpConstant.TANLU, "filePath.size() = " + filePath.size()); CosUploadManagerImpl.getInstance(mContext.getApplicationContext()) - .upload(info.getFilePath(), mPicEventId, DbPriorityConfig.PRIORITY_HIGH); + .upload(filePath, mPicEventId, DbPriorityConfig.PRIORITY_HIGH); mCallback = callback; mUploadInfo = info; } @Override public void onStartUpload(String eventId, String localPath) { - Log.d(TAG, "onStartUpload ----> "); + Log.d(HttpConstant.TANLU, "onStartUpload ----> "); } @Override public void uploadCosCompleted(String cosPath, String eventId, String downloadUrl, String localPath) { - Log.d(TAG, "uploadCosCompleted ----> cosPath =" + cosPath + "--eventId =" + eventId); - Log.d(TAG, "uploadCosCompleted ----> downloadUrl =" + downloadUrl + "--localPath =" + localPath); -// if (localPath.endsWith("mp4")) { //如何判断视频图片 -// //如果是视频文件或者缩略图文件 -// if (localPath.endsWith("mp4")) { -// mCosVideoUrl = downloadUrl; -// } else { -// mCosPicUrl = downloadUrl; -// } -// -// if (mCosVideoUrl != null && mCosPicUrl != null) { -// //上传录像以及缩略图成功 -// sendInformation(); -// } -// } else { -// //上传图片成功, 如果是上报路况,直接上传 -// Log.d(TAG, "uploadCosCompleted 分享成功 ---- mType = $mType"); -// } - - if (isVideo(localPath)) { //如果是视频 TODO + Log.d(HttpConstant.TANLU, "uploadCosCompleted ----> cosPath =" + cosPath + "--eventId =" + eventId); + Log.d(HttpConstant.TANLU, "uploadCosCompleted ----> downloadUrl =" + downloadUrl + "--localPath =" + localPath); + if (filePath.size() == 2) { + if (isVideo(localPath)) { //如果是视频 localPath + Log.e(HttpConstant.TANLU, "1111111-------"); + mCosVideoUrl = downloadUrl; + } else { + Log.e(HttpConstant.TANLU, "22222222------"); + mCosPicUrl = downloadUrl; + } + Log.d(HttpConstant.TANLU, "mCosVideoUrl = " + mCosVideoUrl + " >>>mCosPicUrl = " + mCosPicUrl); + if (mCosPicUrl != null && mCosVideoUrl != null) { + sendInformation(); + } } else { + Log.e(HttpConstant.TANLU, "333333------"); + mCosPicUrl = downloadUrl; sendInformation(); } - - //TODO - mCosVideoUrl = downloadUrl; - - } @Override public void uploadCosFailed(String cosPath, String eventId, String localPath) { - Log.e(TAG, "uploadCosFailed ----> cosPath = " + cosPath + "--eventId =" + eventId + "--localPath =" + localPath); + Log.e(HttpConstant.TANLU, "uploadCosFailed ----> cosPath = " + cosPath + "--eventId =" + eventId + "--localPath =" + localPath); sendInformation(); } @@ -112,22 +123,34 @@ public class CosUpload implements CosStatusCallback { } private void sendInformation() { + //清理数据 + if (filePath != null) { + filePath.clear(); + } + + //删除本地生成的图片封面 + if (videoCoverImage != null) { + boolean isDeleteSuccess = deletePicFile(videoCoverImage); + } + UploadManager.getInstance(mContext.getApplicationContext()).loadUpload(getInformation(), new ITanluUploadCallback() { @Override public void onSuccess(BaseData result) { - Log.d(TAG, "uploadRoadInfo result.id = " + result.getResult().id); + if (result != null && result.getResult() != null) { + Log.d(HttpConstant.TANLU, "uploadRoadInfo result.id = " + result.getResult().id); + } mCallback.onSuccess(result); } @Override public void onFailure(int code) { - Log.d(TAG, " uploadRoadInfo code = " + code); + Log.d(HttpConstant.TANLU, " uploadRoadInfo code = " + code); mCallback.onFailure(code); } @Override public void onError(Throwable e) { - Log.d(TAG, "uploadRoadInfo onError e = " + e); + Log.d(HttpConstant.TANLU, "uploadRoadInfo onError e = " + e); mCallback.onError(e); } }); @@ -137,11 +160,10 @@ public class CosUpload implements CosStatusCallback { InformationBody informationBody = new InformationBody(); JsonArray jsonArray = new JsonArray(); JsonObject jsonObject = new JsonObject(); - jsonObject.addProperty("thumbnail", mCosVideoUrl); - jsonObject.addProperty("url", mCosPicUrl); + jsonObject.addProperty("thumbnail", mCosPicUrl); + jsonObject.addProperty("url", mCosVideoUrl); jsonArray.add(jsonObject); - Log.d(TAG, "mCosVideoUrl = " + mCosVideoUrl + "--mCosPicUrl =" + mCosPicUrl); - Log.d(TAG, "jsonArray.toString() = " + jsonArray.toString()); + Log.d(HttpConstant.TANLU, "jsonArray.toString() = " + jsonArray.toString()); informationBody.setData(jsonArray.toString()); informationBody.setAddr(mUploadInfo.getAddr()); diff --git a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/MogoRoadSearchManager.java b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/MogoRoadSearchManager.java index 6b7e234..9cb99d9 100644 --- a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/MogoRoadSearchManager.java +++ b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/MogoRoadSearchManager.java @@ -3,21 +3,16 @@ package com.mogo.cloud.tanlu; import android.content.Context; import android.util.Log; -import com.google.gson.Gson; import com.mogo.cloud.commons.network.BaseData; import com.mogo.cloud.commons.network.RetrofitFactory; import com.mogo.cloud.passport.MoGoAiCloudClient; import com.mogo.cloud.tanlu.api.IRoadInfoSearchCallback; -import com.mogo.cloud.tanlu.api.ITanluUploadCallback; -import com.mogo.cloud.tanlu.bean.InformationBody; import com.mogo.cloud.tanlu.bean.RoadInfoRequest; import com.mogo.cloud.tanlu.bean.RoadInfos; -import com.mogo.cloud.tanlu.bean.UploadResult; -import com.mogo.cloud.tanlu.bean.location.Location; +import com.mogo.cloud.tanlu.constant.HttpConstant; import com.mogo.cloud.tanlu.net.TanluApiService; import com.mogo.utils.network.utils.GsonUtil; -import java.util.ArrayList; import java.util.HashMap; import java.util.Map; @@ -33,7 +28,6 @@ import io.reactivex.schedulers.Schedulers; * @since 2021/1/21 */ public class MogoRoadSearchManager { - private static final String TAG = "MogoRoadSearchManager"; private static MogoRoadSearchManager sInstance; private Context mContext; private TanluApiService apiService; @@ -88,24 +82,24 @@ public class MogoRoadSearchManager { .subscribe(new Observer>() { @Override public void onSubscribe(@NonNull Disposable d) { - Log.d(TAG, "queryRoadInfos onSubscribe "); + Log.d(HttpConstant.TANLU, "queryRoadInfos onSubscribe "); } @Override public void onNext(@NonNull BaseData roadInfos) { - Log.d(TAG, "queryRoadInfos onNext roadInfos = " + roadInfos.getResult().getData()); + Log.d(HttpConstant.TANLU, "queryRoadInfos onNext roadInfos = " + roadInfos.getResult().getData()); callback.onSuccess(roadInfos); } @Override public void onError(@NonNull Throwable e) { - Log.d(TAG, "queryRoadInfos onError "); + Log.d(HttpConstant.TANLU, "queryRoadInfos onError "); callback.onError(e); } @Override public void onComplete() { - Log.d(TAG, "queryRoadInfos onComplete "); + Log.d(HttpConstant.TANLU, "queryRoadInfos onComplete "); } }); } diff --git a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/MogoUploadManager.java b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/MogoUploadManager.java index 3be608d..c01a438 100644 --- a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/MogoUploadManager.java +++ b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/MogoUploadManager.java @@ -1,36 +1,9 @@ package com.mogo.cloud.tanlu; import android.content.Context; -import android.util.Log; -import com.google.gson.Gson; -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import com.mogo.cloud.commons.network.RetrofitFactory; -import com.mogo.cloud.passport.MoGoAiCloudClient; -import com.mogo.cloud.tanlu.api.IRoadInfoSearchCallback; import com.mogo.cloud.tanlu.api.ITanluUploadCallback; -import com.mogo.cloud.tanlu.bean.InformationBody; -import com.mogo.cloud.tanlu.bean.RoadInfoRequest; -import com.mogo.cloud.tanlu.bean.RoadInfos; import com.mogo.cloud.tanlu.bean.UploadInfo; -import com.mogo.cloud.tanlu.bean.UploadResult; -import com.mogo.cloud.tanlu.bean.location.Location; -import com.mogo.cloud.tanlu.net.TanluApiService; -import com.mogo.utils.network.utils.GsonUtil; -import com.zhidao.cosupload.DbPriorityConfig; -import com.zhidao.cosupload.callback.CosStatusCallback; -import com.zhidao.cosupload.manager.CosUploadManagerImpl; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Map; - -import io.reactivex.Observer; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.annotations.NonNull; -import io.reactivex.disposables.Disposable; -import io.reactivex.schedulers.Schedulers; /** * @author lixiaopeng @@ -38,7 +11,6 @@ import io.reactivex.schedulers.Schedulers; * @since 2021/1/21 */ public class MogoUploadManager { - private static final String TAG = "liyz"; private static MogoUploadManager sInstance; private Context mContext; @@ -53,7 +25,6 @@ public class MogoUploadManager { sInstance = new MogoUploadManager(context); } } - return sInstance; } diff --git a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/UploadManager.java b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/UploadManager.java index 8c91e88..ff45a56 100644 --- a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/UploadManager.java +++ b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/UploadManager.java @@ -7,30 +7,17 @@ import com.google.gson.Gson; import com.mogo.cloud.commons.network.BaseData; import com.mogo.cloud.commons.network.RetrofitFactory; import com.mogo.cloud.passport.MoGoAiCloudClient; -import com.mogo.cloud.tanlu.api.IRoadInfoSearchCallback; import com.mogo.cloud.tanlu.api.ITanluUploadCallback; import com.mogo.cloud.tanlu.bean.InformationBody; -import com.mogo.cloud.tanlu.bean.RoadInfoRequest; -import com.mogo.cloud.tanlu.bean.RoadInfos; import com.mogo.cloud.tanlu.bean.UploadResult; -import com.mogo.cloud.tanlu.bean.location.Location; -import com.mogo.cloud.tanlu.bean.location.MogoLocation; +import com.mogo.cloud.tanlu.constant.HttpConstant; import com.mogo.cloud.tanlu.net.TanluApiService; -import com.mogo.utils.logger.Logger; -import com.mogo.utils.network.RequestOptions; -import com.mogo.utils.network.utils.GsonUtil; -import java.util.ArrayList; import java.util.HashMap; import java.util.Map; -import io.reactivex.Observable; -import io.reactivex.ObservableEmitter; -import io.reactivex.ObservableOnSubscribe; import io.reactivex.Observer; import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.annotations.NonNull; import io.reactivex.disposables.Disposable; -import io.reactivex.functions.Function; import io.reactivex.schedulers.Schedulers; /** @@ -39,7 +26,6 @@ import io.reactivex.schedulers.Schedulers; * @since 2021/1/21 */ public class UploadManager { - private static final String TAG = "UploadManager"; private static UploadManager sInstance; private Context mContext; private TanluApiService apiService; @@ -75,37 +61,36 @@ public class UploadManager { Gson gson = new Gson(); Map map = new HashMap<>(); // map.put("sn", MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn()); //TODO -// map.put("sn", "F803EB2046PZD00228"); -// map.put("data", gson.toJson(informationBody)); -// Log.d(TAG, "info = " + gson.toJson(informationBody)); - map.put("sn", "ZD802C1938L10797"); - map.put("data", "{\"addr\":\"北京市东城区小黄庄北街2号靠近中国银行(北京安贞桥支行)\",\"areaCode\":\"110101\",\"areaName\":\"东城区\",\"cityCode\":\"010\",\"cityName\":\"北京市\",\"data\":\"[{\\\"thumbnail\\\":\\\"http://petchfile-1255510688.cos.ap-beijing.myqcloud.com/CarPad/com.zhidao.roadcondition/F803EB2046PZD00228/F803EB2046PZD00228_20210121165329/Thumbnail1611219200669.jpg\\\",\\\"url\\\":\\\"http://petchfile-1255510688.cos.ap-beijing.myqcloud.com/CarPad/com.zhidao.roadcondition/F803EB2046PZD00228/F803EB2046PZD00228_20210121165329/compress_video_20210121165307.mp4\\\"}]\",\"direction\":0.0,\"fromType\":\"2\",\"generateTime\":1611219213616,\"infoTimeout\":240,\"infoType\":1,\"isShare\":false,\"lat\":39.968317,\"lon\":116.410892,\"mainInfoId\":0,\"poiType\":\"10008\",\"provinceName\":\"北京市\",\"sn\":\"F803EB2046PZD00228\",\"speed\":0.0,\"street\":\"小黄庄北街\",\"trafficInfoType\":\"\",\"type\":1,\"uid\":0}"); + map.put("sn", "F803EB2046PZD00228"); + map.put("data", gson.toJson(informationBody)); + Log.d(HttpConstant.TANLU, "info = " + gson.toJson(informationBody)); +// map.put("sn", "ZD802C1938L10797"); +// map.put("data", "{\"addr\":\"北京市东城区小黄庄北街2号靠近中国银行(北京安贞桥支行)\",\"areaCode\":\"110101\",\"areaName\":\"东城区\",\"cityCode\":\"010\",\"cityName\":\"北京市\",\"data\":\"[{\\\"thumbnail\\\":\\\"http://petchfile-1255510688.cos.ap-beijing.myqcloud.com/CarPad/com.zhidao.roadcondition/F803EB2046PZD00228/F803EB2046PZD00228_20210121165329/Thumbnail1611219200669.jpg\\\",\\\"url\\\":\\\"http://petchfile-1255510688.cos.ap-beijing.myqcloud.com/CarPad/com.zhidao.roadcondition/F803EB2046PZD00228/F803EB2046PZD00228_20210121165329/compress_video_20210121165307.mp4\\\"}]\",\"direction\":0.0,\"fromType\":\"2\",\"generateTime\":1611219213616,\"infoTimeout\":240,\"infoType\":1,\"isShare\":false,\"lat\":39.968317,\"lon\":116.410892,\"mainInfoId\":0,\"poiType\":\"10008\",\"provinceName\":\"北京市\",\"sn\":\"F803EB2046PZD00228\",\"speed\":0.0,\"street\":\"小黄庄北街\",\"trafficInfoType\":\"\",\"type\":1,\"uid\":0}"); - Log.d(TAG, "sn = " + MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn()); + Log.d(HttpConstant.TANLU, "sn = " + MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn()); apiService.uploadInformation(map) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer>() { @Override public void onSubscribe(Disposable d) { - Log.d(TAG, "onSubscribe -----> "); + Log.d(HttpConstant.TANLU, "onSubscribe -----> "); } @Override public void onNext(BaseData result) { - Log.d(TAG, "onNext id = -----> " + result.getResult().id); callback.onSuccess(result); } @Override public void onError(Throwable e) { - Log.e(TAG, "onError -----> e " + e); + Log.e(HttpConstant.TANLU, "onError -----> e " + e); callback.onError(e); } @Override public void onComplete() { - Log.d(TAG, "onComplete -----> "); + Log.d(HttpConstant.TANLU, "onComplete -----> "); } }); } diff --git a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/bean/UploadInfo.java b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/bean/UploadInfo.java index 2de9f00..d405b59 100644 --- a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/bean/UploadInfo.java +++ b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/bean/UploadInfo.java @@ -1,6 +1,5 @@ package com.mogo.cloud.tanlu.bean; -import java.util.List; /** * @author lixiaopeng @@ -9,7 +8,8 @@ import java.util.List; */ public class UploadInfo { - private List filePath; //文件路径 +// private List filePath; //文件路径 + private String filePath; //文件路径 // String TYPE_TRAFFIC_CHECK = "10002"; //交通检查 // String TYPE_CLOSURE = "10003"; //封路 @@ -50,16 +50,22 @@ public class UploadInfo { private int infoTimeout; //过期事件 private boolean isShare; // 是否分享给附近车机 - - - public List getFilePath() { + public String getFilePath() { return filePath; } - public void setFilePath(List filePath) { + public void setFilePath(String filePath) { this.filePath = filePath; } + // public List getFilePath() { +// return filePath; +// } +// +// public void setFilePath(List filePath) { +// this.filePath = filePath; +// } + public String getPoiType() { return poiType; } @@ -231,7 +237,7 @@ public class UploadInfo { @Override public String toString() { return "UploadInfo{" + - "filePath=" + filePath + + "filePath='" + filePath + '\'' + ", poiType='" + poiType + '\'' + ", fromType='" + fromType + '\'' + ", mainInfoId=" + mainInfoId + diff --git a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/constant/HttpConstant.java b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/constant/HttpConstant.java index e7b8a34..0b00aab 100644 --- a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/constant/HttpConstant.java +++ b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/constant/HttpConstant.java @@ -10,4 +10,6 @@ public class HttpConstant { public static final String DZT_HOTS = "http://dzt-deva.zhidaozhixing.com"; public static final String LAUNCHER_HOTS = "http://dzt-launcherSnapshot.zhidaozhixing.com"; + public static final String TANLU = "TANLU_MODULE"; + } diff --git a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/utils/FileUtil.kt b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/utils/FileUtil.kt new file mode 100644 index 0000000..2acdaa7 --- /dev/null +++ b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/utils/FileUtil.kt @@ -0,0 +1,149 @@ +package com.mogo.cloud.tanlu.utils + +import android.graphics.Bitmap +import android.media.MediaMetadataRetriever +import android.os.Environment +import android.util.Log +import java.io.* +import java.text.SimpleDateFormat +import java.util.* + +/** + * @author lixiaopeng + * @description 文件处理类 + * @since 2021/1/26 + */ +fun deletePicFile(filePath: String?): Boolean { + var file = File(filePath) + if (file.exists()) { + //如果图片地址包含此路径则是C上面的拍照,需要再删除后摄图片 + if (filePath!!.contains("usbotg-1-1.1")) { + //将地址替换成后摄图片地址 + var backFile = + File(filePath.replace("frontPic", "backPic").replace("PhotoFront", "PhotoBack")) + if (backFile.exists()) { + return backFile.delete() + } + return file.delete() + } else + return file.delete() + } + return false +} + +//删除某个目录下所有文件 +fun deleteAllFile(file: File?) { //判断文件不为null或文件目录存在 + if (file == null || !file.exists()) { + Log.e("liyz", "文件删除失败,请检查文件路径是否正确") + return + } + //取得这个目录下的所有子文件对象 + val files: Array = file.listFiles() + //遍历该目录下的文件对象 + for (f in files) { + //判断子目录是否存在子目录,如果是文件则删除 + if (f.isDirectory) { + deleteAllFile(f) + } else { + f.delete() + } + } + //删除空文件夹 for循环已经把上一层节点的目录清空。 +// file.delete() +} + + +//根据本地视频文件生成缩略图文件 +fun getVideoThumbnail(filePath: String, picPath: String): Boolean { + var b: Bitmap? = null + var retriever = MediaMetadataRetriever() + try { + retriever.setDataSource(filePath) + b = retriever.getFrameAtTime(0) + } catch (e: IllegalArgumentException) { + e.printStackTrace() + } catch (e: RuntimeException) { + e.printStackTrace() + } finally { + try { + retriever.release() + } catch (e: RuntimeException) { + e.printStackTrace() + } + } + return bitmapToFile(b, picPath) +} + +//bitmap转为file +fun bitmapToFile(bitmap: Bitmap?, filePath: String): Boolean { + val baos = ByteArrayOutputStream() + bitmap?.compress(Bitmap.CompressFormat.JPEG, 50, baos) + val file = File(filePath) + try { + if (file.exists()) + file.delete() + file.createNewFile() + val fos = FileOutputStream(file) + var ins = ByteArrayInputStream(baos.toByteArray()) + var x = 0 + val b = ByteArray(1024 * 100) + while ({ x = ins.read(b);x }() != -1) { + fos.write(b, 0, x) + } + fos.close() + bitmap?.recycle() + } catch (e: Exception) { + e.printStackTrace() + return false + } + + return true +} + +// +fun getVideoPicPath(): String { + val moviesDir = Environment.getExternalStoragePublicDirectory( + Environment.DIRECTORY_PICTURES + ) + moviesDir.mkdirs() + + val builder = StringBuilder() + builder.append("pic_") + .append(SimpleDateFormat("yyyyMMddHHmmss").format(Date())) + val filePrefix = builder.toString() + val fileExtn = ".jpg" + var destPath = File(moviesDir, filePrefix + fileExtn) + + var fileNo = 0 + while (destPath.exists()) { + fileNo++ + destPath = File(moviesDir, filePrefix + fileNo + fileExtn) + } + + return destPath.absolutePath +} + + +//获取压缩后的视频路径 /storage/emulated/0/Movies/compress_video_20210126174432.mp4 +fun getCompressVideoPath(): String { + val moviesDir = Environment.getExternalStoragePublicDirectory( + Environment.DIRECTORY_MOVIES + ) + moviesDir.mkdirs() + + val builder = StringBuilder() + builder.append("compress_video_") + .append(SimpleDateFormat("yyyyMMddHHmmss").format(Date())) + val filePrefix = builder.toString() + val fileExtn = ".mp4" + var destPath = File(moviesDir, filePrefix + fileExtn) + + var fileNo = 0 + while (destPath.exists()) { + fileNo++ + destPath = File(moviesDir, filePrefix + fileNo + fileExtn) + } + + return destPath.absolutePath +} + diff --git a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/utils/TanluUtils.java b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/utils/TanluUtils.java index 9d95a96..f511b50 100644 --- a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/utils/TanluUtils.java +++ b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/utils/TanluUtils.java @@ -16,4 +16,5 @@ public class TanluUtils { return p.matcher(path).find(); } + }