From 970befa0d0ce9a7330f0d4c4c9bf85b0c255215f Mon Sep 17 00:00:00 2001 From: Simo Kinnunen Date: Wed, 15 Jan 2014 14:23:03 +0900 Subject: [PATCH] Promisify provider adb client. --- lib/roles/provider.js | 56 ++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 30 deletions(-) diff --git a/lib/roles/provider.js b/lib/roles/provider.js index 135e63ce..d2194060 100644 --- a/lib/roles/provider.js +++ b/lib/roles/provider.js @@ -3,42 +3,38 @@ var Promise = require('bluebird') module.exports = function(options) { var log = require('../util/logger').createLogger('provider') - var client = adb.createClient() + var client = Promise.promisifyAll(adb.createClient()) var workers = Object.create(null) - client.trackDevices(function(err, tracker) { - if (err) { - log.fatal('Unable to track devices: %s', err.message) - throw err - } + client.trackDevicesAsync() + .then(function(tracker) { + log.info('Tracking devices') - log.info('Tracking devices') + tracker.on('add', function(device) { + if (isWantedDevice(device)) { + log.info('Found device "%s" (%s)', device.id, device.type) + maybeConnect(device) + } + else { + log.info('Ignoring device "%s" (%s)', device.id, device.type) + } + }) - tracker.on('add', function(device) { - if (isWantedDevice(device)) { - log.info('Found device "%s" (%s)', device.id, device.type) - maybeConnect(device) - } - else { - log.info('Ignoring device "%s" (%s)', device.id, device.type) - } + tracker.on('change', function(device) { + if (isWantedDevice(device)) { + log.info('Device "%s" is now "%s"', device.id, device.type) + maybeConnect(device) || maybeDisconnect(device) + } + }) + + tracker.on('remove', function(device) { + if (isWantedDevice(device)) { + log.info('Lost device "%s" (%s)', device.id, device.type) + maybeDisconnect(device) + } + }) }) - tracker.on('change', function(device) { - if (isWantedDevice(device)) { - log.info('Device "%s" is now "%s"', device.id, device.type) - maybeConnect(device) || maybeDisconnect(device) - } - }) - - tracker.on('remove', function(device) { - if (isWantedDevice(device)) { - log.info('Lost device "%s" (%s)', device.id, device.type) - maybeDisconnect(device) - } - }) - }) - function isWantedDevice(device) { return options.filter ? options.filter(device) : true }