From 2b076b5cc0533dfcf9ca44471375b081b70370f7 Mon Sep 17 00:00:00 2001 From: Ashish Date: Thu, 29 Dec 2016 02:43:37 +0530 Subject: [PATCH] MemoryUtil: prevent overloading --- .../fragments/ChooserDialogFragment.java | 15 +++++++------ .../storagechooser/utils/MemoryUtil.java | 22 ++++--------------- 2 files changed, 12 insertions(+), 25 deletions(-) diff --git a/storagechooser/src/main/java/com/codekidlabs/storagechooser/fragments/ChooserDialogFragment.java b/storagechooser/src/main/java/com/codekidlabs/storagechooser/fragments/ChooserDialogFragment.java index 2710d4e..b884561 100644 --- a/storagechooser/src/main/java/com/codekidlabs/storagechooser/fragments/ChooserDialogFragment.java +++ b/storagechooser/src/main/java/com/codekidlabs/storagechooser/fragments/ChooserDialogFragment.java @@ -142,7 +142,7 @@ private void populateList() { storagesList = new ArrayList(); File storageDir = new File("/storage"); - File internalStorageDir = Environment.getExternalStorageDirectory(); + String internalStoragePath = Environment.getExternalStorageDirectory().getAbsolutePath(); File[] volumeList = storageDir.listFiles(); @@ -154,9 +154,9 @@ private void populateList() { } else { storages.setStorageTitle(INTERNAL_STORAGE_TITLE); } - storages.setStoragePath(internalStorageDir.getAbsolutePath()); - storages.setMemoryTotalSize(memoryUtil.getTotalMemorySize(internalStorageDir)); - storages.setMemoryAvailableSize(memoryUtil.getAvailableMemorySize(internalStorageDir)); + storages.setStoragePath(internalStoragePath); + storages.setMemoryTotalSize(memoryUtil.formatSize(memoryUtil.getTotalMemorySize(internalStoragePath))); + storages.setMemoryAvailableSize(memoryUtil.formatSize(memoryUtil.getAvailableMemorySize(internalStoragePath))); storagesList.add(storages); @@ -166,10 +166,11 @@ private void populateList() { && !f.getName().equals(MemoryUtil.EMULATED_DIR_NAME) && !f.getName().equals(MemoryUtil.SDCARD0_DIR_NAME)) { Storages sharedStorage = new Storages(); + String fPath = f.getAbsolutePath(); sharedStorage.setStorageTitle(f.getName()); - sharedStorage.setMemoryTotalSize(memoryUtil.getTotalMemorySize(f)); - sharedStorage.setMemoryAvailableSize(memoryUtil.getAvailableMemorySize(f)); - sharedStorage.setStoragePath(f.getAbsolutePath()); + sharedStorage.setMemoryTotalSize(memoryUtil.formatSize(memoryUtil.getTotalMemorySize(fPath))); + sharedStorage.setMemoryAvailableSize(memoryUtil.formatSize(memoryUtil.getAvailableMemorySize(fPath))); + sharedStorage.setStoragePath(fPath); storagesList.add(sharedStorage); } } diff --git a/storagechooser/src/main/java/com/codekidlabs/storagechooser/utils/MemoryUtil.java b/storagechooser/src/main/java/com/codekidlabs/storagechooser/utils/MemoryUtil.java index e4a5fa9..e1316f8 100644 --- a/storagechooser/src/main/java/com/codekidlabs/storagechooser/utils/MemoryUtil.java +++ b/storagechooser/src/main/java/com/codekidlabs/storagechooser/utils/MemoryUtil.java @@ -46,16 +46,9 @@ public int getStorageListSize() { /** * calculate available/free size of any directory - * @param file File to use it with StatFs - * @return string formatted using formatSize() + * @param path path of the storage + * @return size in bytes */ - public String getAvailableMemorySize(File file) { - StatFs stat = new StatFs(file.getPath()); - long blockSize = stat.getBlockSize(); - long availableBlocks = stat.getAvailableBlocks(); - return formatSize(availableBlocks * blockSize); - } - public long getAvailableMemorySize(String path) { File file = new File(path); StatFs stat = new StatFs(file.getPath()); @@ -66,16 +59,9 @@ public long getAvailableMemorySize(String path) { /** * calculate total size of any directory - * @param file File to use it with StatFs - * @return + * @param path path of the storage + * @return size in bytes */ - public String getTotalMemorySize(File file) { - StatFs stat = new StatFs(file.getPath()); - long blockSize = stat.getBlockSize(); - long totalBlocks = stat.getBlockCount(); - return formatSize(totalBlocks * blockSize); - } - public long getTotalMemorySize(String path) { File file = new File(path); StatFs stat = new StatFs(file.getPath());