mirror of
https://github.com/openstf/stf
synced 2025-10-03 17:59:28 +02:00
Add phone number and imei to device identity.
This commit is contained in:
parent
a891e5de49
commit
5183485a53
6 changed files with 47 additions and 1 deletions
|
@ -115,6 +115,7 @@ dbapi.saveDeviceIdentity = function(serial, identity) {
|
|||
, sdk: identity.sdk
|
||||
, display: identity.display
|
||||
, browsers: identity.browsers
|
||||
, phone: identity.phone
|
||||
}))
|
||||
}
|
||||
|
||||
|
|
|
@ -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)
|
||||
))
|
||||
])
|
||||
})
|
||||
|
|
|
@ -139,6 +139,11 @@ message DeviceBrowsersMessage {
|
|||
repeated DeviceBrowserAppMessage apps = 2;
|
||||
}
|
||||
|
||||
message DevicePhoneMessage {
|
||||
optional string imei = 1;
|
||||
optional string phoneNumber = 2;
|
||||
}
|
||||
|
||||
message DeviceIdentityMessage {
|
||||
required string serial = 1;
|
||||
required string platform = 2;
|
||||
|
@ -150,6 +155,7 @@ message DeviceIdentityMessage {
|
|||
required string sdk = 8;
|
||||
required DeviceDisplayMessage display = 9;
|
||||
required DeviceBrowsersMessage browsers = 10;
|
||||
required DevicePhoneMessage phone = 11;
|
||||
}
|
||||
|
||||
message DeviceProperty {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue