Add push notification settings

# Conflicts:
#	Habitica/res/values/strings.xml
This commit is contained in:
Phillip Thelen 2019-11-01 12:00:11 +01:00
parent df146b8c13
commit 4ab7efe177
4 changed files with 27 additions and 11 deletions

View file

@ -870,10 +870,13 @@
<string name="gems_gift_description">Want to bestow a shiny haul of Gems to someone else?</string>
<string name="gift_gems_disclaimer">Habitica will never require you to gift gems to other players. Begging people for gems is a violation of the Community Guidelines and should be reported to admin@habitica.com.</string>
<string name="more_out_of_habitica">Get more out of Habitica</string>
<string name="preference_push_party_mention">\@Mentions in Party</string>
<string name="purchase">Purchase</string>
<string name="from_balance">From Balance</string>
<string name="gift_gems_balance_subtitle">Enter how many of your Gems you\'d like to send below or switch tabs to purchase Gems to gift</string>
<string name="gems_to_gift">Gems to gift</string>
<string name="preference_push_joined_guild_mention">\@Mentions in joined Guilds</string>
<string name="preference_push_unjoined_guild_mention">\@Mentions in not joined Guilds</string>
<string name="send_gift">Send Gift</string>
<string name="copy_userid">Copy User ID</string>
<string name="id_copied">Copied User ID to clipboard</string>

View file

@ -190,67 +190,71 @@
android:layout="@layout/preference_child_summary">
<PreferenceCategory android:title="Push Notifications">
<CheckBoxPreference
android:key="preference_push_you_won_challenge"
android:defaultValue="true"
android:title="@string/preference_push_you_won_challenge"
android:layout="@layout/preference_child_summary"/>
<CheckBoxPreference
android:key="preference_push_received_a_private_message"
android:defaultValue="true"
android:title="@string/preference_push_received_a_private_message"
android:layout="@layout/preference_child_summary"/>
<CheckBoxPreference
android:key="preference_push_gifted_gems"
android:defaultValue="true"
android:title="@string/preference_push_gifted_gems"
android:layout="@layout/preference_child_summary"/>
<CheckBoxPreference
android:key="preference_push_gifted_subscription"
android:defaultValue="true"
android:title="@string/preference_push_gifted_subscription"
android:layout="@layout/preference_child_summary"/>
<CheckBoxPreference
android:key="preference_push_invited_to_party"
android:defaultValue="true"
android:title="@string/preference_push_invited_to_party"
android:layout="@layout/preference_child_summary"/>
<CheckBoxPreference
android:key="preference_push_invited_to_guild"
android:defaultValue="true"
android:title="@string/preference_push_invited_to_guild"
android:layout="@layout/preference_child_summary"/>
<CheckBoxPreference
android:key="preference_push_your_quest_has_begun"
android:defaultValue="true"
android:title="@string/preference_push_your_quest_has_begun"
android:layout="@layout/preference_child_summary"/>
<CheckBoxPreference
android:key="preference_push_invited_to_quest"
android:defaultValue="true"
android:title="@string/preference_push_invited_to_quest"
android:layout="@layout/preference_child_summary"/>
<CheckBoxPreference
android:key="preference_push_important_announcements"
android:defaultValue="true"
android:title="@string/preference_push_important_announcements"
android:layout="@layout/preference_child_summary"/>
<CheckBoxPreference
android:key="preference_push_party_activity"
android:defaultValue="true"
android:title="@string/preference_push_party_activity"
android:layout="@layout/preference_child_summary"/>
<CheckBoxPreference
android:key="preference_push_party_mention"
android:defaultValue="true"
android:title="@string/preference_push_party_mention"
android:layout="@layout/preference_child_summary"/>
<CheckBoxPreference
android:key="preference_push_joined_guild_mention"
android:defaultValue="true"
android:title="@string/preference_push_joined_guild_mention"
android:layout="@layout/preference_child_summary"/>
<CheckBoxPreference
android:key="preference_push_unjoined_guild_mention"
android:defaultValue="true"
android:title="@string/preference_push_unjoined_guild_mention"
android:layout="@layout/preference_child_summary"/>
</PreferenceCategory>
</PreferenceScreen>

View file

@ -14,4 +14,7 @@ open class PushNotificationsPreference : RealmObject() {
var giftedGems: Boolean = false
var giftedSubscription: Boolean = false
var partyActivity: Boolean = false
var mentionParty: Boolean = false
var mentionJoinedGuild: Boolean = false
var mentionUnjoinedGuild: Boolean = false
}

View file

@ -43,6 +43,9 @@ class PushNotificationsPreferencesFragment : BasePreferencesFragment(), SharedPr
updatePreference("preference_push_invited_to_quest", user?.preferences?.pushNotifications?.invitedQuest)
updatePreference("preference_push_important_announcements", user?.preferences?.pushNotifications?.majorUpdates)
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_unjoined_guild_mention", user?.preferences?.pushNotifications?.mentionUnjoinedGuild)
isSettingUser = false
isInitialSet = false
}
@ -67,6 +70,9 @@ class PushNotificationsPreferencesFragment : BasePreferencesFragment(), SharedPr
"preference_push_invited_to_quest" -> "invitedQuest"
"preference_push_important_announcements" -> "majorUpdates"
"preference_push_party_activity" -> "partyActivity"
"preference_push_party_mention" -> "mentionParty"
"preference_push_joined_guild_mention" -> "mentionJoinedGuild"
"preference_push_unjoined_guild_mention" -> "mentionUnjoinedGuild"
else -> null
}
if (pathKey != null) {