OnePro - routines ⤣[edit]
Detailní dokumentace k implementaci RestApi
Definice běhu routin[edit]
Pro správný běh OnePro obshuje mechanismus, který v definovaných intervalech pouští potřebné rutiny. Spouštění je inicializováno vnitřním sygnálem, který se spoští kařdých pět vteřin. Rutiny pak mají definované své Cyclony které vyhodnocují, zda je čas na puštění. Cyclony mohou vý tohoto typu:
- EXACT - Spouští se na přesný cycle number - po startu se pouští pouze jednou
- MODAL - Běží periodicky v definovaném minutovém intervalu
- DECENT - Beží v definovanou minutu - a také po každých dalších deseti minutách - jen pro ladění
- HOURLY - Beží v definovanou minutu - další opakování po hodině
- QUARTELY - Beží v definovanou minutu - další opakování po čtyřech hodinách
- DAILY - Beží v definovanou minutu - další opakování po 24 hodinách
- WEEKLY - Beží v definovanou minutu - další opakování po týdnu
Jednotlivé rutiny rutiny[edit]
Rutiny jsou uvedené v pořadí, jak jsou prováděná po startu
REQUESTED_ACTIONS[edit]
Spouští volání, které získá ze serveru požadovanou akci. Velmi rychlý cyklus volání. Frekvence volání je závislá na módu přehrávání. Při módu ON DEMAND je to rychlá frekvence, jinak je pomalá.
- typ: MODAL
- gap: -
- ofset: -
- beat: 9/2
- associated call: requested_actions
testovací intent
adb shell am broadcast -a com.philips.artemis.onepro.RUN_ACTION --ei action_no 9 adb shell am broadcast -a com.philips.artemis.onepro.RUN_TEST --es action test_request --es par1 "selective_update"
Detailnější informace zde
GUI_CHECK[edit]
Spouští kontrolu, zda když je přítomný aktivni playlist, tak je zapnutá obrazovka.
- typ: MODAL
- gap: 1
- ofset: 1
- beat: 1
testovací intent
adb shell am broadcast -a com.philips.artemis.onepro.RUN_ACTION --ei action_no 11
Akce probíhá tak často, že nevytváří žádné logy! Má nejnižšší prioritu, a tak pokud se dostane do časového konfliktu s jinou akcí, tak se nespustí.
GIT_CHECK[edit]
Spouští rutinu která kontroluje zda není čas se optat na aktualizaci u GIT playlistů.
- typ: MODAL
- gap: 2
- ofset: 7
- beat: 2
testovací intent
adb shell am broadcast -a com.philips.artemis.onepro.RUN_ACTION --ei action_no 50
SEND_LOG[edit]
Posílá na Artemis server kumulované informace o přehraných playlistech
- typ: MODAL
- gap: 10
- ofset: 8
- beat: 18
- routine: call_Log()
- associated call: log
testovací intent
adb shell am broadcast -a com.philips.artemis.onepro.RUN_ACTION --ei action_no 3
UPDATE_DEVICE[edit]
Posílá na Artemis server informace o nastavení monitoru a přijímá nastavení nová
- typ: MODAL
- gap: 10
- ofset: 9
- beat: 19
- routine: call_UpdateDevice()
- associated call: update_device
testovací intent
adb shell am broadcast -a com.philips.artemis.onepro.RUN_ACTION --ei action_no 1
CHECK_PLAN[edit]
Zeptá se na Artemis serveru zda není nový scénář přehrávání.
- typ: MODAL
- gap: 5
- ofset: 11
- beat: 21
- routine: call_Plan()
- associated call: get_plan
testovací intent
adb shell am broadcast -a com.philips.artemis.onepro.RUN_ACTION --ei action_no 2
GUI_CHECK[edit]
Zkontroluje zda je aplikace OnePro na popředí.
- typ: MODAL
- gap: 5
- ofset: 13
- beat: 23
testovací intent
adb shell am broadcast -a com.philips.artemis.onepro.RUN_ACTION --ei action_no 8
CHECK_CONNECTION[edit]
Spojí se se Artemis serverem a potvrdí připojení na něj.
- typ: MODAL
- gap: 20
- ofset: 15
- beat: 25
- routine: call_CheckConnection()
- associated call: check_connection
testovací intent
adb shell am broadcast -a com.philips.artemis.onepro.RUN_ACTION --ei action_no 0
Akce se také poští automaticky při startu aplikace.
CHECK_INTEGRITY[edit]
Hlídá zda jsou soubory staženy korektně
- typ: EXACT
- gap: 30 (přímo definovaný cykl)
- beat: 30
testovací intent
adb shell am broadcast -a com.philips.artemis.onepro.RUN_ACTION --ei action_no 22
Vychází z předpokladu, že při přetušení stahování souborů buď výpadkem internetu nebo pádem zařízení nedojde k tomu, že se indikátor stavu v tabulce files nepřepne do stavu FINISHED tedy hodnota 3
Rutina vyhledává řádky s hosnotou !=3 a pokud nějaký najde, tak všechny záznamy v tabulce smaže a taky vynuluje hash, identifikující poslední scénář. Při dalším cyklu CHECK_PLAYLIST by pak mělo dojít k znovunačtení dat a souborů.
Testy neprokázaly 100% řešení problému. Plalisty typu mix vykazují náchylnost k neintegritě
ARCHIVE_OLDER[edit]
Exportuje záznamy o přehranách plalistech do CSV souboru na disku.
- typ: D01
- gap: 4
- ofset: 6
- beat: 64
testovací intent
adb shell am broadcast -a com.philips.artemis.onepro.RUN_ACTION --ei action_no 101
DELETE_OLD[edit]
Smaže už nepoužívané soubory plalistů
- typ: D01
- gap: 5
- ofset: 5
- beat: 75
testovací intent
adb shell am broadcast -a com.philips.artemis.onepro.RUN_ACTION --ei action_no 7
TIME_SYNC[edit]
Zjistí rozdíl mezi univerzálním časem a časem HW
- typ: H01
- gap: 5
- ofset: 7
- beat: 77
testovací intent
adb shell am broadcast -a com.philips.artemis.onepro.RUN_ACTION --ei action_no 4
APK_VERSION[edit]
Zeptá se na Artemis serveru zda není dostupná aktualizace
- typ: D07
- gap: 10
- ofset: 1
- beat: 131
testovací intent
adb shell am broadcast -a com.philips.artemis.onepro.RUN_ACTION --ei action_no 5
DELETE_PLAYS[edit]
Smaže na disku staré archivy o přehrání. Chrání to přeplnění disku.
- typ: D01
- gap: 10
- ofset: 6
- beat: 136
testovací intent
adb shell am broadcast -a com.philips.artemis.onepro.RUN_ACTION --ei action_no 102
SPEED_TEST[edit]
Spustí test rychlosti sítě.
- typ: H06 - Uživatelsky nastavitelné
- gap: 15
- ofset: 3
- beat: 193
Rachlost opakování je nastavená pomocí parametru VOY_SPEED_RUN a defaultně je to 6 hodin
testovací intent
adb shell am broadcast -a com.philips.artemis.onepro.RUN_ACTION --ei action_no 10
NET_CHECK[edit]
Kontroluje wlan0 inod na linuxové úrovni a pokud ho nenalezne, spustí reboot. Spouští se pouze při povolení.
- typ: EXACT
- ofset: 0
- beat: 9
testovací intent
adb shell am broadcast -a com.philips.artemis.onepro.RUN_ACTION --ei action_no 51