From 28bd6a5a77fafba9079291dbeebdf6b51fb8eeb7 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Mon, 22 Jan 2024 12:12:44 +0100 Subject: [PATCH] support new notification type --- Habitica/res/values/strings.xml | 1 + Habitica/res/xml/preferences_fragment.xml | 10 ++++++++++ .../helpers/notifications/PushNotificationManager.kt | 2 ++ .../models/user/EmailNotificationsPreference.kt | 1 + .../models/user/PushNotificationsPreference.kt | 1 + .../EmailNotificationsPreferencesFragment.kt | 2 ++ .../PushNotificationsPreferencesFragment.kt | 2 ++ 7 files changed, 19 insertions(+) diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml index 004736f86..8527a96b2 100644 --- a/Habitica/res/values/strings.xml +++ b/Habitica/res/values/strings.xml @@ -1474,6 +1474,7 @@ Saddles instantly raise a Pet to a Mount. You can purchase one from the Market. Unable to find player There was an error when loading this player\'s data. Please make sure you typed their @username correctly. + Content releases + Events diff --git a/Habitica/res/xml/preferences_fragment.xml b/Habitica/res/xml/preferences_fragment.xml index 4e244e240..ac3a7a5e9 100644 --- a/Habitica/res/xml/preferences_fragment.xml +++ b/Habitica/res/xml/preferences_fragment.xml @@ -297,6 +297,11 @@ android:defaultValue="true" android:title="@string/preference_push_joined_group_plan_mention" android:layout="@layout/preference_child_summary"/> + @@ -379,6 +384,11 @@ android:defaultValue="true" android:title="@string/preference_email_subscription_reminder" android:layout="@layout/preference_child_summary"/> + diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/notifications/PushNotificationManager.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/notifications/PushNotificationManager.kt index f6bc55a11..fb2b49b48 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/notifications/PushNotificationManager.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/notifications/PushNotificationManager.kt @@ -109,6 +109,7 @@ class PushNotificationManager( type?.contains(QUEST_INVITE_PUSH_NOTIFICATION_KEY) == true -> "preference_push_invited_to_quest" type?.contains(QUEST_BEGUN_PUSH_NOTIFICATION_KEY) == true -> "preference_push_your_quest_has_begun" type?.contains(WON_CHALLENGE_PUSH_NOTIFICATION_KEY) == true -> "preference_push_you_won_challenge" + type?.contains(CONTENT_RELEASE_NOTIFICATION_KEY) == true -> "preference_push_content_release" else -> return true } @@ -128,6 +129,7 @@ class PushNotificationManager( const val GIFT_ONE_GET_ONE_PUSH_NOTIFICATION_KEY = "gift1get1" const val CHAT_MENTION_NOTIFICATION_KEY = "chatMention" const val GROUP_ACTIVITY_NOTIFICATION_KEY = "groupActivity" + const val CONTENT_RELEASE_NOTIFICATION_KEY = "contentRelease" const val G1G1_PROMO_KEY = "g1g1Promo" private const val DEVICE_TOKEN_PREFERENCE_KEY = "device-token-preference" diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/EmailNotificationsPreference.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/EmailNotificationsPreference.kt index 348d935bd..86755cf78 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/EmailNotificationsPreference.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/EmailNotificationsPreference.kt @@ -19,4 +19,5 @@ open class EmailNotificationsPreference : RealmObject(), BaseObject { var subscriptionReminders: Boolean = false var onboarding: Boolean = false var kickedGroup: Boolean = false + var contentRelease: Boolean = false } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/PushNotificationsPreference.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/PushNotificationsPreference.kt index f1f90026e..e08848c98 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/PushNotificationsPreference.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/PushNotificationsPreference.kt @@ -20,4 +20,5 @@ open class PushNotificationsPreference : RealmObject(), BaseObject { var mentionParty: Boolean = false var mentionJoinedGuild: Boolean = false var mentionUnjoinedGuild: Boolean = false + var contentRelease: Boolean = false } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/EmailNotificationsPreferencesFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/EmailNotificationsPreferencesFragment.kt index 40688869a..35065c792 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/EmailNotificationsPreferencesFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/EmailNotificationsPreferencesFragment.kt @@ -40,6 +40,7 @@ class EmailNotificationsPreferencesFragment : BasePreferencesFragment(), SharedP updatePreference("preference_email_kicked_group", user?.preferences?.emailNotifications?.kickedGroup) updatePreference("preference_email_onboarding", user?.preferences?.emailNotifications?.onboarding) updatePreference("preference_email_subscription_reminders", user?.preferences?.emailNotifications?.subscriptionReminders) + updatePreference("preference_email_content_release", user?.preferences?.emailNotifications?.contentRelease) isSettingUser = false isInitialSet = false } @@ -66,6 +67,7 @@ class EmailNotificationsPreferencesFragment : BasePreferencesFragment(), SharedP "preference_email_kicked_group" -> "kickedGroup" "preference_email_onboarding" -> "onboarding" "preference_email_subscription_reminders" -> "subscriptionReminders" + "preference_email_content_release" -> "contentRelease" else -> null } if (pathKey != null) { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/PushNotificationsPreferencesFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/PushNotificationsPreferencesFragment.kt index b7f24651b..c720deb54 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/PushNotificationsPreferencesFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/PushNotificationsPreferencesFragment.kt @@ -40,6 +40,7 @@ class PushNotificationsPreferencesFragment : BasePreferencesFragment(), SharedPr updatePreference("preference_push_party_activity", user?.preferences?.pushNotifications?.partyActivity) updatePreference("preference_push_party_mention", user?.preferences?.pushNotifications?.mentionParty) updatePreference("preference_push_joined_guild_mention", user?.preferences?.pushNotifications?.mentionJoinedGuild) + updatePreference("preference_push_content_release", user?.preferences?.pushNotifications?.contentRelease) isSettingUser = false isInitialSet = false } @@ -67,6 +68,7 @@ class PushNotificationsPreferencesFragment : BasePreferencesFragment(), SharedPr "preference_push_party_mention" -> "mentionParty" "preference_push_joined_guild_mention" -> "mentionJoinedGuild" "preference_push_unjoined_guild_mention" -> "mentionUnjoinedGuild" + "preference_push_content_release" -> "contentRelease" else -> null } if (pathKey != null) {