Open settings from change username notification

This commit is contained in:
Phillip Thelen 2018-09-28 17:30:37 +02:00
parent d6973d905d
commit 1d9eb05453
5 changed files with 20 additions and 1 deletions

View file

@ -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)
}
}
}

View file

@ -0,0 +1,6 @@
package com.habitrpg.android.habitica.helpers.notifications
import android.content.Context
class ChangeUsernameLocalNotification(context: Context, identifier: String) : HabiticaLocalNotification(context, identifier) {
}

View file

@ -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);
}

View file

@ -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"
}
}

View file

@ -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