DataDog / dd-sdk-android

Datadog SDK for Android (Compatible with Kotlin and Java)
Apache License 2.0
140 stars 56 forks source link

RUM-4098: Add api to clear all datastore data #2096

Closed jonathanmos closed 1 week ago

jonathanmos commented 2 weeks ago

What does this PR do?

Adds an api to delete all saved datastore entries.

Motivation

The core's clearAllData api should return the sdk to a fresh state and therefore requires removal of datastore information.

What inspired you to submit this pull request?

Additional Notes

Anything else we should know when reviewing?

Review checklist (to be filled by reviewers)

codecov-commenter commented 2 weeks ago

Codecov Report

Attention: Patch coverage is 42.85714% with 8 lines in your changes missing coverage. Please review.

Project coverage is 69.70%. Comparing base (4641fbf) to head (7286345). Report is 3 commits behind head on develop.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## develop #2096 +/- ## =========================================== + Coverage 69.65% 69.70% +0.06% =========================================== Files 718 718 Lines 26650 26686 +36 Branches 4466 4474 +8 =========================================== + Hits 18561 18601 +40 + Misses 6875 6864 -11 - Partials 1214 1221 +7 ``` | [Files](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2096?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | Coverage Δ | | |---|---|---| | [.../android/api/storage/datastore/DataStoreHandler.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2096?src=pr&el=tree&filepath=dd-sdk-android-core%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Fapi%2Fstorage%2Fdatastore%2FDataStoreHandler.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZGQtc2RrLWFuZHJvaWQtY29yZS9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvYW5kcm9pZC9hcGkvc3RvcmFnZS9kYXRhc3RvcmUvRGF0YVN0b3JlSGFuZGxlci5rdA==) | `40.00% <ø> (+20.00%)` | :arrow_up: | | [...in/com/datadog/android/core/internal/SdkFeature.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2096?src=pr&el=tree&filepath=dd-sdk-android-core%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Fcore%2Finternal%2FSdkFeature.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZGQtc2RrLWFuZHJvaWQtY29yZS9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvYW5kcm9pZC9jb3JlL2ludGVybmFsL1Nka0ZlYXR1cmUua3Q=) | `90.91% <100.00%> (+0.05%)` | :arrow_up: | | [...rnal/persistence/datastore/NoOpDataStoreHandler.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2096?src=pr&el=tree&filepath=dd-sdk-android-core%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Fcore%2Finternal%2Fpersistence%2Fdatastore%2FNoOpDataStoreHandler.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZGQtc2RrLWFuZHJvaWQtY29yZS9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvYW5kcm9pZC9jb3JlL2ludGVybmFsL3BlcnNpc3RlbmNlL2RhdGFzdG9yZS9Ob09wRGF0YVN0b3JlSGFuZGxlci5rdA==) | `100.00% <ø> (ø)` | | | [...ernal/persistence/datastore/DatastoreFileWriter.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2096?src=pr&el=tree&filepath=dd-sdk-android-core%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Fcore%2Finternal%2Fpersistence%2Fdatastore%2FDatastoreFileWriter.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZGQtc2RrLWFuZHJvaWQtY29yZS9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvYW5kcm9pZC9jb3JlL2ludGVybmFsL3BlcnNpc3RlbmNlL2RhdGFzdG9yZS9EYXRhc3RvcmVGaWxlV3JpdGVyLmt0) | `84.75% <80.00%> (-0.44%)` | :arrow_down: | | [.../android/core/internal/persistence/file/FileExt.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2096?src=pr&el=tree&filepath=dd-sdk-android-core%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Fcore%2Finternal%2Fpersistence%2Ffile%2FFileExt.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZGQtc2RrLWFuZHJvaWQtY29yZS9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvYW5kcm9pZC9jb3JlL2ludGVybmFsL3BlcnNpc3RlbmNlL2ZpbGUvRmlsZUV4dC5rdA==) | `87.93% <50.00%> (-1.35%)` | :arrow_down: | | [...rnal/persistence/datastore/DataStoreFileHandler.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2096?src=pr&el=tree&filepath=dd-sdk-android-core%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Fcore%2Finternal%2Fpersistence%2Fdatastore%2FDataStoreFileHandler.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZGQtc2RrLWFuZHJvaWQtY29yZS9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvYW5kcm9pZC9jb3JlL2ludGVybmFsL3BlcnNpc3RlbmNlL2RhdGFzdG9yZS9EYXRhU3RvcmVGaWxlSGFuZGxlci5rdA==) | `84.62% <0.00%> (-15.38%)` | :arrow_down: | | [...ernal/persistence/datastore/DataStoreFileHelper.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2096?src=pr&el=tree&filepath=dd-sdk-android-core%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Fcore%2Finternal%2Fpersistence%2Fdatastore%2FDataStoreFileHelper.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZGQtc2RrLWFuZHJvaWQtY29yZS9zcmMvbWFpbi9rb3RsaW4vY29tL2RhdGFkb2cvYW5kcm9pZC9jb3JlL2ludGVybmFsL3BlcnNpc3RlbmNlL2RhdGFzdG9yZS9EYXRhU3RvcmVGaWxlSGVscGVyLmt0) | `15.00% <0.00%> (-2.65%)` | :arrow_down: | ... and [27 files with indirect coverage changes](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2096/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog)