seriousstas
Молодцом уже сам находишь проблемные места

Воркает как надо.
Про логичность это не совсем так, просто при нажатии ЛКМ включается движение повторно берется картинка и получается если не добавить строки картинка пустышка(null), а если строки подмены присутствуют то все гуд
Я тут решил повозится с автосменой кнопок по времени... типа дневной набор кнопок и ночной... Получилось не плохо))) при старте проверяется время и если не соответствует указанному шаблону(день/ночь) происходит рестарт с другим набором кнопок...
С таймером автосмены при работающем фубаре пока еще не решил как делать потому как его придется постоянно держать запущенным а это лишняя нагрузка на проц и т.д.
По таймеру тоже работает нормально просто приличная нагрузка будет, потому как таймер интервальный т.е. через допустим каждые 10 минут будет срабатывать проверка времени. Пока гоняю в тесте... посмотрим что получится.
И кстати как оказалось проверку времени по шаблону сделать очень просто, несколько часов ломал голову как пока не загуглил))) забрал примерчик одного головастого парниши со Stack Overflow
