Skip to content
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

feat: sideloading kits #401

Merged
merged 21 commits into from
Jul 20, 2023
Merged

feat: sideloading kits #401

merged 21 commits into from
Jul 20, 2023

Conversation

markvdouw
Copy link
Contributor

@markvdouw markvdouw commented Jul 6, 2023

Instructions

  1. PR target branch should be against development
  2. PR title name should follow this format: https://github.com/mParticle/mparticle-workflows/blob/main/.github/workflows/pr-title-check.yml
  3. PR branch prefix should follow this format: https://github.com/mParticle/mparticle-workflows/blob/main/.github/workflows/pr-branch-check-name.yml

Summary

  • Adding kit filtering to MPSidelodingKit abstraction which extends from KitIntegration itself
  • Adding SideloadedKit interface
  • Adding sideloaded kits to MParticleOptions and its builder
  • Merging remote config with manually passed sideloaded kits in MParticleOptions (considering cases of api responses 200-300 and 304) expecting remote configurations with known integrations, and, sideloaded kits to work exctly the same (lifecycle, logging, initialization & de-initialization, etc)
  • Adding some merging logic in ConfigManager which saves and retrieves processed config into/from shared prefs.
  • Adding unit tests
  • Adding param to DeviceAttributes to report number of sideloaded kits
  • Integration tested with Higgs sample app.

Testing Plan

  • Was this tested locally? If not, explain why. (Unit testing and functional testing on HiggsApp)
  • {explain how this has been tested, and what, if any, additional testing should be done}

Reference Issue (For mParticle employees only. Ignore if you are an outside contributor)

* Adding local kit as a wrapper for config and kit integration.
Creating empty config based on a random unused Int generated by the factory.
Adding kit merging and initializing.

* Changes on tests for compatibility

* Changes due to comments
Adding unit test to check getting config from KitIntegration wrapper set in MParticleOptions, KitManagerFactory creating instances, applying config, etc.
#	android-core/src/main/java/com/mparticle/internal/ConfigManager.java
Signed-off-by: markvdouw <v-mvanderouw@mparticle.com>
Copy link
Collaborator

@einsteinx2 einsteinx2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good thanks!

@markvdouw markvdouw merged commit 80de8ea into development Jul 20, 2023
19 of 23 checks passed
@markvdouw markvdouw deleted the feat/sideloading_kits branch July 20, 2023 20:09
mparticle-automation added a commit that referenced this pull request Jul 24, 2023
## [5.52.0](v5.51.6...v5.52.0) (2023-07-24)

### Features

* sideloading kits ([#401](#401)) ([80de8ea](80de8ea)), closes [#378](#378)

### Updates & Maintenance

* Update submodules ([7d555ce](7d555ce))
@mparticle-automation
Copy link
Collaborator

🎉 This PR is included in version 5.52.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants