From 28ac25fdb08234267af144925759e22d1ed9c729 Mon Sep 17 00:00:00 2001 From: Kanahia Date: Tue, 25 Jun 2024 00:29:32 +0530 Subject: [PATCH] Improved error notification --- .../nrw/commons/upload/worker/UploadWorker.kt | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/fr/free/nrw/commons/upload/worker/UploadWorker.kt b/app/src/main/java/fr/free/nrw/commons/upload/worker/UploadWorker.kt index f4c52e2a8..a296156d1 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/worker/UploadWorker.kt +++ b/app/src/main/java/fr/free/nrw/commons/upload/worker/UploadWorker.kt @@ -408,13 +408,14 @@ class UploadWorker(var appContext: Context, workerParams: WorkerParameters) : } else -> { Timber.e("""upload file to stash failed with status: ${stashUploadResult.state}""") - showInvalidLoginNotification(contribution) contribution.state = Contribution.STATE_FAILED contribution.chunkInfo = null contribution.errorInfo = stashUploadResult.errorMessage + showErrorNotification(contribution) contributionDao.saveSynchronous(contribution) if (stashUploadResult.errorMessage.equals(CsrfTokenClient.INVALID_TOKEN_ERROR_MESSAGE)) { Timber.e("Invalid Login, logging out") + showInvalidLoginNotification(contribution) val username = sessionManager.userName var logoutListener = CommonsApplication.BaseLogoutListener( appContext, @@ -603,6 +604,24 @@ class UploadWorker(var appContext: Context, workerParams: WorkerParameters) : ) } + @SuppressLint("StringFormatInvalid") + private fun showErrorNotification(contribution: Contribution) { + val displayTitle = contribution.media.displayTitle + curentNotification.setContentTitle( + appContext.getString( + R.string.upload_failed_notification_title, + displayTitle + ) + ) + .setContentText(contribution.errorInfo) + .setProgress(0, 0, false) + .setOngoing(false) + notificationManager?.notify( + currentNotificationTag, currentNotificationID, + curentNotification.build() + ) + } + /** * Notify that the current upload is paused * @param contribution