switchToGoRouter method
Switch to GoRouter provider and attach to RouterDelegate
Implementation
Future<void> switchToGoRouter(dynamic routerDelegate,
{String? caller}) async {
if (!_isActive) {
ObslyLogger.warn(
'π₯ GOROUTER_IMPL: NavigationIntegrationV2 not initialized');
return;
}
// Check if already switched to GoRouter
if (goRouterNavigatorProvider != null) {
ObslyLogger.debug(
'π₯ GOROUTER_IMPL: Already using GoRouter provider, skipping switchToGoRouter');
return;
}
ObslyLogger.debug(
'π₯ GOROUTER_IMPL: switchToGoRouter called with: ${routerDelegate?.runtimeType} FROM: ${caller ?? "UNKNOWN"}');
await _switchProvider(NavigationProviderType.goRouter);
final goRouterProvider = goRouterNavigatorProvider;
if (goRouterProvider != null && routerDelegate != null) {
ObslyLogger.debug(
'π₯ GOROUTER_IMPL: Attaching RouterDelegate to GoRouterProvider...');
goRouterProvider.attachToRouter(routerDelegate);
ObslyLogger.debug(
'π₯ GOROUTER_IMPL: β
NavigationIntegrationV2 switched to GoRouter with RouterDelegate');
} else {
ObslyLogger.warn(
'π₯ GOROUTER_IMPL: β Cannot attach - goRouterProvider: $goRouterProvider, routerDelegate: $routerDelegate');
}
}