diff --git a/app/src/main/java/fr/free/nrw/commons/delete/DeleteHelper.kt b/app/src/main/java/fr/free/nrw/commons/delete/DeleteHelper.kt index 09959d0ef..9f481d53e 100644 --- a/app/src/main/java/fr/free/nrw/commons/delete/DeleteHelper.kt +++ b/app/src/main/java/fr/free/nrw/commons/delete/DeleteHelper.kt @@ -54,7 +54,9 @@ class DeleteHelper @Inject constructor( reason: String? ): Single? { + Timber.d("Making deletion for title: ${media?.displayTitle} with reason: $reason") if(context == null && media == null) { + Timber.e("context or media is null") return null } @@ -66,10 +68,13 @@ class DeleteHelper @Inject constructor( return reason?.let { delete(media!!, it) .flatMapSingle { result -> + Timber.d("Show deletiong notification") Single.just(showDeletionNotification(context, media, result)) } .firstOrError() .onErrorResumeNext { throwable -> + Timber.e("Error while making deletion") + throwable.printStackTrace() if (throwable is InvalidLoginTokenException) { Single.error(throwable) } else { diff --git a/app/src/main/java/fr/free/nrw/commons/delete/ReasonBuilder.kt b/app/src/main/java/fr/free/nrw/commons/delete/ReasonBuilder.kt index 09018c249..e9e590e73 100644 --- a/app/src/main/java/fr/free/nrw/commons/delete/ReasonBuilder.kt +++ b/app/src/main/java/fr/free/nrw/commons/delete/ReasonBuilder.kt @@ -2,6 +2,7 @@ package fr.free.nrw.commons.delete import android.annotation.SuppressLint import android.content.Context +import android.util.Log import fr.free.nrw.commons.utils.DateUtil import java.util.Locale @@ -39,6 +40,7 @@ class ReasonBuilder @Inject constructor( if (media == null || reason == null) { return Single.just("Not known") } + Timber.d("Fetching article number") return fetchArticleNumber(media, reason) } @@ -56,9 +58,13 @@ class ReasonBuilder @Inject constructor( private fun fetchArticleNumber(media: Media, reason: String): Single { return if (checkAccount()) { + Timber.d("Fetching achievements for ${sessionManager.userName}") okHttpJsonApiClient .getAchievements(sessionManager.userName) - .map { feedbackResponse -> appendArticlesUsed(feedbackResponse, media, reason) } + .map { feedbackResponse -> + Timber.d("Feedback Response: $feedbackResponse") + appendArticlesUsed(feedbackResponse, media, reason) + } } else { Single.just("") } diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.kt b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.kt index f6ed15994..b54ed2700 100644 --- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.kt +++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.kt @@ -1695,6 +1695,7 @@ class MediaDetailFragment : CommonsDaggerSupportFragment(), CategoryEditHelper.C val finalReason: String = reason val resultSingle: Single = reasonBuilder.getReason(media, reason) .flatMap { + Timber.d("Reason builder returned: $it") deleteHelper.makeDeletion( context, media, finalReason ) diff --git a/app/src/main/java/fr/free/nrw/commons/mwapi/OkHttpJsonApiClient.kt b/app/src/main/java/fr/free/nrw/commons/mwapi/OkHttpJsonApiClient.kt index 291c834bd..3676249d8 100644 --- a/app/src/main/java/fr/free/nrw/commons/mwapi/OkHttpJsonApiClient.kt +++ b/app/src/main/java/fr/free/nrw/commons/mwapi/OkHttpJsonApiClient.kt @@ -258,18 +258,21 @@ class OkHttpJsonApiClient @Inject constructor( fun getAchievements(userName: String?): Single { val suffix = if (isBetaFlavour) "/feedback.py?labs=commonswiki" else "/feedback.py" val fetchAchievementUrlTemplate = wikiMediaToolforgeUrl.toString() + suffix + Timber.d("Url : $fetchAchievementUrlTemplate and User Name : $userName") return Single.fromCallable({ val url = String.format( Locale.ENGLISH, fetchAchievementUrlTemplate, userName ) + Timber.d("Formatted URL: $url") val urlBuilder: HttpUrl.Builder = url.toHttpUrlOrNull()!!.newBuilder() .addQueryParameter("user", userName) val request: Request = Request.Builder() .url(urlBuilder.toString()) .build() val response: Response = okHttpClient.newCall(request).execute() + Timber.d("Response received: $response | Body: ${response.body} | IsSuccessful: ${response.isSuccessful}") if (response.body != null && response.isSuccessful) { var json: String = response.body!!.string() // Extract JSON from response @@ -281,6 +284,7 @@ class OkHttpJsonApiClient @Inject constructor( FeedbackResponse::class.java ) } catch (e: Exception) { + e.printStackTrace() return@fromCallable FeedbackResponse(0, 0, 0, FeaturedImages(0, 0), 0, "") } }