X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/c1eb0ee621d8f1c8ccbe725e021619781c188aed..d24ba158d24c161a0db484ea551a40851a9d60e8:/src/com/owncloud/android/files/services/FileUploader.java diff --git a/src/com/owncloud/android/files/services/FileUploader.java b/src/com/owncloud/android/files/services/FileUploader.java index 08f9d3d4..c6408c28 100644 --- a/src/com/owncloud/android/files/services/FileUploader.java +++ b/src/com/owncloud/android/files/services/FileUploader.java @@ -54,6 +54,7 @@ import com.owncloud.android.ui.activity.FileDisplayActivity; import com.owncloud.android.ui.activity.InstantUploadActivity; import com.owncloud.android.ui.preview.PreviewImageActivity; import com.owncloud.android.ui.preview.PreviewImageFragment; +import com.owncloud.android.utils.ErrorMessageAdapter; import com.owncloud.android.utils.Log_OC; import com.owncloud.android.utils.NotificationBuilderWithProgressBar; @@ -752,10 +753,7 @@ public class FileUploader extends Service implements OnDatatransferProgressListe )) .setTicker(getString(R.string.uploader_upload_succeeded_ticker)) .setContentTitle(getString(R.string.uploader_upload_succeeded_ticker)) - .setContentText( - String.format(getString(R.string.uploader_upload_succeeded_content_single), - upload.getFileName()) - ); + .setContentText(ErrorMessageAdapter.getErrorCauseMessage(uploadResult, upload, getResources())); mNotificationManager.notify(R.string.uploader_upload_in_progress_ticker, mNotificationBuilder.build()); // NOT // AN @@ -766,20 +764,27 @@ public class FileUploader extends Service implements OnDatatransferProgressListe } else { // / fail -> explicit failure notification - mNotificationManager.cancel(R.string.uploader_upload_in_progress_ticker); + mNotificationManager.cancel(R.string.uploader_upload_in_progress_ticker); + NotificationCompat.Builder errorBuilder = new NotificationCompat.Builder(this); - errorBuilder - .setSmallIcon(R.drawable.notification_icon) - .setTicker(getString(R.string.uploader_upload_failed_ticker)) - .setContentTitle(getString(R.string.uploader_upload_failed_ticker)) - .setAutoCancel(true); - String content = null; - boolean needsToUpdateCredentials = (uploadResult.getCode() == ResultCode.UNAUTHORIZED || - //(uploadResult.isTemporalRedirection() && uploadResult.isIdPRedirection() && + String content = null; + + // check credentials error + boolean needsToUpdateCredentials = (uploadResult.getCode() == ResultCode.UNAUTHORIZED || (uploadResult.isIdPRedirection() && mUploadClient.getCredentials() == null)); - //MainApp.getAuthTokenTypeSamlSessionCookie().equals(mUploadClient.getAuthTokenType()))); + int tickerId = (needsToUpdateCredentials) ? + R.string.uploader_upload_failed_credentials_error : R.string.uploader_upload_failed_ticker; + + errorBuilder + .setSmallIcon(R.drawable.notification_icon) + .setTicker(getString(tickerId)) + .setContentTitle(getString(tickerId)) + .setAutoCancel(true); + + content = ErrorMessageAdapter.getErrorCauseMessage(uploadResult, upload, getResources()); + if (needsToUpdateCredentials) { // let the user update credentials with one click Intent updateAccountCredentials = new Intent(this, AuthenticatorActivity.class); @@ -791,23 +796,10 @@ public class FileUploader extends Service implements OnDatatransferProgressListe errorBuilder.setContentIntent(PendingIntent.getActivity( this, (int) System.currentTimeMillis(), updateAccountCredentials, PendingIntent.FLAG_ONE_SHOT )); - content = String.format(getString(R.string.uploader_upload_failed_content_single), upload.getFileName()); + mUploadClient = null; // grant that future retries on the same account will get the fresh credentials } else { // TODO put something smart in the contentIntent below - - if (uploadResult.getCode() == ResultCode.LOCAL_STORAGE_FULL - || uploadResult.getCode() == ResultCode.LOCAL_STORAGE_NOT_COPIED) { - // TODO we need a class to provide error messages for the users - // from a RemoteOperationResult and a RemoteOperation - content = String.format(getString(R.string.error__upload__local_file_not_copied), upload.getFileName(), - getString(R.string.app_name)); - } else if (uploadResult.getCode() == ResultCode.QUOTA_EXCEEDED) { - content = getString(R.string.failed_upload_quota_exceeded_text); - } else { - content = String - .format(getString(R.string.uploader_upload_failed_content_single), upload.getFileName()); - } // we add only for instant-uploads the InstantUploadActivity and the // db entry @@ -847,7 +839,7 @@ public class FileUploader extends Service implements OnDatatransferProgressListe } errorBuilder.setContentText(content); - mNotificationManager.notify(R.string.uploader_upload_failed_ticker, errorBuilder.build()); + mNotificationManager.notify(tickerId, errorBuilder.build()); } }