mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-07-22 05:45:04 +00:00
Fixes #1381
This commit is contained in:
parent
73c1943646
commit
c2b3a3bd90
3 changed files with 6 additions and 25 deletions
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in a new issue