diff --git a/app/src/main/java/com/nextcloud/client/jobs/utils/UploadErrorNotificationManager.kt b/app/src/main/java/com/nextcloud/client/jobs/utils/UploadErrorNotificationManager.kt index 6b538dea1c90..c2e24785798d 100644 --- a/app/src/main/java/com/nextcloud/client/jobs/utils/UploadErrorNotificationManager.kt +++ b/app/src/main/java/com/nextcloud/client/jobs/utils/UploadErrorNotificationManager.kt @@ -15,6 +15,7 @@ import androidx.core.app.NotificationCompat import com.nextcloud.client.jobs.notification.WorkerNotificationManager import com.nextcloud.client.jobs.upload.FileUploadHelper import com.nextcloud.client.jobs.upload.UploadBroadcastAction +import com.nextcloud.client.notifications.AppWideNotificationManager import com.nextcloud.utils.extensions.isConflict import com.nextcloud.utils.extensions.isFileSpecificError import com.owncloud.android.R @@ -144,9 +145,12 @@ object UploadErrorNotificationManager { ) } - if (result.code == ResultCode.UNAUTHORIZED) { - setContentIntent(credentialPendingIntent(context, operation)) + val pendingIntent = if (result.code == ResultCode.UNAUTHORIZED) { + credentialPendingIntent(context, operation) + } else { + AppWideNotificationManager.getUploadListPendingIntent(context) } + setContentIntent(pendingIntent) }.build() } diff --git a/app/src/main/java/com/nextcloud/client/notifications/AppWideNotificationManager.kt b/app/src/main/java/com/nextcloud/client/notifications/AppWideNotificationManager.kt index f58ad90ef0a4..e7f7d987de16 100644 --- a/app/src/main/java/com/nextcloud/client/notifications/AppWideNotificationManager.kt +++ b/app/src/main/java/com/nextcloud/client/notifications/AppWideNotificationManager.kt @@ -37,17 +37,21 @@ object AppWideNotificationManager { private const val SYNC_CONFLICT_NOTIFICATION_ID = 112 - fun showSyncConflictNotification(context: Context) { + fun getUploadListPendingIntent(context: Context): PendingIntent { val intent = Intent(context, UploadListActivity::class.java).apply { flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP } - val pendingIntent = PendingIntent.getActivity( + return PendingIntent.getActivity( context, SYNC_CONFLICT_NOTIFICATION_INTENT_REQ_CODE, intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE ) + } + + fun showSyncConflictNotification(context: Context) { + val pendingIntent = getUploadListPendingIntent(context) val actionIntent = Intent(context, SyncConflictNotificationBroadcastReceiver::class.java).apply { putExtra(SyncConflictNotificationBroadcastReceiver.NOTIFICATION_ID, SYNC_CONFLICT_NOTIFICATION_ID)