diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/NotificationOpenHandler.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/NotificationOpenHandler.kt index 42e646237..4a0226c1c 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/NotificationOpenHandler.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/NotificationOpenHandler.kt @@ -4,7 +4,10 @@ import android.content.Intent import com.habitrpg.android.habitica.helpers.notifications.PushNotificationManager import com.habitrpg.android.habitica.models.user.User import com.habitrpg.android.habitica.ui.activities.MainActivity +import com.habitrpg.android.habitica.ui.activities.PrefsActivity import com.habitrpg.android.habitica.ui.fragments.NavigationDrawerFragment +import com.habitrpg.android.habitica.ui.fragments.preferences.PreferencesFragment +import com.habitrpg.android.habitica.ui.fragments.preferences.PreferencesFragment_MembersInjector import com.habitrpg.android.habitica.ui.fragments.social.GuildFragment import com.habitrpg.android.habitica.ui.fragments.social.InboxFragment import com.habitrpg.android.habitica.ui.fragments.social.QuestDetailFragment @@ -26,6 +29,7 @@ class NotificationOpenHandler { intent.getStringExtra("groupID")) PushNotificationManager.RECEIVED_PRIVATE_MESSAGE_PUSH_NOTIFICATION_KEY -> openPrivateMessageScreen(activity, intent.getStringExtra("replyTo")) + PushNotificationManager.CHANGE_USERNAME_PUSH_NOTIFICATION_KEY -> openSettingsScreen(activity) } } @@ -60,5 +64,11 @@ class NotificationOpenHandler { fragment.setGuildId(groupID) activity.displayFragment(fragment) } + + private fun openSettingsScreen(activity: MainActivity) { + val passUserId = Intent(activity, PrefsActivity::class.java) + passUserId.putExtra("userId", activity.userID) + activity.startActivity(passUserId) + } } } \ No newline at end of file diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/notifications/ChangeUsernameLocalNotification.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/notifications/ChangeUsernameLocalNotification.kt new file mode 100644 index 000000000..4ae575c9a --- /dev/null +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/notifications/ChangeUsernameLocalNotification.kt @@ -0,0 +1,6 @@ +package com.habitrpg.android.habitica.helpers.notifications + +import android.content.Context + +class ChangeUsernameLocalNotification(context: Context, identifier: String) : HabiticaLocalNotification(context, identifier) { +} \ No newline at end of file diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/notifications/HabiticaLocalNotificationFactory.java b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/notifications/HabiticaLocalNotificationFactory.java index 2aa61a3f0..357645ad0 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/notifications/HabiticaLocalNotificationFactory.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/notifications/HabiticaLocalNotificationFactory.java @@ -25,6 +25,8 @@ public class HabiticaLocalNotificationFactory { return new QuestBegunLocalNotification(context, notificationType); } else if (notificationType.contains(PushNotificationManager.WON_CHALLENGE_PUSH_NOTIFICATION_KEY)) { return new WonChallengeLocalNotification(context, notificationType); + } else if (notificationType.contains(PushNotificationManager.CHANGE_USERNAME_PUSH_NOTIFICATION_KEY)) { + return new ChangeUsernameLocalNotification(context, notificationType); } else { return new GenericLocalNotification(context, notificationType); } 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 4f52150db..01f5fadeb 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 @@ -118,6 +118,7 @@ class PushNotificationManager(var apiClient: ApiClient, private val sharedPrefer const val QUEST_INVITE_PUSH_NOTIFICATION_KEY = "questInvitation" const val QUEST_BEGUN_PUSH_NOTIFICATION_KEY = "questStarted" const val WON_CHALLENGE_PUSH_NOTIFICATION_KEY = "wonChallenge" + const val CHANGE_USERNAME_PUSH_NOTIFICATION_KEY = "changeUsername" private const val DEVICE_TOKEN_PREFERENCE_KEY = "device-token-preference" } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NavigationDrawerFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NavigationDrawerFragment.kt index 0cb054204..f73c8850e 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NavigationDrawerFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NavigationDrawerFragment.kt @@ -300,7 +300,7 @@ class NavigationDrawerFragment : DialogFragment() { //sharedPreferences.edit().putInt(STATE_SELECTED_POSITION, position).apply() - val activity = activity as MainActivity? + val activity = activity as? MainActivity if (activity != null) { if (fragment != null) { fragment.fragmentSidebarIdentifier = identifier