Skip to content

Instantly share code, notes, and snippets.

@chowaikong
Last active August 4, 2017 01:28
Show Gist options
  • Save chowaikong/db2c8112cb09117a7ee47fcb5e61d198 to your computer and use it in GitHub Desktop.
Save chowaikong/db2c8112cb09117a7ee47fcb5e61d198 to your computer and use it in GitHub Desktop.
A helper to define is there a running foreground activity based on ActivityLifecycleCallbacks
class LifecycleHelper: Application.ActivityLifecycleCallbacks {
private var resumed: Int = 0
private var paused: Int = 0
private var started: Int = 0
private var stopped: Int = 0
override fun onActivityPaused(activity: Activity?) {
++paused
}
override fun onActivityResumed(activity: Activity?) {
++resumed
}
override fun onActivityStarted(activity: Activity?) {
++started
}
override fun onActivityDestroyed(activity: Activity?) {
}
override fun onActivitySaveInstanceState(activity: Activity?, outState: Bundle?) {
}
override fun onActivityStopped(activity: Activity?) {
++stopped
}
override fun onActivityCreated(activity: Activity?, savedInstanceState: Bundle?) {
}
fun isRunningInForeground() = resumed > paused
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment