Diese Woche haben wir einige Sachen entwickelt und wieder verworfen. Zuerst haben wir damit begonnen, ein Autowiring für unseren Service Provider zu implementieren. Wir wollten nicht jeden Service selbst registrieren, sondern anhand des Interfaces die implementierende Klasse ermitteln und instanziieren. Nach längerem Gewühle war klar, dass diese Info nicht so einfach zu haben ist, wie wir es aus ABAP gewohnt sind. Wir wollten dann während des Builds auf den ClassLoader zugreifen, uns die Infos speichern und zur Laufzeit abholen, aber nach ein bisschen Herumprobieren mit Gradle mussten wir akzeptieren, dass wir hierfür mal wieder ein ganz neues Fass aufmachen müssen. Also haben wir es vorerst verschoben, haben es aber noch nicht gänzlich abgehakt.
Als nächstes haben wir uns mit unseren Achievements beschäftigt. Wir wollen Details zu den jeweiligen Achievements anzeigen und dabei eine Möglichkeit schaffen, zu einem Achievement beizutragen, also so etwas wie „Ich habe heute 20 Push-ups zur 10 000 Push-ups-Challenge beigetragen“. Dazu wollten wir einen Detailbereich spendieren, der erscheint, wenn man auf ein einzelnes Achievement in der Liste klickt. Die erste Idee war, dass man direkt darunter eine Kachel über die gesamte Breite anzeigt. Hierzu haben wir etwas Zeit in die Einbindung des Flexbox-Layouts von Google gesteckt, mit dessen Hilfe Kacheln unterschiedlicher Größe innerhalb der Recyclerview angezeigt werden können. Allerdings ist diese Entwicklung mit etwas mehr Aufwand verbunden und in der App, in der Peter diese Funktionalität entdeckt hatte, nicht mehr vorhanden. Für uns war das ein Zeichen, uns für eine andere Lösung zu entscheiden. Dafür haben wir zunächst die Snackbar verwendet, um die Details unten anzuzeigen. Das Layouting hat uns hier allerdings einen Strich durch die Rechnung gemacht und wir konnten sie nicht dazu bewegen, eine ausreichende Höhe anzuzeigen. Deshalb haben wir erstmal auf eine eigene View gewechselt, die wir zunächst ein- und ausblenden. Aber auch hier haben wir Probleme beim Layouting. Entweder machen wir hier etwas grob falsch, oder das Layouting für ein mehrzeiliges Textfeld ist einfach buggy. Der Progressbar, mit dem wir den Fortschritt des Achievements anzeigen wollen, erstreckt sich trotz Constraints fast über die gesamte Breite, weshalb wird das Layout nochmal überdenken wollen. Eine Idee für nächste Woche ist es, den Fortschritt als Kreis um das Image darzustellen. Mal sehen, wie das aussieht. Das würde auch besser zu unserem Fortschrittsbalken passen, mit dessen Hilfe man seinen Fortschritt teilen kann.
Alles in allem sind wir nicht sehr weit voran gekommen, aber haben wie immer sehr viel neues Wissen daraus mitgenommen.