Skip to content

MOB-11639 WIP: Async Initialization for ANR Prevention #913

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

Draft
wants to merge 13 commits into
base: master
Choose a base branch
from

Conversation

sumeruchat
Copy link
Collaborator

Work in progress async initialization framework

… structure in IterableKeychain.kt- Enhanced test coverage and refactored tests in IterableKeychainTest.kt- Added 421 lines and removed 236 lines across both files
…d `InitializationState` enum for managing SDK initialization states.- Added `waitForInitialization` method to ensure synchronous test setup.- Implemented `executeWhenReady` to queue operations until initialization completes.- Utilized `ExecutorService` for background initialization tasks.- Improved `IterableKeychain` with non-blocking cache access and async value saving.- Updated test utilities to wait for initialization.
@sumeruchat sumeruchat added the bug label Jun 23, 2025
…- Improved code structure and readability- Added 363 lines of new tests and functionality- Removed 229 lines of redundant or outdated code
@sumeruchat sumeruchat changed the title MOB-11639 WIP: IterableApi Async Initialization MOB-11639 WIP: IterableApi Async Initialization for ANR Prevention Jun 27, 2025
…java` with improved logic and reduced complexity.- Added new functionality in `IterableApiInitializer.kt`.- Refactored `IterableKeychain.kt` for better performance and maintainability.- Enhanced test coverage in `IterableKeychainTest.kt`.- Minor build configuration updates in `build.gradle`.Overall, 470 lines added and 499 lines removed to streamline codebase.
…hared preferences to return encrypted data.- Simulate timeout by throwing an exception in mockEncryptor.- Verify decryption failure handler is called.- Ensure bad encrypted data is removed.
…s when ready- Wrapped logic in executeWhenReady to ensure actions are performed when the system is ready.- Improved code readability and maintainability by encapsulating logic within a lambda.
@sumeruchat sumeruchat changed the title MOB-11639 WIP: IterableApi Async Initialization for ANR Prevention MOB-11639 WIP: Async Initialization for ANR Prevention Jun 27, 2025
…ructure- Removed redundant code from IterableApi.java, reducing complexity.- Deleted IterableApiInitializer.kt as it was no longer needed.- Simplified IterableTestUtils.java and updated build.gradle accordingly.- Overall, 91 insertions and 332 deletions across 6 files.
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.

1 participant