Files
Cristian Laporta dc02ad07c1 Musica, telecomando dal telefono, La mia libreria e supporto agli HEN
- daemon: lettore audio in background (radio, Subsonic, USB, link) e
  pagina web su :9095 con PIN per telefono, tablet e PC
- La mia libreria: giochi aggiunti a mano, importati da JSON o
  sincronizzati da un link
- client: riconoscimento di OnionHEN, etaHEN, pldmgr e ps5_autoloader con
  installazione dopo conferma; Omega come Home diventa una scelta
- onionhen-plugin: pagina Omega nel Toolbox con i comandi della musica
- pannello di sistema, file manager, 27 lingue
- server: proxy delle radio
2026-10-04 10:50:04 +02:00

49 lines
1.7 KiB
C

// Omega UI — prima configurazione, dalla home, una domanda alla volta:
// 1. Omega come Home della console? (il demone la riapre all'avvio e quando
// si torna alla Home di sistema). Non è obbligatorio: senza, Omega è
// un'app come le altre e il demone pensa solo a musica e notifiche.
// 2. componenti per il jailbreak rilevato (hen.c): se manca qualcosa si
// elenca e si installa solo dopo l'OK.
#include "app.h"
#include <stdlib.h>
#include <unistd.h>
#define HOME_MODE_FILE OMEGA_DIR "/home-mode.txt" // "1" Omega come Home, "0" solo app (lo legge il demone)
static int step; // 0 domanda sulla Home, 1 componenti, 2 finito
static Uint32 asked_at;
static int mode_cache = -2; // -2 = da leggere
int home_mode(void) {
if (mode_cache == -2) {
char *s = file_read(HOME_MODE_FILE, 16, NULL);
mode_cache = s ? (s[0] == '1' ? 1 : 0) : -1; // -1 = non ancora scelto
free(s);
}
return mode_cache;
}
void home_mode_set(int on) {
FILE *f = fopen(HOME_MODE_FILE, "w");
if (f) { fputs(on ? "1\n" : "0\n", f); fclose(f); }
mode_cache = on ? 1 : 0;
}
void home_mode_menu(void) { hen_ask_home(); }
// dal ciclo principale, solo in home e senza altri pannelli aperti
void setup_tick(void) {
if (g_scene != SC_HOME || ov_depth() > 0 || install_busy()) return;
Uint32 now = SDL_GetTicks();
if (asked_at && now - asked_at < 1500) return; // un attimo tra una domanda e l'altra
if (step == 0) {
if (home_mode() < 0) { asked_at = now; hen_ask_home(); } // dopo la risposta home_mode() >= 0
step = 1;
return;
}
if (step == 1) {
asked_at = now;
step = 2;
hen_check(1); // propone l'installazione dei componenti mancanti
}
}