﻿Titolo: ScaricaSocialAndroid
Descrizione: Monitora profili Instagram e TikTok selezionati e scarica foto e video dei nuovi post, versione Android del progetto ScaricaSocial (Windows); notifica via email e/o notifica di sistema, entrambe facoltative e attivabili insieme, con link diretti ai post. Esecuzione in background tramite servizio in primo piano con notifica persistente; login e apertura post sempre tramite browser (WebView in-app per il login, browser di sistema per i link), mai le app proprietarie Instagram/TikTok.
Linguaggio: Kotlin (Android, minSdk 26), Python embedded (Chaquopy) per gallery-dl/yt-dlp
Strumenti esterni: gallery-dl (Instagram), yt-dlp (TikTok), eseguiti in-process via Python embedded
Nota: Scaffold iniziale, non ancora compilato/testato su dispositivo o emulatore reale (nessun SDK Android disponibile in questo ambiente di sviluppo). Gap noti elencati in logica_ScaricaSocialAndroid.md (tipoContenuto TikTok non ancora in interfaccia, licenza Chaquopy da verificare).

v0.167 — 17/10/2026
- Tolto il controllo interno ogni 30 secondi: a regime l'app resta in silenzio e a verificare che sia attiva ogni x minuti e' solo GestoreApp
- "Tocca per accedere" ora parte sempre da un accesso pulito: prima si apriva e si chiudeva subito perche' restava il vecchio accesso scaduto; dopo l'accesso il controllo riparte da solo
- "Sessione scaduta" compare solo quando serve davvero rifare l'accesso; distinti anche "troppe richieste" ed errore generico
- Impostazioni mostra lo stato reale: "connesso" solo se la sessione e' valida
- Nella schermata principale compare l'account collegato (quando recuperabile)
- Nuovo pulsante "Riduci" (chiude la schermata, il controllo resta attivo); "Esci" ora avvisa che i controlli non verranno piu' eseguiti
- Il controllo periodico ora si appoggia davvero a GestoreApp quando presente: niente piu' sveglia propria in doppione, il tempo lo scandisce il suo "ci sei?"; se GestoreApp sparisce per piu' di 3 minuti l'app se ne accorge e torna a controllarsi da sola
- Riavviare il servizio (es. riavvio del telefono) non rimanda piu' avanti il prossimo controllo gia' previsto

v0.156 — 14/10/2026
- Corretto il falso "gia' presente": un link che in realta' non era mai stato salvato veniva saltato dicendo "gia' presente". Ora, se lo scarico viene saltato, l'app ritenta davvero il download ignorando l'elenco dei gia' scaricati; cosi' il contenuto non viene piu' perso
- Messaggio piu' chiaro quando Instagram pretende l'accesso anche su un post pubblico: non dice piu' "privato" ma "Serve l'accesso: Instagram non lo mostra senza login", e ti propone comunque "Accedi e riprova"

v0.151 — 13/10/2026
- Corretto: dopo aver fatto l'accesso, lo scarico da link continuava a partire "anonimo" e Instagram lo bloccava chiedendo il login (veniva segnato come "privato") anche sui post pubblici; ora, se hai gia' una sessione salvata, i cookie del tuo accesso vengono usati fin dal primo tentativo
- Il file dei cookie viene considerato valido solo se contiene davvero la sessione dell'accesso (non piu' un file vuoto o vecchio)

v0.138 — 03/10/2026
- Aggiunta: se non e' configurato nessun social (nessun profilo Instagram o TikTok), l'app non resta piu' attiva in background: si disattiva il servizio "mantieni attivo" e il collegamento con GestoreApp. Appena configuri uno o entrambi i social, il mantieni attivo (e il collegamento con GestoreApp) si riattiva da solo.

v0.133 — 01/10/2026
- Correzione: il pulsante "..." della cartella di destinazione apre ora il selettore sulla cartella indicata a sinistra (quella scelta/salvata, o la base predefinita DCIM/ScaricaSocial/<social>), non piu' su una cartella generica.
- Correzione: "Scarica da link" non segnala piu' per errore "gia' presente" senza scaricare. Prima, se un primo tentativo falliva (es. link dato per privato), il contenuto veniva registrato come gia' scaricato e al nuovo tentativo - anche dopo aver fatto l'accesso - non salvava nulla. Ora un tentativo fallito non blocca piu' i successivi: dopo l'accesso il contenuto viene scaricato davvero.
- Correzione: la cartella di destinazione scelta col selettore viene salvata solo premendo Salva; prima restava cambiata anche uscendo senza salvare.
- Correzione: il selettore della cartella ora si apre su DCIM invece che su Download.
- Aggiunta: nuovo pulsante "Crea cartelle di base" nelle Impostazioni, che crea subito la cartella di destinazione predefinita (DCIM/ScaricaSocial/Instagram e /TikTok), cosi' esiste gia' prima del primo scarico.

