# Ikar Android Kotlin

Отдельный Android-клиент на Kotlin/Jetpack Compose, создаваемый как поэтапная замена текущего MAUI-клиента.

Что уже перенесено в этом проекте:
- базовая Gradle/Android-структура
- Compose-приложение с экранами `Login`, `Chats`, `Chat`
- HTTP-клиент к `ikar.kusoft.xyz`
- хранение сессии
- прямой Android update manifest через `argus.kusoft.xyz`
- базовая модель данных, совместимая с текущими DTO `Ikar.Shared`

Что еще не перенесено:
- push/FCM
- SignalR realtime и звонки
- запись и проигрывание voice notes
- загрузка вложений и аватаров в полном объеме
- контакты телефона, профиль, настройки, боты и остальная функциональность MAUI-клиента

Текущее состояние нужно считать рабочим стартом переписывания, а не полным feature parity.

## Подготовка к публикации в Argus

- Локальная release-подпись хранится в gitignored файлах `argus-signing.local.properties` и `signing/`.
- Единая координата публикации для клиента Икар: slug `ikar-android`, channel `stable`, platform `android`.
  Именно этот manifest запрашивают текущий Android-клиент и серверный proxy обновлений.
- Первый запуск локального signing pipeline:
  - `.\scripts\new-argus-upload-keystore.ps1`
- Подготовка signed APK и metadata JSON для Argus:
  - `.\scripts\prepare-argus-publication.ps1`

Скрипт подготовки собирает `release` APK, проверяет подпись и извлекает из самого APK:
- `androidPackageName`
- `androidVersionCode`
- `version`
- `targetSdkVersion`
- ABI/`platform`

После этого он складывает готовый APK и metadata JSON в `build/argus-publication/v<versionCode>/`.
