27 listopada 2014

Właściwości profili i tasków

Gdy zaczynałem pisać ten wpis dotyczący właściwości profili i tasków wydawało mi się, że będzie on krótki, zajmie mi mało czasu i napiszę go bez zaglądania do pomocy Taskera. W trakcie pisania okazało się, że temat się rozrósł, a ja muszę przeczytać parę paragrafów pomocy i dowiedzieć się czegoś nowego. Zapraszam do lektury i komentowania.

Właściwości profili

Aby dostać się do właściwości profilu należy dłużej przytrzymać jego nazwę i w górnym pasku pojawią się dodatkowe klawisze, z których drugi od prawej strony prowadzi do właściwości danego profilu. Ekran właściwości prezentuje się następująco:

Priorytety tasków

Zanim przejdę do omawiania poszczególnych pozycji właściwości profilu muszę nieco przybliżyć sposób w jaki Takser traktuje taski oraz ich priorytety.
Gdy Tasker ma do wykonania jeden task to kolejno wykonuje jego wszystkie akcje. Jeśli jednak w kolejce do wykonania jest więcej tasków Tasker wykonuje je według następujących zasad:

  • nie może być wykonana więcej niż jedna akcja z danej grupy w tym samym czasie
  • task z wyższym priorytetem jest wykonywany przed taskiem z niższym priorytetem
  • taski o tych samych priorytetach wykonywane są kolejno (ich akcje mogą być wykonywane na przemian) zaczynając od tego, który został dodany do kolejki najwcześniej
  • wyjątek stanowi task będący potomkiem innego tasku, który zostanie wykonany przed pozostałymi taskami czekającymi w kolejce
Uważny czytelnik zapyta w tym miejscu o wspomniane w pierwszym punkcie grupy akcji. Akcje pod względem prędkości wykonywania i wpływu między sobą zostały podzielone na następujące grupy:
  • Speach: np. akcja Say
  • Javascript
  • Fix: wszelkie akcje związane z lokalizacją
  • Voice: akcja Get Voice
  • Proxy: akcje Display Brightness, Query Action, Photo, Photo Series, Photo Series Time
  • Proxy Scene: akcje Enter Key, Menu, Popup, Popup Task Buttons, Variable Query
  • Other Scenes: inne akcje wywołane przez scenę
  • Normal: wszystkie inne akcje
  • akcje Wait oraz Wait Until
Każdy uruchamiany task otrzymuje swój priorytet, który mówi o tym jak szybko będzie wykonany jeśli w kolejce czekają inne taski do wykonania. Im większa wartość priorytetu tym task będzie szybciej wykonany.
  • taski wejściowe profili ustawia się we właściwościach profilu w zakresie 1-10, domyślnie 5
  • taski wyjściowe profili mają priorytet ustawiony na wartość z właściwości profilu plus 11, domyślnie 16
  • taski skrótów i widżetów mają domyślnie ustawiony priorytet na 7, można go zmienić w ustawieniach Taskera
  • task uruchomiony przez klawisz Test na ekranie edycji tasku ma priorytet o wartości 10
  • task uruchomiony przez element sceny ma priorytet o jeden większy od priorytetu tasku, który wyświetlił scenę
Jeśli w kolejce czeka kilka tasków pochodzących od tego samego profilu (przykładowo task wejściowy i wyjściowy) to z domyślnymi ustawieniami mamy gwarancję, że task wyjściowy zacznie być wykonywany dopiero po całkowitym zakończeniu tasku wejściowego. Mimo, że task wyjściowy ma większy priorytet. Zachowanie to można zmienić o czym za chwilę.

Launched Task Priority

Ustawia wartość priorytetu tasku wejściowego profilu w zakresie 1-10. Domyślna wartość to 5. Od tej wartości zależy też wartość priorytetu tasku wyjściowego, który ustalany jest jako suma wartości ustawionej i 11. Domyślna wartość to 16.

Cooldown Time

Czas, po którym profil może stać się aktywny mierzony od momentu utraty aktywności przez ten profil. Restart systemu zeruje licznik czasu.
Ja używam tej funkcjonalności dla profilu, który uruchamia mi synchronizację danych z Dropboksem za pomocą aplikacji DropSync gdy telefon podłączony jest do ładowarki. Cooldown Time ustawiłem na 12 godzin i dzięki temu synchronizacja nie jest uruchamiana częściej niż 2 razy na dobę.

Limit Repeats

Ta opcja włącza limit powtórzeń aktywności profilu.

Remaining Repeats

W tym miejscu ustawia się limit ilości powtórzeń aktywności profilu.
Przykładowo jeśli ustawisz limit na 10, to za każdym razem gdy dany profil stanie się aktywny licznik ten zmniejszy się o 1, a gdy osiągnie 0, profil mimo spełnionych warunków kontekstów nie stanie się aktywny.

Delete On Zero Repeats

Zaznaczenie tej opcji spowoduje, że gdy limit ilości powtórzeń aktywności dojdzie do zera, Tasker usunie profil, którego tyczy się to ustawienie.

Restore Settings

Opcja ta decyduje czy przy dezaktywacji profilu będą przywracane wartości ustawień zmienionych za pomocą akcji typu ustawienie wykonanych w tasku wejściowym.

Enforce Task Order

Zaznaczenie tej opcji zapewnia zakończenie tasku wejściowego danego profilu przed rozpoczęciem tasku wyjściowego.
Przykładowo profil Test ma task wejściowy enter1, a w nim za pomocą akcji Perform Task uruchamiany jest task enter2, natomiast taskiem wyjściowym profilu jest exit1, w którym uruchamiany jest task exit2. Jeśli opcja Enforce Task Order jest zaznaczona to taski wyjściowe zaczną być wykonywane dopiero po zakończeniu tasków enter1 i enter2. Taski enter1 i enter2 będą wykonywane w zależności od nadanych im priorytetów.
Z wyłączoną opcją Enforce Task Order taski będą wykonywane w kolejności wynikającej z ich priorytetów, a skoro taski wyjściowe mają priorytety większe zostaną wykonane przed zakończeniem tasków wejściowych.

Show In Notification Pulldown

Opcja ta odpowiada za wyświetlanie nazwy profilu gdy jest on aktywny na powiadomieniu Taskera.

Właściwości tasków

Ekan właściwości tasku dostępny jest pod drugim klawiszem od prawej strony na dole ekranu edycji tasku i prezentuje się on tak:

Collision Handling

Czasami zdarzyć się może, że podczas wykonywania tasku jest on uruchamiany ponownie. Opcja ta decyduje jak Tasker ma postępować w takich sytuacjach. Możliwe są trzy warianty:

  • Abort New Task - Tasker zignoruje nową kopię tasku (to działanie jest domyślne)
  • Abort Existing Task - Tasker zatrzyma obecnie wykonywaną kopię tasku i zacznie wykonywanie nowej kopii
  • Run Both Together - Tasker będzie wykonywał obie kopie tasku równocześnie

Keep Device Awake

Domyślnie dla każdego tasku gwarantowany jest czas równy jednej minucie kiedy Tasker blokuje procesor urządzenia przed przejściem w stan uśpienia. W przypadku tasków, które mogą trwać dłużej zaznaczenie tej opcji zapewni utrzymanie aktywności procesora aż do pełnego wykonania tasku. Należy pamiętać, że w przypadku błędu w tasku, np. zapętlenia, może dojść do szybkiego rozładowania baterii jeśli ta opcja będzie zaznaczona.