Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v1.0.0 #2

Merged
merged 52 commits into from Jun 6, 2022
Merged

v1.0.0 #2

merged 52 commits into from Jun 6, 2022

Conversation

ncvescera
Copy link
Owner

Terminato sviluppo della versione 1.0.0 !
Ricontrollare tutto e correggere possibili errori ortografici e rimuovere cartelle inutili.

Novità App

  • Selezione/Rimozione PDF: aggiunta la possibilità di selezionare un pdf dalla memoria del cellulare. Non serve più aggiungerlo tra gli asset e poi generare la build. Il PDF può anche essere rimosso per poterne scegliere un altro. Il PDF viene salvato nella memoria interna dell'app quindi l'originale può anche essere rimosso. C'è una pagina apposta per la selezione del PDF.
  • Sistema di Aggiornamenti: Introdotto sistema di aggiornamenti che all'avvio dell'app controlla se c'è una nuova release nella repo di GitHub (controlla se la versione dell'ultima release è più aggiornata della versione in locale). Il controllo della nuova versione viene fatto all'avvio dell'app ma può essere ripetuto in qualsiasi momento tramite un bottone. Il sistema di aggiornamento rimanda alla pagina GitHub della repo.
  • Migliorata performance PDF: è stato migliorato il modo in cui viene visualizzato il PDF. Ora il PDF viene pre-caricato e solo quando tutte le pagine sono renderizzate vengono mostrate. Questo per evitare qualunque tipo di lag durante la lettura del PDF. È meglio aspettare un po di tempo e avere tutto che funziona che poter vedere subito le prime pagine ma aspettare tempo quando devo saltare da una sezione all'altra. Questa fase può richiedere abbastanza tempo e non può essere interrotta. Lagga tutto ma ho cercato di fare in modo di non farlo notare 🦧 .

Novità Repo

  • Aggiunte gif che mostrano il funzionamento delle principali funzioni
  • Aggiunta sezione Features dove vengono elencate le principali funzioni
  • Modificata sezione Build from Source
  • Aggiunte emoji ai tioli
  • Aggiunta sezione Future Updates

Issues

  • 🟡 Problema con Visualizzatore PDF: il widget che mostra tutte le pagine del PDF ha un problema con la gestione del contesto e dell'albero dei widget. È stata trovata una soluzione temporanea sostituendo una dipendenza con una repo fatta da un utente su Github
    dependency_overrides:
    photo_view:
    git:
    url: https://github.com/bluefireteam/photo_view
    ref: master
  • 🔴 Problema con il renderer PDF: renderizzare tutte le pagine prima di mostrarle può risultare un compito molto faticoso e che richiede abbastanza tempo. Non è possibile mettere questa fase in un thread separato (Isolate) dato che sembra esserci un errore nel codice del PDF renderer: issue renderer. Ho fatto di tutto per non far vedere il lag mostruoso che viene generato evitando di mostrare widget con cui l'utente possa interagire. Il problema principale è che questa fase non può essere interrotta ! Se l'utente vuole rimuovere il pdf deve per forza aspettare che venga tutto caricato.

Iniziato sviluppo.
Create pagina per selezionare pdf e logica per alternare.

