mirror of
https://github.com/DeviceFarmer/stf.git
synced 2026-04-26 07:45:16 +02:00
Attempting to make it easier to work with a single device. Still not bound to the new controlService.
This commit is contained in:
@@ -1,75 +1,45 @@
|
||||
define(['./module', 'lodash'], function(mod, _) {
|
||||
function GroupServiceFactory($rootScope, socket) {
|
||||
function GroupServiceFactory($rootScope, socket, userService) {
|
||||
var groupService = {
|
||||
members: []
|
||||
}
|
||||
|
||||
socket.on('group.join', function(data) {
|
||||
groupService.members.push(data.serial)
|
||||
console.log('group.join', data)
|
||||
$rootScope.$digest()
|
||||
})
|
||||
|
||||
socket.on('group.leave', function(data) {
|
||||
_.pull(groupService.members, data.serial)
|
||||
console.log('group.leave', data)
|
||||
$rootScope.$digest()
|
||||
})
|
||||
|
||||
socket.on('device.absent', function(data) {
|
||||
_.pull(groupService.members, data.serial)
|
||||
$rootScope.$digest()
|
||||
})
|
||||
|
||||
function touchSender(type) {
|
||||
return function(x, y) {
|
||||
socket.emit(type, {
|
||||
x: x
|
||||
, y: y
|
||||
})
|
||||
userService.user().then(function(user) {
|
||||
function ownerFilter(listener) {
|
||||
return function(data) {
|
||||
if (data.owner.email === user.email) {
|
||||
listener()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function keySender(type) {
|
||||
return function(key) {
|
||||
socket.emit(type, {
|
||||
key: key
|
||||
})
|
||||
}
|
||||
}
|
||||
socket.on('group.join', ownerFilter(function(data) {
|
||||
groupService.members.push(data.serial)
|
||||
console.log('group.join', data)
|
||||
$rootScope.$digest()
|
||||
}))
|
||||
|
||||
socket.on('group.leave', ownerFilter(function(data) {
|
||||
_.pull(groupService.members, data.serial)
|
||||
console.log('group.leave', data)
|
||||
$rootScope.$digest()
|
||||
}))
|
||||
|
||||
socket.on('device.absent', /* unfiltered */ function(data) {
|
||||
_.pull(groupService.members, data.serial)
|
||||
$rootScope.$digest()
|
||||
})
|
||||
})
|
||||
|
||||
groupService.invite = function(requirements) {
|
||||
socket.emit('group.invite', requirements)
|
||||
userService.user().then(function(user) {
|
||||
socket.emit('group.invite', requirements)
|
||||
})
|
||||
}
|
||||
|
||||
groupService.kick = function(requirements) {
|
||||
socket.emit('group.kick', requirements)
|
||||
}
|
||||
|
||||
groupService.touchDown = touchSender('input.touchDown')
|
||||
groupService.touchMove = touchSender('input.touchMove')
|
||||
groupService.touchUp = touchSender('input.touchUp')
|
||||
groupService.tap = touchSender('input.tap')
|
||||
|
||||
groupService.keyDown = keySender('input.keyDown')
|
||||
groupService.keyUp = keySender('input.keyUp')
|
||||
groupService.keyPress = keySender('input.keyPress')
|
||||
|
||||
groupService.home = function() {
|
||||
socket.emit('input.home')
|
||||
}
|
||||
|
||||
groupService.menu = function() {
|
||||
socket.emit('input.menu')
|
||||
}
|
||||
|
||||
groupService.back = function() {
|
||||
socket.emit('input.back')
|
||||
}
|
||||
|
||||
groupService.type = function(text) {
|
||||
socket.emit('input.type', {
|
||||
text: text
|
||||
userService.user().then(function(user) {
|
||||
socket.emit('group.kick', requirements)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -79,6 +49,7 @@ define(['./module', 'lodash'], function(mod, _) {
|
||||
mod.factory('groupService'
|
||||
, [ '$rootScope'
|
||||
, 'socketService'
|
||||
, 'userService'
|
||||
, GroupServiceFactory
|
||||
])
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user