Class: GENYMOTION::DeviceManager

Inherits:
Object
  • Object
show all
Defined in:
lib/genymotion/emulator.rb

Class Method Summary collapse

Class Method Details

.adb_devicesObject



18
19
20
# File 'lib/genymotion/emulator.rb', line 18

def adb_devices
  `adb devices | tail -n +2 | awk '{print $1}'`.split
end

.all_devices_operational?Boolean

Returns:

  • (Boolean)


31
32
33
34
# File 'lib/genymotion/emulator.rb', line 31

def all_devices_operational?
  return false if adb_devices.nil? || adb_devices.empty?
  adb_devices.select { |d| !device_running?(d) }.empty?
end

.device_idsObject



4
5
6
# File 'lib/genymotion/emulator.rb', line 4

def device_ids
  `VBoxManage list vms | awk '{print $(NF)}' | sed 's/[{}]//g'`.split
end

.device_running?(device) ⇒ Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/genymotion/emulator.rb', line 22

def device_running?(device)
  `adb -s #{device} shell getprop sys.boot_completed`.to_i == 1
end

.devicesObject



8
9
10
# File 'lib/genymotion/emulator.rb', line 8

def devices
  `VBoxManage list vms`
end

.kill_allObject



26
27
28
29
# File 'lib/genymotion/emulator.rb', line 26

def kill_all
  `ps -ef | grep '[p]layer' | awk '{print $2}' | xargs kill`
  `ps -ef | grep '[V]BoxHeadless' | awk '{print $2}' | xargs kill`
end

.launch(device) ⇒ Object



12
13
14
15
16
# File 'lib/genymotion/emulator.rb', line 12

def launch(device)
  p "launching #{device}"
  player = GENYMOTION.player_app.nil? ? '/Applications/Genymotion.app/Contents/MacOS/player.app/Contents/MacOS/player' : GENYMOTION.player_app
  `#{player} --vm-name #{device} &`
end