blob: e7fd59f0245300bed9edb9d203b2cdf1c572c16f [file] [log] [blame]
var syrup = require('stf-syrup')
var logger = require('../../../util/logger')
module.exports = syrup.serial()
.dependency(require('./properties'))
.define(function(options, properties) {
var log = logger.createLogger('device:support:abi')
return (function() {
function split(list) {
return list ? list.split(',') : []
}
var abi = {
primary: properties['ro.product.cpu.abi']
, pie: properties['ro.build.version.sdk'] >= 16
, all: []
, b32: []
, b64: []
}
// Since Android 5.0
if (properties['ro.product.cpu.abilist']) {
abi.all = split(properties['ro.product.cpu.abilist'])
abi.b64 = split(properties['ro.product.cpu.abilist64'])
abi.b32 = split(properties['ro.product.cpu.abilist32'])
}
// Up to Android 4.4
else {
abi.all.push(abi.primary)
abi.b32.push(abi.primary)
if (properties['ro.product.cpu.abi2']) {
abi.all.push(properties['ro.product.cpu.abi2'])
abi.b32.push(properties['ro.product.cpu.abi2'])
}
}
log.info('Supports ABIs %s', abi.all.join(', '))
return abi
})()
})