Fix copying message to clipboard

This commit is contained in:
Phillip Thelen 2018-02-12 13:53:15 +01:00
parent d6a723e97f
commit 4104e893f8
3 changed files with 11 additions and 3 deletions

View file

@ -764,4 +764,5 @@
<string name="id_copied">ID copied to clipboard</string>
<string name="insufficientSubscriberGems">You have bought all the Gems you can this month. More become available within the first three days of each month. Thanks for subscribing!</string>
<string name="insufficientSubscriberGemsTitle">Monthly Gem Cap Reached</string>
<string name="chat_message">Chat Message</string>
</resources>

View file

@ -41,13 +41,13 @@ class SocialRepositoryImpl(localRepository: SocialLocalRepository, apiClient: Ap
}
override fun flagMessage(chatMessage: ChatMessage): Observable<Void> {
return if (chatMessage.id == null) {
return if (chatMessage.id == "") {
Observable.just(null)
} else apiClient.flagMessage(chatMessage.groupId, chatMessage.id)
}
override fun likeMessage(chatMessage: ChatMessage): Observable<ChatMessage> {
if (chatMessage.id == null) {
if (chatMessage.id == "") {
return Observable.just(null)
}
val liked = chatMessage.userLikesMessage(userId)

View file

@ -24,6 +24,7 @@ import com.habitrpg.android.habitica.ui.activities.MainActivity
import com.habitrpg.android.habitica.ui.adapter.social.ChatRecyclerViewAdapter
import com.habitrpg.android.habitica.ui.fragments.BaseFragment
import com.habitrpg.android.habitica.ui.helpers.SafeDefaultItemAnimator
import com.habitrpg.android.habitica.ui.views.HabiticaSnackbar
import com.habitrpg.android.habitica.ui.views.HabiticaSnackbar.SnackbarDisplayType
import com.habitrpg.android.habitica.ui.views.HabiticaSnackbar.showSnackbar
import io.realm.RealmResults
@ -189,7 +190,13 @@ class ChatListFragment : BaseFragment(), SwipeRefreshLayout.OnRefreshListener {
}
private fun copyMessageAsTodo(chatMessage: ChatMessage) {
val clipboard = context?.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
val clip = ClipData.newPlainText(context?.getString(R.string.chat_message), chatMessage.text)
clipboard.primaryClip = clip
val activity = activity as MainActivity?
if (activity != null) {
HabiticaSnackbar.showSnackbar(activity.getFloatingMenuWrapper(), getString(R.string.chat_message_copied), HabiticaSnackbar.SnackbarDisplayType.NORMAL)
}
}
override fun onSaveInstanceState(outState: Bundle) {