From: masensio Date: Wed, 16 Oct 2013 12:26:02 +0000 (-0700) Subject: Merge pull request #268 from owncloud/fix_fails_in_uploads_after_fall_and_rise_of_net... X-Git-Tag: oc-android-1.4.6~3 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/db1ea015619a1cc5a3886ea90dc20f910fc6dd9e?ds=inline;hp=-c Merge pull request #268 from owncloud/fix_fails_in_uploads_after_fall_and_rise_of_network_connection Fix fails in uploads after fall and rise of network connection --- db1ea015619a1cc5a3886ea90dc20f910fc6dd9e diff --combined src/com/owncloud/android/files/services/FileUploader.java index 081596c0,06d834fd..aa7925d1 --- a/src/com/owncloud/android/files/services/FileUploader.java +++ b/src/com/owncloud/android/files/services/FileUploader.java @@@ -271,8 -271,7 +271,8 @@@ public class FileUploader extends Servi if (isInstant) { newUpload.setRemoteFolderToBeCreated(); } - mPendingUploads.putIfAbsent(uploadKey, newUpload); + mPendingUploads.putIfAbsent(uploadKey, newUpload); // Grants that the file only upload once time + newUpload.addDatatransferProgressListener(this); newUpload.addDatatransferProgressListener((FileUploaderBinder)mBinder); requestedUploads.add(uploadKey); @@@ -529,6 -528,11 +529,11 @@@ mPendingUploads.remove(uploadKey); Log_OC.i(TAG, "Remove CurrentUploadItem from pending upload Item Map."); } + if (uploadResult.isException()) { + // enforce the creation of a new client object for next uploads; this grant that a new socket will + // be created in the future if the current exception is due to an abrupt lose of network connection + mUploadClient = null; + } } /// notify result @@@ -717,7 -721,12 +722,7 @@@ mNotification.contentView.setImageViewResource(R.id.status_icon, R.drawable.icon); /// includes a pending intent in the notification showing the details view of the file - Intent showDetailsIntent = null; - if (PreviewImageFragment.canBePreviewed(upload.getFile())) { - showDetailsIntent = new Intent(this, PreviewImageActivity.class); - } else { - showDetailsIntent = new Intent(this, FileDisplayActivity.class); - } + Intent showDetailsIntent = new Intent(this, FileDisplayActivity.class); showDetailsIntent.putExtra(FileActivity.EXTRA_FILE, upload.getFile()); showDetailsIntent.putExtra(FileActivity.EXTRA_ACCOUNT, upload.getAccount()); showDetailsIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);