mirror of
https://github.com/DeviceFarmer/stf.git
synced 2026-04-18 16:13:24 +02:00
Add phone number and imei to device identity.
This commit is contained in:
@@ -7,7 +7,8 @@ module.exports = syrup.serial()
|
||||
.dependency(require('../support/properties'))
|
||||
.dependency(require('./display'))
|
||||
.dependency(require('./browsers'))
|
||||
.define(function(options, properties, display, browsers) {
|
||||
.dependency(require('./phone'))
|
||||
.define(function(options, properties, display, browsers, phone) {
|
||||
var log = logger.createLogger('device:plugins:identity')
|
||||
|
||||
function solve() {
|
||||
@@ -15,6 +16,7 @@ module.exports = syrup.serial()
|
||||
var identity = devutil.makeIdentity(options.serial, properties)
|
||||
identity.display = display
|
||||
identity.browsers = browsers
|
||||
identity.phone = phone
|
||||
return identity
|
||||
}
|
||||
|
||||
|
||||
@@ -303,6 +303,25 @@ module.exports = syrup.serial()
|
||||
})
|
||||
}
|
||||
|
||||
function getProperties(properties) {
|
||||
return runServiceCommand(
|
||||
apk.serviceProto.RequestType.GET_PROPERTIES
|
||||
, new apk.serviceProto.GetPropertiesRequest(properties)
|
||||
)
|
||||
.timeout(15000)
|
||||
.then(function(data) {
|
||||
var response = apk.serviceProto.GetPropertiesResponse.decode(data)
|
||||
if (response.success) {
|
||||
var mapped = Object.create(null)
|
||||
response.properties.forEach(function(property) {
|
||||
mapped[property.name] = property.value
|
||||
})
|
||||
return mapped
|
||||
}
|
||||
throw new Error('Unable to get properties')
|
||||
})
|
||||
}
|
||||
|
||||
function runServiceCommand(type, cmd) {
|
||||
var resolver = Promise.defer()
|
||||
service.writer.write(new apk.serviceProto.RequestEnvelope(
|
||||
@@ -372,6 +391,7 @@ module.exports = syrup.serial()
|
||||
}
|
||||
, copy: getClipboard
|
||||
, getBrowsers: getBrowsers
|
||||
, getProperties: getProperties
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
16
lib/roles/device/plugins/phone.js
Normal file
16
lib/roles/device/plugins/phone.js
Normal file
@@ -0,0 +1,16 @@
|
||||
var syrup = require('syrup')
|
||||
|
||||
var logger = require('../../../util/logger')
|
||||
|
||||
module.exports = syrup.serial()
|
||||
.dependency(require('./input'))
|
||||
.define(function(options, input) {
|
||||
var log = logger.createLogger('device:plugins:phone')
|
||||
|
||||
function fetch() {
|
||||
log.info('Fetching phone info')
|
||||
return input.getProperties(['imei', 'phoneNumber'])
|
||||
}
|
||||
|
||||
return fetch()
|
||||
})
|
||||
@@ -53,6 +53,7 @@ module.exports = syrup.serial()
|
||||
)
|
||||
})
|
||||
)
|
||||
, new wire.DevicePhoneMessage(identity.phone)
|
||||
))
|
||||
])
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user