mirror of
https://github.com/openstf/stf
synced 2025-10-04 02:09:32 +02:00
Implement pop up add account menu (for Google Account).
This commit is contained in:
parent
9125816d07
commit
d294906a65
8 changed files with 64 additions and 1 deletions
|
@ -32,4 +32,26 @@ module.exports = syrup.serial()
|
|||
])
|
||||
})
|
||||
})
|
||||
|
||||
router.on(wire.AccountAddMenuMessage, function(channel) {
|
||||
var reply = wireutil.reply(options.serial)
|
||||
|
||||
log.info('Showing add account menu for Google Account')
|
||||
|
||||
service.addAccountMenu()
|
||||
.timeout(30000)
|
||||
.then(function() {
|
||||
push.send([
|
||||
channel
|
||||
, reply.okay()
|
||||
])
|
||||
})
|
||||
.error(function(err) {
|
||||
log.error('Add account menu failed', err.stack)
|
||||
push.send([
|
||||
channel
|
||||
, reply.fail(err.message)
|
||||
])
|
||||
})
|
||||
})
|
||||
})
|
||||
|
|
|
@ -505,6 +505,21 @@ module.exports = syrup.serial()
|
|||
})
|
||||
}
|
||||
|
||||
plugin.addAccountMenu = function() {
|
||||
return runServiceCommand(
|
||||
apk.wire.MessageType.DO_ADD_ACCOUNT_MENU
|
||||
, new apk.wire.DoAddAccountMenuRequest()
|
||||
)
|
||||
.timeout(15000)
|
||||
.then(function(data) {
|
||||
var response = apk.wire.DoAddAccountMenuResponse.decode(data)
|
||||
if (response.success) {
|
||||
return true
|
||||
}
|
||||
throw new Error('Unable to show add account menu')
|
||||
})
|
||||
}
|
||||
|
||||
plugin.setRingerMode = function(mode) {
|
||||
return runServiceCommand(
|
||||
apk.wire.MessageType.SET_RINGER_MODE
|
||||
|
|
|
@ -15,7 +15,7 @@ module.exports = syrup.serial()
|
|||
var log = logger.createLogger('device:resources:service')
|
||||
|
||||
var resource = {
|
||||
requiredVersion: '0.7.12'
|
||||
requiredVersion: '0.7.13'
|
||||
, pkg: 'jp.co.cyberagent.stf'
|
||||
, main: 'jp.co.cyberagent.stf.Agent'
|
||||
, apk: pathutil.vendor('STFService/STFService.apk')
|
||||
|
|
|
@ -331,6 +331,16 @@ module.exports = function(options) {
|
|||
)
|
||||
])
|
||||
})
|
||||
.on('account.add', function(channel, responseChannel) {
|
||||
joinChannel(responseChannel)
|
||||
push.send([
|
||||
channel
|
||||
, wireutil.transaction(
|
||||
responseChannel
|
||||
, new wire.AccountAddMenuMessage()
|
||||
)
|
||||
])
|
||||
})
|
||||
.on('ringer.set', function(channel, responseChannel, data) {
|
||||
joinChannel(responseChannel)
|
||||
push.send([
|
||||
|
|
|
@ -58,6 +58,7 @@ enum MessageType {
|
|||
RingerSetMessage = 56;
|
||||
WifiSetEnabledMessage = 57;
|
||||
WifiGetStatusMessage = 58;
|
||||
AccountAddMenuMessage = 59;
|
||||
}
|
||||
|
||||
message Envelope {
|
||||
|
@ -389,6 +390,9 @@ message ConnectStopMessage {
|
|||
message AccountRemoveMessage {
|
||||
}
|
||||
|
||||
message AccountAddMenuMessage {
|
||||
}
|
||||
|
||||
message RingerSetMessage {
|
||||
required int32 mode = 1;
|
||||
}
|
||||
|
|
|
@ -222,6 +222,10 @@ module.exports = function ControlServiceFactory(
|
|||
return sendTwoWay('account.remove')
|
||||
}
|
||||
|
||||
this.addAccountMenu = function() {
|
||||
return sendTwoWay('account.add')
|
||||
}
|
||||
|
||||
this.setRingerMode = function(mode) {
|
||||
return sendTwoWay('ringer.set', {
|
||||
mode: mode
|
||||
|
|
BIN
vendor/STFService/STFService.apk
vendored
BIN
vendor/STFService/STFService.apk
vendored
Binary file not shown.
8
vendor/STFService/wire.proto
vendored
8
vendor/STFService/wire.proto
vendored
|
@ -7,6 +7,7 @@ enum MessageType {
|
|||
DO_KEYEVENT = 2;
|
||||
DO_TYPE = 3;
|
||||
DO_WAKE = 4;
|
||||
DO_ADD_ACCOUNT_MENU = 24;
|
||||
GET_BROWSERS = 5;
|
||||
GET_CLIPBOARD = 6;
|
||||
GET_DISPLAY = 19;
|
||||
|
@ -176,6 +177,13 @@ message DoIdentifyResponse {
|
|||
required bool success = 1;
|
||||
}
|
||||
|
||||
message DoAddAccountMenuRequest {
|
||||
}
|
||||
|
||||
message DoAddAccountMenuResponse {
|
||||
required bool success = 1;
|
||||
}
|
||||
|
||||
message RemoveAccountRequest {
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue