mirror of
https://github.com/openstf/stf
synced 2025-10-05 02:29:26 +02:00
Fix browser plugin not updating in real time.
This commit is contained in:
parent
26b2b1acc6
commit
98ecf57d49
9 changed files with 128 additions and 181 deletions
|
@ -1,4 +1,5 @@
|
|||
var util = require('util')
|
||||
var events = require('events')
|
||||
|
||||
var syrup = require('syrup')
|
||||
var Promise = require('bluebird')
|
||||
|
@ -37,6 +38,7 @@ module.exports = syrup.serial()
|
|||
.define(function(options, adb, router, push, apk) {
|
||||
var log = logger.createLogger('device:plugins:service')
|
||||
var messageResolver = new MessageResolver()
|
||||
var plugin = new events.EventEmitter()
|
||||
|
||||
var agent = {
|
||||
socket: null
|
||||
|
@ -182,6 +184,7 @@ module.exports = syrup.serial()
|
|||
, message.enabled
|
||||
))
|
||||
])
|
||||
plugin.emit('airplaneModeChange', message)
|
||||
break
|
||||
case apk.wire.MessageType.EVENT_BATTERY:
|
||||
var message = apk.wire.BatteryEvent.decode(envelope.message)
|
||||
|
@ -198,23 +201,11 @@ module.exports = syrup.serial()
|
|||
, message.voltage
|
||||
))
|
||||
])
|
||||
plugin.emit('batteryChange', message)
|
||||
break
|
||||
case apk.wire.MessageType.EVENT_BROWSER_PACKAGE:
|
||||
var message = apk.wire.BrowserPackageEvent.decode(envelope.message)
|
||||
push.send([
|
||||
wireutil.global
|
||||
, wireutil.envelope(new wire.BrowserPackageEvent(
|
||||
options.serial
|
||||
, message.selected
|
||||
, message.apps.map(function(app) {
|
||||
return new wire.BrowserApp(
|
||||
app.name
|
||||
, app.component
|
||||
, app.selected
|
||||
)
|
||||
})
|
||||
))
|
||||
])
|
||||
plugin.emit('browserPackageChange', message)
|
||||
break
|
||||
case apk.wire.MessageType.EVENT_CONNECTIVITY:
|
||||
var message = apk.wire.ConnectivityEvent.decode(envelope.message)
|
||||
|
@ -229,6 +220,7 @@ module.exports = syrup.serial()
|
|||
, message.roaming
|
||||
))
|
||||
])
|
||||
plugin.emit('connectivityChange', message)
|
||||
break
|
||||
case apk.wire.MessageType.EVENT_PHONE_STATE:
|
||||
var message = apk.wire.PhoneStateEvent.decode(envelope.message)
|
||||
|
@ -241,6 +233,7 @@ module.exports = syrup.serial()
|
|||
, message.operator
|
||||
))
|
||||
])
|
||||
plugin.emit('phoneStateChange', message)
|
||||
break
|
||||
case apk.wire.MessageType.EVENT_ROTATION:
|
||||
var message = apk.wire.RotationEvent.decode(envelope.message)
|
||||
|
@ -251,6 +244,7 @@ module.exports = syrup.serial()
|
|||
, message.rotation
|
||||
))
|
||||
])
|
||||
plugin.emit('rotationChange', message)
|
||||
break
|
||||
}
|
||||
}
|
||||
|
@ -267,14 +261,14 @@ module.exports = syrup.serial()
|
|||
)
|
||||
}
|
||||
|
||||
function type(text) {
|
||||
plugin.type = function(text) {
|
||||
return runAgentCommand(
|
||||
apk.wire.MessageType.DO_TYPE
|
||||
, new apk.wire.DoTypeRequest(text)
|
||||
)
|
||||
}
|
||||
|
||||
function paste(text) {
|
||||
plugin.paste = function(text) {
|
||||
return setClipboard(text)
|
||||
.then(function() {
|
||||
keyEvent({
|
||||
|
@ -285,28 +279,28 @@ module.exports = syrup.serial()
|
|||
})
|
||||
}
|
||||
|
||||
function wake() {
|
||||
plugin.wake = function() {
|
||||
return runAgentCommand(
|
||||
apk.wire.MessageType.DO_WAKE
|
||||
, new apk.wire.DoWakeRequest()
|
||||
)
|
||||
}
|
||||
|
||||
function freezeRotation(rotation) {
|
||||
plugin.freezeRotation = function(rotation) {
|
||||
return runAgentCommand(
|
||||
apk.wire.MessageType.SET_ROTATION
|
||||
, new apk.wire.SetRotationRequest(rotation, true)
|
||||
)
|
||||
}
|
||||
|
||||
function thawRotation() {
|
||||
plugin.thawRotation = function() {
|
||||
return runAgentCommand(
|
||||
apk.wire.MessageType.SET_ROTATION
|
||||
, new apk.wire.SetRotationRequest(0, false)
|
||||
)
|
||||
}
|
||||
|
||||
function version() {
|
||||
plugin.version = function() {
|
||||
return runServiceCommand(
|
||||
apk.wire.MessageType.GET_VERSION
|
||||
, new apk.wire.GetVersionRequest()
|
||||
|
@ -321,7 +315,7 @@ module.exports = syrup.serial()
|
|||
})
|
||||
}
|
||||
|
||||
function unlock() {
|
||||
plugin.unlock = function() {
|
||||
return runServiceCommand(
|
||||
apk.wire.MessageType.SET_KEYGUARD_STATE
|
||||
, new apk.wire.SetKeyguardStateRequest(false)
|
||||
|
@ -335,7 +329,7 @@ module.exports = syrup.serial()
|
|||
})
|
||||
}
|
||||
|
||||
function lock() {
|
||||
plugin.lock = function() {
|
||||
return runServiceCommand(
|
||||
apk.wire.MessageType.SET_KEYGUARD_STATE
|
||||
, new apk.wire.SetKeyguardStateRequest(true)
|
||||
|
@ -349,7 +343,7 @@ module.exports = syrup.serial()
|
|||
})
|
||||
}
|
||||
|
||||
function acquireWakeLock() {
|
||||
plugin.acquireWakeLock = function() {
|
||||
return runServiceCommand(
|
||||
apk.wire.MessageType.SET_WAKE_LOCK
|
||||
, new apk.wire.SetWakeLockRequest(true)
|
||||
|
@ -363,7 +357,7 @@ module.exports = syrup.serial()
|
|||
})
|
||||
}
|
||||
|
||||
function releaseWakeLock() {
|
||||
plugin.releaseWakeLock = function() {
|
||||
return runServiceCommand(
|
||||
apk.wire.MessageType.SET_WAKE_LOCK
|
||||
, new apk.wire.SetWakeLockRequest(false)
|
||||
|
@ -377,7 +371,7 @@ module.exports = syrup.serial()
|
|||
})
|
||||
}
|
||||
|
||||
function identity() {
|
||||
plugin.identity = function() {
|
||||
return runServiceCommand(
|
||||
apk.wire.MessageType.DO_IDENTIFY
|
||||
, new apk.wire.DoIdentifyRequest(options.serial)
|
||||
|
@ -391,7 +385,7 @@ module.exports = syrup.serial()
|
|||
})
|
||||
}
|
||||
|
||||
function setClipboard(text) {
|
||||
plugin.setClipboard = function(text) {
|
||||
return runServiceCommand(
|
||||
apk.wire.MessageType.SET_CLIPBOARD
|
||||
, new apk.wire.SetClipboardRequest(
|
||||
|
@ -408,7 +402,7 @@ module.exports = syrup.serial()
|
|||
})
|
||||
}
|
||||
|
||||
function getClipboard() {
|
||||
plugin.getClipboard = function() {
|
||||
return runServiceCommand(
|
||||
apk.wire.MessageType.GET_CLIPBOARD
|
||||
, new apk.wire.GetClipboardRequest(
|
||||
|
@ -428,7 +422,7 @@ module.exports = syrup.serial()
|
|||
})
|
||||
}
|
||||
|
||||
function getBrowsers() {
|
||||
plugin.getBrowsers = function() {
|
||||
return runServiceCommand(
|
||||
apk.wire.MessageType.GET_BROWSERS
|
||||
, new apk.wire.GetBrowsersRequest()
|
||||
|
@ -444,7 +438,7 @@ module.exports = syrup.serial()
|
|||
})
|
||||
}
|
||||
|
||||
function getProperties(properties) {
|
||||
plugin.getProperties = function(properties) {
|
||||
return runServiceCommand(
|
||||
apk.wire.MessageType.GET_PROPERTIES
|
||||
, new apk.wire.GetPropertiesRequest(properties)
|
||||
|
@ -488,7 +482,7 @@ module.exports = syrup.serial()
|
|||
router
|
||||
.on(wire.PhysicalIdentifyMessage, function(channel) {
|
||||
var reply = wireutil.reply(options.serial)
|
||||
identity()
|
||||
plugin.identity()
|
||||
push.send([
|
||||
channel
|
||||
, reply.okay()
|
||||
|
@ -513,29 +507,16 @@ module.exports = syrup.serial()
|
|||
})
|
||||
})
|
||||
.on(wire.TypeMessage, function(channel, message) {
|
||||
type(message.text)
|
||||
plugin.type(message.text)
|
||||
})
|
||||
.on(wire.RotateMessage, function(channel, message) {
|
||||
if (message.rotation >= 0) {
|
||||
freezeRotation(message.rotation)
|
||||
plugin.freezeRotation(message.rotation)
|
||||
}
|
||||
else {
|
||||
thawRotation()
|
||||
plugin.thawRotation()
|
||||
}
|
||||
})
|
||||
|
||||
return {
|
||||
acquireWakeLock: acquireWakeLock
|
||||
, copy: getClipboard
|
||||
, getBrowsers: getBrowsers
|
||||
, getProperties: getProperties
|
||||
, identity: identity
|
||||
, lock: lock
|
||||
, paste: paste
|
||||
, releaseWakeLock: releaseWakeLock
|
||||
, unlock: unlock
|
||||
, version: version
|
||||
, wake: wake
|
||||
}
|
||||
})
|
||||
.return(plugin)
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue