ruby-macrodroid 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/ruby-macrodroid.rb +641 -158
- metadata +11 -11
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 79ad74c909d44b5bc3ddd5a5f65a2359cf385de96cd9e504cf30ce390ab2252f
|
4
|
+
data.tar.gz: 71ab0f9b2267ea514859f4ebc9525e4cb5c8389895ccf85df2653a495c7bc104
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8f514b4bc19ddc8b00d8794fe7802779c332f371072db40c30f6a247316764b43306919e571256c5200451965aa9629312e30c82d96838a78d5f4658df22bf95
|
7
|
+
data.tar.gz: 6c4b78db5f22aa70860c34eb9a046909805a93924dc2fb3c7bcae45ced4d552b04e3c05645a1ac54135b220fae189641352820b90f00b78ae00506701ce3dc4d
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/ruby-macrodroid.rb
CHANGED
@@ -2,13 +2,9 @@
|
|
2
2
|
|
3
3
|
# file: ruby-macrodroid.rb
|
4
4
|
|
5
|
-
require 'pp'
|
6
|
-
require 'json'
|
7
5
|
require 'uuid'
|
8
|
-
require 'date'
|
9
6
|
require 'rxfhelper'
|
10
|
-
require '
|
11
|
-
|
7
|
+
require 'chronic_cron'
|
12
8
|
|
13
9
|
|
14
10
|
class TriggersNlp
|
@@ -70,7 +66,7 @@ module Params
|
|
70
66
|
h.inject({}) do |r, x|
|
71
67
|
|
72
68
|
key, value = x
|
73
|
-
puts 'value: ' + value.inspect
|
69
|
+
#puts 'value: ' + value.inspect
|
74
70
|
|
75
71
|
val = if value.is_a?(Hash) then
|
76
72
|
to_snake_case(value)
|
@@ -117,15 +113,18 @@ class Macro
|
|
117
113
|
using Params
|
118
114
|
|
119
115
|
attr_reader :local_variables, :triggers, :actions, :guid
|
120
|
-
attr_accessor :
|
116
|
+
attr_accessor :title
|
121
117
|
|
122
118
|
def initialize(name=nil, debug: false)
|
123
119
|
|
124
|
-
@
|
120
|
+
@title, @debug = name, debug
|
121
|
+
|
122
|
+
puts 'inside Macro#initialize' if @debug
|
123
|
+
|
125
124
|
lv=[], triggers=[], actions=[]
|
126
125
|
@local_variables, @triggers, @actions = lv, triggers, actions
|
127
126
|
|
128
|
-
@triggers, @actions = [], []
|
127
|
+
@triggers, @actions, @constraints = [], [], []
|
129
128
|
@h = {}
|
130
129
|
|
131
130
|
end
|
@@ -159,7 +158,7 @@ class Macro
|
|
159
158
|
m_action_list: @actions.map(&:to_h),
|
160
159
|
m_constraint_list: [],
|
161
160
|
m_description: '',
|
162
|
-
m_name: @
|
161
|
+
m_name: @title,
|
163
162
|
m_excludeLog: false,
|
164
163
|
m_GUID: guid(),
|
165
164
|
m_isOrCondition: false,
|
@@ -203,7 +202,12 @@ class Macro
|
|
203
202
|
|
204
203
|
def import_xml(node)
|
205
204
|
|
206
|
-
@
|
205
|
+
if @debug then
|
206
|
+
puts 'inside Macro#import_xml'
|
207
|
+
puts 'node: ' + node.xml.inspect
|
208
|
+
end
|
209
|
+
|
210
|
+
@title = node.attributes[:name]
|
207
211
|
|
208
212
|
if node.element('triggers') then
|
209
213
|
|
@@ -242,6 +246,8 @@ class Macro
|
|
242
246
|
|
243
247
|
r = tp.find_trigger e.text
|
244
248
|
|
249
|
+
puts 'found trigger ' + r.inspect if @debug
|
250
|
+
|
245
251
|
if r then
|
246
252
|
r[0].new(r[1])
|
247
253
|
end
|
@@ -253,6 +259,7 @@ class Macro
|
|
253
259
|
@actions = node.xpath('action').map do |e|
|
254
260
|
|
255
261
|
r = ap.find_action e.text
|
262
|
+
puts 'found action ' + r.inspect if @debug
|
256
263
|
|
257
264
|
if r then
|
258
265
|
r[0].new(r[1])
|
@@ -265,6 +272,33 @@ class Macro
|
|
265
272
|
self
|
266
273
|
|
267
274
|
end
|
275
|
+
|
276
|
+
def match?(triggerx, detail={time: $env[:time]} )
|
277
|
+
|
278
|
+
if @triggers.any? {|x| x.type == triggerx and x.match?(detail) } then
|
279
|
+
|
280
|
+
if @debug then
|
281
|
+
puts 'checking constraints ...'
|
282
|
+
puts '@constraints: ' + @constraints.inspect
|
283
|
+
end
|
284
|
+
|
285
|
+
if @constraints.all? {|x| x.match?($env.merge(detail)) } then
|
286
|
+
|
287
|
+
true
|
288
|
+
|
289
|
+
else
|
290
|
+
|
291
|
+
return false
|
292
|
+
|
293
|
+
end
|
294
|
+
|
295
|
+
end
|
296
|
+
|
297
|
+
end
|
298
|
+
|
299
|
+
def run()
|
300
|
+
@actions.map(&:invoke)
|
301
|
+
end
|
268
302
|
|
269
303
|
private
|
270
304
|
|
@@ -298,10 +332,12 @@ class MacroDroid
|
|
298
332
|
|
299
333
|
if s[0] == '{' then
|
300
334
|
import_json(s)
|
301
|
-
|
302
|
-
s[0] == '<'
|
335
|
+
elsif s[0] == '<'
|
303
336
|
import_xml(s)
|
304
337
|
@h = build_h
|
338
|
+
else
|
339
|
+
import_xml(text_to_xml(s))
|
340
|
+
@h = build_h
|
305
341
|
end
|
306
342
|
|
307
343
|
else
|
@@ -319,6 +355,7 @@ class MacroDroid
|
|
319
355
|
|
320
356
|
def build_h()
|
321
357
|
|
358
|
+
puts 'inside Macro#build_h' if @debug
|
322
359
|
{
|
323
360
|
cell_tower_groups: [],
|
324
361
|
cell_towers_ignore: [],
|
@@ -379,12 +416,38 @@ class MacroDroid
|
|
379
416
|
|
380
417
|
@macros = doc.root.xpath('macro').map do |node|
|
381
418
|
|
382
|
-
macro = Macro.new @
|
419
|
+
macro = Macro.new @title, debug: @debug
|
383
420
|
macro.import_xml(node)
|
384
421
|
macro
|
385
422
|
|
386
423
|
end
|
387
424
|
end
|
425
|
+
|
426
|
+
def text_to_xml(s)
|
427
|
+
|
428
|
+
a = s.split(/.*(?=^m:)/); a.shift
|
429
|
+
a.map!(&:chomp)
|
430
|
+
|
431
|
+
macros = a.map do |x|
|
432
|
+
|
433
|
+
lines = x.lines
|
434
|
+
puts 'lines: ' + lines.inspect if @debug
|
435
|
+
|
436
|
+
name = lines.shift[/^m: +(.*)/,1]
|
437
|
+
h = {t: [], a: [], c: []}
|
438
|
+
|
439
|
+
lines.each {|line| h[line[0].to_sym] << line[/^\w: +(.*)/,1] }
|
440
|
+
triggers = h[:t].map {|text| [:trigger, {}, text]}
|
441
|
+
actions = h[:a].map {|text| [:action, {}, text]}
|
442
|
+
|
443
|
+
[:macro, {name: name},'', *triggers, *actions]
|
444
|
+
|
445
|
+
end
|
446
|
+
|
447
|
+
doc = Rexle.new([:macros, {}, '', *macros])
|
448
|
+
doc.root.xml pretty: true
|
449
|
+
|
450
|
+
end
|
388
451
|
|
389
452
|
def to_h()
|
390
453
|
|
@@ -397,12 +460,22 @@ class MacroDroid
|
|
397
460
|
end
|
398
461
|
|
399
462
|
class MacroObject
|
463
|
+
using ColouredText
|
464
|
+
|
465
|
+
attr_reader :type
|
466
|
+
attr_accessor :options
|
400
467
|
|
401
468
|
def initialize(h={})
|
402
469
|
|
403
470
|
@h = {constraint_list: [], is_or_condition: false,
|
404
471
|
is_disabled: false}.merge(h)
|
405
472
|
@list = []
|
473
|
+
|
474
|
+
# fetch the class name and convert from camelCase to snake_eyes
|
475
|
+
@type = self.class.to_s.sub(/Trigger|Action$/,'')\
|
476
|
+
.gsub(/\B[A-Z][a-z]/){|x| '_' + x.downcase}\
|
477
|
+
.gsub(/[a-z][A-Z]/){|x| x[0] + '_' + x[1].downcase}\
|
478
|
+
.downcase.to_sym
|
406
479
|
end
|
407
480
|
|
408
481
|
def to_h()
|
@@ -425,6 +498,13 @@ class MacroObject
|
|
425
498
|
|
426
499
|
protected
|
427
500
|
|
501
|
+
def filter(options, h)
|
502
|
+
|
503
|
+
(h.keys - options.keys).each {|key| h.delete key }
|
504
|
+
return h
|
505
|
+
|
506
|
+
end
|
507
|
+
|
428
508
|
def uuid()
|
429
509
|
UUID.new.generate
|
430
510
|
end
|
@@ -437,11 +517,18 @@ class Trigger < MacroObject
|
|
437
517
|
super({fakeIcon: 0}.merge(h))
|
438
518
|
@list << 'fakeIcon'
|
439
519
|
end
|
520
|
+
|
521
|
+
def match?(detail={})
|
440
522
|
|
441
|
-
|
523
|
+
detail.all? {|key,value| @h[key] == value}
|
524
|
+
|
525
|
+
end
|
442
526
|
|
527
|
+
end
|
443
528
|
|
444
529
|
|
530
|
+
# Category: Applications
|
531
|
+
#
|
445
532
|
class WebHookTrigger < Trigger
|
446
533
|
|
447
534
|
def initialize(h={})
|
@@ -456,6 +543,22 @@ class WebHookTrigger < Trigger
|
|
456
543
|
|
457
544
|
end
|
458
545
|
|
546
|
+
# Category: Applications
|
547
|
+
#
|
548
|
+
# Also known as Wifi State Change
|
549
|
+
#
|
550
|
+
# wifi_state options:
|
551
|
+
# 0 - Wifi Enabled
|
552
|
+
# 1 - Wifi Disabled
|
553
|
+
# 2 - Connected to network
|
554
|
+
# ssid_list options:
|
555
|
+
# ["Any Network"]
|
556
|
+
# ["some Wifi SSID"] - 1 or more SSID can be supplied
|
557
|
+
# 3 - Disconnected from network
|
558
|
+
# ssid_list options:
|
559
|
+
# ["Any Network"]
|
560
|
+
# ["some Wifi SSID"] - 1 or more SSID can be supplied
|
561
|
+
|
459
562
|
class WifiConnectionTrigger < Trigger
|
460
563
|
|
461
564
|
def initialize(h={})
|
@@ -471,6 +574,8 @@ class WifiConnectionTrigger < Trigger
|
|
471
574
|
|
472
575
|
end
|
473
576
|
|
577
|
+
# Category: Applications
|
578
|
+
#
|
474
579
|
class ApplicationInstalledRemovedTrigger < Trigger
|
475
580
|
|
476
581
|
def initialize(h={})
|
@@ -489,6 +594,8 @@ class ApplicationInstalledRemovedTrigger < Trigger
|
|
489
594
|
|
490
595
|
end
|
491
596
|
|
597
|
+
# Category: Applications
|
598
|
+
#
|
492
599
|
class ApplicationLaunchedTrigger < Trigger
|
493
600
|
|
494
601
|
def initialize(h={})
|
@@ -505,6 +612,8 @@ class ApplicationLaunchedTrigger < Trigger
|
|
505
612
|
|
506
613
|
end
|
507
614
|
|
615
|
+
# Category: Battery/Power
|
616
|
+
#
|
508
617
|
class BatteryLevelTrigger < Trigger
|
509
618
|
|
510
619
|
def initialize(h={})
|
@@ -521,6 +630,8 @@ class BatteryLevelTrigger < Trigger
|
|
521
630
|
|
522
631
|
end
|
523
632
|
|
633
|
+
# Category: Battery/Power
|
634
|
+
#
|
524
635
|
class BatteryTemperatureTrigger < Trigger
|
525
636
|
|
526
637
|
def initialize(h={})
|
@@ -537,6 +648,8 @@ class BatteryTemperatureTrigger < Trigger
|
|
537
648
|
|
538
649
|
end
|
539
650
|
|
651
|
+
# Category: Battery/Power
|
652
|
+
#
|
540
653
|
class PowerButtonToggleTrigger < Trigger
|
541
654
|
|
542
655
|
def initialize(h={})
|
@@ -551,6 +664,9 @@ class PowerButtonToggleTrigger < Trigger
|
|
551
664
|
|
552
665
|
end
|
553
666
|
|
667
|
+
|
668
|
+
# Category: Battery/Power
|
669
|
+
#
|
554
670
|
class ExternalPowerTrigger < Trigger
|
555
671
|
|
556
672
|
def initialize(h={})
|
@@ -568,6 +684,8 @@ class ExternalPowerTrigger < Trigger
|
|
568
684
|
|
569
685
|
end
|
570
686
|
|
687
|
+
# Category: Call/SMS
|
688
|
+
#
|
571
689
|
class CallActiveTrigger < Trigger
|
572
690
|
|
573
691
|
def initialize(h={})
|
@@ -584,6 +702,8 @@ class CallActiveTrigger < Trigger
|
|
584
702
|
|
585
703
|
end
|
586
704
|
|
705
|
+
# Category: Call/SMS
|
706
|
+
#
|
587
707
|
class IncomingCallTrigger < Trigger
|
588
708
|
|
589
709
|
def initialize(h={})
|
@@ -602,6 +722,8 @@ class IncomingCallTrigger < Trigger
|
|
602
722
|
|
603
723
|
end
|
604
724
|
|
725
|
+
# Category: Call/SMS
|
726
|
+
#
|
605
727
|
class OutgoingCallTrigger < Trigger
|
606
728
|
|
607
729
|
def initialize(h={})
|
@@ -620,6 +742,8 @@ class OutgoingCallTrigger < Trigger
|
|
620
742
|
|
621
743
|
end
|
622
744
|
|
745
|
+
# Category: Call/SMS
|
746
|
+
#
|
623
747
|
class CallEndedTrigger < Trigger
|
624
748
|
|
625
749
|
def initialize(h={})
|
@@ -638,6 +762,8 @@ class CallEndedTrigger < Trigger
|
|
638
762
|
|
639
763
|
end
|
640
764
|
|
765
|
+
# Category: Call/SMS
|
766
|
+
#
|
641
767
|
class CallMissedTrigger < Trigger
|
642
768
|
|
643
769
|
def initialize(h={})
|
@@ -652,6 +778,8 @@ class CallMissedTrigger < Trigger
|
|
652
778
|
|
653
779
|
end
|
654
780
|
|
781
|
+
# Category: Call/SMS
|
782
|
+
#
|
655
783
|
class IncomingSMSTrigger < Trigger
|
656
784
|
|
657
785
|
def initialize(h={})
|
@@ -674,6 +802,8 @@ class IncomingSMSTrigger < Trigger
|
|
674
802
|
|
675
803
|
end
|
676
804
|
|
805
|
+
# Category: Connectivity
|
806
|
+
#
|
677
807
|
class WebHookTrigger < Trigger
|
678
808
|
|
679
809
|
def initialize(h={})
|
@@ -688,6 +818,8 @@ class WebHookTrigger < Trigger
|
|
688
818
|
|
689
819
|
end
|
690
820
|
|
821
|
+
# Category: Connectivity
|
822
|
+
#
|
691
823
|
class WifiConnectionTrigger < Trigger
|
692
824
|
|
693
825
|
def initialize(h={})
|
@@ -703,6 +835,8 @@ class WifiConnectionTrigger < Trigger
|
|
703
835
|
|
704
836
|
end
|
705
837
|
|
838
|
+
# Category: Connectivity
|
839
|
+
#
|
706
840
|
class BluetoothTrigger < Trigger
|
707
841
|
|
708
842
|
def initialize(h={})
|
@@ -719,6 +853,8 @@ class BluetoothTrigger < Trigger
|
|
719
853
|
|
720
854
|
end
|
721
855
|
|
856
|
+
# Category: Connectivity
|
857
|
+
#
|
722
858
|
class HeadphonesTrigger < Trigger
|
723
859
|
|
724
860
|
def initialize(h={})
|
@@ -734,6 +870,8 @@ class HeadphonesTrigger < Trigger
|
|
734
870
|
|
735
871
|
end
|
736
872
|
|
873
|
+
# Category: Connectivity
|
874
|
+
#
|
737
875
|
class SignalOnOffTrigger < Trigger
|
738
876
|
|
739
877
|
def initialize(h={})
|
@@ -748,6 +886,8 @@ class SignalOnOffTrigger < Trigger
|
|
748
886
|
|
749
887
|
end
|
750
888
|
|
889
|
+
# Category: Connectivity
|
890
|
+
#
|
751
891
|
class UsbDeviceConnectionTrigger < Trigger
|
752
892
|
|
753
893
|
def initialize(h={})
|
@@ -762,22 +902,45 @@ class UsbDeviceConnectionTrigger < Trigger
|
|
762
902
|
|
763
903
|
end
|
764
904
|
|
905
|
+
# Category: Connectivity
|
906
|
+
#
|
907
|
+
# Also known as Wifi SSID Transition
|
908
|
+
#
|
909
|
+
# options:
|
910
|
+
# in_range: true | false
|
911
|
+
# wifi_cell_info: {display_name: "some Wifi SSID",
|
912
|
+
# ssid: "some Wifi SSID"} - 1 or more allowed
|
913
|
+
#
|
765
914
|
class WifiSSIDTrigger < Trigger
|
766
915
|
|
767
916
|
def initialize(h={})
|
768
917
|
|
769
918
|
options = {
|
770
|
-
wifi_cell_info_list: [{:
|
919
|
+
wifi_cell_info_list: [{:display_name=>"", :ssid=>""}],
|
771
920
|
ssid_list: [],
|
772
|
-
|
921
|
+
in_range: true
|
773
922
|
}
|
774
923
|
|
775
924
|
super(options.merge h)
|
776
925
|
|
777
926
|
end
|
927
|
+
|
928
|
+
def to_h()
|
929
|
+
|
930
|
+
h = super()
|
931
|
+
val = h[:m_inRange]
|
932
|
+
|
933
|
+
h[:m_InRange] = val
|
934
|
+
h.delete :m_inRange
|
935
|
+
|
936
|
+
return h
|
937
|
+
|
938
|
+
end
|
778
939
|
|
779
940
|
end
|
780
941
|
|
942
|
+
# Category: Date/Time
|
943
|
+
#
|
781
944
|
class CalendarTrigger < Trigger
|
782
945
|
|
783
946
|
def initialize(h={})
|
@@ -802,15 +965,21 @@ class CalendarTrigger < Trigger
|
|
802
965
|
|
803
966
|
end
|
804
967
|
|
968
|
+
# Category: Date/Time
|
969
|
+
#
|
805
970
|
class TimerTrigger < Trigger
|
971
|
+
using ColouredText
|
972
|
+
|
806
973
|
|
807
974
|
def initialize(h={})
|
975
|
+
|
976
|
+
puts 'TimerTrigger h: ' + h.inspect if $debug
|
808
977
|
|
809
978
|
if h[:days] then
|
810
979
|
|
811
980
|
days = [false] * 7
|
812
|
-
|
813
|
-
h[:days].split(/,
|
981
|
+
|
982
|
+
h[:days].split(/, */).each do |x|
|
814
983
|
|
815
984
|
r = Date::DAYNAMES.grep /#{x}/i
|
816
985
|
i = Date::DAYNAMES.index(r.first)
|
@@ -819,7 +988,6 @@ class TimerTrigger < Trigger
|
|
819
988
|
end
|
820
989
|
|
821
990
|
h[:days_of_week] = days
|
822
|
-
h.delete :days
|
823
991
|
|
824
992
|
end
|
825
993
|
|
@@ -827,24 +995,46 @@ class TimerTrigger < Trigger
|
|
827
995
|
|
828
996
|
t = Time.parse(h[:time])
|
829
997
|
h[:hour], h[:minute] = t.hour, t.min
|
830
|
-
h.delete :time
|
831
998
|
|
832
999
|
end
|
1000
|
+
|
1001
|
+
#puts ('h: ' + h.inspect).debug
|
833
1002
|
|
834
1003
|
options = {
|
835
1004
|
alarm_id: uuid(),
|
836
|
-
days_of_week: [false,
|
1005
|
+
days_of_week: [false, false, false, false, false, false, false],
|
837
1006
|
minute: 10,
|
838
1007
|
hour: 7,
|
839
1008
|
use_alarm: false
|
840
1009
|
}
|
1010
|
+
|
1011
|
+
super(options.merge filter(options,h))
|
841
1012
|
|
842
|
-
|
1013
|
+
end
|
1014
|
+
|
1015
|
+
def match?(detail={time: $env[:time]})
|
1016
|
+
|
1017
|
+
a = @h[:days_of_week]
|
1018
|
+
a.unshift a.pop
|
1019
|
+
|
1020
|
+
dow = a.map.with_index {|x, i| x ? i : nil }.compact.join(',')
|
1021
|
+
|
1022
|
+
s = "%s %s * * %s" % [@h[:minute], @h[:hour], dow]
|
1023
|
+
|
1024
|
+
if $debug then
|
1025
|
+
puts 's: ' + s.inspect
|
1026
|
+
puts 'detail: ' + detail.inspect
|
1027
|
+
puts '@h: ' + @h.inspect
|
1028
|
+
end
|
1029
|
+
|
1030
|
+
ChronicCron.new(s, detail[:time]).to_time == detail[:time]
|
843
1031
|
|
844
1032
|
end
|
845
1033
|
|
846
1034
|
end
|
847
1035
|
|
1036
|
+
# Category: Date/Time
|
1037
|
+
#
|
848
1038
|
class StopwatchTrigger < Trigger
|
849
1039
|
|
850
1040
|
def initialize(h={})
|
@@ -860,6 +1050,13 @@ class StopwatchTrigger < Trigger
|
|
860
1050
|
|
861
1051
|
end
|
862
1052
|
|
1053
|
+
# Category: Date/Time
|
1054
|
+
#
|
1055
|
+
# Also known as Day of Week/Month
|
1056
|
+
#
|
1057
|
+
# month_of_year equal to 0 means it occurs every month
|
1058
|
+
# day_of_week starts with a Monday (value is 0)
|
1059
|
+
#
|
863
1060
|
class DayTrigger < Trigger
|
864
1061
|
|
865
1062
|
def initialize(h={})
|
@@ -881,6 +1078,10 @@ class DayTrigger < Trigger
|
|
881
1078
|
|
882
1079
|
end
|
883
1080
|
|
1081
|
+
# Category: Date/Time
|
1082
|
+
#
|
1083
|
+
# Regular Interval
|
1084
|
+
#
|
884
1085
|
class RegularIntervalTrigger < Trigger
|
885
1086
|
|
886
1087
|
def initialize(h={})
|
@@ -900,6 +1101,17 @@ class RegularIntervalTrigger < Trigger
|
|
900
1101
|
|
901
1102
|
end
|
902
1103
|
|
1104
|
+
# Category: Device Events
|
1105
|
+
#
|
1106
|
+
# Airplane Mode Changed
|
1107
|
+
#
|
1108
|
+
# options:
|
1109
|
+
# Airplane Mode Enabled
|
1110
|
+
# Airplane Mode Disabled
|
1111
|
+
#
|
1112
|
+
# shorthand example:
|
1113
|
+
# airplanemode: enabled
|
1114
|
+
#
|
903
1115
|
class AirplaneModeTrigger < Trigger
|
904
1116
|
|
905
1117
|
def initialize(h={})
|
@@ -914,6 +1126,8 @@ class AirplaneModeTrigger < Trigger
|
|
914
1126
|
|
915
1127
|
end
|
916
1128
|
|
1129
|
+
# Category: Device Events
|
1130
|
+
#
|
917
1131
|
class AutoSyncChangeTrigger < Trigger
|
918
1132
|
|
919
1133
|
def initialize(h={})
|
@@ -928,6 +1142,8 @@ class AutoSyncChangeTrigger < Trigger
|
|
928
1142
|
|
929
1143
|
end
|
930
1144
|
|
1145
|
+
# Category: Device Events
|
1146
|
+
#
|
931
1147
|
class DayDreamTrigger < Trigger
|
932
1148
|
|
933
1149
|
def initialize(h={})
|
@@ -942,6 +1158,8 @@ class DayDreamTrigger < Trigger
|
|
942
1158
|
|
943
1159
|
end
|
944
1160
|
|
1161
|
+
# Category: Device Events
|
1162
|
+
#
|
945
1163
|
class DockTrigger < Trigger
|
946
1164
|
|
947
1165
|
def initialize(h={})
|
@@ -956,6 +1174,8 @@ class DockTrigger < Trigger
|
|
956
1174
|
|
957
1175
|
end
|
958
1176
|
|
1177
|
+
# Category: Device Events
|
1178
|
+
#
|
959
1179
|
class GPSEnabledTrigger < Trigger
|
960
1180
|
|
961
1181
|
def initialize(h={})
|
@@ -970,6 +1190,8 @@ class GPSEnabledTrigger < Trigger
|
|
970
1190
|
|
971
1191
|
end
|
972
1192
|
|
1193
|
+
# Category: Device Events
|
1194
|
+
#
|
973
1195
|
class MusicPlayingTrigger < Trigger
|
974
1196
|
|
975
1197
|
def initialize(h={})
|
@@ -984,19 +1206,9 @@ class MusicPlayingTrigger < Trigger
|
|
984
1206
|
|
985
1207
|
end
|
986
1208
|
|
987
|
-
class DeviceUnlockedTrigger < Trigger
|
988
|
-
|
989
|
-
def initialize(h={})
|
990
|
-
|
991
|
-
options = {
|
992
|
-
}
|
993
|
-
|
994
|
-
super(options.merge h)
|
995
|
-
|
996
|
-
end
|
997
|
-
|
998
|
-
end
|
999
1209
|
|
1210
|
+
# Category: Device Events
|
1211
|
+
#
|
1000
1212
|
class DeviceUnlockedTrigger < Trigger
|
1001
1213
|
|
1002
1214
|
def initialize(h={})
|
@@ -1010,6 +1222,8 @@ class DeviceUnlockedTrigger < Trigger
|
|
1010
1222
|
|
1011
1223
|
end
|
1012
1224
|
|
1225
|
+
# Category: Device Events
|
1226
|
+
#
|
1013
1227
|
class AutoRotateChangeTrigger < Trigger
|
1014
1228
|
|
1015
1229
|
def initialize(h={})
|
@@ -1024,6 +1238,8 @@ class AutoRotateChangeTrigger < Trigger
|
|
1024
1238
|
|
1025
1239
|
end
|
1026
1240
|
|
1241
|
+
# Category: Device Events
|
1242
|
+
#
|
1027
1243
|
class ClipboardChangeTrigger < Trigger
|
1028
1244
|
|
1029
1245
|
def initialize(h={})
|
@@ -1039,6 +1255,8 @@ class ClipboardChangeTrigger < Trigger
|
|
1039
1255
|
|
1040
1256
|
end
|
1041
1257
|
|
1258
|
+
# Category: Device Events
|
1259
|
+
#
|
1042
1260
|
class BootTrigger < Trigger
|
1043
1261
|
|
1044
1262
|
def initialize(h={})
|
@@ -1052,19 +1270,8 @@ class BootTrigger < Trigger
|
|
1052
1270
|
|
1053
1271
|
end
|
1054
1272
|
|
1055
|
-
|
1056
|
-
|
1057
|
-
def initialize(h={})
|
1058
|
-
|
1059
|
-
options = {
|
1060
|
-
}
|
1061
|
-
|
1062
|
-
super(options.merge h)
|
1063
|
-
|
1064
|
-
end
|
1065
|
-
|
1066
|
-
end
|
1067
|
-
|
1273
|
+
# Category: Device Events
|
1274
|
+
#
|
1068
1275
|
class IntentReceivedTrigger < Trigger
|
1069
1276
|
|
1070
1277
|
def initialize(h={})
|
@@ -1083,6 +1290,8 @@ class IntentReceivedTrigger < Trigger
|
|
1083
1290
|
|
1084
1291
|
end
|
1085
1292
|
|
1293
|
+
# Category: Device Events
|
1294
|
+
#
|
1086
1295
|
class NotificationTrigger < Trigger
|
1087
1296
|
|
1088
1297
|
def initialize(h={})
|
@@ -1107,6 +1316,8 @@ class NotificationTrigger < Trigger
|
|
1107
1316
|
|
1108
1317
|
end
|
1109
1318
|
|
1319
|
+
# Category: Device Events
|
1320
|
+
#
|
1110
1321
|
class ScreenOnOffTrigger < Trigger
|
1111
1322
|
|
1112
1323
|
def initialize(h={})
|
@@ -1121,6 +1332,8 @@ class ScreenOnOffTrigger < Trigger
|
|
1121
1332
|
|
1122
1333
|
end
|
1123
1334
|
|
1335
|
+
# Category: Device Events
|
1336
|
+
#
|
1124
1337
|
class SilentModeTrigger < Trigger
|
1125
1338
|
|
1126
1339
|
def initialize(h={})
|
@@ -1135,6 +1348,8 @@ class SilentModeTrigger < Trigger
|
|
1135
1348
|
|
1136
1349
|
end
|
1137
1350
|
|
1351
|
+
# Category: Location
|
1352
|
+
#
|
1138
1353
|
class WeatherTrigger < Trigger
|
1139
1354
|
|
1140
1355
|
def initialize(h={})
|
@@ -1158,6 +1373,8 @@ class WeatherTrigger < Trigger
|
|
1158
1373
|
|
1159
1374
|
end
|
1160
1375
|
|
1376
|
+
# Category: Location
|
1377
|
+
#
|
1161
1378
|
class GeofenceTrigger < Trigger
|
1162
1379
|
|
1163
1380
|
def initialize(h={})
|
@@ -1176,6 +1393,8 @@ class GeofenceTrigger < Trigger
|
|
1176
1393
|
|
1177
1394
|
end
|
1178
1395
|
|
1396
|
+
# Category: Location
|
1397
|
+
#
|
1179
1398
|
class SunriseSunsetTrigger < Trigger
|
1180
1399
|
|
1181
1400
|
def initialize(h={})
|
@@ -1191,7 +1410,8 @@ class SunriseSunsetTrigger < Trigger
|
|
1191
1410
|
|
1192
1411
|
end
|
1193
1412
|
|
1194
|
-
|
1413
|
+
# Category: Sensors
|
1414
|
+
#
|
1195
1415
|
class ActivityRecognitionTrigger < Trigger
|
1196
1416
|
|
1197
1417
|
def initialize(h={})
|
@@ -1207,7 +1427,8 @@ class ActivityRecognitionTrigger < Trigger
|
|
1207
1427
|
|
1208
1428
|
end
|
1209
1429
|
|
1210
|
-
|
1430
|
+
# Category: Sensors
|
1431
|
+
#
|
1211
1432
|
class ProximityTrigger < Trigger
|
1212
1433
|
|
1213
1434
|
def initialize(h={})
|
@@ -1223,6 +1444,8 @@ class ProximityTrigger < Trigger
|
|
1223
1444
|
|
1224
1445
|
end
|
1225
1446
|
|
1447
|
+
# Category: Sensors
|
1448
|
+
#
|
1226
1449
|
class ShakeDeviceTrigger < Trigger
|
1227
1450
|
|
1228
1451
|
def initialize(h={})
|
@@ -1236,6 +1459,8 @@ class ShakeDeviceTrigger < Trigger
|
|
1236
1459
|
|
1237
1460
|
end
|
1238
1461
|
|
1462
|
+
# Category: Sensors
|
1463
|
+
#
|
1239
1464
|
class FlipDeviceTrigger < Trigger
|
1240
1465
|
|
1241
1466
|
def initialize(h={})
|
@@ -1252,6 +1477,8 @@ class FlipDeviceTrigger < Trigger
|
|
1252
1477
|
|
1253
1478
|
end
|
1254
1479
|
|
1480
|
+
# Category: Sensors
|
1481
|
+
#
|
1255
1482
|
class OrientationTrigger < Trigger
|
1256
1483
|
|
1257
1484
|
def initialize(h={})
|
@@ -1267,6 +1494,8 @@ class OrientationTrigger < Trigger
|
|
1267
1494
|
|
1268
1495
|
end
|
1269
1496
|
|
1497
|
+
# Category: User Input
|
1498
|
+
#
|
1270
1499
|
class FloatingButtonTrigger < Trigger
|
1271
1500
|
|
1272
1501
|
def initialize(h={})
|
@@ -1290,6 +1519,8 @@ class FloatingButtonTrigger < Trigger
|
|
1290
1519
|
|
1291
1520
|
end
|
1292
1521
|
|
1522
|
+
# Category: User Input
|
1523
|
+
#
|
1293
1524
|
class ShortcutTrigger < Trigger
|
1294
1525
|
|
1295
1526
|
def initialize(h={})
|
@@ -1303,6 +1534,8 @@ class ShortcutTrigger < Trigger
|
|
1303
1534
|
|
1304
1535
|
end
|
1305
1536
|
|
1537
|
+
# Category: User Input
|
1538
|
+
#
|
1306
1539
|
class VolumeButtonTrigger < Trigger
|
1307
1540
|
|
1308
1541
|
def initialize(h={})
|
@@ -1320,6 +1553,8 @@ class VolumeButtonTrigger < Trigger
|
|
1320
1553
|
|
1321
1554
|
end
|
1322
1555
|
|
1556
|
+
# Category: User Input
|
1557
|
+
#
|
1323
1558
|
class MediaButtonPressedTrigger < Trigger
|
1324
1559
|
|
1325
1560
|
def initialize(h={})
|
@@ -1335,6 +1570,8 @@ class MediaButtonPressedTrigger < Trigger
|
|
1335
1570
|
|
1336
1571
|
end
|
1337
1572
|
|
1573
|
+
# Category: User Input
|
1574
|
+
#
|
1338
1575
|
class SwipeTrigger < Trigger
|
1339
1576
|
|
1340
1577
|
def initialize(h={})
|
@@ -1357,14 +1594,30 @@ class Action < MacroObject
|
|
1357
1594
|
def initialize(h={})
|
1358
1595
|
super(h)
|
1359
1596
|
end
|
1597
|
+
|
1598
|
+
def invoke(s='')
|
1599
|
+
"%s/%s: %s" % [@group, @type, s]
|
1600
|
+
end
|
1360
1601
|
|
1361
1602
|
end
|
1362
1603
|
|
1363
1604
|
|
1605
|
+
class LocationAction < Action
|
1606
|
+
|
1607
|
+
def initialize(h={})
|
1608
|
+
super(h)
|
1609
|
+
@group = 'location'
|
1610
|
+
end
|
1611
|
+
|
1612
|
+
end
|
1364
1613
|
|
1365
|
-
|
1614
|
+
# Category: Location
|
1615
|
+
#
|
1616
|
+
class ShareLocationAction < LocationAction
|
1366
1617
|
|
1367
1618
|
def initialize(h={})
|
1619
|
+
|
1620
|
+
super()
|
1368
1621
|
|
1369
1622
|
options = {
|
1370
1623
|
email: '',
|
@@ -1382,39 +1635,19 @@ class ShareLocationAction < Action
|
|
1382
1635
|
|
1383
1636
|
end
|
1384
1637
|
|
1385
|
-
class UDPCommandAction < Action
|
1386
|
-
|
1387
|
-
def initialize(h={})
|
1388
|
-
|
1389
|
-
options = {
|
1390
|
-
destination: '',
|
1391
|
-
message: '',
|
1392
|
-
port: 1024
|
1393
|
-
}
|
1394
|
-
|
1395
|
-
super(options.merge h)
|
1396
|
-
|
1397
|
-
end
|
1398
|
-
|
1399
|
-
end
|
1400
|
-
|
1401
|
-
class UDPCommandAction < Action
|
1402
1638
|
|
1639
|
+
class ApplicationAction < Action
|
1640
|
+
|
1403
1641
|
def initialize(h={})
|
1404
|
-
|
1405
|
-
|
1406
|
-
destination: '',
|
1407
|
-
message: '',
|
1408
|
-
port: 1024
|
1409
|
-
}
|
1410
|
-
|
1411
|
-
super(options.merge h)
|
1412
|
-
|
1642
|
+
super(h)
|
1643
|
+
@group = 'application'
|
1413
1644
|
end
|
1414
|
-
|
1645
|
+
|
1415
1646
|
end
|
1416
1647
|
|
1417
|
-
|
1648
|
+
# Category: Applications
|
1649
|
+
#
|
1650
|
+
class LaunchActivityAction < ApplicationAction
|
1418
1651
|
|
1419
1652
|
def initialize(h={})
|
1420
1653
|
|
@@ -1431,7 +1664,9 @@ class LaunchActivityAction < Action
|
|
1431
1664
|
|
1432
1665
|
end
|
1433
1666
|
|
1434
|
-
|
1667
|
+
# Category: Applications
|
1668
|
+
#
|
1669
|
+
class KillBackgroundAppAction < ApplicationAction
|
1435
1670
|
|
1436
1671
|
def initialize(h={})
|
1437
1672
|
|
@@ -1446,7 +1681,9 @@ class KillBackgroundAppAction < Action
|
|
1446
1681
|
|
1447
1682
|
end
|
1448
1683
|
|
1449
|
-
|
1684
|
+
# Category: Applications
|
1685
|
+
#
|
1686
|
+
class OpenWebPageAction < ApplicationAction
|
1450
1687
|
|
1451
1688
|
def initialize(h={})
|
1452
1689
|
|
@@ -1464,7 +1701,19 @@ class OpenWebPageAction < Action
|
|
1464
1701
|
|
1465
1702
|
end
|
1466
1703
|
|
1467
|
-
|
1704
|
+
|
1705
|
+
class CameraAction < Action
|
1706
|
+
|
1707
|
+
def initialize(h={})
|
1708
|
+
super(h)
|
1709
|
+
@group = 'camera'
|
1710
|
+
end
|
1711
|
+
|
1712
|
+
end
|
1713
|
+
|
1714
|
+
# Category: Camera/Photo
|
1715
|
+
#
|
1716
|
+
class UploadPhotoAction < CameraAction
|
1468
1717
|
|
1469
1718
|
def initialize(h={})
|
1470
1719
|
|
@@ -1479,7 +1728,9 @@ class UploadPhotoAction < Action
|
|
1479
1728
|
|
1480
1729
|
end
|
1481
1730
|
|
1482
|
-
|
1731
|
+
# Category: Camera/Photo
|
1732
|
+
#
|
1733
|
+
class TakePictureAction < CameraAction
|
1483
1734
|
|
1484
1735
|
def initialize(h={})
|
1485
1736
|
|
@@ -1497,7 +1748,19 @@ class TakePictureAction < Action
|
|
1497
1748
|
|
1498
1749
|
end
|
1499
1750
|
|
1500
|
-
|
1751
|
+
|
1752
|
+
class ConnectivityAction < Action
|
1753
|
+
|
1754
|
+
def initialize(h={})
|
1755
|
+
super(h)
|
1756
|
+
@group = 'connectivity'
|
1757
|
+
end
|
1758
|
+
|
1759
|
+
end
|
1760
|
+
|
1761
|
+
# Category: Connectivity
|
1762
|
+
#
|
1763
|
+
class SetWifiAction < ConnectivityAction
|
1501
1764
|
|
1502
1765
|
def initialize(h={})
|
1503
1766
|
|
@@ -1513,7 +1776,9 @@ class SetWifiAction < Action
|
|
1513
1776
|
|
1514
1777
|
end
|
1515
1778
|
|
1516
|
-
|
1779
|
+
# Category: Connectivity
|
1780
|
+
#
|
1781
|
+
class SetBluetoothAction < ConnectivityAction
|
1517
1782
|
|
1518
1783
|
def initialize(h={})
|
1519
1784
|
|
@@ -1528,7 +1793,9 @@ class SetBluetoothAction < Action
|
|
1528
1793
|
|
1529
1794
|
end
|
1530
1795
|
|
1531
|
-
|
1796
|
+
# Category: Connectivity
|
1797
|
+
#
|
1798
|
+
class SetBluetoothAction < ConnectivityAction
|
1532
1799
|
|
1533
1800
|
def initialize(h={})
|
1534
1801
|
|
@@ -1543,7 +1810,9 @@ class SetBluetoothAction < Action
|
|
1543
1810
|
|
1544
1811
|
end
|
1545
1812
|
|
1546
|
-
|
1813
|
+
# Category: Connectivity
|
1814
|
+
#
|
1815
|
+
class SendIntentAction < ConnectivityAction
|
1547
1816
|
|
1548
1817
|
def initialize(h={})
|
1549
1818
|
|
@@ -1569,7 +1838,19 @@ class SendIntentAction < Action
|
|
1569
1838
|
|
1570
1839
|
end
|
1571
1840
|
|
1572
|
-
|
1841
|
+
|
1842
|
+
class DateTimeAction < Action
|
1843
|
+
|
1844
|
+
def initialize(h={})
|
1845
|
+
super(h)
|
1846
|
+
@group = 'datetime'
|
1847
|
+
end
|
1848
|
+
|
1849
|
+
end
|
1850
|
+
|
1851
|
+
# Category: Date/Time
|
1852
|
+
#
|
1853
|
+
class SetAlarmClockAction < DateTimeAction
|
1573
1854
|
|
1574
1855
|
def initialize(h={})
|
1575
1856
|
|
@@ -1592,7 +1873,9 @@ class SetAlarmClockAction < Action
|
|
1592
1873
|
|
1593
1874
|
end
|
1594
1875
|
|
1595
|
-
|
1876
|
+
# Category: Date/Time
|
1877
|
+
#
|
1878
|
+
class StopWatchAction < DateTimeAction
|
1596
1879
|
|
1597
1880
|
def initialize(h={})
|
1598
1881
|
|
@@ -1607,7 +1890,9 @@ class StopWatchAction < Action
|
|
1607
1890
|
|
1608
1891
|
end
|
1609
1892
|
|
1610
|
-
|
1893
|
+
# Category: Date/Time
|
1894
|
+
#
|
1895
|
+
class SayTimeAction < DateTimeAction
|
1611
1896
|
|
1612
1897
|
def initialize(h={})
|
1613
1898
|
|
@@ -1621,7 +1906,19 @@ class SayTimeAction < Action
|
|
1621
1906
|
|
1622
1907
|
end
|
1623
1908
|
|
1624
|
-
|
1909
|
+
|
1910
|
+
class DeviceAction < Action
|
1911
|
+
|
1912
|
+
def initialize(h={})
|
1913
|
+
super(h)
|
1914
|
+
@group = 'device'
|
1915
|
+
end
|
1916
|
+
|
1917
|
+
end
|
1918
|
+
|
1919
|
+
# Category: Device Actions
|
1920
|
+
#
|
1921
|
+
class AndroidShortcutsAction < DeviceAction
|
1625
1922
|
|
1626
1923
|
def initialize(h={})
|
1627
1924
|
|
@@ -1635,7 +1932,9 @@ class AndroidShortcutsAction < Action
|
|
1635
1932
|
|
1636
1933
|
end
|
1637
1934
|
|
1638
|
-
|
1935
|
+
# Category: Device Actions
|
1936
|
+
#
|
1937
|
+
class ClipboardAction < DeviceAction
|
1639
1938
|
|
1640
1939
|
def initialize(h={})
|
1641
1940
|
|
@@ -1649,7 +1948,9 @@ class ClipboardAction < Action
|
|
1649
1948
|
|
1650
1949
|
end
|
1651
1950
|
|
1652
|
-
|
1951
|
+
# Category: Device Actions
|
1952
|
+
#
|
1953
|
+
class PressBackAction < DeviceAction
|
1653
1954
|
|
1654
1955
|
def initialize(h={})
|
1655
1956
|
|
@@ -1662,7 +1963,9 @@ class PressBackAction < Action
|
|
1662
1963
|
|
1663
1964
|
end
|
1664
1965
|
|
1665
|
-
|
1966
|
+
# Category: Device Actions
|
1967
|
+
#
|
1968
|
+
class SpeakTextAction < DeviceAction
|
1666
1969
|
|
1667
1970
|
def initialize(h={})
|
1668
1971
|
|
@@ -1683,7 +1986,9 @@ class SpeakTextAction < Action
|
|
1683
1986
|
|
1684
1987
|
end
|
1685
1988
|
|
1686
|
-
|
1989
|
+
# Category: Device Actions
|
1990
|
+
#
|
1991
|
+
class UIInteractionAction < DeviceAction
|
1687
1992
|
|
1688
1993
|
def initialize(h={})
|
1689
1994
|
|
@@ -1698,7 +2003,9 @@ class UIInteractionAction < Action
|
|
1698
2003
|
|
1699
2004
|
end
|
1700
2005
|
|
1701
|
-
|
2006
|
+
# Category: Device Actions
|
2007
|
+
#
|
2008
|
+
class VoiceSearchAction < DeviceAction
|
1702
2009
|
|
1703
2010
|
def initialize(h={})
|
1704
2011
|
|
@@ -1711,7 +2018,19 @@ class VoiceSearchAction < Action
|
|
1711
2018
|
|
1712
2019
|
end
|
1713
2020
|
|
1714
|
-
|
2021
|
+
|
2022
|
+
class DeviceSettingsAction < Action
|
2023
|
+
|
2024
|
+
def initialize(h={})
|
2025
|
+
super(h)
|
2026
|
+
@group = 'devicesettings'
|
2027
|
+
end
|
2028
|
+
|
2029
|
+
end
|
2030
|
+
|
2031
|
+
# Category: Device Settings
|
2032
|
+
#
|
2033
|
+
class ExpandCollapseStatusBarAction < DeviceSettingsAction
|
1715
2034
|
|
1716
2035
|
def initialize(h={})
|
1717
2036
|
|
@@ -1725,7 +2044,9 @@ class ExpandCollapseStatusBarAction < Action
|
|
1725
2044
|
|
1726
2045
|
end
|
1727
2046
|
|
1728
|
-
|
2047
|
+
# Category: Device Settings
|
2048
|
+
#
|
2049
|
+
class LaunchHomeScreenAction < DeviceSettingsAction
|
1729
2050
|
|
1730
2051
|
def initialize(h={})
|
1731
2052
|
|
@@ -1738,7 +2059,9 @@ class LaunchHomeScreenAction < Action
|
|
1738
2059
|
|
1739
2060
|
end
|
1740
2061
|
|
1741
|
-
|
2062
|
+
# Category: Device Settings
|
2063
|
+
#
|
2064
|
+
class CameraFlashLightAction < DeviceSettingsAction
|
1742
2065
|
|
1743
2066
|
def initialize(h={})
|
1744
2067
|
|
@@ -1753,7 +2076,9 @@ class CameraFlashLightAction < Action
|
|
1753
2076
|
|
1754
2077
|
end
|
1755
2078
|
|
1756
|
-
|
2079
|
+
# Category: Device Settings
|
2080
|
+
#
|
2081
|
+
class VibrateAction < DeviceSettingsAction
|
1757
2082
|
|
1758
2083
|
def initialize(h={})
|
1759
2084
|
|
@@ -1767,7 +2092,9 @@ class VibrateAction < Action
|
|
1767
2092
|
|
1768
2093
|
end
|
1769
2094
|
|
1770
|
-
|
2095
|
+
# Category: Device Settings
|
2096
|
+
#
|
2097
|
+
class SetAutoRotateAction < DeviceSettingsAction
|
1771
2098
|
|
1772
2099
|
def initialize(h={})
|
1773
2100
|
|
@@ -1781,7 +2108,9 @@ class SetAutoRotateAction < Action
|
|
1781
2108
|
|
1782
2109
|
end
|
1783
2110
|
|
1784
|
-
|
2111
|
+
# Category: Device Settings
|
2112
|
+
#
|
2113
|
+
class DayDreamAction < DeviceSettingsAction
|
1785
2114
|
|
1786
2115
|
def initialize(h={})
|
1787
2116
|
|
@@ -1794,7 +2123,9 @@ class DayDreamAction < Action
|
|
1794
2123
|
|
1795
2124
|
end
|
1796
2125
|
|
1797
|
-
|
2126
|
+
# Category: Device Settings
|
2127
|
+
#
|
2128
|
+
class SetKeyboardAction < DeviceSettingsAction
|
1798
2129
|
|
1799
2130
|
def initialize(h={})
|
1800
2131
|
|
@@ -1807,7 +2138,9 @@ class SetKeyboardAction < Action
|
|
1807
2138
|
|
1808
2139
|
end
|
1809
2140
|
|
1810
|
-
|
2141
|
+
# Category: Device Settings
|
2142
|
+
#
|
2143
|
+
class SetKeyguardAction < DeviceSettingsAction
|
1811
2144
|
|
1812
2145
|
def initialize(h={})
|
1813
2146
|
|
@@ -1821,7 +2154,9 @@ class SetKeyguardAction < Action
|
|
1821
2154
|
|
1822
2155
|
end
|
1823
2156
|
|
1824
|
-
|
2157
|
+
# Category: Device Settings
|
2158
|
+
#
|
2159
|
+
class CarModeAction < DeviceSettingsAction
|
1825
2160
|
|
1826
2161
|
def initialize(h={})
|
1827
2162
|
|
@@ -1835,7 +2170,9 @@ class CarModeAction < Action
|
|
1835
2170
|
|
1836
2171
|
end
|
1837
2172
|
|
1838
|
-
|
2173
|
+
# Category: Device Settings
|
2174
|
+
#
|
2175
|
+
class ChangeKeyboardAction < DeviceSettingsAction
|
1839
2176
|
|
1840
2177
|
def initialize(h={})
|
1841
2178
|
|
@@ -1850,7 +2187,9 @@ class ChangeKeyboardAction < Action
|
|
1850
2187
|
|
1851
2188
|
end
|
1852
2189
|
|
1853
|
-
|
2190
|
+
# Category: Device Settings
|
2191
|
+
#
|
2192
|
+
class SetWallpaperAction < DeviceSettingsAction
|
1854
2193
|
|
1855
2194
|
def initialize(h={})
|
1856
2195
|
|
@@ -1869,7 +2208,18 @@ class SetWallpaperAction < Action
|
|
1869
2208
|
|
1870
2209
|
end
|
1871
2210
|
|
1872
|
-
class
|
2211
|
+
class FileAction < Action
|
2212
|
+
|
2213
|
+
def initialize(h={})
|
2214
|
+
super(h)
|
2215
|
+
@group = 'file'
|
2216
|
+
end
|
2217
|
+
|
2218
|
+
end
|
2219
|
+
|
2220
|
+
# Category: Files
|
2221
|
+
#
|
2222
|
+
class OpenFileAction < FileAction
|
1873
2223
|
|
1874
2224
|
def initialize(h={})
|
1875
2225
|
|
@@ -1886,7 +2236,19 @@ class OpenFileAction < Action
|
|
1886
2236
|
|
1887
2237
|
end
|
1888
2238
|
|
1889
|
-
|
2239
|
+
|
2240
|
+
class LocationAction < Action
|
2241
|
+
|
2242
|
+
def initialize(h={})
|
2243
|
+
super(h)
|
2244
|
+
@group = 'location'
|
2245
|
+
end
|
2246
|
+
|
2247
|
+
end
|
2248
|
+
|
2249
|
+
# Category: Location
|
2250
|
+
#
|
2251
|
+
class ForceLocationUpdateAction < LocationAction
|
1890
2252
|
|
1891
2253
|
def initialize(h={})
|
1892
2254
|
|
@@ -1899,7 +2261,9 @@ class ForceLocationUpdateAction < Action
|
|
1899
2261
|
|
1900
2262
|
end
|
1901
2263
|
|
1902
|
-
|
2264
|
+
# Category: Location
|
2265
|
+
#
|
2266
|
+
class ShareLocationAction < LocationAction
|
1903
2267
|
|
1904
2268
|
def initialize(h={})
|
1905
2269
|
|
@@ -1917,7 +2281,9 @@ class ShareLocationAction < Action
|
|
1917
2281
|
|
1918
2282
|
end
|
1919
2283
|
|
1920
|
-
|
2284
|
+
# Category: Location
|
2285
|
+
#
|
2286
|
+
class SetLocationUpdateRateAction < LocationAction
|
1921
2287
|
|
1922
2288
|
def initialize(h={})
|
1923
2289
|
|
@@ -1932,7 +2298,18 @@ class SetLocationUpdateRateAction < Action
|
|
1932
2298
|
|
1933
2299
|
end
|
1934
2300
|
|
1935
|
-
class
|
2301
|
+
class LoggingAction < Action
|
2302
|
+
|
2303
|
+
def initialize(h={})
|
2304
|
+
super(h)
|
2305
|
+
@group = 'logging'
|
2306
|
+
end
|
2307
|
+
|
2308
|
+
end
|
2309
|
+
|
2310
|
+
# Category: Logging
|
2311
|
+
#
|
2312
|
+
class AddCalendarEntryAction < LoggingAction
|
1936
2313
|
|
1937
2314
|
def initialize(h={})
|
1938
2315
|
|
@@ -1959,7 +2336,9 @@ class AddCalendarEntryAction < Action
|
|
1959
2336
|
|
1960
2337
|
end
|
1961
2338
|
|
1962
|
-
|
2339
|
+
# Category: Logging
|
2340
|
+
#
|
2341
|
+
class LogAction < LoggingAction
|
1963
2342
|
|
1964
2343
|
def initialize(h={})
|
1965
2344
|
|
@@ -1974,7 +2353,9 @@ class LogAction < Action
|
|
1974
2353
|
|
1975
2354
|
end
|
1976
2355
|
|
1977
|
-
|
2356
|
+
# Category: Logging
|
2357
|
+
#
|
2358
|
+
class ClearLogAction < LoggingAction
|
1978
2359
|
|
1979
2360
|
def initialize(h={})
|
1980
2361
|
|
@@ -1988,24 +2369,18 @@ class ClearLogAction < Action
|
|
1988
2369
|
|
1989
2370
|
end
|
1990
2371
|
|
1991
|
-
class
|
1992
|
-
|
2372
|
+
class MediaAction < Action
|
2373
|
+
|
1993
2374
|
def initialize(h={})
|
1994
|
-
|
1995
|
-
|
1996
|
-
path: '',
|
1997
|
-
record_time_string: 'Until Cancelled',
|
1998
|
-
recording_format: 0,
|
1999
|
-
seconds_to_record_for: -1
|
2000
|
-
}
|
2001
|
-
|
2002
|
-
super(options.merge h)
|
2003
|
-
|
2375
|
+
super(h)
|
2376
|
+
@group = 'media'
|
2004
2377
|
end
|
2005
|
-
|
2378
|
+
|
2006
2379
|
end
|
2007
2380
|
|
2008
|
-
|
2381
|
+
# Category: Media
|
2382
|
+
#
|
2383
|
+
class RecordMicrophoneAction < MediaAction
|
2009
2384
|
|
2010
2385
|
def initialize(h={})
|
2011
2386
|
|
@@ -2022,7 +2397,9 @@ class RecordMicrophoneAction < Action
|
|
2022
2397
|
|
2023
2398
|
end
|
2024
2399
|
|
2025
|
-
|
2400
|
+
# Category: Media
|
2401
|
+
#
|
2402
|
+
class PlaySoundAction < MediaAction
|
2026
2403
|
|
2027
2404
|
def initialize(h={})
|
2028
2405
|
|
@@ -2038,7 +2415,18 @@ class PlaySoundAction < Action
|
|
2038
2415
|
end
|
2039
2416
|
|
2040
2417
|
|
2041
|
-
class
|
2418
|
+
class MessagingAction < Action
|
2419
|
+
|
2420
|
+
def initialize(h={})
|
2421
|
+
super(h)
|
2422
|
+
@group = 'messaging'
|
2423
|
+
end
|
2424
|
+
|
2425
|
+
end
|
2426
|
+
|
2427
|
+
# Category: Messaging
|
2428
|
+
#
|
2429
|
+
class SendEmailAction < MessagingAction
|
2042
2430
|
|
2043
2431
|
def initialize(h={})
|
2044
2432
|
|
@@ -2058,7 +2446,9 @@ class SendEmailAction < Action
|
|
2058
2446
|
|
2059
2447
|
end
|
2060
2448
|
|
2061
|
-
|
2449
|
+
# Category: Messaging
|
2450
|
+
#
|
2451
|
+
class SendSMSAction < MessagingAction
|
2062
2452
|
|
2063
2453
|
def initialize(h={})
|
2064
2454
|
|
@@ -2077,7 +2467,9 @@ class SendSMSAction < Action
|
|
2077
2467
|
|
2078
2468
|
end
|
2079
2469
|
|
2080
|
-
|
2470
|
+
# Category: Messaging
|
2471
|
+
#
|
2472
|
+
class UDPCommandAction < MessagingAction
|
2081
2473
|
|
2082
2474
|
def initialize(h={})
|
2083
2475
|
|
@@ -2093,7 +2485,19 @@ class UDPCommandAction < Action
|
|
2093
2485
|
|
2094
2486
|
end
|
2095
2487
|
|
2096
|
-
|
2488
|
+
|
2489
|
+
class NotificationsAction < Action
|
2490
|
+
|
2491
|
+
def initialize(h={})
|
2492
|
+
super(h)
|
2493
|
+
@group = 'notifications'
|
2494
|
+
end
|
2495
|
+
|
2496
|
+
end
|
2497
|
+
|
2498
|
+
# Category: Notifications
|
2499
|
+
#
|
2500
|
+
class ClearNotificationsAction < NotificationsAction
|
2097
2501
|
|
2098
2502
|
def initialize(h={})
|
2099
2503
|
|
@@ -2115,7 +2519,9 @@ class ClearNotificationsAction < Action
|
|
2115
2519
|
|
2116
2520
|
end
|
2117
2521
|
|
2118
|
-
|
2522
|
+
# Category: Notifications
|
2523
|
+
#
|
2524
|
+
class MessageDialogAction < NotificationsAction
|
2119
2525
|
|
2120
2526
|
def initialize(h={})
|
2121
2527
|
|
@@ -2140,7 +2546,9 @@ class MessageDialogAction < Action
|
|
2140
2546
|
|
2141
2547
|
end
|
2142
2548
|
|
2143
|
-
|
2549
|
+
# Category: Notifications
|
2550
|
+
#
|
2551
|
+
class AllowLEDNotificationLightAction < NotificationsAction
|
2144
2552
|
|
2145
2553
|
def initialize(h={})
|
2146
2554
|
|
@@ -2154,7 +2562,9 @@ class AllowLEDNotificationLightAction < Action
|
|
2154
2562
|
|
2155
2563
|
end
|
2156
2564
|
|
2157
|
-
|
2565
|
+
# Category: Notifications
|
2566
|
+
#
|
2567
|
+
class SetNotificationSoundAction < NotificationsAction
|
2158
2568
|
|
2159
2569
|
def initialize(h={})
|
2160
2570
|
|
@@ -2168,7 +2578,9 @@ class SetNotificationSoundAction < Action
|
|
2168
2578
|
|
2169
2579
|
end
|
2170
2580
|
|
2171
|
-
|
2581
|
+
# Category: Notifications
|
2582
|
+
#
|
2583
|
+
class SetNotificationSoundAction < NotificationsAction
|
2172
2584
|
|
2173
2585
|
def initialize(h={})
|
2174
2586
|
|
@@ -2182,7 +2594,9 @@ class SetNotificationSoundAction < Action
|
|
2182
2594
|
|
2183
2595
|
end
|
2184
2596
|
|
2185
|
-
|
2597
|
+
# Category: Notifications
|
2598
|
+
#
|
2599
|
+
class SetNotificationSoundAction < NotificationsAction
|
2186
2600
|
|
2187
2601
|
def initialize(h={})
|
2188
2602
|
|
@@ -2196,7 +2610,9 @@ class SetNotificationSoundAction < Action
|
|
2196
2610
|
|
2197
2611
|
end
|
2198
2612
|
|
2199
|
-
|
2613
|
+
# Category: Notifications
|
2614
|
+
#
|
2615
|
+
class NotificationAction < NotificationsAction
|
2200
2616
|
|
2201
2617
|
def initialize(h={})
|
2202
2618
|
|
@@ -2220,7 +2636,9 @@ class NotificationAction < Action
|
|
2220
2636
|
|
2221
2637
|
end
|
2222
2638
|
|
2223
|
-
|
2639
|
+
# Category: Notifications
|
2640
|
+
#
|
2641
|
+
class ToastAction < NotificationsAction
|
2224
2642
|
|
2225
2643
|
def initialize(h={})
|
2226
2644
|
|
@@ -2243,10 +2661,26 @@ class ToastAction < Action
|
|
2243
2661
|
super(options.merge h)
|
2244
2662
|
|
2245
2663
|
end
|
2664
|
+
|
2665
|
+
def invoke()
|
2666
|
+
super(@h[:message_text])
|
2667
|
+
end
|
2246
2668
|
|
2247
2669
|
end
|
2248
2670
|
|
2249
|
-
|
2671
|
+
|
2672
|
+
class PhoneAction < Action
|
2673
|
+
|
2674
|
+
def initialize(h={})
|
2675
|
+
super(h)
|
2676
|
+
@group = 'phone'
|
2677
|
+
end
|
2678
|
+
|
2679
|
+
end
|
2680
|
+
|
2681
|
+
# Category: Phone
|
2682
|
+
#
|
2683
|
+
class AnswerCallAction < PhoneAction
|
2250
2684
|
|
2251
2685
|
def initialize(h={})
|
2252
2686
|
|
@@ -2260,7 +2694,9 @@ class AnswerCallAction < Action
|
|
2260
2694
|
|
2261
2695
|
end
|
2262
2696
|
|
2263
|
-
|
2697
|
+
# Category: Phone
|
2698
|
+
#
|
2699
|
+
class ClearCallLogAction < PhoneAction
|
2264
2700
|
|
2265
2701
|
def initialize(h={})
|
2266
2702
|
|
@@ -2276,7 +2712,9 @@ class ClearCallLogAction < Action
|
|
2276
2712
|
|
2277
2713
|
end
|
2278
2714
|
|
2279
|
-
|
2715
|
+
# Category: Phone
|
2716
|
+
#
|
2717
|
+
class OpenCallLogAction < PhoneAction
|
2280
2718
|
|
2281
2719
|
def initialize(h={})
|
2282
2720
|
|
@@ -2289,7 +2727,9 @@ class OpenCallLogAction < Action
|
|
2289
2727
|
|
2290
2728
|
end
|
2291
2729
|
|
2292
|
-
|
2730
|
+
# Category: Phone
|
2731
|
+
#
|
2732
|
+
class RejectCallAction < PhoneAction
|
2293
2733
|
|
2294
2734
|
def initialize(h={})
|
2295
2735
|
|
@@ -2302,7 +2742,9 @@ class RejectCallAction < Action
|
|
2302
2742
|
|
2303
2743
|
end
|
2304
2744
|
|
2305
|
-
|
2745
|
+
# Category: Phone
|
2746
|
+
#
|
2747
|
+
class MakeCallAction < PhoneAction
|
2306
2748
|
|
2307
2749
|
def initialize(h={})
|
2308
2750
|
|
@@ -2317,7 +2759,10 @@ class MakeCallAction < Action
|
|
2317
2759
|
|
2318
2760
|
end
|
2319
2761
|
|
2320
|
-
|
2762
|
+
|
2763
|
+
# Category: Phone
|
2764
|
+
#
|
2765
|
+
class SetRingtoneAction < PhoneAction
|
2321
2766
|
|
2322
2767
|
def initialize(h={})
|
2323
2768
|
|
@@ -2331,7 +2776,18 @@ class SetRingtoneAction < Action
|
|
2331
2776
|
|
2332
2777
|
end
|
2333
2778
|
|
2334
|
-
class
|
2779
|
+
class ScreenAction < Action
|
2780
|
+
|
2781
|
+
def initialize(h={})
|
2782
|
+
super(h)
|
2783
|
+
@group = 'screen'
|
2784
|
+
end
|
2785
|
+
|
2786
|
+
end
|
2787
|
+
|
2788
|
+
# Category: Screen
|
2789
|
+
#
|
2790
|
+
class SetBrightnessAction < ScreenAction
|
2335
2791
|
|
2336
2792
|
def initialize(h={})
|
2337
2793
|
|
@@ -2347,7 +2803,9 @@ class SetBrightnessAction < Action
|
|
2347
2803
|
|
2348
2804
|
end
|
2349
2805
|
|
2350
|
-
|
2806
|
+
# Category: Screen
|
2807
|
+
#
|
2808
|
+
class ForceScreenRotationAction < ScreenAction
|
2351
2809
|
|
2352
2810
|
def initialize(h={})
|
2353
2811
|
|
@@ -2361,7 +2819,9 @@ class ForceScreenRotationAction < Action
|
|
2361
2819
|
|
2362
2820
|
end
|
2363
2821
|
|
2364
|
-
|
2822
|
+
# Category: Screen
|
2823
|
+
#
|
2824
|
+
class ScreenOnAction < ScreenAction
|
2365
2825
|
|
2366
2826
|
def initialize(h={})
|
2367
2827
|
|
@@ -2378,7 +2838,9 @@ class ScreenOnAction < Action
|
|
2378
2838
|
|
2379
2839
|
end
|
2380
2840
|
|
2381
|
-
|
2841
|
+
# Category: Screen
|
2842
|
+
#
|
2843
|
+
class DimScreenAction < ScreenAction
|
2382
2844
|
|
2383
2845
|
def initialize(h={})
|
2384
2846
|
|
@@ -2393,7 +2855,9 @@ class DimScreenAction < Action
|
|
2393
2855
|
|
2394
2856
|
end
|
2395
2857
|
|
2396
|
-
|
2858
|
+
# Category: Screen
|
2859
|
+
#
|
2860
|
+
class KeepAwakeAction < ScreenAction
|
2397
2861
|
|
2398
2862
|
def initialize(h={})
|
2399
2863
|
|
@@ -2410,7 +2874,9 @@ class KeepAwakeAction < Action
|
|
2410
2874
|
|
2411
2875
|
end
|
2412
2876
|
|
2413
|
-
|
2877
|
+
# Category: Screen
|
2878
|
+
#
|
2879
|
+
class SetScreenTimeoutAction < ScreenAction
|
2414
2880
|
|
2415
2881
|
def initialize(h={})
|
2416
2882
|
|
@@ -2427,8 +2893,18 @@ class SetScreenTimeoutAction < Action
|
|
2427
2893
|
end
|
2428
2894
|
|
2429
2895
|
|
2896
|
+
class VolumeAction < Action
|
2897
|
+
|
2898
|
+
def initialize(h={})
|
2899
|
+
super(h)
|
2900
|
+
@group = 'volume'
|
2901
|
+
end
|
2902
|
+
|
2903
|
+
end
|
2430
2904
|
|
2431
|
-
|
2905
|
+
# Category: Volume
|
2906
|
+
#
|
2907
|
+
class SilentModeVibrateOffAction < VolumeAction
|
2432
2908
|
|
2433
2909
|
def initialize(h={})
|
2434
2910
|
|
@@ -2442,7 +2918,9 @@ class SilentModeVibrateOffAction < Action
|
|
2442
2918
|
|
2443
2919
|
end
|
2444
2920
|
|
2445
|
-
|
2921
|
+
# Category: Volume
|
2922
|
+
#
|
2923
|
+
class SetVibrateAction < VolumeAction
|
2446
2924
|
|
2447
2925
|
def initialize(h={})
|
2448
2926
|
|
@@ -2457,7 +2935,9 @@ class SetVibrateAction < Action
|
|
2457
2935
|
|
2458
2936
|
end
|
2459
2937
|
|
2460
|
-
|
2938
|
+
# Category: Volume
|
2939
|
+
#
|
2940
|
+
class VolumeIncrementDecrementAction < VolumeAction
|
2461
2941
|
|
2462
2942
|
def initialize(h={})
|
2463
2943
|
|
@@ -2471,7 +2951,9 @@ class VolumeIncrementDecrementAction < Action
|
|
2471
2951
|
|
2472
2952
|
end
|
2473
2953
|
|
2474
|
-
|
2954
|
+
# Category: Volume
|
2955
|
+
#
|
2956
|
+
class SpeakerPhoneAction < VolumeAction
|
2475
2957
|
|
2476
2958
|
def initialize(h={})
|
2477
2959
|
|
@@ -2486,8 +2968,9 @@ class SpeakerPhoneAction < Action
|
|
2486
2968
|
|
2487
2969
|
end
|
2488
2970
|
|
2489
|
-
|
2490
|
-
|
2971
|
+
# Category: Volume
|
2972
|
+
#
|
2973
|
+
class SetVolumeAction < VolumeAction
|
2491
2974
|
|
2492
2975
|
def initialize(h={})
|
2493
2976
|
|