mirror of
https://github.com/openstf/stf
synced 2025-10-06 12:00:08 +02:00
Merge branch 'feature/get-accounts' into develop
This commit is contained in:
commit
4a6d375adc
8 changed files with 69 additions and 1 deletions
|
@ -14,6 +14,28 @@ module.exports = syrup.serial()
|
||||||
.define(function(options, service, identity, touch, router, push, adb) {
|
.define(function(options, service, identity, touch, router, push, adb) {
|
||||||
var log = logger.createLogger('device:plugins:account')
|
var log = logger.createLogger('device:plugins:account')
|
||||||
|
|
||||||
|
router.on(wire.AccountGetMessage, function(channel, message){
|
||||||
|
var reply = wireutil.reply(options.serial)
|
||||||
|
|
||||||
|
log.info('Getting account(s) of type "%s"', message.type)
|
||||||
|
|
||||||
|
service.getAccounts(message.type)
|
||||||
|
.timeout(30000)
|
||||||
|
.then(function(accounts) {
|
||||||
|
push.send([
|
||||||
|
channel
|
||||||
|
, reply.okay('success',accounts)
|
||||||
|
])
|
||||||
|
})
|
||||||
|
.catch(function(err) {
|
||||||
|
log.error('Account get failed', err.stack)
|
||||||
|
push.send([
|
||||||
|
channel
|
||||||
|
, reply.fail(err.message)
|
||||||
|
])
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
router.on(wire.AccountRemoveMessage, function(channel, message) {
|
router.on(wire.AccountRemoveMessage, function(channel, message) {
|
||||||
var reply = wireutil.reply(options.serial)
|
var reply = wireutil.reply(options.serial)
|
||||||
|
|
||||||
|
|
|
@ -490,6 +490,21 @@ module.exports = syrup.serial()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
plugin.getAccounts = function(type) {
|
||||||
|
return runServiceCommand(
|
||||||
|
apk.wire.MessageType.GET_ACCOUNTS
|
||||||
|
, new apk.wire.GetAccountsRequest(type)
|
||||||
|
)
|
||||||
|
.timeout(15000)
|
||||||
|
.then(function(data) {
|
||||||
|
var response = apk.wire.GetAccountsResponse.decode(data)
|
||||||
|
if (response.success) {
|
||||||
|
return response.accounts
|
||||||
|
}
|
||||||
|
throw new Error('No accounts returned')
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
plugin.removeAccount = function(data) {
|
plugin.removeAccount = function(data) {
|
||||||
return runServiceCommand(
|
return runServiceCommand(
|
||||||
apk.wire.MessageType.DO_REMOVE_ACCOUNT
|
apk.wire.MessageType.DO_REMOVE_ACCOUNT
|
||||||
|
|
|
@ -15,7 +15,7 @@ module.exports = syrup.serial()
|
||||||
var log = logger.createLogger('device:resources:service')
|
var log = logger.createLogger('device:resources:service')
|
||||||
|
|
||||||
var resource = {
|
var resource = {
|
||||||
requiredVersion: '0.7.17'
|
requiredVersion: '0.7.18'
|
||||||
, pkg: 'jp.co.cyberagent.stf'
|
, pkg: 'jp.co.cyberagent.stf'
|
||||||
, main: 'jp.co.cyberagent.stf.Agent'
|
, main: 'jp.co.cyberagent.stf.Agent'
|
||||||
, apk: pathutil.vendor('STFService/STFService.apk')
|
, apk: pathutil.vendor('STFService/STFService.apk')
|
||||||
|
|
|
@ -362,6 +362,16 @@ module.exports = function(options) {
|
||||||
)
|
)
|
||||||
])
|
])
|
||||||
})
|
})
|
||||||
|
.on('account.get', function(channel, responseChannel, data) {
|
||||||
|
joinChannel(responseChannel)
|
||||||
|
push.send([
|
||||||
|
channel
|
||||||
|
, wireutil.transaction(
|
||||||
|
responseChannel
|
||||||
|
, new wire.AccountGetMessage(data.type)
|
||||||
|
)
|
||||||
|
])
|
||||||
|
})
|
||||||
.on('sd.status', function(channel, responseChannel) {
|
.on('sd.status', function(channel, responseChannel) {
|
||||||
joinChannel(responseChannel)
|
joinChannel(responseChannel)
|
||||||
push.send([
|
push.send([
|
||||||
|
|
|
@ -60,6 +60,7 @@ enum MessageType {
|
||||||
WifiGetStatusMessage = 58;
|
WifiGetStatusMessage = 58;
|
||||||
AccountAddMenuMessage = 59;
|
AccountAddMenuMessage = 59;
|
||||||
AccountAddMessage = 60;
|
AccountAddMessage = 60;
|
||||||
|
AccountGetMessage = 62;
|
||||||
SdStatusMessage = 61;
|
SdStatusMessage = 61;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -403,6 +404,10 @@ message AccountAddMessage {
|
||||||
required string password = 2;
|
required string password = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
message AccountGetMessage {
|
||||||
|
required string type = 1;
|
||||||
|
}
|
||||||
|
|
||||||
message SdStatusMessage {
|
message SdStatusMessage {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -236,6 +236,12 @@ module.exports = function ControlServiceFactory(
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.getAccounts = function(type) {
|
||||||
|
return sendTwoWay('account.get', {
|
||||||
|
type: type
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
this.getSdStatus = function() {
|
this.getSdStatus = function() {
|
||||||
return sendTwoWay('sd.status')
|
return sendTwoWay('sd.status')
|
||||||
}
|
}
|
||||||
|
|
BIN
vendor/STFService/STFService.apk
vendored
BIN
vendor/STFService/STFService.apk
vendored
Binary file not shown.
10
vendor/STFService/wire.proto
vendored
10
vendor/STFService/wire.proto
vendored
|
@ -9,6 +9,7 @@ enum MessageType {
|
||||||
DO_WAKE = 4;
|
DO_WAKE = 4;
|
||||||
DO_ADD_ACCOUNT_MENU = 24;
|
DO_ADD_ACCOUNT_MENU = 24;
|
||||||
DO_REMOVE_ACCOUNT = 20;
|
DO_REMOVE_ACCOUNT = 20;
|
||||||
|
GET_ACCOUNTS = 26;
|
||||||
GET_BROWSERS = 5;
|
GET_BROWSERS = 5;
|
||||||
GET_CLIPBOARD = 6;
|
GET_CLIPBOARD = 6;
|
||||||
GET_DISPLAY = 19;
|
GET_DISPLAY = 19;
|
||||||
|
@ -178,6 +179,15 @@ message DoIdentifyResponse {
|
||||||
required bool success = 1;
|
required bool success = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
message GetAccountsRequest {
|
||||||
|
required string type = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message GetAccountsResponse {
|
||||||
|
required bool success = 1;
|
||||||
|
repeated string accounts = 2;
|
||||||
|
}
|
||||||
|
|
||||||
message DoAddAccountMenuRequest {
|
message DoAddAccountMenuRequest {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue