private void HandleStateChange(AppLifecycleState state, Action eventHandler) { Task.Run(async() => { try { eventHandler.Invoke(); _analyticsService.Trace(this, $"App {state}. Notifying handlers: {_handlers.Count}"); foreach (var appLifecycleHandler in _handlers) { var response = await appLifecycleHandler.HandleAppStateChangeAsync(state); if (response.IsFailure) { await _errorHandler.HandleErrorAsync(response.Error); } } } catch (Exception e) { await _errorHandler.HandleExceptionAsync(this, e); } }); }
protected virtual void handleAppLifecycleStateChanged(AppLifecycleState state) { lifecycleState = state; switch (state) { case AppLifecycleState.resumed: case AppLifecycleState.inactive: _setFramesEnabledState(true); break; case AppLifecycleState.paused: case AppLifecycleState.detached: _setFramesEnabledState(false); break; } }
public AppLifecycleChangedMessage(AppLifecycleState lifecyleState) { CurrentLifecyleState = lifecyleState; }