Replace the Inbox badge button in MonthHeader with a bottom-nav tab (hidden when notification parsing is disabled). Redirect /inbox → /home when parsing is off, register the Inbox shell branch unconditionally, and add a settings action to the Inbox screen. Move the parsing tile to the top of the profile screen so settings stay reachable when the tab is hidden. Add tests for the nav tab visibility and inbox routing, plus a release-install PowerShell helper that preserves app data. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
42 lines
1.6 KiB
PowerShell
42 lines
1.6 KiB
PowerShell
# Ставит release-сборку на устройство БЕЗ удаления приложения (данные сохраняются).
|
|
# НЕ использовать `flutter install` — он всегда делает "Uninstalling old version..."
|
|
# и стирает данные (захардкожено в flutter_tools/lib/src/commands/install.dart).
|
|
#
|
|
# Использование:
|
|
# tool\install_release.ps1 # собрать и поставить
|
|
# tool\install_release.ps1 -NoBuild # только поставить уже собранный APK
|
|
# tool\install_release.ps1 -Device ca9a0ff7
|
|
|
|
param(
|
|
[string]$Device,
|
|
[switch]$NoBuild
|
|
)
|
|
|
|
$ErrorActionPreference = "Stop"
|
|
$root = Split-Path -Parent $PSScriptRoot
|
|
|
|
if (-not $NoBuild) {
|
|
Push-Location $root
|
|
try {
|
|
flutter build apk --release
|
|
if ($LASTEXITCODE -ne 0) { throw "flutter build apk failed" }
|
|
} finally {
|
|
Pop-Location
|
|
}
|
|
}
|
|
|
|
$apk = Join-Path $root "build\app\outputs\flutter-apk\app-release.apk"
|
|
if (-not (Test-Path $apk)) { throw "APK not found: $apk (run without -NoBuild)" }
|
|
|
|
$sdk = $env:ANDROID_HOME
|
|
if (-not $sdk) { $sdk = "$env:LOCALAPPDATA\Android\sdk" }
|
|
$adb = Join-Path $sdk "platform-tools\adb.exe"
|
|
if (-not (Test-Path $adb)) { throw "adb not found: $adb" }
|
|
|
|
$adbArgs = @()
|
|
if ($Device) { $adbArgs += @("-s", $Device) }
|
|
# -r = replace: обновление поверх, данные приложения не трогаются
|
|
& $adb @adbArgs install -r $apk
|
|
if ($LASTEXITCODE -ne 0) { throw "adb install failed" }
|
|
Write-Host "Installed in place, app data preserved." -ForegroundColor Green
|