Этот коммит включает ряд улучшений по всему приложению:
Стабильность:
- Реализована null-безопасность для getArguments() в ChatListFragment, чтобы предотвратить NullPointerException.
- Устранено предупреждение о непроверенном приведении типов в ChatListFragment с использованием @SuppressWarnings("unchecked").
- Обеспечено корректное управление ресурсами: объект Response в VkApiClient обёрнут в try-with-resources для предотвращения утечек ресурсов.
Управление зависимостями:
- Проект обновлён до Java 17 для повышения производительности и использования современных возможностей языка.
- Все прямые объявления зависимостей перенесены в Gradle Version Catalog (libs.versions.toml) для лучшей организации и упрощённого управления внешними библиотеками.
Пользовательский интерфейс:
- Улучшено визуальное отображение ViewPager2 в activity_main.xml путём добавления горизонтальных отступов для более сбалансированного макета.
- В MultiLinkDialog заменён LayoutInflater.from(requireContext()) на getLayoutInflater() для лучшего соответствия жизненному циклу Fragment.
Реализует новый пункт меню "О приложении", который открывает диалоговое окно с информацией о программе.
- В `main_menu.xml` добавлен пункт "About".
- Создан макет `dialog_about.xml` для отображения информации.
- В `MainActivity` добавлена логика для показа диалога, включая динамическое получение версии приложения из `PackageInfo`.
- В `strings.xml` (для en и ru локалей) добавлены строки, содержащие описание, имя создателя и формат версии.