Bez popisu

David b6a818023e close cursor / check for null před 9 roky
.idea 3af79e913a ui před 9 roky
app b6a818023e close cursor / check for null před 9 roky
gradle bce6e7ce4c initial broken před 9 roky
.gitignore bce6e7ce4c initial broken před 9 roky
README.md 3af79e913a ui před 9 roky
build.gradle bce6e7ce4c initial broken před 9 roky
gradle.properties bce6e7ce4c initial broken před 9 roky
gradlew bce6e7ce4c initial broken před 9 roky
gradlew.bat bce6e7ce4c initial broken před 9 roky
settings.gradle bce6e7ce4c initial broken před 9 roky

README.md

LibreTasker is an event-based task performer, similar to Tasker.

This means that you can trigger Actions when events (filtered on input) occur, taking into consideration current state (which is the 'sum' of all events until now).

Supported events (and their conditions):

  • Network:
    • Type: Wifi / Cellular / VPN
    • State: Connected / Disconnected
    • SSIDs: List of SSIDs when Type is Wifi
  • DateTime (Similar to cron):
    • Month: List of ints
    • DOM: List of ints (Day of Month, 1-31)
    • DOW: List of ints (Day of Week, 1-7)
    • Hour: List of ints (00-24)
    • Minute: List of ints (00-59)
    • InvertHour: boolean (whether to invert the match on the 'Hour' field)
    • InvertMinute: boolean (whether to invert the match on the 'Minute' field)
  • Screen:
    • OFF: boolean (whether to trigger on ON or OFF )
  • SMS:
    • BodyRegex (String, Regex)
    • NameRegex (String, Regex)
    • Sender (String, matching Phone number exactly)
  • PhoneCall:
    • Name (String)
    • Number (String)
    • State (String) { RINGING, IDLE }

Supported Actions (and their parameters):

  • Toast:
    • String (text to display)
  • Notification:
    • , with 2 Pairs: Title and Value, both must be non-null.
    • Beep:
      • None (Plays the default notification ringtone)
    • Volume:
      • Stream (Ring, Alarm, Music, Notification, System), Volume in %
    • State:
      • , set a state key to a value. Will trigger the 'State' special event if the value changed.
    • Media key:
      • String (key) { KEYCODE_MEDIA_PREVIOUS, KEYCODE_MEDIA_NEXT, KEYCODE_MEDIA_PAUSE, KEYCODE_MEDIA_PLAY, KEYCODE_MEDIA_PLAY_PAUSE, KEYCODE_MEDIA_STOP }
    • For example you could do something like:

      • At 22:59 => Set Ringtone volume to 0%
      • At 7:59 => Set Ringtone volume to 100%

      or achieve the same thing with states:

      • Between 22:59 and 7:59 => Set state 'sleepy' to true
      • On 'sleepy' change to true => Set volume to 0%
      • On 'sleepy' change to false => Set volume to 100%

      If you don't want to be disturbed (except by someone in particular):

      • (Manually) Mute your phone
      • On PhoneCall with { Name : .. } or { Number:.. } with State == 'RINGING' -> Volume (Ringtone) to 100%
      • On PhoneCall with { Name : .. } or { Number:.. } with State == 'IDLE' -> Volume (Ringtone) to 0%
      • On SMS with { NameRegex : .. } or { Sender:.. } -> Volume (Notification) to 100%, Beep, Volume (Notification) to 0%

      And you can combine states:

      Events:

      • Time is between 09:00 and 18:00 and Wifi is { Connected, SSID = 'MySSID' } and you hang up with a contact(PhoneCall { State: IDLE, Name: 'Name' }

      Triggers: -> something