-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New ViewDataSource #717
New ViewDataSource #717
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. Join @nelsitoPuglisi and the rest of your teammates on Graphite |
4117a92
to
504be70
Compare
6157472
to
fa63a87
Compare
504be70
to
db6a928
Compare
fa63a87
to
fffe3a7
Compare
db6a928
to
251548a
Compare
39a54f8
to
80ac036
Compare
aee3ba3
to
83a4109
Compare
a42e011
to
40d0253
Compare
@@ -97,8 +97,8 @@ internal fun IntegrationTestRule.Harness.recordSession( | |||
// end session 30s later by entering background | |||
overriddenClock.tick(30000) | |||
activityController?.pause() | |||
activityService.onBackground() | |||
activityController?.stop() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@fractalwrench is it guaranteed that that activityLifecycleListners will fire before the ProcessLifecycleListeners if both have onStop() listeners registered? We require the view span to end before the session can be stopped, so we need to ensure there's no race condition between to listener calls so the order can be guaranteed,
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting question! registerActivityLifecycleCallbacks
uses an ArrayList
internally, and the docs for ProcessLifecycleOwner
state the callback gets added via codegen or reflection. My assumption is that whatever class gets instantiated first will get called first. I'd assume that EmbraceProcessStateService
gets instantiated first.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@@ -9,7 +9,7 @@ import io.embrace.android.embracesdk.payload.ViewBreadcrumb | |||
/** | |||
* Captures tap breadcrumbs. | |||
*/ | |||
internal class ViewBreadcrumbDataSource( | |||
internal class LegacyViewBreadcrumbDataSource( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This can be deleted as we've removed the ability to set the payload from this
40d0253
to
14e0ee9
Compare
f4a62ee
to
80cbecb
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #717 +/- ##
==========================================
+ Coverage 80.19% 80.66% +0.47%
==========================================
Files 429 423 -6
Lines 11374 11260 -114
Branches 1725 1703 -22
==========================================
- Hits 9121 9083 -38
+ Misses 1532 1458 -74
+ Partials 721 719 -2
|
Goal
The purpose is to capture view navigation as spans instead of breadcrumbs. We have joined views logged manually through the public API, and automatically captured views, like Activities.
Testing
Unit, Integration and Manual test