Merge "Add DataUnit to clarify SI-vs-IEC units."

This commit is contained in:
Jeff Sharkey
2018-01-19 06:38:48 +00:00
committed by Android (Google) Code Review
2 changed files with 19 additions and 4 deletions

View File

@@ -44083,6 +44083,18 @@ package android.util {
field public static final deprecated boolean RELEASE = true;
}
public class DataUnit extends java.lang.Enum {
method public long toBytes(long);
method public static android.util.DataUnit valueOf(java.lang.String);
method public static final android.util.DataUnit[] values();
enum_constant public static final android.util.DataUnit GIBIBYTES;
enum_constant public static final android.util.DataUnit GIGABYTES;
enum_constant public static final android.util.DataUnit KIBIBYTES;
enum_constant public static final android.util.DataUnit KILOBYTES;
enum_constant public static final android.util.DataUnit MEBIBYTES;
enum_constant public static final android.util.DataUnit MEGABYTES;
}
public class DebugUtils {
method public static boolean isObjectSelected(java.lang.Object);
}

View File

@@ -20,12 +20,15 @@ import java.time.temporal.ChronoUnit;
import java.util.concurrent.TimeUnit;
/**
* Constants for common byte-related units. Note that both SI and IEC units are
* supported, and you'll need to pick the correct one for your use-case.
* A {@code DataUnit} represents data sizes at a given unit of granularity and
* provides utility methods to convert across units.
* <p>
* Note that both SI units (powers of 10) and IEC units (powers of 2) are
* supported, and you'll need to pick the correct one for your use-case. For
* example, Wikipedia defines a "kilobyte" as an SI unit of 1000 bytes, and a
* "kibibyte" as an IEC unit of 1024 bytes.
* <p>
* This design is mirrored after {@link TimeUnit} and {@link ChronoUnit}.
*
* @hide
*/
public enum DataUnit {
KILOBYTES { @Override public long toBytes(long v) { return v * 1_000; } },