From 25e467b3a5bb4bd7d898181467f778766d7babf3 Mon Sep 17 00:00:00 2001 From: Akshay Komar <146421342+Akshaykomar890@users.noreply.github.com> Date: Sun, 5 Jan 2025 13:51:17 +0530 Subject: [PATCH 1/3] Refactor Nearby Location Tests to Improve Assertion Logic (#6103) -Refactored testSearchCloseToCurrentLocationWhenFar: Simplified assertion by using assertFalse(!isClose) for better readability and logical clarity. -Added testSearchCloseToCurrentLocationWhenClose: Created a new test case to validate behavior when the search is close to the current location, ensuring assertTrue(isClose) for correctness. -Improved Coverage: These changes enhance the test coverage and reliability of the searchCloseToCurrentLocation function. --- .../nrw/commons/nearby/NearbyParentFragmentPresenterTest.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/test/kotlin/fr/free/nrw/commons/nearby/NearbyParentFragmentPresenterTest.kt b/app/src/test/kotlin/fr/free/nrw/commons/nearby/NearbyParentFragmentPresenterTest.kt index cfd2a818d..80e9a53f9 100644 --- a/app/src/test/kotlin/fr/free/nrw/commons/nearby/NearbyParentFragmentPresenterTest.kt +++ b/app/src/test/kotlin/fr/free/nrw/commons/nearby/NearbyParentFragmentPresenterTest.kt @@ -306,7 +306,7 @@ class NearbyParentFragmentPresenterTest { // 111.19 km real distance, return false if 148306.444306 > currentLocationSearchRadius NearbyController.currentLocationSearchRadius = 148306.0 val isClose = nearbyPresenter.searchCloseToCurrentLocation() - assertFalse(isClose!!.equals(false)) + assertFalse(!isClose) } /** @@ -318,7 +318,7 @@ class NearbyParentFragmentPresenterTest { // 111.19 km real distance, return false if 148253.333 > currentLocationSearchRadius NearbyController.currentLocationSearchRadius = 148307.0 val isClose = nearbyPresenter.searchCloseToCurrentLocation() - assertTrue(isClose!!) + assertTrue(isClose) } fun expectMapAndListUpdate() { From 1d8d1d6b032aa165e581f2ce4c3e683ec820270a Mon Sep 17 00:00:00 2001 From: Paul Hawke Date: Sun, 5 Jan 2025 05:44:30 -0600 Subject: [PATCH 2/3] Remove the extra byte buffer copying while creating file chunks (#6091) Co-authored-by: Nicolas Raoul --- .../java/fr/free/nrw/commons/upload/FileUtilsWrapper.kt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/upload/FileUtilsWrapper.kt b/app/src/main/java/fr/free/nrw/commons/upload/FileUtilsWrapper.kt index aa1f8aed6..68a3cb362 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/FileUtilsWrapper.kt +++ b/app/src/main/java/fr/free/nrw/commons/upload/FileUtilsWrapper.kt @@ -49,9 +49,10 @@ class FileUtilsWrapper @Inject constructor(private val context: Context) { while ((bis.read(buffer).also { size = it }) > 0) { buffers.add( writeToFile( - buffer.copyOf(size), + buffer, file.name ?: "", - getFileExt(file.name) + getFileExt(file.name), + size ) ) } @@ -67,7 +68,7 @@ class FileUtilsWrapper @Inject constructor(private val context: Context) { * Create a temp file containing the passed byte data. */ @Throws(IOException::class) - private fun writeToFile(data: ByteArray, fileName: String, fileExtension: String): File { + private fun writeToFile(data: ByteArray, fileName: String, fileExtension: String, size: Int): File { val file = File.createTempFile(fileName, fileExtension, context.cacheDir) try { if (!file.exists()) { @@ -75,7 +76,7 @@ class FileUtilsWrapper @Inject constructor(private val context: Context) { } FileOutputStream(file).use { fos -> - fos.write(data) + fos.write(data, 0, size) } } catch (throwable: Exception) { Timber.e(throwable, "Failed to create file") From cebe1c2a1fce55f008e4def7adf8937d2273521f Mon Sep 17 00:00:00 2001 From: Neel Doshi <60827173+neeldoshii@users.noreply.github.com> Date: Sun, 5 Jan 2025 22:18:05 +0530 Subject: [PATCH 3/3] chore : lint fix (#6099) - Removed unused constants which were there in `Pref` - Removed unused parameter requireActivity from `Setting Fragment` Revert "chore : lint fix" This reverts commit 599203343f4c3c050b45e4ccf53fd23097818cc4. --- app/src/main/java/fr/free/nrw/commons/settings/Prefs.kt | 4 ---- .../java/fr/free/nrw/commons/settings/SettingsActivity.kt | 1 - .../java/fr/free/nrw/commons/settings/SettingsFragment.kt | 7 ++----- 3 files changed, 2 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/settings/Prefs.kt b/app/src/main/java/fr/free/nrw/commons/settings/Prefs.kt index 13e8efb57..05c850a03 100644 --- a/app/src/main/java/fr/free/nrw/commons/settings/Prefs.kt +++ b/app/src/main/java/fr/free/nrw/commons/settings/Prefs.kt @@ -1,11 +1,7 @@ package fr.free.nrw.commons.settings object Prefs { - const val GLOBAL_PREFS = "fr.free.nrw.commons.preferences" - - const val TRACKING_ENABLED = "eventLogging" const val DEFAULT_LICENSE = "defaultLicense" - const val UPLOADS_SHOWING = "uploadsShowing" const val MANAGED_EXIF_TAGS = "managed_exif_tags" const val DESCRIPTION_LANGUAGE = "languageDescription" const val APP_UI_LANGUAGE = "appUiLanguage" diff --git a/app/src/main/java/fr/free/nrw/commons/settings/SettingsActivity.kt b/app/src/main/java/fr/free/nrw/commons/settings/SettingsActivity.kt index da79244bc..91c88d7b0 100644 --- a/app/src/main/java/fr/free/nrw/commons/settings/SettingsActivity.kt +++ b/app/src/main/java/fr/free/nrw/commons/settings/SettingsActivity.kt @@ -12,7 +12,6 @@ import fr.free.nrw.commons.theme.BaseActivity class SettingsActivity : BaseActivity() { private lateinit var binding: ActivitySettingsBinding -// private var settingsDelegate: AppCompatDelegate? = null /** * to be called when the activity starts diff --git a/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.kt b/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.kt index 36528a919..166cb1e97 100644 --- a/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.kt +++ b/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.kt @@ -1,7 +1,6 @@ package fr.free.nrw.commons.settings import android.Manifest.permission -import android.annotation.SuppressLint import android.app.Activity import android.app.Dialog import android.content.Context.MODE_PRIVATE @@ -11,7 +10,6 @@ import android.net.Uri import android.os.Bundle import android.text.Editable import android.text.TextWatcher -import android.view.KeyEvent import android.view.View import android.widget.AdapterView import android.widget.Button @@ -131,7 +129,7 @@ class SettingsFragment : PreferenceFragmentCompat() { inAppCameraLocationPref?.setOnPreferenceChangeListener { _, newValue -> val isInAppCameraLocationTurnedOn = newValue as Boolean if (isInAppCameraLocationTurnedOn) { - createDialogsAndHandleLocationPermissions(requireActivity()) + createDialogsAndHandleLocationPermissions() } true } @@ -256,7 +254,7 @@ class SettingsFragment : PreferenceFragmentCompat() { * * @param activity */ - private fun createDialogsAndHandleLocationPermissions(activity: Activity) { + private fun createDialogsAndHandleLocationPermissions() { inAppCameraLocationPermissionLauncher.launch(arrayOf(permission.ACCESS_FINE_LOCATION)) } @@ -284,7 +282,6 @@ class SettingsFragment : PreferenceFragmentCompat() { return object : PreferenceGroupAdapter(preferenceScreen) { override fun onBindViewHolder(holder: PreferenceViewHolder, position: Int) { super.onBindViewHolder(holder, position) - val preference = getItem(position) val iconFrame: View? = holder.itemView.findViewById(R.id.icon_frame) iconFrame?.visibility = View.GONE }