mirror of
https://github.com/nextcloud/talk-android
synced 2025-07-09 13:59:48 +01:00
Replaced EmojiPicker in RenameConversationDialogFragment
Signed-off-by: Smarshal21 <lcb2021048@iiitl.ac.in>
This commit is contained in:
parent
70e3ac3ec8
commit
ed3117bc9f
@ -22,7 +22,6 @@ package com.nextcloud.talk.conversation
|
|||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.app.Dialog
|
import android.app.Dialog
|
||||||
import android.content.res.ColorStateList
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.text.Editable
|
import android.text.Editable
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
@ -32,13 +31,11 @@ import android.view.LayoutInflater
|
|||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.appcompat.app.AlertDialog
|
import androidx.appcompat.app.AlertDialog
|
||||||
import androidx.core.content.res.ResourcesCompat
|
|
||||||
import androidx.fragment.app.DialogFragment
|
import androidx.fragment.app.DialogFragment
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import autodagger.AutoInjector
|
import autodagger.AutoInjector
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import com.google.android.material.snackbar.Snackbar
|
import com.google.android.material.snackbar.Snackbar
|
||||||
import com.nextcloud.android.common.ui.theme.utils.ColorRole
|
|
||||||
import com.nextcloud.talk.R
|
import com.nextcloud.talk.R
|
||||||
import com.nextcloud.talk.application.NextcloudTalkApplication
|
import com.nextcloud.talk.application.NextcloudTalkApplication
|
||||||
import com.nextcloud.talk.conversation.viewmodel.RenameConversationViewModel
|
import com.nextcloud.talk.conversation.viewmodel.RenameConversationViewModel
|
||||||
@ -46,7 +43,6 @@ import com.nextcloud.talk.conversationlist.ConversationsListActivity
|
|||||||
import com.nextcloud.talk.databinding.DialogRenameConversationBinding
|
import com.nextcloud.talk.databinding.DialogRenameConversationBinding
|
||||||
import com.nextcloud.talk.events.ConversationsListFetchDataEvent
|
import com.nextcloud.talk.events.ConversationsListFetchDataEvent
|
||||||
import com.nextcloud.talk.ui.theme.ViewThemeUtils
|
import com.nextcloud.talk.ui.theme.ViewThemeUtils
|
||||||
import com.vanniktech.emoji.EmojiPopup
|
|
||||||
import org.greenrobot.eventbus.EventBus
|
import org.greenrobot.eventbus.EventBus
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@ -64,8 +60,8 @@ class RenameConversationDialogFragment : DialogFragment() {
|
|||||||
|
|
||||||
private lateinit var binding: DialogRenameConversationBinding
|
private lateinit var binding: DialogRenameConversationBinding
|
||||||
private lateinit var viewModel: RenameConversationViewModel
|
private lateinit var viewModel: RenameConversationViewModel
|
||||||
|
private var isEmojiPickerVisible = false
|
||||||
|
|
||||||
private var emojiPopup: EmojiPopup? = null
|
|
||||||
|
|
||||||
private var roomToken = ""
|
private var roomToken = ""
|
||||||
private var initialName = ""
|
private var initialName = ""
|
||||||
@ -106,7 +102,6 @@ class RenameConversationDialogFragment : DialogFragment() {
|
|||||||
setupListeners()
|
setupListeners()
|
||||||
setupStateObserver()
|
setupStateObserver()
|
||||||
|
|
||||||
setupEmojiPopup()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onStart() {
|
override fun onStart() {
|
||||||
@ -130,31 +125,20 @@ class RenameConversationDialogFragment : DialogFragment() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun setupEmojiPopup() {
|
private fun setupEmojiPopup() {
|
||||||
emojiPopup = binding.let {
|
if (!isEmojiPickerVisible) {
|
||||||
EmojiPopup(
|
binding.emojiPicker.visibility = View.VISIBLE
|
||||||
rootView = requireView(),
|
isEmojiPickerVisible = true
|
||||||
editText = it.textEdit,
|
} else {
|
||||||
onEmojiPopupShownListener = {
|
binding.emojiPicker.visibility = View.GONE
|
||||||
viewThemeUtils.platform.colorImageView(it.smileyButton, ColorRole.PRIMARY)
|
isEmojiPickerVisible = false
|
||||||
},
|
}
|
||||||
onEmojiPopupDismissListener = {
|
binding.emojiPicker.setOnEmojiPickedListener() {
|
||||||
it.smileyButton.imageTintList = ColorStateList.valueOf(
|
binding.textEdit.editableText?.append(it.emoji)
|
||||||
ResourcesCompat.getColor(
|
|
||||||
resources,
|
|
||||||
R.color.medium_emphasis_text,
|
|
||||||
context?.theme
|
|
||||||
)
|
|
||||||
)
|
|
||||||
},
|
|
||||||
onEmojiClickListener = {
|
|
||||||
binding.textEdit.editableText?.append(" ")
|
|
||||||
}
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setupListeners() {
|
private fun setupListeners() {
|
||||||
binding.smileyButton.setOnClickListener { emojiPopup?.toggle() }
|
binding.smileyButton.setOnClickListener { setupEmojiPopup() }
|
||||||
binding.textEdit.addTextChangedListener(object : TextWatcher {
|
binding.textEdit.addTextChangedListener(object : TextWatcher {
|
||||||
override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {
|
override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {
|
||||||
// unused atm
|
// unused atm
|
||||||
@ -216,7 +200,12 @@ class RenameConversationDialogFragment : DialogFragment() {
|
|||||||
Log.e(TAG, "Failed to rename conversation")
|
Log.e(TAG, "Failed to rename conversation")
|
||||||
Snackbar.make(binding.root, R.string.nc_common_error_sorry, Snackbar.LENGTH_LONG).show()
|
Snackbar.make(binding.root, R.string.nc_common_error_sorry, Snackbar.LENGTH_LONG).show()
|
||||||
}
|
}
|
||||||
|
override fun onResume() {
|
||||||
|
super.onResume()
|
||||||
|
dialog?.window?.setLayout(
|
||||||
|
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT
|
||||||
|
)
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* Fragment creator
|
* Fragment creator
|
||||||
*/
|
*/
|
||||||
|
@ -67,4 +67,12 @@
|
|||||||
app:tint="@color/medium_emphasis_text"
|
app:tint="@color/medium_emphasis_text"
|
||||||
tools:visibility="visible" />
|
tools:visibility="visible" />
|
||||||
|
|
||||||
|
<androidx.emoji2.emojipicker.EmojiPickerView
|
||||||
|
android:id="@+id/emoji_picker"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_below="@id/text_input_layout"
|
||||||
|
android:visibility="gone"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
app:emojiGridColumns="9" />
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
Loading…
Reference in New Issue
Block a user