Skip to content

Instantly share code, notes, and snippets.

@ologe
Created January 8, 2021 09:46
Show Gist options
  • Save ologe/5e53333c86d83af9e97b7831d7f78ce6 to your computer and use it in GitHub Desktop.
Save ologe/5e53333c86d83af9e97b7831d7f78ce6 to your computer and use it in GitHub Desktop.
import android.app.Activity
import android.app.Application
import android.os.Bundle
import android.view.View
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
import androidx.fragment.app.FragmentManager
class CurrentPageCallback : Application.ActivityLifecycleCallbacks {
private val callback = object : FragmentManager.FragmentLifecycleCallbacks() {
override fun onFragmentViewCreated(fm: FragmentManager, f: Fragment, v: View, savedInstanceState: Bundle?) {
println("current screen:Fragment -> ${f::class.java.name}")
}
}
override fun onActivityStarted(activity: Activity) {
require(activity is FragmentActivity)
activity.supportFragmentManager.registerFragmentLifecycleCallbacks(callback, true)
}
override fun onActivityStopped(activity: Activity) {
require(activity is FragmentActivity)
activity.supportFragmentManager.unregisterFragmentLifecycleCallbacks(callback)
}
override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {
println("current screen:Activity -> ${activity::class.java.name}")
}
override fun onActivityResumed(activity: Activity) {
}
override fun onActivityPaused(activity: Activity) {
}
override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {
}
override fun onActivityDestroyed(activity: Activity) {
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment