class UIInteractionAction
Category: Device Actions
Public Class Methods
new(obj=nil)
click to toggle source
Calls superclass method
DeviceAction::new
# File lib/ruby-macrodroid/actions.rb, line 1172 def initialize(obj=nil) if obj.is_a? Hash then h = obj elsif obj.is_a? Array e, macro = obj s = e.text('item/description').to_s r = s.match(/^(Click|Long Click) \[(.*)\]$/) # [Current focus] # Current focus # [0,0] # x,y location # [274,186] # Identify in app # [fooo] # Text content h = { ui_interaction_configuration: { :xy_point=>{:x=>0, :y=>0}, :type=>"Click"} } h2 = h[:ui_interaction_configuration] if r then h[:action] = 0 click, detail = r.captures h2[:long_click] = false if click.downcase.to_sym == :click if detail == 'Current focus' then h2[:click_option] = 0 elsif detail =~ /\d+,\d+/ # to-do else # text content h2[:click_option] = 1 h2[:text_content] = detail end #h[:ui_interaction_configuration] = h2 end end options = { ui_interaction_configuration: {:type=>"Copy"}, action: 2 } super(options.merge h) @list = %w(uiInteractionConfiguration action xyPoint textContent clickOption type longClick) end
Public Instance Methods
to_s(colour: false, indent: 0)
click to toggle source
Calls superclass method
MacroObject#to_s
# File lib/ruby-macrodroid/actions.rb, line 1229 def to_s(colour: false, indent: 0) ui = @h[:ui_interaction_configuration] option = -> do detail = case ui[:click_option] when 0 # 'Current focus' 'Current focus' when 1 # 'Text content' ui[:text_content] when 2 # 'X, Y location' "%s" % ui[:xy_point].values.join(',') when 3 # 'Identify in app' "id:%s" % ui[:view_id] end end s = case @h[:action] when 0 # 'Click' 'Click' + " [%s]" % option.call when 1 # 'Long Click' 'Long Click' + " [%s]" % option.call when 2 # 'Copy' 'Copy' when 3 # 'Cut' 'Cut' when 4 # 'Paste' "Paste [%s]" % (ui[:use_clipboard] ? 'Clipboard text' : ui[:text]) when 5 # 'Clear selection' 'Clear selection' when 6 # 'Gesture' detail = "%d ms: %d,%d -> %d,%d" % [ui[:duration_ms], ui[:start_x], ui[:start_y], ui[:end_x], ui[:end_y]] "Gesture [%s]" % detail end @s = 'UI Interaction' + "\n" + s #+ ' ' + @h.inspect super() end
Also aliased as: to_summary