/**@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( ) {}, };