hive-runner-android 1.2.6 → 1.2.8

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/hive/controller/android.rb +43 -25
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c76ad1905fc8732822f8f584e3e739fc4c497af3
4
- data.tar.gz: d9f72a7a6dc976620dcc4c0f3c99812792aabaeb
3
+ metadata.gz: 0b1162cdff03feb8604b9df81477d6d35d979c45
4
+ data.tar.gz: 43b40b44f31fa1317acadc9060cd2014490db0f0
5
5
  SHA512:
6
- metadata.gz: 924dc210d17e323cdc3f13f72a665854c3146cb7d85d17e1314eac352bb3ae73c9d59a8ef6f98898993d25dd4c05da160d60314855826d272e7674f305f4d06c
7
- data.tar.gz: 383d25e84c5cd1ef7443f401cce28c6c9bda931f24b50970eec6768d15585c3f3695196c869f5e2e9920b7d35e585244507dab81916f6684fd9f73c7b2b64f44
6
+ metadata.gz: 2743b705ef9d62aaf8a43e5e09d1077020491ee570337a6399c8cd16b689917657e706f952141f3c7e57f4f02c82f9ef23fe262a8a311230be21010fa216f703
7
+ data.tar.gz: ec813178af07cfd46c9de3ea8432b2513fa3ed11b46d7bed4a91cf91157b584ea283774a9d40dba6df9f34e074a77d185e668015a0569cbe92950a3e8d8d2491
@@ -32,7 +32,11 @@ module Hive
32
32
  attached_devices = []
33
33
  hivemind_devices.each do |device|
34
34
  Hive.logger.debug("Device details: #{device.inspect}")
35
- registered_device = connected_devices.select { |a| a.serial == device['serial'] }
35
+ begin
36
+ registered_device = connected_devices.select { |a| a.serial == device['serial'] }
37
+ rescue => e
38
+ registered_device = []
39
+ end
36
40
  if registered_device.empty?
37
41
  # A previously registered device isn't attached
38
42
  Hive.logger.debug("A previously registered device has disappeared: #{device}")
@@ -58,29 +62,35 @@ module Hive
58
62
  Hive.hive_mind.poll(*to_poll)
59
63
 
60
64
  # Register new devices
61
- connected_devices.select{|a| a.status != :unauthorized && a.status != :no_permissions}.each do |device|
65
+ if !connected_devices.empty?
62
66
  begin
63
- dev = Hive.hive_mind.register(
64
- hostname: device.model,
65
- serial: device.serial,
66
- macs: [device.wifi_mac_address],
67
- ips: [device.ip_address],
68
- brand: device.manufacturer.capitalize,
69
- model: device.model,
70
- device_type: @device_type,
71
- imei: device.imei,
72
- operating_system_name: 'android',
73
- operating_system_version: device.version
74
- )
75
- Hive.hive_mind.connect(dev['id'])
76
- Hive.logger.info("Device registered: #{dev}")
77
- rescue DeviceAPI::DeviceNotFound => e
78
- Hive.logger.warn("Device disconnected before registration (serial: #{device.serial})")
67
+ connected_devices.select{|a| a.status != :unauthorized && a.status != :no_permissions && a.status != :unknown && a.status != :offline}.each do |device|
68
+ begin
69
+ dev = Hive.hive_mind.register(
70
+ hostname: device.model,
71
+ serial: device.serial,
72
+ macs: [device.wifi_mac_address],
73
+ ips: [device.ip_address],
74
+ brand: device.manufacturer.capitalize,
75
+ model: device.model,
76
+ device_type: @device_type,
77
+ imei: device.imei,
78
+ operating_system_name: 'android',
79
+ operating_system_version: device.version
80
+ )
81
+ Hive.hive_mind.connect(dev['id'])
82
+ Hive.logger.info("Device registered: #{dev}")
83
+ rescue DeviceAPI::DeviceNotFound => e
84
+ Hive.logger.warn("Device disconnected before registration (serial: #{device.serial})")
85
+ rescue => e
86
+ Hive.logger.warn("Error with connected device: #{e.message}")
87
+ end
88
+ end
79
89
  rescue => e
80
- Hive.logger.warn("Error with connected device: #{e.message}")
81
- end
90
+ Hive.logger.debug("Connected Devices: #{connected_devices}")
91
+ Hive.logger.warn(e)
92
+ end
82
93
  end
83
-
84
94
  Hive.logger.info(attached_devices)
85
95
  attached_devices
86
96
  end
@@ -112,10 +122,18 @@ module Hive
112
122
  end
113
123
 
114
124
  def get_connected_devices
115
- DeviceAPI::Android.devices.select do |a|
116
- a.status != :unauthorized &&
117
- a.status != :no_permissions &&
118
- a.is_remote? == @remote
125
+ begin
126
+ DeviceAPI::Android.devices.select do |a|
127
+ a.status != :unauthorized &&
128
+ a.status != :no_permissions &&
129
+ a.status != :offline &&
130
+ a.status != :unknown &&
131
+ a.is_remote? == @remote
132
+ end
133
+ rescue DeviceAPI::DeviceNotFound => e
134
+ Hive.logger.info("Device disconnected while getting list of devices")
135
+ rescue => e
136
+ Hive.logger.warn("Device has got some issue. Exception => #{e}. Debug and connect device manually")
119
137
  end
120
138
  end
121
139
 
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.2.6
4
+ version: 1.2.8
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-10-14 00:00:00.000000000 Z
11
+ date: 2016-10-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: device_api-android