From 42e2de0b51b1d63404d12b66bc35b5d535b9f286 Mon Sep 17 00:00:00 2001 From: sonalyadav Date: Thu, 19 Dec 2024 18:55:36 +0530 Subject: [PATCH] Encode the category name --- .../commons/category/CategoryDetailsActivity.kt | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/category/CategoryDetailsActivity.kt b/app/src/main/java/fr/free/nrw/commons/category/CategoryDetailsActivity.kt index a42d26fd6..f93170e86 100644 --- a/app/src/main/java/fr/free/nrw/commons/category/CategoryDetailsActivity.kt +++ b/app/src/main/java/fr/free/nrw/commons/category/CategoryDetailsActivity.kt @@ -1,4 +1,5 @@ package fr.free.nrw.commons.category +import android.util.Log import android.content.Context import android.content.Intent @@ -199,8 +200,15 @@ class CategoryDetailsActivity : BaseActivity(), override fun onOptionsItemSelected(item: MenuItem): Boolean { return when (item.itemId) { R.id.menu_browser_current_category -> { - val title = Utils.getPageTitle(CATEGORY_PREFIX + categoryName) - Utils.handleWebUrl(this, Uri.parse(title.canonicalUri)) + // Encode the category name to ensure special characters are handled properly + val encodedCategoryName = Uri.encode(categoryName) + val fullUrl = "$CATEGORY_PREFIX$encodedCategoryName" + + // Log the generated URL for debugging + Log.d("CategoryLinkDebug", "Generated URL: $fullUrl") + + // Handle the URL (open in a browser or WebView) + Utils.handleWebUrl(this, Uri.parse(fullUrl)) true } @@ -209,16 +217,19 @@ class CategoryDetailsActivity : BaseActivity(), viewModel.onBookmarkClick(categoryName = it) } true + } android.R.id.home -> { onBackPressed() true } + else -> super.onOptionsItemSelected(item) } } + override fun onPrepareOptionsMenu(menu: Menu?): Boolean { menu?.run { val bookmarkMenuItem = findItem(R.id.menu_bookmark_current_category)