Skip to content

Instantly share code, notes, and snippets.

@TimofeyBurak
Last active August 16, 2021 13:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save TimofeyBurak/1c1924d45b5bd0a1aa82dcdf0ee908fe to your computer and use it in GitHub Desktop.
Save TimofeyBurak/1c1924d45b5bd0a1aa82dcdf0ee908fe to your computer and use it in GitHub Desktop.
public sealed class MainApplication : MainApplicationBase, ILifecycleObserver
{
private readonly ILogManager _logManager = ...;
public override void OnCreate()
{
base.OnCreate();
RegisterActivityLifecycleCallbacks(new LoggingActivityLifecycleListener(_logManager));
}
}
private sealed class LoggingActivityLifecycleListener : Java.Lang.Object, IActivityLifecycleCallbacks
{
private readonly ILogger _logger;
public LoggingActivityLifecycleListener(ILogManager logManager)
{
_logger = logManager.GetLogger<LoggingActivityLifecycleListener>();
}
public void OnActivityCreated(Activity activity, Bundle savedInstanceState)
{
_logger.Info($"OnActivityCreated: {activity.GetType().Name}");
}
public void OnActivityDestroyed(Activity activity)
{
_logger.Info($"OnActivityDestroyed: {activity.GetType().Name}");
}
public void OnActivityPaused(Activity activity)
{
_logger.Info($"OnActivityPaused: {activity.GetType().Name}");
}
public void OnActivityResumed(Activity activity)
{
_logger.Info($"OnActivityResumed: {activity.GetType().Name}");
}
public void OnActivitySaveInstanceState(Activity activity, Bundle outState)
{
_logger.Info($"OnActivitySaveInstanceState: {activity.GetType().Name}");
}
public void OnActivityStarted(Activity activity)
{
_logger.Info($"OnActivityStarted: {activity.GetType().Name}");
}
public void OnActivityStopped(Activity activity)
{
_logger.Info($"OnActivityStopped: {activity.GetType().Name}");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment