Tidak Ada Deskripsi

David e8c1aed80c Misc 9 tahun lalu
.idea 3af79e913a ui 9 tahun lalu
app e8c1aed80c Misc 9 tahun lalu
gradle bce6e7ce4c initial broken 9 tahun lalu
.gitignore bce6e7ce4c initial broken 9 tahun lalu
README.md 3af79e913a ui 9 tahun lalu
build.gradle bce6e7ce4c initial broken 9 tahun lalu
gradle.properties bce6e7ce4c initial broken 9 tahun lalu
gradlew bce6e7ce4c initial broken 9 tahun lalu
gradlew.bat bce6e7ce4c initial broken 9 tahun lalu
settings.gradle bce6e7ce4c initial broken 9 tahun lalu

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