From 152d0963db3abb5366fe8fb39d88cb5dbfabef78 Mon Sep 17 00:00:00 2001 From: Andrew Gaul Date: Thu, 11 Apr 2013 19:26:03 -0700 Subject: [PATCH] Do not display fractional bytes Also do not allocate String array on every invocation. --- src/org/fdroid/fdroid/AppDetails.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/org/fdroid/fdroid/AppDetails.java b/src/org/fdroid/fdroid/AppDetails.java index e99b1311e..da34b70a5 100644 --- a/src/org/fdroid/fdroid/AppDetails.java +++ b/src/org/fdroid/fdroid/AppDetails.java @@ -153,15 +153,17 @@ public class AppDetails extends ListActivity { } } + private static final String[] FRIENDLY_SIZE_FORMAT = { + "%.0f B", "%.0f KiB", "%.1f MiB", "%.2f GiB" }; + private static String getFriendlySize(int size) { double s = size; - String[] format = { "%f B", "%.0f KiB", "%.1f MiB", "%.2f GiB" }; int i = 0; - while (i < format.length - 1 && s >= 1024) { + while (i < FRIENDLY_SIZE_FORMAT.length - 1 && s >= 1024) { s = (100 * s / 1024) / 100.0; i++; } - return String.format(format[i], s); + return String.format(FRIENDLY_SIZE_FORMAT[i], s); } private static final int INSTALL = Menu.FIRST;