From f25606b71e76771a88bf46245a780569d90cf293 Mon Sep 17 00:00:00 2001 From: Vishal Nehra Date: Sun, 31 Dec 2023 19:41:52 +0530 Subject: [PATCH] Fix divide by zero error in trash bin getCapacity --- app/build.gradle | 2 +- .../ui/settings/AnalysisPrefFragment.kt | 2 +- .../ui/settings/TrashBinPrefFragment.kt | 17 ++++++++++++----- .../com/amaze/fileutilities/utilis/Utils.kt | 12 +++++++++--- 4 files changed, 23 insertions(+), 10 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index b39235b5..47ce0d58 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -252,7 +252,7 @@ dependencies { implementation 'org.zwobble.mammoth:mammoth:1.4.2' implementation 'me.zhanghai.android.fastscroll:library:1.1.8' implementation "ch.acra:acra-core:5.7.0" - implementation 'com.github.TeamAmaze:AmazeTrashBin:1.0.10' + implementation 'com.github.TeamAmaze:AmazeTrashBin:1.0.11' // https://mvnrepository.com/artifact/com.drewnoakes/metadata-extractor implementation group: 'com.drewnoakes', name: 'metadata-extractor', version: '2.16.0' diff --git a/app/src/main/java/com/amaze/fileutilities/home_page/ui/settings/AnalysisPrefFragment.kt b/app/src/main/java/com/amaze/fileutilities/home_page/ui/settings/AnalysisPrefFragment.kt index be397dc1..612b03e4 100644 --- a/app/src/main/java/com/amaze/fileutilities/home_page/ui/settings/AnalysisPrefFragment.kt +++ b/app/src/main/java/com/amaze/fileutilities/home_page/ui/settings/AnalysisPrefFragment.kt @@ -272,7 +272,7 @@ class AnalysisPrefFragment : PreferenceFragmentCompat(), Preference.OnPreference it?.toInt() ?: PreferencesConstants.DEFAULT_LARGE_SIZE_DIFF_APPS_DAYS ).apply() }, - max = PreferencesConstants.MAX_LARGE_SIZE_DIFF_APPS_DAYS.toLong() + upperBound = PreferencesConstants.MAX_LARGE_SIZE_DIFF_APPS_DAYS.toLong() ) } } diff --git a/app/src/main/java/com/amaze/fileutilities/home_page/ui/settings/TrashBinPrefFragment.kt b/app/src/main/java/com/amaze/fileutilities/home_page/ui/settings/TrashBinPrefFragment.kt index a430a7a0..51770003 100644 --- a/app/src/main/java/com/amaze/fileutilities/home_page/ui/settings/TrashBinPrefFragment.kt +++ b/app/src/main/java/com/amaze/fileutilities/home_page/ui/settings/TrashBinPrefFragment.kt @@ -82,7 +82,8 @@ class TrashBinPrefFragment : PreferenceFragmentCompat(), Preference.OnPreference PreferencesConstants.KEY_TRASH_BIN_RETENTION_DAYS, it?.toInt() ?: TrashBinConfig.RETENTION_DAYS_INFINITE ).apply() - } + }, + lowerBound = 1 ) { prefs.edit().putInt( PreferencesConstants.KEY_TRASH_BIN_RETENTION_DAYS, @@ -91,10 +92,13 @@ class TrashBinPrefFragment : PreferenceFragmentCompat(), Preference.OnPreference } } KEY_RETENTION_BYTES -> { - val bytes = prefs.getLong( + var bytes = prefs.getLong( PreferencesConstants.KEY_TRASH_BIN_RETENTION_BYTES, TrashBinConfig.RETENTION_BYTES_INFINITE ) + if (bytes != TrashBinConfig.RETENTION_BYTES_INFINITE) { + bytes = bytes.div(1024).div(1024) + } Utils.buildDigitInputDialog( requireContext(), getString(R.string.retention_bytes_title), getString(R.string.retention_bytes_summary), bytes, @@ -104,7 +108,8 @@ class TrashBinPrefFragment : PreferenceFragmentCompat(), Preference.OnPreference PreferencesConstants.KEY_TRASH_BIN_RETENTION_BYTES, bytesInput ?: TrashBinConfig.RETENTION_BYTES_INFINITE ).apply() - } + }, + lowerBound = 1 ) { prefs.edit().putLong( PreferencesConstants.KEY_TRASH_BIN_RETENTION_BYTES, @@ -125,7 +130,8 @@ class TrashBinPrefFragment : PreferenceFragmentCompat(), Preference.OnPreference PreferencesConstants.KEY_TRASH_BIN_RETENTION_NUM_OF_FILES, it?.toInt() ?: TrashBinConfig.RETENTION_NUM_OF_FILES ).apply() - } + }, + lowerBound = 1 ) { prefs.edit().putInt( PreferencesConstants.KEY_TRASH_BIN_RETENTION_NUM_OF_FILES, @@ -146,7 +152,8 @@ class TrashBinPrefFragment : PreferenceFragmentCompat(), Preference.OnPreference PreferencesConstants.KEY_TRASH_BIN_CLEANUP_INTERVAL_HOURS, it?.toInt() ?: TrashBinConfig.INTERVAL_CLEANUP_HOURS ).apply() - } + }, + lowerBound = 1 ) { prefs.edit().putInt( PreferencesConstants.KEY_TRASH_BIN_CLEANUP_INTERVAL_HOURS, diff --git a/app/src/main/java/com/amaze/fileutilities/utilis/Utils.kt b/app/src/main/java/com/amaze/fileutilities/utilis/Utils.kt index 293c0a1a..6a25db87 100644 --- a/app/src/main/java/com/amaze/fileutilities/utilis/Utils.kt +++ b/app/src/main/java/com/amaze/fileutilities/utilis/Utils.kt @@ -1242,14 +1242,20 @@ class Utils { summary: String, days: Long, callback: (Long?) -> Unit, - max: Long? = null, + lowerBound: Long? = null, + upperBound: Long? = null, neutralCallback: (() -> Unit)? = null ) { val inputEditTextViewPair = getEditTextViewForDialog(context, "$days") inputEditTextViewPair.second.inputType = InputType.TYPE_CLASS_NUMBER inputEditTextViewPair.second.setText("$days") - if (max != null) { - inputEditTextViewPair.second.filters = arrayOf(InputFilterMinMaxLong(1, max)) + if (upperBound != null) { + inputEditTextViewPair.second.filters = arrayOf(InputFilterMinMaxLong(1, upperBound)) + } + if (lowerBound != null) { + inputEditTextViewPair.second.filters = arrayOf(InputFilterMinMaxLong(lowerBound, + Integer.MAX_VALUE.toLong() + )) } val dialogBuilder = AlertDialog.Builder(context, R.style.Custom_Dialog_Dark)