Respect duration since last iam trigger when the app is quit and relaunched #1560
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
One Line Summary
This PR fixes an issue where we were not previously respecting the duration since last IAM trigger if the app was closed and relaunched.
Details
The duration since last IAM time stamp was not being persisted to SharedPreferences meaning that it is reset if the app is closed and relaunched. This PR persists that time stamp to SharedPreferences when an IAM is dismissed and fetches it when initializing the OSInAppMessageController class.
The time stamp is persisted as a string using the format of the
Date
class'stoString()
method:EEE MMM dd HH:mm:ss zzz yyyy
Motivation
Fix a bug
Testing
Unit testing
When do not currently have the infrastructure to test this kind of IAM persistence in unit tests
Manual testing
I tested this on an Android device and emulator.
Affected code checklist
Checklist
Overview
Testing
Final pass
This change is