module DeviceAPI::Android
Android
component of DeviceAPI
Android
component of DeviceAPI
Public Class Methods
check_if_remote_device?(serial)
click to toggle source
# File lib/device_api/android.rb, line 48 def self.check_if_remote_device?(serial) begin ADB::check_ip_address(serial) true rescue ADBCommandError false end end
connect(ipaddress,port=5555)
click to toggle source
# File lib/device_api/android.rb, line 40 def self.connect(ipaddress,port=5555) ADB.connect(ipaddress,port) end
device(serial)
click to toggle source
Retrieve an Device
object by serial id
# File lib/device_api/android.rb, line 30 def self.device(serial) if serial.to_s.empty? raise DeviceAPI::BadSerialString.new("serial was '#{serial.nil? ? 'nil' : serial}'") end device = ADB.devices.select {|k| k.keys.first == serial} state = device.first[serial] || 'unknown' remote = check_if_remote_device?(serial) DeviceAPI::Android::Device.create( self.get_device_type({ :"#{serial}" => state}), { serial: serial, state: state, remote: remote }) end
devices()
click to toggle source
Returns array of connected android devices
# File lib/device_api/android.rb, line 19 def self.devices ADB.devices.map do |d| if d.keys.first && !d.keys.first.include?('?') serial = d.keys.first remote = check_if_remote_device?(serial) DeviceAPI::Android::Device.create( self.get_device_type(d), { serial: serial, state: d.values.first, remote: remote} ) end end.compact end
disconnect(ipaddress,port=5555)
click to toggle source
# File lib/device_api/android.rb, line 44 def self.disconnect(ipaddress,port=5555) ADB.disconnect(ipaddress,port) end
get_device_type(options)
click to toggle source
Return the device type used in determining which Device
Object to create
# File lib/device_api/android.rb, line 58 def self.get_device_type(options) return :default if ['unauthorized', 'offline', 'unknown'].include? options.values.first serial = options.keys.first state = options.values.first begin man = Device.new(serial: serial, state: state).manufacturer rescue DeviceAPI::DeviceNotFound return :default rescue => e puts "Unrecognised exception whilst finding device '#{serial}' (state: #{state})" puts e.message puts e.backtrace.inspect return :default end return :default if man.nil? case man.downcase when 'amazon' type = :kindle when 'samsung' type = :samsung else type = :default end type end