class SwipeTrigger

Category: User Input

Public Class Methods

new(obj=nil) click to toggle source
Calls superclass method Trigger::new
# File lib/ruby-macrodroid/triggers.rb, line 1770
def initialize(obj=nil)
  
  h = if obj.is_a? Hash then
    obj
  elsif obj.is_a? Array
    
    e, macro = obj
    s = e.text('item/description').to_s
    start, motion = s.split(/ - /,2)
    
    {
      swipe_start_area: ['Top Left', 'Top Right'].index(start),
      swipe_motion: %w(Across Diagonal Down).index(motion)
    }
  end 
  
  options = {
    swipe_start_area: 0,
    swipe_motion: 0,
    cleared: true
  }

  super(options.merge h)

end

Public Instance Methods

match?(detail={}, model=nil) click to toggle source
# File lib/ruby-macrodroid/triggers.rb, line 1796
def match?(detail={}, model=nil)
  
  puts 'detail : ' + detail.inspect
      
  return false if detail.empty?
 
  detail[:swipe_start_area] = detail[:start]
  detail[:swipe_motion] = detail[:motion]
  return unless detail[:swipe_start_area] and detail[:swipe_motion]
  
  @h[:swipe_start_area] == detail[:swipe_start_area].to_i and \
     @h[:swipe_motion] == detail[:swipe_motion].to_i

end
to_s(colour: false) click to toggle source
Calls superclass method Trigger#to_s
# File lib/ruby-macrodroid/triggers.rb, line 1811
def to_s(colour: false)
  
  direction = [['Top Left', 'Top Right'][@h[:swipe_start_area]], 
      %w(Across Diagonal Down)[@h[:swipe_motion]]].join(' - ')
  @s = 'Swipe Screen'# + @h.inspect
  @s += "\n" + direction
  super()
end
Also aliased as: to_summary
to_summary(colour: false)
Alias for: to_s