From 4f3f7b97fd83d7b19a43ee9e1ed7ba2d94b03f8e Mon Sep 17 00:00:00 2001 From: Rohit Verma <101377978+rohit9625@users.noreply.github.com> Date: Sat, 23 Aug 2025 12:33:30 +0530 Subject: [PATCH] fix: use context instead of requireContext() for backward compatibility (#6403) It fixes crash when opening certain screens like Contribution Details, Bookmark, etc. on lower Android versions Co-authored-by: Ritika Pahwa <83745993+RitikaPahwa4444@users.noreply.github.com> --- .../bookmarks/items/BookmarkItemsContentProvider.kt | 8 ++++---- .../pictures/BookmarkPicturesContentProvider.kt | 8 ++++---- .../recentsearches/RecentSearchesContentProvider.kt | 10 +++++----- .../recentlanguages/RecentLanguagesContentProvider.kt | 8 ++++---- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/bookmarks/items/BookmarkItemsContentProvider.kt b/app/src/main/java/fr/free/nrw/commons/bookmarks/items/BookmarkItemsContentProvider.kt index 8007ba208..c532ed3cc 100644 --- a/app/src/main/java/fr/free/nrw/commons/bookmarks/items/BookmarkItemsContentProvider.kt +++ b/app/src/main/java/fr/free/nrw/commons/bookmarks/items/BookmarkItemsContentProvider.kt @@ -36,7 +36,7 @@ class BookmarkItemsContentProvider : CommonsDaggerContentProvider() { requireDb(), projection, selection, selectionArgs, null, null, sortOrder ).apply { - setNotificationUri(requireContext().contentResolver, uri) + setNotificationUri(context?.contentResolver, uri) } } @@ -66,7 +66,7 @@ class BookmarkItemsContentProvider : CommonsDaggerContentProvider() { ) } - requireContext().contentResolver.notifyChange(uri, null) + context?.contentResolver?.notifyChange(uri, null) return rowsUpdated } @@ -75,7 +75,7 @@ class BookmarkItemsContentProvider : CommonsDaggerContentProvider() { */ override fun insert(uri: Uri, contentValues: ContentValues?): Uri? { val id = requireDb().insert(TABLE_NAME, null, contentValues) - requireContext().contentResolver.notifyChange(uri, null) + context?.contentResolver?.notifyChange(uri, null) return "$BASE_URI/$id".toUri() } @@ -89,7 +89,7 @@ class BookmarkItemsContentProvider : CommonsDaggerContentProvider() { "$COLUMN_ID = ?", arrayOf(uri.lastPathSegment) ) - requireContext().contentResolver.notifyChange(uri, null) + context?.contentResolver?.notifyChange(uri, null) return rows } diff --git a/app/src/main/java/fr/free/nrw/commons/bookmarks/pictures/BookmarkPicturesContentProvider.kt b/app/src/main/java/fr/free/nrw/commons/bookmarks/pictures/BookmarkPicturesContentProvider.kt index bf6f6039b..a47eed8ca 100644 --- a/app/src/main/java/fr/free/nrw/commons/bookmarks/pictures/BookmarkPicturesContentProvider.kt +++ b/app/src/main/java/fr/free/nrw/commons/bookmarks/pictures/BookmarkPicturesContentProvider.kt @@ -36,7 +36,7 @@ class BookmarkPicturesContentProvider : CommonsDaggerContentProvider() { requireDb(), projection, selection, selectionArgs, null, null, sortOrder ) - cursor.setNotificationUri(requireContext().contentResolver, uri) + cursor.setNotificationUri(context?.contentResolver, uri) return cursor } @@ -66,7 +66,7 @@ class BookmarkPicturesContentProvider : CommonsDaggerContentProvider() { "Parameter `selection` should be empty when updating an ID" ) } - requireContext().contentResolver.notifyChange(uri, null) + context?.contentResolver?.notifyChange(uri, null) return rowsUpdated } @@ -75,7 +75,7 @@ class BookmarkPicturesContentProvider : CommonsDaggerContentProvider() { */ override fun insert(uri: Uri, contentValues: ContentValues?): Uri { val id = requireDb().insert(TABLE_NAME, null, contentValues) - requireContext().contentResolver.notifyChange(uri, null) + context?.contentResolver?.notifyChange(uri, null) return "$BASE_URI/$id".toUri() } @@ -85,7 +85,7 @@ class BookmarkPicturesContentProvider : CommonsDaggerContentProvider() { "media_name = ?", arrayOf(uri.lastPathSegment) ) - requireContext().contentResolver.notifyChange(uri, null) + context?.contentResolver?.notifyChange(uri, null) return rows } diff --git a/app/src/main/java/fr/free/nrw/commons/explore/recentsearches/RecentSearchesContentProvider.kt b/app/src/main/java/fr/free/nrw/commons/explore/recentsearches/RecentSearchesContentProvider.kt index 21f7a1a22..c18f101ae 100644 --- a/app/src/main/java/fr/free/nrw/commons/explore/recentsearches/RecentSearchesContentProvider.kt +++ b/app/src/main/java/fr/free/nrw/commons/explore/recentsearches/RecentSearchesContentProvider.kt @@ -50,7 +50,7 @@ class RecentSearchesContentProvider : CommonsDaggerContentProvider() { else -> throw IllegalArgumentException("Unknown URI$uri") } - cursor.setNotificationUri(requireContext().contentResolver, uri) + cursor.setNotificationUri(context?.contentResolver, uri) return cursor } @@ -67,7 +67,7 @@ class RecentSearchesContentProvider : CommonsDaggerContentProvider() { else -> throw IllegalArgumentException("Unknown URI: $uri") } - requireContext().contentResolver.notifyChange(uri, null) + context?.contentResolver?.notifyChange(uri, null) return "$BASE_URI/$id".toUri() } @@ -88,7 +88,7 @@ class RecentSearchesContentProvider : CommonsDaggerContentProvider() { else -> throw IllegalArgumentException("Unknown URI - $uri") } - requireContext().contentResolver.notifyChange(uri, null) + context?.contentResolver?.notifyChange(uri, null) return rows } @@ -108,7 +108,7 @@ class RecentSearchesContentProvider : CommonsDaggerContentProvider() { } sqlDB.setTransactionSuccessful() sqlDB.endTransaction() - requireContext().contentResolver.notifyChange(uri, null) + context?.contentResolver?.notifyChange(uri, null) return values.size } @@ -147,7 +147,7 @@ class RecentSearchesContentProvider : CommonsDaggerContentProvider() { else -> throw IllegalArgumentException("Unknown URI: $uri with type $uriType") } - requireContext().contentResolver.notifyChange(uri, null) + context?.contentResolver?.notifyChange(uri, null) return rowsUpdated } diff --git a/app/src/main/java/fr/free/nrw/commons/recentlanguages/RecentLanguagesContentProvider.kt b/app/src/main/java/fr/free/nrw/commons/recentlanguages/RecentLanguagesContentProvider.kt index 04c18fbb7..80128ba73 100644 --- a/app/src/main/java/fr/free/nrw/commons/recentlanguages/RecentLanguagesContentProvider.kt +++ b/app/src/main/java/fr/free/nrw/commons/recentlanguages/RecentLanguagesContentProvider.kt @@ -59,7 +59,7 @@ class RecentLanguagesContentProvider : CommonsDaggerContentProvider() { null, sortOrder ) - cursor.setNotificationUri(requireContext().contentResolver, uri) + cursor.setNotificationUri(context?.contentResolver, uri) return cursor } @@ -90,7 +90,7 @@ class RecentLanguagesContentProvider : CommonsDaggerContentProvider() { throw IllegalArgumentException("Parameter `selection` should be empty when updating an ID") } - requireContext().contentResolver?.notifyChange(uri, null) + context?.contentResolver?.notifyChange(uri, null) return rowsUpdated } @@ -105,7 +105,7 @@ class RecentLanguagesContentProvider : CommonsDaggerContentProvider() { null, contentValues ) - requireContext().contentResolver?.notifyChange(uri, null) + context?.contentResolver?.notifyChange(uri, null) return "$BASE_URI/$id".toUri() } @@ -119,7 +119,7 @@ class RecentLanguagesContentProvider : CommonsDaggerContentProvider() { "language_code = ?", arrayOf(uri.lastPathSegment) ) - requireContext().contentResolver?.notifyChange(uri, null) + context?.contentResolver?.notifyChange(uri, null) return rows } }