|
@@ -46,6 +46,7 @@ import com.lzy.okgo.model.Response;
|
|
|
import org.greenrobot.eventbus.EventBus;
|
|
|
import org.json.JSONObject;
|
|
|
|
|
|
+import java.io.File;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
@@ -117,7 +118,10 @@ public class AsyncPictureUpload {
|
|
|
resourceType = spCache.getResourceType();
|
|
|
resourcePrefix = spCache.getResourcePrefix();
|
|
|
mRealm = Realm.getDefaultInstance();
|
|
|
- uploadType = mActivity.getClass().getSimpleName();
|
|
|
+ if (mActivity != null && mActivity.getClass()!=null){
|
|
|
+ uploadType = mActivity.getClass().getSimpleName();
|
|
|
+ }
|
|
|
+
|
|
|
limitOperate = new HashMap<>();
|
|
|
uniqueTag = this.fileKey+UUID.randomUUID().toString();
|
|
|
}
|
|
@@ -261,14 +265,29 @@ public class AsyncPictureUpload {
|
|
|
LocalMedia localMedia = awaitUploadList.get(num).getLocalMedia();
|
|
|
String urlPath =localMedia.getPath();
|
|
|
if (localMedia.isCompressed() && localMedia.getCompressPath()!=null){
|
|
|
- urlPath = localMedia.getCompressPath();
|
|
|
+ if (new File(localMedia.getCompressPath()).exists()){
|
|
|
+ urlPath = localMedia.getCompressPath();
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
if (urlPath.isEmpty()){
|
|
|
+ Message msg = new Message();
|
|
|
+ msg.obj = "文件路径不为空";
|
|
|
+ msg.what = 1;
|
|
|
+ uploadHandler.sendMessage(msg);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ File file = new File(urlPath);
|
|
|
+ if (!file.exists()){
|
|
|
+ XLog.d("文件不存在本地路径"+urlPath+",拍照时间:"+awaitUploadList.get(num).getCreateTime());
|
|
|
+ setPushStatus(awaitUploadList.get(num).getId(),1,1);
|
|
|
Message msg = new Message();
|
|
|
msg.obj = "文件路径不存在";
|
|
|
msg.what = 1;
|
|
|
uploadHandler.sendMessage(msg);
|
|
|
+
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -370,18 +389,29 @@ public class AsyncPictureUpload {
|
|
|
mRealm.commitTransaction();
|
|
|
}
|
|
|
|
|
|
+ private void setPushStatus(String realmId,Integer pushStatus,int isDelete){
|
|
|
+ //更新值
|
|
|
+ mRealm.beginTransaction();
|
|
|
+ AsyncUploadRealm myObject = mRealm.where(AsyncUploadRealm.class).equalTo("id",realmId).findFirst();
|
|
|
+ assert myObject != null;
|
|
|
+ myObject.setPushStatus(pushStatus);
|
|
|
+ myObject.setIsDelete(isDelete);
|
|
|
+
|
|
|
+ mRealm.commitTransaction();
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
private RealmResults<AsyncUploadRealm> getBatchUploadRealm(){
|
|
|
//更新值
|
|
|
mRealm.beginTransaction();
|
|
|
- Integer[] isFinish = {0,2};
|
|
|
+ Integer[] isFinish = {0,1,2};
|
|
|
RealmResults<AsyncUploadRealm> realmResults = mRealm.where(AsyncUploadRealm.class)
|
|
|
.equalTo("isDelete",0)
|
|
|
.equalTo("pushStatus",0)
|
|
|
-// .in("isFinish",isFinish)
|
|
|
+ .in("isFinish",isFinish)
|
|
|
// .equalTo("notifyKey",fileKey)
|
|
|
// .equalTo("uploadType",uploadType)
|
|
|
- .sort("pushStatus").findAll();
|
|
|
+ .sort("createTime").findAll();
|
|
|
// 遍历结果并修改
|
|
|
for (AsyncUploadRealm item : realmResults) {
|
|
|
item.setIsFinish(1);
|
|
@@ -423,6 +453,10 @@ public class AsyncPictureUpload {
|
|
|
assert myObject != null;
|
|
|
myObject.setPushStatus(pushStatus);
|
|
|
myObject.setIsFinish( pushStatus == 1 ? 3 : 2);
|
|
|
+ //失败更新
|
|
|
+ if (status==0){
|
|
|
+ myObject.setRePush(myObject.getRePush()+1);
|
|
|
+ }
|
|
|
myObject.setOssUrl(photoPath);
|
|
|
mRealm.commitTransaction();
|
|
|
|
|
@@ -482,15 +516,15 @@ public class AsyncPictureUpload {
|
|
|
|
|
|
ConnectivityManager connectivityManager = (ConnectivityManager) mActivity.getSystemService(Context.CONNECTIVITY_SERVICE);
|
|
|
if (connectivityManager == null) {
|
|
|
- XLog.d( "无法获取ConnectivityManager实例");
|
|
|
+ //XLog.d( "无法获取ConnectivityManager实例");
|
|
|
return isNetwork;
|
|
|
}
|
|
|
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
|
|
|
if (networkInfo != null) {
|
|
|
- XLog.d( "当前网络状态:" + networkInfo.getState());
|
|
|
+ //XLog.d( "当前网络状态:" + networkInfo.getState());
|
|
|
isNetwork = true;
|
|
|
} else {
|
|
|
- XLog.d( "当前无网络连接");
|
|
|
+ //XLog.d( "当前无网络连接");
|
|
|
isNetwork = false;
|
|
|
}
|
|
|
} catch (Exception e) {
|