mirror of
https://github.com/nextcloud/talk-android.git
synced 2024-12-18 22:52:04 +03:00
Replaced EmojiPicker in MessageActionsDialog and CreateConversationDialog
Signed-off-by: Smarshal21 <lcb2021048@iiitl.ac.in>
This commit is contained in:
parent
ee601bb590
commit
33ff8c4276
9 changed files with 41 additions and 55 deletions
|
@ -25,11 +25,11 @@ import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.LinearLayout
|
import android.widget.LinearLayout
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
|
import androidx.emoji2.widget.EmojiTextView
|
||||||
import com.nextcloud.talk.databinding.ReactionsInsideMessageBinding
|
import com.nextcloud.talk.databinding.ReactionsInsideMessageBinding
|
||||||
import com.nextcloud.talk.models.json.chat.ChatMessage
|
import com.nextcloud.talk.models.json.chat.ChatMessage
|
||||||
import com.nextcloud.talk.ui.theme.ViewThemeUtils
|
import com.nextcloud.talk.ui.theme.ViewThemeUtils
|
||||||
import com.nextcloud.talk.utils.DisplayUtils
|
import com.nextcloud.talk.utils.DisplayUtils
|
||||||
import com.vanniktech.emoji.EmojiTextView
|
|
||||||
|
|
||||||
class Reaction {
|
class Reaction {
|
||||||
|
|
||||||
|
|
|
@ -35,9 +35,10 @@ import android.widget.TextView
|
||||||
import androidx.appcompat.content.res.AppCompatResources
|
import androidx.appcompat.content.res.AppCompatResources
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.core.graphics.drawable.DrawableCompat
|
import androidx.core.graphics.drawable.DrawableCompat
|
||||||
|
import androidx.emoji2.widget.EmojiTextView
|
||||||
import com.nextcloud.talk.R
|
import com.nextcloud.talk.R
|
||||||
import com.nextcloud.talk.ui.theme.ViewThemeUtils
|
import com.nextcloud.talk.ui.theme.ViewThemeUtils
|
||||||
import com.vanniktech.emoji.EmojiTextView
|
|
||||||
|
|
||||||
class ReactionAnimator(
|
class ReactionAnimator(
|
||||||
val context: Context,
|
val context: Context,
|
||||||
|
|
|
@ -25,13 +25,12 @@ package com.nextcloud.talk.ui.dialog
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.os.Handler
|
|
||||||
import android.os.Looper
|
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import android.view.MotionEvent
|
import android.view.MotionEvent
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.view.inputmethod.InputMethodManager
|
import android.view.inputmethod.InputMethodManager
|
||||||
|
import androidx.emoji2.widget.EmojiTextView
|
||||||
import autodagger.AutoInjector
|
import autodagger.AutoInjector
|
||||||
import com.google.android.material.bottomsheet.BottomSheetBehavior
|
import com.google.android.material.bottomsheet.BottomSheetBehavior
|
||||||
import com.google.android.material.bottomsheet.BottomSheetDialog
|
import com.google.android.material.bottomsheet.BottomSheetDialog
|
||||||
|
@ -49,10 +48,6 @@ import com.nextcloud.talk.models.json.chat.ChatMessage
|
||||||
import com.nextcloud.talk.repositories.reactions.ReactionsRepository
|
import com.nextcloud.talk.repositories.reactions.ReactionsRepository
|
||||||
import com.nextcloud.talk.ui.theme.ViewThemeUtils
|
import com.nextcloud.talk.ui.theme.ViewThemeUtils
|
||||||
import com.nextcloud.talk.utils.database.user.CapabilitiesUtilNew
|
import com.nextcloud.talk.utils.database.user.CapabilitiesUtilNew
|
||||||
import com.vanniktech.emoji.EmojiPopup
|
|
||||||
import com.vanniktech.emoji.EmojiTextView
|
|
||||||
import com.vanniktech.emoji.installDisableKeyboardInput
|
|
||||||
import com.vanniktech.emoji.installForceSingleEmoji
|
|
||||||
import io.reactivex.Observer
|
import io.reactivex.Observer
|
||||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||||
import io.reactivex.disposables.Disposable
|
import io.reactivex.disposables.Disposable
|
||||||
|
@ -78,7 +73,7 @@ class MessageActionsDialog(
|
||||||
|
|
||||||
private lateinit var dialogMessageActionsBinding: DialogMessageActionsBinding
|
private lateinit var dialogMessageActionsBinding: DialogMessageActionsBinding
|
||||||
|
|
||||||
private lateinit var popup: EmojiPopup
|
// private lateinit var popup: EmojiPopup
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
@ -146,28 +141,10 @@ class MessageActionsDialog(
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
|
||||||
popup = EmojiPopup(
|
dialogMessageActionsBinding.emojiMore.setOnClickListener { toggleEmojiPopup()}
|
||||||
rootView = dialogMessageActionsBinding.root,
|
dialogMessageActionsBinding.emojiPicker.setOnEmojiPickedListener(){
|
||||||
editText = dialogMessageActionsBinding.emojiMore,
|
clickOnEmoji(message, it.emoji)
|
||||||
onEmojiPopupShownListener = {
|
}
|
||||||
dialogMessageActionsBinding.emojiMore.clearFocus()
|
|
||||||
dialogMessageActionsBinding.messageActions.visibility = View.GONE
|
|
||||||
},
|
|
||||||
onEmojiClickListener = {
|
|
||||||
popup.dismiss()
|
|
||||||
clickOnEmoji(message, it.unicode)
|
|
||||||
},
|
|
||||||
onEmojiPopupDismissListener = {
|
|
||||||
dialogMessageActionsBinding.emojiMore.clearFocus()
|
|
||||||
dialogMessageActionsBinding.messageActions.visibility = View.VISIBLE
|
|
||||||
|
|
||||||
val imm: InputMethodManager = context.getSystemService(Context.INPUT_METHOD_SERVICE) as
|
|
||||||
InputMethodManager
|
|
||||||
imm.hideSoftInputFromWindow(dialogMessageActionsBinding.emojiMore.windowToken, 0)
|
|
||||||
}
|
|
||||||
)
|
|
||||||
dialogMessageActionsBinding.emojiMore.installDisableKeyboardInput(popup)
|
|
||||||
dialogMessageActionsBinding.emojiMore.installForceSingleEmoji()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -176,18 +153,9 @@ class MessageActionsDialog(
|
||||||
it is closed after some milliseconds and opened again.
|
it is closed after some milliseconds and opened again.
|
||||||
*/
|
*/
|
||||||
private fun toggleEmojiPopup() {
|
private fun toggleEmojiPopup() {
|
||||||
if (popup.isShowing) {
|
val imm: InputMethodManager = context?.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
|
||||||
popup.dismiss()
|
imm.hideSoftInputFromWindow(dialogMessageActionsBinding.emojiMore.windowToken, 0)
|
||||||
} else {
|
dialogMessageActionsBinding.emojiPicker.visibility = View.VISIBLE
|
||||||
popup.show()
|
|
||||||
Handler(Looper.getMainLooper()).postDelayed(
|
|
||||||
{
|
|
||||||
popup.dismiss()
|
|
||||||
popup.show()
|
|
||||||
},
|
|
||||||
DELAY
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun initEmojiBar(hasChatPermission: Boolean) {
|
private fun initEmojiBar(hasChatPermission: Boolean) {
|
||||||
|
@ -431,6 +399,7 @@ class MessageActionsDialog(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private val TAG = MessageActionsDialog::class.java.simpleName
|
private val TAG = MessageActionsDialog::class.java.simpleName
|
||||||
private const val ACTOR_LENGTH = 6
|
private const val ACTOR_LENGTH = 6
|
||||||
|
|
|
@ -26,6 +26,7 @@ import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.LinearLayout
|
import android.widget.LinearLayout
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
|
import androidx.emoji2.widget.EmojiTextView
|
||||||
import autodagger.AutoInjector
|
import autodagger.AutoInjector
|
||||||
import com.google.android.material.bottomsheet.BottomSheetBehavior
|
import com.google.android.material.bottomsheet.BottomSheetBehavior
|
||||||
import com.google.android.material.bottomsheet.BottomSheetDialog
|
import com.google.android.material.bottomsheet.BottomSheetDialog
|
||||||
|
@ -37,7 +38,6 @@ import com.nextcloud.talk.raisehand.viewmodel.RaiseHandViewModel
|
||||||
import com.nextcloud.talk.ui.theme.ViewThemeUtils
|
import com.nextcloud.talk.ui.theme.ViewThemeUtils
|
||||||
import com.nextcloud.talk.utils.database.user.CapabilitiesUtilNew
|
import com.nextcloud.talk.utils.database.user.CapabilitiesUtilNew
|
||||||
import com.nextcloud.talk.viewmodels.CallRecordingViewModel
|
import com.nextcloud.talk.viewmodels.CallRecordingViewModel
|
||||||
import com.vanniktech.emoji.EmojiTextView
|
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@AutoInjector(NextcloudTalkApplication::class)
|
@AutoInjector(NextcloudTalkApplication::class)
|
||||||
|
|
|
@ -63,7 +63,6 @@ import com.nextcloud.talk.ui.theme.ViewThemeUtils
|
||||||
import com.nextcloud.talk.utils.ApiUtils
|
import com.nextcloud.talk.utils.ApiUtils
|
||||||
import com.nextcloud.talk.utils.DisplayUtils
|
import com.nextcloud.talk.utils.DisplayUtils
|
||||||
import com.nextcloud.talk.utils.database.user.CurrentUserProviderNew
|
import com.nextcloud.talk.utils.database.user.CurrentUserProviderNew
|
||||||
import com.vanniktech.emoji.EmojiPopup
|
|
||||||
import io.reactivex.Observer
|
import io.reactivex.Observer
|
||||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||||
import io.reactivex.disposables.Disposable
|
import io.reactivex.disposables.Disposable
|
||||||
|
@ -106,7 +105,6 @@ class SetStatusDialogFragment : DialogFragment(), PredefinedStatusClickListener
|
||||||
|
|
||||||
private lateinit var adapter: PredefinedStatusListAdapter
|
private lateinit var adapter: PredefinedStatusListAdapter
|
||||||
private var clearAt: Long? = null
|
private var clearAt: Long? = null
|
||||||
private lateinit var popup: EmojiPopup
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
lateinit var ncApi: NcApi
|
lateinit var ncApi: NcApi
|
||||||
|
|
|
@ -48,6 +48,7 @@ import androidx.core.content.res.ResourcesCompat
|
||||||
import androidx.core.graphics.ColorUtils
|
import androidx.core.graphics.ColorUtils
|
||||||
import androidx.core.graphics.drawable.DrawableCompat
|
import androidx.core.graphics.drawable.DrawableCompat
|
||||||
import androidx.core.view.ViewCompat
|
import androidx.core.view.ViewCompat
|
||||||
|
import androidx.emoji2.widget.EmojiTextView
|
||||||
import com.google.android.material.button.MaterialButton
|
import com.google.android.material.button.MaterialButton
|
||||||
import com.google.android.material.card.MaterialCardView
|
import com.google.android.material.card.MaterialCardView
|
||||||
import com.google.android.material.materialswitch.MaterialSwitch
|
import com.google.android.material.materialswitch.MaterialSwitch
|
||||||
|
@ -62,7 +63,6 @@ import com.nextcloud.talk.ui.WaveformSeekBar
|
||||||
import com.nextcloud.talk.utils.DisplayUtils
|
import com.nextcloud.talk.utils.DisplayUtils
|
||||||
import com.nextcloud.talk.utils.DrawableUtils
|
import com.nextcloud.talk.utils.DrawableUtils
|
||||||
import com.nextcloud.talk.utils.message.MessageUtils
|
import com.nextcloud.talk.utils.message.MessageUtils
|
||||||
import com.vanniktech.emoji.EmojiTextView
|
|
||||||
import com.wooplr.spotlight.SpotlightView
|
import com.wooplr.spotlight.SpotlightView
|
||||||
import eu.davidea.flexibleadapter.utils.FlexibleUtils
|
import eu.davidea.flexibleadapter.utils.FlexibleUtils
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
|
@ -65,4 +65,13 @@
|
||||||
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>
|
||||||
|
|
|
@ -26,6 +26,15 @@
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:paddingBottom="@dimen/standard_half_padding">
|
android:paddingBottom="@dimen/standard_half_padding">
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.emoji2.emojipicker.EmojiPickerView
|
||||||
|
android:id="@+id/emoji_picker"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:visibility="gone"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
app:emojiGridColumns="9" />
|
||||||
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/emojiBar"
|
android:id="@+id/emojiBar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
@ -37,7 +46,7 @@
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:orientation="horizontal">
|
android:orientation="horizontal">
|
||||||
|
|
||||||
<com.vanniktech.emoji.EmojiTextView
|
<androidx.emoji2.widget.EmojiTextView
|
||||||
android:id="@+id/emojiThumbsUp"
|
android:id="@+id/emojiThumbsUp"
|
||||||
android:layout_width="@dimen/reaction_bottom_sheet_layout_size"
|
android:layout_width="@dimen/reaction_bottom_sheet_layout_size"
|
||||||
android:layout_height="@dimen/reaction_bottom_sheet_layout_size"
|
android:layout_height="@dimen/reaction_bottom_sheet_layout_size"
|
||||||
|
@ -48,7 +57,7 @@
|
||||||
android:text="@string/emoji_thumbsUp"
|
android:text="@string/emoji_thumbsUp"
|
||||||
android:textSize="20sp" />
|
android:textSize="20sp" />
|
||||||
|
|
||||||
<com.vanniktech.emoji.EmojiTextView
|
<androidx.emoji2.widget.EmojiTextView
|
||||||
android:id="@+id/emojiThumbsDown"
|
android:id="@+id/emojiThumbsDown"
|
||||||
android:layout_width="@dimen/reaction_bottom_sheet_layout_size"
|
android:layout_width="@dimen/reaction_bottom_sheet_layout_size"
|
||||||
android:layout_height="@dimen/reaction_bottom_sheet_layout_size"
|
android:layout_height="@dimen/reaction_bottom_sheet_layout_size"
|
||||||
|
@ -59,7 +68,7 @@
|
||||||
android:text="@string/emoji_thumbsDown"
|
android:text="@string/emoji_thumbsDown"
|
||||||
android:textSize="20sp" />
|
android:textSize="20sp" />
|
||||||
|
|
||||||
<com.vanniktech.emoji.EmojiTextView
|
<androidx.emoji2.widget.EmojiTextView
|
||||||
android:id="@+id/emojiHeart"
|
android:id="@+id/emojiHeart"
|
||||||
android:layout_width="@dimen/reaction_bottom_sheet_layout_size"
|
android:layout_width="@dimen/reaction_bottom_sheet_layout_size"
|
||||||
android:layout_height="@dimen/reaction_bottom_sheet_layout_size"
|
android:layout_height="@dimen/reaction_bottom_sheet_layout_size"
|
||||||
|
@ -70,7 +79,7 @@
|
||||||
android:text="@string/default_emoji"
|
android:text="@string/default_emoji"
|
||||||
android:textSize="20sp" />
|
android:textSize="20sp" />
|
||||||
|
|
||||||
<com.vanniktech.emoji.EmojiTextView
|
<androidx.emoji2.widget.EmojiTextView
|
||||||
android:id="@+id/emojiLaugh"
|
android:id="@+id/emojiLaugh"
|
||||||
android:layout_width="@dimen/reaction_bottom_sheet_layout_size"
|
android:layout_width="@dimen/reaction_bottom_sheet_layout_size"
|
||||||
android:layout_height="@dimen/reaction_bottom_sheet_layout_size"
|
android:layout_height="@dimen/reaction_bottom_sheet_layout_size"
|
||||||
|
@ -81,7 +90,7 @@
|
||||||
android:text="@string/emoji_heart"
|
android:text="@string/emoji_heart"
|
||||||
android:textSize="20sp" />
|
android:textSize="20sp" />
|
||||||
|
|
||||||
<com.vanniktech.emoji.EmojiTextView
|
<androidx.emoji2.widget.EmojiTextView
|
||||||
android:id="@+id/emojiConfused"
|
android:id="@+id/emojiConfused"
|
||||||
android:layout_width="@dimen/reaction_bottom_sheet_layout_size"
|
android:layout_width="@dimen/reaction_bottom_sheet_layout_size"
|
||||||
android:layout_height="@dimen/reaction_bottom_sheet_layout_size"
|
android:layout_height="@dimen/reaction_bottom_sheet_layout_size"
|
||||||
|
@ -92,7 +101,7 @@
|
||||||
android:text="@string/emoji_confused"
|
android:text="@string/emoji_confused"
|
||||||
android:textSize="20sp" />
|
android:textSize="20sp" />
|
||||||
|
|
||||||
<com.vanniktech.emoji.EmojiTextView
|
<androidx.emoji2.widget.EmojiTextView
|
||||||
android:id="@+id/emojiSad"
|
android:id="@+id/emojiSad"
|
||||||
android:layout_width="@dimen/reaction_bottom_sheet_layout_size"
|
android:layout_width="@dimen/reaction_bottom_sheet_layout_size"
|
||||||
android:layout_height="@dimen/reaction_bottom_sheet_layout_size"
|
android:layout_height="@dimen/reaction_bottom_sheet_layout_size"
|
||||||
|
@ -103,7 +112,7 @@
|
||||||
android:text="@string/emoji_sad"
|
android:text="@string/emoji_sad"
|
||||||
android:textSize="20sp" />
|
android:textSize="20sp" />
|
||||||
|
|
||||||
<com.vanniktech.emoji.EmojiEditText
|
<androidx.emoji2.widget.EmojiEditText
|
||||||
android:id="@+id/emojiMore"
|
android:id="@+id/emojiMore"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="@dimen/activity_row_layout_height"
|
android:layout_height="@dimen/activity_row_layout_height"
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<com.vanniktech.emoji.EmojiEditText
|
<androidx.emoji2.widget.EmojiEditText
|
||||||
android:id="@+id/participant_status_emoji"
|
android:id="@+id/participant_status_emoji"
|
||||||
android:layout_width="22dp"
|
android:layout_width="22dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
|
Loading…
Reference in a new issue