class RemoteDroid::Client
Public Class Methods
new(hostx='127.0.0.1', host: hostx, port: '5777', sps_host: 'sps.home', sps_port: '59000', device: nil)
click to toggle source
# File lib/remotedroid/client.rb, line 6 def initialize(hostx='127.0.0.1', host: hostx, port: '5777', sps_host: 'sps.home', sps_port: '59000', device: nil) raise 'supply a device name' unless device @device = device @drb = OneDrb::Client.new host: host, port: port @sps = SPSPub.new host: sps_host, port: sps_port end
Public Instance Methods
ask_alexa()
click to toggle source
– helpful methods —————–
# File lib/remotedroid/client.rb, line 61 def ask_alexa() control.ask_alexa end
battery()
click to toggle source
# File lib/remotedroid/client.rb, line 65 def battery() query.battery end
bluetooth()
click to toggle source
# File lib/remotedroid/client.rb, line 69 def bluetooth() control.bluetooth end
cell_tower()
click to toggle source
# File lib/remotedroid/client.rb, line 73 def cell_tower() query.cell_tower end
click(s)
click to toggle source
# File lib/remotedroid/client.rb, line 77 def click(s) control.click content: s end
control()
click to toggle source
# File lib/remotedroid/client.rb, line 17 def control @drb.control @device end
control_media(option='Play/Pause')
click to toggle source
# File lib/remotedroid/client.rb, line 81 def control_media(option='Play/Pause') control.control_media({option: option}) end
disable_airplane_mode()
click to toggle source
# File lib/remotedroid/client.rb, line 85 def disable_airplane_mode() control.disable_airplane_mode end
disable_bluetooth()
click to toggle source
# File lib/remotedroid/client.rb, line 89 def disable_bluetooth() control.disable_bluetooth end
disable_macro(macro)
click to toggle source
# File lib/remotedroid/client.rb, line 93 def disable_macro(macro) control.disable_macro macro end
disable_wifi()
click to toggle source
# File lib/remotedroid/client.rb, line 97 def disable_wifi() control.disable_wifi end
enable_airplane_mode()
click to toggle source
# File lib/remotedroid/client.rb, line 101 def enable_airplane_mode() control.enable_airplane_mode end
enable_bluetooth()
click to toggle source
# File lib/remotedroid/client.rb, line 105 def enable_bluetooth() control.enable_bluetooth end
enable_macro(macro)
click to toggle source
# File lib/remotedroid/client.rb, line 109 def enable_macro(macro) control.enable_macro macro end
enable_wifi()
click to toggle source
# File lib/remotedroid/client.rb, line 113 def enable_wifi() control.enable_wifi end
export(s)
click to toggle source
# File lib/remotedroid/client.rb, line 21 def export(s) @drb.export(s) end
fill_clipboard(text)
click to toggle source
# File lib/remotedroid/client.rb, line 117 def fill_clipboard(text) control.fill_clipboard clipboard: text end
Also aliased as: copy
hotspot(state=nil)
click to toggle source
# File lib/remotedroid/client.rb, line 123 def hotspot(state=nil) control.hotspot state end
invoke(s, *args)
click to toggle source
# File lib/remotedroid/client.rb, line 25 def invoke(s, *args) @drb.invoke(@device, s, *args) end
ip()
click to toggle source
# File lib/remotedroid/client.rb, line 189 def ip() query.ip end
last_loc()
click to toggle source
# File lib/remotedroid/client.rb, line 127 def last_loc() query.last_loc end
last_loc_link()
click to toggle source
# File lib/remotedroid/client.rb, line 131 def last_loc_link() "<a href='%s' target='_blank'>map link</a>" % last_loc.link end
launch_activity(app)
click to toggle source
# File lib/remotedroid/client.rb, line 135 def launch_activity(app) package = APPS[app] if package then control.launch_package package: package else r = APPS.find {|k,v| k =~ /#{app}/i} control.launch_package(package: r[1]) if r end end
Also aliased as: launch
launch_package(name)
click to toggle source
# File lib/remotedroid/client.rb, line 148 def launch_package(name) control.launch_package(package: name) end
location()
click to toggle source
# File lib/remotedroid/client.rb, line 156 def location() query.location end
location_watch(refresh: '1 minute', interval: refresh, duration: '30 minutes')
click to toggle source
# File lib/remotedroid/client.rb, line 160 def location_watch(refresh: '1 minute', interval: refresh, duration: '30 minutes') d = ChronicDuration.parse(duration) seconds = ChronicDuration.parse(interval) puts ("monitoring location every %s for %s" % [interval, duration]).info Thread.new do t = Time.now + d begin query.location sleep seconds end until Time.now >= t end end
macros()
click to toggle source
# File lib/remotedroid/client.rb, line 29 def macros() @drb.macros end
next()
click to toggle source
# File lib/remotedroid/client.rb, line 193 def next() control_media('Next') end
open_website(url)
click to toggle source
# File lib/remotedroid/client.rb, line 182 def open_website(url) control.open_website url: url end
pause()
click to toggle source
# File lib/remotedroid/client.rb, line 197 def pause() control_media('Pause') end
photo()
click to toggle source
# File lib/remotedroid/client.rb, line 209 def photo() take_picture end
play()
click to toggle source
# File lib/remotedroid/client.rb, line 201 def play() control_media('Play') end
play_pause()
click to toggle source
# File lib/remotedroid/client.rb, line 205 def play_pause() control_media('Play/Pause') end
power_connected?()
click to toggle source
# File lib/remotedroid/client.rb, line 213 def power_connected?() query.power_connected? end
previous()
click to toggle source
# File lib/remotedroid/client.rb, line 217 def previous() control.control_media(option: 'Previous') end
query(id=nil)
click to toggle source
# File lib/remotedroid/client.rb, line 33 def query(id=nil) return @drb.query(@device) unless id t = Time.now h = @drb.query(@device, id) h.merge({latency: (Time.now - t).round(3)}) end
run_macro(name)
click to toggle source
# File lib/remotedroid/client.rb, line 42 def run_macro(name) a = @drb.run_macro name a.each {|msg| @sps.notice 'macrodroid/action: ' + msg } end
say(text)
click to toggle source
# File lib/remotedroid/client.rb, line 221 def say(text) control.speak_text text end
say_time()
click to toggle source
# File lib/remotedroid/client.rb, line 225 def say_time() control.say_time end
Also aliased as: saytime
screen(state=nil)
click to toggle source
# File lib/remotedroid/client.rb, line 231 def screen(state=nil) control.screen state end
screen_off()
click to toggle source
# File lib/remotedroid/client.rb, line 239 def screen_off() screen :off end
screen_on()
click to toggle source
# File lib/remotedroid/client.rb, line 235 def screen_on() screen :on end
set_auto_rotate(state=nil)
click to toggle source
# File lib/remotedroid/client.rb, line 243 def set_auto_rotate(state=nil) control.set_auto_rotate state end
set_auto_rotate_off()
click to toggle source
# File lib/remotedroid/client.rb, line 251 def set_auto_rotate_off() control.set_auto_rotate 1 end
set_auto_rotate_on()
click to toggle source
# File lib/remotedroid/client.rb, line 247 def set_auto_rotate_on() control.set_auto_rotate 0 end
set_auto_rotate_toggle()
click to toggle source
# File lib/remotedroid/client.rb, line 255 def set_auto_rotate_toggle() control.set_auto_rotate 2 end
stay_awake()
click to toggle source
# File lib/remotedroid/client.rb, line 259 def stay_awake() control.stay_awake end
stay_awake_off()
click to toggle source
# File lib/remotedroid/client.rb, line 263 def stay_awake_off() control.stay_awake_off end
Also aliased as: awake_off
stop()
click to toggle source
# File lib/remotedroid/client.rb, line 269 def stop() control_media(option: 'Stop') end
store()
click to toggle source
# File lib/remotedroid/client.rb, line 51 def store() @drb.store end
syslog()
click to toggle source
# File lib/remotedroid/client.rb, line 55 def syslog() @drb.syslog end
take_picture(ftp_src: nil, fileout: '.')
click to toggle source
# File lib/remotedroid/client.rb, line 273 def take_picture(ftp_src: nil, fileout: '.') #screen.on #launch 'camera' if ftp_src then r = query.take_picture # give the device a second to write the image to file sleep 1 credentials, dir = ftp_src.match(/(ftp:\/\/[^\/]+)\/([^$]+)/).captures ftp = MyMediaFTP.new(credentials) ftp.cd dir filename = ftp.ls.sort_by {|x| x[:ctime]}.last[:name] ftp.cp filename, fileout else contro.take_picture end end
Also aliased as: take_photo
take_screenshot(ftp_src: nil, fileout: '.')
click to toggle source
# File lib/remotedroid/client.rb, line 300 def take_screenshot(ftp_src: nil, fileout: '.') #screen.on if ftp_src then r = query.take_screenshot # give the device a second to write the image to file sleep 1 credentials, dir = ftp_src.match(/(ftp:\/\/[^\/]+)\/([^$]+)/).captures ftp = MyMediaFTP.new(credentials) ftp.cd dir filename = ftp.ls.sort_by {|x| x[:ctime]}.last[:name] ftp.cp filename, fileout end end
toggle_airplane_mode()
click to toggle source
# File lib/remotedroid/client.rb, line 321 def toggle_airplane_mode() control.toggle_airplane_mode end
toggle_bluetooth()
click to toggle source
# File lib/remotedroid/client.rb, line 325 def toggle_bluetooth() control.toggle_bluetooth end
toggle_wifi()
click to toggle source
# File lib/remotedroid/client.rb, line 329 def toggle_wifi() control.toggle_wifi end
torch()
click to toggle source
# File lib/remotedroid/client.rb, line 333 def torch() control.torch end
update(key, val)
click to toggle source
# File lib/remotedroid/client.rb, line 47 def update(key, val) @drb.update key.to_sym, val end
vibrate()
click to toggle source
# File lib/remotedroid/client.rb, line 337 def vibrate control.vibrate end
voice_search()
click to toggle source
# File lib/remotedroid/client.rb, line 341 def voice_search control.voice_search end
vol()
click to toggle source
# File lib/remotedroid/client.rb, line 349 def vol() volume.music end
volume(context=nil)
click to toggle source
# File lib/remotedroid/client.rb, line 345 def volume(context=nil) query.volume context end