hive-runner-android 1.2.6 → 1.2.8

Sign up to get free protection for your applications and to get access to all the features.
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