fix(android): add coordinate space fallbacks for android build

This commit is contained in:
Daniel Arantes Loverde
2026-04-17 15:57:17 -03:00
parent 66de1e3031
commit e54c0a029f
4 changed files with 26 additions and 2 deletions

View File

@@ -127,6 +127,15 @@ extension View {
self self
#else #else
self.layoutPriority(value) self.layoutPriority(value)
#endif
}
@ViewBuilder
func appNamedCoordinateSpace(_ name: String) -> some View {
#if os(Android)
self
#else
self.coordinateSpace(name: name)
#endif #endif
} }
} }

View File

@@ -48,7 +48,7 @@ struct HomeView: View {
refreshCategories: true refreshCategories: true
) )
} }
.coordinateSpace(name: HomeScrollCoordinateSpace.name) .appNamedCoordinateSpace(HomeScrollCoordinateSpace.name)
header(collapseProgress: collapseProgress, height: headerHeight) header(collapseProgress: collapseProgress, height: headerHeight)
.frame(maxWidth: .infinity, alignment: .top) .frame(maxWidth: .infinity, alignment: .top)

View File

@@ -74,7 +74,7 @@ struct StoreDetailView: View {
.refreshable { .refreshable {
await loadStoreData(forceRefresh: true) await loadStoreData(forceRefresh: true)
} }
.coordinateSpace(name: StoreDetailScrollCoordinateSpace.name) .appNamedCoordinateSpace(StoreDetailScrollCoordinateSpace.name)
.ignoresSafeArea(edges: .top) .ignoresSafeArea(edges: .top)
} }
.ignoresSafeArea(edges: .top) .ignoresSafeArea(edges: .top)

View File

@@ -344,3 +344,18 @@ Legenda:
- `HomeScrollOffsetObserver` habilitado para uso cross-platform. - `HomeScrollOffsetObserver` habilitado para uso cross-platform.
- `HomeView` deixou de usar `EmptyView()` no observer em Android. - `HomeView` deixou de usar `EmptyView()` no observer em Android.
- `swift build` validado com sucesso após o ajuste. - `swift build` validado com sucesso após o ajuste.
12. Correção de compatibilidade do bridge Android concluída para destravar export.
- `skip-fuse-ui` recebeu fallback Android-only para `onGeometryChange(...)`, evitando dependência de hook de geometria ausente no bridge.
- `skip-ui` recebeu shim Android-only para `GroupBox`, mantendo iOS preservado.
- Ajustes feitos no vendor local sem alterar comportamento iOS.
13. Compatibilidade de `coordinateSpace` aplicada com fallback Android.
- Criado `appNamedCoordinateSpace(...)` em `PlatformCompat`.
- `HomeView` e `StoreDetailView` passaram a usar o helper compatível.
- O fluxo iOS permanece no caminho original (`coordinateSpace`) e Android usa no-op seguro.
14. Export Android final validado com sucesso.
- `skip export --debug --no-ios --android --arch aarch64 --plain --verbose` concluído com sucesso.
- Artefatos Android gerados novamente em `pedi-foods/.build/skip-export`.
15. Execução direta (`skip android run`) compilou com sucesso, porém sem instalação por ausência de device conectado.
- Build Swift/Kotlin finalizado.
- Etapa de conexão Android falhou com `adb devices` vazio no ambiente atual.
- Próximo passo para concluir Task 6: conectar device físico (USB) ou iniciar AVD válido.