Skip to content

Commit a1f06bf

Browse files
authored
fix: use commons extension for size calculation (#392)
* docs(changelog): add entry regarding file size calculation change * refactor: remove empty line * refactor: reformat code
1 parent be63034 commit a1f06bf

File tree

3 files changed

+22
-24
lines changed

3 files changed

+22
-24
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

77
## [Unreleased]
8+
### Fixed
9+
- Fixed file size calculations to use SI decimal units (divide by 1000)
810

911
## [1.6.0] - 2026-01-30
1012
### Added

app/src/main/kotlin/org/fossify/filemanager/extensions/Long.kt

Lines changed: 0 additions & 14 deletions
This file was deleted.

app/src/main/kotlin/org/fossify/filemanager/fragments/StorageFragment.kt

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ import org.fossify.filemanager.adapters.ItemsAdapter
4646
import org.fossify.filemanager.databinding.ItemStorageVolumeBinding
4747
import org.fossify.filemanager.databinding.StorageFragmentBinding
4848
import org.fossify.filemanager.extensions.config
49-
import org.fossify.filemanager.extensions.formatSizeThousand
5049
import org.fossify.filemanager.extensions.getAllVolumeNames
5150
import org.fossify.filemanager.helpers.ARCHIVES
5251
import org.fossify.filemanager.helpers.AUDIO
@@ -65,8 +64,10 @@ import org.fossify.filemanager.interfaces.ItemOperationsListener
6564
import org.fossify.filemanager.models.ListItem
6665
import java.util.Locale
6766

68-
class StorageFragment(context: Context, attributeSet: AttributeSet) : MyViewPagerFragment<MyViewPagerFragment.StorageInnerBinding>(context, attributeSet),
69-
ItemOperationsListener {
67+
class StorageFragment(
68+
context: Context,
69+
attributeSet: AttributeSet
70+
) : MyViewPagerFragment<MyViewPagerFragment.StorageInnerBinding>(context, attributeSet), ItemOperationsListener {
7071
private val SIZE_DIVIDER = 100000
7172
private var allDeviceListItems = ArrayList<ListItem>()
7273
private var lastSearchedText = ""
@@ -252,7 +253,8 @@ class StorageFragment(context: Context, attributeSet: AttributeSet) : MyViewPage
252253
try {
253254
context.queryCursor(uri, projection) { cursor ->
254255
try {
255-
val mimeType = cursor.getStringValue(MediaStore.Files.FileColumns.MIME_TYPE)?.lowercase(Locale.getDefault())
256+
val mimeType =
257+
cursor.getStringValue(MediaStore.Files.FileColumns.MIME_TYPE)?.lowercase(Locale.getDefault())
256258
val size = cursor.getLongValue(MediaStore.Files.FileColumns.SIZE)
257259
if (mimeType == null) {
258260
if (size > 0 && size != 4096L) {
@@ -309,7 +311,8 @@ class StorageFragment(context: Context, attributeSet: AttributeSet) : MyViewPage
309311
if (storageVolume.isPrimary) {
310312
// internal storage
311313
volumeName = PRIMARY_VOLUME_NAME
312-
val storageStatsManager = context.getSystemService(AppCompatActivity.STORAGE_STATS_SERVICE) as StorageStatsManager
314+
val storageStatsManager =
315+
context.getSystemService(AppCompatActivity.STORAGE_STATS_SERVICE) as StorageStatsManager
313316
val uuid = StorageManager.UUID_DEFAULT
314317
totalStorageSpace = storageStatsManager.getTotalBytes(uuid)
315318
freeStorageSpace = storageStatsManager.getFreeBytes(uuid)
@@ -322,17 +325,24 @@ class StorageFragment(context: Context, attributeSet: AttributeSet) : MyViewPage
322325
post {
323326
volumes[volumeName]?.apply {
324327
arrayOf(
325-
mainStorageUsageProgressbar, imagesProgressbar, videosProgressbar, audioProgressbar, documentsProgressbar,
326-
archivesProgressbar, othersProgressbar
328+
mainStorageUsageProgressbar,
329+
imagesProgressbar,
330+
videosProgressbar,
331+
audioProgressbar,
332+
documentsProgressbar,
333+
archivesProgressbar,
334+
othersProgressbar
327335
).forEach {
328336
it.max = (totalStorageSpace / SIZE_DIVIDER).toInt()
329337
}
330338

331-
mainStorageUsageProgressbar.progress = ((totalStorageSpace - freeStorageSpace) / SIZE_DIVIDER).toInt()
339+
mainStorageUsageProgressbar.progress =
340+
((totalStorageSpace - freeStorageSpace) / SIZE_DIVIDER).toInt()
332341

333342
mainStorageUsageProgressbar.beVisible()
334-
freeSpaceValue.text = freeStorageSpace.formatSizeThousand()
335-
totalSpace.text = String.format(context.getString(R.string.total_storage), totalStorageSpace.formatSizeThousand())
343+
freeSpaceValue.text = freeStorageSpace.formatSize()
344+
totalSpace.text =
345+
String.format(context.getString(R.string.total_storage), totalStorageSpace.formatSize())
336346
freeSpaceLabel.beVisible()
337347
getSizes(volumeName)
338348
}

0 commit comments

Comments
 (0)