Skip to content

Commit ad0aa7d

Browse files
authored
Tap to view fails issue resolved (commons-app#4656)
* upload fail tap to view fixed * clean code * added function documentation * requested changes
1 parent 5a2270b commit ad0aa7d

File tree

1 file changed

+20
-3
lines changed

1 file changed

+20
-3
lines changed

app/src/main/java/fr/free/nrw/commons/upload/worker/UploadWorker.kt

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package fr.free.nrw.commons.upload.worker
22

33
import android.annotation.SuppressLint
4+
import android.app.PendingIntent
5+
import android.app.TaskStackBuilder
46
import android.content.Context
7+
import android.content.Intent
58
import android.graphics.BitmapFactory
6-
import android.location.Geocoder
79
import androidx.core.app.NotificationCompat
810
import androidx.core.app.NotificationManagerCompat
911
import androidx.work.CoroutineWorker
@@ -18,11 +20,12 @@ import fr.free.nrw.commons.auth.SessionManager
1820
import fr.free.nrw.commons.contributions.ChunkInfo
1921
import fr.free.nrw.commons.contributions.Contribution
2022
import fr.free.nrw.commons.contributions.ContributionDao
23+
import fr.free.nrw.commons.contributions.MainActivity
2124
import fr.free.nrw.commons.customselector.database.UploadedStatus
2225
import fr.free.nrw.commons.customselector.database.UploadedStatusDao
2326
import fr.free.nrw.commons.di.ApplicationlessInjection
24-
import fr.free.nrw.commons.location.LatLng
2527
import fr.free.nrw.commons.media.MediaClient
28+
import fr.free.nrw.commons.theme.BaseActivity
2629
import fr.free.nrw.commons.upload.StashUploadResult
2730
import fr.free.nrw.commons.upload.FileUtilsWrapper
2831
import fr.free.nrw.commons.upload.StashUploadState
@@ -37,7 +40,6 @@ import kotlinx.coroutines.flow.map
3740
import kotlinx.coroutines.launch
3841
import kotlinx.coroutines.withContext
3942
import timber.log.Timber
40-
import java.io.IOException
4143
import java.util.*
4244
import java.util.regex.Pattern
4345
import javax.inject.Inject
@@ -491,6 +493,7 @@ class UploadWorker(var appContext: Context, workerParams: WorkerParameters) :
491493
@SuppressLint("StringFormatInvalid")
492494
private fun showFailedNotification(contribution: Contribution) {
493495
val displayTitle = contribution.media.displayTitle
496+
curentNotification.setContentIntent(getPendingIntent(MainActivity::class.java))
494497
curentNotification.setContentTitle(
495498
appContext.getString(
496499
R.string.upload_failed_notification_title,
@@ -526,4 +529,18 @@ class UploadWorker(var appContext: Context, workerParams: WorkerParameters) :
526529
curentNotification.build()
527530
)
528531
}
532+
533+
/**
534+
* Method used to get Pending intent for opening different screen after clicking on notification
535+
* @param toClass
536+
*/
537+
private fun getPendingIntent(toClass:Class<out BaseActivity>):PendingIntent
538+
{
539+
val intent = Intent(appContext,toClass)
540+
return TaskStackBuilder.create(appContext).run {
541+
addNextIntentWithParentStack(intent)
542+
getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT)
543+
};
544+
}
545+
529546
}

0 commit comments

Comments
 (0)