/**@class android.os.Build
@extends java.lang.Object

 Information about the current build, extracted from system properties.
*/
var Build = {

/**Value used for when a build property is unknown. */
UNKNOWN : "unknown",
/**Either a changelist number, or a label like "M4-rc20". */
ID : "null",
/**A build ID string meant for displaying to the user */
DISPLAY : "null",
/**The name of the overall product. */
PRODUCT : "null",
/**The name of the industrial design. */
DEVICE : "null",
/**The name of the underlying board, like "goldfish". */
BOARD : "null",
/** The name of the instruction set (CPU type + ABI convention) of native code.

 @deprecated Use {@link #SUPPORTED_ABIS} instead.
*/
CPU_ABI : "null",
/** The name of the second instruction set (CPU type + ABI convention) of native code.

 @deprecated Use {@link #SUPPORTED_ABIS} instead.
*/
CPU_ABI2 : "null",
/**The manufacturer of the product/hardware. */
MANUFACTURER : "null",
/**The consumer-visible brand with which the product/hardware will be associated, if any. */
BRAND : "null",
/**The end-user-visible name for the end product. */
MODEL : "null",
/**The system bootloader version number. */
BOOTLOADER : "null",
/** The radio firmware version number.

 @deprecated The radio firmware version is frequently not
 available when this class is initialized, leading to a blank or
 "unknown" value for this string.  Use
 {@link #getRadioVersion} instead.
*/
RADIO : "null",
/**The name of the hardware (from the kernel command line or /proc). */
HARDWARE : "null",
/** Whether this build was for an emulator device.
 @hide
*/
IS_EMULATOR : "null",
/** A hardware serial number, if available. Alphanumeric only, case-insensitive.
 This field is always set to {@link android.os.Build#UNKNOWN}.

 @deprecated Use {@link #getSerial}() instead.
*/
SERIAL : "null",
/** An ordered list of ABIs supported by this device. The most preferred ABI is the first
 element in the list.

 See {@link #SUPPORTED_32_BIT_ABIS} and {@link #SUPPORTED_64_BIT_ABIS}.
*/
SUPPORTED_ABIS : "null",
/** An ordered list of <b>32 bit</b> ABIs supported by this device. The most preferred ABI
 is the first element in the list.

 See {@link #SUPPORTED_ABIS} and {@link #SUPPORTED_64_BIT_ABIS}.
*/
SUPPORTED_32_BIT_ABIS : "null",
/** An ordered list of <b>64 bit</b> ABIs supported by this device. The most preferred ABI
 is the first element in the list.

 See {@link #SUPPORTED_ABIS} and {@link #SUPPORTED_32_BIT_ABIS}.
*/
SUPPORTED_64_BIT_ABIS : "null",
/**The type of build, like "user" or "eng". */
TYPE : "null",
/**Comma-separated tags describing the build, like "unsigned,debug". */
TAGS : "null",
/**A string that uniquely identifies this build.  Do not attempt to parse this value. */
FINGERPRINT : "null",
/** True if Treble is enabled and required for this device.

 @hide
*/
IS_TREBLE_ENABLED : "null",
/**The time at which the build was produced, given in milliseconds since the UNIX epoch. */
TIME : "null",
/***/
USER : "null",
/***/
HOST : "null",
/** Returns true if we are running a debug build such as "user-debug" or "eng".
 @hide
*/
IS_DEBUGGABLE : "null",
/**{@hide} */
IS_ENG : "null",
/**{@hide} */
IS_USERDEBUG : "null",
/**{@hide} */
IS_USER : "null",
/** Whether this build is running inside a container.

 We should try to avoid checking this flag if possible to minimize
 unnecessarily diverging from non-container Android behavior.
 Checking this flag is acceptable when low-level resources being
 different, e.g. the availability of certain capabilities, access to
 system resources being restricted, and the fact that the host OS might
 handle some features for us.
 For higher-level behavior differences, other checks should be preferred.
 @hide
*/
IS_CONTAINER : "null",
/** Specifies whether the permissions needed by a legacy app should be
 reviewed before any of its components can run. A legacy app is one
 with targetSdkVersion < 23, i.e apps using the old permission model.
 If review is not required, permissions are reviewed before the app
 is installed.

 @hide
 @removed
*/
PERMISSIONS_REVIEW_REQUIRED : "true",
/**Gets the hardware serial number, if available.

 <p class="note"><b>Note:</b> Root access may allow you to modify device identifiers, such as
 the hardware serial number. If you change these identifiers, you can use
 <a href="/training/articles/security-key-attestation.html">key attestation</a> to obtain
 proof of the device's original identifiers.

 <p>Requires Permission: READ_PRIVILEGED_PHONE_STATE, for the calling app to be the device or
 profile owner and have the READ_PHONE_STATE permission, or that the calling app has carrier
 privileges (see {@link android.telephony.TelephonyManager#hasCarrierPrivileges}). The profile
 owner is an app that owns a managed profile on the device; for more details see <a
 href="https://developer.android.com/work/managed-profiles">Work profiles</a>. Profile owner
 access is deprecated and will be removed in a future release.

 <p>If the calling app does not meet one of these requirements then this method will behave
 as follows:

 <ul>
     <li>If the calling app's target SDK is API level 28 or lower and the app has the
     READ_PHONE_STATE permission then {@link android.os.Build#UNKNOWN} is returned.</li>
     <li>If the calling app's target SDK is API level 28 or lower and the app does not have
     the READ_PHONE_STATE permission, or if the calling app is targeting API level 29 or
     higher, then a SecurityException is thrown.</li>
 </ul>
 *
@return {String} The serial number if specified.
*/
getSerial : function(  ) {},

/**{@hide}
*/
is64BitAbi : function(  ) {},

/**Ensure that raw fingerprint system property is defined. If it was derived
 dynamically by {@link #deriveFingerprint}() this is where we push the
 derived value into the property service.
@hide 
*/
ensureFingerprintProperty : function(  ) {},

/**Verifies the current flash of the device is consistent with what
 was expected at build time.

 Treble devices will verify the Vendor Interface (VINTF). A device
 launched without Treble:

 1) Checks that device fingerprint is defined and that it matches across
    various partitions.
 2) Verifies radio and bootloader partitions are those expected in the build.
@hide 
*/
isBuildConsistent : function(  ) {},

/**Get build information about partitions that have a separate fingerprint defined.

 The list includes partitions that are suitable candidates for over-the-air updates. This is
 not an exhaustive list of partitions on the device.
*/
getFingerprintedPartitions : function(  ) {},

/**Returns the version string for the radio firmware.  May return
 null (if, for instance, the radio is not currently on).
*/
getRadioVersion : function(  ) {},


};