mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-21 09:20:19 +01:00
Update kotlin to 1.7.20
This commit is contained in:
committed by
Alex Hart
parent
66ece479f6
commit
56f6888d49
@@ -8,7 +8,7 @@ import java.util.function.Consumer
|
||||
|
||||
class EmojiKeyboardPageCategoriesAdapter(private val onPageSelected: Consumer<String>) : MappingAdapter() {
|
||||
init {
|
||||
registerFactory(EmojiKeyboardPageCategoryMappingModel.RecentsMappingModel::class.java, LayoutFactory({ v -> KeyboardPageCategoryIconViewHolder<EmojiKeyboardPageCategoryMappingModel.RecentsMappingModel>(v, onPageSelected) }, R.layout.keyboard_pager_category_icon))
|
||||
registerFactory(EmojiKeyboardPageCategoryMappingModel.EmojiCategoryMappingModel::class.java, LayoutFactory({ v -> KeyboardPageCategoryIconViewHolder<EmojiKeyboardPageCategoryMappingModel.EmojiCategoryMappingModel>(v, onPageSelected) }, R.layout.keyboard_pager_category_icon))
|
||||
registerFactory(RecentsMappingModel::class.java, LayoutFactory({ v -> KeyboardPageCategoryIconViewHolder(v, onPageSelected) }, R.layout.keyboard_pager_category_icon))
|
||||
registerFactory(EmojiCategoryMappingModel::class.java, LayoutFactory({ v -> KeyboardPageCategoryIconViewHolder(v, onPageSelected) }, R.layout.keyboard_pager_category_icon))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,42 +2,42 @@ package org.thoughtcrime.securesms.keyboard.emoji
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.drawable.Drawable
|
||||
import androidx.annotation.AttrRes
|
||||
import org.thoughtcrime.securesms.R
|
||||
import org.thoughtcrime.securesms.components.emoji.RecentEmojiPageModel
|
||||
import org.thoughtcrime.securesms.emoji.EmojiCategory
|
||||
import org.thoughtcrime.securesms.keyboard.KeyboardPageCategoryIconMappingModel
|
||||
import org.thoughtcrime.securesms.util.ThemeUtil
|
||||
|
||||
sealed class EmojiKeyboardPageCategoryMappingModel(
|
||||
override val key: String,
|
||||
@AttrRes val iconId: Int,
|
||||
override val selected: Boolean
|
||||
) : KeyboardPageCategoryIconMappingModel<EmojiKeyboardPageCategoryMappingModel> {
|
||||
class RecentsMappingModel(override val selected: Boolean) : KeyboardPageCategoryIconMappingModel<RecentsMappingModel> {
|
||||
override val key: String = RecentEmojiPageModel.KEY
|
||||
|
||||
override fun getIcon(context: Context): Drawable {
|
||||
return requireNotNull(ThemeUtil.getThemedDrawable(context, iconId))
|
||||
return requireNotNull(ThemeUtil.getThemedDrawable(context, R.attr.emoji_category_recent))
|
||||
}
|
||||
|
||||
override fun areItemsTheSame(newItem: EmojiKeyboardPageCategoryMappingModel): Boolean {
|
||||
override fun areItemsTheSame(newItem: RecentsMappingModel): Boolean {
|
||||
return newItem.key == key
|
||||
}
|
||||
|
||||
class RecentsMappingModel(selected: Boolean) : EmojiKeyboardPageCategoryMappingModel(RecentEmojiPageModel.KEY, R.attr.emoji_category_recent, selected) {
|
||||
override fun areContentsTheSame(newItem: EmojiKeyboardPageCategoryMappingModel): Boolean {
|
||||
return newItem is RecentsMappingModel && super.areContentsTheSame(newItem)
|
||||
}
|
||||
}
|
||||
|
||||
class EmojiCategoryMappingModel(private val emojiCategory: EmojiCategory, selected: Boolean) : EmojiKeyboardPageCategoryMappingModel(emojiCategory.key, emojiCategory.icon, selected) {
|
||||
override fun areContentsTheSame(newItem: EmojiKeyboardPageCategoryMappingModel): Boolean {
|
||||
return newItem is EmojiCategoryMappingModel &&
|
||||
super.areContentsTheSame(newItem) &&
|
||||
newItem.emojiCategory == emojiCategory
|
||||
}
|
||||
}
|
||||
|
||||
override fun areContentsTheSame(newItem: EmojiKeyboardPageCategoryMappingModel): Boolean {
|
||||
override fun areContentsTheSame(newItem: RecentsMappingModel): Boolean {
|
||||
return areItemsTheSame(newItem) && selected == newItem.selected
|
||||
}
|
||||
}
|
||||
|
||||
class EmojiCategoryMappingModel(private val emojiCategory: EmojiCategory, override val selected: Boolean) : KeyboardPageCategoryIconMappingModel<EmojiCategoryMappingModel> {
|
||||
override val key: String = emojiCategory.key
|
||||
|
||||
override fun getIcon(context: Context): Drawable {
|
||||
return requireNotNull(ThemeUtil.getThemedDrawable(context, emojiCategory.icon))
|
||||
}
|
||||
|
||||
override fun areItemsTheSame(newItem: EmojiCategoryMappingModel): Boolean {
|
||||
return newItem.key == key
|
||||
}
|
||||
|
||||
override fun areContentsTheSame(newItem: EmojiCategoryMappingModel): Boolean {
|
||||
return areItemsTheSame(newItem) &&
|
||||
selected == newItem.selected &&
|
||||
newItem.emojiCategory == emojiCategory
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ import org.thoughtcrime.securesms.components.emoji.EmojiEventListener
|
||||
import org.thoughtcrime.securesms.components.emoji.EmojiPageView
|
||||
import org.thoughtcrime.securesms.components.emoji.EmojiPageViewGridAdapter
|
||||
import org.thoughtcrime.securesms.components.emoji.EmojiPageViewGridAdapter.EmojiHeader
|
||||
import org.thoughtcrime.securesms.keyboard.KeyboardPageCategoryIconMappingModel
|
||||
import org.thoughtcrime.securesms.keyboard.KeyboardPageSelected
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore
|
||||
import org.thoughtcrime.securesms.util.ThemedFragment.themedInflate
|
||||
@@ -107,7 +108,7 @@ class EmojiKeyboardPageFragment : Fragment(), EmojiEventListener, EmojiPageViewG
|
||||
|
||||
private fun updateCategoryTab(key: String) {
|
||||
emojiCategoriesRecycler.post {
|
||||
val index: Int = categoriesAdapter.indexOfFirst(EmojiKeyboardPageCategoryMappingModel::class.java) { it.key == key }
|
||||
val index: Int = categoriesAdapter.indexOfFirst(KeyboardPageCategoryIconMappingModel::class.java) { it.key == key }
|
||||
|
||||
if (index != -1) {
|
||||
emojiCategoriesRecycler.smoothScrollToPosition(index)
|
||||
|
||||
@@ -11,7 +11,6 @@ import org.thoughtcrime.securesms.components.emoji.EmojiPageViewGridAdapter.Emoj
|
||||
import org.thoughtcrime.securesms.components.emoji.RecentEmojiPageModel
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
|
||||
import org.thoughtcrime.securesms.emoji.EmojiCategory
|
||||
import org.thoughtcrime.securesms.keyboard.emoji.EmojiKeyboardPageCategoryMappingModel.EmojiCategoryMappingModel
|
||||
import org.thoughtcrime.securesms.util.DefaultValueLiveData
|
||||
import org.thoughtcrime.securesms.util.TextSecurePreferences
|
||||
import org.thoughtcrime.securesms.util.adapter.mapping.MappingModelList
|
||||
@@ -49,7 +48,7 @@ class EmojiKeyboardPageViewModel(private val repository: EmojiKeyboardPageReposi
|
||||
val list = MappingModelList()
|
||||
list += models.map { m ->
|
||||
if (RecentEmojiPageModel.KEY == m.key) {
|
||||
EmojiKeyboardPageCategoryMappingModel.RecentsMappingModel(m.key == selectedKey)
|
||||
RecentsMappingModel(m.key == selectedKey)
|
||||
} else {
|
||||
val category = EmojiCategory.forKey(m.key)
|
||||
EmojiCategoryMappingModel(category, category.key == selectedKey)
|
||||
|
||||
Reference in New Issue
Block a user