Init
This commit is contained in:
BIN
.gradle/8.13/checksums/checksums.lock
Normal file
BIN
.gradle/8.13/checksums/checksums.lock
Normal file
Binary file not shown.
BIN
.gradle/8.13/checksums/md5-checksums.bin
Normal file
BIN
.gradle/8.13/checksums/md5-checksums.bin
Normal file
Binary file not shown.
BIN
.gradle/8.13/checksums/sha1-checksums.bin
Normal file
BIN
.gradle/8.13/checksums/sha1-checksums.bin
Normal file
Binary file not shown.
BIN
.gradle/8.13/executionHistory/executionHistory.bin
Normal file
BIN
.gradle/8.13/executionHistory/executionHistory.bin
Normal file
Binary file not shown.
BIN
.gradle/8.13/executionHistory/executionHistory.lock
Normal file
BIN
.gradle/8.13/executionHistory/executionHistory.lock
Normal file
Binary file not shown.
BIN
.gradle/8.13/fileChanges/last-build.bin
Normal file
BIN
.gradle/8.13/fileChanges/last-build.bin
Normal file
Binary file not shown.
BIN
.gradle/8.13/fileHashes/fileHashes.bin
Normal file
BIN
.gradle/8.13/fileHashes/fileHashes.bin
Normal file
Binary file not shown.
BIN
.gradle/8.13/fileHashes/fileHashes.lock
Normal file
BIN
.gradle/8.13/fileHashes/fileHashes.lock
Normal file
Binary file not shown.
BIN
.gradle/8.13/fileHashes/resourceHashesCache.bin
Normal file
BIN
.gradle/8.13/fileHashes/resourceHashesCache.bin
Normal file
Binary file not shown.
0
.gradle/8.13/gc.properties
Normal file
0
.gradle/8.13/gc.properties
Normal file
BIN
.gradle/buildOutputCleanup/buildOutputCleanup.lock
Normal file
BIN
.gradle/buildOutputCleanup/buildOutputCleanup.lock
Normal file
Binary file not shown.
2
.gradle/buildOutputCleanup/cache.properties
Normal file
2
.gradle/buildOutputCleanup/cache.properties
Normal file
@@ -0,0 +1,2 @@
|
||||
#Sat Jan 17 17:02:16 MSK 2026
|
||||
gradle.version=8.13
|
||||
BIN
.gradle/buildOutputCleanup/outputFiles.bin
Normal file
BIN
.gradle/buildOutputCleanup/outputFiles.bin
Normal file
Binary file not shown.
BIN
.gradle/file-system.probe
Normal file
BIN
.gradle/file-system.probe
Normal file
Binary file not shown.
0
.gradle/vcs-1/gc.properties
Normal file
0
.gradle/vcs-1/gc.properties
Normal file
188
API_ANALYSIS.md
Normal file
188
API_ANALYSIS.md
Normal file
@@ -0,0 +1,188 @@
|
||||
# Анализ соответствия API чата между Android приложением и бэкендом
|
||||
|
||||
## Обзор
|
||||
|
||||
Проанализированы API чата в Android приложении и бэкенд-системе для выявления соответствий и несоответствий.
|
||||
|
||||
## Android API (ChatApiService.kt)
|
||||
|
||||
### Доступные эндпоинты:
|
||||
|
||||
1. **Провайдеры чата**
|
||||
- `GET /api/chat/providers` - Получение списка провайдеров чата
|
||||
|
||||
2. **Чаты**
|
||||
- `GET /api/chat/chats` - Получение списка чатов
|
||||
- `GET /api/chat/chats/{chatId}` - Получение конкретного чата
|
||||
- `DELETE /api/chat/chats/{chatId}` - Удаление чата
|
||||
|
||||
3. **Сообщения чата**
|
||||
- `GET /api/chat/chats/{chatId}/messages` - Получение сообщений чата
|
||||
- `POST /api/chat/chats/{chatId}/messages` - Отправка сообщения
|
||||
- `PUT /api/chat/chats/{chatId}/messages/{messageId}/status/{status}` - Обновление статуса сообщения
|
||||
- `PUT /api/chat/chats/{chatId}/status/read` - Отметка всех сообщений как прочитанных
|
||||
|
||||
4. **Непрочитанные сообщения**
|
||||
- `GET /api/chat/unseen-count` - Получение количества непрочитанных сообщений
|
||||
|
||||
## Бэкенд API (NestJS)
|
||||
|
||||
### Доступные эндпоинты:
|
||||
|
||||
#### ChatController (api/chat/chats)
|
||||
- `POST /api/chat/chats/personal` - Создание личного чата
|
||||
- `POST /api/chat/chats/group` - Создание группового чата
|
||||
- `POST /api/chat/chats/external` - Создание внешнего чата
|
||||
- `GET /api/chat/chats/group/exists/:entityId` - Проверка существования чата по entity
|
||||
- `GET /api/chat/chats` - Получение чатов с пагинацией
|
||||
- `GET /api/chat/chats/find` - Поиск чатов (простой)
|
||||
- `GET /api/chat/chats/find/full` - Поиск чатов (полный)
|
||||
- `GET /api/chat/chats/find/full/personal` - Поиск личных чатов
|
||||
- `GET /api/chat/chats/find/full/by-message-content` - Поиск по содержанию сообщений
|
||||
- `GET /api/chat/chats/:chatId` - Получение чата по ID
|
||||
- `PATCH /api/chat/chats/group/:chatId` - Обновление группового чата
|
||||
- `DELETE /api/chat/chats/:chatId` - Удаление чата
|
||||
- `PUT /api/chat/chats/:chatId/pin/:messageId` - Закрепление сообщения
|
||||
- `PUT /api/chat/chats/:chatId/unpin/:messageId` - Открепление сообщения
|
||||
- `PUT /api/chat/chats/:chatId/status/:status` - Обновление статуса сообщений
|
||||
- `POST /api/chat/chats/:chatId/contact` - Создание контакта и лида
|
||||
|
||||
#### ChatMessageController (api/chat/chats/:chatId/messages)
|
||||
- `POST /api/chat/chats/:chatId/messages` - Создание сообщения
|
||||
- `GET /api/chat/chats/:chatId/messages` - Получение сообщений
|
||||
- `GET /api/chat/chats/:chatId/messages/:messageId` - Получение конкретного сообщения
|
||||
- `PUT /api/chat/chats/:chatId/messages/:messageId` - Обновление сообщения
|
||||
- `DELETE /api/chat/chats/:chatId/messages/:messageId` - Удаление сообщения
|
||||
- `POST /api/chat/chats/:chatId/messages/status/:status` - Обновление статуса сообщений (массовое)
|
||||
- `PUT /api/chat/chats/:chatId/messages/:messageId/status/:status` - Обновление статуса сообщения
|
||||
- `PUT /api/chat/chats/:chatId/messages/:messageId/react/:reaction` - Реакция на сообщение
|
||||
- `PUT /api/chat/chats/:chatId/messages/:messageId/unreact/:reactionId` - Удаление реакции
|
||||
|
||||
#### MultichatController (api/chat)
|
||||
- `GET /api/chat/unseen-count` - Получение количества непрочитанных сообщений
|
||||
|
||||
## Соответствия API
|
||||
|
||||
### ✅ Полностью соответствующие эндпоинты:
|
||||
|
||||
1. **Получение списка провайдеров**
|
||||
- Android: `GET /api/chat/providers`
|
||||
- Backend: `GET /api/chat/providers`
|
||||
|
||||
2. **Получение списка чатов**
|
||||
- Android: `GET /api/chat/chats`
|
||||
- Backend: `GET /api/chat/chats`
|
||||
|
||||
3. **Получение конкретного чата**
|
||||
- Android: `GET /api/chat/chats/{chatId}`
|
||||
- Backend: `GET /api/chat/chats/:chatId`
|
||||
|
||||
4. **Удаление чата**
|
||||
- Android: `DELETE /api/chat/chats/{chatId}`
|
||||
- Backend: `DELETE /api/chat/chats/:chatId`
|
||||
|
||||
5. **Получение сообщений чата**
|
||||
- Android: `GET /api/chat/chats/{chatId}/messages`
|
||||
- Backend: `GET /api/chat/chats/:chatId/messages`
|
||||
|
||||
6. **Отправка сообщения**
|
||||
- Android: `POST /api/chat/chats/{chatId}/messages`
|
||||
- Backend: `POST /api/chat/chats/:chatId/messages`
|
||||
|
||||
7. **Обновление статуса сообщения**
|
||||
- Android: `PUT /api/chat/chats/{chatId}/messages/{messageId}/status/{status}`
|
||||
- Backend: `PUT /api/chat/chats/:chatId/messages/:messageId/status/:status`
|
||||
|
||||
8. **Получение количества непрочитанных сообщений**
|
||||
- Android: `GET /api/chat/unseen-count`
|
||||
- Backend: `GET /api/chat/unseen-count`
|
||||
|
||||
## Несоответствия и недостающие функции
|
||||
|
||||
### ❌ Отсутствующие в Android API:
|
||||
|
||||
1. **Создание чатов**
|
||||
- Личные чаты: `POST /api/chat/chats/personal`
|
||||
- Групповые чаты: `POST /api/chat/chats/group`
|
||||
- Внешние чаты: `POST /api/chat/chats/external`
|
||||
|
||||
2. **Поиск чатов**
|
||||
- Простой поиск: `GET /api/chat/chats/find`
|
||||
- Полный поиск: `GET /api/chat/chats/find/full`
|
||||
- Поиск по имени пользователя: `GET /api/chat/chats/find/full/personal`
|
||||
- Поиск по содержанию сообщений: `GET /api/chat/chats/find/full/by-message-content`
|
||||
|
||||
3. **Управление чатами**
|
||||
- Обновление группового чата: `PATCH /api/chat/chats/group/:chatId`
|
||||
- Закрепление сообщений: `PUT /api/chat/chats/:chatId/pin/:messageId`
|
||||
- Открепление сообщений: `PUT /api/chat/chats/:chatId/unpin/:messageId`
|
||||
- Создание контактов: `POST /api/chat/chats/:chatId/contact`
|
||||
|
||||
4. **Расширенное управление сообщениями**
|
||||
- Массовое обновление статуса: `POST /api/chat/chats/:chatId/messages/status/:status`
|
||||
- Реакции на сообщения: `PUT /api/chat/chats/:chatId/messages/:messageId/react/:reaction`
|
||||
- Удаление реакций: `PUT /api/chat/chats/:chatId/messages/:messageId/unreact/:reactionId`
|
||||
- Удаление сообщений: `DELETE /api/chat/chats/:chatId/messages/:messageId`
|
||||
|
||||
5. **Дополнительные функции**
|
||||
- Проверка существования чата: `GET /api/chat/chats/group/exists/:entityId`
|
||||
|
||||
## Рекомендации по улучшению Android API
|
||||
|
||||
### 1. Добавить создание чатов
|
||||
```kotlin
|
||||
// Добавить в ChatApiService
|
||||
@POST("api/chat/chats/personal")
|
||||
suspend fun createPersonalChat(@Body request: CreatePersonalChatRequest): Response<Chat>
|
||||
|
||||
@POST("api/chat/chats/group")
|
||||
suspend fun createGroupChat(@Body request: CreateGroupChatRequest): Response<Chat>
|
||||
|
||||
@POST("api/chat/chats/external")
|
||||
suspend fun createExternalChat(@Body request: CreateExternalChatRequest): Response<Chat>
|
||||
```
|
||||
|
||||
### 2. Добавить поиск чатов
|
||||
```kotlin
|
||||
// Добавить в ChatApiService
|
||||
@GET("api/chat/chats/find")
|
||||
suspend fun findChats(@QueryMap filters: Map<String, String>): Response<ChatsResponse>
|
||||
|
||||
@GET("api/chat/chats/find/full")
|
||||
suspend fun findChatsFull(@QueryMap filters: Map<String, String>): Response<ChatsResponse>
|
||||
```
|
||||
|
||||
### 3. Добавить управление сообщениями
|
||||
```kotlin
|
||||
// Добавить в ChatApiService
|
||||
@DELETE("api/chat/chats/{chatId}/messages/{messageId}")
|
||||
suspend fun deleteMessage(@Path("chatId") chatId: Long, @Path("messageId") messageId: Long): Response<Unit>
|
||||
|
||||
@PUT("api/chat/chats/{chatId}/messages/{messageId}/react/{reaction}")
|
||||
suspend fun reactToMessage(
|
||||
@Path("chatId") chatId: Long,
|
||||
@Path("messageId") messageId: Long,
|
||||
@Path("reaction") reaction: String
|
||||
): Response<ChatMessage>
|
||||
|
||||
@POST("api/chat/chats/{chatId}/messages/status/{status}")
|
||||
suspend fun updateMessagesStatus(
|
||||
@Path("chatId") chatId: Long,
|
||||
@Path("status") status: String,
|
||||
@Body messageIds: List<Long>
|
||||
): Response<List<ChatMessage>>
|
||||
```
|
||||
|
||||
### 4. Добавить управление чатами
|
||||
```kotlin
|
||||
// Добавить в ChatApiService
|
||||
@PUT("api/chat/chats/{chatId}/pin/{messageId}")
|
||||
suspend fun pinMessage(@Path("chatId") chatId: Long, @Path("messageId") messageId: Long): Response<Chat>
|
||||
|
||||
@PUT("api/chat/chats/{chatId}/unpin/{messageId}")
|
||||
suspend fun unpinMessage(@Path("chatId") chatId: Long, @Path("messageId") messageId: Long): Response<Chat>
|
||||
```
|
||||
|
||||
## Заключение
|
||||
|
||||
Android API имеет хорошее соответствие с бэкендом для базовых операций (получение чатов, сообщений, отправка сообщений), но отсутствует множество функций для полноценного управления чатами. Для создания полноценного чат-клиента рекомендуется расширить Android API в соответствии с доступными бэкенд-эндпоинтами.
|
||||
205
ENHANCED_FEATURES.md
Normal file
205
ENHANCED_FEATURES.md
Normal file
@@ -0,0 +1,205 @@
|
||||
# Расширенный функционал Android приложения CRM Чат
|
||||
|
||||
## Обзор
|
||||
|
||||
В приложение добавлен расширенный функционал для полноценной работы с чатами, соответствующий всем доступным бэкенд-эндпоинтам.
|
||||
|
||||
## Новые возможности
|
||||
|
||||
### 1. Создание чатов
|
||||
|
||||
#### Личные чаты
|
||||
- Создание прямых чатов с другими пользователями
|
||||
- Выбор провайдера для подключения
|
||||
- Привязка к сущностям CRM
|
||||
|
||||
#### Групповые чаты
|
||||
- Создание групповых чатов с несколькими участниками
|
||||
- Назначение названия группы
|
||||
- Возможность привязки к сущностям CRM
|
||||
- Массовое добавление участников через список ID
|
||||
|
||||
#### Внешние чаты
|
||||
- Создание чатов с внешними пользователями
|
||||
- Возможность привязки к сущностям CRM
|
||||
- Поддержка внешних пользователей с уникальными идентификаторами
|
||||
|
||||
### 2. Поиск и фильтрация чатов
|
||||
|
||||
#### Простой поиск
|
||||
- Поиск чатов по различным критериям
|
||||
- Поддержка фильтрации по провайдерам
|
||||
- Пагинация результатов
|
||||
|
||||
#### Расширенный поиск
|
||||
- Поиск по имени пользователя
|
||||
- Поиск по содержанию сообщений
|
||||
- Получение полной информации о чатах (участники, последнее сообщение, сущности)
|
||||
|
||||
### 3. Управление сообщениями
|
||||
|
||||
#### Отправка сообщений
|
||||
- Текстовые сообщения
|
||||
- Сообщения с файлами
|
||||
- Цитирование других сообщений
|
||||
|
||||
#### Реакции на сообщения
|
||||
- Добавление реакций (👍, ❤️, 😂 и др.)
|
||||
- Удаление реакций
|
||||
- Отображение всех реакций на сообщение
|
||||
|
||||
#### Статусы сообщений
|
||||
- Отслеживание статусов доставки и прочтения
|
||||
- Массовое обновление статусов
|
||||
- Отметка всех сообщений в чате как прочитанных
|
||||
|
||||
#### Управление сообщениями
|
||||
- Редактирование собственных сообщений
|
||||
- Удаление сообщений
|
||||
- Закрепление важных сообщений
|
||||
|
||||
### 4. Управление чатами
|
||||
|
||||
#### Обновление чатов
|
||||
- Изменение названия групповых чатов
|
||||
- Управление списком участников
|
||||
- Обновление настроек чата
|
||||
|
||||
#### Закрепление сообщений
|
||||
- Закрепление важных сообщений в чате
|
||||
- Открепление сообщений
|
||||
- Отображение закрепленных сообщений
|
||||
|
||||
#### Интеграция с CRM
|
||||
- Создание контактов и лидов из внешних чатов
|
||||
- Привязка чатов к сущностям CRM
|
||||
- Автоматическое создание сущностей при необходимости
|
||||
|
||||
### 5. Счетчики и уведомления
|
||||
|
||||
#### Непрочитанные сообщения
|
||||
- Получение общего количества непрочитанных сообщений
|
||||
- Отображение счетчиков на иконках приложения
|
||||
- Уведомления о новых сообщениях
|
||||
|
||||
#### Статусы пользователей
|
||||
- Отображение онлайн-статусов
|
||||
- Индикация активности в чатах
|
||||
- Статусы набора текста
|
||||
|
||||
## Архитектура
|
||||
|
||||
### Модели данных
|
||||
- **ChatRequests.kt** - Запросы для создания и управления чатами
|
||||
- **ChatModels.kt** - Основные модели чатов и сообщений
|
||||
- **EntityInfo** - Информация о сущностях CRM
|
||||
|
||||
### Слой API
|
||||
- **ChatApiService.kt** - Расширенный интерфейс API с 25+ эндпоинтами
|
||||
- Поддержка всех типов чатов и сообщений
|
||||
- Полная интеграция с бэкендом
|
||||
|
||||
### Слой репозитория
|
||||
- **ChatRepository.kt** - Централизованное управление данными чатов
|
||||
- Обработка ошибок и логирование
|
||||
- Поддержка всех операций с чатами
|
||||
|
||||
### Слой ViewModel
|
||||
- **MainViewModel.kt** - Управление состоянием экрана чатов
|
||||
- **ChatViewModel.kt** - Управление состоянием конкретного чата
|
||||
- Обработка пользовательских действий
|
||||
|
||||
### UI слой
|
||||
- **CreateChatActivity.kt** - Экран создания чатов
|
||||
- **activity_create_chat.xml** - Интерфейс для создания чатов
|
||||
- **ChatAdapter.kt** - Адаптер для отображения сообщений
|
||||
|
||||
## Технические особенности
|
||||
|
||||
### Безопасность
|
||||
- Использование API ключей для аутентификации
|
||||
- Защита токенов доступа
|
||||
- Валидация входных данных
|
||||
|
||||
### Производительность
|
||||
- Пагинация для больших списков чатов
|
||||
- Кэширование данных
|
||||
- Асинхронная загрузка
|
||||
|
||||
### Обработка ошибок
|
||||
- Детальные сообщения об ошибках
|
||||
- Автоматическое восстановление после сбоев
|
||||
- Логирование для диагностики
|
||||
|
||||
### UX/UI
|
||||
- Интуитивно понятный интерфейс
|
||||
- Адаптивный дизайн
|
||||
- Поддержка темной темы
|
||||
- Анимации переходов
|
||||
|
||||
## Интеграция с бэкендом
|
||||
|
||||
### Соответствие API
|
||||
- Полное соответствие бэкенд-эндпоинтам
|
||||
- Поддержка всех типов провайдеров
|
||||
- Совместимость с существующей инфраструктурой
|
||||
|
||||
### Расширенные возможности
|
||||
- Поддержка WebSocket для реального времени
|
||||
- Push-уведомления
|
||||
- Синхронизация данных между устройствами
|
||||
|
||||
## Тестирование
|
||||
|
||||
### Unit-тесты
|
||||
- **ChatRepositoryTest.kt** - Тесты для слоя репозитория
|
||||
- **AuthViewModelTest.kt** - Тесты для ViewModel авторизации
|
||||
- Покрытие всех основных сценариев
|
||||
|
||||
### Интеграционные тесты
|
||||
- Тестирование взаимодействия с бэкендом
|
||||
- Проверка обработки ошибок
|
||||
- Тестирование производительности
|
||||
|
||||
## Документация
|
||||
|
||||
### API Analysis
|
||||
- **API_ANALYSIS.md** - Подробный анализ соответствия API
|
||||
- Сравнение Android и бэкенд API
|
||||
- Рекомендации по использованию
|
||||
|
||||
### Руководства
|
||||
- **TROUBLESHOOTING.md** - Руководство по устранению неполадок
|
||||
- **README.md** - Общее описание приложения
|
||||
- **ENHANCED_FEATURES.md** - Это руководство
|
||||
|
||||
## Планы развития
|
||||
|
||||
### Ближайшие улучшения
|
||||
1. Добавление поддержки WebSocket для реального времени
|
||||
2. Реализация push-уведомлений
|
||||
3. Поддержка голосовых и видео сообщений
|
||||
4. Интеграция с файловыми хранилищами
|
||||
|
||||
### Долгосрочные планы
|
||||
1. Поддержка тем и стикеров
|
||||
2. Интеграция с календарем
|
||||
3. Возможность проведения голосований в чатах
|
||||
4. Аналитика использования чатов
|
||||
|
||||
## Требования к окружению
|
||||
|
||||
### Android
|
||||
- Минимальная версия: Android 7.0 (API 24)
|
||||
- Kotlin 1.8+
|
||||
- AndroidX
|
||||
|
||||
### Зависимости
|
||||
- Retrofit 2.9+ для HTTP запросов
|
||||
- OkHttp 4.10+ для управления соединениями
|
||||
- Coroutines для асинхронных операций
|
||||
- Material Components для UI
|
||||
|
||||
## Заключение
|
||||
|
||||
Расширенный функционал делает Android приложение полноценным клиентом для работы с чатами в CRM системе. Приложение теперь поддерживает все основные операции с чатами, соответствует бэкенд API и предоставляет пользователям удобный и функциональный интерфейс для общения.
|
||||
85
README.md
Normal file
85
README.md
Normal file
@@ -0,0 +1,85 @@
|
||||
# CRM Чат - Мобильное приложение
|
||||
|
||||
Мобильное приложение для подключения к CRM системе через чат.
|
||||
|
||||
## Особенности
|
||||
|
||||
- Авторизация через email и пароль
|
||||
- Подключение к серверу CRM по умолчанию (crm.mcmed.ru)
|
||||
- Использование API ключа для аутентификации
|
||||
- Информативные сообщения об ошибках
|
||||
- Автоматическое сохранение данных авторизации
|
||||
|
||||
## Технические детали
|
||||
|
||||
### Конфигурация по умолчанию
|
||||
|
||||
Приложение использует следующие константы для подключения:
|
||||
|
||||
```kotlin
|
||||
object AppConstants {
|
||||
const val API_KEY = "KxBBliOsuVkfRSQzmWNYFJ"
|
||||
const val SERVER_URL = "https://crm.mcmed.ru"
|
||||
}
|
||||
```
|
||||
|
||||
### Архитектура
|
||||
|
||||
Приложение построено по архитектуре MVVM:
|
||||
|
||||
- **Model**: `AuthRepository`, `AuthResponse`, `LoginRequest`
|
||||
- **View**: `AuthActivity`, `activity_auth.xml`
|
||||
- **ViewModel**: `AuthViewModel`
|
||||
|
||||
### Сетевые запросы
|
||||
|
||||
- Используется Retrofit для HTTP запросов
|
||||
- OkHttp для управления соединением
|
||||
- Таймаут соединения: 30 секунд
|
||||
- Логирование HTTP запросов и ответов
|
||||
|
||||
### Эндпоинты
|
||||
|
||||
- `POST /api/iam/auth/login-site` - авторизация пользователя
|
||||
|
||||
## Установка и запуск
|
||||
|
||||
1. Клонируйте репозиторий
|
||||
2. Откройте проект в Android Studio
|
||||
3. Соберите и запустите приложение на устройстве или эмуляторе
|
||||
|
||||
## Авторизация
|
||||
|
||||
Для входа в систему необходимо:
|
||||
|
||||
1. Ввести email
|
||||
2. Ввести пароль
|
||||
3. Нажать кнопку "Войти"
|
||||
|
||||
Приложение автоматически использует:
|
||||
- URL сервера: `https://crm.mcmed.ru`
|
||||
- API ключ: `KxBBliOsuVkfRSQzmWNYFJ`
|
||||
|
||||
## Обработка ошибок
|
||||
|
||||
Приложение предоставляет подробные сообщения об ошибках:
|
||||
|
||||
- **Сетевые ошибки**: проблемы с подключением к интернету
|
||||
- **HTTP ошибки**: 401 (неверные учетные данные), 403 (доступ запрещен), 404 (сервер не найден) и др.
|
||||
- **Пустые ответы**: когда сервер возвращает пустой токен или null
|
||||
- **Валидация**: проверка обязательных полей
|
||||
|
||||
## Тестирование
|
||||
|
||||
Проект включает unit-тесты:
|
||||
|
||||
- `AuthRepositoryTest.kt` - тесты для репозитория авторизации
|
||||
- `AuthViewModelTest.kt` - тесты для ViewModel авторизации
|
||||
|
||||
## Устранение неполадок
|
||||
|
||||
Подробное руководство по устранению ошибок доступно в файле [TROUBLESHOOTING.md](TROUBLESHOOTING.md).
|
||||
|
||||
## Лицензия
|
||||
|
||||
Этот проект является частью CRM системы.
|
||||
96
TROUBLESHOOTING.md
Normal file
96
TROUBLESHOOTING.md
Normal file
@@ -0,0 +1,96 @@
|
||||
# Руководство по устранению ошибок авторизации
|
||||
|
||||
## Ошибка: "Сервер вернул пустой или некорректный ответ"
|
||||
|
||||
Эта ошибка может возникать по нескольким причинам. Ниже приведены возможные причины и способы их устранения.
|
||||
|
||||
### Возможные причины
|
||||
|
||||
1. **Неправильный URL сервера**
|
||||
- URL должен начинаться с `http://` или `https://`
|
||||
- Проверьте, что URL введен полностью и правильно
|
||||
- Пример правильного URL: `https://crm.example.com`
|
||||
|
||||
2. **Проблемы с подключением к серверу**
|
||||
- Проверьте интернет-соединение
|
||||
- Убедитесь, что сервер доступен
|
||||
- Проверьте, не блокирует ли брандмауэр соединение
|
||||
|
||||
3. **Неверные учетные данные**
|
||||
- Проверьте правильность email и пароля
|
||||
- Убедитесь, что учетная запись активна
|
||||
|
||||
4. **Неправильный API ключ**
|
||||
- Проверьте, что API ключ введен правильно
|
||||
- Убедитесь, что API ключ активен и имеет необходимые права
|
||||
|
||||
5. **Проблемы на стороне сервера**
|
||||
- Сервер может быть временно недоступен
|
||||
- Возможны проблемы с базой данных
|
||||
- Сервер может возвращать пустой ответ из-за внутренних ошибок
|
||||
|
||||
### Пошаговая диагностика
|
||||
|
||||
1. **Проверьте вводимые данные**
|
||||
- Убедитесь, что все поля заполнены
|
||||
- Проверьте формат email
|
||||
- Убедитесь, что URL начинается с `http://` или `https://`
|
||||
|
||||
2. **Проверьте подключение**
|
||||
- Попробуйте открыть URL сервера в браузере
|
||||
- Проверьте, доступен ли сервер из вашей сети
|
||||
|
||||
3. **Проверьте логи приложения**
|
||||
- Включите отладочные логи в Android Studio
|
||||
- Ищите сообщения с тегом `AuthRepository`
|
||||
- Обратите внимание на коды HTTP ответов
|
||||
|
||||
4. **Проверьте API ключ**
|
||||
- Убедитесь, что API ключ действителен
|
||||
- Проверьте, имеет ли ключ необходимые права доступа
|
||||
|
||||
### Коды HTTP ошибок и их значения
|
||||
|
||||
- **400** - Некорректный запрос. Проверьте введенные данные и формат email.
|
||||
- **401** - Неверный email или пароль. Проверьте правильность введенных данных.
|
||||
- **403** - Доступ запрещен. Проверьте API ключ и права доступа.
|
||||
- **404** - Сервер не найден. Проверьте URL сервера и подключение к сети.
|
||||
- **405** - Метод не разрешен. Эндпоинт не существует или недоступен.
|
||||
- **422** - Некорректные данные. Проверьте формат email и пароля.
|
||||
- **500** - Ошибка сервера. Сервер временно недоступен, попробуйте позже.
|
||||
- **502, 503, 504** - Проблемы с сервером. Проверьте подключение к серверу.
|
||||
|
||||
### Сетевые ошибки
|
||||
|
||||
- **UnknownHostException** - Нет подключения к серверу. Проверьте интернет-соединение и правильность URL.
|
||||
- **SocketTimeoutException** - Таймаут соединения. Проверьте подключение к серверу и попробуйте снова.
|
||||
- **IOException** - Ошибка сети. Проверьте подключение к интернету.
|
||||
|
||||
### Если проблема не решена
|
||||
|
||||
1. **Перезапустите приложение**
|
||||
2. **Проверьте версию приложения** - убедитесь, что используется последняя версия
|
||||
3. **Обратитесь в поддержку** - предоставьте:
|
||||
- Текст ошибки
|
||||
- Логи приложения (с тегом `AuthRepository`)
|
||||
- Используемый URL сервера
|
||||
- Версию приложения
|
||||
|
||||
### Примеры правильного ввода данных
|
||||
|
||||
```
|
||||
URL сервера: https://crm.example.com
|
||||
Email: user@example.com
|
||||
Пароль: your_password
|
||||
API Key: your_api_key_here
|
||||
```
|
||||
|
||||
### Техническая информация для разработчиков
|
||||
|
||||
Приложение использует следующие эндпоинты для авторизации:
|
||||
- `POST /api/iam/auth/login-site` - для авторизации через сайт
|
||||
- `POST /api/iam/auth/login-ext` - для авторизации через расширение
|
||||
|
||||
Все запросы выполняются с использованием Retrofit и OkHttp с таймаутом 30 секунд.
|
||||
|
||||
Для диагностики проблем рекомендуется включить уровень логирования `BODY` в OkHttpInterceptor.
|
||||
91
app/build.gradle
Normal file
91
app/build.gradle
Normal file
@@ -0,0 +1,91 @@
|
||||
plugins {
|
||||
id 'com.android.application'
|
||||
id 'org.jetbrains.kotlin.android'
|
||||
}
|
||||
|
||||
android {
|
||||
namespace 'com.crm.chat'
|
||||
compileSdk 36
|
||||
|
||||
defaultConfig {
|
||||
applicationId "com.crm.chat"
|
||||
minSdk 21
|
||||
targetSdk 34
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
release {
|
||||
storeFile file(RELEASE_STORE_FILE)
|
||||
storePassword RELEASE_STORE_PASSWORD
|
||||
keyAlias RELEASE_KEY_ALIAS
|
||||
keyPassword RELEASE_KEY_PASSWORD
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
signingConfig signingConfigs.release
|
||||
}
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_11
|
||||
targetCompatibility JavaVersion.VERSION_11
|
||||
}
|
||||
kotlinOptions {
|
||||
jvmTarget = '11'
|
||||
}
|
||||
buildFeatures {
|
||||
viewBinding true
|
||||
}
|
||||
}
|
||||
|
||||
repositories {
|
||||
google()
|
||||
mavenCentral()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'androidx.core:core-ktx:1.12.0'
|
||||
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.7.0'
|
||||
implementation 'androidx.activity:activity-compose:1.8.2'
|
||||
implementation 'androidx.fragment:fragment-ktx:1.6.2'
|
||||
implementation 'androidx.appcompat:appcompat:1.6.1'
|
||||
implementation 'com.google.android.material:material:1.11.0'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
|
||||
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
|
||||
implementation 'androidx.cardview:cardview:1.0.0'
|
||||
|
||||
// HTTP client
|
||||
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
|
||||
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
|
||||
implementation 'com.squareup.okhttp3:logging-interceptor:4.12.0'
|
||||
|
||||
// WebSocket
|
||||
implementation 'com.squareup.okhttp3:okhttp:4.12.0'
|
||||
|
||||
// Image loading
|
||||
implementation 'com.github.bumptech.glide:glide:4.16.0'
|
||||
|
||||
// JSON parsing
|
||||
implementation 'com.google.code.gson:gson:2.10.1'
|
||||
|
||||
// Room database
|
||||
implementation 'androidx.room:room-runtime:2.6.1'
|
||||
implementation 'androidx.room:room-ktx:2.6.1'
|
||||
|
||||
// WorkManager
|
||||
implementation 'androidx.work:work-runtime-ktx:2.9.0'
|
||||
|
||||
testImplementation 'junit:junit:4.13.2'
|
||||
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.3'
|
||||
testImplementation 'io.mockk:mockk:1.13.8'
|
||||
testImplementation 'androidx.arch.core:core-testing:2.2.0'
|
||||
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
|
||||
}
|
||||
@@ -0,0 +1,169 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package com.crm.chat.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.crm.chat.R;
|
||||
import com.google.android.material.button.MaterialButton;
|
||||
import com.google.android.material.textfield.TextInputEditText;
|
||||
import com.google.android.material.textfield.TextInputLayout;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class ActivityAuthBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final ConstraintLayout rootView;
|
||||
|
||||
@NonNull
|
||||
public final MaterialButton additionalSettingsButton;
|
||||
|
||||
@NonNull
|
||||
public final TextView descriptionTextView;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText emailEditText;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout emailInputLayout;
|
||||
|
||||
@NonNull
|
||||
public final TextView errorTextView;
|
||||
|
||||
@NonNull
|
||||
public final MaterialButton loginButton;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText passwordEditText;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout passwordInputLayout;
|
||||
|
||||
@NonNull
|
||||
public final ProgressBar progressBar;
|
||||
|
||||
@NonNull
|
||||
public final TextView titleTextView;
|
||||
|
||||
private ActivityAuthBinding(@NonNull ConstraintLayout rootView,
|
||||
@NonNull MaterialButton additionalSettingsButton, @NonNull TextView descriptionTextView,
|
||||
@NonNull TextInputEditText emailEditText, @NonNull TextInputLayout emailInputLayout,
|
||||
@NonNull TextView errorTextView, @NonNull MaterialButton loginButton,
|
||||
@NonNull TextInputEditText passwordEditText, @NonNull TextInputLayout passwordInputLayout,
|
||||
@NonNull ProgressBar progressBar, @NonNull TextView titleTextView) {
|
||||
this.rootView = rootView;
|
||||
this.additionalSettingsButton = additionalSettingsButton;
|
||||
this.descriptionTextView = descriptionTextView;
|
||||
this.emailEditText = emailEditText;
|
||||
this.emailInputLayout = emailInputLayout;
|
||||
this.errorTextView = errorTextView;
|
||||
this.loginButton = loginButton;
|
||||
this.passwordEditText = passwordEditText;
|
||||
this.passwordInputLayout = passwordInputLayout;
|
||||
this.progressBar = progressBar;
|
||||
this.titleTextView = titleTextView;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public ConstraintLayout getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityAuthBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityAuthBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.activity_auth, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityAuthBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.additionalSettingsButton;
|
||||
MaterialButton additionalSettingsButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (additionalSettingsButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.descriptionTextView;
|
||||
TextView descriptionTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (descriptionTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.emailEditText;
|
||||
TextInputEditText emailEditText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (emailEditText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.emailInputLayout;
|
||||
TextInputLayout emailInputLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (emailInputLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.errorTextView;
|
||||
TextView errorTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (errorTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.loginButton;
|
||||
MaterialButton loginButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (loginButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.passwordEditText;
|
||||
TextInputEditText passwordEditText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (passwordEditText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.passwordInputLayout;
|
||||
TextInputLayout passwordInputLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (passwordInputLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.progressBar;
|
||||
ProgressBar progressBar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (progressBar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.titleTextView;
|
||||
TextView titleTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (titleTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new ActivityAuthBinding((ConstraintLayout) rootView, additionalSettingsButton,
|
||||
descriptionTextView, emailEditText, emailInputLayout, errorTextView, loginButton,
|
||||
passwordEditText, passwordInputLayout, progressBar, titleTextView);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,237 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package com.crm.chat.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.crm.chat.R;
|
||||
import com.google.android.material.button.MaterialButton;
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
import com.google.android.material.textfield.TextInputEditText;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class ActivityChatBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final ConstraintLayout rootView;
|
||||
|
||||
@NonNull
|
||||
public final MaterialButton attachButton;
|
||||
|
||||
@NonNull
|
||||
public final ConstraintLayout attachmentIndicators;
|
||||
|
||||
@NonNull
|
||||
public final ConstraintLayout fileAttachmentIndicator;
|
||||
|
||||
@NonNull
|
||||
public final TextView fileAttachmentText;
|
||||
|
||||
@NonNull
|
||||
public final ImageButton fileCancelButton;
|
||||
|
||||
@NonNull
|
||||
public final ProgressBar loadingProgressBar;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText messageEditText;
|
||||
|
||||
@NonNull
|
||||
public final ConstraintLayout messageInputLayout;
|
||||
|
||||
@NonNull
|
||||
public final RecyclerView messagesRecyclerView;
|
||||
|
||||
@NonNull
|
||||
public final ImageButton replyCancelButton;
|
||||
|
||||
@NonNull
|
||||
public final ConstraintLayout replyIndicator;
|
||||
|
||||
@NonNull
|
||||
public final TextView replyMessageText;
|
||||
|
||||
@NonNull
|
||||
public final TextView replySenderText;
|
||||
|
||||
@NonNull
|
||||
public final FloatingActionButton scrollToBottomFab;
|
||||
|
||||
@NonNull
|
||||
public final MaterialButton sendButton;
|
||||
|
||||
@NonNull
|
||||
public final Toolbar toolbar;
|
||||
|
||||
private ActivityChatBinding(@NonNull ConstraintLayout rootView,
|
||||
@NonNull MaterialButton attachButton, @NonNull ConstraintLayout attachmentIndicators,
|
||||
@NonNull ConstraintLayout fileAttachmentIndicator, @NonNull TextView fileAttachmentText,
|
||||
@NonNull ImageButton fileCancelButton, @NonNull ProgressBar loadingProgressBar,
|
||||
@NonNull TextInputEditText messageEditText, @NonNull ConstraintLayout messageInputLayout,
|
||||
@NonNull RecyclerView messagesRecyclerView, @NonNull ImageButton replyCancelButton,
|
||||
@NonNull ConstraintLayout replyIndicator, @NonNull TextView replyMessageText,
|
||||
@NonNull TextView replySenderText, @NonNull FloatingActionButton scrollToBottomFab,
|
||||
@NonNull MaterialButton sendButton, @NonNull Toolbar toolbar) {
|
||||
this.rootView = rootView;
|
||||
this.attachButton = attachButton;
|
||||
this.attachmentIndicators = attachmentIndicators;
|
||||
this.fileAttachmentIndicator = fileAttachmentIndicator;
|
||||
this.fileAttachmentText = fileAttachmentText;
|
||||
this.fileCancelButton = fileCancelButton;
|
||||
this.loadingProgressBar = loadingProgressBar;
|
||||
this.messageEditText = messageEditText;
|
||||
this.messageInputLayout = messageInputLayout;
|
||||
this.messagesRecyclerView = messagesRecyclerView;
|
||||
this.replyCancelButton = replyCancelButton;
|
||||
this.replyIndicator = replyIndicator;
|
||||
this.replyMessageText = replyMessageText;
|
||||
this.replySenderText = replySenderText;
|
||||
this.scrollToBottomFab = scrollToBottomFab;
|
||||
this.sendButton = sendButton;
|
||||
this.toolbar = toolbar;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public ConstraintLayout getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityChatBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityChatBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.activity_chat, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityChatBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.attachButton;
|
||||
MaterialButton attachButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (attachButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.attachmentIndicators;
|
||||
ConstraintLayout attachmentIndicators = ViewBindings.findChildViewById(rootView, id);
|
||||
if (attachmentIndicators == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.fileAttachmentIndicator;
|
||||
ConstraintLayout fileAttachmentIndicator = ViewBindings.findChildViewById(rootView, id);
|
||||
if (fileAttachmentIndicator == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.fileAttachmentText;
|
||||
TextView fileAttachmentText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (fileAttachmentText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.fileCancelButton;
|
||||
ImageButton fileCancelButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (fileCancelButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.loadingProgressBar;
|
||||
ProgressBar loadingProgressBar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (loadingProgressBar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.messageEditText;
|
||||
TextInputEditText messageEditText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (messageEditText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.messageInputLayout;
|
||||
ConstraintLayout messageInputLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (messageInputLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.messagesRecyclerView;
|
||||
RecyclerView messagesRecyclerView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (messagesRecyclerView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.replyCancelButton;
|
||||
ImageButton replyCancelButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (replyCancelButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.replyIndicator;
|
||||
ConstraintLayout replyIndicator = ViewBindings.findChildViewById(rootView, id);
|
||||
if (replyIndicator == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.replyMessageText;
|
||||
TextView replyMessageText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (replyMessageText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.replySenderText;
|
||||
TextView replySenderText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (replySenderText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.scrollToBottomFab;
|
||||
FloatingActionButton scrollToBottomFab = ViewBindings.findChildViewById(rootView, id);
|
||||
if (scrollToBottomFab == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.sendButton;
|
||||
MaterialButton sendButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (sendButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.toolbar;
|
||||
Toolbar toolbar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (toolbar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new ActivityChatBinding((ConstraintLayout) rootView, attachButton,
|
||||
attachmentIndicators, fileAttachmentIndicator, fileAttachmentText, fileCancelButton,
|
||||
loadingProgressBar, messageEditText, messageInputLayout, messagesRecyclerView,
|
||||
replyCancelButton, replyIndicator, replyMessageText, replySenderText, scrollToBottomFab,
|
||||
sendButton, toolbar);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,333 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package com.crm.chat.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.RadioButton;
|
||||
import android.widget.RadioGroup;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.crm.chat.R;
|
||||
import com.google.android.material.button.MaterialButton;
|
||||
import com.google.android.material.textfield.TextInputEditText;
|
||||
import com.google.android.material.textfield.TextInputLayout;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class ActivityCreateChatBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final ConstraintLayout rootView;
|
||||
|
||||
@NonNull
|
||||
public final TextView chatTypeLabel;
|
||||
|
||||
@NonNull
|
||||
public final RadioGroup chatTypeRadioGroup;
|
||||
|
||||
@NonNull
|
||||
public final TextView companionLabel;
|
||||
|
||||
@NonNull
|
||||
public final MaterialButton createButton;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText entityEditText;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout entityInputLayout;
|
||||
|
||||
@NonNull
|
||||
public final TextView entityLabel;
|
||||
|
||||
@NonNull
|
||||
public final TextView errorTextView;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText externalTitleEditText;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout externalTitleInputLayout;
|
||||
|
||||
@NonNull
|
||||
public final TextView externalTitleLabel;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText groupTitleEditText;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout groupTitleInputLayout;
|
||||
|
||||
@NonNull
|
||||
public final TextView groupTitleLabel;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText participantsEditText;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout participantsInputLayout;
|
||||
|
||||
@NonNull
|
||||
public final TextView participantsLabel;
|
||||
|
||||
@NonNull
|
||||
public final ProgressBar progressBar;
|
||||
|
||||
@NonNull
|
||||
public final TextView providerInfo;
|
||||
|
||||
@NonNull
|
||||
public final RadioButton radioExternal;
|
||||
|
||||
@NonNull
|
||||
public final RadioButton radioGroup;
|
||||
|
||||
@NonNull
|
||||
public final RadioButton radioPersonal;
|
||||
|
||||
@NonNull
|
||||
public final MaterialButton selectUserButton;
|
||||
|
||||
@NonNull
|
||||
public final TextView selectedUserTextView;
|
||||
|
||||
@NonNull
|
||||
public final TextView titleTextView;
|
||||
|
||||
private ActivityCreateChatBinding(@NonNull ConstraintLayout rootView,
|
||||
@NonNull TextView chatTypeLabel, @NonNull RadioGroup chatTypeRadioGroup,
|
||||
@NonNull TextView companionLabel, @NonNull MaterialButton createButton,
|
||||
@NonNull TextInputEditText entityEditText, @NonNull TextInputLayout entityInputLayout,
|
||||
@NonNull TextView entityLabel, @NonNull TextView errorTextView,
|
||||
@NonNull TextInputEditText externalTitleEditText,
|
||||
@NonNull TextInputLayout externalTitleInputLayout, @NonNull TextView externalTitleLabel,
|
||||
@NonNull TextInputEditText groupTitleEditText, @NonNull TextInputLayout groupTitleInputLayout,
|
||||
@NonNull TextView groupTitleLabel, @NonNull TextInputEditText participantsEditText,
|
||||
@NonNull TextInputLayout participantsInputLayout, @NonNull TextView participantsLabel,
|
||||
@NonNull ProgressBar progressBar, @NonNull TextView providerInfo,
|
||||
@NonNull RadioButton radioExternal, @NonNull RadioButton radioGroup,
|
||||
@NonNull RadioButton radioPersonal, @NonNull MaterialButton selectUserButton,
|
||||
@NonNull TextView selectedUserTextView, @NonNull TextView titleTextView) {
|
||||
this.rootView = rootView;
|
||||
this.chatTypeLabel = chatTypeLabel;
|
||||
this.chatTypeRadioGroup = chatTypeRadioGroup;
|
||||
this.companionLabel = companionLabel;
|
||||
this.createButton = createButton;
|
||||
this.entityEditText = entityEditText;
|
||||
this.entityInputLayout = entityInputLayout;
|
||||
this.entityLabel = entityLabel;
|
||||
this.errorTextView = errorTextView;
|
||||
this.externalTitleEditText = externalTitleEditText;
|
||||
this.externalTitleInputLayout = externalTitleInputLayout;
|
||||
this.externalTitleLabel = externalTitleLabel;
|
||||
this.groupTitleEditText = groupTitleEditText;
|
||||
this.groupTitleInputLayout = groupTitleInputLayout;
|
||||
this.groupTitleLabel = groupTitleLabel;
|
||||
this.participantsEditText = participantsEditText;
|
||||
this.participantsInputLayout = participantsInputLayout;
|
||||
this.participantsLabel = participantsLabel;
|
||||
this.progressBar = progressBar;
|
||||
this.providerInfo = providerInfo;
|
||||
this.radioExternal = radioExternal;
|
||||
this.radioGroup = radioGroup;
|
||||
this.radioPersonal = radioPersonal;
|
||||
this.selectUserButton = selectUserButton;
|
||||
this.selectedUserTextView = selectedUserTextView;
|
||||
this.titleTextView = titleTextView;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public ConstraintLayout getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityCreateChatBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityCreateChatBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.activity_create_chat, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityCreateChatBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.chatTypeLabel;
|
||||
TextView chatTypeLabel = ViewBindings.findChildViewById(rootView, id);
|
||||
if (chatTypeLabel == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.chatTypeRadioGroup;
|
||||
RadioGroup chatTypeRadioGroup = ViewBindings.findChildViewById(rootView, id);
|
||||
if (chatTypeRadioGroup == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.companionLabel;
|
||||
TextView companionLabel = ViewBindings.findChildViewById(rootView, id);
|
||||
if (companionLabel == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.createButton;
|
||||
MaterialButton createButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (createButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.entityEditText;
|
||||
TextInputEditText entityEditText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (entityEditText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.entityInputLayout;
|
||||
TextInputLayout entityInputLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (entityInputLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.entityLabel;
|
||||
TextView entityLabel = ViewBindings.findChildViewById(rootView, id);
|
||||
if (entityLabel == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.errorTextView;
|
||||
TextView errorTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (errorTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.externalTitleEditText;
|
||||
TextInputEditText externalTitleEditText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (externalTitleEditText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.externalTitleInputLayout;
|
||||
TextInputLayout externalTitleInputLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (externalTitleInputLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.externalTitleLabel;
|
||||
TextView externalTitleLabel = ViewBindings.findChildViewById(rootView, id);
|
||||
if (externalTitleLabel == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.groupTitleEditText;
|
||||
TextInputEditText groupTitleEditText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (groupTitleEditText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.groupTitleInputLayout;
|
||||
TextInputLayout groupTitleInputLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (groupTitleInputLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.groupTitleLabel;
|
||||
TextView groupTitleLabel = ViewBindings.findChildViewById(rootView, id);
|
||||
if (groupTitleLabel == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.participantsEditText;
|
||||
TextInputEditText participantsEditText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (participantsEditText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.participantsInputLayout;
|
||||
TextInputLayout participantsInputLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (participantsInputLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.participantsLabel;
|
||||
TextView participantsLabel = ViewBindings.findChildViewById(rootView, id);
|
||||
if (participantsLabel == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.progressBar;
|
||||
ProgressBar progressBar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (progressBar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.providerInfo;
|
||||
TextView providerInfo = ViewBindings.findChildViewById(rootView, id);
|
||||
if (providerInfo == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.radioExternal;
|
||||
RadioButton radioExternal = ViewBindings.findChildViewById(rootView, id);
|
||||
if (radioExternal == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.radioGroup;
|
||||
RadioButton radioGroup = ViewBindings.findChildViewById(rootView, id);
|
||||
if (radioGroup == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.radioPersonal;
|
||||
RadioButton radioPersonal = ViewBindings.findChildViewById(rootView, id);
|
||||
if (radioPersonal == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.selectUserButton;
|
||||
MaterialButton selectUserButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (selectUserButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.selectedUserTextView;
|
||||
TextView selectedUserTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (selectedUserTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.titleTextView;
|
||||
TextView titleTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (titleTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new ActivityCreateChatBinding((ConstraintLayout) rootView, chatTypeLabel,
|
||||
chatTypeRadioGroup, companionLabel, createButton, entityEditText, entityInputLayout,
|
||||
entityLabel, errorTextView, externalTitleEditText, externalTitleInputLayout,
|
||||
externalTitleLabel, groupTitleEditText, groupTitleInputLayout, groupTitleLabel,
|
||||
participantsEditText, participantsInputLayout, participantsLabel, progressBar,
|
||||
providerInfo, radioExternal, radioGroup, radioPersonal, selectUserButton,
|
||||
selectedUserTextView, titleTextView);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package com.crm.chat.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.coordinatorlayout.widget.CoordinatorLayout;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.crm.chat.R;
|
||||
import com.google.android.material.appbar.AppBarLayout;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class ActivityImageViewerBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final CoordinatorLayout rootView;
|
||||
|
||||
@NonNull
|
||||
public final AppBarLayout appBarLayout;
|
||||
|
||||
@NonNull
|
||||
public final ImageButton backButton;
|
||||
|
||||
@NonNull
|
||||
public final ImageButton downloadButton;
|
||||
|
||||
@NonNull
|
||||
public final ImageView imageView;
|
||||
|
||||
@NonNull
|
||||
public final Toolbar toolbar;
|
||||
|
||||
@NonNull
|
||||
public final TextView toolbarTitle;
|
||||
|
||||
private ActivityImageViewerBinding(@NonNull CoordinatorLayout rootView,
|
||||
@NonNull AppBarLayout appBarLayout, @NonNull ImageButton backButton,
|
||||
@NonNull ImageButton downloadButton, @NonNull ImageView imageView, @NonNull Toolbar toolbar,
|
||||
@NonNull TextView toolbarTitle) {
|
||||
this.rootView = rootView;
|
||||
this.appBarLayout = appBarLayout;
|
||||
this.backButton = backButton;
|
||||
this.downloadButton = downloadButton;
|
||||
this.imageView = imageView;
|
||||
this.toolbar = toolbar;
|
||||
this.toolbarTitle = toolbarTitle;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public CoordinatorLayout getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityImageViewerBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityImageViewerBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.activity_image_viewer, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityImageViewerBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.appBarLayout;
|
||||
AppBarLayout appBarLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (appBarLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.backButton;
|
||||
ImageButton backButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (backButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.downloadButton;
|
||||
ImageButton downloadButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (downloadButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.imageView;
|
||||
ImageView imageView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (imageView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.toolbar;
|
||||
Toolbar toolbar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (toolbar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.toolbarTitle;
|
||||
TextView toolbarTitle = ViewBindings.findChildViewById(rootView, id);
|
||||
if (toolbarTitle == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new ActivityImageViewerBinding((CoordinatorLayout) rootView, appBarLayout, backButton,
|
||||
downloadButton, imageView, toolbar, toolbarTitle);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,194 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package com.crm.chat.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.crm.chat.R;
|
||||
import com.google.android.material.button.MaterialButton;
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class ActivityMainBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final ConstraintLayout rootView;
|
||||
|
||||
@NonNull
|
||||
public final RecyclerView chatsRecyclerView;
|
||||
|
||||
@NonNull
|
||||
public final FloatingActionButton createChatFab;
|
||||
|
||||
@NonNull
|
||||
public final ConstraintLayout emptyStateLayout;
|
||||
|
||||
@NonNull
|
||||
public final TextView emptyStateTextView;
|
||||
|
||||
@NonNull
|
||||
public final ConstraintLayout errorStateLayout;
|
||||
|
||||
@NonNull
|
||||
public final TextView errorTextView;
|
||||
|
||||
@NonNull
|
||||
public final ProgressBar loadingProgressBar;
|
||||
|
||||
@NonNull
|
||||
public final ImageView logoImageView;
|
||||
|
||||
@NonNull
|
||||
public final ImageButton menuButton;
|
||||
|
||||
@NonNull
|
||||
public final MaterialButton retryButton;
|
||||
|
||||
@NonNull
|
||||
public final SwipeRefreshLayout swipeRefreshLayout;
|
||||
|
||||
@NonNull
|
||||
public final Toolbar toolbar;
|
||||
|
||||
private ActivityMainBinding(@NonNull ConstraintLayout rootView,
|
||||
@NonNull RecyclerView chatsRecyclerView, @NonNull FloatingActionButton createChatFab,
|
||||
@NonNull ConstraintLayout emptyStateLayout, @NonNull TextView emptyStateTextView,
|
||||
@NonNull ConstraintLayout errorStateLayout, @NonNull TextView errorTextView,
|
||||
@NonNull ProgressBar loadingProgressBar, @NonNull ImageView logoImageView,
|
||||
@NonNull ImageButton menuButton, @NonNull MaterialButton retryButton,
|
||||
@NonNull SwipeRefreshLayout swipeRefreshLayout, @NonNull Toolbar toolbar) {
|
||||
this.rootView = rootView;
|
||||
this.chatsRecyclerView = chatsRecyclerView;
|
||||
this.createChatFab = createChatFab;
|
||||
this.emptyStateLayout = emptyStateLayout;
|
||||
this.emptyStateTextView = emptyStateTextView;
|
||||
this.errorStateLayout = errorStateLayout;
|
||||
this.errorTextView = errorTextView;
|
||||
this.loadingProgressBar = loadingProgressBar;
|
||||
this.logoImageView = logoImageView;
|
||||
this.menuButton = menuButton;
|
||||
this.retryButton = retryButton;
|
||||
this.swipeRefreshLayout = swipeRefreshLayout;
|
||||
this.toolbar = toolbar;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public ConstraintLayout getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityMainBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityMainBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.activity_main, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityMainBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.chatsRecyclerView;
|
||||
RecyclerView chatsRecyclerView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (chatsRecyclerView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.createChatFab;
|
||||
FloatingActionButton createChatFab = ViewBindings.findChildViewById(rootView, id);
|
||||
if (createChatFab == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.emptyStateLayout;
|
||||
ConstraintLayout emptyStateLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (emptyStateLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.emptyStateTextView;
|
||||
TextView emptyStateTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (emptyStateTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.errorStateLayout;
|
||||
ConstraintLayout errorStateLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (errorStateLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.errorTextView;
|
||||
TextView errorTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (errorTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.loadingProgressBar;
|
||||
ProgressBar loadingProgressBar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (loadingProgressBar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.logoImageView;
|
||||
ImageView logoImageView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (logoImageView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.menuButton;
|
||||
ImageButton menuButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (menuButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.retryButton;
|
||||
MaterialButton retryButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (retryButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.swipeRefreshLayout;
|
||||
SwipeRefreshLayout swipeRefreshLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (swipeRefreshLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.toolbar;
|
||||
Toolbar toolbar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (toolbar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new ActivityMainBinding((ConstraintLayout) rootView, chatsRecyclerView, createChatFab,
|
||||
emptyStateLayout, emptyStateTextView, errorStateLayout, errorTextView, loadingProgressBar,
|
||||
logoImageView, menuButton, retryButton, swipeRefreshLayout, toolbar);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,225 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package com.crm.chat.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.crm.chat.R;
|
||||
import com.google.android.material.button.MaterialButton;
|
||||
import com.google.android.material.textfield.TextInputEditText;
|
||||
import com.google.android.material.textfield.TextInputLayout;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class ActivityProfileBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final ConstraintLayout rootView;
|
||||
|
||||
@NonNull
|
||||
public final TextView avatarHintTextView;
|
||||
|
||||
@NonNull
|
||||
public final ImageView avatarImageView;
|
||||
|
||||
@NonNull
|
||||
public final ConstraintLayout avatarSection;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText emailEditText;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout emailInputLayout;
|
||||
|
||||
@NonNull
|
||||
public final TextView errorTextView;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText firstNameEditText;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout firstNameInputLayout;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText lastNameEditText;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout lastNameInputLayout;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText phoneEditText;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout phoneInputLayout;
|
||||
|
||||
@NonNull
|
||||
public final ProgressBar progressBar;
|
||||
|
||||
@NonNull
|
||||
public final MaterialButton saveButton;
|
||||
|
||||
@NonNull
|
||||
public final Toolbar toolbar;
|
||||
|
||||
private ActivityProfileBinding(@NonNull ConstraintLayout rootView,
|
||||
@NonNull TextView avatarHintTextView, @NonNull ImageView avatarImageView,
|
||||
@NonNull ConstraintLayout avatarSection, @NonNull TextInputEditText emailEditText,
|
||||
@NonNull TextInputLayout emailInputLayout, @NonNull TextView errorTextView,
|
||||
@NonNull TextInputEditText firstNameEditText, @NonNull TextInputLayout firstNameInputLayout,
|
||||
@NonNull TextInputEditText lastNameEditText, @NonNull TextInputLayout lastNameInputLayout,
|
||||
@NonNull TextInputEditText phoneEditText, @NonNull TextInputLayout phoneInputLayout,
|
||||
@NonNull ProgressBar progressBar, @NonNull MaterialButton saveButton,
|
||||
@NonNull Toolbar toolbar) {
|
||||
this.rootView = rootView;
|
||||
this.avatarHintTextView = avatarHintTextView;
|
||||
this.avatarImageView = avatarImageView;
|
||||
this.avatarSection = avatarSection;
|
||||
this.emailEditText = emailEditText;
|
||||
this.emailInputLayout = emailInputLayout;
|
||||
this.errorTextView = errorTextView;
|
||||
this.firstNameEditText = firstNameEditText;
|
||||
this.firstNameInputLayout = firstNameInputLayout;
|
||||
this.lastNameEditText = lastNameEditText;
|
||||
this.lastNameInputLayout = lastNameInputLayout;
|
||||
this.phoneEditText = phoneEditText;
|
||||
this.phoneInputLayout = phoneInputLayout;
|
||||
this.progressBar = progressBar;
|
||||
this.saveButton = saveButton;
|
||||
this.toolbar = toolbar;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public ConstraintLayout getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityProfileBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityProfileBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.activity_profile, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityProfileBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.avatarHintTextView;
|
||||
TextView avatarHintTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (avatarHintTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.avatarImageView;
|
||||
ImageView avatarImageView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (avatarImageView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.avatarSection;
|
||||
ConstraintLayout avatarSection = ViewBindings.findChildViewById(rootView, id);
|
||||
if (avatarSection == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.emailEditText;
|
||||
TextInputEditText emailEditText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (emailEditText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.emailInputLayout;
|
||||
TextInputLayout emailInputLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (emailInputLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.errorTextView;
|
||||
TextView errorTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (errorTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.firstNameEditText;
|
||||
TextInputEditText firstNameEditText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (firstNameEditText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.firstNameInputLayout;
|
||||
TextInputLayout firstNameInputLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (firstNameInputLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.lastNameEditText;
|
||||
TextInputEditText lastNameEditText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (lastNameEditText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.lastNameInputLayout;
|
||||
TextInputLayout lastNameInputLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (lastNameInputLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.phoneEditText;
|
||||
TextInputEditText phoneEditText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (phoneEditText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.phoneInputLayout;
|
||||
TextInputLayout phoneInputLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (phoneInputLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.progressBar;
|
||||
ProgressBar progressBar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (progressBar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.saveButton;
|
||||
MaterialButton saveButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (saveButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.toolbar;
|
||||
Toolbar toolbar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (toolbar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new ActivityProfileBinding((ConstraintLayout) rootView, avatarHintTextView,
|
||||
avatarImageView, avatarSection, emailEditText, emailInputLayout, errorTextView,
|
||||
firstNameEditText, firstNameInputLayout, lastNameEditText, lastNameInputLayout,
|
||||
phoneEditText, phoneInputLayout, progressBar, saveButton, toolbar);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,204 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package com.crm.chat.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.crm.chat.R;
|
||||
import com.google.android.material.button.MaterialButton;
|
||||
import com.google.android.material.switchmaterial.SwitchMaterial;
|
||||
import com.google.android.material.textfield.TextInputEditText;
|
||||
import com.google.android.material.textfield.TextInputLayout;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class ActivitySettingsBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final ConstraintLayout rootView;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText apiKeyEditText;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout apiKeyInputLayout;
|
||||
|
||||
@NonNull
|
||||
public final TextView errorTextView;
|
||||
|
||||
@NonNull
|
||||
public final ProgressBar progressBar;
|
||||
|
||||
@NonNull
|
||||
public final MaterialButton saveButton;
|
||||
|
||||
@NonNull
|
||||
public final ConstraintLayout serverSection;
|
||||
|
||||
@NonNull
|
||||
public final TextView serverTitleTextView;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText serverUrlEditText;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout serverUrlInputLayout;
|
||||
|
||||
@NonNull
|
||||
public final ConstraintLayout themeSection;
|
||||
|
||||
@NonNull
|
||||
public final SwitchMaterial themeSwitch;
|
||||
|
||||
@NonNull
|
||||
public final TextView themeTitleTextView;
|
||||
|
||||
@NonNull
|
||||
public final Toolbar toolbar;
|
||||
|
||||
private ActivitySettingsBinding(@NonNull ConstraintLayout rootView,
|
||||
@NonNull TextInputEditText apiKeyEditText, @NonNull TextInputLayout apiKeyInputLayout,
|
||||
@NonNull TextView errorTextView, @NonNull ProgressBar progressBar,
|
||||
@NonNull MaterialButton saveButton, @NonNull ConstraintLayout serverSection,
|
||||
@NonNull TextView serverTitleTextView, @NonNull TextInputEditText serverUrlEditText,
|
||||
@NonNull TextInputLayout serverUrlInputLayout, @NonNull ConstraintLayout themeSection,
|
||||
@NonNull SwitchMaterial themeSwitch, @NonNull TextView themeTitleTextView,
|
||||
@NonNull Toolbar toolbar) {
|
||||
this.rootView = rootView;
|
||||
this.apiKeyEditText = apiKeyEditText;
|
||||
this.apiKeyInputLayout = apiKeyInputLayout;
|
||||
this.errorTextView = errorTextView;
|
||||
this.progressBar = progressBar;
|
||||
this.saveButton = saveButton;
|
||||
this.serverSection = serverSection;
|
||||
this.serverTitleTextView = serverTitleTextView;
|
||||
this.serverUrlEditText = serverUrlEditText;
|
||||
this.serverUrlInputLayout = serverUrlInputLayout;
|
||||
this.themeSection = themeSection;
|
||||
this.themeSwitch = themeSwitch;
|
||||
this.themeTitleTextView = themeTitleTextView;
|
||||
this.toolbar = toolbar;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public ConstraintLayout getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivitySettingsBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivitySettingsBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.activity_settings, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivitySettingsBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.apiKeyEditText;
|
||||
TextInputEditText apiKeyEditText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (apiKeyEditText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.apiKeyInputLayout;
|
||||
TextInputLayout apiKeyInputLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (apiKeyInputLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.errorTextView;
|
||||
TextView errorTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (errorTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.progressBar;
|
||||
ProgressBar progressBar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (progressBar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.saveButton;
|
||||
MaterialButton saveButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (saveButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.serverSection;
|
||||
ConstraintLayout serverSection = ViewBindings.findChildViewById(rootView, id);
|
||||
if (serverSection == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.serverTitleTextView;
|
||||
TextView serverTitleTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (serverTitleTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.serverUrlEditText;
|
||||
TextInputEditText serverUrlEditText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (serverUrlEditText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.serverUrlInputLayout;
|
||||
TextInputLayout serverUrlInputLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (serverUrlInputLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.themeSection;
|
||||
ConstraintLayout themeSection = ViewBindings.findChildViewById(rootView, id);
|
||||
if (themeSection == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.themeSwitch;
|
||||
SwitchMaterial themeSwitch = ViewBindings.findChildViewById(rootView, id);
|
||||
if (themeSwitch == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.themeTitleTextView;
|
||||
TextView themeTitleTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (themeTitleTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.toolbar;
|
||||
Toolbar toolbar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (toolbar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new ActivitySettingsBinding((ConstraintLayout) rootView, apiKeyEditText,
|
||||
apiKeyInputLayout, errorTextView, progressBar, saveButton, serverSection,
|
||||
serverTitleTextView, serverUrlEditText, serverUrlInputLayout, themeSection, themeSwitch,
|
||||
themeTitleTextView, toolbar);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,127 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package com.crm.chat.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.widget.SearchView;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.crm.chat.R;
|
||||
import com.google.android.material.button.MaterialButton;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class ActivityUserSelectionBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final ConstraintLayout rootView;
|
||||
|
||||
@NonNull
|
||||
public final MaterialButton doneButton;
|
||||
|
||||
@NonNull
|
||||
public final TextView emptyTextView;
|
||||
|
||||
@NonNull
|
||||
public final ProgressBar progressBar;
|
||||
|
||||
@NonNull
|
||||
public final SearchView searchView;
|
||||
|
||||
@NonNull
|
||||
public final Toolbar toolbar;
|
||||
|
||||
@NonNull
|
||||
public final RecyclerView usersRecyclerView;
|
||||
|
||||
private ActivityUserSelectionBinding(@NonNull ConstraintLayout rootView,
|
||||
@NonNull MaterialButton doneButton, @NonNull TextView emptyTextView,
|
||||
@NonNull ProgressBar progressBar, @NonNull SearchView searchView, @NonNull Toolbar toolbar,
|
||||
@NonNull RecyclerView usersRecyclerView) {
|
||||
this.rootView = rootView;
|
||||
this.doneButton = doneButton;
|
||||
this.emptyTextView = emptyTextView;
|
||||
this.progressBar = progressBar;
|
||||
this.searchView = searchView;
|
||||
this.toolbar = toolbar;
|
||||
this.usersRecyclerView = usersRecyclerView;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public ConstraintLayout getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityUserSelectionBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityUserSelectionBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.activity_user_selection, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityUserSelectionBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.doneButton;
|
||||
MaterialButton doneButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (doneButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.emptyTextView;
|
||||
TextView emptyTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (emptyTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.progressBar;
|
||||
ProgressBar progressBar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (progressBar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.searchView;
|
||||
SearchView searchView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (searchView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.toolbar;
|
||||
Toolbar toolbar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (toolbar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.usersRecyclerView;
|
||||
RecyclerView usersRecyclerView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (usersRecyclerView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new ActivityUserSelectionBinding((ConstraintLayout) rootView, doneButton,
|
||||
emptyTextView, progressBar, searchView, toolbar, usersRecyclerView);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package com.crm.chat.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.crm.chat.R;
|
||||
import com.google.android.material.card.MaterialCardView;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class ItemChatBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final MaterialCardView rootView;
|
||||
|
||||
@NonNull
|
||||
public final ImageView chatAvatarImageView;
|
||||
|
||||
@NonNull
|
||||
public final TextView chatNameTextView;
|
||||
|
||||
@NonNull
|
||||
public final TextView lastMessageTextView;
|
||||
|
||||
@NonNull
|
||||
public final TextView lastMessageTimeTextView;
|
||||
|
||||
@NonNull
|
||||
public final TextView unreadCountBadge;
|
||||
|
||||
private ItemChatBinding(@NonNull MaterialCardView rootView,
|
||||
@NonNull ImageView chatAvatarImageView, @NonNull TextView chatNameTextView,
|
||||
@NonNull TextView lastMessageTextView, @NonNull TextView lastMessageTimeTextView,
|
||||
@NonNull TextView unreadCountBadge) {
|
||||
this.rootView = rootView;
|
||||
this.chatAvatarImageView = chatAvatarImageView;
|
||||
this.chatNameTextView = chatNameTextView;
|
||||
this.lastMessageTextView = lastMessageTextView;
|
||||
this.lastMessageTimeTextView = lastMessageTimeTextView;
|
||||
this.unreadCountBadge = unreadCountBadge;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public MaterialCardView getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ItemChatBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ItemChatBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.item_chat, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ItemChatBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.chatAvatarImageView;
|
||||
ImageView chatAvatarImageView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (chatAvatarImageView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.chatNameTextView;
|
||||
TextView chatNameTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (chatNameTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.lastMessageTextView;
|
||||
TextView lastMessageTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (lastMessageTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.lastMessageTimeTextView;
|
||||
TextView lastMessageTimeTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (lastMessageTimeTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.unreadCountBadge;
|
||||
TextView unreadCountBadge = ViewBindings.findChildViewById(rootView, id);
|
||||
if (unreadCountBadge == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new ItemChatBinding((MaterialCardView) rootView, chatAvatarImageView, chatNameTextView,
|
||||
lastMessageTextView, lastMessageTimeTextView, unreadCountBadge);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,287 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package com.crm.chat.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.cardview.widget.CardView;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.crm.chat.R;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class ItemMessageBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final ConstraintLayout rootView;
|
||||
|
||||
@NonNull
|
||||
public final LinearLayout receivedFileLayout;
|
||||
|
||||
@NonNull
|
||||
public final TextView receivedFileNameText;
|
||||
|
||||
@NonNull
|
||||
public final ImageView receivedImagePreview;
|
||||
|
||||
@NonNull
|
||||
public final CardView receivedMessageCard;
|
||||
|
||||
@NonNull
|
||||
public final TextView receivedMessageText;
|
||||
|
||||
@NonNull
|
||||
public final LinearLayout receivedReplyIndicator;
|
||||
|
||||
@NonNull
|
||||
public final TextView receivedReplyMessageText;
|
||||
|
||||
@NonNull
|
||||
public final TextView receivedReplySenderText;
|
||||
|
||||
@NonNull
|
||||
public final LinearLayout replyIndicator;
|
||||
|
||||
@NonNull
|
||||
public final TextView replyMessageText;
|
||||
|
||||
@NonNull
|
||||
public final TextView replySenderText;
|
||||
|
||||
@NonNull
|
||||
public final TextView senderNameText;
|
||||
|
||||
@NonNull
|
||||
public final LinearLayout sentFileLayout;
|
||||
|
||||
@NonNull
|
||||
public final TextView sentFileNameText;
|
||||
|
||||
@NonNull
|
||||
public final ImageView sentImagePreview;
|
||||
|
||||
@NonNull
|
||||
public final CardView sentMessageCard;
|
||||
|
||||
@NonNull
|
||||
public final TextView sentMessageText;
|
||||
|
||||
@NonNull
|
||||
public final LinearLayout sentReplyIndicator;
|
||||
|
||||
@NonNull
|
||||
public final TextView sentReplyMessageText;
|
||||
|
||||
@NonNull
|
||||
public final TextView sentReplySenderText;
|
||||
|
||||
@NonNull
|
||||
public final TextView timestampText;
|
||||
|
||||
private ItemMessageBinding(@NonNull ConstraintLayout rootView,
|
||||
@NonNull LinearLayout receivedFileLayout, @NonNull TextView receivedFileNameText,
|
||||
@NonNull ImageView receivedImagePreview, @NonNull CardView receivedMessageCard,
|
||||
@NonNull TextView receivedMessageText, @NonNull LinearLayout receivedReplyIndicator,
|
||||
@NonNull TextView receivedReplyMessageText, @NonNull TextView receivedReplySenderText,
|
||||
@NonNull LinearLayout replyIndicator, @NonNull TextView replyMessageText,
|
||||
@NonNull TextView replySenderText, @NonNull TextView senderNameText,
|
||||
@NonNull LinearLayout sentFileLayout, @NonNull TextView sentFileNameText,
|
||||
@NonNull ImageView sentImagePreview, @NonNull CardView sentMessageCard,
|
||||
@NonNull TextView sentMessageText, @NonNull LinearLayout sentReplyIndicator,
|
||||
@NonNull TextView sentReplyMessageText, @NonNull TextView sentReplySenderText,
|
||||
@NonNull TextView timestampText) {
|
||||
this.rootView = rootView;
|
||||
this.receivedFileLayout = receivedFileLayout;
|
||||
this.receivedFileNameText = receivedFileNameText;
|
||||
this.receivedImagePreview = receivedImagePreview;
|
||||
this.receivedMessageCard = receivedMessageCard;
|
||||
this.receivedMessageText = receivedMessageText;
|
||||
this.receivedReplyIndicator = receivedReplyIndicator;
|
||||
this.receivedReplyMessageText = receivedReplyMessageText;
|
||||
this.receivedReplySenderText = receivedReplySenderText;
|
||||
this.replyIndicator = replyIndicator;
|
||||
this.replyMessageText = replyMessageText;
|
||||
this.replySenderText = replySenderText;
|
||||
this.senderNameText = senderNameText;
|
||||
this.sentFileLayout = sentFileLayout;
|
||||
this.sentFileNameText = sentFileNameText;
|
||||
this.sentImagePreview = sentImagePreview;
|
||||
this.sentMessageCard = sentMessageCard;
|
||||
this.sentMessageText = sentMessageText;
|
||||
this.sentReplyIndicator = sentReplyIndicator;
|
||||
this.sentReplyMessageText = sentReplyMessageText;
|
||||
this.sentReplySenderText = sentReplySenderText;
|
||||
this.timestampText = timestampText;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public ConstraintLayout getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ItemMessageBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ItemMessageBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.item_message, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ItemMessageBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.receivedFileLayout;
|
||||
LinearLayout receivedFileLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (receivedFileLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.receivedFileNameText;
|
||||
TextView receivedFileNameText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (receivedFileNameText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.receivedImagePreview;
|
||||
ImageView receivedImagePreview = ViewBindings.findChildViewById(rootView, id);
|
||||
if (receivedImagePreview == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.receivedMessageCard;
|
||||
CardView receivedMessageCard = ViewBindings.findChildViewById(rootView, id);
|
||||
if (receivedMessageCard == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.receivedMessageText;
|
||||
TextView receivedMessageText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (receivedMessageText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.receivedReplyIndicator;
|
||||
LinearLayout receivedReplyIndicator = ViewBindings.findChildViewById(rootView, id);
|
||||
if (receivedReplyIndicator == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.receivedReplyMessageText;
|
||||
TextView receivedReplyMessageText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (receivedReplyMessageText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.receivedReplySenderText;
|
||||
TextView receivedReplySenderText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (receivedReplySenderText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.replyIndicator;
|
||||
LinearLayout replyIndicator = ViewBindings.findChildViewById(rootView, id);
|
||||
if (replyIndicator == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.replyMessageText;
|
||||
TextView replyMessageText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (replyMessageText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.replySenderText;
|
||||
TextView replySenderText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (replySenderText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.senderNameText;
|
||||
TextView senderNameText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (senderNameText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.sentFileLayout;
|
||||
LinearLayout sentFileLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (sentFileLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.sentFileNameText;
|
||||
TextView sentFileNameText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (sentFileNameText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.sentImagePreview;
|
||||
ImageView sentImagePreview = ViewBindings.findChildViewById(rootView, id);
|
||||
if (sentImagePreview == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.sentMessageCard;
|
||||
CardView sentMessageCard = ViewBindings.findChildViewById(rootView, id);
|
||||
if (sentMessageCard == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.sentMessageText;
|
||||
TextView sentMessageText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (sentMessageText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.sentReplyIndicator;
|
||||
LinearLayout sentReplyIndicator = ViewBindings.findChildViewById(rootView, id);
|
||||
if (sentReplyIndicator == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.sentReplyMessageText;
|
||||
TextView sentReplyMessageText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (sentReplyMessageText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.sentReplySenderText;
|
||||
TextView sentReplySenderText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (sentReplySenderText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.timestampText;
|
||||
TextView timestampText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (timestampText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new ItemMessageBinding((ConstraintLayout) rootView, receivedFileLayout,
|
||||
receivedFileNameText, receivedImagePreview, receivedMessageCard, receivedMessageText,
|
||||
receivedReplyIndicator, receivedReplyMessageText, receivedReplySenderText, replyIndicator,
|
||||
replyMessageText, replySenderText, senderNameText, sentFileLayout, sentFileNameText,
|
||||
sentImagePreview, sentMessageCard, sentMessageText, sentReplyIndicator,
|
||||
sentReplyMessageText, sentReplySenderText, timestampText);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package com.crm.chat.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.crm.chat.R;
|
||||
import com.google.android.material.card.MaterialCardView;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class ItemUserBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final MaterialCardView rootView;
|
||||
|
||||
@NonNull
|
||||
public final ImageView userAvatarImageView;
|
||||
|
||||
@NonNull
|
||||
public final TextView userEmailTextView;
|
||||
|
||||
@NonNull
|
||||
public final TextView userIdTextView;
|
||||
|
||||
@NonNull
|
||||
public final TextView userNameTextView;
|
||||
|
||||
private ItemUserBinding(@NonNull MaterialCardView rootView,
|
||||
@NonNull ImageView userAvatarImageView, @NonNull TextView userEmailTextView,
|
||||
@NonNull TextView userIdTextView, @NonNull TextView userNameTextView) {
|
||||
this.rootView = rootView;
|
||||
this.userAvatarImageView = userAvatarImageView;
|
||||
this.userEmailTextView = userEmailTextView;
|
||||
this.userIdTextView = userIdTextView;
|
||||
this.userNameTextView = userNameTextView;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public MaterialCardView getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ItemUserBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ItemUserBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.item_user, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ItemUserBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.userAvatarImageView;
|
||||
ImageView userAvatarImageView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (userAvatarImageView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.userEmailTextView;
|
||||
TextView userEmailTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (userEmailTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.userIdTextView;
|
||||
TextView userIdTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (userIdTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.userNameTextView;
|
||||
TextView userNameTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (userNameTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new ItemUserBinding((MaterialCardView) rootView, userAvatarImageView,
|
||||
userEmailTextView, userIdTextView, userNameTextView);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package com.crm.chat.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.crm.chat.R;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class ToolbarChatBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final ConstraintLayout rootView;
|
||||
|
||||
@NonNull
|
||||
public final ImageButton backButton;
|
||||
|
||||
@NonNull
|
||||
public final ImageView chatAvatarImageView;
|
||||
|
||||
@NonNull
|
||||
public final TextView chatNameTextView;
|
||||
|
||||
private ToolbarChatBinding(@NonNull ConstraintLayout rootView, @NonNull ImageButton backButton,
|
||||
@NonNull ImageView chatAvatarImageView, @NonNull TextView chatNameTextView) {
|
||||
this.rootView = rootView;
|
||||
this.backButton = backButton;
|
||||
this.chatAvatarImageView = chatAvatarImageView;
|
||||
this.chatNameTextView = chatNameTextView;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public ConstraintLayout getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ToolbarChatBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ToolbarChatBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.toolbar_chat, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ToolbarChatBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.backButton;
|
||||
ImageButton backButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (backButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.chatAvatarImageView;
|
||||
ImageView chatAvatarImageView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (chatAvatarImageView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.chatNameTextView;
|
||||
TextView chatNameTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (chatNameTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new ToolbarChatBinding((ConstraintLayout) rootView, backButton, chatAvatarImageView,
|
||||
chatNameTextView);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,169 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package com.crm.chat.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.crm.chat.R;
|
||||
import com.google.android.material.button.MaterialButton;
|
||||
import com.google.android.material.textfield.TextInputEditText;
|
||||
import com.google.android.material.textfield.TextInputLayout;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class ActivityAuthBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final ConstraintLayout rootView;
|
||||
|
||||
@NonNull
|
||||
public final MaterialButton additionalSettingsButton;
|
||||
|
||||
@NonNull
|
||||
public final TextView descriptionTextView;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText emailEditText;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout emailInputLayout;
|
||||
|
||||
@NonNull
|
||||
public final TextView errorTextView;
|
||||
|
||||
@NonNull
|
||||
public final MaterialButton loginButton;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText passwordEditText;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout passwordInputLayout;
|
||||
|
||||
@NonNull
|
||||
public final ProgressBar progressBar;
|
||||
|
||||
@NonNull
|
||||
public final TextView titleTextView;
|
||||
|
||||
private ActivityAuthBinding(@NonNull ConstraintLayout rootView,
|
||||
@NonNull MaterialButton additionalSettingsButton, @NonNull TextView descriptionTextView,
|
||||
@NonNull TextInputEditText emailEditText, @NonNull TextInputLayout emailInputLayout,
|
||||
@NonNull TextView errorTextView, @NonNull MaterialButton loginButton,
|
||||
@NonNull TextInputEditText passwordEditText, @NonNull TextInputLayout passwordInputLayout,
|
||||
@NonNull ProgressBar progressBar, @NonNull TextView titleTextView) {
|
||||
this.rootView = rootView;
|
||||
this.additionalSettingsButton = additionalSettingsButton;
|
||||
this.descriptionTextView = descriptionTextView;
|
||||
this.emailEditText = emailEditText;
|
||||
this.emailInputLayout = emailInputLayout;
|
||||
this.errorTextView = errorTextView;
|
||||
this.loginButton = loginButton;
|
||||
this.passwordEditText = passwordEditText;
|
||||
this.passwordInputLayout = passwordInputLayout;
|
||||
this.progressBar = progressBar;
|
||||
this.titleTextView = titleTextView;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public ConstraintLayout getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityAuthBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityAuthBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.activity_auth, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityAuthBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.additionalSettingsButton;
|
||||
MaterialButton additionalSettingsButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (additionalSettingsButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.descriptionTextView;
|
||||
TextView descriptionTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (descriptionTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.emailEditText;
|
||||
TextInputEditText emailEditText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (emailEditText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.emailInputLayout;
|
||||
TextInputLayout emailInputLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (emailInputLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.errorTextView;
|
||||
TextView errorTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (errorTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.loginButton;
|
||||
MaterialButton loginButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (loginButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.passwordEditText;
|
||||
TextInputEditText passwordEditText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (passwordEditText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.passwordInputLayout;
|
||||
TextInputLayout passwordInputLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (passwordInputLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.progressBar;
|
||||
ProgressBar progressBar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (progressBar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.titleTextView;
|
||||
TextView titleTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (titleTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new ActivityAuthBinding((ConstraintLayout) rootView, additionalSettingsButton,
|
||||
descriptionTextView, emailEditText, emailInputLayout, errorTextView, loginButton,
|
||||
passwordEditText, passwordInputLayout, progressBar, titleTextView);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,237 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package com.crm.chat.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.crm.chat.R;
|
||||
import com.google.android.material.button.MaterialButton;
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
import com.google.android.material.textfield.TextInputEditText;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class ActivityChatBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final ConstraintLayout rootView;
|
||||
|
||||
@NonNull
|
||||
public final MaterialButton attachButton;
|
||||
|
||||
@NonNull
|
||||
public final ConstraintLayout attachmentIndicators;
|
||||
|
||||
@NonNull
|
||||
public final ConstraintLayout fileAttachmentIndicator;
|
||||
|
||||
@NonNull
|
||||
public final TextView fileAttachmentText;
|
||||
|
||||
@NonNull
|
||||
public final ImageButton fileCancelButton;
|
||||
|
||||
@NonNull
|
||||
public final ProgressBar loadingProgressBar;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText messageEditText;
|
||||
|
||||
@NonNull
|
||||
public final ConstraintLayout messageInputLayout;
|
||||
|
||||
@NonNull
|
||||
public final RecyclerView messagesRecyclerView;
|
||||
|
||||
@NonNull
|
||||
public final ImageButton replyCancelButton;
|
||||
|
||||
@NonNull
|
||||
public final ConstraintLayout replyIndicator;
|
||||
|
||||
@NonNull
|
||||
public final TextView replyMessageText;
|
||||
|
||||
@NonNull
|
||||
public final TextView replySenderText;
|
||||
|
||||
@NonNull
|
||||
public final FloatingActionButton scrollToBottomFab;
|
||||
|
||||
@NonNull
|
||||
public final MaterialButton sendButton;
|
||||
|
||||
@NonNull
|
||||
public final Toolbar toolbar;
|
||||
|
||||
private ActivityChatBinding(@NonNull ConstraintLayout rootView,
|
||||
@NonNull MaterialButton attachButton, @NonNull ConstraintLayout attachmentIndicators,
|
||||
@NonNull ConstraintLayout fileAttachmentIndicator, @NonNull TextView fileAttachmentText,
|
||||
@NonNull ImageButton fileCancelButton, @NonNull ProgressBar loadingProgressBar,
|
||||
@NonNull TextInputEditText messageEditText, @NonNull ConstraintLayout messageInputLayout,
|
||||
@NonNull RecyclerView messagesRecyclerView, @NonNull ImageButton replyCancelButton,
|
||||
@NonNull ConstraintLayout replyIndicator, @NonNull TextView replyMessageText,
|
||||
@NonNull TextView replySenderText, @NonNull FloatingActionButton scrollToBottomFab,
|
||||
@NonNull MaterialButton sendButton, @NonNull Toolbar toolbar) {
|
||||
this.rootView = rootView;
|
||||
this.attachButton = attachButton;
|
||||
this.attachmentIndicators = attachmentIndicators;
|
||||
this.fileAttachmentIndicator = fileAttachmentIndicator;
|
||||
this.fileAttachmentText = fileAttachmentText;
|
||||
this.fileCancelButton = fileCancelButton;
|
||||
this.loadingProgressBar = loadingProgressBar;
|
||||
this.messageEditText = messageEditText;
|
||||
this.messageInputLayout = messageInputLayout;
|
||||
this.messagesRecyclerView = messagesRecyclerView;
|
||||
this.replyCancelButton = replyCancelButton;
|
||||
this.replyIndicator = replyIndicator;
|
||||
this.replyMessageText = replyMessageText;
|
||||
this.replySenderText = replySenderText;
|
||||
this.scrollToBottomFab = scrollToBottomFab;
|
||||
this.sendButton = sendButton;
|
||||
this.toolbar = toolbar;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public ConstraintLayout getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityChatBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityChatBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.activity_chat, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityChatBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.attachButton;
|
||||
MaterialButton attachButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (attachButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.attachmentIndicators;
|
||||
ConstraintLayout attachmentIndicators = ViewBindings.findChildViewById(rootView, id);
|
||||
if (attachmentIndicators == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.fileAttachmentIndicator;
|
||||
ConstraintLayout fileAttachmentIndicator = ViewBindings.findChildViewById(rootView, id);
|
||||
if (fileAttachmentIndicator == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.fileAttachmentText;
|
||||
TextView fileAttachmentText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (fileAttachmentText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.fileCancelButton;
|
||||
ImageButton fileCancelButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (fileCancelButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.loadingProgressBar;
|
||||
ProgressBar loadingProgressBar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (loadingProgressBar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.messageEditText;
|
||||
TextInputEditText messageEditText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (messageEditText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.messageInputLayout;
|
||||
ConstraintLayout messageInputLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (messageInputLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.messagesRecyclerView;
|
||||
RecyclerView messagesRecyclerView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (messagesRecyclerView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.replyCancelButton;
|
||||
ImageButton replyCancelButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (replyCancelButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.replyIndicator;
|
||||
ConstraintLayout replyIndicator = ViewBindings.findChildViewById(rootView, id);
|
||||
if (replyIndicator == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.replyMessageText;
|
||||
TextView replyMessageText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (replyMessageText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.replySenderText;
|
||||
TextView replySenderText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (replySenderText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.scrollToBottomFab;
|
||||
FloatingActionButton scrollToBottomFab = ViewBindings.findChildViewById(rootView, id);
|
||||
if (scrollToBottomFab == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.sendButton;
|
||||
MaterialButton sendButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (sendButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.toolbar;
|
||||
Toolbar toolbar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (toolbar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new ActivityChatBinding((ConstraintLayout) rootView, attachButton,
|
||||
attachmentIndicators, fileAttachmentIndicator, fileAttachmentText, fileCancelButton,
|
||||
loadingProgressBar, messageEditText, messageInputLayout, messagesRecyclerView,
|
||||
replyCancelButton, replyIndicator, replyMessageText, replySenderText, scrollToBottomFab,
|
||||
sendButton, toolbar);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,333 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package com.crm.chat.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.RadioButton;
|
||||
import android.widget.RadioGroup;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.crm.chat.R;
|
||||
import com.google.android.material.button.MaterialButton;
|
||||
import com.google.android.material.textfield.TextInputEditText;
|
||||
import com.google.android.material.textfield.TextInputLayout;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class ActivityCreateChatBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final ConstraintLayout rootView;
|
||||
|
||||
@NonNull
|
||||
public final TextView chatTypeLabel;
|
||||
|
||||
@NonNull
|
||||
public final RadioGroup chatTypeRadioGroup;
|
||||
|
||||
@NonNull
|
||||
public final TextView companionLabel;
|
||||
|
||||
@NonNull
|
||||
public final MaterialButton createButton;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText entityEditText;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout entityInputLayout;
|
||||
|
||||
@NonNull
|
||||
public final TextView entityLabel;
|
||||
|
||||
@NonNull
|
||||
public final TextView errorTextView;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText externalTitleEditText;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout externalTitleInputLayout;
|
||||
|
||||
@NonNull
|
||||
public final TextView externalTitleLabel;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText groupTitleEditText;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout groupTitleInputLayout;
|
||||
|
||||
@NonNull
|
||||
public final TextView groupTitleLabel;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText participantsEditText;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout participantsInputLayout;
|
||||
|
||||
@NonNull
|
||||
public final TextView participantsLabel;
|
||||
|
||||
@NonNull
|
||||
public final ProgressBar progressBar;
|
||||
|
||||
@NonNull
|
||||
public final TextView providerInfo;
|
||||
|
||||
@NonNull
|
||||
public final RadioButton radioExternal;
|
||||
|
||||
@NonNull
|
||||
public final RadioButton radioGroup;
|
||||
|
||||
@NonNull
|
||||
public final RadioButton radioPersonal;
|
||||
|
||||
@NonNull
|
||||
public final MaterialButton selectUserButton;
|
||||
|
||||
@NonNull
|
||||
public final TextView selectedUserTextView;
|
||||
|
||||
@NonNull
|
||||
public final TextView titleTextView;
|
||||
|
||||
private ActivityCreateChatBinding(@NonNull ConstraintLayout rootView,
|
||||
@NonNull TextView chatTypeLabel, @NonNull RadioGroup chatTypeRadioGroup,
|
||||
@NonNull TextView companionLabel, @NonNull MaterialButton createButton,
|
||||
@NonNull TextInputEditText entityEditText, @NonNull TextInputLayout entityInputLayout,
|
||||
@NonNull TextView entityLabel, @NonNull TextView errorTextView,
|
||||
@NonNull TextInputEditText externalTitleEditText,
|
||||
@NonNull TextInputLayout externalTitleInputLayout, @NonNull TextView externalTitleLabel,
|
||||
@NonNull TextInputEditText groupTitleEditText, @NonNull TextInputLayout groupTitleInputLayout,
|
||||
@NonNull TextView groupTitleLabel, @NonNull TextInputEditText participantsEditText,
|
||||
@NonNull TextInputLayout participantsInputLayout, @NonNull TextView participantsLabel,
|
||||
@NonNull ProgressBar progressBar, @NonNull TextView providerInfo,
|
||||
@NonNull RadioButton radioExternal, @NonNull RadioButton radioGroup,
|
||||
@NonNull RadioButton radioPersonal, @NonNull MaterialButton selectUserButton,
|
||||
@NonNull TextView selectedUserTextView, @NonNull TextView titleTextView) {
|
||||
this.rootView = rootView;
|
||||
this.chatTypeLabel = chatTypeLabel;
|
||||
this.chatTypeRadioGroup = chatTypeRadioGroup;
|
||||
this.companionLabel = companionLabel;
|
||||
this.createButton = createButton;
|
||||
this.entityEditText = entityEditText;
|
||||
this.entityInputLayout = entityInputLayout;
|
||||
this.entityLabel = entityLabel;
|
||||
this.errorTextView = errorTextView;
|
||||
this.externalTitleEditText = externalTitleEditText;
|
||||
this.externalTitleInputLayout = externalTitleInputLayout;
|
||||
this.externalTitleLabel = externalTitleLabel;
|
||||
this.groupTitleEditText = groupTitleEditText;
|
||||
this.groupTitleInputLayout = groupTitleInputLayout;
|
||||
this.groupTitleLabel = groupTitleLabel;
|
||||
this.participantsEditText = participantsEditText;
|
||||
this.participantsInputLayout = participantsInputLayout;
|
||||
this.participantsLabel = participantsLabel;
|
||||
this.progressBar = progressBar;
|
||||
this.providerInfo = providerInfo;
|
||||
this.radioExternal = radioExternal;
|
||||
this.radioGroup = radioGroup;
|
||||
this.radioPersonal = radioPersonal;
|
||||
this.selectUserButton = selectUserButton;
|
||||
this.selectedUserTextView = selectedUserTextView;
|
||||
this.titleTextView = titleTextView;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public ConstraintLayout getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityCreateChatBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityCreateChatBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.activity_create_chat, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityCreateChatBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.chatTypeLabel;
|
||||
TextView chatTypeLabel = ViewBindings.findChildViewById(rootView, id);
|
||||
if (chatTypeLabel == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.chatTypeRadioGroup;
|
||||
RadioGroup chatTypeRadioGroup = ViewBindings.findChildViewById(rootView, id);
|
||||
if (chatTypeRadioGroup == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.companionLabel;
|
||||
TextView companionLabel = ViewBindings.findChildViewById(rootView, id);
|
||||
if (companionLabel == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.createButton;
|
||||
MaterialButton createButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (createButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.entityEditText;
|
||||
TextInputEditText entityEditText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (entityEditText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.entityInputLayout;
|
||||
TextInputLayout entityInputLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (entityInputLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.entityLabel;
|
||||
TextView entityLabel = ViewBindings.findChildViewById(rootView, id);
|
||||
if (entityLabel == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.errorTextView;
|
||||
TextView errorTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (errorTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.externalTitleEditText;
|
||||
TextInputEditText externalTitleEditText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (externalTitleEditText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.externalTitleInputLayout;
|
||||
TextInputLayout externalTitleInputLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (externalTitleInputLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.externalTitleLabel;
|
||||
TextView externalTitleLabel = ViewBindings.findChildViewById(rootView, id);
|
||||
if (externalTitleLabel == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.groupTitleEditText;
|
||||
TextInputEditText groupTitleEditText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (groupTitleEditText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.groupTitleInputLayout;
|
||||
TextInputLayout groupTitleInputLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (groupTitleInputLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.groupTitleLabel;
|
||||
TextView groupTitleLabel = ViewBindings.findChildViewById(rootView, id);
|
||||
if (groupTitleLabel == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.participantsEditText;
|
||||
TextInputEditText participantsEditText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (participantsEditText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.participantsInputLayout;
|
||||
TextInputLayout participantsInputLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (participantsInputLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.participantsLabel;
|
||||
TextView participantsLabel = ViewBindings.findChildViewById(rootView, id);
|
||||
if (participantsLabel == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.progressBar;
|
||||
ProgressBar progressBar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (progressBar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.providerInfo;
|
||||
TextView providerInfo = ViewBindings.findChildViewById(rootView, id);
|
||||
if (providerInfo == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.radioExternal;
|
||||
RadioButton radioExternal = ViewBindings.findChildViewById(rootView, id);
|
||||
if (radioExternal == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.radioGroup;
|
||||
RadioButton radioGroup = ViewBindings.findChildViewById(rootView, id);
|
||||
if (radioGroup == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.radioPersonal;
|
||||
RadioButton radioPersonal = ViewBindings.findChildViewById(rootView, id);
|
||||
if (radioPersonal == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.selectUserButton;
|
||||
MaterialButton selectUserButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (selectUserButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.selectedUserTextView;
|
||||
TextView selectedUserTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (selectedUserTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.titleTextView;
|
||||
TextView titleTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (titleTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new ActivityCreateChatBinding((ConstraintLayout) rootView, chatTypeLabel,
|
||||
chatTypeRadioGroup, companionLabel, createButton, entityEditText, entityInputLayout,
|
||||
entityLabel, errorTextView, externalTitleEditText, externalTitleInputLayout,
|
||||
externalTitleLabel, groupTitleEditText, groupTitleInputLayout, groupTitleLabel,
|
||||
participantsEditText, participantsInputLayout, participantsLabel, progressBar,
|
||||
providerInfo, radioExternal, radioGroup, radioPersonal, selectUserButton,
|
||||
selectedUserTextView, titleTextView);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package com.crm.chat.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.coordinatorlayout.widget.CoordinatorLayout;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.crm.chat.R;
|
||||
import com.google.android.material.appbar.AppBarLayout;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class ActivityImageViewerBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final CoordinatorLayout rootView;
|
||||
|
||||
@NonNull
|
||||
public final AppBarLayout appBarLayout;
|
||||
|
||||
@NonNull
|
||||
public final ImageButton backButton;
|
||||
|
||||
@NonNull
|
||||
public final ImageButton downloadButton;
|
||||
|
||||
@NonNull
|
||||
public final ImageView imageView;
|
||||
|
||||
@NonNull
|
||||
public final Toolbar toolbar;
|
||||
|
||||
@NonNull
|
||||
public final TextView toolbarTitle;
|
||||
|
||||
private ActivityImageViewerBinding(@NonNull CoordinatorLayout rootView,
|
||||
@NonNull AppBarLayout appBarLayout, @NonNull ImageButton backButton,
|
||||
@NonNull ImageButton downloadButton, @NonNull ImageView imageView, @NonNull Toolbar toolbar,
|
||||
@NonNull TextView toolbarTitle) {
|
||||
this.rootView = rootView;
|
||||
this.appBarLayout = appBarLayout;
|
||||
this.backButton = backButton;
|
||||
this.downloadButton = downloadButton;
|
||||
this.imageView = imageView;
|
||||
this.toolbar = toolbar;
|
||||
this.toolbarTitle = toolbarTitle;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public CoordinatorLayout getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityImageViewerBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityImageViewerBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.activity_image_viewer, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityImageViewerBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.appBarLayout;
|
||||
AppBarLayout appBarLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (appBarLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.backButton;
|
||||
ImageButton backButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (backButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.downloadButton;
|
||||
ImageButton downloadButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (downloadButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.imageView;
|
||||
ImageView imageView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (imageView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.toolbar;
|
||||
Toolbar toolbar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (toolbar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.toolbarTitle;
|
||||
TextView toolbarTitle = ViewBindings.findChildViewById(rootView, id);
|
||||
if (toolbarTitle == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new ActivityImageViewerBinding((CoordinatorLayout) rootView, appBarLayout, backButton,
|
||||
downloadButton, imageView, toolbar, toolbarTitle);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,194 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package com.crm.chat.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.crm.chat.R;
|
||||
import com.google.android.material.button.MaterialButton;
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class ActivityMainBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final ConstraintLayout rootView;
|
||||
|
||||
@NonNull
|
||||
public final RecyclerView chatsRecyclerView;
|
||||
|
||||
@NonNull
|
||||
public final FloatingActionButton createChatFab;
|
||||
|
||||
@NonNull
|
||||
public final ConstraintLayout emptyStateLayout;
|
||||
|
||||
@NonNull
|
||||
public final TextView emptyStateTextView;
|
||||
|
||||
@NonNull
|
||||
public final ConstraintLayout errorStateLayout;
|
||||
|
||||
@NonNull
|
||||
public final TextView errorTextView;
|
||||
|
||||
@NonNull
|
||||
public final ProgressBar loadingProgressBar;
|
||||
|
||||
@NonNull
|
||||
public final ImageView logoImageView;
|
||||
|
||||
@NonNull
|
||||
public final ImageButton menuButton;
|
||||
|
||||
@NonNull
|
||||
public final MaterialButton retryButton;
|
||||
|
||||
@NonNull
|
||||
public final SwipeRefreshLayout swipeRefreshLayout;
|
||||
|
||||
@NonNull
|
||||
public final Toolbar toolbar;
|
||||
|
||||
private ActivityMainBinding(@NonNull ConstraintLayout rootView,
|
||||
@NonNull RecyclerView chatsRecyclerView, @NonNull FloatingActionButton createChatFab,
|
||||
@NonNull ConstraintLayout emptyStateLayout, @NonNull TextView emptyStateTextView,
|
||||
@NonNull ConstraintLayout errorStateLayout, @NonNull TextView errorTextView,
|
||||
@NonNull ProgressBar loadingProgressBar, @NonNull ImageView logoImageView,
|
||||
@NonNull ImageButton menuButton, @NonNull MaterialButton retryButton,
|
||||
@NonNull SwipeRefreshLayout swipeRefreshLayout, @NonNull Toolbar toolbar) {
|
||||
this.rootView = rootView;
|
||||
this.chatsRecyclerView = chatsRecyclerView;
|
||||
this.createChatFab = createChatFab;
|
||||
this.emptyStateLayout = emptyStateLayout;
|
||||
this.emptyStateTextView = emptyStateTextView;
|
||||
this.errorStateLayout = errorStateLayout;
|
||||
this.errorTextView = errorTextView;
|
||||
this.loadingProgressBar = loadingProgressBar;
|
||||
this.logoImageView = logoImageView;
|
||||
this.menuButton = menuButton;
|
||||
this.retryButton = retryButton;
|
||||
this.swipeRefreshLayout = swipeRefreshLayout;
|
||||
this.toolbar = toolbar;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public ConstraintLayout getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityMainBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityMainBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.activity_main, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityMainBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.chatsRecyclerView;
|
||||
RecyclerView chatsRecyclerView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (chatsRecyclerView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.createChatFab;
|
||||
FloatingActionButton createChatFab = ViewBindings.findChildViewById(rootView, id);
|
||||
if (createChatFab == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.emptyStateLayout;
|
||||
ConstraintLayout emptyStateLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (emptyStateLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.emptyStateTextView;
|
||||
TextView emptyStateTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (emptyStateTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.errorStateLayout;
|
||||
ConstraintLayout errorStateLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (errorStateLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.errorTextView;
|
||||
TextView errorTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (errorTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.loadingProgressBar;
|
||||
ProgressBar loadingProgressBar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (loadingProgressBar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.logoImageView;
|
||||
ImageView logoImageView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (logoImageView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.menuButton;
|
||||
ImageButton menuButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (menuButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.retryButton;
|
||||
MaterialButton retryButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (retryButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.swipeRefreshLayout;
|
||||
SwipeRefreshLayout swipeRefreshLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (swipeRefreshLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.toolbar;
|
||||
Toolbar toolbar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (toolbar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new ActivityMainBinding((ConstraintLayout) rootView, chatsRecyclerView, createChatFab,
|
||||
emptyStateLayout, emptyStateTextView, errorStateLayout, errorTextView, loadingProgressBar,
|
||||
logoImageView, menuButton, retryButton, swipeRefreshLayout, toolbar);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,225 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package com.crm.chat.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.crm.chat.R;
|
||||
import com.google.android.material.button.MaterialButton;
|
||||
import com.google.android.material.textfield.TextInputEditText;
|
||||
import com.google.android.material.textfield.TextInputLayout;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class ActivityProfileBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final ConstraintLayout rootView;
|
||||
|
||||
@NonNull
|
||||
public final TextView avatarHintTextView;
|
||||
|
||||
@NonNull
|
||||
public final ImageView avatarImageView;
|
||||
|
||||
@NonNull
|
||||
public final ConstraintLayout avatarSection;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText emailEditText;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout emailInputLayout;
|
||||
|
||||
@NonNull
|
||||
public final TextView errorTextView;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText firstNameEditText;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout firstNameInputLayout;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText lastNameEditText;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout lastNameInputLayout;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText phoneEditText;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout phoneInputLayout;
|
||||
|
||||
@NonNull
|
||||
public final ProgressBar progressBar;
|
||||
|
||||
@NonNull
|
||||
public final MaterialButton saveButton;
|
||||
|
||||
@NonNull
|
||||
public final Toolbar toolbar;
|
||||
|
||||
private ActivityProfileBinding(@NonNull ConstraintLayout rootView,
|
||||
@NonNull TextView avatarHintTextView, @NonNull ImageView avatarImageView,
|
||||
@NonNull ConstraintLayout avatarSection, @NonNull TextInputEditText emailEditText,
|
||||
@NonNull TextInputLayout emailInputLayout, @NonNull TextView errorTextView,
|
||||
@NonNull TextInputEditText firstNameEditText, @NonNull TextInputLayout firstNameInputLayout,
|
||||
@NonNull TextInputEditText lastNameEditText, @NonNull TextInputLayout lastNameInputLayout,
|
||||
@NonNull TextInputEditText phoneEditText, @NonNull TextInputLayout phoneInputLayout,
|
||||
@NonNull ProgressBar progressBar, @NonNull MaterialButton saveButton,
|
||||
@NonNull Toolbar toolbar) {
|
||||
this.rootView = rootView;
|
||||
this.avatarHintTextView = avatarHintTextView;
|
||||
this.avatarImageView = avatarImageView;
|
||||
this.avatarSection = avatarSection;
|
||||
this.emailEditText = emailEditText;
|
||||
this.emailInputLayout = emailInputLayout;
|
||||
this.errorTextView = errorTextView;
|
||||
this.firstNameEditText = firstNameEditText;
|
||||
this.firstNameInputLayout = firstNameInputLayout;
|
||||
this.lastNameEditText = lastNameEditText;
|
||||
this.lastNameInputLayout = lastNameInputLayout;
|
||||
this.phoneEditText = phoneEditText;
|
||||
this.phoneInputLayout = phoneInputLayout;
|
||||
this.progressBar = progressBar;
|
||||
this.saveButton = saveButton;
|
||||
this.toolbar = toolbar;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public ConstraintLayout getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityProfileBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityProfileBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.activity_profile, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityProfileBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.avatarHintTextView;
|
||||
TextView avatarHintTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (avatarHintTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.avatarImageView;
|
||||
ImageView avatarImageView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (avatarImageView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.avatarSection;
|
||||
ConstraintLayout avatarSection = ViewBindings.findChildViewById(rootView, id);
|
||||
if (avatarSection == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.emailEditText;
|
||||
TextInputEditText emailEditText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (emailEditText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.emailInputLayout;
|
||||
TextInputLayout emailInputLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (emailInputLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.errorTextView;
|
||||
TextView errorTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (errorTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.firstNameEditText;
|
||||
TextInputEditText firstNameEditText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (firstNameEditText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.firstNameInputLayout;
|
||||
TextInputLayout firstNameInputLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (firstNameInputLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.lastNameEditText;
|
||||
TextInputEditText lastNameEditText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (lastNameEditText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.lastNameInputLayout;
|
||||
TextInputLayout lastNameInputLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (lastNameInputLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.phoneEditText;
|
||||
TextInputEditText phoneEditText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (phoneEditText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.phoneInputLayout;
|
||||
TextInputLayout phoneInputLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (phoneInputLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.progressBar;
|
||||
ProgressBar progressBar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (progressBar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.saveButton;
|
||||
MaterialButton saveButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (saveButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.toolbar;
|
||||
Toolbar toolbar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (toolbar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new ActivityProfileBinding((ConstraintLayout) rootView, avatarHintTextView,
|
||||
avatarImageView, avatarSection, emailEditText, emailInputLayout, errorTextView,
|
||||
firstNameEditText, firstNameInputLayout, lastNameEditText, lastNameInputLayout,
|
||||
phoneEditText, phoneInputLayout, progressBar, saveButton, toolbar);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,204 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package com.crm.chat.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.crm.chat.R;
|
||||
import com.google.android.material.button.MaterialButton;
|
||||
import com.google.android.material.switchmaterial.SwitchMaterial;
|
||||
import com.google.android.material.textfield.TextInputEditText;
|
||||
import com.google.android.material.textfield.TextInputLayout;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class ActivitySettingsBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final ConstraintLayout rootView;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText apiKeyEditText;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout apiKeyInputLayout;
|
||||
|
||||
@NonNull
|
||||
public final TextView errorTextView;
|
||||
|
||||
@NonNull
|
||||
public final ProgressBar progressBar;
|
||||
|
||||
@NonNull
|
||||
public final MaterialButton saveButton;
|
||||
|
||||
@NonNull
|
||||
public final ConstraintLayout serverSection;
|
||||
|
||||
@NonNull
|
||||
public final TextView serverTitleTextView;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText serverUrlEditText;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout serverUrlInputLayout;
|
||||
|
||||
@NonNull
|
||||
public final ConstraintLayout themeSection;
|
||||
|
||||
@NonNull
|
||||
public final SwitchMaterial themeSwitch;
|
||||
|
||||
@NonNull
|
||||
public final TextView themeTitleTextView;
|
||||
|
||||
@NonNull
|
||||
public final Toolbar toolbar;
|
||||
|
||||
private ActivitySettingsBinding(@NonNull ConstraintLayout rootView,
|
||||
@NonNull TextInputEditText apiKeyEditText, @NonNull TextInputLayout apiKeyInputLayout,
|
||||
@NonNull TextView errorTextView, @NonNull ProgressBar progressBar,
|
||||
@NonNull MaterialButton saveButton, @NonNull ConstraintLayout serverSection,
|
||||
@NonNull TextView serverTitleTextView, @NonNull TextInputEditText serverUrlEditText,
|
||||
@NonNull TextInputLayout serverUrlInputLayout, @NonNull ConstraintLayout themeSection,
|
||||
@NonNull SwitchMaterial themeSwitch, @NonNull TextView themeTitleTextView,
|
||||
@NonNull Toolbar toolbar) {
|
||||
this.rootView = rootView;
|
||||
this.apiKeyEditText = apiKeyEditText;
|
||||
this.apiKeyInputLayout = apiKeyInputLayout;
|
||||
this.errorTextView = errorTextView;
|
||||
this.progressBar = progressBar;
|
||||
this.saveButton = saveButton;
|
||||
this.serverSection = serverSection;
|
||||
this.serverTitleTextView = serverTitleTextView;
|
||||
this.serverUrlEditText = serverUrlEditText;
|
||||
this.serverUrlInputLayout = serverUrlInputLayout;
|
||||
this.themeSection = themeSection;
|
||||
this.themeSwitch = themeSwitch;
|
||||
this.themeTitleTextView = themeTitleTextView;
|
||||
this.toolbar = toolbar;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public ConstraintLayout getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivitySettingsBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivitySettingsBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.activity_settings, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivitySettingsBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.apiKeyEditText;
|
||||
TextInputEditText apiKeyEditText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (apiKeyEditText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.apiKeyInputLayout;
|
||||
TextInputLayout apiKeyInputLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (apiKeyInputLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.errorTextView;
|
||||
TextView errorTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (errorTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.progressBar;
|
||||
ProgressBar progressBar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (progressBar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.saveButton;
|
||||
MaterialButton saveButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (saveButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.serverSection;
|
||||
ConstraintLayout serverSection = ViewBindings.findChildViewById(rootView, id);
|
||||
if (serverSection == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.serverTitleTextView;
|
||||
TextView serverTitleTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (serverTitleTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.serverUrlEditText;
|
||||
TextInputEditText serverUrlEditText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (serverUrlEditText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.serverUrlInputLayout;
|
||||
TextInputLayout serverUrlInputLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (serverUrlInputLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.themeSection;
|
||||
ConstraintLayout themeSection = ViewBindings.findChildViewById(rootView, id);
|
||||
if (themeSection == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.themeSwitch;
|
||||
SwitchMaterial themeSwitch = ViewBindings.findChildViewById(rootView, id);
|
||||
if (themeSwitch == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.themeTitleTextView;
|
||||
TextView themeTitleTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (themeTitleTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.toolbar;
|
||||
Toolbar toolbar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (toolbar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new ActivitySettingsBinding((ConstraintLayout) rootView, apiKeyEditText,
|
||||
apiKeyInputLayout, errorTextView, progressBar, saveButton, serverSection,
|
||||
serverTitleTextView, serverUrlEditText, serverUrlInputLayout, themeSection, themeSwitch,
|
||||
themeTitleTextView, toolbar);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,127 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package com.crm.chat.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.widget.SearchView;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.crm.chat.R;
|
||||
import com.google.android.material.button.MaterialButton;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class ActivityUserSelectionBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final ConstraintLayout rootView;
|
||||
|
||||
@NonNull
|
||||
public final MaterialButton doneButton;
|
||||
|
||||
@NonNull
|
||||
public final TextView emptyTextView;
|
||||
|
||||
@NonNull
|
||||
public final ProgressBar progressBar;
|
||||
|
||||
@NonNull
|
||||
public final SearchView searchView;
|
||||
|
||||
@NonNull
|
||||
public final Toolbar toolbar;
|
||||
|
||||
@NonNull
|
||||
public final RecyclerView usersRecyclerView;
|
||||
|
||||
private ActivityUserSelectionBinding(@NonNull ConstraintLayout rootView,
|
||||
@NonNull MaterialButton doneButton, @NonNull TextView emptyTextView,
|
||||
@NonNull ProgressBar progressBar, @NonNull SearchView searchView, @NonNull Toolbar toolbar,
|
||||
@NonNull RecyclerView usersRecyclerView) {
|
||||
this.rootView = rootView;
|
||||
this.doneButton = doneButton;
|
||||
this.emptyTextView = emptyTextView;
|
||||
this.progressBar = progressBar;
|
||||
this.searchView = searchView;
|
||||
this.toolbar = toolbar;
|
||||
this.usersRecyclerView = usersRecyclerView;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public ConstraintLayout getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityUserSelectionBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityUserSelectionBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.activity_user_selection, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityUserSelectionBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.doneButton;
|
||||
MaterialButton doneButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (doneButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.emptyTextView;
|
||||
TextView emptyTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (emptyTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.progressBar;
|
||||
ProgressBar progressBar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (progressBar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.searchView;
|
||||
SearchView searchView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (searchView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.toolbar;
|
||||
Toolbar toolbar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (toolbar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.usersRecyclerView;
|
||||
RecyclerView usersRecyclerView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (usersRecyclerView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new ActivityUserSelectionBinding((ConstraintLayout) rootView, doneButton,
|
||||
emptyTextView, progressBar, searchView, toolbar, usersRecyclerView);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package com.crm.chat.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.crm.chat.R;
|
||||
import com.google.android.material.card.MaterialCardView;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class ItemChatBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final MaterialCardView rootView;
|
||||
|
||||
@NonNull
|
||||
public final ImageView chatAvatarImageView;
|
||||
|
||||
@NonNull
|
||||
public final TextView chatNameTextView;
|
||||
|
||||
@NonNull
|
||||
public final TextView lastMessageTextView;
|
||||
|
||||
@NonNull
|
||||
public final TextView lastMessageTimeTextView;
|
||||
|
||||
@NonNull
|
||||
public final TextView unreadCountBadge;
|
||||
|
||||
private ItemChatBinding(@NonNull MaterialCardView rootView,
|
||||
@NonNull ImageView chatAvatarImageView, @NonNull TextView chatNameTextView,
|
||||
@NonNull TextView lastMessageTextView, @NonNull TextView lastMessageTimeTextView,
|
||||
@NonNull TextView unreadCountBadge) {
|
||||
this.rootView = rootView;
|
||||
this.chatAvatarImageView = chatAvatarImageView;
|
||||
this.chatNameTextView = chatNameTextView;
|
||||
this.lastMessageTextView = lastMessageTextView;
|
||||
this.lastMessageTimeTextView = lastMessageTimeTextView;
|
||||
this.unreadCountBadge = unreadCountBadge;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public MaterialCardView getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ItemChatBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ItemChatBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.item_chat, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ItemChatBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.chatAvatarImageView;
|
||||
ImageView chatAvatarImageView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (chatAvatarImageView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.chatNameTextView;
|
||||
TextView chatNameTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (chatNameTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.lastMessageTextView;
|
||||
TextView lastMessageTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (lastMessageTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.lastMessageTimeTextView;
|
||||
TextView lastMessageTimeTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (lastMessageTimeTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.unreadCountBadge;
|
||||
TextView unreadCountBadge = ViewBindings.findChildViewById(rootView, id);
|
||||
if (unreadCountBadge == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new ItemChatBinding((MaterialCardView) rootView, chatAvatarImageView, chatNameTextView,
|
||||
lastMessageTextView, lastMessageTimeTextView, unreadCountBadge);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,287 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package com.crm.chat.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.cardview.widget.CardView;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.crm.chat.R;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class ItemMessageBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final ConstraintLayout rootView;
|
||||
|
||||
@NonNull
|
||||
public final LinearLayout receivedFileLayout;
|
||||
|
||||
@NonNull
|
||||
public final TextView receivedFileNameText;
|
||||
|
||||
@NonNull
|
||||
public final ImageView receivedImagePreview;
|
||||
|
||||
@NonNull
|
||||
public final CardView receivedMessageCard;
|
||||
|
||||
@NonNull
|
||||
public final TextView receivedMessageText;
|
||||
|
||||
@NonNull
|
||||
public final LinearLayout receivedReplyIndicator;
|
||||
|
||||
@NonNull
|
||||
public final TextView receivedReplyMessageText;
|
||||
|
||||
@NonNull
|
||||
public final TextView receivedReplySenderText;
|
||||
|
||||
@NonNull
|
||||
public final LinearLayout replyIndicator;
|
||||
|
||||
@NonNull
|
||||
public final TextView replyMessageText;
|
||||
|
||||
@NonNull
|
||||
public final TextView replySenderText;
|
||||
|
||||
@NonNull
|
||||
public final TextView senderNameText;
|
||||
|
||||
@NonNull
|
||||
public final LinearLayout sentFileLayout;
|
||||
|
||||
@NonNull
|
||||
public final TextView sentFileNameText;
|
||||
|
||||
@NonNull
|
||||
public final ImageView sentImagePreview;
|
||||
|
||||
@NonNull
|
||||
public final CardView sentMessageCard;
|
||||
|
||||
@NonNull
|
||||
public final TextView sentMessageText;
|
||||
|
||||
@NonNull
|
||||
public final LinearLayout sentReplyIndicator;
|
||||
|
||||
@NonNull
|
||||
public final TextView sentReplyMessageText;
|
||||
|
||||
@NonNull
|
||||
public final TextView sentReplySenderText;
|
||||
|
||||
@NonNull
|
||||
public final TextView timestampText;
|
||||
|
||||
private ItemMessageBinding(@NonNull ConstraintLayout rootView,
|
||||
@NonNull LinearLayout receivedFileLayout, @NonNull TextView receivedFileNameText,
|
||||
@NonNull ImageView receivedImagePreview, @NonNull CardView receivedMessageCard,
|
||||
@NonNull TextView receivedMessageText, @NonNull LinearLayout receivedReplyIndicator,
|
||||
@NonNull TextView receivedReplyMessageText, @NonNull TextView receivedReplySenderText,
|
||||
@NonNull LinearLayout replyIndicator, @NonNull TextView replyMessageText,
|
||||
@NonNull TextView replySenderText, @NonNull TextView senderNameText,
|
||||
@NonNull LinearLayout sentFileLayout, @NonNull TextView sentFileNameText,
|
||||
@NonNull ImageView sentImagePreview, @NonNull CardView sentMessageCard,
|
||||
@NonNull TextView sentMessageText, @NonNull LinearLayout sentReplyIndicator,
|
||||
@NonNull TextView sentReplyMessageText, @NonNull TextView sentReplySenderText,
|
||||
@NonNull TextView timestampText) {
|
||||
this.rootView = rootView;
|
||||
this.receivedFileLayout = receivedFileLayout;
|
||||
this.receivedFileNameText = receivedFileNameText;
|
||||
this.receivedImagePreview = receivedImagePreview;
|
||||
this.receivedMessageCard = receivedMessageCard;
|
||||
this.receivedMessageText = receivedMessageText;
|
||||
this.receivedReplyIndicator = receivedReplyIndicator;
|
||||
this.receivedReplyMessageText = receivedReplyMessageText;
|
||||
this.receivedReplySenderText = receivedReplySenderText;
|
||||
this.replyIndicator = replyIndicator;
|
||||
this.replyMessageText = replyMessageText;
|
||||
this.replySenderText = replySenderText;
|
||||
this.senderNameText = senderNameText;
|
||||
this.sentFileLayout = sentFileLayout;
|
||||
this.sentFileNameText = sentFileNameText;
|
||||
this.sentImagePreview = sentImagePreview;
|
||||
this.sentMessageCard = sentMessageCard;
|
||||
this.sentMessageText = sentMessageText;
|
||||
this.sentReplyIndicator = sentReplyIndicator;
|
||||
this.sentReplyMessageText = sentReplyMessageText;
|
||||
this.sentReplySenderText = sentReplySenderText;
|
||||
this.timestampText = timestampText;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public ConstraintLayout getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ItemMessageBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ItemMessageBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.item_message, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ItemMessageBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.receivedFileLayout;
|
||||
LinearLayout receivedFileLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (receivedFileLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.receivedFileNameText;
|
||||
TextView receivedFileNameText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (receivedFileNameText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.receivedImagePreview;
|
||||
ImageView receivedImagePreview = ViewBindings.findChildViewById(rootView, id);
|
||||
if (receivedImagePreview == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.receivedMessageCard;
|
||||
CardView receivedMessageCard = ViewBindings.findChildViewById(rootView, id);
|
||||
if (receivedMessageCard == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.receivedMessageText;
|
||||
TextView receivedMessageText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (receivedMessageText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.receivedReplyIndicator;
|
||||
LinearLayout receivedReplyIndicator = ViewBindings.findChildViewById(rootView, id);
|
||||
if (receivedReplyIndicator == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.receivedReplyMessageText;
|
||||
TextView receivedReplyMessageText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (receivedReplyMessageText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.receivedReplySenderText;
|
||||
TextView receivedReplySenderText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (receivedReplySenderText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.replyIndicator;
|
||||
LinearLayout replyIndicator = ViewBindings.findChildViewById(rootView, id);
|
||||
if (replyIndicator == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.replyMessageText;
|
||||
TextView replyMessageText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (replyMessageText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.replySenderText;
|
||||
TextView replySenderText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (replySenderText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.senderNameText;
|
||||
TextView senderNameText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (senderNameText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.sentFileLayout;
|
||||
LinearLayout sentFileLayout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (sentFileLayout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.sentFileNameText;
|
||||
TextView sentFileNameText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (sentFileNameText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.sentImagePreview;
|
||||
ImageView sentImagePreview = ViewBindings.findChildViewById(rootView, id);
|
||||
if (sentImagePreview == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.sentMessageCard;
|
||||
CardView sentMessageCard = ViewBindings.findChildViewById(rootView, id);
|
||||
if (sentMessageCard == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.sentMessageText;
|
||||
TextView sentMessageText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (sentMessageText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.sentReplyIndicator;
|
||||
LinearLayout sentReplyIndicator = ViewBindings.findChildViewById(rootView, id);
|
||||
if (sentReplyIndicator == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.sentReplyMessageText;
|
||||
TextView sentReplyMessageText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (sentReplyMessageText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.sentReplySenderText;
|
||||
TextView sentReplySenderText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (sentReplySenderText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.timestampText;
|
||||
TextView timestampText = ViewBindings.findChildViewById(rootView, id);
|
||||
if (timestampText == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new ItemMessageBinding((ConstraintLayout) rootView, receivedFileLayout,
|
||||
receivedFileNameText, receivedImagePreview, receivedMessageCard, receivedMessageText,
|
||||
receivedReplyIndicator, receivedReplyMessageText, receivedReplySenderText, replyIndicator,
|
||||
replyMessageText, replySenderText, senderNameText, sentFileLayout, sentFileNameText,
|
||||
sentImagePreview, sentMessageCard, sentMessageText, sentReplyIndicator,
|
||||
sentReplyMessageText, sentReplySenderText, timestampText);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package com.crm.chat.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.crm.chat.R;
|
||||
import com.google.android.material.card.MaterialCardView;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class ItemUserBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final MaterialCardView rootView;
|
||||
|
||||
@NonNull
|
||||
public final ImageView userAvatarImageView;
|
||||
|
||||
@NonNull
|
||||
public final TextView userEmailTextView;
|
||||
|
||||
@NonNull
|
||||
public final TextView userIdTextView;
|
||||
|
||||
@NonNull
|
||||
public final TextView userNameTextView;
|
||||
|
||||
private ItemUserBinding(@NonNull MaterialCardView rootView,
|
||||
@NonNull ImageView userAvatarImageView, @NonNull TextView userEmailTextView,
|
||||
@NonNull TextView userIdTextView, @NonNull TextView userNameTextView) {
|
||||
this.rootView = rootView;
|
||||
this.userAvatarImageView = userAvatarImageView;
|
||||
this.userEmailTextView = userEmailTextView;
|
||||
this.userIdTextView = userIdTextView;
|
||||
this.userNameTextView = userNameTextView;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public MaterialCardView getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ItemUserBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ItemUserBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.item_user, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ItemUserBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.userAvatarImageView;
|
||||
ImageView userAvatarImageView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (userAvatarImageView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.userEmailTextView;
|
||||
TextView userEmailTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (userEmailTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.userIdTextView;
|
||||
TextView userIdTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (userIdTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.userNameTextView;
|
||||
TextView userNameTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (userNameTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new ItemUserBinding((MaterialCardView) rootView, userAvatarImageView,
|
||||
userEmailTextView, userIdTextView, userNameTextView);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package com.crm.chat.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.crm.chat.R;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class ToolbarChatBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final ConstraintLayout rootView;
|
||||
|
||||
@NonNull
|
||||
public final ImageButton backButton;
|
||||
|
||||
@NonNull
|
||||
public final ImageView chatAvatarImageView;
|
||||
|
||||
@NonNull
|
||||
public final TextView chatNameTextView;
|
||||
|
||||
private ToolbarChatBinding(@NonNull ConstraintLayout rootView, @NonNull ImageButton backButton,
|
||||
@NonNull ImageView chatAvatarImageView, @NonNull TextView chatNameTextView) {
|
||||
this.rootView = rootView;
|
||||
this.backButton = backButton;
|
||||
this.chatAvatarImageView = chatAvatarImageView;
|
||||
this.chatNameTextView = chatNameTextView;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public ConstraintLayout getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ToolbarChatBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ToolbarChatBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.toolbar_chat, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ToolbarChatBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.backButton;
|
||||
ImageButton backButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (backButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.chatAvatarImageView;
|
||||
ImageView chatAvatarImageView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (chatAvatarImageView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.chatNameTextView;
|
||||
TextView chatNameTextView = ViewBindings.findChildViewById(rootView, id);
|
||||
if (chatNameTextView == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new ToolbarChatBinding((ConstraintLayout) rootView, backButton, chatAvatarImageView,
|
||||
chatNameTextView);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,386 @@
|
||||
<dependencies>
|
||||
<compile
|
||||
roots=":@@:app::debug,androidx.test.ext:junit:1.1.5@aar,androidx.test.espresso:espresso-core:3.5.1@aar,androidx.databinding:viewbinding:8.12.0@aar,com.google.android.material:material:1.11.0@aar,androidx.appcompat:appcompat:1.6.1@aar,com.github.bumptech.glide:glide:4.16.0@aar,androidx.viewpager2:viewpager2:1.0.0@aar,androidx.fragment:fragment:1.6.2@aar,androidx.fragment:fragment:1.6.2@aar,androidx.fragment:fragment-ktx:1.6.2@aar,androidx.activity:activity:1.8.2@aar,androidx.activity:activity-compose:1.8.2@aar,androidx.activity:activity-ktx:1.8.2@aar,androidx.swiperefreshlayout:swiperefreshlayout:1.1.0@aar,androidx.appcompat:appcompat-resources:1.6.1@aar,androidx.drawerlayout:drawerlayout:1.1.1@aar,androidx.coordinatorlayout:coordinatorlayout:1.1.0@aar,androidx.dynamicanimation:dynamicanimation:1.0.0@aar,androidx.transition:transition:1.2.0@aar,androidx.vectordrawable:vectordrawable-animated:1.1.0@aar,androidx.vectordrawable:vectordrawable:1.1.0@aar,androidx.legacy:legacy-support-core-utils:1.0.0@aar,androidx.loader:loader:1.0.0@aar,androidx.viewpager:viewpager:1.0.0@aar,androidx.recyclerview:recyclerview:1.1.0@aar,androidx.customview:customview:1.1.0@aar,androidx.core:core:1.12.0@aar,androidx.core:core:1.12.0@aar,androidx.test:core:1.5.0@aar,androidx.work:work-runtime-ktx:2.9.0@aar,androidx.work:work-runtime:2.9.0@aar,androidx.lifecycle:lifecycle-livedata:2.7.0@aar,androidx.lifecycle:lifecycle-livedata:2.7.0@aar,androidx.lifecycle:lifecycle-livedata-core:2.7.0@aar,androidx.lifecycle:lifecycle-common:2.7.0@jar,androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0@aar,androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0@aar,androidx.lifecycle:lifecycle-runtime:2.7.0@aar,androidx.lifecycle:lifecycle-runtime-ktx:2.7.0@aar,androidx.lifecycle:lifecycle-viewmodel:2.7.0@aar,androidx.lifecycle:lifecycle-viewmodel:2.7.0@aar,androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0@aar,androidx.core:core-ktx:1.12.0@aar,androidx.room:room-common:2.6.1@jar,androidx.room:room-runtime:2.6.1@aar,androidx.room:room-ktx:2.6.1@aar,androidx.collection:collection-ktx:1.1.0@jar,androidx.savedstate:savedstate:1.2.1@aar,androidx.savedstate:savedstate-ktx:1.2.1@aar,androidx.test:runner:1.5.2@aar,androidx.test.services:storage:1.4.2@aar,androidx.test:monitor:1.6.1@aar,androidx.test:annotation:1.0.1@aar,androidx.annotation:annotation-experimental:1.3.0@aar,androidx.cardview:cardview:1.0.0@aar,androidx.compose.ui:ui:1.0.1@aar,androidx.compose.runtime:runtime-saveable:1.0.1@aar,androidx.cursoradapter:cursoradapter:1.0.0@aar,androidx.interpolator:interpolator:1.0.0@aar,com.github.bumptech.glide:gifdecoder:4.16.0@aar,androidx.sqlite:sqlite-framework:2.4.0@aar,androidx.sqlite:sqlite:2.4.0@aar,androidx.concurrent:concurrent-futures:1.1.0@jar,androidx.versionedparcelable:versionedparcelable:1.1.1@aar,androidx.arch.core:core-runtime:2.2.0@aar,androidx.arch.core:core-common:2.2.0@jar,androidx.compose.ui:ui-text:1.0.1@aar,androidx.compose.ui:ui-graphics:1.0.1@aar,androidx.compose.ui:ui-unit:1.0.1@aar,androidx.compose.ui:ui-geometry:1.0.1@aar,androidx.collection:collection:1.1.0@jar,androidx.documentfile:documentfile:1.0.0@aar,androidx.localbroadcastmanager:localbroadcastmanager:1.0.0@aar,androidx.print:print:1.0.0@aar,androidx.annotation:annotation-jvm:1.6.0@jar,com.squareup.retrofit2:converter-gson:2.9.0@jar,com.squareup.retrofit2:retrofit:2.9.0@jar,com.squareup.okhttp3:logging-interceptor:4.12.0@jar,com.squareup.okhttp3:okhttp:4.12.0@jar,androidx.compose.runtime:runtime:1.0.1@aar,org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.1@jar,org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1@jar,com.squareup.okio:okio-jvm:3.6.0@jar,org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10@jar,org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.10@jar,org.jetbrains.kotlin:kotlin-stdlib:1.9.22@jar,androidx.constraintlayout:constraintlayout:2.1.4@aar,com.google.code.gson:gson:2.10.1@jar,junit:junit:4.13.2@jar,org.hamcrest:hamcrest-integration:1.3@jar,org.hamcrest:hamcrest-library:1.3@jar,org.hamcrest:hamcrest-core:1.3@jar,org.jetbrains:annotations:23.0.0@jar,androidx.tracing:tracing:1.0.0@aar,com.google.code.findbugs:jsr305:2.0.2@jar,com.google.guava:listenablefuture:1.0@jar,androidx.test.espresso:espresso-idling-resource:3.5.1@aar,com.squareup:javawriter:2.1.1@jar,javax.inject:javax.inject:1@jar,androidx.resourceinspection:resourceinspection-annotation:1.0.1@jar,com.github.bumptech.glide:disklrucache:4.16.0@jar,com.github.bumptech.glide:annotations:4.16.0@jar,androidx.exifinterface:exifinterface:1.3.6@aar,androidx.startup:startup-runtime:1.1.1@aar">
|
||||
<dependency
|
||||
name=":@@:app::debug"
|
||||
simpleName="artifacts::app"/>
|
||||
<dependency
|
||||
name="androidx.test.ext:junit:1.1.5@aar"
|
||||
simpleName="androidx.test.ext:junit"/>
|
||||
<dependency
|
||||
name="androidx.test.espresso:espresso-core:3.5.1@aar"
|
||||
simpleName="androidx.test.espresso:espresso-core"/>
|
||||
<dependency
|
||||
name="androidx.databinding:viewbinding:8.12.0@aar"
|
||||
simpleName="androidx.databinding:viewbinding"/>
|
||||
<dependency
|
||||
name="com.google.android.material:material:1.11.0@aar"
|
||||
simpleName="com.google.android.material:material"/>
|
||||
<dependency
|
||||
name="androidx.appcompat:appcompat:1.6.1@aar"
|
||||
simpleName="androidx.appcompat:appcompat"/>
|
||||
<dependency
|
||||
name="com.github.bumptech.glide:glide:4.16.0@aar"
|
||||
simpleName="com.github.bumptech.glide:glide"/>
|
||||
<dependency
|
||||
name="androidx.viewpager2:viewpager2:1.0.0@aar"
|
||||
simpleName="androidx.viewpager2:viewpager2"/>
|
||||
<dependency
|
||||
name="androidx.fragment:fragment:1.6.2@aar"
|
||||
simpleName="androidx.fragment:fragment"/>
|
||||
<dependency
|
||||
name="androidx.fragment:fragment-ktx:1.6.2@aar"
|
||||
simpleName="androidx.fragment:fragment-ktx"/>
|
||||
<dependency
|
||||
name="androidx.activity:activity:1.8.2@aar"
|
||||
simpleName="androidx.activity:activity"/>
|
||||
<dependency
|
||||
name="androidx.activity:activity-compose:1.8.2@aar"
|
||||
simpleName="androidx.activity:activity-compose"/>
|
||||
<dependency
|
||||
name="androidx.activity:activity-ktx:1.8.2@aar"
|
||||
simpleName="androidx.activity:activity-ktx"/>
|
||||
<dependency
|
||||
name="androidx.swiperefreshlayout:swiperefreshlayout:1.1.0@aar"
|
||||
simpleName="androidx.swiperefreshlayout:swiperefreshlayout"/>
|
||||
<dependency
|
||||
name="androidx.appcompat:appcompat-resources:1.6.1@aar"
|
||||
simpleName="androidx.appcompat:appcompat-resources"/>
|
||||
<dependency
|
||||
name="androidx.drawerlayout:drawerlayout:1.1.1@aar"
|
||||
simpleName="androidx.drawerlayout:drawerlayout"/>
|
||||
<dependency
|
||||
name="androidx.coordinatorlayout:coordinatorlayout:1.1.0@aar"
|
||||
simpleName="androidx.coordinatorlayout:coordinatorlayout"/>
|
||||
<dependency
|
||||
name="androidx.dynamicanimation:dynamicanimation:1.0.0@aar"
|
||||
simpleName="androidx.dynamicanimation:dynamicanimation"/>
|
||||
<dependency
|
||||
name="androidx.transition:transition:1.2.0@aar"
|
||||
simpleName="androidx.transition:transition"/>
|
||||
<dependency
|
||||
name="androidx.vectordrawable:vectordrawable-animated:1.1.0@aar"
|
||||
simpleName="androidx.vectordrawable:vectordrawable-animated"/>
|
||||
<dependency
|
||||
name="androidx.vectordrawable:vectordrawable:1.1.0@aar"
|
||||
simpleName="androidx.vectordrawable:vectordrawable"/>
|
||||
<dependency
|
||||
name="androidx.legacy:legacy-support-core-utils:1.0.0@aar"
|
||||
simpleName="androidx.legacy:legacy-support-core-utils"/>
|
||||
<dependency
|
||||
name="androidx.loader:loader:1.0.0@aar"
|
||||
simpleName="androidx.loader:loader"/>
|
||||
<dependency
|
||||
name="androidx.viewpager:viewpager:1.0.0@aar"
|
||||
simpleName="androidx.viewpager:viewpager"/>
|
||||
<dependency
|
||||
name="androidx.recyclerview:recyclerview:1.1.0@aar"
|
||||
simpleName="androidx.recyclerview:recyclerview"/>
|
||||
<dependency
|
||||
name="androidx.customview:customview:1.1.0@aar"
|
||||
simpleName="androidx.customview:customview"/>
|
||||
<dependency
|
||||
name="androidx.core:core:1.12.0@aar"
|
||||
simpleName="androidx.core:core"/>
|
||||
<dependency
|
||||
name="androidx.test:core:1.5.0@aar"
|
||||
simpleName="androidx.test:core"/>
|
||||
<dependency
|
||||
name="androidx.work:work-runtime-ktx:2.9.0@aar"
|
||||
simpleName="androidx.work:work-runtime-ktx"/>
|
||||
<dependency
|
||||
name="androidx.work:work-runtime:2.9.0@aar"
|
||||
simpleName="androidx.work:work-runtime"/>
|
||||
<dependency
|
||||
name="androidx.lifecycle:lifecycle-livedata:2.7.0@aar"
|
||||
simpleName="androidx.lifecycle:lifecycle-livedata"/>
|
||||
<dependency
|
||||
name="androidx.lifecycle:lifecycle-livedata-core:2.7.0@aar"
|
||||
simpleName="androidx.lifecycle:lifecycle-livedata-core"/>
|
||||
<dependency
|
||||
name="androidx.lifecycle:lifecycle-common:2.7.0@jar"
|
||||
simpleName="androidx.lifecycle:lifecycle-common"/>
|
||||
<dependency
|
||||
name="androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0@aar"
|
||||
simpleName="androidx.lifecycle:lifecycle-viewmodel-ktx"/>
|
||||
<dependency
|
||||
name="androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0@aar"
|
||||
simpleName="androidx.lifecycle:lifecycle-livedata-core-ktx"/>
|
||||
<dependency
|
||||
name="androidx.lifecycle:lifecycle-runtime:2.7.0@aar"
|
||||
simpleName="androidx.lifecycle:lifecycle-runtime"/>
|
||||
<dependency
|
||||
name="androidx.lifecycle:lifecycle-runtime-ktx:2.7.0@aar"
|
||||
simpleName="androidx.lifecycle:lifecycle-runtime-ktx"/>
|
||||
<dependency
|
||||
name="androidx.lifecycle:lifecycle-viewmodel:2.7.0@aar"
|
||||
simpleName="androidx.lifecycle:lifecycle-viewmodel"/>
|
||||
<dependency
|
||||
name="androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0@aar"
|
||||
simpleName="androidx.lifecycle:lifecycle-viewmodel-savedstate"/>
|
||||
<dependency
|
||||
name="androidx.core:core-ktx:1.12.0@aar"
|
||||
simpleName="androidx.core:core-ktx"/>
|
||||
<dependency
|
||||
name="androidx.room:room-common:2.6.1@jar"
|
||||
simpleName="androidx.room:room-common"/>
|
||||
<dependency
|
||||
name="androidx.room:room-runtime:2.6.1@aar"
|
||||
simpleName="androidx.room:room-runtime"/>
|
||||
<dependency
|
||||
name="androidx.room:room-ktx:2.6.1@aar"
|
||||
simpleName="androidx.room:room-ktx"/>
|
||||
<dependency
|
||||
name="androidx.collection:collection-ktx:1.1.0@jar"
|
||||
simpleName="androidx.collection:collection-ktx"/>
|
||||
<dependency
|
||||
name="androidx.savedstate:savedstate:1.2.1@aar"
|
||||
simpleName="androidx.savedstate:savedstate"/>
|
||||
<dependency
|
||||
name="androidx.savedstate:savedstate-ktx:1.2.1@aar"
|
||||
simpleName="androidx.savedstate:savedstate-ktx"/>
|
||||
<dependency
|
||||
name="androidx.test:runner:1.5.2@aar"
|
||||
simpleName="androidx.test:runner"/>
|
||||
<dependency
|
||||
name="androidx.test.services:storage:1.4.2@aar"
|
||||
simpleName="androidx.test.services:storage"/>
|
||||
<dependency
|
||||
name="androidx.test:monitor:1.6.1@aar"
|
||||
simpleName="androidx.test:monitor"/>
|
||||
<dependency
|
||||
name="androidx.test:annotation:1.0.1@aar"
|
||||
simpleName="androidx.test:annotation"/>
|
||||
<dependency
|
||||
name="androidx.annotation:annotation-experimental:1.3.0@aar"
|
||||
simpleName="androidx.annotation:annotation-experimental"/>
|
||||
<dependency
|
||||
name="androidx.cardview:cardview:1.0.0@aar"
|
||||
simpleName="androidx.cardview:cardview"/>
|
||||
<dependency
|
||||
name="androidx.compose.ui:ui:1.0.1@aar"
|
||||
simpleName="androidx.compose.ui:ui"/>
|
||||
<dependency
|
||||
name="androidx.compose.runtime:runtime-saveable:1.0.1@aar"
|
||||
simpleName="androidx.compose.runtime:runtime-saveable"/>
|
||||
<dependency
|
||||
name="androidx.cursoradapter:cursoradapter:1.0.0@aar"
|
||||
simpleName="androidx.cursoradapter:cursoradapter"/>
|
||||
<dependency
|
||||
name="androidx.interpolator:interpolator:1.0.0@aar"
|
||||
simpleName="androidx.interpolator:interpolator"/>
|
||||
<dependency
|
||||
name="com.github.bumptech.glide:gifdecoder:4.16.0@aar"
|
||||
simpleName="com.github.bumptech.glide:gifdecoder"/>
|
||||
<dependency
|
||||
name="androidx.sqlite:sqlite-framework:2.4.0@aar"
|
||||
simpleName="androidx.sqlite:sqlite-framework"/>
|
||||
<dependency
|
||||
name="androidx.sqlite:sqlite:2.4.0@aar"
|
||||
simpleName="androidx.sqlite:sqlite"/>
|
||||
<dependency
|
||||
name="androidx.concurrent:concurrent-futures:1.1.0@jar"
|
||||
simpleName="androidx.concurrent:concurrent-futures"/>
|
||||
<dependency
|
||||
name="androidx.versionedparcelable:versionedparcelable:1.1.1@aar"
|
||||
simpleName="androidx.versionedparcelable:versionedparcelable"/>
|
||||
<dependency
|
||||
name="androidx.arch.core:core-runtime:2.2.0@aar"
|
||||
simpleName="androidx.arch.core:core-runtime"/>
|
||||
<dependency
|
||||
name="androidx.arch.core:core-common:2.2.0@jar"
|
||||
simpleName="androidx.arch.core:core-common"/>
|
||||
<dependency
|
||||
name="androidx.compose.ui:ui-text:1.0.1@aar"
|
||||
simpleName="androidx.compose.ui:ui-text"/>
|
||||
<dependency
|
||||
name="androidx.compose.ui:ui-graphics:1.0.1@aar"
|
||||
simpleName="androidx.compose.ui:ui-graphics"/>
|
||||
<dependency
|
||||
name="androidx.compose.ui:ui-unit:1.0.1@aar"
|
||||
simpleName="androidx.compose.ui:ui-unit"/>
|
||||
<dependency
|
||||
name="androidx.compose.ui:ui-geometry:1.0.1@aar"
|
||||
simpleName="androidx.compose.ui:ui-geometry"/>
|
||||
<dependency
|
||||
name="androidx.collection:collection:1.1.0@jar"
|
||||
simpleName="androidx.collection:collection"/>
|
||||
<dependency
|
||||
name="androidx.documentfile:documentfile:1.0.0@aar"
|
||||
simpleName="androidx.documentfile:documentfile"/>
|
||||
<dependency
|
||||
name="androidx.localbroadcastmanager:localbroadcastmanager:1.0.0@aar"
|
||||
simpleName="androidx.localbroadcastmanager:localbroadcastmanager"/>
|
||||
<dependency
|
||||
name="androidx.print:print:1.0.0@aar"
|
||||
simpleName="androidx.print:print"/>
|
||||
<dependency
|
||||
name="androidx.annotation:annotation-jvm:1.6.0@jar"
|
||||
simpleName="androidx.annotation:annotation-jvm"/>
|
||||
<dependency
|
||||
name="com.squareup.retrofit2:converter-gson:2.9.0@jar"
|
||||
simpleName="com.squareup.retrofit2:converter-gson"/>
|
||||
<dependency
|
||||
name="com.squareup.retrofit2:retrofit:2.9.0@jar"
|
||||
simpleName="com.squareup.retrofit2:retrofit"/>
|
||||
<dependency
|
||||
name="com.squareup.okhttp3:logging-interceptor:4.12.0@jar"
|
||||
simpleName="com.squareup.okhttp3:logging-interceptor"/>
|
||||
<dependency
|
||||
name="com.squareup.okhttp3:okhttp:4.12.0@jar"
|
||||
simpleName="com.squareup.okhttp3:okhttp"/>
|
||||
<dependency
|
||||
name="androidx.compose.runtime:runtime:1.0.1@aar"
|
||||
simpleName="androidx.compose.runtime:runtime"/>
|
||||
<dependency
|
||||
name="org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.1@jar"
|
||||
simpleName="org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm"/>
|
||||
<dependency
|
||||
name="org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1@jar"
|
||||
simpleName="org.jetbrains.kotlinx:kotlinx-coroutines-android"/>
|
||||
<dependency
|
||||
name="com.squareup.okio:okio-jvm:3.6.0@jar"
|
||||
simpleName="com.squareup.okio:okio-jvm"/>
|
||||
<dependency
|
||||
name="org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10@jar"
|
||||
simpleName="org.jetbrains.kotlin:kotlin-stdlib-jdk8"/>
|
||||
<dependency
|
||||
name="org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.10@jar"
|
||||
simpleName="org.jetbrains.kotlin:kotlin-stdlib-jdk7"/>
|
||||
<dependency
|
||||
name="org.jetbrains.kotlin:kotlin-stdlib:1.9.22@jar"
|
||||
simpleName="org.jetbrains.kotlin:kotlin-stdlib"/>
|
||||
<dependency
|
||||
name="androidx.constraintlayout:constraintlayout:2.1.4@aar"
|
||||
simpleName="androidx.constraintlayout:constraintlayout"/>
|
||||
<dependency
|
||||
name="com.google.code.gson:gson:2.10.1@jar"
|
||||
simpleName="com.google.code.gson:gson"/>
|
||||
<dependency
|
||||
name="junit:junit:4.13.2@jar"
|
||||
simpleName="junit:junit"/>
|
||||
<dependency
|
||||
name="org.hamcrest:hamcrest-integration:1.3@jar"
|
||||
simpleName="org.hamcrest:hamcrest-integration"/>
|
||||
<dependency
|
||||
name="org.hamcrest:hamcrest-library:1.3@jar"
|
||||
simpleName="org.hamcrest:hamcrest-library"/>
|
||||
<dependency
|
||||
name="org.hamcrest:hamcrest-core:1.3@jar"
|
||||
simpleName="org.hamcrest:hamcrest-core"/>
|
||||
<dependency
|
||||
name="org.jetbrains:annotations:23.0.0@jar"
|
||||
simpleName="org.jetbrains:annotations"/>
|
||||
<dependency
|
||||
name="androidx.tracing:tracing:1.0.0@aar"
|
||||
simpleName="androidx.tracing:tracing"/>
|
||||
<dependency
|
||||
name="com.google.code.findbugs:jsr305:2.0.2@jar"
|
||||
simpleName="com.google.code.findbugs:jsr305"/>
|
||||
<dependency
|
||||
name="com.google.guava:listenablefuture:1.0@jar"
|
||||
simpleName="com.google.guava:listenablefuture"/>
|
||||
<dependency
|
||||
name="androidx.test.espresso:espresso-idling-resource:3.5.1@aar"
|
||||
simpleName="androidx.test.espresso:espresso-idling-resource"/>
|
||||
<dependency
|
||||
name="com.squareup:javawriter:2.1.1@jar"
|
||||
simpleName="com.squareup:javawriter"/>
|
||||
<dependency
|
||||
name="javax.inject:javax.inject:1@jar"
|
||||
simpleName="javax.inject:javax.inject"/>
|
||||
<dependency
|
||||
name="androidx.resourceinspection:resourceinspection-annotation:1.0.1@jar"
|
||||
simpleName="androidx.resourceinspection:resourceinspection-annotation"/>
|
||||
<dependency
|
||||
name="com.github.bumptech.glide:disklrucache:4.16.0@jar"
|
||||
simpleName="com.github.bumptech.glide:disklrucache"/>
|
||||
<dependency
|
||||
name="com.github.bumptech.glide:annotations:4.16.0@jar"
|
||||
simpleName="com.github.bumptech.glide:annotations"/>
|
||||
<dependency
|
||||
name="androidx.exifinterface:exifinterface:1.3.6@aar"
|
||||
simpleName="androidx.exifinterface:exifinterface"/>
|
||||
<dependency
|
||||
name="androidx.startup:startup-runtime:1.1.1@aar"
|
||||
simpleName="androidx.startup:startup-runtime"/>
|
||||
</compile>
|
||||
<package
|
||||
roots="androidx.test.ext:junit:1.1.5@aar,androidx.test.espresso:espresso-core:3.5.1@aar,androidx.test:core:1.5.0@aar,androidx.test:runner:1.5.2@aar,androidx.test.services:storage:1.4.2@aar,androidx.test:monitor:1.6.1@aar,androidx.test:annotation:1.0.1@aar,androidx.lifecycle:lifecycle-common:2.7.0@jar,androidx.tracing:tracing:1.0.0@aar,androidx.concurrent:concurrent-futures:1.1.0@jar,androidx.annotation:annotation-jvm:1.6.0@jar,androidx.annotation:annotation-experimental:1.3.0@aar,org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1@jar,org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.1@jar,org.jetbrains.kotlin:kotlin-stdlib:1.9.22@jar,org.jetbrains:annotations:23.0.0@jar,com.google.guava:listenablefuture:1.0@jar,junit:junit:4.13.2@jar,androidx.test.espresso:espresso-idling-resource:3.5.1@aar,com.squareup:javawriter:2.1.1@jar,javax.inject:javax.inject:1@jar,org.hamcrest:hamcrest-integration:1.3@jar,org.hamcrest:hamcrest-library:1.3@jar,com.google.code.findbugs:jsr305:2.0.2@jar,org.hamcrest:hamcrest-core:1.3@jar">
|
||||
<dependency
|
||||
name="androidx.test.ext:junit:1.1.5@aar"
|
||||
simpleName="androidx.test.ext:junit"/>
|
||||
<dependency
|
||||
name="androidx.test.espresso:espresso-core:3.5.1@aar"
|
||||
simpleName="androidx.test.espresso:espresso-core"/>
|
||||
<dependency
|
||||
name="androidx.test:core:1.5.0@aar"
|
||||
simpleName="androidx.test:core"/>
|
||||
<dependency
|
||||
name="androidx.test:runner:1.5.2@aar"
|
||||
simpleName="androidx.test:runner"/>
|
||||
<dependency
|
||||
name="androidx.test.services:storage:1.4.2@aar"
|
||||
simpleName="androidx.test.services:storage"/>
|
||||
<dependency
|
||||
name="androidx.test:monitor:1.6.1@aar"
|
||||
simpleName="androidx.test:monitor"/>
|
||||
<dependency
|
||||
name="androidx.test:annotation:1.0.1@aar"
|
||||
simpleName="androidx.test:annotation"/>
|
||||
<dependency
|
||||
name="androidx.lifecycle:lifecycle-common:2.7.0@jar"
|
||||
simpleName="androidx.lifecycle:lifecycle-common"/>
|
||||
<dependency
|
||||
name="androidx.tracing:tracing:1.0.0@aar"
|
||||
simpleName="androidx.tracing:tracing"/>
|
||||
<dependency
|
||||
name="androidx.concurrent:concurrent-futures:1.1.0@jar"
|
||||
simpleName="androidx.concurrent:concurrent-futures"/>
|
||||
<dependency
|
||||
name="androidx.annotation:annotation-jvm:1.6.0@jar"
|
||||
simpleName="androidx.annotation:annotation-jvm"/>
|
||||
<dependency
|
||||
name="androidx.annotation:annotation-experimental:1.3.0@aar"
|
||||
simpleName="androidx.annotation:annotation-experimental"/>
|
||||
<dependency
|
||||
name="org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1@jar"
|
||||
simpleName="org.jetbrains.kotlinx:kotlinx-coroutines-android"/>
|
||||
<dependency
|
||||
name="org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.1@jar"
|
||||
simpleName="org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm"/>
|
||||
<dependency
|
||||
name="org.jetbrains.kotlin:kotlin-stdlib:1.9.22@jar"
|
||||
simpleName="org.jetbrains.kotlin:kotlin-stdlib"/>
|
||||
<dependency
|
||||
name="org.jetbrains:annotations:23.0.0@jar"
|
||||
simpleName="org.jetbrains:annotations"/>
|
||||
<dependency
|
||||
name="com.google.guava:listenablefuture:1.0@jar"
|
||||
simpleName="com.google.guava:listenablefuture"/>
|
||||
<dependency
|
||||
name="junit:junit:4.13.2@jar"
|
||||
simpleName="junit:junit"/>
|
||||
<dependency
|
||||
name="androidx.test.espresso:espresso-idling-resource:3.5.1@aar"
|
||||
simpleName="androidx.test.espresso:espresso-idling-resource"/>
|
||||
<dependency
|
||||
name="com.squareup:javawriter:2.1.1@jar"
|
||||
simpleName="com.squareup:javawriter"/>
|
||||
<dependency
|
||||
name="javax.inject:javax.inject:1@jar"
|
||||
simpleName="javax.inject:javax.inject"/>
|
||||
<dependency
|
||||
name="org.hamcrest:hamcrest-integration:1.3@jar"
|
||||
simpleName="org.hamcrest:hamcrest-integration"/>
|
||||
<dependency
|
||||
name="org.hamcrest:hamcrest-library:1.3@jar"
|
||||
simpleName="org.hamcrest:hamcrest-library"/>
|
||||
<dependency
|
||||
name="com.google.code.findbugs:jsr305:2.0.2@jar"
|
||||
simpleName="com.google.code.findbugs:jsr305"/>
|
||||
<dependency
|
||||
name="org.hamcrest:hamcrest-core:1.3@jar"
|
||||
simpleName="org.hamcrest:hamcrest-core"/>
|
||||
</package>
|
||||
</dependencies>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,31 @@
|
||||
<variant
|
||||
name="debug"
|
||||
package="com.crm.chat"
|
||||
minSdkVersion="21"
|
||||
targetSdkVersion="34"
|
||||
debuggable="true"
|
||||
mergedManifest="build/intermediates/merged_manifest/debug/processDebugMainManifest/AndroidManifest.xml"
|
||||
manifestMergeReport="build/outputs/logs/manifest-merger-debug-report.txt"
|
||||
partialResultsDir="build/intermediates/android_test_lint_partial_results/debug/lintAnalyzeDebugAndroidTest/out">
|
||||
<buildFeatures
|
||||
viewBinding="true"
|
||||
namespacing="REQUIRED"/>
|
||||
<sourceProviders>
|
||||
</sourceProviders>
|
||||
<testSourceProviders>
|
||||
<sourceProvider
|
||||
manifests="src/androidTest/AndroidManifest.xml"
|
||||
javaDirectories="src/androidTest/java:src/androidTestDebug/java:src/androidTest/kotlin:src/androidTestDebug/kotlin"
|
||||
resDirectories="src/androidTest/res:src/androidTestDebug/res"
|
||||
assetsDirectories="src/androidTest/assets:src/androidTestDebug/assets"
|
||||
androidTest="true"/>
|
||||
</testSourceProviders>
|
||||
<testFixturesSourceProviders>
|
||||
</testFixturesSourceProviders>
|
||||
<artifact
|
||||
type="INSTRUMENTATION_TEST"
|
||||
applicationId="com.crm.chat.test"
|
||||
generatedResourceFolders="build/generated/res/resValues/androidTest/debug"
|
||||
desugaredMethodsFiles="/home/user/.gradle/caches/8.13/transforms/654bdbf1a622e65f97c292eda846fdf0/transformed/D8BackportedDesugaredMethods.txt">
|
||||
</artifact>
|
||||
</variant>
|
||||
@@ -0,0 +1,19 @@
|
||||
<lint-module
|
||||
format="1"
|
||||
dir="/home/user/mydata/SRC/crm.mcmed.ru/android-chat-app/app"
|
||||
name=":app"
|
||||
type="APP"
|
||||
maven="CRM Chat:app:unspecified"
|
||||
agpVersion="8.12.0"
|
||||
buildFolder="build"
|
||||
bootClassPath="/home/user/Android/Sdk/platforms/android-36/android.jar:/home/user/Android/Sdk/build-tools/35.0.0/core-lambda-stubs.jar"
|
||||
javaSourceLevel="11"
|
||||
compileTarget="android-36"
|
||||
neverShrinking="true">
|
||||
<lintOptions
|
||||
abortOnError="true"
|
||||
absolutePaths="true"
|
||||
checkReleaseBuilds="true"
|
||||
explainIssues="true"/>
|
||||
<variant name="debug"/>
|
||||
</lint-module>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<incidents format="6" by="lint 8.12.0" type="partial_results">
|
||||
<map id="UnusedResources">
|
||||
<entry
|
||||
name="model"
|
||||
string=""/>
|
||||
</map>
|
||||
|
||||
</incidents>
|
||||
@@ -0,0 +1 @@
|
||||
{}
|
||||
@@ -0,0 +1 @@
|
||||
{}
|
||||
@@ -0,0 +1 @@
|
||||
{}
|
||||
@@ -0,0 +1 @@
|
||||
{}
|
||||
BIN
app/build/intermediates/apk/debug/app-debug.apk
Normal file
BIN
app/build/intermediates/apk/debug/app-debug.apk
Normal file
Binary file not shown.
21
app/build/intermediates/apk/debug/output-metadata.json
Normal file
21
app/build/intermediates/apk/debug/output-metadata.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"version": 3,
|
||||
"artifactType": {
|
||||
"type": "APK",
|
||||
"kind": "Directory"
|
||||
},
|
||||
"applicationId": "com.crm.chat",
|
||||
"variantName": "debug",
|
||||
"elements": [
|
||||
{
|
||||
"type": "SINGLE",
|
||||
"filters": [],
|
||||
"attributes": [],
|
||||
"versionCode": 1,
|
||||
"versionName": "1.0",
|
||||
"outputFile": "app-debug.apk"
|
||||
}
|
||||
],
|
||||
"elementType": "File",
|
||||
"minSdkVersionForDexing": 24
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
#- File Locator -
|
||||
listingFile=../../../apk/debug/output-metadata.json
|
||||
@@ -0,0 +1,2 @@
|
||||
#- File Locator -
|
||||
listingFile=../../../../outputs/apk/release/output-metadata.json
|
||||
@@ -0,0 +1,2 @@
|
||||
appMetadataVersion=1.1
|
||||
androidGradlePluginVersion=8.12.0
|
||||
@@ -0,0 +1,2 @@
|
||||
appMetadataVersion=1.1
|
||||
androidGradlePluginVersion=8.12.0
|
||||
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"version": 3,
|
||||
"artifactType": {
|
||||
"type": "COMPATIBLE_SCREEN_MANIFEST",
|
||||
"kind": "Directory"
|
||||
},
|
||||
"applicationId": "com.crm.chat",
|
||||
"variantName": "debug",
|
||||
"elements": []
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"version": 3,
|
||||
"artifactType": {
|
||||
"type": "COMPATIBLE_SCREEN_MANIFEST",
|
||||
"kind": "Directory"
|
||||
},
|
||||
"applicationId": "com.crm.chat",
|
||||
"variantName": "release",
|
||||
"elements": []
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
||||
{"options":{"minApiLevel":"21","isDebugModeEnabled":false},"version":"8.12.14"}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_auth" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/activity_auth.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.constraintlayout.widget.ConstraintLayout"><Targets><Target tag="layout/activity_auth_0" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="1" startOffset="0" endLine="144" endOffset="51"/></Target><Target id="@+id/titleTextView" view="TextView"><Expressions/><location startLine="23" startOffset="12" endLine="34" endOffset="59"/></Target><Target id="@+id/descriptionTextView" view="TextView"><Expressions/><location startLine="37" startOffset="12" endLine="47" endOffset="73"/></Target><Target id="@+id/emailInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="50" startOffset="12" endLine="67" endOffset="67"/></Target><Target id="@+id/emailEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="60" startOffset="16" endLine="65" endOffset="54"/></Target><Target id="@+id/passwordInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="70" startOffset="12" endLine="88" endOffset="67"/></Target><Target id="@+id/passwordEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="81" startOffset="16" endLine="86" endOffset="54"/></Target><Target id="@+id/loginButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="91" startOffset="12" endLine="101" endOffset="79"/></Target><Target id="@+id/additionalSettingsButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="104" startOffset="12" endLine="114" endOffset="71"/></Target><Target id="@+id/progressBar" view="ProgressBar"><Expressions/><location startLine="117" startOffset="12" endLine="125" endOffset="84"/></Target><Target id="@+id/errorTextView" view="TextView"><Expressions/><location startLine="128" startOffset="12" endLine="138" endOffset="71"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_chat" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/activity_chat.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.constraintlayout.widget.ConstraintLayout"><Targets><Target tag="layout/activity_chat_0" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="1" startOffset="0" endLine="225" endOffset="51"/></Target><Target id="@+id/toolbar" view="androidx.appcompat.widget.Toolbar"><Expressions/><location startLine="10" startOffset="4" endLine="22" endOffset="43"/></Target><Target id="@+id/messagesRecyclerView" view="androidx.recyclerview.widget.RecyclerView"><Expressions/><location startLine="25" startOffset="4" endLine="34" endOffset="47"/></Target><Target id="@+id/attachmentIndicators" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="37" startOffset="4" endLine="133" endOffset="55"/></Target><Target id="@+id/replyIndicator" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="48" startOffset="8" endLine="94" endOffset="59"/></Target><Target id="@+id/replySenderText" view="TextView"><Expressions/><location startLine="59" startOffset="12" endLine="68" endOffset="41"/></Target><Target id="@+id/replyMessageText" view="TextView"><Expressions/><location startLine="70" startOffset="12" endLine="81" endOffset="55"/></Target><Target id="@+id/replyCancelButton" view="ImageButton"><Expressions/><location startLine="83" startOffset="12" endLine="92" endOffset="50"/></Target><Target id="@+id/fileAttachmentIndicator" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="97" startOffset="8" endLine="131" endOffset="59"/></Target><Target id="@+id/fileAttachmentText" view="TextView"><Expressions/><location startLine="108" startOffset="12" endLine="118" endOffset="53"/></Target><Target id="@+id/fileCancelButton" view="ImageButton"><Expressions/><location startLine="120" startOffset="12" endLine="129" endOffset="43"/></Target><Target id="@+id/messageInputLayout" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="136" startOffset="4" endLine="197" endOffset="55"/></Target><Target id="@+id/messageEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="149" startOffset="8" endLine="165" endOffset="58"/></Target><Target id="@+id/attachButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="168" startOffset="8" endLine="180" endOffset="58"/></Target><Target id="@+id/sendButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="183" startOffset="8" endLine="195" endOffset="58"/></Target><Target id="@+id/scrollToBottomFab" view="com.google.android.material.floatingactionbutton.FloatingActionButton"><Expressions/><location startLine="200" startOffset="4" endLine="212" endOffset="33"/></Target><Target id="@+id/loadingProgressBar" view="ProgressBar"><Expressions/><location startLine="215" startOffset="4" endLine="223" endOffset="54"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_create_chat" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/activity_create_chat.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.constraintlayout.widget.ConstraintLayout"><Targets><Target tag="layout/activity_create_chat_0" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="1" startOffset="0" endLine="295" endOffset="51"/></Target><Target id="@+id/titleTextView" view="TextView"><Expressions/><location startLine="23" startOffset="12" endLine="34" endOffset="59"/></Target><Target id="@+id/chatTypeLabel" view="TextView"><Expressions/><location startLine="37" startOffset="12" endLine="46" endOffset="73"/></Target><Target id="@+id/chatTypeRadioGroup" view="RadioGroup"><Expressions/><location startLine="48" startOffset="12" endLine="77" endOffset="24"/></Target><Target id="@+id/radioPersonal" view="RadioButton"><Expressions/><location startLine="58" startOffset="16" endLine="63" endOffset="44"/></Target><Target id="@+id/radioGroup" view="RadioButton"><Expressions/><location startLine="65" startOffset="16" endLine="69" endOffset="50"/></Target><Target id="@+id/radioExternal" view="RadioButton"><Expressions/><location startLine="71" startOffset="16" endLine="75" endOffset="48"/></Target><Target id="@+id/providerInfo" view="TextView"><Expressions/><location startLine="80" startOffset="12" endLine="89" endOffset="78"/></Target><Target id="@+id/companionLabel" view="TextView"><Expressions/><location startLine="92" startOffset="12" endLine="102" endOffset="72"/></Target><Target id="@+id/selectUserButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="104" startOffset="12" endLine="113" endOffset="74"/></Target><Target id="@+id/selectedUserTextView" view="TextView"><Expressions/><location startLine="115" startOffset="12" endLine="126" endOffset="65"/></Target><Target id="@+id/groupTitleLabel" view="TextView"><Expressions/><location startLine="129" startOffset="12" endLine="139" endOffset="72"/></Target><Target id="@+id/groupTitleInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="141" startOffset="12" endLine="158" endOffset="67"/></Target><Target id="@+id/groupTitleEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="152" startOffset="16" endLine="156" endOffset="46"/></Target><Target id="@+id/participantsLabel" view="TextView"><Expressions/><location startLine="161" startOffset="12" endLine="171" endOffset="81"/></Target><Target id="@+id/participantsInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="173" startOffset="12" endLine="190" endOffset="67"/></Target><Target id="@+id/participantsEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="184" startOffset="16" endLine="188" endOffset="46"/></Target><Target id="@+id/externalTitleLabel" view="TextView"><Expressions/><location startLine="193" startOffset="12" endLine="203" endOffset="72"/></Target><Target id="@+id/externalTitleInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="205" startOffset="12" endLine="222" endOffset="67"/></Target><Target id="@+id/externalTitleEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="216" startOffset="16" endLine="220" endOffset="46"/></Target><Target id="@+id/entityLabel" view="TextView"><Expressions/><location startLine="225" startOffset="12" endLine="234" endOffset="84"/></Target><Target id="@+id/entityInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="236" startOffset="12" endLine="252" endOffset="67"/></Target><Target id="@+id/entityEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="246" startOffset="16" endLine="250" endOffset="48"/></Target><Target id="@+id/createButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="255" startOffset="12" endLine="265" endOffset="81"/></Target><Target id="@+id/progressBar" view="ProgressBar"><Expressions/><location startLine="268" startOffset="12" endLine="276" endOffset="72"/></Target><Target id="@+id/errorTextView" view="TextView"><Expressions/><location startLine="279" startOffset="12" endLine="289" endOffset="71"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_image_viewer" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/activity_image_viewer.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.coordinatorlayout.widget.CoordinatorLayout"><Targets><Target tag="layout/activity_image_viewer_0" view="androidx.coordinatorlayout.widget.CoordinatorLayout"><Expressions/><location startLine="1" startOffset="0" endLine="79" endOffset="53"/></Target><Target id="@+id/appBarLayout" view="com.google.android.material.appbar.AppBarLayout"><Expressions/><location startLine="8" startOffset="4" endLine="69" endOffset="53"/></Target><Target id="@+id/toolbar" view="androidx.appcompat.widget.Toolbar"><Expressions/><location startLine="14" startOffset="8" endLine="67" endOffset="43"/></Target><Target id="@+id/backButton" view="ImageButton"><Expressions/><location startLine="28" startOffset="16" endLine="38" endOffset="57"/></Target><Target id="@+id/toolbarTitle" view="TextView"><Expressions/><location startLine="40" startOffset="16" endLine="51" endOffset="44"/></Target><Target id="@+id/downloadButton" view="ImageButton"><Expressions/><location startLine="53" startOffset="16" endLine="63" endOffset="57"/></Target><Target id="@+id/imageView" view="ImageView"><Expressions/><location startLine="71" startOffset="4" endLine="77" endOffset="54"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_main" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/activity_main.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.constraintlayout.widget.ConstraintLayout"><Targets><Target tag="layout/activity_main_0" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="1" startOffset="0" endLine="151" endOffset="51"/></Target><Target id="@+id/toolbar" view="androidx.appcompat.widget.Toolbar"><Expressions/><location startLine="10" startOffset="4" endLine="45" endOffset="39"/></Target><Target id="@+id/logoImageView" view="ImageView"><Expressions/><location startLine="23" startOffset="8" endLine="30" endOffset="50"/></Target><Target id="@+id/menuButton" view="ImageButton"><Expressions/><location startLine="33" startOffset="8" endLine="43" endOffset="46"/></Target><Target id="@+id/swipeRefreshLayout" view="androidx.swiperefreshlayout.widget.SwipeRefreshLayout"><Expressions/><location startLine="48" startOffset="4" endLine="66" endOffset="59"/></Target><Target id="@+id/chatsRecyclerView" view="androidx.recyclerview.widget.RecyclerView"><Expressions/><location startLine="58" startOffset="8" endLine="64" endOffset="48"/></Target><Target id="@+id/emptyStateLayout" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="69" startOffset="4" endLine="91" endOffset="55"/></Target><Target id="@+id/emptyStateTextView" view="TextView"><Expressions/><location startLine="79" startOffset="8" endLine="89" endOffset="55"/></Target><Target id="@+id/loadingProgressBar" view="ProgressBar"><Expressions/><location startLine="94" startOffset="4" endLine="102" endOffset="59"/></Target><Target id="@+id/errorStateLayout" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="105" startOffset="4" endLine="137" endOffset="55"/></Target><Target id="@+id/errorTextView" view="TextView"><Expressions/><location startLine="115" startOffset="8" endLine="125" endOffset="59"/></Target><Target id="@+id/retryButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="127" startOffset="8" endLine="135" endOffset="55"/></Target><Target id="@+id/createChatFab" view="com.google.android.material.floatingactionbutton.FloatingActionButton"><Expressions/><location startLine="140" startOffset="4" endLine="149" endOffset="33"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_profile" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/activity_profile.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.constraintlayout.widget.ConstraintLayout"><Targets><Target tag="layout/activity_profile_0" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="1" startOffset="0" endLine="197" endOffset="51"/></Target><Target id="@+id/toolbar" view="androidx.appcompat.widget.Toolbar"><Expressions/><location startLine="10" startOffset="4" endLine="20" endOffset="29"/></Target><Target id="@+id/avatarSection" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="36" startOffset="12" endLine="72" endOffset="63"/></Target><Target id="@+id/avatarImageView" view="ImageView"><Expressions/><location startLine="46" startOffset="16" endLine="58" endOffset="53"/></Target><Target id="@+id/avatarHintTextView" view="TextView"><Expressions/><location startLine="60" startOffset="16" endLine="70" endOffset="79"/></Target><Target id="@+id/firstNameInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="75" startOffset="12" endLine="93" endOffset="67"/></Target><Target id="@+id/firstNameEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="86" startOffset="16" endLine="91" endOffset="61"/></Target><Target id="@+id/lastNameInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="96" startOffset="12" endLine="114" endOffset="67"/></Target><Target id="@+id/lastNameEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="107" startOffset="16" endLine="112" endOffset="61"/></Target><Target id="@+id/emailInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="117" startOffset="12" endLine="134" endOffset="67"/></Target><Target id="@+id/emailEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="127" startOffset="16" endLine="132" endOffset="61"/></Target><Target id="@+id/phoneInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="137" startOffset="12" endLine="154" endOffset="67"/></Target><Target id="@+id/phoneEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="147" startOffset="16" endLine="152" endOffset="61"/></Target><Target id="@+id/saveButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="157" startOffset="12" endLine="167" endOffset="76"/></Target><Target id="@+id/progressBar" view="ProgressBar"><Expressions/><location startLine="170" startOffset="12" endLine="178" endOffset="70"/></Target><Target id="@+id/errorTextView" view="TextView"><Expressions/><location startLine="181" startOffset="12" endLine="191" endOffset="71"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_settings" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/activity_settings.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.constraintlayout.widget.ConstraintLayout"><Targets><Target tag="layout/activity_settings_0" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="1" startOffset="0" endLine="177" endOffset="51"/></Target><Target id="@+id/toolbar" view="androidx.appcompat.widget.Toolbar"><Expressions/><location startLine="10" startOffset="4" endLine="20" endOffset="31"/></Target><Target id="@+id/serverSection" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="36" startOffset="12" endLine="98" endOffset="63"/></Target><Target id="@+id/serverTitleTextView" view="TextView"><Expressions/><location startLine="47" startOffset="16" endLine="56" endOffset="63"/></Target><Target id="@+id/serverUrlInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="59" startOffset="16" endLine="76" endOffset="71"/></Target><Target id="@+id/serverUrlEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="69" startOffset="20" endLine="74" endOffset="65"/></Target><Target id="@+id/apiKeyInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="79" startOffset="16" endLine="96" endOffset="71"/></Target><Target id="@+id/apiKeyEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="89" startOffset="20" endLine="94" endOffset="65"/></Target><Target id="@+id/themeSection" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="101" startOffset="12" endLine="134" endOffset="63"/></Target><Target id="@+id/themeTitleTextView" view="TextView"><Expressions/><location startLine="112" startOffset="16" endLine="121" endOffset="63"/></Target><Target id="@+id/themeSwitch" view="com.google.android.material.switchmaterial.SwitchMaterial"><Expressions/><location startLine="124" startOffset="16" endLine="132" endOffset="82"/></Target><Target id="@+id/saveButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="137" startOffset="12" endLine="147" endOffset="72"/></Target><Target id="@+id/progressBar" view="ProgressBar"><Expressions/><location startLine="150" startOffset="12" endLine="158" endOffset="70"/></Target><Target id="@+id/errorTextView" view="TextView"><Expressions/><location startLine="161" startOffset="12" endLine="171" endOffset="71"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_user_selection" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/activity_user_selection.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.constraintlayout.widget.ConstraintLayout"><Targets><Target tag="layout/activity_user_selection_0" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="1" startOffset="0" endLine="88" endOffset="51"/></Target><Target id="@+id/toolbar" view="androidx.appcompat.widget.Toolbar"><Expressions/><location startLine="10" startOffset="4" endLine="20" endOffset="43"/></Target><Target id="@+id/searchView" view="androidx.appcompat.widget.SearchView"><Expressions/><location startLine="23" startOffset="4" endLine="32" endOffset="48"/></Target><Target id="@+id/usersRecyclerView" view="androidx.recyclerview.widget.RecyclerView"><Expressions/><location startLine="35" startOffset="4" endLine="44" endOffset="44"/></Target><Target id="@+id/doneButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="47" startOffset="4" endLine="59" endOffset="36"/></Target><Target id="@+id/progressBar" view="ProgressBar"><Expressions/><location startLine="62" startOffset="4" endLine="70" endOffset="51"/></Target><Target id="@+id/emptyTextView" view="TextView"><Expressions/><location startLine="73" startOffset="4" endLine="86" endOffset="46"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="item_chat" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/item_chat.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="com.google.android.material.card.MaterialCardView"><Targets><Target tag="layout/item_chat_0" view="com.google.android.material.card.MaterialCardView"><Expressions/><location startLine="1" startOffset="0" endLine="98" endOffset="51"/></Target><Target id="@+id/chatAvatarImageView" view="ImageView"><Expressions/><location startLine="17" startOffset="8" endLine="29" endOffset="53"/></Target><Target id="@+id/chatNameTextView" view="TextView"><Expressions/><location startLine="32" startOffset="8" endLine="46" endOffset="36"/></Target><Target id="@+id/lastMessageTextView" view="TextView"><Expressions/><location startLine="49" startOffset="8" endLine="63" endOffset="44"/></Target><Target id="@+id/lastMessageTimeTextView" view="TextView"><Expressions/><location startLine="66" startOffset="8" endLine="75" endOffset="32"/></Target><Target id="@+id/unreadCountBadge" view="TextView"><Expressions/><location startLine="78" startOffset="8" endLine="94" endOffset="40"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="item_message" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/item_message.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.constraintlayout.widget.ConstraintLayout"><Targets><Target tag="layout/item_message_0" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="1" startOffset="0" endLine="317" endOffset="51"/></Target><Target id="@+id/replyIndicator" view="LinearLayout"><Expressions/><location startLine="9" startOffset="4" endLine="42" endOffset="18"/></Target><Target id="@+id/replySenderText" view="TextView"><Expressions/><location startLine="24" startOffset="8" endLine="31" endOffset="37"/></Target><Target id="@+id/replyMessageText" view="TextView"><Expressions/><location startLine="33" startOffset="8" endLine="40" endOffset="51"/></Target><Target id="@+id/sentMessageCard" view="androidx.cardview.widget.CardView"><Expressions/><location startLine="45" startOffset="4" endLine="163" endOffset="39"/></Target><Target id="@+id/sentReplyIndicator" view="LinearLayout"><Expressions/><location startLine="65" startOffset="12" endLine="95" endOffset="26"/></Target><Target id="@+id/sentReplySenderText" view="TextView"><Expressions/><location startLine="77" startOffset="16" endLine="84" endOffset="45"/></Target><Target id="@+id/sentReplyMessageText" view="TextView"><Expressions/><location startLine="86" startOffset="16" endLine="93" endOffset="59"/></Target><Target id="@+id/sentFileLayout" view="LinearLayout"><Expressions/><location startLine="98" startOffset="12" endLine="131" endOffset="26"/></Target><Target id="@+id/sentFileNameText" view="TextView"><Expressions/><location startLine="120" startOffset="16" endLine="129" endOffset="47"/></Target><Target id="@+id/sentImagePreview" view="ImageView"><Expressions/><location startLine="134" startOffset="12" endLine="148" endOffset="44"/></Target><Target id="@+id/sentMessageText" view="TextView"><Expressions/><location startLine="150" startOffset="12" endLine="159" endOffset="53"/></Target><Target id="@+id/receivedMessageCard" view="androidx.cardview.widget.CardView"><Expressions/><location startLine="166" startOffset="4" endLine="283" endOffset="39"/></Target><Target id="@+id/receivedReplyIndicator" view="LinearLayout"><Expressions/><location startLine="186" startOffset="12" endLine="216" endOffset="26"/></Target><Target id="@+id/receivedReplySenderText" view="TextView"><Expressions/><location startLine="198" startOffset="16" endLine="205" endOffset="45"/></Target><Target id="@+id/receivedReplyMessageText" view="TextView"><Expressions/><location startLine="207" startOffset="16" endLine="214" endOffset="59"/></Target><Target id="@+id/receivedFileLayout" view="LinearLayout"><Expressions/><location startLine="219" startOffset="12" endLine="252" endOffset="26"/></Target><Target id="@+id/receivedFileNameText" view="TextView"><Expressions/><location startLine="241" startOffset="16" endLine="250" endOffset="47"/></Target><Target id="@+id/receivedImagePreview" view="ImageView"><Expressions/><location startLine="255" startOffset="12" endLine="269" endOffset="44"/></Target><Target id="@+id/receivedMessageText" view="TextView"><Expressions/><location startLine="271" startOffset="12" endLine="279" endOffset="57"/></Target><Target id="@+id/senderNameText" view="TextView"><Expressions/><location startLine="286" startOffset="4" endLine="298" endOffset="36"/></Target><Target id="@+id/timestampText" view="TextView"><Expressions/><location startLine="301" startOffset="4" endLine="315" endOffset="36"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="item_user" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/item_user.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="com.google.android.material.card.MaterialCardView"><Targets><Target tag="layout/item_user_0" view="com.google.android.material.card.MaterialCardView"><Expressions/><location startLine="1" startOffset="0" endLine="81" endOffset="51"/></Target><Target id="@+id/userAvatarImageView" view="ImageView"><Expressions/><location startLine="17" startOffset="8" endLine="29" endOffset="53"/></Target><Target id="@+id/userNameTextView" view="TextView"><Expressions/><location startLine="32" startOffset="8" endLine="45" endOffset="38"/></Target><Target id="@+id/userIdTextView" view="TextView"><Expressions/><location startLine="48" startOffset="8" endLine="61" endOffset="36"/></Target><Target id="@+id/userEmailTextView" view="TextView"><Expressions/><location startLine="64" startOffset="8" endLine="77" endOffset="43"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="toolbar_chat" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/toolbar_chat.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.constraintlayout.widget.ConstraintLayout"><Targets><Target tag="layout/toolbar_chat_0" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="1" startOffset="0" endLine="52" endOffset="51"/></Target><Target id="@+id/backButton" view="ImageButton"><Expressions/><location startLine="9" startOffset="4" endLine="19" endOffset="43"/></Target><Target id="@+id/chatAvatarImageView" view="ImageView"><Expressions/><location startLine="22" startOffset="4" endLine="33" endOffset="49"/></Target><Target id="@+id/chatNameTextView" view="TextView"><Expressions/><location startLine="36" startOffset="4" endLine="50" endOffset="31"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_auth" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/activity_auth.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.constraintlayout.widget.ConstraintLayout"><Targets><Target tag="layout/activity_auth_0" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="1" startOffset="0" endLine="144" endOffset="51"/></Target><Target id="@+id/titleTextView" view="TextView"><Expressions/><location startLine="23" startOffset="12" endLine="34" endOffset="59"/></Target><Target id="@+id/descriptionTextView" view="TextView"><Expressions/><location startLine="37" startOffset="12" endLine="47" endOffset="73"/></Target><Target id="@+id/emailInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="50" startOffset="12" endLine="67" endOffset="67"/></Target><Target id="@+id/emailEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="60" startOffset="16" endLine="65" endOffset="54"/></Target><Target id="@+id/passwordInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="70" startOffset="12" endLine="88" endOffset="67"/></Target><Target id="@+id/passwordEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="81" startOffset="16" endLine="86" endOffset="54"/></Target><Target id="@+id/loginButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="91" startOffset="12" endLine="101" endOffset="79"/></Target><Target id="@+id/additionalSettingsButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="104" startOffset="12" endLine="114" endOffset="71"/></Target><Target id="@+id/progressBar" view="ProgressBar"><Expressions/><location startLine="117" startOffset="12" endLine="125" endOffset="84"/></Target><Target id="@+id/errorTextView" view="TextView"><Expressions/><location startLine="128" startOffset="12" endLine="138" endOffset="71"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_chat" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/activity_chat.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.constraintlayout.widget.ConstraintLayout"><Targets><Target tag="layout/activity_chat_0" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="1" startOffset="0" endLine="225" endOffset="51"/></Target><Target id="@+id/toolbar" view="androidx.appcompat.widget.Toolbar"><Expressions/><location startLine="10" startOffset="4" endLine="22" endOffset="43"/></Target><Target id="@+id/messagesRecyclerView" view="androidx.recyclerview.widget.RecyclerView"><Expressions/><location startLine="25" startOffset="4" endLine="34" endOffset="47"/></Target><Target id="@+id/attachmentIndicators" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="37" startOffset="4" endLine="133" endOffset="55"/></Target><Target id="@+id/replyIndicator" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="48" startOffset="8" endLine="94" endOffset="59"/></Target><Target id="@+id/replySenderText" view="TextView"><Expressions/><location startLine="59" startOffset="12" endLine="68" endOffset="41"/></Target><Target id="@+id/replyMessageText" view="TextView"><Expressions/><location startLine="70" startOffset="12" endLine="81" endOffset="55"/></Target><Target id="@+id/replyCancelButton" view="ImageButton"><Expressions/><location startLine="83" startOffset="12" endLine="92" endOffset="50"/></Target><Target id="@+id/fileAttachmentIndicator" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="97" startOffset="8" endLine="131" endOffset="59"/></Target><Target id="@+id/fileAttachmentText" view="TextView"><Expressions/><location startLine="108" startOffset="12" endLine="118" endOffset="53"/></Target><Target id="@+id/fileCancelButton" view="ImageButton"><Expressions/><location startLine="120" startOffset="12" endLine="129" endOffset="43"/></Target><Target id="@+id/messageInputLayout" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="136" startOffset="4" endLine="197" endOffset="55"/></Target><Target id="@+id/messageEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="149" startOffset="8" endLine="165" endOffset="58"/></Target><Target id="@+id/attachButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="168" startOffset="8" endLine="180" endOffset="58"/></Target><Target id="@+id/sendButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="183" startOffset="8" endLine="195" endOffset="58"/></Target><Target id="@+id/scrollToBottomFab" view="com.google.android.material.floatingactionbutton.FloatingActionButton"><Expressions/><location startLine="200" startOffset="4" endLine="212" endOffset="33"/></Target><Target id="@+id/loadingProgressBar" view="ProgressBar"><Expressions/><location startLine="215" startOffset="4" endLine="223" endOffset="54"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_create_chat" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/activity_create_chat.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.constraintlayout.widget.ConstraintLayout"><Targets><Target tag="layout/activity_create_chat_0" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="1" startOffset="0" endLine="295" endOffset="51"/></Target><Target id="@+id/titleTextView" view="TextView"><Expressions/><location startLine="23" startOffset="12" endLine="34" endOffset="59"/></Target><Target id="@+id/chatTypeLabel" view="TextView"><Expressions/><location startLine="37" startOffset="12" endLine="46" endOffset="73"/></Target><Target id="@+id/chatTypeRadioGroup" view="RadioGroup"><Expressions/><location startLine="48" startOffset="12" endLine="77" endOffset="24"/></Target><Target id="@+id/radioPersonal" view="RadioButton"><Expressions/><location startLine="58" startOffset="16" endLine="63" endOffset="44"/></Target><Target id="@+id/radioGroup" view="RadioButton"><Expressions/><location startLine="65" startOffset="16" endLine="69" endOffset="50"/></Target><Target id="@+id/radioExternal" view="RadioButton"><Expressions/><location startLine="71" startOffset="16" endLine="75" endOffset="48"/></Target><Target id="@+id/providerInfo" view="TextView"><Expressions/><location startLine="80" startOffset="12" endLine="89" endOffset="78"/></Target><Target id="@+id/companionLabel" view="TextView"><Expressions/><location startLine="92" startOffset="12" endLine="102" endOffset="72"/></Target><Target id="@+id/selectUserButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="104" startOffset="12" endLine="113" endOffset="74"/></Target><Target id="@+id/selectedUserTextView" view="TextView"><Expressions/><location startLine="115" startOffset="12" endLine="126" endOffset="65"/></Target><Target id="@+id/groupTitleLabel" view="TextView"><Expressions/><location startLine="129" startOffset="12" endLine="139" endOffset="72"/></Target><Target id="@+id/groupTitleInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="141" startOffset="12" endLine="158" endOffset="67"/></Target><Target id="@+id/groupTitleEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="152" startOffset="16" endLine="156" endOffset="46"/></Target><Target id="@+id/participantsLabel" view="TextView"><Expressions/><location startLine="161" startOffset="12" endLine="171" endOffset="81"/></Target><Target id="@+id/participantsInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="173" startOffset="12" endLine="190" endOffset="67"/></Target><Target id="@+id/participantsEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="184" startOffset="16" endLine="188" endOffset="46"/></Target><Target id="@+id/externalTitleLabel" view="TextView"><Expressions/><location startLine="193" startOffset="12" endLine="203" endOffset="72"/></Target><Target id="@+id/externalTitleInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="205" startOffset="12" endLine="222" endOffset="67"/></Target><Target id="@+id/externalTitleEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="216" startOffset="16" endLine="220" endOffset="46"/></Target><Target id="@+id/entityLabel" view="TextView"><Expressions/><location startLine="225" startOffset="12" endLine="234" endOffset="84"/></Target><Target id="@+id/entityInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="236" startOffset="12" endLine="252" endOffset="67"/></Target><Target id="@+id/entityEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="246" startOffset="16" endLine="250" endOffset="48"/></Target><Target id="@+id/createButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="255" startOffset="12" endLine="265" endOffset="81"/></Target><Target id="@+id/progressBar" view="ProgressBar"><Expressions/><location startLine="268" startOffset="12" endLine="276" endOffset="72"/></Target><Target id="@+id/errorTextView" view="TextView"><Expressions/><location startLine="279" startOffset="12" endLine="289" endOffset="71"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_image_viewer" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/activity_image_viewer.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.coordinatorlayout.widget.CoordinatorLayout"><Targets><Target tag="layout/activity_image_viewer_0" view="androidx.coordinatorlayout.widget.CoordinatorLayout"><Expressions/><location startLine="1" startOffset="0" endLine="79" endOffset="53"/></Target><Target id="@+id/appBarLayout" view="com.google.android.material.appbar.AppBarLayout"><Expressions/><location startLine="8" startOffset="4" endLine="69" endOffset="53"/></Target><Target id="@+id/toolbar" view="androidx.appcompat.widget.Toolbar"><Expressions/><location startLine="14" startOffset="8" endLine="67" endOffset="43"/></Target><Target id="@+id/backButton" view="ImageButton"><Expressions/><location startLine="28" startOffset="16" endLine="38" endOffset="57"/></Target><Target id="@+id/toolbarTitle" view="TextView"><Expressions/><location startLine="40" startOffset="16" endLine="51" endOffset="44"/></Target><Target id="@+id/downloadButton" view="ImageButton"><Expressions/><location startLine="53" startOffset="16" endLine="63" endOffset="57"/></Target><Target id="@+id/imageView" view="ImageView"><Expressions/><location startLine="71" startOffset="4" endLine="77" endOffset="54"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_main" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/activity_main.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.constraintlayout.widget.ConstraintLayout"><Targets><Target tag="layout/activity_main_0" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="1" startOffset="0" endLine="151" endOffset="51"/></Target><Target id="@+id/toolbar" view="androidx.appcompat.widget.Toolbar"><Expressions/><location startLine="10" startOffset="4" endLine="45" endOffset="39"/></Target><Target id="@+id/logoImageView" view="ImageView"><Expressions/><location startLine="23" startOffset="8" endLine="30" endOffset="50"/></Target><Target id="@+id/menuButton" view="ImageButton"><Expressions/><location startLine="33" startOffset="8" endLine="43" endOffset="46"/></Target><Target id="@+id/swipeRefreshLayout" view="androidx.swiperefreshlayout.widget.SwipeRefreshLayout"><Expressions/><location startLine="48" startOffset="4" endLine="66" endOffset="59"/></Target><Target id="@+id/chatsRecyclerView" view="androidx.recyclerview.widget.RecyclerView"><Expressions/><location startLine="58" startOffset="8" endLine="64" endOffset="48"/></Target><Target id="@+id/emptyStateLayout" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="69" startOffset="4" endLine="91" endOffset="55"/></Target><Target id="@+id/emptyStateTextView" view="TextView"><Expressions/><location startLine="79" startOffset="8" endLine="89" endOffset="55"/></Target><Target id="@+id/loadingProgressBar" view="ProgressBar"><Expressions/><location startLine="94" startOffset="4" endLine="102" endOffset="59"/></Target><Target id="@+id/errorStateLayout" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="105" startOffset="4" endLine="137" endOffset="55"/></Target><Target id="@+id/errorTextView" view="TextView"><Expressions/><location startLine="115" startOffset="8" endLine="125" endOffset="59"/></Target><Target id="@+id/retryButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="127" startOffset="8" endLine="135" endOffset="55"/></Target><Target id="@+id/createChatFab" view="com.google.android.material.floatingactionbutton.FloatingActionButton"><Expressions/><location startLine="140" startOffset="4" endLine="149" endOffset="33"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_profile" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/activity_profile.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.constraintlayout.widget.ConstraintLayout"><Targets><Target tag="layout/activity_profile_0" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="1" startOffset="0" endLine="197" endOffset="51"/></Target><Target id="@+id/toolbar" view="androidx.appcompat.widget.Toolbar"><Expressions/><location startLine="10" startOffset="4" endLine="20" endOffset="29"/></Target><Target id="@+id/avatarSection" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="36" startOffset="12" endLine="72" endOffset="63"/></Target><Target id="@+id/avatarImageView" view="ImageView"><Expressions/><location startLine="46" startOffset="16" endLine="58" endOffset="53"/></Target><Target id="@+id/avatarHintTextView" view="TextView"><Expressions/><location startLine="60" startOffset="16" endLine="70" endOffset="79"/></Target><Target id="@+id/firstNameInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="75" startOffset="12" endLine="93" endOffset="67"/></Target><Target id="@+id/firstNameEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="86" startOffset="16" endLine="91" endOffset="61"/></Target><Target id="@+id/lastNameInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="96" startOffset="12" endLine="114" endOffset="67"/></Target><Target id="@+id/lastNameEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="107" startOffset="16" endLine="112" endOffset="61"/></Target><Target id="@+id/emailInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="117" startOffset="12" endLine="134" endOffset="67"/></Target><Target id="@+id/emailEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="127" startOffset="16" endLine="132" endOffset="61"/></Target><Target id="@+id/phoneInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="137" startOffset="12" endLine="154" endOffset="67"/></Target><Target id="@+id/phoneEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="147" startOffset="16" endLine="152" endOffset="61"/></Target><Target id="@+id/saveButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="157" startOffset="12" endLine="167" endOffset="76"/></Target><Target id="@+id/progressBar" view="ProgressBar"><Expressions/><location startLine="170" startOffset="12" endLine="178" endOffset="70"/></Target><Target id="@+id/errorTextView" view="TextView"><Expressions/><location startLine="181" startOffset="12" endLine="191" endOffset="71"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_settings" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/activity_settings.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.constraintlayout.widget.ConstraintLayout"><Targets><Target tag="layout/activity_settings_0" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="1" startOffset="0" endLine="177" endOffset="51"/></Target><Target id="@+id/toolbar" view="androidx.appcompat.widget.Toolbar"><Expressions/><location startLine="10" startOffset="4" endLine="20" endOffset="31"/></Target><Target id="@+id/serverSection" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="36" startOffset="12" endLine="98" endOffset="63"/></Target><Target id="@+id/serverTitleTextView" view="TextView"><Expressions/><location startLine="47" startOffset="16" endLine="56" endOffset="63"/></Target><Target id="@+id/serverUrlInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="59" startOffset="16" endLine="76" endOffset="71"/></Target><Target id="@+id/serverUrlEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="69" startOffset="20" endLine="74" endOffset="65"/></Target><Target id="@+id/apiKeyInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="79" startOffset="16" endLine="96" endOffset="71"/></Target><Target id="@+id/apiKeyEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="89" startOffset="20" endLine="94" endOffset="65"/></Target><Target id="@+id/themeSection" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="101" startOffset="12" endLine="134" endOffset="63"/></Target><Target id="@+id/themeTitleTextView" view="TextView"><Expressions/><location startLine="112" startOffset="16" endLine="121" endOffset="63"/></Target><Target id="@+id/themeSwitch" view="com.google.android.material.switchmaterial.SwitchMaterial"><Expressions/><location startLine="124" startOffset="16" endLine="132" endOffset="82"/></Target><Target id="@+id/saveButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="137" startOffset="12" endLine="147" endOffset="72"/></Target><Target id="@+id/progressBar" view="ProgressBar"><Expressions/><location startLine="150" startOffset="12" endLine="158" endOffset="70"/></Target><Target id="@+id/errorTextView" view="TextView"><Expressions/><location startLine="161" startOffset="12" endLine="171" endOffset="71"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_user_selection" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/activity_user_selection.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.constraintlayout.widget.ConstraintLayout"><Targets><Target tag="layout/activity_user_selection_0" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="1" startOffset="0" endLine="88" endOffset="51"/></Target><Target id="@+id/toolbar" view="androidx.appcompat.widget.Toolbar"><Expressions/><location startLine="10" startOffset="4" endLine="20" endOffset="43"/></Target><Target id="@+id/searchView" view="androidx.appcompat.widget.SearchView"><Expressions/><location startLine="23" startOffset="4" endLine="32" endOffset="48"/></Target><Target id="@+id/usersRecyclerView" view="androidx.recyclerview.widget.RecyclerView"><Expressions/><location startLine="35" startOffset="4" endLine="44" endOffset="44"/></Target><Target id="@+id/doneButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="47" startOffset="4" endLine="59" endOffset="36"/></Target><Target id="@+id/progressBar" view="ProgressBar"><Expressions/><location startLine="62" startOffset="4" endLine="70" endOffset="51"/></Target><Target id="@+id/emptyTextView" view="TextView"><Expressions/><location startLine="73" startOffset="4" endLine="86" endOffset="46"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="item_chat" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/item_chat.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="com.google.android.material.card.MaterialCardView"><Targets><Target tag="layout/item_chat_0" view="com.google.android.material.card.MaterialCardView"><Expressions/><location startLine="1" startOffset="0" endLine="98" endOffset="51"/></Target><Target id="@+id/chatAvatarImageView" view="ImageView"><Expressions/><location startLine="17" startOffset="8" endLine="29" endOffset="53"/></Target><Target id="@+id/chatNameTextView" view="TextView"><Expressions/><location startLine="32" startOffset="8" endLine="46" endOffset="36"/></Target><Target id="@+id/lastMessageTextView" view="TextView"><Expressions/><location startLine="49" startOffset="8" endLine="63" endOffset="44"/></Target><Target id="@+id/lastMessageTimeTextView" view="TextView"><Expressions/><location startLine="66" startOffset="8" endLine="75" endOffset="32"/></Target><Target id="@+id/unreadCountBadge" view="TextView"><Expressions/><location startLine="78" startOffset="8" endLine="94" endOffset="40"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="item_message" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/item_message.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.constraintlayout.widget.ConstraintLayout"><Targets><Target tag="layout/item_message_0" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="1" startOffset="0" endLine="317" endOffset="51"/></Target><Target id="@+id/replyIndicator" view="LinearLayout"><Expressions/><location startLine="9" startOffset="4" endLine="42" endOffset="18"/></Target><Target id="@+id/replySenderText" view="TextView"><Expressions/><location startLine="24" startOffset="8" endLine="31" endOffset="37"/></Target><Target id="@+id/replyMessageText" view="TextView"><Expressions/><location startLine="33" startOffset="8" endLine="40" endOffset="51"/></Target><Target id="@+id/sentMessageCard" view="androidx.cardview.widget.CardView"><Expressions/><location startLine="45" startOffset="4" endLine="163" endOffset="39"/></Target><Target id="@+id/sentReplyIndicator" view="LinearLayout"><Expressions/><location startLine="65" startOffset="12" endLine="95" endOffset="26"/></Target><Target id="@+id/sentReplySenderText" view="TextView"><Expressions/><location startLine="77" startOffset="16" endLine="84" endOffset="45"/></Target><Target id="@+id/sentReplyMessageText" view="TextView"><Expressions/><location startLine="86" startOffset="16" endLine="93" endOffset="59"/></Target><Target id="@+id/sentFileLayout" view="LinearLayout"><Expressions/><location startLine="98" startOffset="12" endLine="131" endOffset="26"/></Target><Target id="@+id/sentFileNameText" view="TextView"><Expressions/><location startLine="120" startOffset="16" endLine="129" endOffset="47"/></Target><Target id="@+id/sentImagePreview" view="ImageView"><Expressions/><location startLine="134" startOffset="12" endLine="148" endOffset="44"/></Target><Target id="@+id/sentMessageText" view="TextView"><Expressions/><location startLine="150" startOffset="12" endLine="159" endOffset="53"/></Target><Target id="@+id/receivedMessageCard" view="androidx.cardview.widget.CardView"><Expressions/><location startLine="166" startOffset="4" endLine="283" endOffset="39"/></Target><Target id="@+id/receivedReplyIndicator" view="LinearLayout"><Expressions/><location startLine="186" startOffset="12" endLine="216" endOffset="26"/></Target><Target id="@+id/receivedReplySenderText" view="TextView"><Expressions/><location startLine="198" startOffset="16" endLine="205" endOffset="45"/></Target><Target id="@+id/receivedReplyMessageText" view="TextView"><Expressions/><location startLine="207" startOffset="16" endLine="214" endOffset="59"/></Target><Target id="@+id/receivedFileLayout" view="LinearLayout"><Expressions/><location startLine="219" startOffset="12" endLine="252" endOffset="26"/></Target><Target id="@+id/receivedFileNameText" view="TextView"><Expressions/><location startLine="241" startOffset="16" endLine="250" endOffset="47"/></Target><Target id="@+id/receivedImagePreview" view="ImageView"><Expressions/><location startLine="255" startOffset="12" endLine="269" endOffset="44"/></Target><Target id="@+id/receivedMessageText" view="TextView"><Expressions/><location startLine="271" startOffset="12" endLine="279" endOffset="57"/></Target><Target id="@+id/senderNameText" view="TextView"><Expressions/><location startLine="286" startOffset="4" endLine="298" endOffset="36"/></Target><Target id="@+id/timestampText" view="TextView"><Expressions/><location startLine="301" startOffset="4" endLine="315" endOffset="36"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="item_user" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/item_user.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="com.google.android.material.card.MaterialCardView"><Targets><Target tag="layout/item_user_0" view="com.google.android.material.card.MaterialCardView"><Expressions/><location startLine="1" startOffset="0" endLine="81" endOffset="51"/></Target><Target id="@+id/userAvatarImageView" view="ImageView"><Expressions/><location startLine="17" startOffset="8" endLine="29" endOffset="53"/></Target><Target id="@+id/userNameTextView" view="TextView"><Expressions/><location startLine="32" startOffset="8" endLine="45" endOffset="38"/></Target><Target id="@+id/userIdTextView" view="TextView"><Expressions/><location startLine="48" startOffset="8" endLine="61" endOffset="36"/></Target><Target id="@+id/userEmailTextView" view="TextView"><Expressions/><location startLine="64" startOffset="8" endLine="77" endOffset="43"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="toolbar_chat" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/toolbar_chat.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.constraintlayout.widget.ConstraintLayout"><Targets><Target tag="layout/toolbar_chat_0" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="1" startOffset="0" endLine="52" endOffset="51"/></Target><Target id="@+id/backButton" view="ImageButton"><Expressions/><location startLine="9" startOffset="4" endLine="19" endOffset="43"/></Target><Target id="@+id/chatAvatarImageView" view="ImageView"><Expressions/><location startLine="22" startOffset="4" endLine="33" endOffset="49"/></Target><Target id="@+id/chatNameTextView" view="TextView"><Expressions/><location startLine="36" startOffset="4" endLine="50" endOffset="31"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_auth" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/activity_auth.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.constraintlayout.widget.ConstraintLayout"><Targets><Target tag="layout/activity_auth_0" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="1" startOffset="0" endLine="144" endOffset="51"/></Target><Target id="@+id/titleTextView" view="TextView"><Expressions/><location startLine="23" startOffset="12" endLine="34" endOffset="59"/></Target><Target id="@+id/descriptionTextView" view="TextView"><Expressions/><location startLine="37" startOffset="12" endLine="47" endOffset="73"/></Target><Target id="@+id/emailInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="50" startOffset="12" endLine="67" endOffset="67"/></Target><Target id="@+id/emailEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="60" startOffset="16" endLine="65" endOffset="54"/></Target><Target id="@+id/passwordInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="70" startOffset="12" endLine="88" endOffset="67"/></Target><Target id="@+id/passwordEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="81" startOffset="16" endLine="86" endOffset="54"/></Target><Target id="@+id/loginButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="91" startOffset="12" endLine="101" endOffset="79"/></Target><Target id="@+id/additionalSettingsButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="104" startOffset="12" endLine="114" endOffset="71"/></Target><Target id="@+id/progressBar" view="ProgressBar"><Expressions/><location startLine="117" startOffset="12" endLine="125" endOffset="84"/></Target><Target id="@+id/errorTextView" view="TextView"><Expressions/><location startLine="128" startOffset="12" endLine="138" endOffset="71"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_chat" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/activity_chat.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.constraintlayout.widget.ConstraintLayout"><Targets><Target tag="layout/activity_chat_0" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="1" startOffset="0" endLine="225" endOffset="51"/></Target><Target id="@+id/toolbar" view="androidx.appcompat.widget.Toolbar"><Expressions/><location startLine="10" startOffset="4" endLine="22" endOffset="43"/></Target><Target id="@+id/messagesRecyclerView" view="androidx.recyclerview.widget.RecyclerView"><Expressions/><location startLine="25" startOffset="4" endLine="34" endOffset="47"/></Target><Target id="@+id/attachmentIndicators" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="37" startOffset="4" endLine="133" endOffset="55"/></Target><Target id="@+id/replyIndicator" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="48" startOffset="8" endLine="94" endOffset="59"/></Target><Target id="@+id/replySenderText" view="TextView"><Expressions/><location startLine="59" startOffset="12" endLine="68" endOffset="41"/></Target><Target id="@+id/replyMessageText" view="TextView"><Expressions/><location startLine="70" startOffset="12" endLine="81" endOffset="55"/></Target><Target id="@+id/replyCancelButton" view="ImageButton"><Expressions/><location startLine="83" startOffset="12" endLine="92" endOffset="50"/></Target><Target id="@+id/fileAttachmentIndicator" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="97" startOffset="8" endLine="131" endOffset="59"/></Target><Target id="@+id/fileAttachmentText" view="TextView"><Expressions/><location startLine="108" startOffset="12" endLine="118" endOffset="53"/></Target><Target id="@+id/fileCancelButton" view="ImageButton"><Expressions/><location startLine="120" startOffset="12" endLine="129" endOffset="43"/></Target><Target id="@+id/messageInputLayout" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="136" startOffset="4" endLine="197" endOffset="55"/></Target><Target id="@+id/messageEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="149" startOffset="8" endLine="165" endOffset="58"/></Target><Target id="@+id/attachButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="168" startOffset="8" endLine="180" endOffset="58"/></Target><Target id="@+id/sendButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="183" startOffset="8" endLine="195" endOffset="58"/></Target><Target id="@+id/scrollToBottomFab" view="com.google.android.material.floatingactionbutton.FloatingActionButton"><Expressions/><location startLine="200" startOffset="4" endLine="212" endOffset="33"/></Target><Target id="@+id/loadingProgressBar" view="ProgressBar"><Expressions/><location startLine="215" startOffset="4" endLine="223" endOffset="54"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_create_chat" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/activity_create_chat.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.constraintlayout.widget.ConstraintLayout"><Targets><Target tag="layout/activity_create_chat_0" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="1" startOffset="0" endLine="295" endOffset="51"/></Target><Target id="@+id/titleTextView" view="TextView"><Expressions/><location startLine="23" startOffset="12" endLine="34" endOffset="59"/></Target><Target id="@+id/chatTypeLabel" view="TextView"><Expressions/><location startLine="37" startOffset="12" endLine="46" endOffset="73"/></Target><Target id="@+id/chatTypeRadioGroup" view="RadioGroup"><Expressions/><location startLine="48" startOffset="12" endLine="77" endOffset="24"/></Target><Target id="@+id/radioPersonal" view="RadioButton"><Expressions/><location startLine="58" startOffset="16" endLine="63" endOffset="44"/></Target><Target id="@+id/radioGroup" view="RadioButton"><Expressions/><location startLine="65" startOffset="16" endLine="69" endOffset="50"/></Target><Target id="@+id/radioExternal" view="RadioButton"><Expressions/><location startLine="71" startOffset="16" endLine="75" endOffset="48"/></Target><Target id="@+id/providerInfo" view="TextView"><Expressions/><location startLine="80" startOffset="12" endLine="89" endOffset="78"/></Target><Target id="@+id/companionLabel" view="TextView"><Expressions/><location startLine="92" startOffset="12" endLine="102" endOffset="72"/></Target><Target id="@+id/selectUserButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="104" startOffset="12" endLine="113" endOffset="74"/></Target><Target id="@+id/selectedUserTextView" view="TextView"><Expressions/><location startLine="115" startOffset="12" endLine="126" endOffset="65"/></Target><Target id="@+id/groupTitleLabel" view="TextView"><Expressions/><location startLine="129" startOffset="12" endLine="139" endOffset="72"/></Target><Target id="@+id/groupTitleInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="141" startOffset="12" endLine="158" endOffset="67"/></Target><Target id="@+id/groupTitleEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="152" startOffset="16" endLine="156" endOffset="46"/></Target><Target id="@+id/participantsLabel" view="TextView"><Expressions/><location startLine="161" startOffset="12" endLine="171" endOffset="81"/></Target><Target id="@+id/participantsInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="173" startOffset="12" endLine="190" endOffset="67"/></Target><Target id="@+id/participantsEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="184" startOffset="16" endLine="188" endOffset="46"/></Target><Target id="@+id/externalTitleLabel" view="TextView"><Expressions/><location startLine="193" startOffset="12" endLine="203" endOffset="72"/></Target><Target id="@+id/externalTitleInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="205" startOffset="12" endLine="222" endOffset="67"/></Target><Target id="@+id/externalTitleEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="216" startOffset="16" endLine="220" endOffset="46"/></Target><Target id="@+id/entityLabel" view="TextView"><Expressions/><location startLine="225" startOffset="12" endLine="234" endOffset="84"/></Target><Target id="@+id/entityInputLayout" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="236" startOffset="12" endLine="252" endOffset="67"/></Target><Target id="@+id/entityEditText" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="246" startOffset="16" endLine="250" endOffset="48"/></Target><Target id="@+id/createButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="255" startOffset="12" endLine="265" endOffset="81"/></Target><Target id="@+id/progressBar" view="ProgressBar"><Expressions/><location startLine="268" startOffset="12" endLine="276" endOffset="72"/></Target><Target id="@+id/errorTextView" view="TextView"><Expressions/><location startLine="279" startOffset="12" endLine="289" endOffset="71"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_image_viewer" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/activity_image_viewer.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.coordinatorlayout.widget.CoordinatorLayout"><Targets><Target tag="layout/activity_image_viewer_0" view="androidx.coordinatorlayout.widget.CoordinatorLayout"><Expressions/><location startLine="1" startOffset="0" endLine="79" endOffset="53"/></Target><Target id="@+id/appBarLayout" view="com.google.android.material.appbar.AppBarLayout"><Expressions/><location startLine="8" startOffset="4" endLine="69" endOffset="53"/></Target><Target id="@+id/toolbar" view="androidx.appcompat.widget.Toolbar"><Expressions/><location startLine="14" startOffset="8" endLine="67" endOffset="43"/></Target><Target id="@+id/backButton" view="ImageButton"><Expressions/><location startLine="28" startOffset="16" endLine="38" endOffset="57"/></Target><Target id="@+id/toolbarTitle" view="TextView"><Expressions/><location startLine="40" startOffset="16" endLine="51" endOffset="44"/></Target><Target id="@+id/downloadButton" view="ImageButton"><Expressions/><location startLine="53" startOffset="16" endLine="63" endOffset="57"/></Target><Target id="@+id/imageView" view="ImageView"><Expressions/><location startLine="71" startOffset="4" endLine="77" endOffset="54"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_main" modulePackage="com.crm.chat" filePath="app/src/main/res/layout/activity_main.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.constraintlayout.widget.ConstraintLayout"><Targets><Target tag="layout/activity_main_0" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="1" startOffset="0" endLine="151" endOffset="51"/></Target><Target id="@+id/toolbar" view="androidx.appcompat.widget.Toolbar"><Expressions/><location startLine="10" startOffset="4" endLine="45" endOffset="39"/></Target><Target id="@+id/logoImageView" view="ImageView"><Expressions/><location startLine="23" startOffset="8" endLine="30" endOffset="50"/></Target><Target id="@+id/menuButton" view="ImageButton"><Expressions/><location startLine="33" startOffset="8" endLine="43" endOffset="46"/></Target><Target id="@+id/swipeRefreshLayout" view="androidx.swiperefreshlayout.widget.SwipeRefreshLayout"><Expressions/><location startLine="48" startOffset="4" endLine="66" endOffset="59"/></Target><Target id="@+id/chatsRecyclerView" view="androidx.recyclerview.widget.RecyclerView"><Expressions/><location startLine="58" startOffset="8" endLine="64" endOffset="48"/></Target><Target id="@+id/emptyStateLayout" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="69" startOffset="4" endLine="91" endOffset="55"/></Target><Target id="@+id/emptyStateTextView" view="TextView"><Expressions/><location startLine="79" startOffset="8" endLine="89" endOffset="55"/></Target><Target id="@+id/loadingProgressBar" view="ProgressBar"><Expressions/><location startLine="94" startOffset="4" endLine="102" endOffset="59"/></Target><Target id="@+id/errorStateLayout" view="androidx.constraintlayout.widget.ConstraintLayout"><Expressions/><location startLine="105" startOffset="4" endLine="137" endOffset="55"/></Target><Target id="@+id/errorTextView" view="TextView"><Expressions/><location startLine="115" startOffset="8" endLine="125" endOffset="59"/></Target><Target id="@+id/retryButton" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="127" startOffset="8" endLine="135" endOffset="55"/></Target><Target id="@+id/createChatFab" view="com.google.android.material.floatingactionbutton.FloatingActionButton"><Expressions/><location startLine="140" startOffset="4" endLine="149" endOffset="33"/></Target></Targets></Layout>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user