C'e' un bug
La logica funziona
Quando il manuale viene rimosso o caricato l'utente viene avvisato
Tira un'eccezione ma funziona uguale
Migliorato FileManager, reso una classe
Aggiunti commenti
Aggiornati nomi file errati.
Migliorata NoFile_page
Se il file non c'e' e viene eliminato, un
messaggio diverso viene mostrato
Ora c'e' una classe invece che un metodo statico che ritorna l'appbar
Aggiunto bottone invece che testo premibile
Trovata soluzione per il problema dell'eccezione.
Introdotto precaricamento del pdf, ora si perde tempo a caricare
tutto il pdf in memoria ma poi l'esperienza
sara' piu' fluida.
Tolti commenti inutili.
Spostata funzione di precaricamento in pdf_manager
Impedito all'utente di eliminare il file mentre sta venendo precaricato
Rimosso file inutile
Cambiato nome file.
Suddiviso albero in 2 file contenenti widget.
Segue lo standard di nomi dato da dart
Sfondo grigio
Niente bordo arrotondato
Riportata SDK alla versione originale
Aggiunta icona al bottone di caricamento file
Cambiata immagine (da migliorare) e cambiato sfondo (ora bianco)
Tolta la possibilità di pigiare sul bottone per rimuovere il manuale
all'interno della pagina NOFILE
Aggiunto basilare sistema di aggiornamenti.
Controlla se l'ultima versione su github è maggiore di quella attuale.
In caso apre github.
Rimosso lo spazio nella versione.
Ora si vede così 'v0.0.0'
Aggiunta funzione per laciare url e gestire eccezioni.
Aggiunti commenti a funzioni.
Cambiata variable version da pubblica a privata in aboutpage
Rimosso codice commentato
Rimossi import inutili
Ora il menu viene mostrato solo quando il pdf e' caricato completamente.
Impedisce all'utente di fare azioni dato che
il caricamento fa laggare tutto
Ora appena l'app viene aperta si avvia il controllo degli aggiornamenti.
Viene fatto una sola volta in automatico qunado si apre l'app.

Risolto problema che impediva di fare richieste http nella release.
Migliorato update check.
Ora viene fatto in punti specifici in base alla schermata:
- per PDFViewer solo dopo aver caricato tutto il documento
- per NoFilePage all'inizio

Impedisce di far capire il peggio lag quando viene caricato il pdf
Aggiunte nuove gif per il readme
@ncvescera ncvescera added the enhancement New feature or request label May 27, 2022
@ncvescera
Copy link
Owner Author

ncvescera commented May 27, 2022

  • Rimuovere KeepReading/assets/button_icons/noFile.png
  • Rimuovere pacchetti inutili installati durante le varie prove
  • Tipizzare tutte le funzioni passate come argomento: e.g. int Function(int) myFunction;
  • Rimuovere riga 37
    # The following adds the Cupertino Icons font to your application.
    # Use with the CupertinoIcons class for iOS style icons.
    cupertino_icons: ^1.0.2
    # syncfusion_flutter_pdfviewer: ^20.1.52-beta
    package_info_plus: ^1.4.2
    url_launcher: ^6.1.2

.vscode/settings.json Outdated Show resolved Hide resolved
KeepReading/lib/widget/bottom_navication_bar.dart Outdated Show resolved Hide resolved
KeepReading/lib/widget/bottom_navication_bar.dart Outdated Show resolved Hide resolved
KeepReading/lib/API/file_manager.dart Outdated Show resolved Hide resolved
KeepReading/lib/API/file_manager.dart Outdated Show resolved Hide resolved
KeepReading/lib/page/about_page.dart Outdated Show resolved Hide resolved
KeepReading/lib/page/nofile_page.dart Show resolved Hide resolved
KeepReading/lib/page/nofile_page.dart Outdated Show resolved Hide resolved
KeepReading/lib/page/pdfviewer_page.dart Show resolved Hide resolved
KeepReading/lib/widget/bottom_navication_bar.dart Outdated Show resolved Hide resolved
Copy link
Owner Author

@ncvescera ncvescera left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sembra essere tutto apposto e pronto per essere rilasciato !

Un ultimo controllo e poi si va 🚀

Migliorata una condizione if
Eliminata variabile ormai inutile
Cambiate variabili pubbliche in private
migliorate condizioni if
resa piu' chiara una condizione if con una variabile esplicativa
migliorato nome di alcune variabili
Cambiata immagine vecchia
Copy link
Owner Author

@ncvescera ncvescera left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tutto pronto, ci piace !

@ncvescera ncvescera merged commit 785102e into master Jun 6, 2022
@ncvescera ncvescera deleted the v1 branch June 6, 2022 16:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant