processLifecycleEvent method
Execute rules for lifecycle events with fresh appContext
Implementation
Future<void> processLifecycleEvent(ObslyEventBase event) async {
if (!_isAvailable || !_isExecutionEnabled) return;
try {
// Build fresh appContext for this evaluation
final currentAppContext = _buildCurrentAppContext();
// Merge lifecycle context with app context
final fullContext = {
...currentAppContext,
'event': {
'type': 'lifecycle',
'name': event.name,
'timestamp': event.timestamp.millisecondsSinceEpoch,
},
'app': {
'state': event.data['state'] ?? event.name,
'data': event.data,
}
};
// Use unified execution method
await RulesManager.instance.executeRulesForEvent(
eventType: 'lifecycle',
context: fullContext,
);
ObslyLogger.debug('Lifecycle rules executed: ${event.name}');
} catch (e) {
ObslyLogger.error('Error executing lifecycle rules: $e');
}
}