|
10 | 10 | import org.json.JSONException;
|
11 | 11 | import org.json.JSONObject;
|
12 | 12 |
|
| 13 | +import java.text.ParseException; |
| 14 | +import java.text.SimpleDateFormat; |
13 | 15 | import java.util.ArrayList;
|
| 16 | +import java.util.Date; |
14 | 17 | import java.util.List;
|
| 18 | +import java.util.Locale; |
15 | 19 | import java.util.Set;
|
16 | 20 |
|
17 | 21 | class OSInAppMessageRepository {
|
@@ -447,6 +451,33 @@ void saveIAMs(final String inAppMessages) {
|
447 | 451 | inAppMessages);
|
448 | 452 | }
|
449 | 453 |
|
| 454 | + void saveLastTimeInAppDismissed(Date lastTimeInAppDismissed) { |
| 455 | + String lastTimeDismissedString = lastTimeInAppDismissed != null ? |
| 456 | + lastTimeInAppDismissed.toString() : null; |
| 457 | + sharedPreferences.saveString( |
| 458 | + OneSignalPrefs.PREFS_ONESIGNAL, |
| 459 | + OneSignalPrefs.PREFS_OS_LAST_TIME_IAM_DISMISSED, |
| 460 | + lastTimeDismissedString); |
| 461 | + } |
| 462 | + |
| 463 | + @Nullable |
| 464 | + Date getLastTimeInAppDismissed() { |
| 465 | + String lastTimeDismissedString = sharedPreferences.getString( |
| 466 | + OneSignalPrefs.PREFS_ONESIGNAL, |
| 467 | + OneSignalPrefs.PREFS_OS_LAST_TIME_IAM_DISMISSED, null); |
| 468 | + if (lastTimeDismissedString == null) { |
| 469 | + return null; |
| 470 | + } |
| 471 | + // This pattern matches the pattern used by the Date class's toString() method |
| 472 | + SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH); |
| 473 | + try { |
| 474 | + return format.parse(lastTimeDismissedString); |
| 475 | + } catch (ParseException exception) { |
| 476 | + OneSignal.onesignalLog(OneSignal.LOG_LEVEL.ERROR, exception.getLocalizedMessage()); |
| 477 | + return null; |
| 478 | + } |
| 479 | + } |
| 480 | + |
450 | 481 | private void printHttpSuccessForInAppMessageRequest(String requestType, String response) {
|
451 | 482 | logger.debug("Successful post for in-app message " + requestType + " request: " + response);
|
452 | 483 | }
|
|
0 commit comments