Wenn wir so überlegen, haben wir in den letzten beiden Tagen nicht an einem konkreten Thema gearbeitet, sondern viele kleine Dinge erledigt.
Begonnen haben wir mit der Vervollständigung der User Achievements. Das Backend und das Erzeugen von Achievements beim Starten des Webservers, die später einem User oder Team zugeordnet werden können, hatten wir bereits im letzten Sprint implementiert; die Anzeige der Achievements in der App in diesem Sprint abgeschlossen.
Größeren Aufwand steckten wir in das Design des Hintergrunds unserer Fragments. Im Test haben wir viele, kleine Bilder im Hintergrund angezeigt, die einen Kontrast herstellen sollen, um die eigentlichen Elemente im Fragment darüber zu legen. Wenige, viele, größere, kleinere Bilder … am Ende hatte es nicht den gewünschten Effekt. Da werden wir also noch einmal ran müssen.
Wichtig war für uns der Umgang mit Generics. Da wir aus dem ABAP-Umfeld (in dem wir aktuell noch arbeiten) keine Generics kannten, gibt es für uns über Generics immer noch eine Menge zu lernen. Also haben wir uns in diesem Thema etwas weitergebildet. Gebraucht haben wir sie für unseren Service Provider. Bisher musste beim Beschaffen eines Services der Typ des Services an den Service Provider übergeben werden. Nachteilig daran ist die fehlende Typsicherheit. Da wir Services in einer Map cachen, und Generic-Types zur Designzeit nicht bekannt sind, ist der Zugriff auf die Laufzeitinformation der angeforderten Services gar nicht so einfach (Stichwort inline function und reified).
Außerdem haben wir den Unterschied zwischen <*> und <Any> verstanden. In jeder Hinsicht war es lehrreich.
Was ging sonst so?
Feintuning an den Achievements: chronologische Sortierung, Progress Inidicator für bereits erreichte Achievements ausblenden, die Bilder ohne einen Runden „Rahmen“ anzeigen
Textharmonisierung: Texte gruppiert, doppelte Texte gelöscht und die Anzeige der Texte auf dem Dashboard mit den angezeigten Texten im zugehörigen Fragment vereinheitlicht.
Prüfungen beim App-Start: Überprüfung, ob der IdProvider und der Webserver erreichbar sind.
Last but not least haben wir begonnen einen Teil unserer umgesetzten Framework Konzepte zu dokumentieren.
Zum guten Schluss begannen wir in den letzten Stunden mit der Umsetzung mehrerer Builder, die wir nutzen wollen, um im Backend Achievement Templates, User-Achievements, User und später auch Teams und zugehörige Achievements beim Webserver-Start zu erzeugen. Die Builder sollen einfach verwendbar sein. Wird keine Konfiguration des zu erzeugenden Objektes vorgenommen, entscheidet der Builder.
An der Fertigstellung werden wir sicherlich noch in den kommenden Wochen arbeiten.