In diesem Sprint lag der Fokus wieder aufs … Coden. Aktuell sind wir dabei den Login und die Anbindung an Keycloak – unserem Identity Provider – hinzubekommen. So richtig gelang es uns aber in diesem Sprint noch nicht. Zur Kommunikation mit Keycloak nutzen wir das Android Framework AppAuth. Da wir parallel auch Retrofit einsetzen, gibt es immer weniger Features, die wir von AppAuth nutzen. Außerdem haben wir eher damit zu kämpfen AppAuth richtig einzubinden. Verena kann dazu allerdings noch deutlich mehr berichten.
Was gab es sonst noch?
Unser Icon ist fertig :D. Das letzten, das wir von fiverr.com bekommen haben war unser Logo ohne Text und zentriert ausgerichtet. Unsere App haben wir dahingehend bereits aktualisiert.
Was ging noch? Im letzten Sprint haben wir am Design unserer App gearbeitet. Dabei ging es um die Kommunikation zwischen Activities und Fragments durch View Models, View States etc. Dafür haben wir heute begonnen etwas Doku in Form eines Klassendiagramms zu schreiben. So sieht sie im Kern momentan aus.
Last but not least haben wir uns überlegt, wo wir Dokumente zentral speichern. Nachdem wir OneNote für Notizen, Code Snippets und sonstige Informationen nutzen, haben wir uns für OneDrive entschieden, um Dokumente zentral abzulegen.
Verena
Der Feind hatte diese Woche einen neuen Namen – AppAuth. Eigentlich hat es ganz harmlos angefangen: Die RestAccess-Api wollte etwas gerefactored werden. Nachdem wir unsere Webservice-Calls nun mit Retrofit absetzen, braucht die RestAccess-Api sich nur noch um den Login/Logout zu kümmern. Doch schon beim Aufruf der alten App in einem Emulator, der mit einer relativ neuen Android-Version lief, kamen die ersten Fehler hoch. Es gibt wohl einen neuen Check, der diese Fehlermeldung produziert: „Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag”. Da unsere AppAuth-Version relativ alt war, dachte ich, dass ein Update auf die neueste Version nicht schaden könnte. Eineinhalb Tage später ohne lauffähige Version haben wir uns kurzzeitig überlegt, ob wir nicht doch auf AppAuth verzichten sollen, da die Konfiguration und Unterstützung bei der Fehlersuche ein Alptraum ist. Da wir aber auch die alte Version durch das Ändern des Contexts wieder zum Laufen gebracht haben, haben wir uns erstmal dafür entschieden, auf diese zurückzukehren. Der Login funktioniert, fehlen noch der Logout und der Refresh-Token, aber das muss bis nächste Woche warten.
Dann wollte ich „nur mal eben“ den ConfigPropertiesReader in die RestAccess-Api einbinden..funktioniert aber auch nicht mehr.
Die Woche in einem Wort: steinig
Peter
Ich habe mich gestern wie ein richtiger Entwickler gefühlt und hart gecoded. Die bestehenden Implementierungen für unser Backend Framework habe ich etwas aufgepimpt und abstrahiert. In relativ kurzer Zeit ist es nun möglich mehrere Endpunkte (findAll, findById, Add) für eine Entität hinzuzufügen. Für jede Entität stehen direkt Filter-Funktionen nach Felder, Sortierfunktionen und Paging zur Verfügung.
Werden weitere Endpunkte für alle Entitäten benötigt, können wir diese zentral ergänzen.