From 754de6bb0449a577d2bb9c28cca6adf0ef9554f6 Mon Sep 17 00:00:00 2001 From: steckbrief Date: Mon, 6 Feb 2017 10:01:13 +0100 Subject: relates FS#241: Implementation of http download based on okhttp --- .../conversationsplus/utils/UIHelper.java | 25 ++++++++++------------ 1 file changed, 11 insertions(+), 14 deletions(-) (limited to 'src/main/java/de/thedevstack/conversationsplus/utils/UIHelper.java') diff --git a/src/main/java/de/thedevstack/conversationsplus/utils/UIHelper.java b/src/main/java/de/thedevstack/conversationsplus/utils/UIHelper.java index a2ed6d81..e3680b81 100644 --- a/src/main/java/de/thedevstack/conversationsplus/utils/UIHelper.java +++ b/src/main/java/de/thedevstack/conversationsplus/utils/UIHelper.java @@ -291,31 +291,28 @@ public class UIHelper { } public static String getHumanReadableFileSize(long size) { - String filesize; - if (size > (1.5 * 1024 * 1024)) { - filesize = size / (1024 * 1024)+ " MiB"; - } else if (size > 0) { - filesize = size / 1024 + " KiB"; - } else { - filesize = null; - } + return getHumanReadableDetailedFileSize(size, 1); + } - return filesize; + public static String getHumanReadableDetailedFileSize(long filesize) { + String size = getHumanReadableDetailedFileSize(filesize, 2); + return null == size ? "?" : size; } - public static String getHumanReadableDetailedFileSize(long filesize) { + public static String getHumanReadableDetailedFileSize(long filesize, int precision) { if (0 > filesize) { - return "?"; + return null; } double size = Double.valueOf(filesize); String[] sizes = {" bytes", " Kb", " Mb", " Gb", " Tb"}; int i = 0; - while (1023 < size) { + while (1023 < size && i < sizes.length - 1) { size /= 1024d; ++i; } + BigDecimal readableSize = new BigDecimal(size); - readableSize = readableSize.setScale(2, BigDecimal.ROUND_HALF_UP); - return readableSize.doubleValue() + sizes[i]; + readableSize = readableSize.setScale(precision, BigDecimal.ROUND_HALF_UP); + return ((0 == i) ? String.valueOf(readableSize.intValue()) : String.valueOf(readableSize.doubleValue())) + sizes[i]; } } -- cgit v1.2.3