Module: DeviceAPI::Android

Defined in:
lib/device_api/android/adb.rb,
lib/device_api/android.rb,
lib/device_api/android/aapt.rb,
lib/device_api/android/device.rb,
lib/device_api/android/signing.rb,
lib/device_api/android/plugins/disk.rb,
lib/device_api/android/device/kindle.rb,
lib/device_api/android/plugins/audio.rb,
lib/device_api/android/device/samsung.rb,
lib/device_api/android/plugins/memory.rb,
lib/device_api/android/plugins/battery.rb

Overview

Android component of DeviceAPI

Defined Under Namespace

Modules: Plugin Classes: AAPT, ADB, ADBCommandError, Device, Kindle, Samsung, Signing, SigningCommandError

Class Method Summary collapse

Class Method Details

.device(serial) ⇒ Object

Retrieve an Device object by serial id



28
29
30
31
32
33
34
# File 'lib/device_api/android.rb', line 28

def self.device(serial)
  if serial.to_s.empty?
    raise DeviceAPI::BadSerialString.new("serial was '#{serial.nil? ? 'nil' : serial}'")
  end
  state = ADB.get_state(serial)
  DeviceAPI::Android::Device.create( self.get_device_type({ "#{serial}": state}),  { serial: serial, state: state })
end

.devicesObject

Returns array of connected android devices



19
20
21
22
23
24
25
# File 'lib/device_api/android.rb', line 19

def self.devices
  ADB.devices.map do |d|
    if d.keys.first && !d.keys.first.include?('?')
      DeviceAPI::Android::Device.create( self.get_device_type(d), { serial: d.keys.first, state: d.values.first } )
    end
  end
end

.get_device_type(options) ⇒ Object

Return the device type used in determining which Device Object to create



37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/device_api/android.rb', line 37

def self.get_device_type(options)
  return :default if options.values.first == 'unauthorized'
  return :default if Device.new(serial: options.keys.first, state: options.values.first).manufacturer.nil?
  case Device.new(serial: options.keys.first).manufacturer.downcase
    when 'amazon'
      type = :kindle
    when 'samsung'
      type = :samsung
    else
      type = :default
  end
  type
end