n);
if(position < 0 || position>=sessionList.size()){
return;
}
@@ -120,11 +123,38 @@ public class UploadPresenter implements UploadContract.Presenter,BaseInteractor.
}else{
for(PhotoBean photoBean : photoList){
if(photoBean.photoId == bean.photoId){
+ LogHelper.d("czy","onPhotoUploaded and found data change "+position);
photoBean.uploadStatus = PhotoBean.UploadStatus.STATUS_SUCCESS;
break;
}
}
}
+ sessionBean.sessionPhotos = photoList;
+ uploadView.updateSessionUploadViewAt(position);
+ }
+
+ @Override
+ public synchronized void onPhotoUploadError(PhotoBean bean) {
+ int position = sessionList.size()-bean.sessionSeq;
+ LogHelper.d("czy","onPhotoUploadError and notify UI change at "+position);
+ if(position < 0 || position>=sessionList.size()){
+ return;
+ }
+ SessionBean sessionBean = sessionList.get(position);
+ ArrayList<PhotoBean> photoList = sessionBean.sessionPhotos;
+ if(photoList==null || photoList.size()==0){
+ photoList = new ArrayList<>();
+ photoList.add(bean);
+ }else{
+ for(PhotoBean photoBean : photoList){
+ if(photoBean.photoId == bean.photoId){
+ LogHelper.d("czy","onPhotoUploaded and found data change "+position);
+ photoBean.uploadStatus = PhotoBean.UploadStatus.STATUS_ERROR;
+ break;
+ }
+ }
+ }
+ sessionBean.sessionPhotos = photoList;
uploadView.updateSessionUploadViewAt(position);
}
}