Description:
This change adjusts RMF implementation to updates in BSK that add support for RMF on macOS.
RMF is now controlled by a feature flag, enabled by default on iOS.
Remote messaging config matcher creation has been moved into a standalone provider class
that is otherwise separated from the RMF client.
RemoteMessagingClient now implements a protocol from BSK that provides implementation
for fetching and processing the config. The API is not static and the instance of the client is owned
by AppDelegate.
RemoteMessagingStore and HomePageConfiguration were moved out of AppDependencyProvider
to have better control over their instantiation time and to allow for dependency injection.
Steps to test this PR:
In RemoteMessagingClient.swift, update endpoint to return https://www.jsonblob.com/api/1258315611053613056 for debug builds.
Delete the app from simulator/device to ensure app data is gone
Run the app and complete onboarding.
After the onboarding, open new tab page
Verify that you see "Message 1: Placeholder Title" message.
Don't dismiss the message and restart the app.
Verify that you see "Message 1: Placeholder Title" message again. Dismiss the message and restart the app.
Verify that you see "Message 2: Placeholder Title" message.
Dismiss the message and restart the app 3 more times, verify that on each subsequent run you're seeing message 3, 4 and 5. After dismissing message 5 and restarting the app, no message should be shown.
Task/Issue URL: https://app.asana.com/0/72649045549333/1202913520695928/f CC: @amddg44 @samsymons
Description: This change adjusts RMF implementation to updates in BSK that add support for RMF on macOS.
Steps to test this PR:
https://www.jsonblob.com/api/1258315611053613056
for debug builds.Definition of Done (Internal Only):
Copy Testing:
’
rather than'
Orientation Testing:
Device Testing:
OS Testing:
Theme Testing:
Internal references:
Software Engineering Expectations Technical Design Template