Automattic-Tracks-Android
Automattic-Tracks-Android copied to clipboard
Client library for tracking user events for later analysis
### Description This PR is related to improving performance of `TracksClient#track` method. This is crucial for performance of projects using this library - this method is called in numerous places,...
As soon as this feature goes out of experimental phase, it'd be great to introduce it to enrich our performance measurements: https://docs.sentry.io/platforms/android/performance/instrumentation/perf-v2/
### Why? We noticed we don't follow semantic versioning of this library as close as we'd like to. ### How? Integration of https://github.com/Kotlin/binary-compatibility-validator should help us to raise awareness of...
Parent: https://github.com/orgs/wordpress-mobile/projects/223 updates the `targetSdk` from 33 to 34. - [ ] Update the SDK in this repo. - [ ] Create a release. - [ ] Update the release...
Original issue created by @renanferrari in [WordPress-Android](https://github.com/wordpress-mobile/WordPress-Android/issues/14089) ___ This issue centralizes all tasks and potential improvements to the ExPlat implementation on WPAndroid. ### Tasks - [x] Initial A/A experiment implementation....
Add experiment list screen (as seen [here](https://github.com/wordpress-mobile/WordPress-Android/issues/14089)) to `:experimentation` module
Similar to this: https://github.com/getsentry/sentry-java/blob/main/sentry-android-core/src/main/java/io/sentry/android/core/ActivityLifecycleIntegration.java but for fragment. This will have to be manually added by clients into fragments lifecycle as suggested in https://github.com/woocommerce/woocommerce-android/pull/3891#pullrequestreview-645795013
From Fabric: ``` Fatal Exception: android.database.sqlite.SQLiteReadOnlyDatabaseException: attempt to write a readonly database (code 1032) at android.database.sqlite.SQLiteConnection.nativeExecute(SQLiteConnection.java) at android.database.sqlite.SQLiteConnection.execute(SQLiteConnection.java:555) at android.database.sqlite.SQLiteSession.execute(SQLiteSession.java:619) at android.database.sqlite.SQLiteStatement.execute(SQLiteStatement.java:44) at com.automattic.android.tracks.datasets.EventTable.insertEvent(EventTable.java:102) at com.automattic.android.tracks.TracksClient$1.run(TracksClient.java:117) at java.lang.Thread.run(Thread.java:761) ``` **Source:**...
It looks like there's a semi-rare bug in Tracks where it tries to access the database while it's locked. This results in a stack trace like: ``` Fatal Exception: android.database.sqlite.SQLiteDatabaseLockedException:...
From Android lint report: ![image](https://user-images.githubusercontent.com/5845095/111297429-e6570b00-864d-11eb-90fb-ad7cb79f300a.png)