#14 Porządki są dobre – 2 nowe aktywności – porównywanie i dodawanie

Wczoraj pisałem o refactoringu, a dzisiaj udało mi się dodać dwie nowe funkcjonalności, co pozwoliło na to, że projekt trochę bardziej przypomina coś, co kiedyś mogło by działać 😉 Nie są to zupełne nowości, ale takie, które były potrzebne, aby utrzymać logikę, jest nowa aktywność dodawania i porównywania. Ogólnie wygląda to w ten sposób, że najpierw mamy etap prezentacji, w którym jest pokazywane po reakcji fab jak to ma działać, a potem rozwiązujemy zadanka. Na razie tylko 5 prób, pewnie finalnie będzie opcja odpalenia ich również na punkty 😉
To ja może na początek zademonstruję:
Jak widzimy, najpierw mamy pokazane, kiedy jest ok (belki są w równowadze) a po kliknięciu przechodzimy do testów, gdzie kliknięcie sprawdza, czy się nie pomyliliśmy 😉 Mamy gwiazdki informujące o tym, czy wszystko się udało.
Kodziku za bardzo nie mam co pokazywać, ponieważ z powodu refaktoryzacji, jest bardzo podobny do tego co już pokazywałem.
Kolejne dwie funkcjonalności to podanie wyniku dodawania, tutaj również na początku jest pokazane jak to działa, a później sprawdzenie z gwiazdkami 😉
Tutaj jeśli chodzi o kodzik, to mogę pokazać metodę która odpowiada za zmiany FAB:
I jeszcze na koniec, znalazłem dzisiaj niezłego buga w mojej aplikacji, mianowicie kod .setVisibility(View.VISIBLE) / .setVisibility(View.INVISIBLE) nie reagował. Tzn, element ciągle był niewidoczny. Wymieniłem implementację na .setAlpha (dokonywałem zmian tylko w dwóch klasach, czyli chyba refactoring się powiódł), ale błąd dalej występował. Okazało się, że obiekty zapamiętują jeśli były animowane i wtedy, jeśli animacja kończyła się zniknięciem, to można sobie było próbować. Naprawa była trywialna, ale nim do tego doszedłem…. Oto jak wygląda kod który naprawia tego buga:
A właściwie za naprawdę odpowiada dyrektywa .clearAnimation(). Cóż, jestem z siebie naprawdę dumny, że to odkryłem 😉
Projekt na github, a także coś extra, tutaj znajduje się plik apk, który można sobie bezpośrednio zainstalować na telefonie. Link jest aktywny, tzn aplikacja będzie się tam co jakiś czas podmieniać 😉
Pozdrawiam!