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

Respect duration since last iam trigger when the app is quit and relaunched #1560

Merged
merged 2 commits into from
Apr 7, 2022

Conversation

emawby
Copy link
Contributor

@emawby emawby commented Apr 6, 2022

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's toString() 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

  • Notifications
    • Display
    • Open
    • Push Processing
    • Confirm Deliveries
  • Outcomes
  • Sessions
  • In-App Messaging
  • REST API requests
  • Public API changes

Checklist

Overview

  • I have filled out all REQUIRED sections above
  • PR does one thing
    • If it is hard to explain how any codes changes are related to each other then it most likely needs to be more than one PR
  • Any Public API changes are explained in the PR details and conform to existing APIs

Testing

  • I have included test coverage for these changes, or explained why they are not needed
  • All automated tests pass, or I explained why that is not possible
  • I have personally tested this on my device, or explained why that is not possible

Final pass

  • Code is as readable as possible.
    • Simplify with less code, followed by splitting up code into well named functions and variables, followed by adding comments to the code.
  • I have reviewed this PR myself, ensuring it meets each checklist item
    • WIP (Work In Progress) is ok, but explain what is still in progress and what you would like feedback on. Start the PR title with "WIP" to indicate this.

This change is Reviewable

This is taking a Date and transforming it into a string before saving it in OneSignalPrefs. The format is using the format from the Date class's toString() method
This allows this trigger to be respected when the app is quit and relaunched
@emawby emawby force-pushed the fix/respect_duration_since_last_IAM branch from 3ae9183 to 5a6c472 Compare April 6, 2022 23:24
@emawby emawby requested review from Jeasmine, nan-li, jkasten2 and a team April 6, 2022 23:24
Copy link
Member

@jkasten2 jkasten2 left a comment

Choose a reason for hiding this comment

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

:lgtm:

Reviewed 3 of 3 files at r1, all commit messages.
Reviewable status: :shipit: complete! all files reviewed, all discussions resolved (waiting on @Jeasmine and @nan-li)

@emawby emawby merged commit 708fd6c into main Apr 7, 2022
@emawby emawby deleted the fix/respect_duration_since_last_IAM branch April 7, 2022 18:01
nan-li added a commit that referenced this pull request Apr 8, 2022
@nan-li nan-li mentioned this pull request Apr 8, 2022
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