| 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 |
| })() |
| }) |