Skip to content

Commit

Permalink
Replaced EmojiPicker in MessageActionsDialog and CreateConversationDi…
Browse files Browse the repository at this point in the history
…alog

Signed-off-by: Smarshal21 <[email protected]>
  • Loading branch information
Smarshal21 committed Nov 8, 2023
1 parent 33ff8c4 commit 70e3ac3
Showing 1 changed file with 19 additions and 30 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ package com.nextcloud.talk.conversation
import android.annotation.SuppressLint
import android.app.Dialog
import android.content.Intent
import android.content.res.ColorStateList
import android.os.Bundle
import android.os.Parcelable
import android.text.Editable
Expand All @@ -34,7 +33,6 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.appcompat.app.AlertDialog
import androidx.core.content.res.ResourcesCompat
import androidx.fragment.app.DialogFragment
import androidx.lifecycle.ViewModelProvider
import androidx.work.Data
Expand All @@ -44,7 +42,6 @@ import androidx.work.WorkManager
import autodagger.AutoInjector
import com.google.android.material.dialog.MaterialAlertDialogBuilder
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.application.NextcloudTalkApplication
import com.nextcloud.talk.chat.ChatActivity
Expand All @@ -55,7 +52,6 @@ import com.nextcloud.talk.models.json.conversations.Conversation
import com.nextcloud.talk.ui.theme.ViewThemeUtils
import com.nextcloud.talk.utils.bundle.BundleKeys
import com.nextcloud.talk.utils.database.user.CurrentUserProviderNew
import com.vanniktech.emoji.EmojiPopup
import org.greenrobot.eventbus.EventBus
import org.parceler.Parcels
import javax.inject.Inject
Expand All @@ -77,9 +73,7 @@ class CreateConversationDialogFragment : DialogFragment() {

private lateinit var binding: DialogCreateConversationBinding
private lateinit var viewModel: ConversationViewModel

private var emojiPopup: EmojiPopup? = null

private var isEmojiPickerVisible = false
private var conversationType: Conversation.ConversationType? = null
private var usersToInvite: ArrayList<String> = ArrayList()
private var groupsToInvite: ArrayList<String> = ArrayList()
Expand Down Expand Up @@ -135,8 +129,6 @@ class CreateConversationDialogFragment : DialogFragment() {

setupListeners()
setupStateObserver()

setupEmojiPopup()
}

override fun onStart() {
Expand All @@ -162,31 +154,20 @@ class CreateConversationDialogFragment : DialogFragment() {
}

private fun setupEmojiPopup() {
emojiPopup = binding.let {
EmojiPopup(
rootView = requireView(),
editText = it.textEdit,
onEmojiPopupShownListener = {
viewThemeUtils.platform.colorImageView(it.smileyButton, ColorRole.PRIMARY)
},
onEmojiPopupDismissListener = {
it.smileyButton.imageTintList = ColorStateList.valueOf(
ResourcesCompat.getColor(
resources,
R.color.medium_emphasis_text,
context?.theme
)
)
},
onEmojiClickListener = {
binding.textEdit.editableText?.append(" ")
}
)
if (!isEmojiPickerVisible) {
binding.emojiPicker.visibility = View.VISIBLE
isEmojiPickerVisible = true
} else {
binding.emojiPicker.visibility = View.GONE
isEmojiPickerVisible = false
}
binding.emojiPicker.setOnEmojiPickedListener() {
binding.textEdit.editableText?.append(it.emoji)
}
}

private fun setupListeners() {
binding.smileyButton.setOnClickListener { emojiPopup?.toggle() }
binding.smileyButton.setOnClickListener { setupEmojiPopup() }
binding.textEdit.addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {
// unused atm
Expand Down Expand Up @@ -222,6 +203,7 @@ class CreateConversationDialogFragment : DialogFragment() {
Log.e(TAG, "Failed to create conversation")
showError()
}

else -> {}
}
}
Expand Down Expand Up @@ -286,6 +268,13 @@ class CreateConversationDialogFragment : DialogFragment() {
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
*/
Expand Down

0 comments on commit 70e3ac3

Please sign in to comment.