Középhaladó szint
Az alapelgondolás adott volt: lusta vagyok, állítgassa a profilokat a telefon. Azért van, hogy helyettem dolgozzon.
Eddig erre a célra jó volt a
Locale. Azonban a
Tasker többet hoz ki a telefonból, úgyhogy lecseréltem. Lett miatta egy kis játék :)
Szempontok:
legyen négy profil
-Normál
-Otthoni (fél éves a kislányom, ne ébressze fel senki)
-Otthoni éjszakai (éjszaka engem se ébresszen fel senki)
-Munkahelyi (ébresszen fel valaki)
Adottak a következők
-Otthoni wifi
-Munkahelyi wifi
Normál esetben elég lenne csak közeli wifi-t beállítani a feltételnek:
wifi near[otthoni] + time[7:00-19:59] -> task[HOME] /kilépő -> task[NORMAL]
wifi near[otthoni] + time[20:00-6:59] -> task[NIGHT] /kilépő ->task[NORMAL]
wifi near[munkahelyi] -> task[WORK] /kilépő ->task[NORMAL]
Ez nekem két szempontból nem felelt meg
-a wifi jel néhol gyenge, így otthon elindul a normál profil és felébred a lányom, nyűgös lesz, aztán én is.
-párhozamosan futnak task-ok, ami nem olyan jó a memóriának, akksinak, notibar nem átlátható, stb.
Ezt a tervet szőttem:
Változókat állítgatok pozíciótól függően és ezek állapota fogja meghatározni a profilt.
Például az otthoni wifi és cella is tesz 1-1 -et a %Home változóba. Ha megszűnik létezni a wifi-jel, vagy cella-jel, akkor elvesz 1-1 -et.
cell near[otthon] + time[7:00-19:59] -> task[_setHome] / task[_unsetHome]
wifi near[otthon] + time[7:00-19:59] -> task[_setHome] / task[_unsetHome]
cell near[otthon] + time[20:00-6:59] -> task[_setNight] / task[_unsetNight]
wifi near[otthon] + time[20:00-6:59] -> task[_setNight] / task[_unsetNight]
cell near[munkahely] -> task[_setWork] / task[_unsetWork]
wifi near[munkahely] -> task[_setWork] / task[_unsetWork]
_setHome
variable add[%Home, 1]
variable set[%Night, 0]
variable set[%Work, 0]
perform task[setProfile]
_unsetHome
variable subtract[%Home, 1]
perform task[setProfile]
A _setHome és _unsetHome mintájára kell elképzelni a _setWork, _unsetWork, _setNight és _unsetNight task-okat.
setProfile
if[%Home > 0]
perform task[HOME]
else if[%Night > 0]
perform task[NIGHT]
else if[%Work > 0]
perform task[WORK]
else
perform task[NORMAL]
end if
A HOME, NIGHT, WORK és NORMAL értelemszerűen az adott profil beállításait tartalmazza. Vagy valami egész mást.
Még egy dolog van. Priorizálni kéne ezt a sok mindent, hogy értelme is legyen annak, amit csináltunk.
Feltételek: ami cella, az eggyel magasabb, mint ami wifi (legalábbis nekem így lett jó). Ez nálam 9 és 8. A magasabb hajtódik végre először.
Ahol perform task van, elméletileg ott is kellene állítani, de nekem eddig nem volt gond miatta. Alapértelmezett az 5. Ha a perform task[valami] prioritása magasabb, mint a hívó task-é, akkor előbbi lefut és csak utána folytatódik a szülő.
A fentiek alapján igazán nem nehéz megcsinálni, de azért itt a lehetőség letölteni zipben:
Google drive-ból, vagy
Dropbox-ból
Jó szórakozást