ruby-macrodroid 0.4.1 → 0.5.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 +909 -12
- metadata +1 -1
- 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: fc528ce6042bfe75807bb76fcc73cc255b45b6fe0bf138d4a643a5facd7fdaf1
|
4
|
+
data.tar.gz: 294fed6fbe1ff71b05ea4384f9070e5795ceb1c41979bba419f89a4273164124
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 76925a5b3cba1509ec62635c04d5d796ded37f2e8cee958748a59c88938876129853adc91df55281e594b6c9043ba5f8fdaba2307a9ff4727d70cf611f4a2d8f
|
7
|
+
data.tar.gz: 55f01e2512265e988d14cc63f576d18a5cc6fdee2a3d109ed47b0ef54bf3d4947ca4064696e405619bb5c2b5e545866fa771d040a13964e205bd343c7b111325
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/ruby-macrodroid.rb
CHANGED
@@ -55,6 +55,29 @@ class ActionsNlp
|
|
55
55
|
|
56
56
|
end
|
57
57
|
|
58
|
+
class ConstraintsNlp
|
59
|
+
include AppRoutes
|
60
|
+
|
61
|
+
def initialize()
|
62
|
+
|
63
|
+
super()
|
64
|
+
params = {}
|
65
|
+
constraints(params)
|
66
|
+
|
67
|
+
end
|
68
|
+
|
69
|
+
def constraints(params)
|
70
|
+
|
71
|
+
get /^airplane mode (.*)/i do |state|
|
72
|
+
[AirplaneModeConstraint, {enabled: (state =~ /^enabled|on$/) == 0}]
|
73
|
+
end
|
74
|
+
|
75
|
+
end
|
76
|
+
|
77
|
+
alias find_constraint run_route
|
78
|
+
|
79
|
+
end
|
80
|
+
|
58
81
|
module Params
|
59
82
|
|
60
83
|
refine Hash do
|
@@ -112,19 +135,16 @@ class Macro
|
|
112
135
|
using ColouredText
|
113
136
|
using Params
|
114
137
|
|
115
|
-
attr_reader :local_variables, :triggers, :actions, :guid
|
138
|
+
attr_reader :local_variables, :triggers, :actions, :constraints, :guid
|
116
139
|
attr_accessor :title
|
117
140
|
|
118
141
|
def initialize(name=nil, debug: false)
|
119
142
|
|
120
143
|
@title, @debug = name, debug
|
121
144
|
|
122
|
-
puts 'inside Macro#initialize' if @debug
|
123
|
-
|
124
|
-
lv=[], triggers=[], actions=[]
|
125
|
-
@local_variables, @triggers, @actions = lv, triggers, actions
|
145
|
+
puts 'inside Macro#initialize' if @debug
|
126
146
|
|
127
|
-
@triggers, @actions, @constraints = [], [], []
|
147
|
+
@local_variables, @triggers, @actions, @constraints = [], [], [], []
|
128
148
|
@h = {}
|
129
149
|
|
130
150
|
end
|
@@ -156,7 +176,7 @@ class Macro
|
|
156
176
|
local_variables: @local_variables,
|
157
177
|
m_trigger_list: @triggers.map(&:to_h),
|
158
178
|
m_action_list: @actions.map(&:to_h),
|
159
|
-
m_constraint_list:
|
179
|
+
m_constraint_list: @constraints.map(&:to_h),
|
160
180
|
m_description: '',
|
161
181
|
m_name: @title,
|
162
182
|
m_excludeLog: false,
|
@@ -188,13 +208,15 @@ class Macro
|
|
188
208
|
object(action.to_snake_case)
|
189
209
|
end
|
190
210
|
|
191
|
-
# fetch the constraints
|
211
|
+
# fetch the constraints
|
212
|
+
@constraints = h[:constraint_list].map do |constraint|
|
213
|
+
object(constraint.to_snake_case)
|
214
|
+
end
|
192
215
|
|
193
216
|
@h = h
|
194
217
|
|
195
|
-
%i(local_variables m_trigger_list m_action_list)
|
196
|
-
@h[x] = []
|
197
|
-
end
|
218
|
+
%i(local_variables m_trigger_list m_action_list m_constraint_list)\
|
219
|
+
.each {|x| @h[x] = [] }
|
198
220
|
|
199
221
|
@h
|
200
222
|
|
@@ -235,6 +257,14 @@ class Macro
|
|
235
257
|
end
|
236
258
|
|
237
259
|
end
|
260
|
+
|
261
|
+
# get all the constraints
|
262
|
+
@constraints = node.xpath('constraints/*').map do |e|
|
263
|
+
|
264
|
+
puts 'e.name: ' + e.name.inspect if @debug
|
265
|
+
{airplanemode: AirplaneModeConstraint}[e.name.to_sym].new(e.attributes.to_h)
|
266
|
+
|
267
|
+
end
|
238
268
|
|
239
269
|
else
|
240
270
|
|
@@ -266,6 +296,19 @@ class Macro
|
|
266
296
|
end
|
267
297
|
|
268
298
|
end
|
299
|
+
|
300
|
+
cp = ConstraintsNlp.new
|
301
|
+
|
302
|
+
@constraints = node.xpath('constraint').map do |e|
|
303
|
+
|
304
|
+
r = cp.find_constraint e.text
|
305
|
+
puts 'found constraint ' + r.inspect if @debug
|
306
|
+
|
307
|
+
if r then
|
308
|
+
r[0].new(r[1])
|
309
|
+
end
|
310
|
+
|
311
|
+
end
|
269
312
|
|
270
313
|
end
|
271
314
|
|
@@ -439,8 +482,9 @@ class MacroDroid
|
|
439
482
|
lines.each {|line| h[line[0].to_sym] << line[/^\w: +(.*)/,1] }
|
440
483
|
triggers = h[:t].map {|text| [:trigger, {}, text]}
|
441
484
|
actions = h[:a].map {|text| [:action, {}, text]}
|
485
|
+
constraints = h[:c].map {|text| [:constraint, {}, text]}
|
442
486
|
|
443
|
-
[:macro, {name: name},'', *triggers, *actions]
|
487
|
+
[:macro, {name: name},'', *triggers, *actions, *constraints]
|
444
488
|
|
445
489
|
end
|
446
490
|
|
@@ -2995,3 +3039,856 @@ class Constraint < MacroObject
|
|
2995
3039
|
end
|
2996
3040
|
|
2997
3041
|
end
|
3042
|
+
|
3043
|
+
class TimeOfDayConstraint < Constraint
|
3044
|
+
|
3045
|
+
def initialize(h={})
|
3046
|
+
|
3047
|
+
options = {
|
3048
|
+
end_hour: 8,
|
3049
|
+
end_minute: 0,
|
3050
|
+
start_hour: 22,
|
3051
|
+
start_minute: 0
|
3052
|
+
}
|
3053
|
+
|
3054
|
+
super(options.merge h)
|
3055
|
+
|
3056
|
+
end
|
3057
|
+
|
3058
|
+
end
|
3059
|
+
|
3060
|
+
# Category: Battery/Power
|
3061
|
+
#
|
3062
|
+
class BatteryLevelConstraint < Constraint
|
3063
|
+
|
3064
|
+
def initialize(h={})
|
3065
|
+
|
3066
|
+
options = {
|
3067
|
+
battery_level: 23,
|
3068
|
+
equals: false,
|
3069
|
+
greater_than: false
|
3070
|
+
}
|
3071
|
+
|
3072
|
+
super(options.merge h)
|
3073
|
+
|
3074
|
+
end
|
3075
|
+
|
3076
|
+
end
|
3077
|
+
|
3078
|
+
# Category: Battery/Power
|
3079
|
+
#
|
3080
|
+
class BatterySaverStateConstraint < Constraint
|
3081
|
+
|
3082
|
+
def initialize(h={})
|
3083
|
+
|
3084
|
+
options = {
|
3085
|
+
option: 0
|
3086
|
+
}
|
3087
|
+
|
3088
|
+
super(options.merge h)
|
3089
|
+
|
3090
|
+
end
|
3091
|
+
|
3092
|
+
end
|
3093
|
+
|
3094
|
+
# Category: Battery/Power
|
3095
|
+
#
|
3096
|
+
class BatteryTemperatureConstraint < Constraint
|
3097
|
+
|
3098
|
+
def initialize(h={})
|
3099
|
+
|
3100
|
+
options = {
|
3101
|
+
equals: false,
|
3102
|
+
greater_than: false,
|
3103
|
+
temperature: 30
|
3104
|
+
}
|
3105
|
+
|
3106
|
+
super(options.merge h)
|
3107
|
+
|
3108
|
+
end
|
3109
|
+
|
3110
|
+
end
|
3111
|
+
|
3112
|
+
# Category: Battery/Power
|
3113
|
+
#
|
3114
|
+
class ExternalPowerConstraint < Constraint
|
3115
|
+
|
3116
|
+
def initialize(h={})
|
3117
|
+
|
3118
|
+
options = {
|
3119
|
+
external_power: true,
|
3120
|
+
power_connected_options: [false, true, false]
|
3121
|
+
}
|
3122
|
+
|
3123
|
+
super(options.merge h)
|
3124
|
+
|
3125
|
+
end
|
3126
|
+
|
3127
|
+
end
|
3128
|
+
|
3129
|
+
# Category: Connectivity
|
3130
|
+
#
|
3131
|
+
class BluetoothConstraint < Constraint
|
3132
|
+
|
3133
|
+
def initialize(h={})
|
3134
|
+
|
3135
|
+
options = {
|
3136
|
+
any_device: false,
|
3137
|
+
bt_state: 0,
|
3138
|
+
device_name: 'Any Device'
|
3139
|
+
}
|
3140
|
+
|
3141
|
+
super(options.merge h)
|
3142
|
+
|
3143
|
+
end
|
3144
|
+
|
3145
|
+
end
|
3146
|
+
|
3147
|
+
# Category: Connectivity
|
3148
|
+
#
|
3149
|
+
class GPSEnabledConstraint < Constraint
|
3150
|
+
|
3151
|
+
def initialize(h={})
|
3152
|
+
|
3153
|
+
options = {
|
3154
|
+
enabled: true
|
3155
|
+
}
|
3156
|
+
|
3157
|
+
super(options.merge h)
|
3158
|
+
|
3159
|
+
end
|
3160
|
+
|
3161
|
+
end
|
3162
|
+
|
3163
|
+
# Category: Connectivity
|
3164
|
+
#
|
3165
|
+
class LocationModeConstraint < Constraint
|
3166
|
+
|
3167
|
+
def initialize(h={})
|
3168
|
+
|
3169
|
+
options = {
|
3170
|
+
options: [false, false, false, true]
|
3171
|
+
}
|
3172
|
+
|
3173
|
+
super(options.merge h)
|
3174
|
+
|
3175
|
+
end
|
3176
|
+
|
3177
|
+
end
|
3178
|
+
|
3179
|
+
# Category: Connectivity
|
3180
|
+
#
|
3181
|
+
class SignalOnOffConstraint < Constraint
|
3182
|
+
|
3183
|
+
def initialize(h={})
|
3184
|
+
|
3185
|
+
options = {
|
3186
|
+
option: 0
|
3187
|
+
}
|
3188
|
+
|
3189
|
+
super(options.merge h)
|
3190
|
+
|
3191
|
+
end
|
3192
|
+
|
3193
|
+
end
|
3194
|
+
|
3195
|
+
# Category: Connectivity
|
3196
|
+
#
|
3197
|
+
class WifiConstraint < Constraint
|
3198
|
+
|
3199
|
+
def initialize(h={})
|
3200
|
+
|
3201
|
+
options = {
|
3202
|
+
ssid_list: [],
|
3203
|
+
wifi_state: 0
|
3204
|
+
}
|
3205
|
+
|
3206
|
+
super(options.merge h)
|
3207
|
+
|
3208
|
+
end
|
3209
|
+
|
3210
|
+
end
|
3211
|
+
|
3212
|
+
# Category: Connectivity
|
3213
|
+
#
|
3214
|
+
class CellTowerConstraint < Constraint
|
3215
|
+
|
3216
|
+
def initialize(h={})
|
3217
|
+
|
3218
|
+
options = {
|
3219
|
+
cell_group_name: 'test group',
|
3220
|
+
cell_ids: ["524,14,41070731"],
|
3221
|
+
in_range: true
|
3222
|
+
}
|
3223
|
+
|
3224
|
+
super(options.merge h)
|
3225
|
+
|
3226
|
+
end
|
3227
|
+
|
3228
|
+
end
|
3229
|
+
|
3230
|
+
# Category: Connectivity
|
3231
|
+
#
|
3232
|
+
class IsRoamingConstraint < Constraint
|
3233
|
+
|
3234
|
+
def initialize(h={})
|
3235
|
+
|
3236
|
+
options = {
|
3237
|
+
is_roaming: true
|
3238
|
+
}
|
3239
|
+
|
3240
|
+
super(options.merge h)
|
3241
|
+
|
3242
|
+
end
|
3243
|
+
|
3244
|
+
end
|
3245
|
+
|
3246
|
+
# Category: Connectivity
|
3247
|
+
#
|
3248
|
+
class DataOnOffConstraint < Constraint
|
3249
|
+
|
3250
|
+
def initialize(h={})
|
3251
|
+
|
3252
|
+
options = {
|
3253
|
+
data_on: true
|
3254
|
+
}
|
3255
|
+
|
3256
|
+
super(options.merge h)
|
3257
|
+
|
3258
|
+
end
|
3259
|
+
|
3260
|
+
end
|
3261
|
+
|
3262
|
+
# Category: Connectivity
|
3263
|
+
#
|
3264
|
+
class WifiHotSpotConstraint < Constraint
|
3265
|
+
|
3266
|
+
def initialize(h={})
|
3267
|
+
|
3268
|
+
options = {
|
3269
|
+
check_connections: false,
|
3270
|
+
comparison_value: 0,
|
3271
|
+
connected_count: 0,
|
3272
|
+
enabled: true
|
3273
|
+
}
|
3274
|
+
|
3275
|
+
super(options.merge h)
|
3276
|
+
|
3277
|
+
end
|
3278
|
+
|
3279
|
+
end
|
3280
|
+
|
3281
|
+
# Category: Date/Time
|
3282
|
+
#
|
3283
|
+
class CalendarConstraint < Constraint
|
3284
|
+
|
3285
|
+
def initialize(h={})
|
3286
|
+
|
3287
|
+
options = {
|
3288
|
+
enable_regex: false,
|
3289
|
+
availability: 0,
|
3290
|
+
calendar_id: '1',
|
3291
|
+
calendar_name: 'PC Sync',
|
3292
|
+
detail_text: '',
|
3293
|
+
entry_set: true,
|
3294
|
+
ignore_all_day: false,
|
3295
|
+
title_text: ''
|
3296
|
+
}
|
3297
|
+
|
3298
|
+
super(options.merge h)
|
3299
|
+
|
3300
|
+
end
|
3301
|
+
|
3302
|
+
end
|
3303
|
+
|
3304
|
+
# Category: Date/Time
|
3305
|
+
#
|
3306
|
+
class DayOfWeekConstraint < Constraint
|
3307
|
+
|
3308
|
+
def initialize(h={})
|
3309
|
+
|
3310
|
+
options = {
|
3311
|
+
days_of_week: [false, false, true, false, false, false, false]
|
3312
|
+
}
|
3313
|
+
|
3314
|
+
super(options.merge h)
|
3315
|
+
|
3316
|
+
end
|
3317
|
+
|
3318
|
+
end
|
3319
|
+
|
3320
|
+
# Category: Date/Time
|
3321
|
+
#
|
3322
|
+
class TimeOfDayConstraint < Constraint
|
3323
|
+
|
3324
|
+
def initialize(h={})
|
3325
|
+
|
3326
|
+
options = {
|
3327
|
+
end_hour: 1,
|
3328
|
+
end_minute: 1,
|
3329
|
+
start_hour: 21,
|
3330
|
+
start_minute: 58
|
3331
|
+
}
|
3332
|
+
|
3333
|
+
super(options.merge h)
|
3334
|
+
|
3335
|
+
end
|
3336
|
+
|
3337
|
+
end
|
3338
|
+
|
3339
|
+
# Category: Date/Time
|
3340
|
+
#
|
3341
|
+
class DayOfMonthConstraint < Constraint
|
3342
|
+
|
3343
|
+
def initialize(h={})
|
3344
|
+
|
3345
|
+
options = {
|
3346
|
+
day_names: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31"],
|
3347
|
+
days_of_month: [false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false]
|
3348
|
+
}
|
3349
|
+
|
3350
|
+
super(options.merge h)
|
3351
|
+
|
3352
|
+
end
|
3353
|
+
|
3354
|
+
end
|
3355
|
+
|
3356
|
+
# Category: Date/Time
|
3357
|
+
#
|
3358
|
+
class MonthOfYearConstraint < Constraint
|
3359
|
+
|
3360
|
+
def initialize(h={})
|
3361
|
+
|
3362
|
+
options = {
|
3363
|
+
months: [false, false, false, false, false, false, false, true, false, false, false, false]
|
3364
|
+
}
|
3365
|
+
|
3366
|
+
super(options.merge h)
|
3367
|
+
|
3368
|
+
end
|
3369
|
+
|
3370
|
+
end
|
3371
|
+
|
3372
|
+
# Category: Date/Time
|
3373
|
+
#
|
3374
|
+
class SunsetSunriseConstraint < Constraint
|
3375
|
+
|
3376
|
+
def initialize(h={})
|
3377
|
+
|
3378
|
+
options = {
|
3379
|
+
option: 0
|
3380
|
+
}
|
3381
|
+
|
3382
|
+
super(options.merge h)
|
3383
|
+
|
3384
|
+
end
|
3385
|
+
|
3386
|
+
end
|
3387
|
+
|
3388
|
+
# Category: Device State
|
3389
|
+
#
|
3390
|
+
class AirplaneModeConstraint < Constraint
|
3391
|
+
|
3392
|
+
def initialize(h={})
|
3393
|
+
|
3394
|
+
options = {
|
3395
|
+
enabled: true
|
3396
|
+
}
|
3397
|
+
|
3398
|
+
super(options.merge h)
|
3399
|
+
|
3400
|
+
end
|
3401
|
+
|
3402
|
+
end
|
3403
|
+
|
3404
|
+
# Category: Device State
|
3405
|
+
#
|
3406
|
+
class AutoRotateConstraint < Constraint
|
3407
|
+
|
3408
|
+
def initialize(h={})
|
3409
|
+
|
3410
|
+
options = {
|
3411
|
+
enabled: true
|
3412
|
+
}
|
3413
|
+
|
3414
|
+
super(options.merge h)
|
3415
|
+
|
3416
|
+
end
|
3417
|
+
|
3418
|
+
end
|
3419
|
+
|
3420
|
+
# Category: Device State
|
3421
|
+
#
|
3422
|
+
class DeviceLockedConstraint < Constraint
|
3423
|
+
|
3424
|
+
def initialize(h={})
|
3425
|
+
|
3426
|
+
options = {
|
3427
|
+
locked: true
|
3428
|
+
}
|
3429
|
+
|
3430
|
+
super(options.merge h)
|
3431
|
+
|
3432
|
+
end
|
3433
|
+
|
3434
|
+
end
|
3435
|
+
|
3436
|
+
# Category: Device State
|
3437
|
+
#
|
3438
|
+
class RoamingOnOffConstraint < Constraint
|
3439
|
+
|
3440
|
+
def initialize(h={})
|
3441
|
+
|
3442
|
+
options = {
|
3443
|
+
roaming_on: true
|
3444
|
+
}
|
3445
|
+
|
3446
|
+
super(options.merge h)
|
3447
|
+
|
3448
|
+
end
|
3449
|
+
|
3450
|
+
end
|
3451
|
+
|
3452
|
+
# Category: Device State
|
3453
|
+
#
|
3454
|
+
class TimeSinceBootConstraint < Constraint
|
3455
|
+
|
3456
|
+
def initialize(h={})
|
3457
|
+
|
3458
|
+
options = {
|
3459
|
+
less_than: true,
|
3460
|
+
time_period_seconds: 10921
|
3461
|
+
}
|
3462
|
+
|
3463
|
+
super(options.merge h)
|
3464
|
+
|
3465
|
+
end
|
3466
|
+
|
3467
|
+
end
|
3468
|
+
|
3469
|
+
# Category: Device State
|
3470
|
+
#
|
3471
|
+
class AutoSyncConstraint < Constraint
|
3472
|
+
|
3473
|
+
def initialize(h={})
|
3474
|
+
|
3475
|
+
options = {
|
3476
|
+
enabled: false
|
3477
|
+
}
|
3478
|
+
|
3479
|
+
super(options.merge h)
|
3480
|
+
|
3481
|
+
end
|
3482
|
+
|
3483
|
+
end
|
3484
|
+
|
3485
|
+
# Category: Device State
|
3486
|
+
#
|
3487
|
+
class NFCStateConstraint < Constraint
|
3488
|
+
|
3489
|
+
def initialize(h={})
|
3490
|
+
|
3491
|
+
options = {
|
3492
|
+
enabled: true
|
3493
|
+
}
|
3494
|
+
|
3495
|
+
super(options.merge h)
|
3496
|
+
|
3497
|
+
end
|
3498
|
+
|
3499
|
+
end
|
3500
|
+
|
3501
|
+
# Category: Device State
|
3502
|
+
#
|
3503
|
+
class IsRootedConstraint < Constraint
|
3504
|
+
|
3505
|
+
def initialize(h={})
|
3506
|
+
|
3507
|
+
options = {
|
3508
|
+
rooted: true
|
3509
|
+
}
|
3510
|
+
|
3511
|
+
super(options.merge h)
|
3512
|
+
|
3513
|
+
end
|
3514
|
+
|
3515
|
+
end
|
3516
|
+
|
3517
|
+
# Category: Device State
|
3518
|
+
#
|
3519
|
+
class VpnConstraint < Constraint
|
3520
|
+
|
3521
|
+
def initialize(h={})
|
3522
|
+
|
3523
|
+
options = {
|
3524
|
+
option: 0
|
3525
|
+
}
|
3526
|
+
|
3527
|
+
super(options.merge h)
|
3528
|
+
|
3529
|
+
end
|
3530
|
+
|
3531
|
+
end
|
3532
|
+
|
3533
|
+
# Category: MacroDroid Specific
|
3534
|
+
#
|
3535
|
+
class MacroEnabledConstraint < Constraint
|
3536
|
+
|
3537
|
+
def initialize(h={})
|
3538
|
+
|
3539
|
+
options = {
|
3540
|
+
enabled: true,
|
3541
|
+
macro_ids: [-8016812002629322290],
|
3542
|
+
macro_names: ["Intruder photo "]
|
3543
|
+
}
|
3544
|
+
|
3545
|
+
super(options.merge h)
|
3546
|
+
|
3547
|
+
end
|
3548
|
+
|
3549
|
+
end
|
3550
|
+
|
3551
|
+
# Category: MacroDroid Specific
|
3552
|
+
#
|
3553
|
+
class ModeConstraint < Constraint
|
3554
|
+
|
3555
|
+
def initialize(h={})
|
3556
|
+
|
3557
|
+
options = {
|
3558
|
+
mode: 'Away',
|
3559
|
+
mode_selected: true
|
3560
|
+
}
|
3561
|
+
|
3562
|
+
super(options.merge h)
|
3563
|
+
|
3564
|
+
end
|
3565
|
+
|
3566
|
+
end
|
3567
|
+
|
3568
|
+
# Category: MacroDroid Specific
|
3569
|
+
#
|
3570
|
+
class TriggerThatInvokedConstraint < Constraint
|
3571
|
+
|
3572
|
+
def initialize(h={})
|
3573
|
+
|
3574
|
+
options = {
|
3575
|
+
not: false,
|
3576
|
+
si_guid_that_invoked: -4951291100076165433,
|
3577
|
+
trigger_name: 'Shake Device'
|
3578
|
+
}
|
3579
|
+
|
3580
|
+
super(options.merge h)
|
3581
|
+
|
3582
|
+
end
|
3583
|
+
|
3584
|
+
end
|
3585
|
+
|
3586
|
+
# Category: MacroDroid Specific
|
3587
|
+
#
|
3588
|
+
class LastRunTimeConstraint < Constraint
|
3589
|
+
|
3590
|
+
def initialize(h={})
|
3591
|
+
|
3592
|
+
options = {
|
3593
|
+
check_this_macro: false,
|
3594
|
+
invoked: true,
|
3595
|
+
macro_ids: [-6922688338672048267],
|
3596
|
+
macro_names: ["Opendoor"],
|
3597
|
+
time_period_seconds: 7260
|
3598
|
+
}
|
3599
|
+
|
3600
|
+
super(options.merge h)
|
3601
|
+
|
3602
|
+
end
|
3603
|
+
|
3604
|
+
end
|
3605
|
+
|
3606
|
+
# Category: Media
|
3607
|
+
#
|
3608
|
+
class HeadphonesConnectionConstraint < Constraint
|
3609
|
+
|
3610
|
+
def initialize(h={})
|
3611
|
+
|
3612
|
+
options = {
|
3613
|
+
connected: true
|
3614
|
+
}
|
3615
|
+
|
3616
|
+
super(options.merge h)
|
3617
|
+
|
3618
|
+
end
|
3619
|
+
|
3620
|
+
end
|
3621
|
+
|
3622
|
+
# Category: Media
|
3623
|
+
#
|
3624
|
+
class MusicActiveConstraint < Constraint
|
3625
|
+
|
3626
|
+
def initialize(h={})
|
3627
|
+
|
3628
|
+
options = {
|
3629
|
+
music_active: true
|
3630
|
+
}
|
3631
|
+
|
3632
|
+
super(options.merge h)
|
3633
|
+
|
3634
|
+
end
|
3635
|
+
|
3636
|
+
end
|
3637
|
+
|
3638
|
+
# Category: Notification
|
3639
|
+
#
|
3640
|
+
class NotificationPresentConstraint < Constraint
|
3641
|
+
|
3642
|
+
def initialize(h={})
|
3643
|
+
|
3644
|
+
options = {
|
3645
|
+
enable_regex: false,
|
3646
|
+
application_name_list: ["All applications"],
|
3647
|
+
exact_match: false,
|
3648
|
+
excludes: false,
|
3649
|
+
excludes_apps: -1,
|
3650
|
+
option: 0,
|
3651
|
+
package_name_list: ["allApplications"],
|
3652
|
+
text_content: ''
|
3653
|
+
}
|
3654
|
+
|
3655
|
+
super(options.merge h)
|
3656
|
+
|
3657
|
+
end
|
3658
|
+
|
3659
|
+
end
|
3660
|
+
|
3661
|
+
# Category: Notification
|
3662
|
+
#
|
3663
|
+
class PriorityModeConstraint < Constraint
|
3664
|
+
|
3665
|
+
def initialize(h={})
|
3666
|
+
|
3667
|
+
options = {
|
3668
|
+
in_mode: true,
|
3669
|
+
selected_index: 0
|
3670
|
+
}
|
3671
|
+
|
3672
|
+
super(options.merge h)
|
3673
|
+
|
3674
|
+
end
|
3675
|
+
|
3676
|
+
end
|
3677
|
+
|
3678
|
+
# Category: Notification
|
3679
|
+
#
|
3680
|
+
class NotificationVolumeConstraint < Constraint
|
3681
|
+
|
3682
|
+
def initialize(h={})
|
3683
|
+
|
3684
|
+
options = {
|
3685
|
+
option: 1
|
3686
|
+
}
|
3687
|
+
|
3688
|
+
super(options.merge h)
|
3689
|
+
|
3690
|
+
end
|
3691
|
+
|
3692
|
+
end
|
3693
|
+
|
3694
|
+
# Category: Phone
|
3695
|
+
#
|
3696
|
+
class InCallConstraint < Constraint
|
3697
|
+
|
3698
|
+
def initialize(h={})
|
3699
|
+
|
3700
|
+
options = {
|
3701
|
+
in_call: true
|
3702
|
+
}
|
3703
|
+
|
3704
|
+
super(options.merge h)
|
3705
|
+
|
3706
|
+
end
|
3707
|
+
|
3708
|
+
end
|
3709
|
+
|
3710
|
+
# Category: Phone
|
3711
|
+
#
|
3712
|
+
class PhoneRingingConstraint < Constraint
|
3713
|
+
|
3714
|
+
def initialize(h={})
|
3715
|
+
|
3716
|
+
options = {
|
3717
|
+
ringing: true
|
3718
|
+
}
|
3719
|
+
|
3720
|
+
super(options.merge h)
|
3721
|
+
|
3722
|
+
end
|
3723
|
+
|
3724
|
+
end
|
3725
|
+
|
3726
|
+
# Category: Screen and Speaker
|
3727
|
+
#
|
3728
|
+
class BrightnessConstraint < Constraint
|
3729
|
+
|
3730
|
+
def initialize(h={})
|
3731
|
+
|
3732
|
+
options = {
|
3733
|
+
brightness: 35,
|
3734
|
+
equals: false,
|
3735
|
+
force_pie_mode: false,
|
3736
|
+
greater_than: false,
|
3737
|
+
is_auto_brightness: false
|
3738
|
+
}
|
3739
|
+
|
3740
|
+
super(options.merge h)
|
3741
|
+
|
3742
|
+
end
|
3743
|
+
|
3744
|
+
end
|
3745
|
+
|
3746
|
+
# Category: Screen and Speaker
|
3747
|
+
#
|
3748
|
+
class VolumeConstraint < Constraint
|
3749
|
+
|
3750
|
+
def initialize(h={})
|
3751
|
+
|
3752
|
+
options = {
|
3753
|
+
option: 0
|
3754
|
+
}
|
3755
|
+
|
3756
|
+
super(options.merge h)
|
3757
|
+
|
3758
|
+
end
|
3759
|
+
|
3760
|
+
end
|
3761
|
+
|
3762
|
+
# Category: Screen and Speaker
|
3763
|
+
#
|
3764
|
+
class SpeakerPhoneConstraint < Constraint
|
3765
|
+
|
3766
|
+
def initialize(h={})
|
3767
|
+
|
3768
|
+
options = {
|
3769
|
+
enabled: true
|
3770
|
+
}
|
3771
|
+
|
3772
|
+
super(options.merge h)
|
3773
|
+
|
3774
|
+
end
|
3775
|
+
|
3776
|
+
end
|
3777
|
+
|
3778
|
+
# Category: Screen and Speaker
|
3779
|
+
#
|
3780
|
+
class DarkThemeConstraint < Constraint
|
3781
|
+
|
3782
|
+
def initialize(h={})
|
3783
|
+
|
3784
|
+
options = {
|
3785
|
+
option: 0
|
3786
|
+
}
|
3787
|
+
|
3788
|
+
super(options.merge h)
|
3789
|
+
|
3790
|
+
end
|
3791
|
+
|
3792
|
+
end
|
3793
|
+
|
3794
|
+
# Category: Screen and Speaker
|
3795
|
+
#
|
3796
|
+
class ScreenOnOffConstraint < Constraint
|
3797
|
+
|
3798
|
+
def initialize(h={})
|
3799
|
+
|
3800
|
+
options = {
|
3801
|
+
a: true,
|
3802
|
+
screen_on: true
|
3803
|
+
}
|
3804
|
+
|
3805
|
+
super(options.merge h)
|
3806
|
+
|
3807
|
+
end
|
3808
|
+
|
3809
|
+
end
|
3810
|
+
|
3811
|
+
# Category: Screen and Speaker
|
3812
|
+
#
|
3813
|
+
class VolumeLevelConstraint < Constraint
|
3814
|
+
|
3815
|
+
def initialize(h={})
|
3816
|
+
|
3817
|
+
options = {
|
3818
|
+
comparison: 0,
|
3819
|
+
stream_index_array: [false, true, false, false, false, false, false],
|
3820
|
+
volume: 42
|
3821
|
+
}
|
3822
|
+
|
3823
|
+
super(options.merge h)
|
3824
|
+
|
3825
|
+
end
|
3826
|
+
|
3827
|
+
end
|
3828
|
+
|
3829
|
+
# Category: Sensors
|
3830
|
+
#
|
3831
|
+
class FaceUpDownConstraint < Constraint
|
3832
|
+
|
3833
|
+
def initialize(h={})
|
3834
|
+
|
3835
|
+
options = {
|
3836
|
+
option: -1,
|
3837
|
+
selected_options: [true, false, true, false, false, false]
|
3838
|
+
}
|
3839
|
+
|
3840
|
+
super(options.merge h)
|
3841
|
+
|
3842
|
+
end
|
3843
|
+
|
3844
|
+
end
|
3845
|
+
|
3846
|
+
# Category: Sensors
|
3847
|
+
#
|
3848
|
+
class LightLevelConstraint < Constraint
|
3849
|
+
|
3850
|
+
def initialize(h={})
|
3851
|
+
|
3852
|
+
options = {
|
3853
|
+
light_level: -1,
|
3854
|
+
light_level_float: 5000.0,
|
3855
|
+
option: 1
|
3856
|
+
}
|
3857
|
+
|
3858
|
+
super(options.merge h)
|
3859
|
+
|
3860
|
+
end
|
3861
|
+
|
3862
|
+
end
|
3863
|
+
|
3864
|
+
# Category: Sensors
|
3865
|
+
#
|
3866
|
+
class DeviceOrientationConstraint < Constraint
|
3867
|
+
|
3868
|
+
def initialize(h={})
|
3869
|
+
|
3870
|
+
options = {
|
3871
|
+
portrait: true
|
3872
|
+
}
|
3873
|
+
|
3874
|
+
super(options.merge h)
|
3875
|
+
|
3876
|
+
end
|
3877
|
+
|
3878
|
+
end
|
3879
|
+
|
3880
|
+
# Category: Sensors
|
3881
|
+
#
|
3882
|
+
class ProximitySensorConstraint < Constraint
|
3883
|
+
|
3884
|
+
def initialize(h={})
|
3885
|
+
|
3886
|
+
options = {
|
3887
|
+
near: true
|
3888
|
+
}
|
3889
|
+
|
3890
|
+
super(options.merge h)
|
3891
|
+
|
3892
|
+
end
|
3893
|
+
|
3894
|
+
end
|
metadata
CHANGED
metadata.gz.sig
CHANGED
Binary file
|