hive-runner-android 1.1.5 → 1.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/hive/controller/android.rb +8 -9
- data/lib/hive/device/android.rb +4 -2
- data/lib/hive/worker/android.rb +22 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2aae14ef832b9ea895f4bb1029c0b923e65614f8
|
4
|
+
data.tar.gz: 4ba623a934d783c2ea3d54e04e6f9098ccfc2921
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f50c6fe8a8b917f156e71b3571dafaa657085b27559a46c15d628441523333d3dbc066a69c6dc1d1a7a14567db4b08b21732a45313061152214c3012d5e1d46e
|
7
|
+
data.tar.gz: 2ce15dc130d09fa7242c5ef590fc24b10a99fee4a2332ed0d669895cc7d70bd7dddaa7de35da79b30f1d5154b090d11df32d64555e5234280592817a507222e8
|
@@ -24,11 +24,10 @@ module Hive
|
|
24
24
|
attached_devices = []
|
25
25
|
connected_devices.each do |device|
|
26
26
|
Hive.logger.debug("HM) Device details: #{device.inspect}")
|
27
|
-
registered_device = devices.select { |a| a.serial == device['serial'] && a.status != :unauthorized }
|
27
|
+
registered_device = devices.select { |a| a.serial == device['serial'] && a.status != :unauthorized && a.status != :no_permissions}
|
28
28
|
if registered_device.empty?
|
29
29
|
# A previously registered device isn't attached
|
30
|
-
Hive.logger.debug("HM)
|
31
|
-
Hive.hive_mind.disconnect(device['id'])
|
30
|
+
Hive.logger.debug("HM) A previously registered device has disappeared: #{device}")
|
32
31
|
else
|
33
32
|
# A previously registered device is attached, poll it
|
34
33
|
Hive.logger.debug("HM) Setting #{device} to be polled")
|
@@ -51,7 +50,7 @@ module Hive
|
|
51
50
|
Hive.hive_mind.poll(*to_poll)
|
52
51
|
|
53
52
|
# Register new devices
|
54
|
-
devices.select{|a| a.status != :unauthorized}.each do |device|
|
53
|
+
devices.select{|a| a.status != :unauthorized && a.status != :no_permissions}.each do |device|
|
55
54
|
begin
|
56
55
|
dev = Hive.hive_mind.register(
|
57
56
|
hostname: device.model,
|
@@ -76,8 +75,9 @@ module Hive
|
|
76
75
|
|
77
76
|
else
|
78
77
|
Hive.logger.info('HM) No Hive Mind connection')
|
78
|
+
Hive.logger.debug("HM) Error: #{Hive.hive_mind.device_details[:error]}")
|
79
79
|
# Hive Mind isn't available, use DeviceAPI instead
|
80
|
-
device_info = devices.select { |a| a.status != :unauthorized }.map do |device|
|
80
|
+
device_info = devices.select { |a| a.status != :unauthorized && a.status != :no_permissions }.map do |device|
|
81
81
|
{
|
82
82
|
'id' => device.serial,
|
83
83
|
'serial' => device.serial,
|
@@ -117,11 +117,10 @@ module Hive
|
|
117
117
|
if hive_details.is_a? Hash
|
118
118
|
# DeviceDB information is available, use it
|
119
119
|
hive_details['devices'].select {|a| a['os'] == 'android'}.each do |device|
|
120
|
-
registered_device = devices.select { |a| a.serial == device['serial'] && a.status != :unauthorized}
|
120
|
+
registered_device = devices.select { |a| a.serial == device['serial'] && a.status != :unauthorized && a.status != :no_permissions }
|
121
121
|
if registered_device.empty?
|
122
122
|
# A previously registered device isn't attached
|
123
|
-
Hive.logger.debug("
|
124
|
-
Hive.devicedb('Device').hive_disconnect(device['id'])
|
123
|
+
Hive.logger.debug("HM) A previously registered device has disappeared: #{device}")
|
125
124
|
else
|
126
125
|
# A previously registered device is attached, poll it
|
127
126
|
Hive.logger.debug("#{Time.now} Polling attached device - #{device}")
|
@@ -154,7 +153,7 @@ module Hive
|
|
154
153
|
else
|
155
154
|
# DeviceDB isn't available, use DeviceAPI instead
|
156
155
|
|
157
|
-
device_info = devices.select { |a| a.status != :unauthorized }.map do |device|
|
156
|
+
device_info = devices.select { |a| a.status != :unauthorized && a.status != :no_permissions }.map do |device|
|
158
157
|
{
|
159
158
|
'id' => device.serial,
|
160
159
|
'serial' => device.serial,
|
data/lib/hive/device/android.rb
CHANGED
@@ -12,19 +12,21 @@ module Hive
|
|
12
12
|
@brand = config['brand'].downcase.gsub(/\s/, '_')
|
13
13
|
@os_version = config['os_version']
|
14
14
|
|
15
|
-
|
15
|
+
# TODO The setting of config['queues'] can be removed when DeviceDB
|
16
|
+
# is no longer being used
|
16
17
|
new_queues = calculate_queue_names
|
17
18
|
new_queues = new_queues | config['queues'] if config.has_key?('queues')
|
18
19
|
|
19
20
|
devicedb_ids = new_queues.map { |queue| find_or_create_queue(queue) }
|
20
21
|
Hive.devicedb('Device').edit(@identity, { device_queue_ids: devicedb_ids })
|
21
22
|
config['queues'] = new_queues
|
23
|
+
|
22
24
|
super
|
23
25
|
end
|
24
26
|
|
25
27
|
# Uses either DeviceAPI or DeviceDB to generate queue names for a device
|
28
|
+
# TODO Remove when DeviceDB is not being used any more
|
26
29
|
def calculate_queue_names
|
27
|
-
Hive.logger.info("QUEUE PREFIX; #{@queue_prefix}")
|
28
30
|
[
|
29
31
|
"#{@queue_prefix}#{self.model}",
|
30
32
|
"#{@queue_prefix}#{self.brand}",
|
data/lib/hive/worker/android.rb
CHANGED
@@ -20,6 +20,10 @@ module Hive
|
|
20
20
|
attr_accessor :device
|
21
21
|
|
22
22
|
def initialize(device)
|
23
|
+
@queue_prefix = device['queue_prefix'].to_s == '' ? '' : "#{device['queue_prefix']}-"
|
24
|
+
@model = device['model'].downcase.gsub(/\s/, '_')
|
25
|
+
@brand = device['brand'].downcase.gsub(/\s/, '_')
|
26
|
+
@os_version = device['os_version']
|
23
27
|
@worker_ports = PortReserver.new
|
24
28
|
begin
|
25
29
|
device.merge!({"device_api" => DeviceAPI::Android.device(device['serial'])})
|
@@ -105,6 +109,24 @@ module Hive
|
|
105
109
|
@state
|
106
110
|
end
|
107
111
|
end
|
112
|
+
|
113
|
+
def autogenerated_queues
|
114
|
+
@log.info("Autogenerating queues")
|
115
|
+
[
|
116
|
+
"#{@queue_prefix}#{@model}",
|
117
|
+
"#{@queue_prefix}#{@brand}",
|
118
|
+
"#{@queue_prefix}android",
|
119
|
+
"#{@queue_prefix}android-#{@os_version}",
|
120
|
+
"#{@queue_prefix}android-#{@os_version}-#{@model}"
|
121
|
+
]
|
122
|
+
end
|
123
|
+
|
124
|
+
def hive_mind_device_identifiers
|
125
|
+
{
|
126
|
+
serial: @device_id,
|
127
|
+
device_type: 'Mobile'
|
128
|
+
}
|
129
|
+
end
|
108
130
|
end
|
109
131
|
end
|
110
132
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hive-runner-android
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jon Wilson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-03-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: device_api-android
|