fix(android): add coordinate space fallbacks for android build
This commit is contained in:
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
Reference in New Issue
Block a user