v0.127 — 30/09/2026
- Modifica: "Scarica da link" ora non richiede l'accesso per i link pubblici: si scaricano subito senza login.
- Aggiunta: se un link e' privato, un solo avviso per social propone di accedere e riprovare, oppure di saltarlo.
- Modifica: la schermata "Scarica da link" ha ora un campo per ogni link, con "+" per aggiungerne e "-" per toglierne.

v0.122 — 29/09/2026
- Correzione: l'app non si chiude piu' da sola quando premi Salva o "Controlla ora" (Android segnalava che l'app "si stava chiudendo troppe volte"). Era un problema del servizio in background su Android 14/15.
- Correzione: se avevi scelto una cartella di destinazione ma il permesso non era piu' valido, foto e video non venivano piu' persi in silenzio: ora vengono comunque salvati nella cartella pubblica DCIM/ScaricaSocial.
- Modifica: nella schermata Impostazioni il pulsante Salva e' ora una barra fissa in basso, sempre visibile; la schermata non "rimbalza" piu' mentre imposti le ore.
- Modifica: il registro di diagnosi interno e' stato reso piu' robusto e allineato alle altre app (scrittura sicura, recupero in caso di file danneggiato, registrazione automatica degli errori imprevisti, condivisione del file di log).

v0.118 — 28/09/2026
- Aggiunta: nuova funzione "Scarica da link" (bottone nella schermata principale e voce nel menu Condividi di Instagram/TikTok). Incolli o condividi uno o piu' link (post/Reel/Storie Instagram, video/foto TikTok) e li scarichi subito nelle cartelle predefinite. Funziona sempre, anche ad app appena avviata e mai configurata.
- Aggiunta: pacchetto anti-ban. Intervallo minimo tra i controlli alzato a 60 minuti; attesa sempre diversa (variazione casuale con alternanza di attese piu' brevi e piu' lunghe, mai due brevi di fila); pause casuali anche durante lo scarico; ordine dei profili e dei due social mescolato a ogni giro.
- Aggiunta: possibilita' di mettere in pausa i controlli di Instagram in una fascia oraria (per esempio di notte), scegliendo ora di inizio e ora di fine; non blocca "Controlla ora" ne' lo scarico da link.
- Aggiunta: avviso quando imposti un intervallo di controllo di 24 ore o piu', perche' le Storie potrebbero scadere prima del controllo successivo.
- Aggiunta: nuove voci di guida su account dedicato, pausa e intervallo variabile, scarica da link.

v0.113 — 27/09/2026
- Modifica: nella schermata Impostazioni la cartella di destinazione mostra ora il percorso predefinito (DCIM/ScaricaSocial/<social>/<profilo>) invece di "nessuna cartella" quando non ne hai ancora scelta una; il selettore di sistema si apre sulla cartella predefinita. Scegliendo un'altra cartella, viene mostrata quella scelta.

v0.101 — 22/09/2026
- Aggiunta: la notifica via email ora e' configurabile e attiva; nella sezione "Intervallo e notifiche" delle Impostazioni puoi inserire i dati della posta (server SMTP, porta, indirizzo mittente, password, indirizzo destinatario) e la casella "Notifica via email" non e' piu' disattivata: attivandola, a fine controllo arriva un riepilogo dei nuovi post via email
- Aggiunta: puoi scegliere quanti post controllare per ciascun profilo (prima era fisso a 30)

v0.091 — 20/09/2026
- Modifica: se non scegli una cartella, foto e video vanno ora in DCIM/ScaricaSocial (prima Download/ScaricaSocial), con una sottocartella per ogni social e per ogni profilo seguito; e' la cartella proposta di default, puoi comunque sceglierne un'altra col selettore
- Modifica: nella cartella di destinazione restano solo foto e video, nessun file di servizio
- Aggiunta: la schermata Impostazioni ha ora l'intestazione con nome app e versione, come la schermata principale

v0.086 — 18/09/2026
- Sicurezza: il backup automatico su cloud e' disattivato, cosi' i dati di accesso (cookie di sessione) e la password della posta non escono piu' dal telefono
- Affidabilita': il servizio in background usa ora una modalita' senza il limite giornaliero di alcune ore; se il sistema ne impedisce l'avvio (ad esempio subito dopo il riavvio del telefono) l'app non si chiude piu' per errore e il controllo periodico riparte comunque da solo
- Correzione: nella schermata principale l'avviso "permessi non a posto" non resta piu' acceso all'infinito per l'avvio automatico (che su molti telefoni non serve); resta segnalato solo nella riga dedicata dentro Impostazioni
- Correzione: nelle finestre di conferma il pulsante per annullare mostra ora "Annulla" invece di "Esci"
- Correzione: anche il manuale ora rispetta le zone di sistema, il testo in alto non finisce piu' sotto l'orologio e le icone di stato
- Modifica: la casella "Notifica via email" e' disattivata (segnata "non ancora disponibile") finche' non sara' possibile inserire i dati della posta, per non far credere che l'invio funzioni

v0.081 — 17/09/2026
- Aggiunta: le finestre di conferma (cancella profilo, reset, disattiva log) ora hanno pulsanti colorati per ruolo (rosso = cancella, verde = conferma, azzurro = alternativa, grigio = annulla) e non si chiudono toccando fuori per sbaglio
- Aggiunta: la schermata Impostazioni e' ora organizzata in sezioni apribili (Instagram, TikTok, Intervallo e notifiche, Permessi); si apre una sezione alla volta, cosi' la schermata resta ordinata
- Miglioria: il registro di debug non cresce piu' all'infinito; quando diventa grande viene compattato tenendo tutte le voci di errore/avviso e le piu' recenti di routine
- Aggiunta: nella schermata principale un pulsante "?" in alto apre il manuale; il logo ora e' cliccabile e apre il sito nasosan.it nel browser
- Aggiunta: un manuale d'uso in-app a sezioni apribili (cos'e' l'app, accesso ai social, profili e cosa scaricare, dove finiscono i file, controllo automatico, notifiche, permessi, registro di debug)
- Sicurezza: la password della posta (SMTP) ora viene salvata cifrata sul telefono (Android Keystore), non piu' in chiaro; le eventuali password gia' salvate vengono cifrate in automatico al primo avvio
- Aggiunta: nelle Impostazioni una sezione "Permessi" con un pallino verde/giallo/rosso per Notifiche, Ottimizzazione batteria, Avvio automatico e (su Android 8-9) Archiviazione; tocchi la riga e si apre direttamente la schermata di sistema per sistemarlo; lo stato si aggiorna da solo quando torni nell'app
- Aggiunta: nella schermata principale compare un avviso quando qualche permesso non e' a posto (cosi' non perdi i download in background); sparisce da solo quando e' tutto verde
- Aggiunta: dopo il riavvio del telefono l'app riparte da sola e riprende a controllare i profili, senza doverla aprire a mano
- Aggiunta: all'apertura l'app propone di escluderla dall'ottimizzazione batteria e, sui telefoni che lo richiedono (Xiaomi, Huawei, Oppo, Vivo, OnePlus, ecc.), di attivare l'avvio automatico, cosi' il servizio non viene fermato in background; sono suggerimenti facoltativi, l'app funziona anche se li rifiuti
- Aggiunta: nella schermata Impostazioni, quando l'elenco supera lo schermo, compare sotto la scritta "scorri v" a indicare che c'e' altro contenuto piu' in basso; sparisce da sola quando arrivi in fondo
- Aggiunta: il sottoprogetto Android ora ha un proprio file app.json completo (come la versione Windows) che descrive nome, versione, licenza e come viene consegnato (APK), usato dagli strumenti di build e pubblicazione; e' l'unica fonte del numero di versione
- Modifica: il nome mostrato dell'app e' ora "ScaricaSocial" (uniformato alla versione Windows)

