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: remove deprecated methods, AppConfig #100

Merged

Conversation

willpassidomo
Copy link
Contributor

@willpassidomo willpassidomo commented Feb 18, 2022

Summary

This removes some unused functionality left over from when we gave the option of configuring the SDK via XML resources. Attempting to read these values is fairly slow, and this code was a big culprit in causing our slow startup issues.

After removing the code, we are able to effectively merge AppConfig and ConfigManager which reduces our complexity.

In addition to removing the resource fetching, we removed a fallback check for stored credentials in MParticleOptions. Primarily used as a mechanism for internal restarts, we would allow MParticleOptions to build, without credentials, as long as there were credentials in persistence. Since client implementations are static, we don't believe there is an external use-case for this check. Since the reads were slowing down initialization of this object, we instead opened up a new internal endpoint, MParticleOptions.Builder#buildForInternalRestart() which allows us to bypass the credential check for internal restarts

Testing Plan

existing tests cover most of what we need. I replaced the MParticleOptions initialization method in. a few spots, but for the most part there are just updates

Master Issue

Closes https://go.mparticle.com/work/80825

@willpassidomo willpassidomo changed the base branch from main to development February 18, 2022 18:22
@willpassidomo willpassidomo reopened this Feb 18, 2022
@willpassidomo willpassidomo force-pushed the feat/startup/80825-remove-app-config branch 3 times, most recently from a0c651b to 5ee557c Compare February 21, 2022 19:06
@willpassidomo willpassidomo force-pushed the feat/startup/80825-remove-app-config branch from 5ee557c to 34a1e0b Compare February 21, 2022 20:45
@willpassidomo willpassidomo marked this pull request as ready for review February 22, 2022 17:26
@willpassidomo willpassidomo changed the base branch from development to build/startup-time February 22, 2022 17:32
@@ -419,16 +419,16 @@ private MPUrl getUrl(String identityPath, Long mpid) {
private MParticleBaseClientImpl getClient() {
ConfigManager configManager = null;
Copy link
Contributor

Choose a reason for hiding this comment

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

i think we can delete this ConfigManger variable if it's not being used

Copy link
Contributor Author

Choose a reason for hiding this comment

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

👍

@@ -639,7 +639,7 @@ public void enableLocationTracking(@NonNull String provider, long minTime, long
//noinspection MissingPermission
locationManager.requestLocationUpdates(provider, minTime, minDistance, mLocationListener);
locationTrackingEnabled = true;
}catch (SecurityException se) {
} catch (SecurityException se) {
Copy link
Contributor

Choose a reason for hiding this comment

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

this should be ignored

} catch (SecurityException ignored) { }

Copy link
Contributor Author

Choose a reason for hiding this comment

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

👍

@sonarcloud
Copy link

sonarcloud bot commented Feb 22, 2022

SonarCloud Quality Gate failed.    Quality Gate failed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

0.0% 0.0% Coverage
0.0% 0.0% Duplication

@willpassidomo willpassidomo merged commit 89f26ce into build/startup-time Feb 22, 2022
@willpassidomo willpassidomo deleted the feat/startup/80825-remove-app-config branch February 22, 2022 20:45
github-actions bot pushed a commit that referenced this pull request Mar 3, 2022
# [5.36.0](v5.35.4...v5.36.0) (2022-03-03)

### Bug Fixes

* downgrade error log to debug ([#102](#102)) ([293ce35](293ce35))
* keep package names in proguard to prevent collisions ([#109](#109)) ([a8df4fe](a8df4fe))

### Features

* add in ktlintcheck ([#108](#108)) ([f75c5b6](f75c5b6))
* remove deprecated methods, AppConfig ([#100](#100)) ([a5a934a](a5a934a))
* split configuration into core and kits ([#103](#103)) ([766e0d3](766e0d3))
github-actions bot pushed a commit to mchuangatmp/mparticle-android-sdk that referenced this pull request Mar 23, 2022
# [5.18.0](v5.17.0...v5.18.0) (2022-03-23)

### Bug Fixes

* Add additional checks for AndroidId ([mParticle#87](https:/mchuangatmp/mparticle-android-sdk/issues/87)) ([1eceea3](1eceea3))
* add dry run to fix daily cron health check job ([mParticle#95](https:/mchuangatmp/mparticle-android-sdk/issues/95)) ([92c443f](92c443f))
* bad formatting in release.config.js ([mParticle#75](https:/mchuangatmp/mparticle-android-sdk/issues/75)) ([253c9a3](253c9a3))
* bugfix some lint issues ([3177500](3177500))
* Change configMaxAge type from Long to int ([mParticle#91](https:/mchuangatmp/mparticle-android-sdk/issues/91)) ([14ad4b5](14ad4b5))
* downgrade error log to debug ([mParticle#102](https:/mchuangatmp/mparticle-android-sdk/issues/102)) ([293ce35](293ce35))
* Fix cross platforms for Android forked PRs when checking out code ([mParticle#97](https:/mchuangatmp/mparticle-android-sdk/issues/97)) ([90b2760](90b2760))
* Hardcode macos version for Github Actions ([de1f552](de1f552))
* keep package names in proguard to prevent collisions ([mParticle#109](https:/mchuangatmp/mparticle-android-sdk/issues/109)) ([a8df4fe](a8df4fe))
* post new release versions to github ([707c9ec](707c9ec))
* remove Appsee submodule ([8a172b4](8a172b4))
* remove bintray url from kits ([323d57d](323d57d))
* Remove broken Sonatype plugin dependency ([41e86a1](41e86a1))
* remove deprecated kahuna kit for semantic release ([9defb08](9defb08))
* test commit ([e1fb76e](e1fb76e))
* Transitive dependency, remove version range for localbroadcastmanager ([5f94984](5f94984))
* Treat duplicate Push tokens as background tokens if no current Session ([63eb698](63eb698))
* typo in GA4 kit name ([mParticle#112](https:/mchuangatmp/mparticle-android-sdk/issues/112)) ([45f9770](45f9770))
* typo in release.config.js ([mParticle#76](https:/mchuangatmp/mparticle-android-sdk/issues/76)) ([cf30ab8](cf30ab8))
* update java docs syntax after gradle upgrade ([mParticle#98](https:/mchuangatmp/mparticle-android-sdk/issues/98)) ([9a8e22e](9a8e22e))
* update with proper kit configuration ([mParticle#113](https:/mchuangatmp/mparticle-android-sdk/issues/113)) ([7496077](7496077))

### Features

* Add configMaxAge to MParticleOptions ([mParticle#85](https:/mchuangatmp/mparticle-android-sdk/issues/85)) ([eaadccd](eaadccd))
* add in ktlintcheck ([mParticle#108](https:/mchuangatmp/mparticle-android-sdk/issues/108)) ([f75c5b6](f75c5b6))
* add in lint error check for kits ([81307ae](81307ae))
* add in semantic release work ([8e26f79](8e26f79))
* add in sonatype work ([6e73455](6e73455))
* add support for firebase messaging v22.0.0 ([0facc42](0facc42))
* add upload bypass support to logscreen ([177a5d5](177a5d5))
* Android id disabled default true ([mParticle#89](https:/mchuangatmp/mparticle-android-sdk/issues/89)) ([7fc0217](7fc0217))
* Implement event upload bypass option ([3d8a967](3d8a967))
* remove deprecated methods, AppConfig ([mParticle#100](https:/mchuangatmp/mparticle-android-sdk/issues/100)) ([a5a934a](a5a934a))
* split configuration into core and kits ([mParticle#103](https:/mchuangatmp/mparticle-android-sdk/issues/103)) ([766e0d3](766e0d3))
* switch crossplatform tests to run on target repo due to token permission scope ([b7e946a](b7e946a))
* test gpg key ([3239c02](3239c02))
* turn on lint errors ([9c98535](9c98535))
* Update Submodules ([b634d90](b634d90))
* Update Submodules ([eb4573f](eb4573f))
* Update Submodules ([45bfd95](45bfd95))
* Update Submodules ([9aa5077](9aa5077))
* Update Submodules ([d584a3b](d584a3b))
* Update Submodules ([055c896](055c896))
* Update Submodules ([6b2d6be](6b2d6be))
* Update Submodules ([ed75216](ed75216))
* Update Submodules ([216c775](216c775))
* Update Submodules ([1826382](1826382))
* Update Submodules ([1cf5869](1cf5869))
* Update Submodules ([e46a282](e46a282))
* Update Submodules ([4a34f66](4a34f66))
* Update Submodules ([4918847](4918847))
* upgrade to AGP 7.X ([267bf36](267bf36))

### Reverts

* Rollback Kotlin upgrade ([7deee2e](7deee2e))
github-actions bot pushed a commit to mchuangatmp/mparticle-android-sdk that referenced this pull request Mar 23, 2022
# [5.18.0](v5.17.0...v5.18.0) (2022-03-23)

### Bug Fixes

* Add additional checks for AndroidId ([mParticle#87](https:/mchuangatmp/mparticle-android-sdk/issues/87)) ([1eceea3](1eceea3))
* add dry run to fix daily cron health check job ([mParticle#95](https:/mchuangatmp/mparticle-android-sdk/issues/95)) ([92c443f](92c443f))
* bad formatting in release.config.js ([mParticle#75](https:/mchuangatmp/mparticle-android-sdk/issues/75)) ([253c9a3](253c9a3))
* bugfix some lint issues ([3177500](3177500))
* Change configMaxAge type from Long to int ([mParticle#91](https:/mchuangatmp/mparticle-android-sdk/issues/91)) ([14ad4b5](14ad4b5))
* downgrade error log to debug ([mParticle#102](https:/mchuangatmp/mparticle-android-sdk/issues/102)) ([293ce35](293ce35))
* Fix cross platforms for Android forked PRs when checking out code ([mParticle#97](https:/mchuangatmp/mparticle-android-sdk/issues/97)) ([90b2760](90b2760))
* Hardcode macos version for Github Actions ([de1f552](de1f552))
* keep package names in proguard to prevent collisions ([mParticle#109](https:/mchuangatmp/mparticle-android-sdk/issues/109)) ([a8df4fe](a8df4fe))
* post new release versions to github ([707c9ec](707c9ec))
* remove Appsee submodule ([8a172b4](8a172b4))
* remove bintray url from kits ([323d57d](323d57d))
* Remove broken Sonatype plugin dependency ([41e86a1](41e86a1))
* remove deprecated kahuna kit for semantic release ([9defb08](9defb08))
* test commit ([1283aba](1283aba))
* Transitive dependency, remove version range for localbroadcastmanager ([5f94984](5f94984))
* Treat duplicate Push tokens as background tokens if no current Session ([63eb698](63eb698))
* typo in GA4 kit name ([mParticle#112](https:/mchuangatmp/mparticle-android-sdk/issues/112)) ([45f9770](45f9770))
* typo in release.config.js ([mParticle#76](https:/mchuangatmp/mparticle-android-sdk/issues/76)) ([cf30ab8](cf30ab8))
* update java docs syntax after gradle upgrade ([mParticle#98](https:/mchuangatmp/mparticle-android-sdk/issues/98)) ([9a8e22e](9a8e22e))
* update with proper kit configuration ([mParticle#113](https:/mchuangatmp/mparticle-android-sdk/issues/113)) ([7496077](7496077))

### Features

* Add configMaxAge to MParticleOptions ([mParticle#85](https:/mchuangatmp/mparticle-android-sdk/issues/85)) ([eaadccd](eaadccd))
* add in ktlintcheck ([mParticle#108](https:/mchuangatmp/mparticle-android-sdk/issues/108)) ([f75c5b6](f75c5b6))
* add in lint error check for kits ([81307ae](81307ae))
* add in semantic release work ([8e26f79](8e26f79))
* add in sonatype work ([6e73455](6e73455))
* add support for firebase messaging v22.0.0 ([0facc42](0facc42))
* add upload bypass support to logscreen ([177a5d5](177a5d5))
* Android id disabled default true ([mParticle#89](https:/mchuangatmp/mparticle-android-sdk/issues/89)) ([7fc0217](7fc0217))
* Implement event upload bypass option ([3d8a967](3d8a967))
* remove deprecated methods, AppConfig ([mParticle#100](https:/mchuangatmp/mparticle-android-sdk/issues/100)) ([a5a934a](a5a934a))
* split configuration into core and kits ([mParticle#103](https:/mchuangatmp/mparticle-android-sdk/issues/103)) ([766e0d3](766e0d3))
* switch crossplatform tests to run on target repo due to token permission scope ([b7e946a](b7e946a))
* test gpg key ([dad7acd](dad7acd))
* turn on lint errors ([9c98535](9c98535))
* Update Submodules ([b634d90](b634d90))
* Update Submodules ([eb4573f](eb4573f))
* Update Submodules ([45bfd95](45bfd95))
* Update Submodules ([9aa5077](9aa5077))
* Update Submodules ([d584a3b](d584a3b))
* Update Submodules ([055c896](055c896))
* Update Submodules ([6b2d6be](6b2d6be))
* Update Submodules ([ed75216](ed75216))
* Update Submodules ([216c775](216c775))
* Update Submodules ([1826382](1826382))
* Update Submodules ([1cf5869](1cf5869))
* Update Submodules ([e46a282](e46a282))
* Update Submodules ([4a34f66](4a34f66))
* Update Submodules ([4918847](4918847))
* upgrade to AGP 7.X ([267bf36](267bf36))

### Reverts

* Rollback Kotlin upgrade ([7deee2e](7deee2e))
github-actions bot pushed a commit to mchuangatmp/mparticle-android-sdk that referenced this pull request Mar 23, 2022
# [5.18.0](v5.17.0...v5.18.0) (2022-03-23)

### Bug Fixes

* Add additional checks for AndroidId ([mParticle#87](https:/mchuangatmp/mparticle-android-sdk/issues/87)) ([1eceea3](1eceea3))
* add dry run to fix daily cron health check job ([mParticle#95](https:/mchuangatmp/mparticle-android-sdk/issues/95)) ([92c443f](92c443f))
* bad formatting in release.config.js ([mParticle#75](https:/mchuangatmp/mparticle-android-sdk/issues/75)) ([253c9a3](253c9a3))
* bugfix some lint issues ([3177500](3177500))
* Change configMaxAge type from Long to int ([mParticle#91](https:/mchuangatmp/mparticle-android-sdk/issues/91)) ([14ad4b5](14ad4b5))
* downgrade error log to debug ([mParticle#102](https:/mchuangatmp/mparticle-android-sdk/issues/102)) ([293ce35](293ce35))
* Fix cross platforms for Android forked PRs when checking out code ([mParticle#97](https:/mchuangatmp/mparticle-android-sdk/issues/97)) ([90b2760](90b2760))
* Hardcode macos version for Github Actions ([de1f552](de1f552))
* keep package names in proguard to prevent collisions ([mParticle#109](https:/mchuangatmp/mparticle-android-sdk/issues/109)) ([a8df4fe](a8df4fe))
* post new release versions to github ([707c9ec](707c9ec))
* remove Appsee submodule ([8a172b4](8a172b4))
* remove bintray url from kits ([323d57d](323d57d))
* Remove broken Sonatype plugin dependency ([41e86a1](41e86a1))
* remove deprecated kahuna kit for semantic release ([9defb08](9defb08))
* test commit ([5fdbf9e](5fdbf9e))
* Transitive dependency, remove version range for localbroadcastmanager ([5f94984](5f94984))
* Treat duplicate Push tokens as background tokens if no current Session ([63eb698](63eb698))
* typo in GA4 kit name ([mParticle#112](https:/mchuangatmp/mparticle-android-sdk/issues/112)) ([45f9770](45f9770))
* typo in release.config.js ([mParticle#76](https:/mchuangatmp/mparticle-android-sdk/issues/76)) ([cf30ab8](cf30ab8))
* update java docs syntax after gradle upgrade ([mParticle#98](https:/mchuangatmp/mparticle-android-sdk/issues/98)) ([9a8e22e](9a8e22e))
* update with proper kit configuration ([mParticle#113](https:/mchuangatmp/mparticle-android-sdk/issues/113)) ([7496077](7496077))

### Features

* Add configMaxAge to MParticleOptions ([mParticle#85](https:/mchuangatmp/mparticle-android-sdk/issues/85)) ([eaadccd](eaadccd))
* add in ktlintcheck ([mParticle#108](https:/mchuangatmp/mparticle-android-sdk/issues/108)) ([f75c5b6](f75c5b6))
* add in lint error check for kits ([81307ae](81307ae))
* add in semantic release work ([8e26f79](8e26f79))
* add in sonatype work ([6e73455](6e73455))
* add support for firebase messaging v22.0.0 ([0facc42](0facc42))
* add upload bypass support to logscreen ([177a5d5](177a5d5))
* Android id disabled default true ([mParticle#89](https:/mchuangatmp/mparticle-android-sdk/issues/89)) ([7fc0217](7fc0217))
* Implement event upload bypass option ([3d8a967](3d8a967))
* remove deprecated methods, AppConfig ([mParticle#100](https:/mchuangatmp/mparticle-android-sdk/issues/100)) ([a5a934a](a5a934a))
* split configuration into core and kits ([mParticle#103](https:/mchuangatmp/mparticle-android-sdk/issues/103)) ([766e0d3](766e0d3))
* switch crossplatform tests to run on target repo due to token permission scope ([b7e946a](b7e946a))
* test gpg key ([6f782b6](6f782b6))
* turn on lint errors ([9c98535](9c98535))
* Update Submodules ([b634d90](b634d90))
* Update Submodules ([eb4573f](eb4573f))
* Update Submodules ([45bfd95](45bfd95))
* Update Submodules ([9aa5077](9aa5077))
* Update Submodules ([d584a3b](d584a3b))
* Update Submodules ([055c896](055c896))
* Update Submodules ([6b2d6be](6b2d6be))
* Update Submodules ([ed75216](ed75216))
* Update Submodules ([216c775](216c775))
* Update Submodules ([1826382](1826382))
* Update Submodules ([1cf5869](1cf5869))
* Update Submodules ([e46a282](e46a282))
* Update Submodules ([4a34f66](4a34f66))
* Update Submodules ([4918847](4918847))
* upgrade to AGP 7.X ([267bf36](267bf36))

### Reverts

* Rollback Kotlin upgrade ([7deee2e](7deee2e))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants