This commit is contained in:
Phillip Thelen 2020-11-06 16:06:05 +01:00
parent 73c1943646
commit c2b3a3bd90
3 changed files with 6 additions and 25 deletions

View file

@ -35,6 +35,7 @@ import com.habitrpg.android.habitica.models.user.Stats
import com.habitrpg.android.habitica.ui.AvatarView
import com.habitrpg.android.habitica.ui.AvatarWithBarsViewModel
import com.habitrpg.android.habitica.ui.adapter.social.AchievementProfileAdapter
import com.habitrpg.android.habitica.ui.fragments.social.InboxOverviewFragmentDirections
import com.habitrpg.android.habitica.ui.helpers.dismissKeyboard
import com.habitrpg.android.habitica.ui.helpers.loadImage
import com.habitrpg.android.habitica.ui.helpers.setMarkdown
@ -181,27 +182,7 @@ class FullProfileActivity : BaseActivity() {
}
private fun showSendMessageToUserDialog() {
val factory = LayoutInflater.from(this)
val newMessageView = factory.inflate(R.layout.profile_new_message_dialog, null)
val emojiEditText = newMessageView.findViewById<AppCompatEditText>(R.id.edit_new_message_text)
val newMessageTitle = newMessageView.findViewById<TextView>(R.id.new_message_title)
newMessageTitle.text = String.format(getString(R.string.profile_send_message_to), userDisplayName)
val addMessageDialog = HabiticaAlertDialog(this)
addMessageDialog.addButton(android.R.string.ok, true) { _, _ ->
socialRepository.postPrivateMessage(userID, emojiEditText.text.toString())
.subscribe({
HabiticaSnackbar.showSnackbar(this@FullProfileActivity.binding.scrollView.getChildAt(0) as ViewGroup,
String.format(getString(R.string.profile_message_sent_to), userDisplayName), SnackbarDisplayType.NORMAL)
}, RxErrorHandler.handleEmptyError())
dismissKeyboard()
}
addMessageDialog.addButton(android.R.string.cancel, false) { _, _ -> dismissKeyboard() }
addMessageDialog.setAdditionalContentView(newMessageView)
addMessageDialog.show()
MainNavigationController.navigate(R.id.inboxFragment, bundleOf(Pair("username", username), Pair("userID", userID)))
}
private fun updateView(user: Member) {

View file

@ -108,7 +108,7 @@ class InboxAdapter(private var user: User?, private var replyToUser : Member) :
newConcert: ChatMessage) = oldConcert.id == newConcert.id
override fun areContentsTheSame(oldConcert: ChatMessage,
newConcert: ChatMessage) = oldConcert == newConcert
newConcert: ChatMessage) = oldConcert.text == newConcert.text
}
}
}

View file

@ -36,7 +36,7 @@ class InboxViewModel(recipientID: String?, recipientUsername: String?) : BaseVie
.setEnablePlaceholders(false)
.build()
private val dataSourceFactory = MessagesDataSourceFactory(socialRepository, recipientID, ChatMessage())
val dataSourceFactory = MessagesDataSourceFactory(socialRepository, recipientID, ChatMessage())
val messages: LiveData<PagedList<ChatMessage>> = dataSourceFactory.toLiveData(config)
private val member: MutableLiveData<Member?> by lazy {
MutableLiveData<Member?>()
@ -85,7 +85,7 @@ class InboxViewModel(recipientID: String?, recipientUsername: String?) : BaseVie
}
}
private class MessagesDataSource(val socialRepository: SocialRepository, var recipientID: String?, var footer : ChatMessage?):
class MessagesDataSource(val socialRepository: SocialRepository, var recipientID: String?, var footer : ChatMessage?):
PositionalDataSource<ChatMessage>() {
private var lastFetchWasEnd = false
override fun loadRange(params: LoadRangeParams, callback: LoadRangeCallback<ChatMessage>) {
@ -137,7 +137,7 @@ private class MessagesDataSource(val socialRepository: SocialRepository, var rec
}
}
private class MessagesDataSourceFactory(val socialRepository: SocialRepository, var recipientID: String?, val footer : ChatMessage?) :
class MessagesDataSourceFactory(val socialRepository: SocialRepository, var recipientID: String?, val footer : ChatMessage?) :
DataSource.Factory<Int, ChatMessage>() {
val sourceLiveData = MutableLiveData<MessagesDataSource>()
var latestSource: MessagesDataSource = MessagesDataSource(socialRepository, recipientID, footer)