v0.031 — 16/09/2026
- Modifica: se non scegli una cartella, i media vanno ora in una cartella pubblica e visibile - Download/ScaricaSocial/<social>/<utente> - invece che nella cartella privata nascosta dell'app (su Android 10+ senza permessi, su Android 8-9 con permesso archiviazione chiesto una volta); se scegli una cartella col selettore, vince quella
- Modifica: il Reset e la cancellazione di un profilo puliscono anche la cartella pubblica di default
- Modifica: per ogni profilo Instagram le opzioni sono quattro caselle indipendenti - Foto, Video, Reel, Storie - piu' "Tutti" che le attiva tutte insieme (al posto del menu a tendina)
- Modifica: i profili TikTok si gestiscono come elenco a righe (un profilo per riga, aggiungi/rimuovi), non piu' in un unico riquadro di testo
- Aggiunta: cartella di destinazione scelta dall'utente per ogni social, tramite il selettore cartelle di sistema; i media finiscono in una cartella normale e visibile (prima restavano nella cartella privata dell'app, difficili da trovare)
- Modifica: nella cartella scelta restano solo foto e video; i file di servizio (metadati, archivi doppioni) restano nell'area privata dell'app
- Aggiunta: rimuovendo un profilo l'app chiede se cancellare anche foto e video oppure tenerli; aggiunto il Reset per social nella schermata Impostazioni (allineato al Reset del tray Windows)
- Modifica: piede con firma completa (analista, sviluppatore, versione, licenza) anche nella schermata principale, non piu' solo la licenza
- Aggiunta: migrazione automatica dei profili al nuovo formato a caselle
