|
@@ -724,7 +724,8 @@ public class FileUploader extends Service implements OnDatatransferProgressListe
|
|
|
* @param uploadResult Result of the upload operation.
|
|
|
* @param upload Finished upload operation
|
|
|
*/
|
|
|
- private void notifyUploadResult(RemoteOperationResult uploadResult, UploadFileOperation upload) {
|
|
|
+ private void notifyUploadResult(
|
|
|
+ RemoteOperationResult uploadResult, UploadFileOperation upload) {
|
|
|
Log_OC.d(TAG, "NotifyUploadResult with resultCode: " + uploadResult.getCode());
|
|
|
// / cancelled operation or success -> silent removal of progress notification
|
|
|
mNotificationManager.cancel(R.string.uploader_upload_in_progress_ticker);
|
|
@@ -734,8 +735,6 @@ public class FileUploader extends Service implements OnDatatransferProgressListe
|
|
|
int tickerId = (uploadResult.isSuccess()) ? R.string.uploader_upload_succeeded_ticker :
|
|
|
R.string.uploader_upload_failed_ticker;
|
|
|
|
|
|
- NotificationCompat.Builder resultBuilder = new NotificationCompat.Builder(this);
|
|
|
-
|
|
|
String content = null;
|
|
|
|
|
|
// check credentials error
|
|
@@ -746,41 +745,60 @@ public class FileUploader extends Service implements OnDatatransferProgressListe
|
|
|
tickerId = (needsToUpdateCredentials) ?
|
|
|
R.string.uploader_upload_failed_credentials_error : tickerId;
|
|
|
|
|
|
- resultBuilder
|
|
|
- .setSmallIcon(R.drawable.notification_icon)
|
|
|
+ mNotificationBuilder
|
|
|
.setTicker(getString(tickerId))
|
|
|
.setContentTitle(getString(tickerId))
|
|
|
- .setAutoCancel(true);
|
|
|
+ .setAutoCancel(true)
|
|
|
+ .setOngoing(false)
|
|
|
+ .setProgress(0, 0, false);
|
|
|
|
|
|
- content = ErrorMessageAdapter.getErrorCauseMessage(uploadResult, upload, getResources());
|
|
|
+ content = ErrorMessageAdapter.getErrorCauseMessage(
|
|
|
+ uploadResult, upload, getResources()
|
|
|
+ );
|
|
|
|
|
|
if (needsToUpdateCredentials) {
|
|
|
// let the user update credentials with one click
|
|
|
Intent updateAccountCredentials = new Intent(this, AuthenticatorActivity.class);
|
|
|
- updateAccountCredentials.putExtra(AuthenticatorActivity.EXTRA_ACCOUNT, upload.getAccount());
|
|
|
- updateAccountCredentials.putExtra(AuthenticatorActivity.EXTRA_ACTION, AuthenticatorActivity.ACTION_UPDATE_EXPIRED_TOKEN);
|
|
|
+ updateAccountCredentials.putExtra(
|
|
|
+ AuthenticatorActivity.EXTRA_ACCOUNT, upload.getAccount()
|
|
|
+ );
|
|
|
+ updateAccountCredentials.putExtra(
|
|
|
+ AuthenticatorActivity.EXTRA_ACTION,
|
|
|
+ AuthenticatorActivity.ACTION_UPDATE_EXPIRED_TOKEN
|
|
|
+ );
|
|
|
updateAccountCredentials.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
|
|
updateAccountCredentials.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
|
|
|
updateAccountCredentials.addFlags(Intent.FLAG_FROM_BACKGROUND);
|
|
|
- resultBuilder.setContentIntent(PendingIntent.getActivity(
|
|
|
- this, (int) System.currentTimeMillis(), updateAccountCredentials, PendingIntent.FLAG_ONE_SHOT
|
|
|
+ mNotificationBuilder.setContentIntent(PendingIntent.getActivity(
|
|
|
+ this,
|
|
|
+ (int) System.currentTimeMillis(),
|
|
|
+ updateAccountCredentials,
|
|
|
+ PendingIntent.FLAG_ONE_SHOT
|
|
|
));
|
|
|
|
|
|
- mUploadClient = null; // grant that future retries on the same account will get the fresh credentials
|
|
|
+ mUploadClient = null;
|
|
|
+ // grant that future retries on the same account will get the fresh credentials
|
|
|
} else {
|
|
|
- resultBuilder.setContentText(content);
|
|
|
+ mNotificationBuilder.setContentText(content);
|
|
|
|
|
|
if (upload.isInstant()) {
|
|
|
DbHandler db = null;
|
|
|
try {
|
|
|
db = new DbHandler(this.getBaseContext());
|
|
|
- String message = uploadResult.getLogMessage() + " errorCode: " + uploadResult.getCode();
|
|
|
+ String message = uploadResult.getLogMessage() + " errorCode: " +
|
|
|
+ uploadResult.getCode();
|
|
|
Log_OC.e(TAG, message + " Http-Code: " + uploadResult.getHttpCode());
|
|
|
if (uploadResult.getCode() == ResultCode.QUOTA_EXCEEDED) {
|
|
|
message = getString(R.string.failed_upload_quota_exceeded_text);
|
|
|
- if (db.updateFileState(upload.getOriginalStoragePath(), DbHandler.UPLOAD_STATUS_UPLOAD_FAILED,
|
|
|
+ if (db.updateFileState(
|
|
|
+ upload.getOriginalStoragePath(),
|
|
|
+ DbHandler.UPLOAD_STATUS_UPLOAD_FAILED,
|
|
|
message) == 0) {
|
|
|
- db.putFileForLater(upload.getOriginalStoragePath(), upload.getAccount().name, message);
|
|
|
+ db.putFileForLater(
|
|
|
+ upload.getOriginalStoragePath(),
|
|
|
+ upload.getAccount().name,
|
|
|
+ message
|
|
|
+ );
|
|
|
}
|
|
|
}
|
|
|
} finally {
|
|
@@ -791,8 +809,8 @@ public class FileUploader extends Service implements OnDatatransferProgressListe
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- resultBuilder.setContentText(content);
|
|
|
- mNotificationManager.notify(tickerId, resultBuilder.build());
|
|
|
+ mNotificationBuilder.setContentText(content);
|
|
|
+ mNotificationManager.notify(tickerId, mNotificationBuilder.build());
|
|
|
|
|
|
if (uploadResult.isSuccess()) {
|
|
|
|