Use AndroidX lifecycle functions for App Fore/Backgrounded #667
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Use
androidx.lifecycle
methods to fireApplication Backgrounded | Application Foregrounded
track calls whentrackApplicationLifecycleEvents=true
.This feature allows us to load Segment Analytics "lazily" via an Activity rather than via the Application and still hook into all the lifecycle methods. This is due to the fact that
AnalyticsActivityLifecycleCallbacks.onCreate
gets called even if Analytics is loaded after theApplication.onCreate
.The Lifecycle methods are also the recommended method of determining if an application is foregrounded/backgrounded.
Test Plan
Application Backgrounded | Application Foregrounded
are sent when app starts. (Segment initialized via Application)Application Backgrounded | Application Foregrounded
are sent when app starts. (Segment initialized via Activity)Application Installed
are sent when app starts. (Segment initialized via Application)Application Installed
are sent when app starts. (Segment initialized via Activity)