1
0
Fork 0
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:
Simo Kinnunen 2014-04-02 13:08:59 +09:00
parent a891e5de49
commit 5183485a53
6 changed files with 47 additions and 1 deletions

View file

@ -115,6 +115,7 @@ dbapi.saveDeviceIdentity = function(serial, identity) {
, sdk: identity.sdk
, display: identity.display
, browsers: identity.browsers
, phone: identity.phone
}))
}

View file

@ -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
}

View file

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

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

View file

@ -53,6 +53,7 @@ module.exports = syrup.serial()
)
})
)
, new wire.DevicePhoneMessage(identity.phone)
))
])
})

View file

@ -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 {