@@ -25,38 +25,7 @@ class StorageFragment(context: Context, attributeSet: AttributeSet) : MyViewPage
2525
2626 override fun setupFragment (activity : SimpleActivity ) {
2727 total_space.text = String .format(context.getString(R .string.total_storage), " …" )
28-
29- ensureBackgroundThread {
30- getMainStorageStats(activity)
31-
32- val filesSize = getSizesByMimeType()
33- val imagesSize = filesSize[IMAGES ]!!
34- val videosSize = filesSize[VIDEOS ]!!
35- val audioSize = filesSize[AUDIO ]!!
36- val documentsSize = filesSize[DOCUMENTS ]!!
37- val archivesSize = filesSize[ARCHIVES ]!!
38- val othersSize = filesSize[OTHERS ]!!
39-
40- activity.runOnUiThread {
41- images_size.text = imagesSize.formatSize()
42- images_progressbar.progress = (imagesSize / SIZE_DIVIDER ).toInt()
43-
44- videos_size.text = videosSize.formatSize()
45- videos_progressbar.progress = (videosSize / SIZE_DIVIDER ).toInt()
46-
47- audio_size.text = audioSize.formatSize()
48- audio_progressbar.progress = (audioSize / SIZE_DIVIDER ).toInt()
49-
50- documents_size.text = documentsSize.formatSize()
51- documents_progressbar.progress = (documentsSize / SIZE_DIVIDER ).toInt()
52-
53- archives_size.text = archivesSize.formatSize()
54- archives_progressbar.progress = (archivesSize / SIZE_DIVIDER ).toInt()
55-
56- others_size.text = othersSize.formatSize()
57- others_progressbar.progress = (othersSize / SIZE_DIVIDER ).toInt()
58- }
59- }
28+ getSizes()
6029
6130 free_space_holder.setOnClickListener {
6231 try {
@@ -77,7 +46,8 @@ class StorageFragment(context: Context, attributeSet: AttributeSet) : MyViewPage
7746
7847 override fun refreshFragment () {}
7948
80- override fun setupColors (textColor : Int , primaryColor : Int ) {
49+ override fun onResume (textColor : Int , primaryColor : Int ) {
50+ getSizes()
8151 context.updateTextColors(storage_fragment)
8252
8353 main_storage_usage_progressbar.setIndicatorColor(primaryColor)
@@ -115,6 +85,40 @@ class StorageFragment(context: Context, attributeSet: AttributeSet) : MyViewPage
11585 }
11686 }
11787
88+ private fun getSizes () {
89+ ensureBackgroundThread {
90+ getMainStorageStats(context)
91+
92+ val filesSize = getSizesByMimeType()
93+ val imagesSize = filesSize[IMAGES ]!!
94+ val videosSize = filesSize[VIDEOS ]!!
95+ val audioSize = filesSize[AUDIO ]!!
96+ val documentsSize = filesSize[DOCUMENTS ]!!
97+ val archivesSize = filesSize[ARCHIVES ]!!
98+ val othersSize = filesSize[OTHERS ]!!
99+
100+ post {
101+ images_size.text = imagesSize.formatSize()
102+ images_progressbar.progress = (imagesSize / SIZE_DIVIDER ).toInt()
103+
104+ videos_size.text = videosSize.formatSize()
105+ videos_progressbar.progress = (videosSize / SIZE_DIVIDER ).toInt()
106+
107+ audio_size.text = audioSize.formatSize()
108+ audio_progressbar.progress = (audioSize / SIZE_DIVIDER ).toInt()
109+
110+ documents_size.text = documentsSize.formatSize()
111+ documents_progressbar.progress = (documentsSize / SIZE_DIVIDER ).toInt()
112+
113+ archives_size.text = archivesSize.formatSize()
114+ archives_progressbar.progress = (archivesSize / SIZE_DIVIDER ).toInt()
115+
116+ others_size.text = othersSize.formatSize()
117+ others_progressbar.progress = (othersSize / SIZE_DIVIDER ).toInt()
118+ }
119+ }
120+ }
121+
118122 private fun getSizesByMimeType (): HashMap <String , Long > {
119123 val uri = MediaStore .Files .getContentUri(" external" )
120124 val projection = arrayOf(
@@ -177,20 +181,20 @@ class StorageFragment(context: Context, attributeSet: AttributeSet) : MyViewPage
177181 }
178182
179183 @SuppressLint(" NewApi" )
180- private fun getMainStorageStats (activity : SimpleActivity ) {
181- val externalDirs = activity .getExternalFilesDirs(null )
182- val storageManager = activity .getSystemService(AppCompatActivity .STORAGE_SERVICE ) as StorageManager
184+ private fun getMainStorageStats (context : Context ) {
185+ val externalDirs = context .getExternalFilesDirs(null )
186+ val storageManager = context .getSystemService(AppCompatActivity .STORAGE_SERVICE ) as StorageManager
183187
184188 externalDirs.forEach { file ->
185189 val storageVolume = storageManager.getStorageVolume(file) ? : return
186190 if (storageVolume.isPrimary) {
187191 // internal storage
188- val storageStatsManager = activity .getSystemService(AppCompatActivity .STORAGE_STATS_SERVICE ) as StorageStatsManager
192+ val storageStatsManager = context .getSystemService(AppCompatActivity .STORAGE_STATS_SERVICE ) as StorageStatsManager
189193 val uuid = StorageManager .UUID_DEFAULT
190194 val totalSpace = storageStatsManager.getTotalBytes(uuid)
191195 val freeSpace = storageStatsManager.getFreeBytes(uuid)
192196
193- activity.runOnUiThread {
197+ post {
194198 arrayOf(
195199 main_storage_usage_progressbar, images_progressbar, videos_progressbar, audio_progressbar, documents_progressbar,
196200 archives_progressbar, others_progressbar
0 commit comments