Skip to content

Latest commit

 

History

History
49 lines (31 loc) · 2.07 KB

repository.it.md

File metadata and controls

49 lines (31 loc) · 2.07 KB

Repository

Premessa: Se non sono chiari, i concetti di Repository e di Data layer sono spiegati prevemente nella documentazione sull'architettura di Android.

In poche parole comunque, il data layer è la parte dell'applicazione che gestisce la logica e i dati dell'applicazione.

Tutte le interazioni con il data layer dell'applicazione avvengono tramite queste tre repository

AuthRepository

Serve a gestire login, logout, ottenere i dati sull'utente loggato come ad esempio nome, e se è race officer. Questi dati sono molto utili, ad esempio alcuni pulsanti dell'app si possono disattivare se l'utente non è un race officer.

[TODO: link a docs authrepository]

RegattaRepository

Questa repository serve a gestire le regate: Contiene i metodi per modificare una regata, creare una regata, o eliminare una regata.

Documentazione metodi

RunningRegattaRepository

Questta repository serve a gestire la regata in corso al momento, e permette di ottenere la lista di boe, roboe, barche, e altre info su questa regata.

è una repository particolare, perchè può essere usata solamente all'interno delle schermate associate ad una "regata in corso":

  • MapFragment
  • BuoyInfoFragment
  • BoatInfoFragment
  • RoboaInfoFragment

Nota che il concetto di "regata in corso" All'interno del codice è tradotto come "running regatta".

Documentazione metodi

Questa repository è complicata perchè quando si "lancia" una regatta, Occorre fare due cose:

  • Salvare in memoria il nome della regata lanciata
  • Attivare il foreground service che si occupa di tenere aggiornati i dati, anche quando si spegne lo schermo.

Tutto questo è fatto dal fragment RunRegattaFragment, secondo questo schema