diff --git a/Habitica/res/layout/activity_task_form.xml b/Habitica/res/layout/activity_task_form.xml
index 554d0c01e..3df398cf4 100644
--- a/Habitica/res/layout/activity_task_form.xml
+++ b/Habitica/res/layout/activity_task_form.xml
@@ -242,11 +242,13 @@
android:background="@drawable/layout_rounded_bg_yellow_10">
diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml
index 4b32420ed..99a73bdff 100644
--- a/Habitica/res/values/strings.xml
+++ b/Habitica/res/values/strings.xml
@@ -30,7 +30,7 @@
Enable Notifications
Allow Habitica notifications in the Settings app to receive push notifications
Allow Habitica notifications in the Settings app to receive reminders
- Habitica does not have the `Alarms & Reminders` permission in the Settings app. Reminders might not appear at the exact time.
+ Reminders may be delayed because permissions aren\'t enabled. Tap to view and update permissions.
Notifications Disabled
Set your push notifications settings
`Alarm & Reminders` disabled`
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 e08848c98..b4753f4a6 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
@@ -21,4 +21,21 @@ open class PushNotificationsPreference : RealmObject(), BaseObject {
var mentionJoinedGuild: Boolean = false
var mentionUnjoinedGuild: Boolean = false
var contentRelease: Boolean = false
+
+ fun listOfEnabledKeys(): List {
+ var enabled = mutableListOf()
+ if (invitedParty) enabled.add("invitedParty")
+ if (invitedQuest) enabled.add("invitedQuest")
+ if (majorUpdates) enabled.add("majorUpdates")
+ if (wonChallenge) enabled.add("wonChallenge")
+ if (invitedGuild) enabled.add("invitedGuild")
+ if (newPM) enabled.add("newPM")
+ if (questStarted) enabled.add("questStarted")
+ if (giftedGems) enabled.add("giftedGems")
+ if (partyActivity) enabled.add("partyActivity")
+ if (mentionParty) enabled.add("mentionParty")
+ if (mentionJoinedGuild) enabled.add("mentionJoinedGuild")
+ if (contentRelease) enabled.add("contentRelease")
+ return enabled
+ }
}
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.kt
index 547db53b1..0ef8de5b2 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.kt
@@ -229,6 +229,10 @@ class TaskFormActivity : BaseActivity() {
supportActionBar?.setBackgroundDrawable(ColorDrawable(upperTintColor))
binding.upperTextWrapper.setBackgroundColor(upperTintColor)
+ binding.exactAlarmDisabledContainer.background = ContextCompat.getDrawable(this, R.drawable.layout_rounded_bg_task_form)
+ binding.exactAlarmDisabledContainer.background.mutate().setTint(this.getThemeColor(R.attr.tintedUiMain))
+ binding.exactAlarmDisabledText.setTextColor(getThemeColor(R.attr.textColorTintedPrimary))
+
isChallengeTask = bundle.getBoolean(IS_CHALLENGE_TASK, false)
taskType = TaskType.from(bundle.getString(TASK_TYPE_KEY)) ?: TaskType.HABIT
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewmodels/MainActivityViewModel.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewmodels/MainActivityViewModel.kt
index 2729ddc15..ac7e3fd59 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewmodels/MainActivityViewModel.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewmodels/MainActivityViewModel.kt
@@ -107,6 +107,9 @@ class MainActivityViewModel
"checkin_count",
user.loginIncentives.toString(),
)
+ user.preferences?.pushNotifications?.listOfEnabledKeys()?.let {
+ Analytics.setUserProperty("allowed_push_notifications", it)
+ }
Analytics.setUserProperty("level", user.stats?.lvl?.toString() ?: "")
pushNotificationManager.setUser(user)
if (!pushNotificationManager.notificationPermissionEnabled()) {
diff --git a/version.properties b/version.properties
index ac9ee06d8..b4d5de3e3 100644
--- a/version.properties
+++ b/version.properties
@@ -1,2 +1,2 @@
NAME=4.6.0
-CODE=9301
\ No newline at end of file
+CODE=9311
\ No newline at end of file