Bardzo dużo kodu potrzebne jest do pobrania jednej wartości z Settings. Proponowałbym dodanie funkcji Settings.getValueAsBoolean. Wydaje mi się też, że łapanie wyjątków przy pobieraniu settingsów mija się z celem, user nie ma do nich dostępu więc nie mogą one być zmienione na nieprawidłowe a zatem nie musimy obsługiwać w tym wypadku sytuacji wyjątkowych jak błędne dane. Czy był to wymóg naszych QA lub PO? Zadeklarowanie DEFAULT_ANIMALS_VISIBLE w tej aktywności też może sprawić problemy jeśli będziemy chcieli użyć opcji KEY_ANIMALS_VISIBLE w innym miejscu w kodzie. Jeśli przyjąć, że dane w settings zawsze będą prawidłowe to ta stała jest zbędna. Co o tym myślisz?