Рабочее, но класс MainActivity слишком большой. Необходимы изменения.