docs(rustore-spec): убрать тумблер записи (мёртвый) + тестер станций под флаг store
This commit is contained in:
@@ -29,10 +29,12 @@ productFlavors {
|
||||
create("store") {
|
||||
dimension = "distribution"
|
||||
buildConfigField("boolean", "ENABLE_SELF_UPDATE", "false")
|
||||
buildConfigField("boolean", "SHOW_DEV_TOOLS", "false")
|
||||
}
|
||||
create("sideload") {
|
||||
dimension = "distribution"
|
||||
buildConfigField("boolean", "ENABLE_SELF_UPDATE", "true")
|
||||
buildConfigField("boolean", "SHOW_DEV_TOOLS", "true")
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -154,6 +156,25 @@ api.radiola.nexaweb.su {
|
||||
- Ссылка на политику конфиденциальности.
|
||||
- Заметка модератору: пояснения по exact-alarm и battery-optimization.
|
||||
|
||||
## G. Чистка экрана настроек (`ui/settings/SettingsScreen.kt`)
|
||||
|
||||
### G1. Убрать тумблер «Запись эфира» (обе сборки)
|
||||
Осиротевшая настройка: флаг `RECORDING_ENABLED` сохраняется, но НИГДЕ не читается
|
||||
(запись эфира работает через кнопку в плеере и вкладку «Запись» независимо).
|
||||
Удалить:
|
||||
- секцию «Запись эфира» в `SettingsScreen.kt` (item с `isRecordingEnabled`/`setRecordingEnabled`);
|
||||
- `isRecordingEnabled`/`setRecordingEnabled` в `SettingsViewModel`;
|
||||
- `isRecordingEnabled()`/`setRecordingEnabled()` в `SettingsRepository` (интерфейс) и
|
||||
`SettingsRepositoryImpl` + ключ `RECORDING_ENABLED` в DataStore.
|
||||
- Сама фича записи (кнопка плеера, `RecordingRepository`, вкладка) НЕ трогается.
|
||||
|
||||
### G2. Скрыть «Тестирование станций» в store-сборке
|
||||
Диагностический dev-инструмент (прогон всех станций: OK/без метаданных/оффлайн/
|
||||
ошибки + отчёт с HTTP/ICY). В store не нужен. Обернуть секцию «ТЕСТИРОВАНИЕ
|
||||
СТАНЦИЙ» (и связанный диалог отчёта) в `if (BuildConfig.SHOW_DEV_TOOLS) { ... }`.
|
||||
В sideload остаётся как сейчас. Код тестирования (`SettingsViewModel.startTesting`,
|
||||
`StationTestStatus`) остаётся в `main`, просто не показывается в store.
|
||||
|
||||
## Вне области (YAGNI / не сейчас)
|
||||
- AAB-сборка (подаём APK).
|
||||
- proguard/minify (оставляем выключенным).
|
||||
@@ -174,6 +195,8 @@ api.radiola.nexaweb.su {
|
||||
4. Приложение store-сборки работает против https-API (станции, now-playing, авторизация, Shazam).
|
||||
5. `https://api.radiola.nexaweb.su/privacy` открывается.
|
||||
6. Секреты (keystore, пароли) не в git.
|
||||
7. В store-сборке нет секции «Тестирование станций»; в sideload — есть.
|
||||
8. Тумблера «Запись эфира» нет ни в одной сборке; запись эфира работает.
|
||||
|
||||
## Порядок реализации (для плана)
|
||||
1. Инфра HTTPS: DNS A-запись → Caddy vhost → проверка TLS (api + downloads + covers).
|
||||
@@ -181,6 +204,8 @@ api.radiola.nexaweb.su {
|
||||
3. Gradle: flavors `store`/`sideload` + `signingConfig release` + `.gitignore`.
|
||||
4. Манифест: `REQUEST_INSTALL_PACKAGES` → sideload sourceSet.
|
||||
5. Код: gate `checkUpdate()` за `BuildConfig.ENABLE_SELF_UPDATE`; baseUrl/BASE_URL → https.
|
||||
Чистка настроек: убрать тумблер «Запись эфира» (G1); тестер станций под
|
||||
`BuildConfig.SHOW_DEV_TOOLS` (G2).
|
||||
6. Keystore: пользователь генерирует, кладёт `keystore.properties`.
|
||||
7. Сборка `storeRelease`, проверка критериев готовности.
|
||||
8. Текст политики конфиденциальности.
|
||||
|
||||
Reference in New Issue
Block a user