diff options
author | Justin Klaassen <justinklaassen@google.com> | 2018-04-15 00:41:15 -0400 |
---|---|---|
committer | Justin Klaassen <justinklaassen@google.com> | 2018-04-15 00:41:15 -0400 |
commit | b8042fc9b036db0a6692ca853428fc6ab1e60892 (patch) | |
tree | 82669ea5d75238758e22d379a42baeada526219e /android/text/format/Formatter.java | |
parent | 4d01eeaffaa720e4458a118baa137a11614f00f7 (diff) | |
download | android-28-b8042fc9b036db0a6692ca853428fc6ab1e60892.tar.gz |
Import Android SDK Platform P [4719250]HEADmastermainandroidx-work-releaseandroidx-webkit-releaseandroidx-viewpager2-releaseandroidx-versionedparcelable-releaseandroidx-vectordrawable-releaseandroidx-transition-releaseandroidx-sqlite-releaseandroidx-sharetarget-releaseandroidx-security-security-crypto-releaseandroidx-savedstate-releaseandroidx-room-releaseandroidx-recyclerview-releaseandroidx-recyclerview-recyclerview-selection-releaseandroidx-preference-releaseandroidx-paging-releaseandroidx-paging-legacy-releaseandroidx-navigation-releaseandroidx-mediarouter-releaseandroidx-media2-releaseandroidx-media2-media2-widget-releaseandroidx-media-releaseandroidx-master-releaseandroidx-localbroadcastmanager-releaseandroidx-loader-releaseandroidx-lifecycle-releaseandroidx-jetifier-releaseandroidx-g3-releaseandroidx-fragment-releaseandroidx-exifinterface-releaseandroidx-enterprise-releaseandroidx-core-releaseandroidx-core-core-role-releaseandroidx-coordinatorlayout-releaseandroidx-concurrent-releaseandroidx-compose-releaseandroidx-collection-releaseandroidx-camerax-releaseandroidx-browser-releaseandroidx-biometric-releaseandroidx-benchmark-releaseandroidx-autofill-releaseandroidx-arch-core-releaseandroidx-appcompat-releaseandroidx-annotation-releaseandroidx-annotation-annotation-experimental-releaseandroidx-activity-releaseandroid-arch-work-releaseandroid-arch-navigation-release
/google/data/ro/projects/android/fetch_artifact \
--bid 4719250 \
--target sdk_phone_armv7-win_sdk \
sdk-repo-linux-sources-4719250.zip
AndroidVersion.ApiLevel has been modified to appear as 28
Change-Id: I9ec0a12c9251b8449dba0d86b0cfdbcca16b0a7c
Diffstat (limited to 'android/text/format/Formatter.java')
-rw-r--r-- | android/text/format/Formatter.java | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/android/text/format/Formatter.java b/android/text/format/Formatter.java index ad3b4b6d..de86a66a 100644 --- a/android/text/format/Formatter.java +++ b/android/text/format/Formatter.java @@ -40,6 +40,10 @@ public final class Formatter { public static final int FLAG_SHORTER = 1 << 0; /** {@hide} */ public static final int FLAG_CALCULATE_ROUNDED = 1 << 1; + /** {@hide} */ + public static final int FLAG_SI_UNITS = 1 << 2; + /** {@hide} */ + public static final int FLAG_IEC_UNITS = 1 << 3; /** {@hide} */ public static class BytesResult { @@ -90,7 +94,7 @@ public final class Formatter { if (context == null) { return ""; } - final BytesResult res = formatBytes(context.getResources(), sizeBytes, 0); + final BytesResult res = formatBytes(context.getResources(), sizeBytes, FLAG_SI_UNITS); return bidiWrap(context, context.getString(com.android.internal.R.string.fileSizeSuffix, res.value, res.units)); } @@ -103,41 +107,43 @@ public final class Formatter { if (context == null) { return ""; } - final BytesResult res = formatBytes(context.getResources(), sizeBytes, FLAG_SHORTER); + final BytesResult res = formatBytes(context.getResources(), sizeBytes, + FLAG_SI_UNITS | FLAG_SHORTER); return bidiWrap(context, context.getString(com.android.internal.R.string.fileSizeSuffix, res.value, res.units)); } /** {@hide} */ public static BytesResult formatBytes(Resources res, long sizeBytes, int flags) { + final int unit = ((flags & FLAG_IEC_UNITS) != 0) ? 1024 : 1000; final boolean isNegative = (sizeBytes < 0); float result = isNegative ? -sizeBytes : sizeBytes; int suffix = com.android.internal.R.string.byteShort; long mult = 1; if (result > 900) { suffix = com.android.internal.R.string.kilobyteShort; - mult = 1000; - result = result / 1000; + mult = unit; + result = result / unit; } if (result > 900) { suffix = com.android.internal.R.string.megabyteShort; - mult *= 1000; - result = result / 1000; + mult *= unit; + result = result / unit; } if (result > 900) { suffix = com.android.internal.R.string.gigabyteShort; - mult *= 1000; - result = result / 1000; + mult *= unit; + result = result / unit; } if (result > 900) { suffix = com.android.internal.R.string.terabyteShort; - mult *= 1000; - result = result / 1000; + mult *= unit; + result = result / unit; } if (result > 900) { suffix = com.android.internal.R.string.petabyteShort; - mult *= 1000; - result = result / 1000; + mult *= unit; + result = result / unit; } // Note we calculate the rounded long by ourselves, but still let String.format() // compute the rounded value. String.format("%f", 0.1) might not return "0.1" due to |